Upcoming SlideShare
×

426 views
364 views

Published on

0 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

• Be the first to like this

Views
Total views
426
On SlideShare
0
From Embeds
0
Number of Embeds
18
Actions
Shares
0
4
0
Likes
0
Embeds 0
No embeds

No notes for slide

1. 1. Join-Reachability Problems in Directed Graphs Loukas Georgiadis University of Western Macedonia, Greece Joint work withStavros Nikolopoulos and Leonidas Palios University of Ioannina, Greece
2. 2. Graph Reachability (Directed) Graph Reachability Query : Is vertex reachable from vertex ? (Is there a path in from to ?)Goal: Construct a Data Structure that answers reachability queries efficiently
3. 3. Graph Reachability Reachability Query : Is vertex reachable from vertex ? (Is there a path in from to ?)Goal: Construct a Data Structure that answers reachability queries efficientlyEfficiency of a Data Structure: storage space query timeEasy : Efficiency or So far achieved only forHard : Efficiency close to restricted graph classes (e.g., trees, planar graphs)
4. 4. Join-ReachabilityCollection of graphs Join-Reachability Graph in in all Join-Reachability Query : Report all vertices that reach in all graphs
5. 5. Join-ReachabilityCollection of graphs Join-Reachability Graph in in all Join-Reachability Query : Report all vertices that reach in all graphsCombinatorial Problem : • Compute a of small size • Compute/approximate smallestData Structure Problem : • Compute an efficient data structure for - report all vertices s.t. for a query vertex - small space
6. 6. Join-ReachabilityCollection of graphsJoin-Reachability Query : Report all vertices that reach in all graphsApplications: Graph Algorithms, Data Bases, Natural Language Processing,…Example: Rank Aggregation Ranking 1 Ranking λ 1. Item A 1. Item B 2. Item B 2. Item D 3. Item C 3. Item A ... ...Given a collection of rankings of some items, we would like to report fast allitems ranked higher than a query item in all rankings.
7. 7. MotivationComputing frequency dominators [G. ‘08] f
8. 8. MotivationApplications of Independent Spanning Trees [G. and Tarjan 2005, 2011]
9. 9. MotivationComputing Pairs of Disjoint Paths [G. 2010] Data Structure : Given rooted trees and on the same nodes support the operations:(i) Test if contains .(ii) Return the topmost vertex in .(iii) Test if and contain a common vertex.(iv) Find the lowest ancestor of in that is contained in .(v) Find the highest ancestor of in that is contained in .
10. 10. Computational Morphological Analysis Computational Approach: Morphological patterns as graph reachability problems Απολσμ- -αν*- -αιν--ω -α -ομαι-ομοσν -οντας -*σμεν- -θηκ- -θ- -τικ- -ος -η -ο -της -τήριο
11. 11. Join-ReachabilityWe consider the case of two digraphs: Join-Reachability Graph in in and
12. 12. Outline  Graph Reachability  Join-Reachability Problems • Motivation • Preprocessing − Layer Decomposition − Removing Cycles • Join-Reachability Graph − Computational Complexity − Combinatorial Complexity • Join-Reachability Data Structures  Concluding Remarks
13. 13. Thorup’s Layer DecompositionReduces digraph reachabiliy to reachability in 2-layered digraphs
14. 14. Thorup’s Layer DecompositionReduces digraph reachabiliy to reachability in 2-layered digraphs2-layered digraph : Has a 2-layered spanning tree, i.e. every undirected root-to-leaf path consists of 2 directed paths
15. 15. Thorup’s Layer DecompositionReduces digraph reachabiliy to reachability in 2-layered digraphs arbitrary vertex chosen as root
16. 16. Thorup’s Layer DecompositionReduces digraph reachabiliy to reachability in 2-layered digraphs vertices reachable from
17. 17. Thorup’s Layer DecompositionReduces digraph reachabiliy to reachability in 2-layered digraphs vertices reaching
18. 18. Thorup’s Layer DecompositionReduces digraph reachabiliy to reachability in 2-layered digraphs vertices reachable from
19. 19. Thorup’s Layer DecompositionReduces digraph reachabiliy to reachability in 2-layered digraphs vertices reaching
20. 20. Thorup’s Layer DecompositionReduces digraph reachabiliy to reachability in 2-layered digraphs is induced by and index of layer containing We can use this method to reduce general join-reachabiliy to join-reachability in 2-layered digraphs
21. 21. Removing CyclesReduces digraph (join-)reachabiliy to (join-)reachability in acyclic digraphs
22. 22. Removing CyclesReduces digraph (join-)reachabiliy to (join-)reachability in acyclic digraphs contract strong components
23. 23. Removing CyclesReduces digraph (join-)reachabiliy to (join-)reachability in acyclic digraphs contract split to common strong components subcomponents
24. 24. Outline  Graph Reachability  Join-Reachability Problems • Motivation • Preprocessing − Layer Decomposition − Removing Cycles • Join-Reachability Graph − Computational Complexity − Combinatorial Complexity • Join-Reachability Data Structures  Concluding Remarks
25. 25. Join-Reachability GraphCollection of graphs Join-Reachability Graph in in and
26. 26. Join-Reachability Graph: Computational ComplexityCollection of graphs Join-Reachability Graph in in and Two cases: • (Steiner vertices not allowed) smallest is polynomial-time computable • (Steiner vertices allowed) smallest is NP-hard to compute
27. 27. Join-Reachability GraphSteiner vertices can significantly reduce the size of
28. 28. Join-Reachability Graph: Combinatorial ComplexityCollection of graphs Join-Reachability Graph in in and We bound the size of when Steiner vertices are allowed Main Idea: Geometric representation of join-reachability for paths and trees
29. 29. Join-Reachability Graph: Combinatorial ComplexityConstruction of a compact join-reachability graph for pathsEach vertex is mapped to a point number of vertices reachable from in
30. 30. Join-Reachability Graph: Combinatorial ComplexityConstruction of a compact join-reachability graph for pathsEach vertex is mapped to a point number of vertices reachable from in
31. 31. Join-Reachability Graph: Combinatorial ComplexityConstruction of a compact join-reachability graph for pathsEach vertex is mapped to a point number of vertices reachable from in For each , such that add Steiner vertex with coordinates and arc
32. 32. Join-Reachability Graph: Combinatorial ComplexityConstruction of a compact join-reachability graph for pathsEach vertex is mapped to a point number of vertices reachable from in For each , such that add Steiner vertex with coordinates and arc Connect Steiner vertices in a bottom-up path
33. 33. Join-Reachability Graph: Combinatorial ComplexityConstruction of a compact join-reachability graph for pathsEach vertex is mapped to a point number of vertices reachable from in For each , such that add Steiner vertex with coordinates and arc Connect Steiner vertices in a bottom-up path For each , such that add arc nearest Steiner neighbor with
34. 34. Join-Reachability Graph: Combinatorial Complexity Construction of a compact join-reachability graph for paths Each vertex is mapped to a point number of vertices reachable from in For each , such that add Steiner vertex with coordinates and arc Connect Steiner vertices in a bottom-up path For each , such that add arc nearest Steiner neighbor with Use recursion for the sets andUpper Bound: arcs + vertices per recursion level
35. 35. Join-Reachability Graph: Combinatorial Complexity Construction of a compact join-reachability graph for paths Each vertex is mapped to a point number of vertices reachable from in For each , such that add Steiner vertex with coordinates and arc Connect Steiner vertices in a bottom-up path For each , such that add arc nearest Steiner neighbor with Use recursion for the sets andUpper Bound: arcs + vertices per recursion levelLower Bound : There are instances for which
36. 36. Join-Reachability Graph: Combinatorial ComplexityConstruction of a compact join-reachability graph for treesEach vertex is mapped to a rectangle depth-first search interval of in
37. 37. Join-Reachability Graph: Combinatorial ComplexityConstruction of a compact join-reachability graph for treesEach vertex is mapped to a rectangle depth-first search interval of in out-tree, out-tree :
38. 38. Join-Reachability Graph: Combinatorial ComplexityConstruction of a compact join-reachability graph for treesEach vertex is mapped to a rectangle depth-first search interval of in in-tree, in-tree :
39. 39. Join-Reachability Graph: Combinatorial ComplexityConstruction of a compact join-reachability graph for treesEach vertex is mapped to a rectangle depth-first search interval of in out-tree, in-tree :
40. 40. Join-Reachability Graph: Combinatorial Complexity
41. 41. Outline  Graph Reachability  Join-Reachability Problems • Motivation • Preprocessing − Layer Decomposition − Removing Cycles • Join-Reachability Graph − Computational Complexity − Combinatorial Complexity • Join-Reachability Data Structures  Concluding Remarks
42. 42. Join-Reachability Data StructuresCollection of graphsJoin-Reachability Query : Report all vertices that reach in all graphs (Vertices such that there is a path in all )Efficiency of a Data Structure: storage space time to report vertices
43. 43. Join-Reachability Data Structures
44. 44. Concluding RemarksMore Problems: • Complexity of computing smallest for simple graph classes • Approximate smallest for simple graph classes • Data structures supporting more general join-reachability queries e.g., report all such that and