Scalable Network Distance Browsing in Spatial Database Samet, H., Sankaranarayanan, J., and Alborzi H. Proceedings of the 2008 ACM SIGMOD international.

Slides:



Advertisements
Similar presentations
Single Source Shortest Paths
Advertisements

Nearest Neighbor Search
Efficient Evaluation of k-Range Nearest Neighbor Queries in Road Networks Jie BaoChi-Yin ChowMohamed F. Mokbel Department of Computer Science and Engineering.
DIJKSTRA’s Algorithm. Definition fwd search Find the shortest paths from a given SOURCE node to ALL other nodes, by developing the paths in order of increasing.
an incremental version of A*
Approximations of points and polygonal chains
Visibility Graph Team 10 NakWon Lee, Dongwoo Kim.
CS 206 Introduction to Computer Science II 03 / 27 / 2009 Instructor: Michael Eckmann.
CSE 380 – Computer Game Programming Pathfinding AI
CS 206 Introduction to Computer Science II 11 / 07 / 2008 Instructor: Michael Eckmann.
CS171 Introduction to Computer Science II Graphs Strike Back.
Shortest Paths and Dijkstra's Algorithm CS 110: Data Structures and Algorithms First Semester,
Songhua Xing, Cyrus Shahabi and Bei Pan InfoLab University of Southern California Los Angeles, CA Continuous Monitoring.
Indexing Network Voronoi Diagrams*
1 Greedy 2 Jose Rolim University of Geneva. Algorithmique Greedy 2Jose Rolim2 Examples Greedy  Minimum Spanning Trees  Shortest Paths Dijkstra.
Nearest Neighbor Search in Spatial and Spatiotemporal Databases
by Spurthi Chaganti S Dayakar Reddy
PLANAR SHORTEST PATH & R-DIVISIONS Dwyane George March 10, 2015.
An Efficient and Scalable Approach to CNN Queries in a Road Network Hyung-Ju Cho and Chin-Wan Chung Dept. of EECS, KAIST VLDB 2005.
Chapter 9 Graph algorithms. Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
CS 206 Introduction to Computer Science II 11 / 10 / 2008 Instructor: Michael Eckmann.
1 SINA: Scalable Incremental Processing of Continuous Queries in Spatio-temporal Databases Mohamed F. Mokbel, Xiaopeng Xiong, Walid G. Aref Presented by.
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
Graphs. Graphs Many interesting situations can be modeled by a graph. Many interesting situations can be modeled by a graph. Ex. Mass transportation system,
Graph Algorithms: Shortest Path We are given a weighted, directed graph G = (V, E), with weight function w: E R mapping.
Tracking Moving Objects in Anonymized Trajectories Nikolay Vyahhi 1, Spiridon Bakiras 2, Panos Kalnis 3, and Gabriel Ghinita 3 1 St. Petersburg State University.
1 SINA: Scalable Incremental Processing of Continuous Queries in Spatio-temporal Databases Mohamed F. Mokbel, Xiaopeng Xiong, Walid G. Aref Presented by.
Euripides G.M. PetrakisIR'2001 Oulu, Sept Indexing Images with Multiple Regions Euripides G.M. Petrakis Dept.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
CS 206 Introduction to Computer Science II 03 / 30 / 2009 Instructor: Michael Eckmann.
Route Planning Vehicle navigation systems, Dijkstra’s algorithm, bidirectional search, transit-node routing.
Trip Planning Queries F. Li, D. Cheng, M. Hadjieleftheriou, G. Kollios, S.-H. Teng Boston University.
Clustering An overview of clustering algorithms Dènis de Keijzer GIA 2004.
Distance Indexing on Road Networks A summary Andrew Chiang CS 4440.
1 Shortest Path Calculations in Graphs Prof. S. M. Lee Department of Computer Science.
Using Dijkstra’s Algorithm to Find a Shortest Path from a to z 1.
Project presentation 1. Agenda Motivation Problem Statement Related Work Proposed Solution Hierarchical routing theory 2.
VLDB '2006 Haibo Hu (Hong Kong Baptist University, Hong Kong) Dik Lun Lee (Hong Kong University of Science and Technology, Hong Kong) Victor.
Computer science department university of Southern California Los Angeles. Songhua Xing a PhD candidate at Computer Science Department now at IBM T.J.
1 Exact Top-k Nearest Keyword Search in Large Networks Minhao Jiang†, Ada Wai-Chee Fu‡, Raymond Chi-Wing Wong† † The Hong Kong University of Science and.
Shortest Path Navigation Application on GIS Supervisor: Dr. Damitha Karunaratne Thilani Imalka 2007/MCS/023.
Rapidly Exploring Random Trees for Path Planning: RRT-Connect
Chi-Cheng Lin, Winona State University CS 313 Introduction to Computer Networking & Telecommunication Chapter 5 Network Layer.
Efficient Route Computation on Road Networks Based on Hierarchical Communities Qing Song, Xiaofan Wang Department of Automation, Shanghai Jiao Tong University,
Shortest Paths and Dijkstra’s Algorithm CS 105. SSSP Slide 2 Single-source shortest paths Given a weighted graph G and a source vertex v in G, determine.
Easiest-to-Reach Neighbor Search Fatimah Aldubaisi.
Group 8: Denial Hess, Yun Zhang Project presentation.
Presented by: Daniel Hess, Yun Zhang. Motivation Problem statement Major contributions Key concepts Validation methodology Assumptions Recommended changes.
Euripides G.M. PetrakisIR'2001 Oulu, Sept Indexing Images with Multiple Regions Euripides G.M. Petrakis Dept. of Electronic.
1 30 November 2006 An Efficient Nearest Neighbor (NN) Algorithm for Peer-to-Peer (P2P) Settings Ahmed Sabbir Arif Graduate Student, York University.
Spatial Indexing Techniques Introduction to Spatial Computing CSE 5ISC Some slides adapted from Spatial Databases: A Tour by Shashi Shekhar Prentice Hall.
1 Approximate XML Query Answers Presenter: Hongyu Guo Authors: N. polyzotis, M. Garofalakis, Y. Ioannidis.
Graphs. Introduction Graphs are a collection of vertices and edges Graphs are a collection of vertices and edges The solid circles are the vertices A,
Graphs Definition: a graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected.
Zaiben Chen et al. Presented by Lian Liu. You’re traveling from s to t. Which gas station would you choose?
Construction of Optimal Data Aggregation Trees for Wireless Sensor Networks Deying Li, Jiannong Cao, Ming Liu, and Yuan Zheng Computer Communications and.
Spanning Trees Dijkstra (Unit 10) SOL: DM.2 Classwork worksheet Homework (day 70) Worksheet Quiz next block.
A K-Main Routes Approach to Spatial Network Activity Summarization(SNAS) Group 8.
Certifying Algorithms [MNS11]R.M. McConnell, K. Mehlhorn, S. Näher, P. Schweitzer. Certifying algorithms. Computer Science Review, 5(2), , 2011.
Ch 13 WAN Technologies and Routing
Greedy Algorithms / Dijkstra’s Algorithm Yin Tat Lee
Finding Fastest Paths on A Road Network with Speed Patterns
Fast Nearest Neighbor Search on Road Networks
Graph Indexing for Shortest-Path Finding over Dynamic Sub-Graphs
Single-source shortest paths
Graph Algorithms: Shortest Path
Topological Signatures For Fast Mobility Analysis
Efficient Processing of Top-k Spatial Preference Queries
Chapter 9 Graph algorithms
Presentation transcript:

