1 / 13

TEDI: Efficient Shortest Path Query Answering on Graphs

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

onan
Download Presentation

TEDI: Efficient Shortest Path Query Answering on Graphs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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

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

  4. TEDI • TreEDecomposition based Indexing • Construct representation (tree decomposition) • Algorithms on representation • Equivalent results • More efficient • Index creation flexible

  5. 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

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

  7. 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

  8. 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

  9. 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)

  10. 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

  11. 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

  12. Experimentation

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

More Related