Csr2011 june16 11_30_georgiadis

426 views
364 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

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

No notes for slide

Csr2011 june16 11_30_georgiadis

  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

×