Da Yan (HKUST) James Cheng (CUHK) Wilfred Ng (HKUST) Steven Liu (HKUST)

Slides:



Advertisements
Similar presentations
I/O and Space-Efficient Path Traversal in Planar Graphs Craig Dillabaugh, Carleton University Meng He, University of Waterloo Anil Maheshwari, Carleton.
Advertisements

22C:19 Discrete Math Graphs Fall 2014 Sukumar Ghosh.
Correlation Search in Graph Databases Yiping Ke James Cheng Wilfred Ng Presented By Phani Yarlagadda.
 Distance Problems: › Post Office Problem › Nearest Neighbors and Closest Pair › Largest Empty and Smallest Enclosing Circle  Sub graphs of Delaunay.
1 Finding Shortest Paths on Terrains by Killing Two Birds with One Stone Manohar Kaul (Aarhus University) Raymond Chi-Wing Wong (Hong Kong University of.
STUN: SPATIO-TEMPORAL UNCERTAIN (SOCIAL) NETWORKS Chanhyun Kang Computer Science Dept. University of Maryland, USA Andrea Pugliese.
Data Structure and Algorithms (BCS 1223) GRAPH. Introduction of Graph A graph G consists of two things: 1.A set V of elements called nodes(or points or.
Da Yan, Zhou Zhao and Wilfred Ng The Hong Kong University of Science and Technology.
Constructing Popular Routes from Uncertain Trajectories Ling-Yin Wei 1, Yu Zheng 2, Wen-Chih Peng 1 1 National Chiao Tung University, Taiwan 2 Microsoft.
Fractional Cascading CSE What is Fractional Cascading anyway? An efficient strategy for dealing with iterative searches that achieves optimal.
C++ Programming: Program Design Including Data Structures, Third Edition Chapter 21: Graphs.
PLANAR SHORTEST PATH & R-DIVISIONS Dwyane George March 10, 2015.
Computational Geometry Seminar Lecture 1
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
Definition Dual Graph G* of a Plane Graph:
Scalable Network Distance Browsing in Spatial Database Samet, H., Sankaranarayanan, J., and Alborzi H. Proceedings of the 2008 ACM SIGMOD international.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
Route Planning Vehicle navigation systems, Dijkstra’s algorithm, bidirectional search, transit-node routing.
CS/ENGRD 2110 Object-Oriented Programming and Data Structures Fall 2014 Doug James Lecture 17: Graphs.
Introduction Outline The Problem Domain Network Design Spanning Trees Steiner Trees Triangulation Technique Spanners Spanners Application Simple Greedy.
Constant Factor Approximation of Vertex Cuts in Planar Graphs Eyal Amir, Robert Krauthgamer, Satish Rao Presented by Elif Kolotoglu.
Curve Curve: The image of a continous map from [0,1] to R 2. Polygonal curve: A curve composed of finitely many line segments. Polygonal u,v-curve: A polygonal.
Chih-Hung Lin, Kai-Cheng Wei VLSI CAD 2008
Delaunay Triangulations Presented by Glenn Eguchi Computational Geometry October 11, 2001.
Graph Theory Chapter 6 Planar Graphs Ch. 6. Planar Graphs.
Shortest Path. Dijkstra’s Algorithm finds the shortest path from the start vertex to every other vertex in the network. We will find the shortest path.
MST Many of the slides are from Prof. Plaisted’s resources at University of North Carolina at Chapel Hill.
1 On Querying Historical Evolving Graph Sequences Chenghui Ren $, Eric Lo *, Ben Kao $, Xinjie Zhu $, Reynold Cheng $ $ The University of Hong Kong $ {chren,
UNC Chapel Hill Lin/Foskey/Manocha Minimum Spanning Trees Problem: Connect a set of nodes by a network of minimal total length Some applications: –Communication.
Minimum Spanning Trees and Kruskal’s Algorithm CLRS 23.
Towards Robust Indexing for Ranked Queries Dong Xin, Chen Chen, Jiawei Han Department of Computer Science University of Illinois at Urbana-Champaign VLDB.
GRAPH SPANNERS by S.Nithya. Spanner Definition- Informal A geometric spanner network for a set of points is a graph G in which each pair of vertices is.
On Graph Query Optimization in Large Networks Alice Leung ICS 624 4/14/2011.
CS 200 Algorithms and Data Structures
Flow Simulation in TINs Drainage Queries in TINs: from local to global and back again S. Yu, M. van Kreveld, and J. Snoeylink.
Efficient Route Computation on Road Networks Based on Hierarchical Communities Qing Song, Xiaofan Wang Department of Automation, Shanghai Jiao Tong University,
Shortest Path Problems Dijkstra’s Algorithm. Introduction Many problems can be modeled using graphs with weights assigned to their edges: Airline flight.
Zhuo Peng, Chaokun Wang, Lu Han, Jingchao Hao and Yiyuan Ba Proceedings of the Third International Conference on Emerging Databases, Incheon, Korea (August.
Spatio-temporal Pattern Queries M. Hadjieleftheriou G. Kollios P. Bakalov V. J. Tsotras.
Group 8: Denial Hess, Yun Zhang Project presentation.
Flows in Planar Graphs Hadi Mahzarnia. Outline O Introduction O Planar single commodity flow O Multicommodity flows for C 1 O Feasibility O Algorithm.
Chapter 10 Graph Theory Eulerian Cycle and the property of graph theory 10.3 The important property of graph theory and its representation 10.4.
Efficient Computing k-Coverage Paths in Multihop Wireless Sensor Networks XuFei Mao, ShaoJie Tang, and Xiang-Yang Li Dept. of Computer Science, Illinois.
Pregel Algorithms for Graph Connectivity Problems with Performance Guarantees Da Yan (CUHK), James Cheng (CUHK), Kai Xing (HKUST), Yi Lu (CUHK), Wilfred.
Domain-Dependent View of Multiple Robots Path Planning Pavel Surynek Charles University, Prague Czech Republic.
1 IM.CJCU Hsin-Hung Chou The Node-Searching Problem on Special Graphs 周信宏 長榮大學 資訊管理學系
Laura TomaSimplified External memory Algorithms for Planar DAGs Simplified External Memory Algorithms for Planar DAGs July 2004 Lars Arge Laura Toma Duke.
© The McGraw-Hill Companies, Inc., Chapter 12 On-Line Algorithms.
11 -1 Chapter 12 On-Line Algorithms On-Line Algorithms On-line algorithms are used to solve on-line problems. The disk scheduling problem The requests.
Network Partition –Finding modules of the network. Graph Clustering –Partition graphs according to the connectivity. –Nodes within a cluster is highly.
Efficient Placement and Dispatch of Sensors in a Wireless Sensor Network You-Chiun Wang, Chun-Chi Hu, and Yu-Chee Tseng IEEE Transactions on Mobile Computing.
1 Schnyder’s Method. 2 Motivation Given a planar graph, we want to embed it in a grid We want the grid to be relatively small And we want an efficient.
Discrete Mathematics Graph: Planar Graph Yuan Luo
Characteristics of Planar Graphs
Shortest Paths and Minimum Spanning Trees
By: Sibo Wang, Xiaokui Xiao, Yin Yang, Wenqing Lin
Minimum Spanning Trees
Spatio-temporal Pattern Queries
Graphs Chapter 13.
Finding Fastest Paths on A Road Network with Speed Patterns
Shortest Path.
Shortest Path.
CS 583 Analysis of Algorithms
Minimum Spanning Trees
Graph Indexing for Shortest-Path Finding over Dynamic Sub-Graphs
Shortest Path Problems
Shortest Paths and Minimum Spanning Trees
Shortest Path.
CSC 380: Design and Analysis of Algorithms
Minimum Spanning Trees
Presentation transcript:

Da Yan (HKUST) James Cheng (CUHK) Wilfred Ng (HKUST) Steven Liu (HKUST)

Introduction Problem Definition What is a Distance-Preserving Subgraph (or DPS)? 1 Given a road network G = (V, E)

Introduction Problem Definition What is a Distance-Preserving Subgraph (or DPS)? 2 Source query set S

Introduction Problem Definition What is a Distance-Preserving Subgraph (or DPS)? 3 Target query set T

Introduction Problem Definition What is a Distance-Preserving Subgraph (or DPS)? 4 Find subgraph G’ (induced by V’ )

Introduction Problem Definition What is a Distance-Preserving Subgraph (or DPS)? 5 s t

Introduction Problem Definition Special case: S = T = Q Q may be specified by a region (e.g., a district/city) 6

Introduction Problem Definition Special case: S = T = Q Q may be specified by a region (e.g., a district/city) We assume S, T ⊆ V If q is on edge (u, v), add u & v to query set 7

Introduction Problem Definition Assumptions about road network Undirected Near planar: some edges may cross another edge Tunnels, flyovers 8

Introduction Problem Definition Assumptions about road network Undirected Near planar: some edges may cross another edge Tunnels, flyovers 9 We call such edges as bridges

Introduction Motivation Server maintains a large road network Applications pose DPS queries 10

Introduction Motivation Server maintains a large road network Applications pose DPS queries Benefits Smaller space Faster query processing 11

Introduction Motivating Application Route planning for a French logistics company Delivery service between Paris and Munich, Rome, Madrid 12 Paris Munich Rome Madrid

Introduction Motivating Application Route planning for a French logistics company Delivery service between Paris and Munich, Rome, Madrid 13 Paris Munich Rome Madrid (S, T)-DPS query #1

Introduction Motivating Application Route planning for a French logistics company Delivery service between Paris and Munich, Rome, Madrid 14 Paris Munich Rome Madrid (S, T)-DPS query #1 (S, T)-DPS query #2

Introduction Motivating Application Route planning for a French logistics company Delivery service between Paris and Munich, Rome, Madrid 15 Paris Munich Rome Madrid (S, T)-DPS query #1 (S, T)-DPS query #2 (S, T)-DPS query #3

Introduction Motivating Application Route planning for a French logistics company Delivery service between Paris and Munich, Rome, Madrid 16 Paris Munich Rome Madrid (S, T)-DPS query #1 (S, T)-DPS query #2 (S, T)-DPS query #3 Merge the three DPSs

Introduction Contributions Formalize the DPS query in road networks 17

Introduction Contributions Formalize the DPS query in road networks Propose 4 algorithms for finding DPS Different trade-off between query efficiency and DPS quality 18 DPS Size Runtime BL-Quality BL-Efficiency Hull RoadPart

Outline Introduction Algorithms Algorithm 1 : Quality Centric Baseline Algorithm 2 : Efficiency Centric Baseline Algorithm 3 : RoadPart Framework Algorithm 4 : Convex Hull Method Experiments Conclusions 19

Algorithms Algorithm 1 : Quality Centric Baseline BL-Quality (BL-Q) algorithm Run SSSP computation (Dijkstra’s algorithm) from all s ∈ S 20

Algorithms Algorithm 1 : Quality Centric Baseline BL-Quality (BL-Q) algorithm Run SSSP computation (Dijkstra’s algorithm) from all s ∈ S Terminates when all vertices in T are reached 21

Algorithms Algorithm 1 : Quality Centric Baseline BL-Quality (BL-Q) algorithm Run SSSP computation (Dijkstra’s algorithm) from all s ∈ S Terminates when all vertices in T are reached DPS quality: smallest # of SSSP computations: |S| 22

Outline Introduction Algorithms Algorithm 1 : Quality Centric Baseline Algorithm 2 : Efficiency Centric Baseline Algorithm 3 : RoadPart Framework Algorithm 4 : Convex Hull Method Experiments Conclusions 23

Algorithms Algorithm 2 : Efficiency Centric Baseline BL-Efficiency (BL-E) algorithm Locate a vertex v c in the middle of Q or S ∪ T vcvc

Algorithms Algorithm 2 : Efficiency Centric Baseline BL-Efficiency (BL-E) algorithm Locate a vertex v c in the middle of Q or S ∪ T Run SSSP computation from v c until all query points are reached; Denote by r the length of the longest sp(v c, ) r vcvc

Algorithms Algorithm 2 : Efficiency Centric Baseline BL-Efficiency (BL-E) algorithm Locate a vertex v c in the middle of Q or S ∪ T Run SSSP computation from v c until all query points are reached; Denote by r the length of the longest sp(v c, ) Continue SSSP computation to reach all vertices v with sp(v c, v) ≤ 2 r r vcvc 2r2r

Algorithms Algorithm 2 : Efficiency Centric Baseline BL-Efficiency (BL-E) algorithm Locate a vertex v c in the middle of Q or S ∪ T Run SSSP computation from v c until all query points are reached; Denote by r the length of the longest sp(v c, ) Continue SSSP computation to reach all vertices v with sp(v c, v) ≤ 2 r # of SSSP computations: 1 r vcvc 2r2r

Outline Introduction Algorithms Algorithm 1 : Quality Centric Baseline Algorithm 2 : Efficiency Centric Baseline Algorithm 3 : RoadPart Framework Algorithm 4 : Convex Hull Method Experiments Conclusions 28

Algorithms RoadPart Framework Offline indexing phase Partition the road network into small regions Assign vertices with region IDs 29

Algorithms RoadPart Framework Offline indexing phase Partition the road network into small regions Assign vertices with region IDs Online querying phase Answer a DPS query using the region IDs of the query vertices 30

Algorithms RoadPart Framework Offline indexing phase Compute a contour of the road network 31

Algorithms RoadPart Framework Offline indexing phase Compute a contour of the road network 32

Algorithms RoadPart Framework Offline indexing phase Compute a contour of the road network Partition it by cuts Cut: a shortest path between vertices on the contour 33 b1b1 b2b2

Algorithms RoadPart Framework Offline indexing phase Border points B = {b1, …, b ℓ } are selected evenly on the contour Cuts from b i partition the road network into zones bibi

Algorithms RoadPart Framework Offline indexing phase Border points B = {b1, …, b ℓ } are selected evenly on the contour Cuts from b i partition the road network into zones Each vertex is assigned a unique interval label [3, 3] [2, 3] [4, 6] v1v1 v2v2 bibi v3v3 bibi

Algorithms RoadPart Framework Offline indexing phase Each vertex has a |B|-dimensional label vector Cuts from b i decides the interval label of the i-th dimension 36

Algorithms RoadPart Framework Offline indexing phase Each vertex has a |B|-dimensional label vector Cuts from b i decides the interval label of the i-th dimension All vertices with the same label vector compose a region 37

Algorithms RoadPart Framework Online querying phase (planar graph) Step 1 : compute a |B|-dimensional label vector, called window W, from query sets S and T All points in S ∪ T are contained in the region represented by W W

Algorithms RoadPart Framework Online querying phase (planar graph) Step 2 : find all the regions contained in W, and add their vertices to V’ Region R is pruned if there exists a dimension i such that vec(R)[i] ∩ W[i] = ∅ 39 R W

Algorithms RoadPart Framework Online querying phase (planar graph) Correctness 40 R W t s m1m1 m2m2

Algorithms RoadPart Framework Online querying phase (non-planar graph) In USA road network, # of bridges = % |E| 41

Algorithms RoadPart Framework Online querying phase (non-planar graph) In USA road network, # of bridges = % |E| Each bridge may introduce additional vertices into V’ 42 R W t s m1m1 m2m2

Algorithms RoadPart Framework Online querying phase (non-planar graph) What vertices should be added to V’ due to bridge (u, v)? 43

Algorithms RoadPart Framework Online querying phase (non-planar graph) What vertices should be added to V’ due to bridge (u, v)? UD contains all vertices x with sp(x, u) passing through v VD contains all vertices x with sp(x, v) passing through u UD* = UD ∩ (S ∪ T); VD* = VD ∩ (S ∪ T) For all x ∈ UD* ∪ VD*, add all vertices in sp(x, u) and sp(x, v) into V’ 44 uv S T UD VD

Algorithms RoadPart Framework Online querying phase (non-planar graph) Is it practical to process all the bridges for each DPS query? 45

Algorithms RoadPart Framework Online querying phase (non-planar graph) Is it practical to process all the bridges for each DPS query? In USA road network, # of bridges > 10 5 Computing UD* and VD* for each bridge is expensive 46

Algorithms RoadPart Framework Online querying phase (non-planar graph) Is it practical to process all the bridges for each DPS query? In USA road network, # of bridges > 10 5 Computing UD* and VD* for each bridge is expensive 47 Require effective methods for pruning bridges

Algorithms RoadPart Framework Online querying phase (non-planar graph) With respect to window W, a bridge (u, v) belongs to one of the following three types: ( 1 ) Interior bridge 48 u1u1 v1v1

Algorithms RoadPart Framework Online querying phase (non-planar graph) With respect to window W, a bridge (u, v) belongs to one of the following three types: ( 1 ) Interior bridge ( 2 ) Cut bridge 49 u1u1 v1v1 u2u2 v2v2 u3u3 v3v3

Algorithms RoadPart Framework Online querying phase (non-planar graph) With respect to window W, a bridge (u, v) belongs to one of the following three types: ( 1 ) Interior bridge ( 2 ) Cut bridge ( 3 ) Exterior bridge 50 u4u4 u1u1 v1v1 u2u2 v2v2 u3u3 v3v3 v4v4

Algorithms RoadPart Framework Online querying phase (non-planar graph) Interior and exterior bridges are pruned by cut bridges 51

Algorithms RoadPart Framework Online querying phase (non-planar graph) Interior and exterior bridges are pruned by cut bridges Most cut bridges are pruned by a small fraction of cut bridges 52

Algorithms RoadPart Framework Online querying phase (non-planar graph) Interior and exterior bridges are pruned by cut bridges Most cut bridges are pruned by a small fraction of cut bridges Pruning rule checking is efficient Comparison of the label vectors of u, v and W 53

Algorithms RoadPart Framework Online querying phase (non-planar graph) Interior and exterior bridges are pruned by cut bridges Most cut bridges are pruned by a small fraction of cut bridges Pruning rule checking is efficient Comparison of the label vectors of u, v and W Pruning rules are effective In USA road network, # of bridges > 10 5 After bridge pruning, only several to tens of bridges remain 54

Algorithms RoadPart Framework Online querying phase (non-planar graph) Interior and exterior bridges are pruned by cut bridges Most cut bridges are pruned by a small fraction of cut bridges Pruning rule checking is efficient Comparison of the label vectors of u, v and W Pruning rules are effective In USA road network, # of bridges > 10 5 After bridge pruning, only several to tens of bridges remain # of SSSP computations: several to tens 55

Outline Introduction Algorithms Problem Definition Algorithm 1 : Quality Centric Baseline Algorithm 2 : Efficiency Centric Baseline Algorithm 4 : Convex Hull Method Experiments Conclusions 56

Algorithms Convex Hull Method Server-side computes a loose DPS using RoadPart Client-side refines the DPS using convex hull method 57

Algorithms Convex Hull Method Server-side computes a loose DPS using RoadPart Client-side refines the DPS using convex hull method More efficient than BL-Q Only compute pairwise shortest paths between boundary vertices High-quality DPS Convex hull tightly bounds the query set 58

Algorithms Convex Hull Method 59 s t Q S T

Algorithms Convex Hull Method Compute the convex hull of S and T 60 s t s t Q S T

Algorithms Convex Hull Method Compute the convex hull of S and T Add all vertices inside hull(S) or hull(T) to V’ 61 s t s t Q S T

Algorithms Convex Hull Method Compute the convex hull of S and T Add all vertices inside hull(S) or hull(T) to V’ For each location u in the boundary of hull(S), and each location v in the boundary of hull(T), add vertices in sp(u, v) to V’ 62 s t s t Q S T

Outline Introduction Algorithms Experiments Conclusions 63

Experiments Dataset The largest one: USA road network |V| = 23,947,347, |E| = 28,854,312 RoadPart Index # of border points: 70 # of regions: 11,629 64

Experiments Query Setting Q accounts for 20% × 20% of the whole region Results on Efficiency 65 BL-ERoadPartHullBL-Q 0.2 sec5.7 sec52 sec2,364 sec RoadPart + Hull 5.7 sec sec

Experiments Query Setting Q accounts for 20% × 20% of the whole region Results on DPS Quality (|V’|) 66 BL-ERoadPartHullBL-Q 286,347108,67037,67934,089

Experiments Query Setting Q accounts for ɛ × ɛ of the whole region Results on Bridge Pruning (for RoadPart) 67 ɛ |Q||Q|# of bridges examined 10%6, %30, %81, %156, %204,81228

Outline Introduction Algorithms Experiments Conclusions 68

Conclusions We formalize the DPS query in road networks We propose four algorithms for finding DPS, with different trade-off between query efficiency and DPS quality We conducted extensive experiments to study the performance of our algorithms 69

Presenter: Da YAN Homepage: 70 Q & A