SLIDE 1 Stable sets in graphs with no two disjoint
Michele Conforti
. Tony Huyhn Stefan Weltge
23rd Aussois Combinatorial Optimization Workshop, 8th Jan. 2019
SLIDE 2 Puzzle: G graph, M = M(G) vertex-edge incidence matrix of G
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
What is the maximum sub-determinant of M?
SLIDE 3 Puzzle: G graph, M = M(G) vertex-edge incidence matrix of G
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
What is the maximum sub-determinant of M?
SLIDE 4 Puzzle: G graph, M = M(G) vertex-edge incidence matrix of G
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
What is the maximum sub-determinant of M?
SLIDE 5 Puzzle: G graph, M = M(G) vertex-edge incidence matrix of G
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
What is the maximum sub-determinant of M? Answer: ∆ = 2 · 2
SLIDE 6
Lemma (Folklore) If G is a graph and ∆ is the maximum sub-determinant of M(G), then ∆ = 2OCP(G) where OCP(G) is the odd cycle packing number of G
SLIDE 7 Lemma (Folklore) If G is a graph and ∆ is the maximum sub-determinant of M(G), then ∆ = 2OCP(G) where OCP(G) is the odd cycle packing number of G = ⇒ OCP(G) should be a “good” complexity measure for the IP max
cvxv s.t. Mx 1 x 0 x ∈ ZV (G)
SLIDE 8 Lemma (Folklore) If G is a graph and ∆ is the maximum sub-determinant of M(G), then ∆ = 2OCP(G) where OCP(G) is the odd cycle packing number of G = ⇒ OCP(G) should be a “good” complexity measure for the IP max
cvxv s.t. Mx 1 x 0 x ∈ ZV (G) which is a generic instance of the maximum weight stable set problem
SLIDE 9
What can we expect?
(Widely open) Conjecture For every fixed k ∈ Z0, the maximum weight stable set problem can be solved in polynomial time on graphs G with OCP(G) k
SLIDE 10
What can we expect?
(Widely open) Conjecture For every fixed k ∈ Z0, the maximum weight stable set problem can be solved in polynomial time on graphs G with OCP(G) k Would follow from: (Even more crazy) Conjecture For every fixed K ∈ Z1, IPs with maximum sub-determinant ∆ K can be solved in polynomial time
SLIDE 11
What is known?
Theorem (Artmann, Weismantel, Zenklusen STOC’17) Bimodular IPs can be solved in strongly polynomial time
SLIDE 12
What is known?
Theorem (Artmann, Weismantel, Zenklusen STOC’17) Bimodular IPs can be solved in strongly polynomial time Corollary The maximum stable set problem can be solved in strongly polynomial time on graphs G with OCP(G) 1
SLIDE 13
What is known?
Theorem (Artmann, Weismantel, Zenklusen STOC’17) Bimodular IPs can be solved in strongly polynomial time Corollary The maximum stable set problem can be solved in strongly polynomial time on graphs G with OCP(G) 1 Theorem (Bock, Faenza, Moldenhauer, Vargas, Jacinto’14) For every fixed k ∈ Z0, the maximum weight stable set problem on graphs G with OCP(G) k has a PTAS
SLIDE 14
Escher wall graph:
SLIDE 15
Escher wall graph:
SLIDE 16
Escher wall graph:
SLIDE 17
Escher wall graph:
SLIDE 18
Theorem (Lov´ asz, cited in Seymour’95) Let G be an internally 4-connected graph. Then G has no two vertex-disjoint odd cycles if and only if G satisfies one of the following: (i) |G| 5, (ii) G − {x} is bipartite for some x ∈ V (G), (iii) G − {e1, e2, e3} is bipartite for some 3-cycle {e1, e2, e3} ⊆ E(G), (iv) G has an even face embedding in the projective plane
SLIDE 19 What should we do?
Efficient algorithms Min-Max relations Nice polyhedra
SLIDE 20 What should we do?
Efficient algorithms Min-Max relations Nice polyhedra
Stable set polytope: STAB(G) := conv{χS ∈ {0, 1}V (G) | S ⊆ V (G) stable set of G} = conv{x ∈ ZV (G) | Mx 1, x 0}
SLIDE 21 What should we do?
Efficient algorithms Min-Max relations Nice polyhedra
Stable set polytope: STAB(G) := conv{χS ∈ {0, 1}V (G) | S ⊆ V (G) stable set of G} = conv{x ∈ ZV (G) | Mx 1, x 0} Our goal Find a polynomial-size extended formulation of STAB(G) for all graphs G with OCP(G) = 1
SLIDE 22 Our strategy
1
Construct an extended formulation of P(G) := conv{x ∈ ZV (G) | Mx 1}
SLIDE 23 Our strategy
1
Construct an extended formulation of P(G) := conv{x ∈ ZV (G) | Mx 1}
2
Use fact that STAB(G) = P(G) ∩ [0, 1]V (G) for all graphs G
SLIDE 24 Our strategy
1
Construct an extended formulation of P(G) := conv{x ∈ ZV (G) | Mx 1}
2
Use fact that STAB(G) = P(G) ∩ [0, 1]V (G) for all graphs G
3
Work in slack space with variables y := 1 − Mx ∈ RE(G)
SLIDE 25 Our strategy
1
Construct an extended formulation of P(G) := conv{x ∈ ZV (G) | Mx 1}
2
Use fact that STAB(G) = P(G) ∩ [0, 1]V (G) for all graphs G
3
Work in slack space with variables y := 1 − Mx ∈ RE(G)
4
Focus (first) on case where G has an even-face embedding in P
SLIDE 26
The slack map
Assume: G is 2-connected and non-bipartite
it
i
SLIDE 27
The slack map
Assume: G is 2-connected and non-bipartite For x ∈ RV (G), let y := 1 − Mx ∈ RE(G)
it
i
SLIDE 28
The slack map
Assume: G is 2-connected and non-bipartite For x ∈ RV (G), let y := 1 − Mx ∈ RE(G) ⇐ ⇒ yvw = 1 − xv − xw for all edges vw ∈ E(G)
it
i
SLIDE 29
The slack map
Assume: G is 2-connected and non-bipartite For x ∈ RV (G), let y := 1 − Mx ∈ RE(G) ⇐ ⇒ yvw = 1 − xv − xw for all edges vw ∈ E(G) Slack map σ : RV (G) → RE(G) : x → y = σ(x) := 1 − Mx
it
i
SLIDE 30 The slack map
Assume: G is 2-connected and non-bipartite For x ∈ RV (G), let y := 1 − Mx ∈ RE(G) ⇐ ⇒ yvw = 1 − xv − xw for all edges vw ∈ E(G) Slack map σ : RV (G) → RE(G) : x → y = σ(x) := 1 − Mx For every even cycle C = (e1, e2, . . . , e2k), have
2k
(−1)i−1yei =
2k
(−1)i−1(1 − xvi − xvi+1) = xv2k+1 − xv1 = 0
it
i
SLIDE 31 Lemma The image σ(RV (G)) of the slack map is the linear subspace of RE(G) defined by
2k
(−1)i−1yei = 0 ∀even cycles C = (e1, e2, . . . , e2k)
SLIDE 32 If x ∈ ZV (G), for every odd cycle C = (e1, e2, . . . , e2k+1):
2k+1
yei =
2k+1
(1 − xvi − xvi+1) = |C| − 2
2k+1
xvi ≡ 1 (mod 2)
SLIDE 33 If x ∈ ZV (G), for every odd cycle C = (e1, e2, . . . , e2k+1):
2k+1
yei =
2k+1
(1 − xvi − xvi+1) = |C| − 2
2k+1
xvi ≡ 1 (mod 2) Lemma For any fixed odd cycle C0 in G, σ(ZV (G)) = σ(RV (G)) ∩ y ∈ ZV (G) |
ye is odd
SLIDE 34 Theorem (Slack representation) For any fixed odd cycle C0 in G, σ(ZV (G)∩P(G)) = σ(RV (G))∩ y ∈ ZV (G) |
ye is odd ∩RE(G)
+
SLIDE 35
Assume: G is embedded in the projective plane with all faces even
it
i
it
i
it
i
SLIDE 36
Assume: G is embedded in the projective plane with all faces even
it
i
it
i
it
i
SLIDE 37
Assume: G is embedded in the projective plane with all faces even
it
i
it
i
Fact: The dual graph G∗ has a canonical orientation
it
i
SLIDE 38
Regard slack map as map σ : RV (G) → RE(G∗)
it
i
it
i
SLIDE 39
Regard slack map as map σ : RV (G) → RE(G∗) Equations definining σ(RV (G)):
it
i
it
i
SLIDE 40
Regard slack map as map σ : RV (G) → RE(G∗) Equations definining σ(RV (G)):
it
i
it
i
= ⇒ σ(RV (G)) ⊆ {y ∈ RE(G∗) | y circulation}
SLIDE 41
Regard slack map as map σ : RV (G) → RE(G∗) Equations definining σ(RV (G)):
it
i
it
i
= ⇒ σ(RV (G)) ⊆ {y ∈ RE(G∗) | y circulation} Euler’s formula: |E(G)| − |V (G)| = |V (G∗)| − 1
SLIDE 42
Regard slack map as map σ : RV (G) → RE(G∗) Equations definining σ(RV (G)):
it
i
it
i
= ⇒ σ(RV (G)) ⊆ {y ∈ RE(G∗) | y circulation} Euler’s formula: |E(G)| − |V (G)| = |V (G∗)| − 1 = ⇒ σ(RV (G)) = {y ∈ RE(G∗) | y circulation}
SLIDE 43 Regard slack map as map σ : RV (G) → RE(G∗) Equations definining σ(RV (G)):
it
i
it
i
= ⇒ σ(RV (G)) ⊆ {y ∈ RE(G∗) | y circulation} Euler’s formula: |E(G)| − |V (G)| = |V (G∗)| − 1 = ⇒ σ(RV (G)) = {y ∈ RE(G∗) | y circulation} Lemma Let C0 be any fixed odd cycle in G. The points in σ(ZV (G) ∩ P(G)) are exactly the integer, non-negative circulations y in G∗ such that
SLIDE 44 To get an extended formulation of P(G) we use disjunctive programming (in order to guess a dual vertex) the standard “double cover” construction
:* :
: :* :
.
SLIDE 45 To get an extended formulation of P(G) we use disjunctive programming (in order to guess a dual vertex) the standard “double cover” construction
:* :
: :* :
.
SLIDE 46 To get an extended formulation of P(G) we use disjunctive programming (in order to guess a dual vertex) the standard “double cover” construction
:* :
: :* :
.
Theorem If G is a 2-connected, non-bipartite graph embedded in the projective plane P with all faces even then STAB(G) has a O(n2)-size extended formulation
SLIDE 47 Higher genus surfaces
Fact: if G is embedded on a fixed non-orientable surface S with cross-cap number k in such a way that every odd cycle is 1-sided (that is, admits a neighborhood that is a M¨
OCP(G) k
SLIDE 48 Higher genus surfaces
Fact: if G is embedded on a fixed non-orientable surface S with cross-cap number k in such a way that every odd cycle is 1-sided (that is, admits a neighborhood that is a M¨
OCP(G) k Theorem If G can be embedded in the Klein bottle K with all odd cycles 1-sided then STAB(G) has a polynomial-size extended formulation
SLIDE 49 Higher genus surfaces
Fact: if G is embedded on a fixed non-orientable surface S with cross-cap number k in such a way that every odd cycle is 1-sided (that is, admits a neighborhood that is a M¨
OCP(G) k Theorem If G can be embedded in the Klein bottle K with all odd cycles 1-sided then STAB(G) has a polynomial-size extended formulation Conjecture If G can be embedded in any fixed surface S with all odd cycles 1-sided then STAB(G) has a polynomial-size extended formulation
SLIDE 50
Thank you!