Adaptive Fastest Path Computation on a Road Network: A Traffic Mining Approach
description
Transcript of Adaptive Fastest Path Computation on a Road Network: A Traffic Mining Approach
ADAPTIVE FASTEST PATH COMPUTATIONON A ROAD NETWORK: A TRAFFIC MINING APPROACHHector Gonzalez, Jiawei Han, Xiaolei Li, Margaret Myslinska, John Paul SondagDepartment of Computer ScienceUniversity of Illinois at Urbana-ChampaignVLDB 2007
Outline Introduction Algorithms
Offline… Road Network Partitioning Speed & Driving Pattern Mining Pre-computation & Upgrades
Online… Fastest Path Computation
Experiment
Introduction: Application Route Planning System
Fastest Path Computation on Road Network Consider different factors such as
time/weather/safety “Learn from history” (mine patterns)
Introduction: Contributions The hierarchy of roads can be used to partition the
road network into area, and different path pre-computation strategies can be used at the area level
We can limit our route search strategy to edges and path segments that are actually frequently travelled in the data
Drivers usually traverse the road network through the largest roads available given the distance of the trip, except if there are small roads with a significant speed advantage over the large ones. (Small Road Upgrades)
Introduction: Problem Definition I Definition 2.1. A
road network is a directed graph G(V,E), where…(omitted)
Introduction: Problem Definition II Definition 2.2. A speed pattern is a tuple
of the form <edge_id, t_start, t_end, (d1, d2, …, dk) : m>, where edge_id is an edge, (t_start, t_end) is a time interval, each di is a value for speed factor Di, and m is an aggregate function computed on edge speed.
Introduction: Problem Definition III Definition 2.3. A driving pattern is a
sequence s of edges e(1), e(2), . . . , e(l) that appears more than min_sup times in the path database, and that is a valid path in the road network graph G(V,E). We define support(s) as the number of paths that contain the sequence s. We define the length of the sequence, length(s), as the number of edges that it contains.
Introduction: Problem Definition IV Definition 2.4. An edge forecast model
F(edge_id, t), returns a tuple (d1, d2, …, dk) with the expected driving conditions for edge edge_id at time t. Example: “At 5 pm [time], for highway 74 between
Champaign and Normal [edge], Weather = rain, and Construction = no [conditions]".
Problem Statement. Given a road network G(V,E), a set of speed patterns S, an edge forecast model F, and a query q (s, e, start_time), compute a fast route qr between nodes s and e starting from s at time start time, such that qr contains a large number of frequent driving patterns.
Introduction:Traffic Database (“history”)
In the example support(e1)=3, support(e2)=3,
support(e3)=1…
Outline Introduction Algorithms
Offline… Road Network Partitioning Speed & Driving Pattern Mining Pre-computation & Upgrades
Online… Fastest Path Computation
Experiment
Road Network Partitioning I Edge Class Node Class Partitioning
class(e)=1class(e)=2
Road Network Partitioning II Edge Class Node Class
Definition 4.1. Given a road network G(V,E), with pre-defined edges classes class(e) for each edge e, the class of a node n denoted class(n), is defined as the biggest (lowest class number) of any incoming or outgoing edge to/from n.
Road Network Partitioning III
Node Class Partitioning Definition 4.2. Given edges of class k, a partition
P(k) of a road network G(V,E) divides nodes into areas V1
k ,…, Vnk, with V = iVi
k. Areas are defined as all sets of strongly connected components after the removal of nodes with class(n)<k from G. A node n, with class(n)>k in strongly connected component i, belongs to area Vi
k, and it is said to be interior to the area.A node n, with class(n)≤k belongs to all areas Vi
k such that there is an edge e, with class(e)>k, connecting n to n’ and n’ Vi
k, such nodes are said to be border nodes of all the areas they connect to.
Road Network Partitioning IV
The Algorithm Iteratively,
start from a “seed” and grow the area to all reachable nodes
Outline Introduction Algorithms
Offline… Road Network Partitioning Speed & Driving Pattern Mining Pre-computation & Upgrades
Online… Fastest Path Computation
Experiment
Traffic Mining:Speed Pattern Mining Goal
Input: Traffic tuples of the form <edge_id, time, (d1,…,dk): speed>
Output: rules such as “if area = a1 and weather = icy and time = rush hour then speed = 1/4 x base speed".
Method (the paper does not provide detail) Pre-processing: discretize speed factors via
clustering Decision tree induction
Traffic Mining:Driving Pattern Mining “Frequent edges” or “frequent routes”? In this paper: frequent edges
minimal support relative to the traffic volume of each edge class in the area
Outline Introduction Algorithms
Offline… Road Network Partitioning Speed & Driving Pattern Mining Pre-computation & Upgrades
Online… Fastest Path Computation
Experiment
Area Level Pre-computation Goal
Pre-compute important local fastest paths with given time interval and road condition
Method For an area in level m, look at pairs of
nodes of level m+1 in that area “Guide the pre-computation by the set of
speed rules mined for the area, and limit the analysis paths involving edges with few speed rules.”
Small road upgrades Example
In traffic hours, a small (low level) road may have higher speed than highway in the area. In such case, upgrade the small road.
Algorithm Bottom-up Scan all edges
Outline Introduction Algorithms
Offline… Road Network Partitioning Speed & Driving Pattern Mining Pre-computation & Upgrades
Online… Fastest Path Computation
Experiment
Fastest Path Computation I Algorithm: A* (maintain a heap; Best first
search) From 1:7:5 (level 3) expand to a 1:7 edge node
(level 2) then to 1 to 1:3 to 1:3:5
Fastest Path Computation II Continue the algorithm
When expand to node n, update expected path cost to cost(start, n) + h(n, end) h(n, end) = distance(n, end)/max_speed
Online path re-computation When condition changes (i.e., start raining),
re-compute fastest path from current position to end node
Experiment Setting Maps – road are in 2 levels
San Francisco Bay Area (175K nodes, 223K edges)
Illinois (831K nodes, 1M edges) San Joaquin CA (18K nodes, 24K edges)
A few hundred megabytes traffic data & 100 queries: stimulated
Algorithms A* (without hierarchical search; correct answer) Hier (hierarchical search; without pre-
computation and small road upgrade) Adapt (this paper)
Experiment: Query Length
Experiment: Upgraded Paths
Experiments: others