András Sebő, CNRS (G-SCOP)
Université Grenoble Alpes
Ideas from exact and approximativeclassic and recent
Combinatorial Optimization:Matchings, Edge-colorings and the TSP
Sète 11-15 juin Part A : MATCHING1. Basics
2. Edge-colorings Tashkinov (2000) for me: dec. 2017
3. AlgorithmsMethod of variables, class RPExact Matchings (Yuster, 2012 ), for me: June 2018 Edmonds’ algorithm
4. Undirected shortest pathsConservativeness, T-joins, Algorithms
5. Polyhedra, weights, Linear Programming
Exercises : series 1-5
Approximation: additive error of 1 for edge-coloring and exact matchingRandomized algorithms, LP lower bound
Part B : TSP
1. Classical s=t, General metric
2. Two-edge-connected spanning subgraphear theorems `graph TSP’ , s=t (S., Vygen) 2014Submodular functions, matroidsmatroid intersection and approx. of submod max
3. General s,t path TSPZenklusen’s 3/2 approx algorithm (April 2018)
Exercices series 6 Approximation : constant ratio
1. Basics
Matching
INPUT : G=(V,E) graph. TASK : Find a matching of maximum size
G=(V,E) graph.matching : a set M ⊆ E of vertex-disjoint edges.perfect matching : In addition M partitions V.
Do the red edges form a maximum matching ?
G graph, M matching in G.M is a maximum matching in G iff there is no augmenting path
augmenting path with respect to matching M : path alternatingbetween M and E \ M with the 2 endpoints uncovered by M.
Augmenting Paths
Proposition (Berge) :
Matching polytope: = conv ( χM : M matching )
χM (e) = �1 𝑖𝑖𝑖𝑖 𝑒𝑒∈𝑀𝑀0 𝑖𝑖𝑖𝑖 𝑒𝑒 ∉𝑀𝑀
Perfect matching polytope: = conv ( χM : M perfect matching )
Interpretation with random sampling
x = ∑𝑀𝑀∈M λ𝑀𝑀χM, (λM≥ 0,∑ M∈MλM= 1), M a set of p.m.
M can be viewed as a p.m. valued random variable
Pr (M = M) = λ𝑀𝑀Then for e∈E: Pr (e∈M ) = x(e)
E[M] = x
Particular distributions (max entropy, or comb. restrictions)
Our use is notational, mainly: E[F + J] = E[F] + E[J]
matching : M set of vertex-disjoint edges
Max |M| : υ
vertex cover : T set of vertices so that G-T has no edges
Min |T| : τ
υ τ≤
Matching and vertex cover
If for some v ∈ V : ν(G – v) = ν (G) – 1 , by induction :
ν (G) = ν(G – v) +1 = τ(G – v) + 1 ≥ τ (G) .
If uv ∈ E then either u or v satisfy this condition !
Q.E.D.
Theorem (Kőnig) : If G=(V,E) is bipartite, then υ(G)= τ(G)
Min max
Proof: ≤ is the proven ‘easy part’; ≥ is to be proved:
Exercise 1.1
Exercise 1.2
2. Edge-coloring
Def : G=(V,E). edge-coloring : each color is a matching
Edge-chromatic number = chromatic index = χ’ :=min n. of colors
Theorem (Kőnig) : If G=(V,E) is bipartite, then χ’(G)= ∆(G)
Proof: Now ≥ is now the ‘easy part’; ≤ is to be proved:
Exercise 2.1
Exercise 2.2
Bipartite edge-coloring
u
If uv ∈ E is not yet colored then u , v both miss some color !
If it is the same color or can be recolored so : DONE
If not, they are joined by an even path:
Q.E.D.
v
Tashkinov tree 1
u
v
u
u u
Exercise 2.3
uv
BFS tree F from {u,v,uv} usingonly edges whose color has already been missed before
a. There is a common missing color in u and N(u) on F ⇒ uv can be colored
v
v v
Tashkinov tree 2
u
v
b. There are two neighbors of u in F missing the same color⇒ uv can be colored
→
swap a red-green component
Reduced to Case a.
u
v
Vizing’s theorem
Theorem: If G=(V,E) is simple, then χ(G) ≤ ∆(G) +1
Proof: Color as much as you can with ∆(G) +1 colors.Then : every vertex has always a missing color !
u
vExercise 2.3
either a. or b. : a. There is a common missing color in u and N(u) on Fb. There are two neighbors of u in F missing the same color
either ⇒ uv can be colored…
Exercise 2.4
Tashkinov’s theorem
Theorem: If such a BFS tree has two vertices missingthe same color, then all colored edges +edge uv can be colored .
Generalizing the above proof :
Corollaries: Better and better edge-coloring
3. AlgorithmsMethod of variables, class RP
Exact MatchingsEdmonds’algorithm
The method of variables (Tutte, Lovász, Geelen,…)
Proposition : det(M) is a nonzero polynomial ∃ perfect matching
G = (A, B, E) bipartite, |A|=|B|. M := (xij if ij ∈ E, else 0 )n×n :
Proof : All terms of M are different, so there is no cancellation.
n! Terms, but determinants can be computed in polynomial time : randomized algorithm: substitute values and then compute !
Questions : If then the det is nonzero can we conclude ?If it is zero ? What to do for nonbipartite graphs ?
The method of variablesThe probability of error, precisely
Proof: For n=1 obvious. Let p∈Q[x1,…, xn-1] the coefficient of the highest power µ of xn , and let π be the degree of p.
Pr (q(X1,…, Xn)=0)≤ Pr (p(X1,…, Xn-1)=0) + Pr (q(X1,…, Xn)=0 |p(X1,…, Xn-1) ≠0)
≤ π /s + µ /s ≤ d/s
Lemma: (Schwartz, Zippel) Let q be a nonzero polynomial of n variables x1,…, xn, and let it be of degree d ; S ⊆ IN is finite, s:=|S|. Moreover, let X1,…, Xn be random variables taken independently and uniformly from S.
Then Pr (q(X1,…, Xn)=0) ≤ d/s .
The method of variablesA Randomized Algorithm
Oracle Algorithm :
An oracle tells the substitution values of a polynomial in pol(deg) time.
1. Let S = {1,…,2n}.
2. Make independent uniform choices in S for each variable.
3. Compute the polynomial (oracle call) for the chosen values. If ≠ 0 : the polynomial is nonzero (∃ perfect matching)If =0 ? We decide: no perfect matching: Pr (error) ≤ ½
Why not bigger S ? Better to choose |S| = const x deg and repeat !
Proposition : After O( log 1/ε ) repetitions Pr (error ) ≤ ε
The complexity class P ⊆ RP ⊆ NP
Imagine : x= a graph, y the certificate (eg a substitution with ≠0 polynomial value )
The same def as NP but there are many certificates : constant proportion
Randomized algorithms for matching generalizations
RP thought of ≅ PG = (A, B, E) bipartite, n= |A|=|B|. M := (xij if ij ∈ E, else 0 )n×n
G = (V, E), n= |V| skew symm M := (xij= -xji if ij ∈ E, else 0 )n×n
Path matchings (Cunningham, Geelen)
Exact matching: Given R⊆E, k∈IN, a max matching M, |M∩R|=k.∃ Exact matching ⇔ multiplying xij for ij ∈R by y in the Tutte matrix,the coeff of yk is not the 0 pol: ∀substitution this pol can be evaluated with n+1 x n+1 lin equ; ∈ RP (Lovász 1979) and not known to be in P !
`Tutte matrix’ : square of the `Pfaffian’. Good for testing !
Approximation for exact matchings
Theorem : (Yuster 2012) G=(V,E) graph, R⊆ E , k ∈ IN, thenExactly one of the following possibilities holds :
(i) Each maximum matching of G meets R in < k edges.(ii) Each maximum matching of G meets R in > k edges.(iii) There exists a matching of size at least υ(G) – 1
that meets R in = k edges
Remark: (i), (ii) certified, checked in polytime (weighted match.)
Proof: If neither (i) nor (ii) holds,Then M1 : R-min max matching
M2 : R-max max matching Additive error of 1
How to have 3 red ?
Tutte-Berge theorem
Exercise 1.4
Hint : Observe that the new vertex is unconvered by a (actually two) maximum matching of the contractedgraph. Can it be in X ? See Exercise 1.5.
Theorem : Let G=(V,E) be a graph. Then the minimum, over allmatchings M of the number of uncovered vertices of V =
max { q(X) - |X| : X ⊆ V }
Def : q(X) is the n. of comps of G-X having an odd number of vertices
Proof : ≥ : easy.
Q.E.D.
We can adapt the proof of Kőnig’s theorem:- If ν (G – v) = ν (G) – 1 , induction is easy. ≤ :
- If ν (G – u) = ν (G - v) = ν (G), apply Exercises 1.1, 1.3, 1.5 extended.
Edmonds’ algorithm
1. Grow an (inclusionwise max) alternating forest F rooted in uncovered vertices
2. If two even vertices are adjacenta.) between 2 different components : augmentb.) in the same component :
Adapt Exercise 1.3 to this case. Heureka you shrink ! (Edmonds)
In both cases GOTO 1 (possibly using the actual forest).
3. If there is no edge between the even vertices STOPX:= odd vertices
root
even odd
Theorem : X is a Tutte-set and F is a maximum matching
Unweighted : - Algorithms for bipartite graphs: paths in digraphs;- Method of variables- Edmonds’ algorithm; - Structural algorithms (for matchings by Lovász, S.:T-joins, b-match)
Weighted : Mainly two possibilities- Primal-Dual framework with max cardinality subroutine - Ellipsoid method
Summary of algorithms for matchings