270 likes | 450 Views
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. Outline. Introduction Algorithms Offline…
E N D
Adaptive Fastest Path Computationon 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
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)=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 V1k ,…, Vnk, with V = iVik. 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 Vik, and it is said to be interior to the area. A node n, with class(n)≤k belongs to all areas Vik such that there is an edge e, with class(e)>k, connecting n to n’ and n’ Vik, 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)