TEDI: Efficient Shortest Path Query Answering on Graphs Author: Fang Wei SIGMOD 2010 Presentation: Dr. Greg Speegle.

Slides:



Advertisements
Similar presentations
Graph Algorithms Algorithm Design and Analysis Victor AdamchikCS Spring 2014 Lecture 11Feb 07, 2014Carnegie Mellon University.
Advertisements

1 Union-find. 2 Maintain a collection of disjoint sets under the following two operations S 3 = Union(S 1,S 2 ) Find(x) : returns the set containing x.
1 NP-completeness Lecture 2: Jan P The class of problems that can be solved in polynomial time. e.g. gcd, shortest path, prime, etc. There are many.
Midwestern State University Department of Computer Science Dr. Ranette Halverson CMPS 2433 CHAPTER 4 - PART 2 GRAPHS 1.
1 Chapter Equivalence, Order, and Inductive Proof.
CMPS 2433 Discrete Structures Chapter 5 - Trees R. HALVERSON – MIDWESTERN STATE UNIVERSITY.
Tirgul 8 Graph algorithms: Strongly connected components.
All Pairs Shortest Paths and Floyd-Warshall Algorithm CLRS 25.2
Graphs and Trees This handout: Trees Minimum Spanning Tree Problem.
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
CSE 780 Algorithms Advanced Algorithms Graph Algorithms Representations BFS.
Is the following graph Hamiltonian- connected from vertex v? a). Yes b). No c). I have absolutely no idea v.
Costas Busch - RPI1 Mathematical Preliminaries. Costas Busch - RPI2 Mathematical Preliminaries Sets Functions Relations Graphs Proof Techniques.
Courtesy Costas Busch - RPI1 Mathematical Preliminaries.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
CISC220 Fall 2009 James Atlas Nov 13: Graphs, Line Intersections.
Hardness Results for Problems
1 CSCI 2400 section 3 Models of Computation Instructor: Costas Busch.
Directed graphs Definition. A directed graph (or digraph) is a pair (V, E), where V is a finite non-empty set of vertices, and E is a set of ordered pairs.
Chapter 9 – Graphs A graph G=(V,E) – vertices and edges
“On an Algorithm of Zemlyachenko for Subtree Isomorphism” Yefim Dinitz, Alon Itai, Michael Rodeh (1998) Presented by: Masha Igra, Merav Bukra.
On Graph Query Optimization in Large Networks Alice Leung ICS 624 4/14/2011.
CSCI 115 Chapter 7 Trees. CSCI 115 §7.1 Trees §7.1 – Trees TREE –Let T be a relation on a set A. T is a tree if there exists a vertex v 0 in A s.t. there.
Mathematical Preliminaries. Sets Functions Relations Graphs Proof Techniques.
Discrete Structures Lecture 12: Trees Ji Yanyan United International College Thanks to Professor Michael Hvidsten.
Fall 2005Costas Busch - RPI1 Mathematical Preliminaries.
Prof. Busch - LSU1 Mathematical Preliminaries. Prof. Busch - LSU2 Mathematical Preliminaries Sets Functions Relations Graphs Proof Techniques.
Path-Hop: efficiently indexing large graphs for reachability queries Tylor Cai and C.K. Poon CityU of Hong Kong.
Introduction to Graph Theory
ITEC 2620A Introduction to Data Structures Instructor: Prof. Z. Yang Course Website: 2620a.htm Office: TEL 3049.
Theory of Computation, Feodor F. Dragan, Kent State University 1 TheoryofComputation Spring, 2015 (Feodor F. Dragan) Department of Computer Science Kent.
GRAPHS. Graph Graph terminology: vertex, edge, adjacent, incident, degree, cycle, path, connected component, spanning tree Types of graphs: undirected,
 Quotient graph  Definition 13: Suppose G(V,E) is a graph and R is a equivalence relation on the set V. We construct the quotient graph G R in the follow.
