Evaluating Path Queries over Route Collections Panagiotis Bouros NTUA, Greece (supervised by Y. Vassiliou)

Slides:



Advertisements
Similar presentations
Evaluating “find a path” reachability queries P. Bouros 1, T. Dalamagas 2, S.Skiadopoulos 3, T. Sellis 1,2 1 National Technical University of Athens 2.
Advertisements

Pete Bohman Adam Kunk.  Introduction  Related Work  System Overview  Indexing Scheme  Ranking  Evaluation  Conclusion.
Buffer and FF Insertion Slides from Charles J. Alpert IBM Corp.
CS 267: Automated Verification Lecture 10: Nested Depth First Search, Counter- Example Generation Revisited, Bit-State Hashing, On-The-Fly Model Checking.
5-1 Chapter 5 Tree Searching Strategies. 5-2 Satisfiability problem Tree representation of 8 assignments. If there are n variables x 1, x 2, …,x n, then.
Search Techniques MSc AI module. Search In order to build a system to solve a problem we need to: Define and analyse the problem Acquire the knowledge.
Graphs Chapter 12. Chapter Objectives  To become familiar with graph terminology and the different types of graphs  To study a Graph ADT and different.
Dynamic Pickup and Delivery with Transfers* P. Bouros 1, D. Sacharidis 2, T. Dalamagas 2, T. Sellis 1,2 1 NTUA, 2 IMIS – RC “Athena” * To appear in SSTD’11.
Modeling Rich Vehicle Routing Problems TIEJ601 Postgraduate Seminar Tuukka Puranen October 19 th 2009.
Vehicle Routing & Scheduling: Part 1
Multiversion Access Methods - Temporal Indexing. Basics A data structure is called : Ephemeral: updates create a new version and the old version cannot.
Modern Information Retrieval
Evaluating Reachability Queries over Path Collections* P. Bouros 1, S. Skiadopoulos 2, T. Dalamagas 3, D. Sacharidis 3, T. Sellis 1,3 1 National Technical.
© 2006 Pearson Addison-Wesley. All rights reserved14 A-1 Chapter 14 Graphs.
EE 4272Spring, 2003 Chapter 10 Packet Switching Packet Switching Principles  Switching Techniques  Packet Size  Comparison of Circuit Switching & Packet.
Evaluating Reachability Queries over Path Collections P. Bouros 1, S. Skiadopoulos 2, T. Dalamagas 3, D. Sacharidis 3, T. Sellis 1,3 1 National Technical.
Nyhoff, ADTs, Data Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved Graphs.
Graphs Chapter 12. Chapter 12: Graphs2 Chapter Objectives To become familiar with graph terminology and the different types of graphs To study a Graph.
Vehicle Routing & Scheduling
Graphs & Graph Algorithms 2 Nelson Padua-Perez Bill Pugh Department of Computer Science University of Maryland, College Park.
Blind Search-Part 2 Ref: Chapter 2. Search Trees The search for a solution can be described by a tree - each node represents one state. The path from.
Graphs & Graph Algorithms 2 Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Backtracking.
Chapter 8 Physical Database Design. McGraw-Hill/Irwin © 2004 The McGraw-Hill Companies, Inc. All rights reserved. Outline Overview of Physical Database.
Evaluating Queries over Route Collections Panagiotis Bouros, PhD defense.
C o n f i d e n t i a l Developed By Nitendra NextHome Subject Name: Data Structure Using C Title: Overview of Data Structure.
Sensor Networks Storage Sanket Totala Sudarshan Jagannathan.
CEN Network Fundamentals Chapter 19 Binding Protocol Addresses (ARP) To insert your company logo on this slide From the Insert Menu Select “Picture”
MA/CSSE 473 Day 12 Insertion Sort quick review DFS, BFS Topological Sort.
A computational study of protein folding pathways Reducing the computational complexity of the folding process using the building block folding model.
Αποτίμηση Ερωτημάτων σε Συλλογές Διαδρομών (Evaluating Queries on Route Collections) Παναγιώτης Μπούρος Ενδιάμεση Κρίση Επιβλέπων: Ι. Βασιλείου.
CSCE350 Algorithms and Data Structure Lecture 17 Jianjun Hu Department of Computer Science and Engineering University of South Carolina
CSE 6331 © Leonidas Fegaras Information Retrieval 1 Information Retrieval and Web Search Engines Leonidas Fegaras.
Embedding Constraint Satisfaction using Parallel Soft-Core Processors on FPGAs Prasad Subramanian, Brandon Eames, Department of Electrical Engineering,
The Application of The Improved Hybrid Ant Colony Algorithm in Vehicle Routing Optimization Problem International Conference on Future Computer and Communication,
Search by partial solutions.  nodes are partial or complete states  graphs are DAGs (may be trees) source (root) is empty state sinks (leaves) are complete.
Data Structure Introduction.
COMP261 Lecture 6 Dijkstra’s Algorithm. Connectedness Is this graph connected or not? A Z FF C M N B Y BB S P DDGG AA R F G J L EE CC Q O V D T H W E.
Efficient Processing of Top-k Spatial Preference Queries
Union-find Algorithm Presented by Michael Cassarino.
L3-Network Algorithms L3 – Network Algorithms NGEN06(TEK230) – Algorithms in Geographical Information Systems by: Irene Rangel, updated Nov by Abdulghani.
1 Knowledge Discovery from Transportation Network Data Paper Review Jiang, W., Vaidya, J., Balaporia, Z., Clifton, C., and Banich, B. Knowledge Discovery.
Chapter 8 Physical Database Design. Outline Overview of Physical Database Design Inputs of Physical Database Design File Structures Query Optimization.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Ver Chapter 13: Graphs Data Abstraction & Problem Solving with C++
Ricochet Robots Mitch Powell Daniel Tilgner. Abstract Ricochet robots is a board game created in Germany in A player is given 30 seconds to find.
Graphs Chapter 12. Chapter 12: Graphs2 Chapter Objectives To become familiar with graph terminology and the different types of graphs To study a Graph.
1/16/20161 Introduction to Graphs Advanced Programming Concepts/Data Structures Ananda Gunawardena.
CIS 250 Advanced Computer Applications Database Management Systems.
1 CSIS 7101: CSIS 7101: Spatial Data (Part 1) The R*-tree : An Efficient and Robust Access Method for Points and Rectangles Rollo Chan Chu Chung Man Mak.
Pete Bohman Adam Kunk.  Introduction  Related Work  System Overview  Indexing Scheme  Ranking  Evaluation  Conclusion.
Efficient Semantic Web Service Discovery in Centralized and P2P Environments Dimitrios Skoutas 1,2 Dimitris Sacharidis.
Presented by: Siddhant Kulkarni Spring Authors: Publication:  ICDE 2015 Type:  Research Paper 2.
Biointelligence Lab School of Computer Sci. & Eng. Seoul National University Artificial Intelligence Chapter 8 Uninformed Search.
BITS Pilani Pilani Campus Data Structure and Algorithms Design Dr. Maheswari Karthikeyan Lecture3.
1 GRAPHS – Definitions A graph G = (V, E) consists of –a set of vertices, V, and –a set of edges, E, where each edge is a pair (v,w) s.t. v,w  V Vertices.
Andy Nguyen Christopher Piech Jonathan Huang Leonidas Guibas. Stanford University.
Mehdi Kargar Department of Computer Science and Engineering
Dynamic Pickup and Delivery with Transfers
Data Structure By Amee Trivedi.
Data Structures: Disjoint Sets, Segment Trees, Fenwick Trees
Indexing Structures for Files and Physical Database Design
CS522 Advanced database Systems
IP Routers – internal view
Chapter 25: Advanced Data Types and New Applications
Factored Use-Def Chains and Static Single Assignment Forms
Graphs Chapter 13.
Practical Database Design and Tuning
Discrete Mathematics CMP-101 Lecture 12 Sorting, Bubble Sort, Insertion Sort, Greedy Algorithms Abdul Hameed
CPSC-608 Database Systems
Efficient Processing of Top-k Spatial Preference Queries
Presentation transcript:

