stick graphs with length constraints
play

Stick Graphs with Length Constraints Steven Chaplick, Philipp - PowerPoint PPT Presentation

Stick Graphs with Length Constraints Steven Chaplick, Philipp Kindermann, Andre L offler, Florian Thiele, Alexander Wolff, Alexander Zaft, and Johannes Zink Introduction 2 Given a collection S of geometric objects Introduction 2


  1. Versions of Stick Graph Recognition 4 Given a bipartite Graph G = ( A ˙ ∪ B , E ), does G admit a stick representation . . . • STICK: . . . ? De Luca et al. [GD’18] First investigated by  • STICK A :   . . . if a permutation of the vertices in A is given?      • STICK AB :  . . . if a permutation of the vertices in A and a     permutation of the vertices in B is given?    • STICK fix ⋆ : new  . . . if a stick length for each vertex (and possibly permutations of A , or A and B ) is given? 

  2. Complexity of Recognition 5 for a bipartite graph G = ( A ∪ B , E ) STICK fix STICK ⋆ ⋆ ⋆ A AB

  3. Complexity of Recognition 5 for a bipartite graph G = ( A ∪ B , E ) STICK fix STICK ⋆ ⋆ ⋆ ? ? ? 1 A ? O ( | A || B | ) AB ? [De Luca et al. GD’18] 1 an O ( | A | 3 | B | 3 ) time algorithm proposed by De Luca et al. turned out to be wrong

  4. Complexity of Recognition 5 our results for a bipartite graph G = ( A ∪ B , E ) STICK fix STICK ⋆ ⋆ ⋆ ? ? ? 1 A ? O ( | A || B | ) AB ? [De Luca et al. GD’18] 1 an O ( | A | 3 | B | 3 ) time algorithm proposed by De Luca et al. turned out to be wrong

  5. Complexity of Recognition 5 our results for a bipartite graph G = ( A ∪ B , E ) STICK fix STICK ⋆ ⋆ ⋆ ? ? O ( | A || B | ) ? 1 A ? O ( | A || B | ) AB ? [De Luca et al. GD’18] 1 an O ( | A | 3 | B | 3 ) time algorithm proposed by De Luca et al. turned out to be wrong

  6. Complexity of Recognition 5 our results for a bipartite graph G = ( A ∪ B , E ) STICK fix STICK ⋆ ⋆ ⋆ ? ? O ( | A || B | ) ? 1 A ? O ( | A || B | ) O ( | E | ) AB ? [De Luca et al. GD’18] 1 an O ( | A | 3 | B | 3 ) time algorithm proposed by De Luca et al. turned out to be wrong

  7. Complexity of Recognition 5 our results for a bipartite graph G = ( A ∪ B , E ) STICK fix STICK ⋆ ⋆ ⋆ NP-complete ? ? O ( | A || B | ) ? 1 A ? O ( | A || B | ) O ( | E | ) AB ? [De Luca et al. GD’18] 1 an O ( | A | 3 | B | 3 ) time algorithm proposed by De Luca et al. turned out to be wrong

  8. Complexity of Recognition 5 our results for a bipartite graph G = ( A ∪ B , E ) STICK fix STICK ⋆ ⋆ ⋆ NP-complete ? ? O ( | A || B | ) NP-complete ? 1 A ? O ( | A || B | ) O ( | E | ) AB ? [De Luca et al. GD’18] 1 an O ( | A | 3 | B | 3 ) time algorithm proposed by De Luca et al. turned out to be wrong

  9. Complexity of Recognition 5 our results for a bipartite graph G = ( A ∪ B , E ) STICK fix STICK ⋆ ⋆ ⋆ NP-complete ? ? O ( | A || B | ) NP-complete ? 1 A ? in general: O ( | A || B | ) O ( | E | ) NP-complete AB ? [De Luca et al. GD’18] 1 an O ( | A | 3 | B | 3 ) time algorithm proposed by De Luca et al. turned out to be wrong

  10. Complexity of Recognition 5 our results for a bipartite graph G = ( A ∪ B , E ) STICK fix STICK ⋆ ⋆ ⋆ NP-complete ? ? O ( | A || B | ) NP-complete ? 1 A ? in general: O ( | A || B | ) O ( | E | ) NP-complete AB ? [De Luca et al. GD’18] w/o isolated vtc.: O (( | A | + | B | ) 2 ) 1 an O ( | A | 3 | B | 3 ) time algorithm proposed by De Luca et al. turned out to be wrong

  11. Complexity of Recognition 5 our results for a bipartite graph G = ( A ∪ B , E ) STICK fix STICK ⋆ ⋆ ⋆ NP-complete ? ? next O ( | A || B | ) NP-complete ? 1 A ? in general: O ( | A || B | ) O ( | E | ) NP-complete AB ? [De Luca et al. GD’18] w/o isolated vtc.: O (( | A | + | B | ) 2 ) 1 an O ( | A | 3 | B | 3 ) time algorithm proposed by De Luca et al. turned out to be wrong

  12. Complexity of Recognition 5 our results for a bipartite graph G = ( A ∪ B , E ) STICK fix STICK ⋆ ⋆ ⋆ NP-complete ? ? next O ( | A || B | ) NP-complete ? 1 A ? in general: O ( | A || B | ) O ( | E | ) NP-complete AB ? [De Luca et al. GD’18] w/o isolated vtc.: O (( | A | + | B | ) 2 ) afterwards 1 an O ( | A | 3 | B | 3 ) time algorithm proposed by De Luca et al. turned out to be wrong

  13. Algorithm for STICK A 6 STICK fix STICK ⋆ ⋆ ⋆ NP-complete ? O ( | A || B | ) NP-complete A in general: O ( | E | ) NP-complete AB w/o isolated vtc.: O (( | A | + | B | ) 2 )

  14. Algorithm for STICK A 7 • Sweep-line along the ordered vertical sticks in A : enter event ( i ) and exit event ( i ) for each a i ∈ A

  15. Algorithm for STICK A 7 • Sweep-line along the ordered vertical sticks in A : enter event ( i ) and exit event ( i ) for each a i ∈ A • Let p ∈ { i , i } , G i := subgraph induced by a 1 , . . . , a i and their neighbors, B p := vertices in B that intersect the sweep-line at event p

  16. Algorithm for STICK A 7 • Sweep-line along the ordered vertical sticks in A : enter event ( i ) and exit event ( i ) for each a i ∈ A • Let p ∈ { i , i } , G i := subgraph induced by a 1 , . . . , a i and their neighbors, B p := vertices in B that intersect the sweep-line at event p • (Rooted) tree data structure T p :

  17. Algorithm for STICK A 7 • Sweep-line along the ordered vertical sticks in A : enter event ( i ) and exit event ( i ) for each a i ∈ A • Let p ∈ { i , i } , G i := subgraph induced by a 1 , . . . , a i and their neighbors, B p := vertices in B that intersect the sweep-line at event p • (Rooted) tree data structure T p : – contains two types of nodes: leaves and non-leaves

  18. Algorithm for STICK A 7 • Sweep-line along the ordered vertical sticks in A : enter event ( i ) and exit event ( i ) for each a i ∈ A • Let p ∈ { i , i } , G i := subgraph induced by a 1 , . . . , a i and their neighbors, B p := vertices in B that intersect the sweep-line at event p • (Rooted) tree data structure T p : – contains two types of nodes: leaves and non-leaves – each leaf corresponds to a vertex in B p

  19. Algorithm for STICK A 7 • Sweep-line along the ordered vertical sticks in A : enter event ( i ) and exit event ( i ) for each a i ∈ A • Let p ∈ { i , i } , G i := subgraph induced by a 1 , . . . , a i and their neighbors, B p := vertices in B that intersect the sweep-line at event p • (Rooted) tree data structure T p : – contains two types of nodes: leaves and non-leaves – each leaf corresponds to a vertex in B p – the order of leaves is free; the order of non-leaves is fixed

  20. Algorithm for STICK A 7 • Sweep-line along the ordered vertical sticks in A : enter event ( i ) and exit event ( i ) for each a i ∈ A • Let p ∈ { i , i } , G i := subgraph induced by a 1 , . . . , a i and their neighbors, B p := vertices in B that intersect the sweep-line at event p • (Rooted) tree data structure T p : – contains two types of nodes: leaves and non-leaves – each leaf corresponds to a vertex in B p – the order of leaves is free; the order of non-leaves is fixed – encodes all realizable permutations of B p

  21. Algorithm for STICK A 7 • Sweep-line along the ordered vertical sticks in A : enter event ( i ) and exit event ( i ) for each a i ∈ A • Let p ∈ { i , i } , G i := subgraph induced by a 1 , . . . , a i and their neighbors, B p := vertices in B that intersect the sweep-line at event p • (Rooted) tree data structure T p : – contains two types of nodes: leaves and non-leaves – each leaf corresponds to a vertex in B p – the order of leaves is free; the order of non-leaves is fixed – encodes all realizable permutations of B p

  22. Algorithm for STICK A 7 • Sweep-line along the ordered vertical sticks in A : enter event ( i ) and exit event ( i ) for each a i ∈ A • Let p ∈ { i , i } , G i := subgraph induced by a 1 , . . . , a i and their neighbors, B p := vertices in B that intersect the sweep-line at event p • (Rooted) tree data structure T p : – contains two types of nodes: leaves and non-leaves – each leaf corresponds to a vertex in B p – the order of leaves is free; the order of non-leaves is fixed – encodes all realizable permutations of B p

  23. Example for STICK A 8 B 0 = ∅ i = 0 Event: Start fixed order a 1 a 2 a 3 G 0 : G: b 1 b 2 b 3 b 4 b 5 b 6 free order T 0 :

  24. Example for STICK A 8 B 1 = { b 1 , b 2 , b 4 } i = 1 Event: 1 fixed order a 1 a 2 a 3 a 1 G 1 : G: b 1 b 2 b 3 b 4 b 5 b 6 b 1 b 2 b 4 free order b 1 b 2 b 4 T 1 : a 1 b 1 b 2 b 4

  25. Example for STICK A 8 B 1 = { b 1 , b 2 , b 4 } i = 1 Event: 1 fixed order a 1 a 2 a 3 a 1 G 1 : G: b 1 b 2 b 3 b 4 b 5 b 6 b 1 b 2 b 4 free order b 1 b 2 b 4 T 1 : a 1 b 1 b 2 b 4

  26. Example for STICK A 8 B 2 = { b 1 , b 2 , b 3 , b 4 , b 5 } i = 2 Event: 2 fixed order a 1 a 2 a 3 a 1 a 2 G 2 : G: b 1 b 2 b 3 b 4 b 5 b 6 b 1 b 2 b 3 b 4 b 5 free order b 4 b 1 b 2 T 2 : b 4 a 1 b 3 b 1 b 5 b 2 a 2 b 3 b 5

  27. Example for STICK A 8 B 2 = { b 1 , b 2 , b 3 , b 4 , b 5 } i = 2 Event: 2 fixed order a 1 a 2 a 3 a 1 a 2 G 2 : G: b 1 b 2 b 3 b 4 b 5 b 6 b 1 b 2 b 3 b 4 b 5 free order b 4 b 1 b 2 T 2 : b 4 a 1 b 3 b 1 b 5 b 2 a 2 b 3 b 5

  28. Example for STICK A 8 B 3 = { b 2 , b 4 , b 5 , b 6 } i = 3 Event: 3 fixed order a 1 a 2 a 3 a 1 a 2 a 3 G 3 : G: b 1 b 2 b 3 b 4 b 5 b 6 b 1 b 2 b 3 b 4 b 5 b 6 free order b 4 b 4 b 1 b 2 T 3 : b 2 a 1 b 3 b 5 b 5 a 2 b 6 b 6 a 3

  29. Example for STICK A 8 B 3 = { b 2 , b 4 , b 5 , b 6 } i = 3 Event: 3 fixed order a 1 a 2 a 3 a 1 a 2 a 3 G 3 : G: b 1 b 2 b 3 b 4 b 5 b 6 b 1 b 2 b 3 b 4 b 5 b 6 free order b 4 b 4 b 1 b 2 T 3 : b 2 a 1 b 3 b 5 b 5 a 2 b 6 b 6 a 3

  30. Example for STICK A 8 i = 3 Event: End fixed order a 1 a 2 a 3 G: b 1 b 2 b 3 b 4 b 5 b 6 free order b 4 b 1 b 2 a 1 b 3 b 5 a 2 b 6 a 3

  31. Example for STICK A 8 i = 3 Event: End fixed order a 1 a 2 a 3 Runtime in O ( | A | · | B | ) G: b 1 b 2 b 3 b 4 b 5 b 6 free order b 4 b 1 b 2 a 1 b 3 b 5 a 2 b 6 a 3

  32. STICK fix AB with isolated vertices 9 STICK fix STICK ⋆ ⋆ ⋆ NP-complete ? O ( | A || B | ) NP-complete A in general: O ( | E | ) NP-complete AB w/o isolated vtc.: O (( | A | + | B | ) 2 )

  33. Hardness of STICK fix 10 AB • NP-hardness by reduction from MONOTONE-3-SAT

  34. Hardness of STICK fix 10 AB • NP-hardness by reduction from MONOTONE-3-SAT • Variable gadget: false

  35. Hardness of STICK fix 10 AB • NP-hardness by reduction from MONOTONE-3-SAT • Variable gadget: true

  36. Hardness of STICK fix 10 AB • NP-hardness by reduction from MONOTONE-3-SAT . . . • Variable gadget: true a l l c l a u s e g a d g e t s

  37. Hardness of STICK fix 10 AB • NP-hardness by reduction from MONOTONE-3-SAT . . . • Variable gadget: true a l l c l a u s e g a d g e t s

  38. Hardness of STICK fix 10 AB • NP-hardness by reduction from MONOTONE-3-SAT • Variable gadget: false . . . a l l c l a u s e g a d g e t s

  39. Hardness of STICK fix 10 AB • NP-hardness by reduction from MONOTONE-3-SAT • Variable gadget: false . . . a l l c l a u • Clause gadget: s e g a d g e t s

  40. Hardness of STICK fix 10 AB • NP-hardness by reduction from MONOTONE-3-SAT • Variable gadget: false . . . a l l c l a u • Clause gadget: s e g a d g e t s

  41. Hardness of STICK fix 10 AB • NP-hardness by reduction from MONOTONE-3-SAT • Variable gadget: false . . . a l l c l a u • Clause gadget: s e g a d g ≈ 1 e t s ≈ 4

  42. Hardness of STICK fix 10 AB • NP-hardness by reduction from MONOTONE-3-SAT • Variable gadget: false . . . a l l c l a u • Clause gadget: s e g a d g x 1 = false e t s

  43. Hardness of STICK fix 10 AB • NP-hardness by reduction from MONOTONE-3-SAT • Variable gadget: false . . . a l l c l a u • Clause gadget: s e g a d g x 1 = true e t s

  44. Hardness of STICK fix 10 AB • NP-hardness by reduction from MONOTONE-3-SAT • Variable gadget: false . . . a l l c l a u • Clause gadget: s e g a d g x 1 = true e t s x 2 = true

  45. Hardness of STICK fix 10 AB • NP-hardness by reduction from MONOTONE-3-SAT • Variable gadget: false . . . a l l c l a u • Clause gadget: s e g a d g x 1 = true e t s x 2 = true x 3 = true

  46. Hardness of STICK fix 10 AB • NP-hardness by reduction from MONOTONE-3-SAT • Variable gadget: false . . . a l l c l a u • Clause gadget: s e g a d g x 1 = true e t s x 2 = true x 3 = true empty

  47. Hardness of STICK fix 10 AB • NP-hardness by reduction from MONOTONE-3-SAT • Variable gadget: false . . . a l l c l a u • Clause gadget: s e g a d g x 1 = true e t s x 2 = true x 3 = true empty

  48. Hardness of STICK fix 10 AB • NP-hardness by reduction from MONOTONE-3-SAT • Variable gadget: false . . . a l l c l a u • Clause gadget: s e g a d g x 1 = true e t s x 2 = true x 3 = true ≈ 2 empty

  49. Hardness of STICK fix 10 AB • NP-hardness by reduction from MONOTONE-3-SAT • Variable gadget: false . . . a l l c l a u • Clause gadget: s e g a d g x 1 = true e t s x 2 = true x 3 = false empty

  50. Hardness of STICK fix 10 AB • NP-hardness by reduction from MONOTONE-3-SAT • Variable gadget: false . . . a l l c l a u • Clause gadget: s e g a d g x 1 = true e t s x 2 = false x 3 = true empty

  51. Hardness of STICK fix 10 AB • NP-hardness by reduction from MONOTONE-3-SAT • Variable gadget: false . . . a l l c l a u • Clause gadget: s e g a d g x 1 = true e t s x 2 = false x 3 = false empty

  52. Hardness of STICK fix 10 AB • NP-hardness by reduction from MONOTONE-3-SAT • Variable gadget: false . . . a l l c l a u • Clause gadget: s e g a d g x 1 = false e t s x 2 = true x 3 = true empty

  53. Hardness of STICK fix 10 AB • NP-hardness by reduction from MONOTONE-3-SAT • Variable gadget: false . . . a l l c l a u • Clause gadget: s e g a d g x 1 = false e t s x 2 = true x 3 = false empty

  54. Hardness of STICK fix 10 AB • NP-hardness by reduction from MONOTONE-3-SAT • Variable gadget: false . . . a l l c l a u • Clause gadget: s e g a d g x 1 = false e t s x 2 = false x 3 = true empty

  55. Hardness of STICK fix 10 AB • NP-hardness by reduction from MONOTONE-3-SAT • Variable gadget: false . . . a l l c l a u • Clause gadget: s e g a d g x 1 = false e t s x 2 = false x 3 = false empty

  56. Example 11 MONOTONE-3-SAT formula: ( x 1 ∨ x 2 ∨ x 3 ) ∧ ( x 2 ∨ x 3 ∨ x 4 ) ∧ ( ¬ x 1 ∨ ¬ x 2 ∨ ¬ x 4 )

  57. Example 11         v a r i  a   b   l  e   g  a d g e t s MONOTONE-3-SAT formula: ( x 1 ∨ x 2 ∨ x 3 ) ∧ ( x 2 ∨ x 3 ∨ x 4 ) ∧ ( ¬ x 1 ∨ ¬ x 2 ∨ ¬ x 4 )

  58. Example 11 x 4      x 3    v a r i ¬ x 2  a   b   l  e   x 1 g  a d g e t s MONOTONE-3-SAT formula: ( x 1 ∨ x 2 ∨ x 3 ) ∧ ( x 2 ∨ x 3 ∨ x 4 ) ∧ ( ¬ x 1 ∨ ¬ x 2 ∨ ¬ x 4 )

  59. Example 11 x 4      x 3    v a r i ¬ x 2  a   b   l  e   x 1 g  a d g   e   t   s                             c l a u   s   e    g   a   d   g   e   t   s             MONOTONE-3-SAT formula:     ( x 1 ∨ x 2 ∨ x 3 ) ∧ ( x 2 ∨ x 3 ∨ x 4 ) ∧ ( ¬ x 1 ∨ ¬ x 2 ∨ ¬ x 4 )

  60. Example 11 x 4      x 3    v a r i ¬ x 2  a   b   l  e   x 1 g  a d g   e  x  t   s 1 ∨     x    2 ∨     x    3               c l a u   s   e    g   a   d   g   e   t   s             MONOTONE-3-SAT formula:     ( x 1 ∨ x 2 ∨ x 3 ) ∧ ( x 2 ∨ x 3 ∨ x 4 ) ∧ ( ¬ x 1 ∨ ¬ x 2 ∨ ¬ x 4 )

  61. Example 11 x 4      x 3    v a r i ¬ x 2  a   b   l  e   x 1 g  a d g   e  x  t   s 1 ∨     x    2 ∨     x    3          x    2 ∨   c l x a u 3 ∨   s   e  x   g  4  a   d   g   e   t   s             MONOTONE-3-SAT formula:     ( x 1 ∨ x 2 ∨ x 3 ) ∧ ( x 2 ∨ x 3 ∨ x 4 ) ∧ ( ¬ x 1 ∨ ¬ x 2 ∨ ¬ x 4 )

  62. Example 11 x 4      x 3    v a r i ¬ x 2  a   b   l  e   x 1 g  a d g   e  x  t   s 1 ∨     x    2 ∨     x    3          x    2 ∨   c l x a u 3 ∨   s   e  x   g  4  a   d   ¬ x 1 ∨ ¬ x 2 ∨ ¬ x 4 g   e   t   s             MONOTONE-3-SAT formula:     ( x 1 ∨ x 2 ∨ x 3 ) ∧ ( x 2 ∨ x 3 ∨ x 4 ) ∧ ( ¬ x 1 ∨ ¬ x 2 ∨ ¬ x 4 )

  63. Example 11 x 4      ¬ x 3    v a r i ¬ x 2  a   b   l  e   x 1 g  a d g   e  x  t   s 1 ∨     x    2 ∨     x    3          x    2 ∨   c l x a u 3 ∨   s   e  x   g  4  a   d   ¬ x 1 ∨ ¬ x 2 ∨ ¬ x 4 g   e   t   s             MONOTONE-3-SAT formula:     ( x 1 ∨ x 2 ∨ x 3 ) ∧ ( x 2 ∨ x 3 ∨ x 4 ) ∧ ( ¬ x 1 ∨ ¬ x 2 ∨ ¬ x 4 )

  64. Example 11 ¬ x 4      ¬ x 3    v a r i ¬ x 2  a   b   l  e   x 1 g  a d g   e  x  t   s 1 ∨     x    2 ∨     x    3          x    2 ∨   c l x a u 3 ∨   s   e  x   g  4  a   d   ¬ x 1 ∨ ¬ x 2 ∨ ¬ x 4 g   e   t   s             MONOTONE-3-SAT formula:     ( x 1 ∨ x 2 ∨ x 3 ) ∧ ( x 2 ∨ x 3 ∨ x 4 ) ∧ ( ¬ x 1 ∨ ¬ x 2 ∨ ¬ x 4 )

  65. STICK fix AB without isolated vertices 12 STICK fix STICK ⋆ ⋆ ⋆ NP-complete ? O ( | A || B | ) NP-complete A in general: O ( | E | ) NP-complete AB w/o isolated vtc.: O (( | A | + | B | ) 2 )

  66. Uniqueness Lemma 13 Lemma:

  67. Uniqueness Lemma 13 Lemma: In all stick representations of an instance of STICK AB , the order of vertices on the ground line is the same after removing all isolated vertices. This order can be found in time O ( | E | ).

  68. Uniqueness Lemma 13 Lemma: In all stick representations of an instance of STICK AB , the order of vertices on the ground line is the same after removing all isolated vertices. This order can be found in time O ( | E | ). Proof (Sketch):

  69. Uniqueness Lemma 13 Lemma: In all stick representations of an instance of STICK AB , the order of vertices on the ground line is the same after removing all isolated vertices. This order can be found in time O ( | E | ). Proof (Sketch): • Assume: stick representations Γ 1 , Γ 2 have different order

  70. Uniqueness Lemma 13 Lemma: In all stick representations of an instance of STICK AB , the order of vertices on the ground line is the same after removing all isolated vertices. This order can be found in time O ( | E | ). Proof (Sketch): • Assume: stick representations Γ 1 , Γ 2 have different order Γ 1 Γ 2

  71. Uniqueness Lemma 13 Lemma: In all stick representations of an instance of STICK AB , the order of vertices on the ground line is the same after removing all isolated vertices. This order can be found in time O ( | E | ). Proof (Sketch): • Assume: stick representations Γ 1 , Γ 2 have different order • W.l.o.g. a < b in Γ 1 and b < a in Γ 2 ⇒ ab / ∈ E Γ 1 Γ 2

Recommend


More recommend