Presentation on theme: "ADAPTIVE FASTEST PATH COMPUTATION ON A ROAD NETWORK: A TRAFFIC MINING APPROACH Hector Gonzalez, Jiawei Han, Xiaolei Li, Margaret Myslinska, John Paul Sondag."— Presentation transcript:
ADAPTIVE FASTEST PATH COMPUTATION ON A ROAD NETWORK: A TRAFFIC MINING APPROACH Hector Gonzalez, Jiawei Han, Xiaolei Li, Margaret Myslinska, John Paul Sondag Department of Computer Science University of Illinois at Urbana-Champaign VLDB 2007
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, where edge_id is an edge, (t_start, t_end) is a time interval, each d i is a value for speed factor D i, 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 (d 1, d 2, …, d k ) 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 q r between nodes s and e starting from s at time start time, such that q r contains a large number of frequent driving patterns.
Introduction: Traffic Database (“history”) In the example support(e 1 )=3, support(e 2 )=3, support(e 3 )=1…
Road Network Partitioning I Edge Class Node Class Partitioning class(e)=1 class(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 V 1 k,…, V n k, with V = i V i 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 V i k, and it is said to be interior to the area. A node n, with class(n)≤k belongs to all areas V i k such that there is an edge e, with class(e)>k, connecting n to n’ and n’ V i 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
Traffic Mining: Speed Pattern Mining Goal Input: Traffic tuples of the form 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
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
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)