Scalable Network Distance Browsing in Spatial Database Samet, H., Sankaranarayanan, J., and Alborzi H. Proceedings of the 2008 ACM SIGMOD international Conference on Management of Data Presented by: Don Eagan Chintan Patel

Outline Motivation Problem Statement Proposed Approach Other Approaches Evaluation Our Comments Questions

Motivation Growing Popularity of Online Mapping Services

Motivation Real Time Shortest Paths

Motivation Static Network, Variable Queries Find Gas Stations, Hotels, Markets etc.

Motivation Static Network, Variable Queries Find Gas Stations, Hotels, Markets etc.

Problem Statement Input: Spatial Network S, Node q from S Output: k-nearest neighbors of q Objective: Facilitate “fast” shortest path queries based on different search criteria's Constraints/ Assumptions: Static spatial network Contiguous (connected) regions

Challenges Real-time response Calculating all pairs shortest path is costly Storing pre-computed naïvely doesn’t solve the problem Scalability

Contribution Efficient path encoding Efficient retrieval Abstracting shortest path calculation from domain queries

Key Concepts Spatial Networks Nearest Network Neighbor Quad Tree Morton Blocks Decoupling Scalability Pre-computing

Spatial Networks Graph with spatial components represented as nodes/ edges Most Transportations are modeled as graph Intersection – Node/ vertex Roads – Edge Time/ Distance – Edge Weight

K-Nearest Neighbors

Shortest Path Dijkstra’s algorithm Doesn’t work for real-time queries Computationally expensive

Proposed Approach Pre-compute shortest paths Store and Retrieve Efficiently N = Number of vertices, M = Number of edges, s = Length of the shortest path MethodSpaceRetrieval Time ExplicitO(N^3)O(1) DijkstraO(N + M)O(M + N log N) SLIC O(N √N ) O(s log N)

Path Encoding Path coherence Vertices in close proximity share portion of the shortest paths to them from distant sources

Path Encoding Path coherence Vertices in close proximity share portion of the shortest paths to them from distant sources

Path Encoding Path coherence Vertices in close proximity share portion of the shortest paths to them from distant sources

Path Encoding Path coherence Vertices in close proximity share portion of the shortest paths to them from distant sources

Path Encoding Quadtree: Decompose until all vertices in block have same color

How is space reduced? Capturing boundaries !

Path Retrieval Retrieve quadtree corresponding to s

Path Retrieval Find connected node t in the quadtree containing d

Path Retrieval Repeat the process

K-nearest Neighbor Set of objects Pre-computed paths (quadtree)

K-nearest Neighbor K = 2

K-nearest Neighbor Queue1: m a b Queue2: a b

K-nearest Neighbor Queue1: a g e b f Queue2: a g

K-nearest Neighbor Queue1: a g e Queue2: a g

K-nearest Neighbor Return a and g

Other Approaches IER: Incremental Euclidian Restriction Based on Euclidian distance Dijkstra’s algorithm to get network distance INE: Incremental. Network Expansion Dijkstra's algorithm with a buffer L containing the k nearest neighbors seen so far in terms of network distance

Evaluation Micro benchmark Synthetic Data

Evaluation Real Data Set: Major Road of the USA

Our Comments We Liked: Decoupling shortest path and neighbor calculation Space reduction approach Scalable Correctness proofs Detailed discussion about KNN variants

Our Comments What we didn’t like: Experiments: No comparison with other approaches (e.g. hierarchical, dynamic etc.) No performance graphs/ discussion with real dataset

Discussion Other use cases? Real Application: How to overcome assumptions?

Questions ? ? ?