![Page 1: TEDI: Efficient Shortest Path Query Answering on Graphs Author: Fang Wei SIGMOD 2010 Presentation: Dr. Greg Speegle](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e445503460f94b38193/html5/thumbnails/1.jpg)
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 Author: Fang Wei SIGMOD 2010 Presentation: Dr. Greg Speegle](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e445503460f94b38193/html5/thumbnails/2.jpg)
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 Author: Fang Wei SIGMOD 2010 Presentation: Dr. Greg Speegle](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e445503460f94b38193/html5/thumbnails/3.jpg)
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 Author: Fang Wei SIGMOD 2010 Presentation: Dr. Greg Speegle](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e445503460f94b38193/html5/thumbnails/4.jpg)
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 Author: Fang Wei SIGMOD 2010 Presentation: Dr. Greg Speegle](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e445503460f94b38193/html5/thumbnails/5.jpg)
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 Author: Fang Wei SIGMOD 2010 Presentation: Dr. Greg Speegle](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e445503460f94b38193/html5/thumbnails/6.jpg)
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 Author: Fang Wei SIGMOD 2010 Presentation: Dr. Greg Speegle](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e445503460f94b38193/html5/thumbnails/7.jpg)
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 Author: Fang Wei SIGMOD 2010 Presentation: Dr. Greg Speegle](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e445503460f94b38193/html5/thumbnails/8.jpg)
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 Author: Fang Wei SIGMOD 2010 Presentation: Dr. Greg Speegle](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e445503460f94b38193/html5/thumbnails/9.jpg)
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 Author: Fang Wei SIGMOD 2010 Presentation: Dr. Greg Speegle](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e445503460f94b38193/html5/thumbnails/10.jpg)
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 Author: Fang Wei SIGMOD 2010 Presentation: Dr. Greg Speegle](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e445503460f94b38193/html5/thumbnails/11.jpg)
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 Author: Fang Wei SIGMOD 2010 Presentation: Dr. Greg Speegle](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e445503460f94b38193/html5/thumbnails/12.jpg)
Experimentation
![Page 13: TEDI: Efficient Shortest Path Query Answering on Graphs Author: Fang Wei SIGMOD 2010 Presentation: Dr. Greg Speegle](https://reader035.vdocuments.us/reader035/viewer/2022062516/56649e445503460f94b38193/html5/thumbnails/13.jpg)
Conclusion
Faster than existing algorithms Smaller index creation Scales to large graphs Best current solution