Evaluating Path Queries over Route Collections Panagiotis Bouros NTUA, Greece (supervised by Y. Vassiliou)

Outline Introduction – Route collections, queries & frequent updates Existing work – Graph-based solutions Our framework – PATH & FLSP queries – Indices, algorithms & handling updates Future work

Examples of route collections People visiting Athens – Use e-devices to track their sightseeing – Create routes through interesting places – Upload/propose routes to Web sites like ShareMyRoutes.com Query such route collection: – Find a sequence of interesting places from Omonia Square to Cathedral – Find a sequence of interesting places from Academy to Museum of Acropolis that passes through Zappeion Answers may involve nodes from more than one route

Examples of route collections People visiting Athens – Use e-devices to track their sightseeing – Create routes through interesting places – Upload/propose routes to Web sites like ShareMyRoutes.com Querying such route collection: – Find a sequence of interesting places from Omonia Square to Cathedral – Find a sequence of interesting places from Academy to Museum of Acropolis that passes through Zappeion Answers may involve nodes from more than one route

Examples of route collections People visiting Athens – Use e-devices to track their sightseeing – Create routes through interesting places – Upload/propose routes to Web sites like ShareMyRoutes.com Querying such route collection: – Find a sequence of interesting places from Omonia Square to Cathedral – Find a sequence of interesting places from Academy to Museum of Acropolis that passes through Zappeion Answers may involve places from more than one routes

