tedi: efficient shortest path query answering on graphs

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

Upload: onan

Post on 06-Jan-2016

41 views

Category:

Documents


0 download

DESCRIPTION

Author: Fang Wei SIGMOD 2010 Presentation: Dr. Greg Speegle. TEDI: Efficient Shortest Path Query Answering on Graphs. 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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: TEDI: Efficient Shortest Path Query Answering on Graphs

TEDI: Efficient Shortest Path Query Answering on Graphs

Author: Fang WeiSIGMOD 2010

Presentation: Dr. Greg Speegle

Page 2: TEDI: Efficient Shortest Path Query Answering on Graphs

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

Page 3: TEDI: Efficient Shortest Path Query Answering on Graphs

Issues of Shortest Path Solutions

Algorithms require O(|V|2) time Transitive closure requires |V|2 space Challenge: Do better!

Page 4: TEDI: Efficient Shortest Path Query Answering on Graphs

TEDI

TreE Decomposition based Indexing Construct representation (tree decomposition) Algorithms on representation

Equivalent results More efficient

Index creation flexible

Page 5: TEDI: Efficient Shortest Path Query Answering on Graphs

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

Page 6: TEDI: Efficient Shortest Path Query Answering on Graphs

Connectedness Condition

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

connected)

Page 7: TEDI: Efficient Shortest Path Query Answering on Graphs

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

Page 8: TEDI: Efficient Shortest Path Query Answering on Graphs

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

Page 9: TEDI: Efficient Shortest Path Query Answering on Graphs

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)

Page 10: TEDI: Efficient Shortest Path Query Answering on Graphs

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

Page 11: TEDI: Efficient Shortest Path Query Answering on Graphs

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

Page 12: TEDI: Efficient Shortest Path Query Answering on Graphs

Experimentation

Page 13: TEDI: Efficient Shortest Path Query Answering on Graphs

Conclusion

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