TEDI: Efficient Shortest Path Query Answering on Graphs Author: Fang Wei SIGMOD 2010 Presentation:...
-
Upload
claude-grant -
Category
Documents
-
view
215 -
download
0
Transcript of TEDI: Efficient Shortest Path Query Answering on Graphs Author: Fang Wei SIGMOD 2010 Presentation:...
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