Examples of route collections Courier company offering same day pickup and delivery services Route collection created from previous day – Each route performed by a vehicle – Each point in routes is a point for picking- up, delivering or just waiting – Each point in a route has time interval I Querying such collection: – Ad-hoc customer requests Pick-up parcel from Academy within IS Deliver parcel at Zappeion within IT Serve ad-hoc request – Not add new route – Exploit one or more existing routes, pass parcel among vehicles

Examples of route collections Courier company offering same day pickup and delivery services Route collection created from previous day – Each route performed by a vehicle – Each point in routes is a point for picking- up, delivering or just waiting – Each point in a route has time interval I Querying such collection: – Ad-hoc customer requests Pick-up parcel from Academy within I S Deliver parcel at Zappeion within I T Serve ad-hoc request – Not add new route – Exploit one or more existing routes, pass parcel among vehicles

Examples of route collections Courier company offering same day pickup and delivery services Route collection created from previous day – Each route performed by a vehicle – Each point in routes is a point for picking- up, delivering or just waiting – Each point in a route has time interval I Querying such collection: – Ad-hoc customer requests Pick-up parcel from Academy within I S Deliver parcel at Zappeion within I T Serve ad-hoc request – Not add new route – Exploit one or more existing routes, pass parcel among vehicles

Examples of route collections Courier company offering same day pickup and delivery services Route collection created from previous day – Each route performed by a vehicle – Each point in routes is a point for picking- up, delivering or just waiting – Each point in a route has time interval I Querying such collection: – Ad-hoc customer requests Pick-up parcel from Academy within I S Deliver parcel at Zappeion within I T Serve ad-hoc request – Not add new route – Exploit one or more existing routes, pass parcel among vehicles Passing parcel possible

Examples of route collections Courier company offering same day pickup and delivery services Route collection created from previous day – Each route performed by a vehicle – Each point in routes is a point for picking- up, delivering or just waiting – Each point in a route has time interval I Querying such collection: – Ad-hoc customer requests Pick-up parcel from Academy within I S Deliver parcel at Zappeion within I T Serve ad-hoc request – Not add new route – Exploit one or more existing routes, pass parcel among vehicles Related to dynamic pickup and delivery problem Passing parcel impossible