All-Pairs Shortest Paths
Graph Theory. undirected graph node: a, b, c, d, e, f edge: (a, b), (a, c), (b, c), (b, e), (c, d), (c, f), (d, e), (d, f), (e, f) subgraph.
8.4 Closures of Relations Definition: The closure of a relation R with respect to property P is the relation obtained by adding the minimum number of.
1 Mathematical Preliminaries. 2 Sets Functions Relations Graphs Proof Techniques.
Tree - in “math speak” An ________ graph is a set of vertices/nodes and a set of edges, each edge connects two vertices. Any undirected graph in which.
Introduction to NP Instructor: Neelima Gupta 1.
Indexing and Mining Free Trees Yun Chi, Yirong Yang, Richard R. Muntz Department of Computer Science University of California, Los Angeles, CA {
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.
Introduction to the Theory of Computation
Thinking about Algorithms Abstractly
Discrete Math (2) Haiming Chen Associate Professor, PhD
Unweighted Shortest Path Neil Tang 3/11/2010
Graph Algorithms Using Depth First Search
Connected Components Minimum Spanning Tree
Elementary graph algorithms Chapter 22
Lecture 13 CSE 331 Oct 1, 2012.
Chapter 22: Elementary Graph Algorithms I
Basic Graph Algorithms
Connectivity Section 10.4.
CSCI-2400 Models of Computation.
Md. Abul Kashem, Chowdhury Sharif Hasan, and Anupam Bhattacharjee
2017, Fall Pusan National University Ki-Joune Li
Mathematical Preliminaries
ITEC 2620M Introduction to Data Structures
Lecture 12 CSE 331 Sep 26, 2011.
Theorem 5.13: For vT‘, l’(v)= min{l(v), l(vk)+w(vk, v)}
Chapter 24: Single-Source Shortest Paths
Mathematics for Computer Science MIT 6.042J/18.062J
Lecture 11 CSE 331 Sep 21, 2017.
Lecture 12 CSE 331 Sep 22, 2014.
Chapter 24: Single-Source Shortest Paths
Lecture 11 CSE 331 Sep 22, 2016.
Trees-2, Graphs Data Structures with C Chpater-6 Course code: 10CS35
Elementary graph algorithms Chapter 22
Minimum Spanning Trees
A Variation of Minimum Latency Problem on Path, Tree and DAG
Presentation transcript:

TEDI: Efficient Shortest Path Query Answering on Graphs Author: Fang Wei SIGMOD 2010 Presentation: Dr. Greg Speegle

Shortest Path Problem Graph G=(V,E) V = set of vertices E = set of edges (u,v) in E, u, v in V Path from u to v Sequence of edges Shortest Path Fewest edges in path Unweighted

Issues of Shortest Path Solutions Algorithms require O(|V| 2 ) time Transitive closure requires |V| 2 space Challenge: Do better!

TEDI TreE Decomposition based Indexing Construct representation (tree decomposition) Algorithms on representation Equivalent results More efficient Index creation flexible

Tree Decomposition Convert graph G into tree T Nodes in T Labeled (integers in paper) Subset of V Properties: All vertices in some node All edges in some node Connectedness condition

Connectedness Condition Consider a vertex v Consider nodes with v Such nodes must form a subtree (i.e., be connected)

Tree Paths Tree vertex If v is in Tree node i, {v,i}. Inner Edges (u,v) in E Both u and v in i (some such i must exist) ({u,i},{v,i}) is inner edge ({v,i},{u,i}) also inner edge Multiple i possible

Tree Paths (cont'd) Inter Edges For v in V, exists set of nodes with v If edge between nodes i and j ({v,i},{v,j}) is inter edge Tree Paths Inner and Inter Edges “Up and down” tree Represent as sequence of tree edges

Path Equivalence There exists a path in G from u to v, iff there exists a tree path from {u,i} to {v,j} Note: No restriction on {u,i} and {v,j} Tree path to path easy  Inner Edges are path  Exists tree node with every edge Path to tree path is inductive proof (see paper)

Shortest Path Assume sdist(u,w) computed for all w seen so far Assume sdist(t,z) computed for all t,z in parent Compute sdist(u,z) as min(sdist(u,t)+sdist(t,z)) for all t in both parent and child, for all z only in parent Union results with previous computations

Algorithm Shortest Path Lookup Let u.r (v.r) be root of tree for u (v) Find lca(u.r,v.r) Compute sdist for all points between u.r and lca and v.r and lca Compute sdist(u,v) at lca Shortest path is concat of shortest paths to lca

Experimentation

Conclusion Faster than existing algorithms Smaller index creation Scales to large graphs Best current solution