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?
Complexity of Recognition 5 for a bipartite graph G = ( A ∪ B , E ) STICK fix STICK ⋆ ⋆ ⋆ A AB
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
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
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
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
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
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
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
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
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
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
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 )
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
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
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 :
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
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
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
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
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
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
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 :
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
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
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
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
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
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
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
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
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 )
Hardness of STICK fix 10 AB • NP-hardness by reduction from MONOTONE-3-SAT
Hardness of STICK fix 10 AB • NP-hardness by reduction from MONOTONE-3-SAT • Variable gadget: false
Hardness of STICK fix 10 AB • NP-hardness by reduction from MONOTONE-3-SAT • Variable gadget: true
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Example 11 MONOTONE-3-SAT formula: ( x 1 ∨ x 2 ∨ x 3 ) ∧ ( x 2 ∨ x 3 ∨ x 4 ) ∧ ( ¬ x 1 ∨ ¬ x 2 ∨ ¬ x 4 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
Uniqueness Lemma 13 Lemma:
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 | ).
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):
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
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
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