What’s all about… Consider route collections – Very large, stored in secondary storage – Frequently updated with new routes E.g. new routes are proposed or new vehicle routes are included Evaluate queries that identify paths – Sequences of distinct nodes from one or more routes – In the latter we use links, i.e., shared nodes – PATH(S,T) Find a sequence of interesting places from Omonia Square to Cathedral – FLSP(S,I S,T,I T ) Moving cost m inside routes Changing cost c between routes via links Find the sequence of points to pick-up parcel from Cathedral and deliver it to Zappeion that: – Abides with the temporal constraints imposed by time intervals – Minimizes primarily the changing cost and secondarily the moving cost

What’s all about… Consider route collections – Very large, stored in secondary storage – Frequently updated E.g. new routes are proposed or new vehicle routes are included Evaluate queries that identify paths – Sequences of distinct nodes from one or more routes – In the latter we use links, i.e., shared nodes – PATH(S,T) Find a sequence of interesting places from Omonia Square to Cathedral – FLSP(S,I S,T,I T ) Moving cost m inside routes Changing cost c between routes via links Find the sequence of points to pick-up parcel from Cathedral and deliver it to Zappeion that: – Abides with the temporal constraints imposed by time intervals – Minimizes primarily the changing cost and secondarily the moving cost

What’s all about… Consider route collections – Very large, stored in secondary storage – Frequently updated E.g. new routes are proposed or new vehicle routes are included Evaluate queries that identify paths – Sequences of distinct nodes from one or more routes – In the latter we use links, i.e., shared nodes – PATH(S,T) Find a sequence of interesting places from Omonia Square to Cathedral – FLSP(S,I S,T,I T ) Moving cost m inside routes Changing cost c between routes via links Find the sequence of points to pick-up parcel from Cathedral and deliver it to Zappeion that: – Abides with the temporal constraints imposed by time intervals – Minimizes primarily the changing cost and secondarily the moving cost

What’s all about… Consider route collections – Very large, stored in secondary storage – Frequently updated E.g. new routes are proposed or new vehicle routes are included Evaluate queries that identify paths – Sequences of distinct nodes from one or more routes – In the latter we use links, i.e., shared nodes – PATH(S,T) Find a sequence of interesting places from Omonia Square to Cathedral – FLSP(S,I S,T,I T ) Moving cost m within routes Changing cost c between routes via links Find the sequence of points to pick-up parcel from Cathedral and deliver it to Zappeion that: – Abides with the temporal constraints imposed by time intervals – Minimizes primarily the changing cost and secondarily the moving cost

Existing work Convert route collection to a graph Answer PATH and FLSP queries on the graph: – Direct evaluation dfs for PATH ucs, Dijkstra for FLSP Low storage and maintenance cost Slow query evaluation – Preprocessing Precompute transitive closure, labeling & compression schems for PATH Graph embedding + A* for FLSP Fast query evaluation High maintenance cost

Our Framework Evaluate PATH and FLSP queries directly on route collections Our framework involves the following: – A search algorithm Depth-first search for PATH queries Uniform-Cost Search for FLSP queries – Indices on route collection for efficiently answering queries Reduce iterations of the search algorithm P-Index, H-Index, L-Index – Methods for handling frequent updates

Indexing route collections r1r1 (A,B,C) r2r2 (F,N,B,L) r3r3 (T,B,N,M) Route collection

Indexing route collections r1r1 (A,B,C) r2r2 (F,N,B,L) r3r3 (T,B,N,M) noderoutes list A B,, C F L M N, T Route collection P-Index

Indexing route collections r1r1 (A,B,C) r2r2 (F,N,B,L) r3r3 (T,B,N,M) noderoutes list A B,, C F L M N, T Route collection P-Index

Indexing route collections r1r1 (A,B,C) r2r2 (F,N,B,L) r3r3 (T,B,N,M) noderoutes list A B,, C F L M N, T routeedges list r1r1, r2r2,, r3r3 Route collection H-Index P-Index

Indexing route collections r1r1 (A,B,C) r2r2 (F,N,B,L) r3r3 (T,B,N,M) noderoutes list A B,, C F L M N, T routeedges list r1r1, r2r2,, r3r3 Route collection H-Index P-Index

