TEDI: Efficient Shortest Path Query Answering on Graphs

Preview:

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

Citation preview

TEDI: Efficient Shortest Path Query Answering on Graphs

Author: Fang WeiSIGMOD 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

Recommended