Indexing route collections r1r1 (A,B,C) r2r2 (F,N,B,L) r3r3 (T,B,N,M) noderoutes list A B,, C F L M N, T routeedges list r1r1, r2r2,, r3r3 Route collection H-Index P-Index

Indexing route collections r1r1 (A,B,C) r2r2 (F,N,B,L) r3r3 (T,B,N,M) noderoutes list A B,, C F L M N, T routeedges list r1r1, r2r2,, r3r3 Route collection H-Index P-Index

Indexing route collections r1r1 (A,B,C) r2r2 (F,N,B,L) r3r3 (T,B,N,M) noderoutes list A B,, C F L M N, T routeedges list r1r1, r2r2,, r3r3 Route collection H-Index P-Index

Indexing route collections r1r1 (A,B,C) r2r2 (F,N,B,L) r3r3 (T,B,N,M) noderoutes list A B,, C F L M N, T routeedges list r1r1, r2r2,, r3r3 routelinks list r1r1 r2r2, r3r3 Route collection H-Index L-Index P-Index

Indexing route collections r1r1 (A,B,C) r2r2 (F,N,B,L) r3r3 (T,B,N,M) noderoutes list A B,, C F L M N, T routeedges list r1r1, r2r2,, r3r3 routelinks list r1r1 r2r2, r3r3 Route collection H-Index L-Index P-Index

Evaluating PATH queries Basic idea – Traverse nodes similar to depth-first search – Exploit indices on route collection to terminate search P-Index => method pfsP H-Index => method pfsH L-Index => method pfsL – At each iteration: Pop current node n Check termination condition Access routes containing n, routes[n] from P-Index – For each route, push nodes after n in search stack

Evaluating PATH queries cont. pfsP terminates search – When: current node n is contained in a route before target t – How: joins routes[n] with routes[t] & stops after finding a common route entry S S T T n n r1r1 r2r2 r3r3 … o 2 < o T routes[n] = {,, } JOIN routes[T] = {…,,…}

Evaluating PATH queries cont. pfsH terminates search – When: current node n is contained in a route that is connected with a route containing target t – How: for each route r containing n, joins edges[r] with routes[t] & stops after finding a common route entry S S n n r1r1 r2r2 r3r3 … rXrX rYrY X X Y Y T T o 2 < o Y2 AND o Y < o T edges[r 2 ] = {, } JOIN routes[T] = {…,,…}

Evaluating PATH queries cont. pfsL – Constructs list T of the links before target – Visits only the links in a route – Terminates search When: current node n is contained in a route before a link of T How: for each route r containing n, joins links[r] with list T & stops after finding a common link entry S S n n r1r1 r2r2 r3r3 … rYrY X X Y Y T T o 2 < o Y2 links[r 2 ] = {, } JOIN T = {…,,…}

Evaluating FLSP queries Basic idea – Traverse nodes similar to uniform-cost search – Compute lower bound of the answer, a candidate answer Using P-Index => method spP, L-Index => method spL Triggers early termination condition Prunes search space – At each iteration: Pop current node n Check termination condition against candidate answer Update candidate answer through n Access routes containing n, routes[n] from P-Index – For each route, push nodes after n in search stack iff expanding them would give answer better than candidate

Handling frequent updates P-Index, H-Index, L-Index as inverted files on disk – Updates -> adding new routes – Not consider each new route separately – Batch updates, consider set of new routes Basic idea: – Build memory resident indices for new routes – Merge disk-based indices with memory resident ones

Future work Three directions: ①Address other kind of updates – Insert nodes in routes – as dynamic pickup and delivery problem is solved – Update time intervals of nodes ②Evaluate other types of queries –Trip planning or optimal sequenced like queries Each node is an instance of a class in set C, e.g. {Museum,Stadium,Restaurant} Find a path passing through a Museum, then a Stadium and finally a Restaurant ③Combine query evaluation with keyword search –Starting and ending node given as set of keywords –Find a path passing through a Restaurant relevant to “sea food, lobster”