Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 ·...

187
Combinatorial Optimization and Graph Theory ORCO Matchings in general graphs Zolt´ an Szigeti Ensimag Grenoble INP Z. Szigeti (Ensimag) OCG-ORCO 1 / 36

Transcript of Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 ·...

Page 1: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Combinatorial Optimization and Graph TheoryORCO

Matchings in general graphs

Zoltan Szigeti

EnsimagGrenoble INP

Z. Szigeti (Ensimag) OCG-ORCO 1 / 36

Page 2: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Matchings in general graphs

Planning

1 Theorems of existence and min-max,

2 Algorithms to find a perfect matching / maximum cardinalitymatching,

3 Structure theorem.

Z. Szigeti (Ensimag) OCG-ORCO 1 / 36

Page 3: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Matchings in general graphs

Planning

1 Theorems of existence and min-max,

2 Algorithms to find a perfect matching / maximum cardinalitymatching,

3 Structure theorem.

Application : Assignment of pilots

The manager of an airline wants to fly as many planes as possible atthe same time.

Two pilots must be assigned to each plane.

Unfortunately, some pilots can not fly together.

The manager knows all the pilotes, he knows hence wether two pilotsare compatible or not.

How would you model this problem?

Z. Szigeti (Ensimag) OCG-ORCO 1 / 36

Page 4: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Examples

Graphs with perfect matching

Z. Szigeti (Ensimag) OCG-ORCO 2 / 36

Page 5: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Examples

Graphs with perfect matching

Graphs without perfect matching

Z. Szigeti (Ensimag) OCG-ORCO 2 / 36

Page 6: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Definitions

Definitions1 Graph odd/even : |V (G )| is odd/even.

X

K1

x1

Kℓ

xℓ

}

odd

even

components

components

Z. Szigeti (Ensimag) OCG-ORCO 3 / 36

Page 7: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Definitions

Definitions1 Graph odd/even : |V (G )| is odd/even.

2 co(G − X ) : number of odd connected components of G − X .

X

K1

x1

Kℓ

xℓ

}

odd

even

components

components

Z. Szigeti (Ensimag) OCG-ORCO 3 / 36

Page 8: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Definitions

Definitions1 Graph odd/even : |V (G )| is odd/even.

2 co(G − X ) : number of odd connected components of G − X .

3 barrier : X ⊆ V (G ) such that co(G − X ) = |X |.

X

K1

x1

Kℓ

xℓ

}

odd

even

components

components

Z. Szigeti (Ensimag) OCG-ORCO 3 / 36

Page 9: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Parity

Lemma: G = (V ,E ) graph, X ⊆ V .

1 |V | ≡ co(G − X ) + |X | (2).

2 If |V | is even, then co(G − X ) ≡ |X | (2).

Z. Szigeti (Ensimag) OCG-ORCO 4 / 36

Page 10: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Parity

Lemma: G = (V ,E ) graph, X ⊆ V .

1 |V | ≡ co(G − X ) + |X | (2).

2 If |V | is even, then co(G − X ) ≡ |X | (2).

Proof

{X ,V1,V2, ...,Vk the connected components of G − X} = partition of V .

X

V1 Vℓ

Vk

}

odd

even

components

components

Z. Szigeti (Ensimag) OCG-ORCO 4 / 36

Page 11: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Parity

Lemma: G = (V ,E ) graph, X ⊆ V .

1 |V | ≡ co(G − X ) + |X | (2).

2 If |V | is even, then co(G − X ) ≡ |X | (2).

Proof

{X ,V1,V2, ...,Vk the connected components of G − X} = partition of V .

|V | = |X |+k∑

1

|Vi |

X

V1 Vℓ

Vk

}

odd

even

components

components

Z. Szigeti (Ensimag) OCG-ORCO 4 / 36

Page 12: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Parity

Lemma: G = (V ,E ) graph, X ⊆ V .

1 |V | ≡ co(G − X ) + |X | (2).

2 If |V | is even, then co(G − X ) ≡ |X | (2).

Proof

{X ,V1,V2, ...,Vk the connected components of G − X} = partition of V .

|V | = |X |+k∑

1

|Vi |

= |X |+∑

|Vi | odd

|Vi |+∑

|Vi | even

|Vi |

X

V1 Vℓ

Vk

}

odd

even

components

components

Z. Szigeti (Ensimag) OCG-ORCO 4 / 36

Page 13: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Parity

Lemma: G = (V ,E ) graph, X ⊆ V .

1 |V | ≡ co(G − X ) + |X | (2).

2 If |V | is even, then co(G − X ) ≡ |X | (2).

Proof

{X ,V1,V2, ...,Vk the connected components of G − X} = partition of V .

|V | = |X |+k∑

1

|Vi |

= |X |+∑

|Vi | odd

|Vi |+∑

|Vi | even

|Vi |

≡ |X |+∑

|Vi | odd

1 +∑

|Vi | even

0

X

V1 Vℓ

Vk

}

odd

even

components

components

Z. Szigeti (Ensimag) OCG-ORCO 4 / 36

Page 14: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Parity

Lemma: G = (V ,E ) graph, X ⊆ V .

1 |V | ≡ co(G − X ) + |X | (2).

2 If |V | is even, then co(G − X ) ≡ |X | (2).

Proof

{X ,V1,V2, ...,Vk the connected components of G − X} = partition of V .

|V | = |X |+k∑

1

|Vi |

= |X |+∑

|Vi | odd

|Vi |+∑

|Vi | even

|Vi |

≡ |X |+∑

|Vi | odd

1 +∑

|Vi | even

0

= |X |+ co(G − X ) (2).X

V1 Vℓ

Vk

}

odd

even

components

components

Z. Szigeti (Ensimag) OCG-ORCO 4 / 36

Page 15: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Necessary condition to have a perfect matching

Lemma

If G has a perfect matching M, then ∀X ⊆ V (G ), co(G − X ) ≤ |X |.

X

K1

x1

Kℓ

xℓ

}

odd

even

components

components

Z. Szigeti (Ensimag) OCG-ORCO 5 / 36

Page 16: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Necessary condition to have a perfect matching

Lemma

If G has a perfect matching M, then ∀X ⊆ V (G ), co(G − X ) ≤ |X |.

Proof

X

K1

x1

Kℓ

xℓ

}

odd

even

components

components

Z. Szigeti (Ensimag) OCG-ORCO 5 / 36

Page 17: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Necessary condition to have a perfect matching

Lemma

If G has a perfect matching M, then ∀X ⊆ V (G ), co(G − X ) ≤ |X |.

Proof1 Let K1, ...,Kℓ be the odd connected components of G − X .

X

K1

x1

Kℓ

xℓ

}

odd

even

components

components

Z. Szigeti (Ensimag) OCG-ORCO 5 / 36

Page 18: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Necessary condition to have a perfect matching

Lemma

If G has a perfect matching M, then ∀X ⊆ V (G ), co(G − X ) ≤ |X |.

Proof1 Let K1, ...,Kℓ be the odd connected components of G − X .

2 M is a perfect matching and |V (Ki )| is odd, there exists thus an edgeof M who connects Ki to a vertex xi in X .

X

K1

x1

Kℓ

xℓ

}

odd

even

components

components

Z. Szigeti (Ensimag) OCG-ORCO 5 / 36

Page 19: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Necessary condition to have a perfect matching

Lemma

If G has a perfect matching M, then ∀X ⊆ V (G ), co(G − X ) ≤ |X |.

Proof1 Let K1, ...,Kℓ be the odd connected components of G − X .

2 M is a perfect matching and |V (Ki )| is odd, there exists thus an edgeof M who connects Ki to a vertex xi in X .

3 Since M is a matching, xi 6= xj if i 6= j .

X

K1

x1

Kℓ

xℓ

}

odd

even

components

components

Z. Szigeti (Ensimag) OCG-ORCO 5 / 36

Page 20: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Necessary condition to have a perfect matching

Lemma

If G has a perfect matching M, then ∀X ⊆ V (G ), co(G − X ) ≤ |X |.

Proof1 Let K1, ...,Kℓ be the odd connected components of G − X .

2 M is a perfect matching and |V (Ki )| is odd, there exists thus an edgeof M who connects Ki to a vertex xi in X .

3 Since M is a matching, xi 6= xj if i 6= j .

4 co(G − X ) = ℓ = |{x1, ..., xℓ}| ≤ |X |.

X

K1

x1

Kℓ

xℓ

}

odd

even

components

components

Z. Szigeti (Ensimag) OCG-ORCO 5 / 36

Page 21: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Characterization of the existence of a perfect matching

Theorem of Tutte

G has a perfect matching ⇐⇒ co(G − X ) ≤ |X | ∀X ⊆ V (G ) (T ).

Z. Szigeti (Ensimag) OCG-ORCO 6 / 36

Page 22: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Characterization of the existence of a perfect matching

Theorem of Tutte

G has a perfect matching ⇐⇒ co(G − X ) ≤ |X | ∀X ⊆ V (G ) (T ).

Proof

Let G be a connected graph that satisfies (T) and X a maximal barrier.

Z. Szigeti (Ensimag) OCG-ORCO 6 / 36

Page 23: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Characterization of the existence of a perfect matching

Theorem of Tutte

G has a perfect matching ⇐⇒ co(G − X ) ≤ |X | ∀X ⊆ V (G ) (T ).

Proof

Let G be a connected graph that satisfies (T) and X a maximal barrier.

1 |V (G )| is even.

Z. Szigeti (Ensimag) OCG-ORCO 6 / 36

Page 24: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Characterization of the existence of a perfect matching

Theorem of Tutte

G has a perfect matching ⇐⇒ co(G − X ) ≤ |X | ∀X ⊆ V (G ) (T ).

Proof

Let G be a connected graph that satisfies (T) and X a maximal barrier.

1 |V (G )| is even.

2 X 6= ∅.

Z. Szigeti (Ensimag) OCG-ORCO 6 / 36

Page 25: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Characterization of the existence of a perfect matching

Theorem of Tutte

G has a perfect matching ⇐⇒ co(G − X ) ≤ |X | ∀X ⊆ V (G ) (T ).

Proof

Let G be a connected graph that satisfies (T) and X a maximal barrier.

1 |V (G )| is even.

2 X 6= ∅.

3 G − X has no even connected component.

Z. Szigeti (Ensimag) OCG-ORCO 6 / 36

Page 26: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Characterization of the existence of a perfect matching

Theorem of Tutte

G has a perfect matching ⇐⇒ co(G − X ) ≤ |X | ∀X ⊆ V (G ) (T ).

Proof

Let G be a connected graph that satisfies (T) and X a maximal barrier.

1 |V (G )| is even.

2 X 6= ∅.

3 G − X has no even connected component.

4 For each vertex v of each odd connected component K of G − X ,K − v satisfies (T).

Z. Szigeti (Ensimag) OCG-ORCO 6 / 36

Page 27: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Characterization of the existence of a perfect matching

Theorem of Tutte

G has a perfect matching ⇐⇒ co(G − X ) ≤ |X | ∀X ⊆ V (G ) (T ).

Proof

Let G be a connected graph that satisfies (T) and X a maximal barrier.

1 |V (G )| is even.

2 X 6= ∅.

3 G − X has no even connected component.

4 For each vertex v of each odd connected component K of G − X ,K − v satisfies (T).

5 Let BX = (X ,Y ;F ) be the bipartite graph obtained from G bycontracting each odd connected component of G − X and by deletingall the edges in G [X ]. BX has a perfect matching.

Z. Szigeti (Ensimag) OCG-ORCO 6 / 36

Page 28: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Characterization of the existence of a perfect matching

Theorem of Tutte

G has a perfect matching ⇐⇒ co(G − X ) ≤ |X | ∀X ⊆ V (G ) (T ).

Proof

Let G be a connected graph that satisfies (T) and X a maximal barrier.

1 |V (G )| is even.

2 X 6= ∅.

3 G − X has no even connected component.

4 For each vertex v of each odd connected component K of G − X ,K − v satisfies (T).

5 Let BX = (X ,Y ;F ) be the bipartite graph obtained from G bycontracting each odd connected component of G − X and by deletingall the edges in G [X ]. BX has a perfect matching.

6 These imply that G has a perfect matching.

Z. Szigeti (Ensimag) OCG-ORCO 6 / 36

Page 29: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 1.

Z. Szigeti (Ensimag) OCG-ORCO 7 / 36

Page 30: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 1.1 By (T) for the set ∅, we have 0 ≤ co(G − ∅) ≤ |∅| = 0.

Z. Szigeti (Ensimag) OCG-ORCO 7 / 36

Page 31: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 1.1 By (T) for the set ∅, we have 0 ≤ co(G − ∅) ≤ |∅| = 0.

2 Hence G has no odd connected component.

Z. Szigeti (Ensimag) OCG-ORCO 7 / 36

Page 32: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 1.1 By (T) for the set ∅, we have 0 ≤ co(G − ∅) ≤ |∅| = 0.

2 Hence G has no odd connected component.

3 Since G is connected, G has one connected component that is even.

Z. Szigeti (Ensimag) OCG-ORCO 7 / 36

Page 33: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 1.1 By (T) for the set ∅, we have 0 ≤ co(G − ∅) ≤ |∅| = 0.

2 Hence G has no odd connected component.

3 Since G is connected, G has one connected component that is even.

Proof of 2.

Z. Szigeti (Ensimag) OCG-ORCO 7 / 36

Page 34: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 1.1 By (T) for the set ∅, we have 0 ≤ co(G − ∅) ≤ |∅| = 0.

2 Hence G has no odd connected component.

3 Since G is connected, G has one connected component that is even.

Proof of 2.1 Let v be an arbitrary vertex of G .

Z. Szigeti (Ensimag) OCG-ORCO 7 / 36

Page 35: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 1.1 By (T) for the set ∅, we have 0 ≤ co(G − ∅) ≤ |∅| = 0.

2 Hence G has no odd connected component.

3 Since G is connected, G has one connected component that is even.

Proof of 2.1 Let v be an arbitrary vertex of G .

2 By (T) for {v}, we have, by parity, 1 ≤ co(G − v) ≤ |{v}| = 1.

Z. Szigeti (Ensimag) OCG-ORCO 7 / 36

Page 36: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 1.1 By (T) for the set ∅, we have 0 ≤ co(G − ∅) ≤ |∅| = 0.

2 Hence G has no odd connected component.

3 Since G is connected, G has one connected component that is even.

Proof of 2.1 Let v be an arbitrary vertex of G .

2 By (T) for {v}, we have, by parity, 1 ≤ co(G − v) ≤ |{v}| = 1.

3 v is hence a barrier.

Z. Szigeti (Ensimag) OCG-ORCO 7 / 36

Page 37: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 1.1 By (T) for the set ∅, we have 0 ≤ co(G − ∅) ≤ |∅| = 0.

2 Hence G has no odd connected component.

3 Since G is connected, G has one connected component that is even.

Proof of 2.1 Let v be an arbitrary vertex of G .

2 By (T) for {v}, we have, by parity, 1 ≤ co(G − v) ≤ |{v}| = 1.

3 v is hence a barrier.

4 Since X is a maximal barrier, X 6= ∅.

Z. Szigeti (Ensimag) OCG-ORCO 7 / 36

Page 38: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 3.

X

even

odd

components

components

K

v

X ′

Z. Szigeti (Ensimag) OCG-ORCO 8 / 36

Page 39: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 3.1 Suppose by contradiction that K is an even component of G − X .

X

even

odd

components

components

K

v

X ′

Z. Szigeti (Ensimag) OCG-ORCO 8 / 36

Page 40: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 3.1 Suppose by contradiction that K is an even component of G − X .

2 By parity, co(K − v) ≥ 1 ∀v ∈ V (K ).

X

even

odd

components

components

K

v

X ′

Z. Szigeti (Ensimag) OCG-ORCO 8 / 36

Page 41: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 3.1 Suppose by contradiction that K is an even component of G − X .

2 By parity, co(K − v) ≥ 1 ∀v ∈ V (K ).

3 By (T ) for X ′ := X ∪ {v}, we have|X ′| ≥ co(G − X ′) = co(G − X ) + co(K − v) ≥ |X |+ 1 = |X ′|,

X

even

odd

components

components

K

v

X ′

Z. Szigeti (Ensimag) OCG-ORCO 8 / 36

Page 42: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 3.1 Suppose by contradiction that K is an even component of G − X .

2 By parity, co(K − v) ≥ 1 ∀v ∈ V (K ).

3 By (T ) for X ′ := X ∪ {v}, we have|X ′| ≥ co(G − X ′) = co(G − X ) + co(K − v) ≥ |X |+ 1 = |X ′|,

4 X ′ is hence a barrier.

X

even

odd

components

components

K

v

X ′

Z. Szigeti (Ensimag) OCG-ORCO 8 / 36

Page 43: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 3.1 Suppose by contradiction that K is an even component of G − X .

2 By parity, co(K − v) ≥ 1 ∀v ∈ V (K ).

3 By (T ) for X ′ := X ∪ {v}, we have|X ′| ≥ co(G − X ′) = co(G − X ) + co(K − v) ≥ |X |+ 1 = |X ′|,

4 X ′ is hence a barrier.

5 This is a contradiction because X was a maximal barrier.

X

even

odd

components

components

K

v

X ′

Z. Szigeti (Ensimag) OCG-ORCO 8 / 36

Page 44: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 4.

X

Y

K

v

Z. Szigeti (Ensimag) OCG-ORCO 9 / 36

Page 45: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 4.1 Suppose by contradiction that for an odd component K of G − X

and a vertex v of K , H := K − v violates the condition (T), that isthere exists Y ⊂ V (H) with co(H − Y ) > |Y |.

X

Y

K

v

Z. Szigeti (Ensimag) OCG-ORCO 9 / 36

Page 46: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 4.1 Suppose by contradiction that for an odd component K of G − X

and a vertex v of K , H := K − v violates the condition (T), that isthere exists Y ⊂ V (H) with co(H − Y ) > |Y |.

2 Since |V (H)| is even, by parity, co(H − Y ) ≥ |Y |+ 2.

X

Y

K

v

Z. Szigeti (Ensimag) OCG-ORCO 9 / 36

Page 47: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 4.1 Suppose by contradiction that for an odd component K of G − X

and a vertex v of K , H := K − v violates the condition (T), that isthere exists Y ⊂ V (H) with co(H − Y ) > |Y |.

2 Since |V (H)| is even, by parity, co(H − Y ) ≥ |Y |+ 2.

3 By (T ) for X ′ := X ∪ v ∪ Y , we have |X ′| ≥ co(G − X ′) =(co(G − X )− 1) + co(H − Y ) ≥ (|X | − 1) + (|Y |+ 2) = |X ′|,

X

Y

K

v

Z. Szigeti (Ensimag) OCG-ORCO 9 / 36

Page 48: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 4.1 Suppose by contradiction that for an odd component K of G − X

and a vertex v of K , H := K − v violates the condition (T), that isthere exists Y ⊂ V (H) with co(H − Y ) > |Y |.

2 Since |V (H)| is even, by parity, co(H − Y ) ≥ |Y |+ 2.

3 By (T ) for X ′ := X ∪ v ∪ Y , we have |X ′| ≥ co(G − X ′) =(co(G − X )− 1) + co(H − Y ) ≥ (|X | − 1) + (|Y |+ 2) = |X ′|,

4 X ′ is hence a barrier.

X

Y

K

v

Z. Szigeti (Ensimag) OCG-ORCO 9 / 36

Page 49: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 4.1 Suppose by contradiction that for an odd component K of G − X

and a vertex v of K , H := K − v violates the condition (T), that isthere exists Y ⊂ V (H) with co(H − Y ) > |Y |.

2 Since |V (H)| is even, by parity, co(H − Y ) ≥ |Y |+ 2.

3 By (T ) for X ′ := X ∪ v ∪ Y , we have |X ′| ≥ co(G − X ′) =(co(G − X )− 1) + co(H − Y ) ≥ (|X | − 1) + (|Y |+ 2) = |X ′|,

4 X ′ is hence a barrier.

5 This is a contradiction because X was a maximal barrier.

X

Y

K

v

Z. Szigeti (Ensimag) OCG-ORCO 9 / 36

Page 50: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 5.

X

Z

W W

X

Y

Z. Szigeti (Ensimag) OCG-ORCO 10 / 36

Page 51: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 5.1 Since X is a barrier, we have |X | = |Y |.

X

Z

W W

X

Y

Z. Szigeti (Ensimag) OCG-ORCO 10 / 36

Page 52: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 5.1 Since X is a barrier, we have |X | = |Y |.

2 Suppose by contradiction that BX has no perfect matching. Then, byHall’s Theorem, there exists a set Z ⊆ Y such that for the setW ⊆ X of neighbors of Z , we have |Z | > |W |.

X

Z

W W

X

Y

Z. Szigeti (Ensimag) OCG-ORCO 10 / 36

Page 53: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 5.1 Since X is a barrier, we have |X | = |Y |.

2 Suppose by contradiction that BX has no perfect matching. Then, byHall’s Theorem, there exists a set Z ⊆ Y such that for the setW ⊆ X of neighbors of Z , we have |Z | > |W |.

3 Each v ∈ Z corresponds to an odd component of G − X ,

X

Z

W W

X

Y

Z. Szigeti (Ensimag) OCG-ORCO 10 / 36

Page 54: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 5.1 Since X is a barrier, we have |X | = |Y |.

2 Suppose by contradiction that BX has no perfect matching. Then, byHall’s Theorem, there exists a set Z ⊆ Y such that for the setW ⊆ X of neighbors of Z , we have |Z | > |W |.

3 Each v ∈ Z corresponds to an odd component of G − X ,

4 Since W = Γ(Z ), v corresponds to an odd component of G −W .

X

Z

W W

X

Y

Z. Szigeti (Ensimag) OCG-ORCO 10 / 36

Page 55: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 5.1 Since X is a barrier, we have |X | = |Y |.

2 Suppose by contradiction that BX has no perfect matching. Then, byHall’s Theorem, there exists a set Z ⊆ Y such that for the setW ⊆ X of neighbors of Z , we have |Z | > |W |.

3 Each v ∈ Z corresponds to an odd component of G − X ,

4 Since W = Γ(Z ), v corresponds to an odd component of G −W .

5 Thus co(G −W ) ≥ |Z | > |W |.

X

Z

W W

X

Y

Z. Szigeti (Ensimag) OCG-ORCO 10 / 36

Page 56: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 5.1 Since X is a barrier, we have |X | = |Y |.

2 Suppose by contradiction that BX has no perfect matching. Then, byHall’s Theorem, there exists a set Z ⊆ Y such that for the setW ⊆ X of neighbors of Z , we have |Z | > |W |.

3 Each v ∈ Z corresponds to an odd component of G − X ,

4 Since W = Γ(Z ), v corresponds to an odd component of G −W .

5 Thus co(G −W ) ≥ |Z | > |W |.

6 Then the condition (T) is violated, contradiction.

X

Z

W W

X

Y

Z. Szigeti (Ensimag) OCG-ORCO 10 / 36

Page 57: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 6.

M

vi

Mi

Ki

X

Z. Szigeti (Ensimag) OCG-ORCO 11 / 36

Page 58: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 6.1 Let G be a counterexample with |V (G )| minimum.

M

vi

Mi

Ki

X

Z. Szigeti (Ensimag) OCG-ORCO 11 / 36

Page 59: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 6.1 Let G be a counterexample with |V (G )| minimum.

2 Let X be a maximal barrier of G . By 2, X 6= ∅.

M

vi

Mi

Ki

X

Z. Szigeti (Ensimag) OCG-ORCO 11 / 36

Page 60: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 6.1 Let G be a counterexample with |V (G )| minimum.

2 Let X be a maximal barrier of G . By 2, X 6= ∅.

3 By 5, BX has a perfect matching M ′.

M

vi

Mi

Ki

X

Z. Szigeti (Ensimag) OCG-ORCO 11 / 36

Page 61: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 6.1 Let G be a counterexample with |V (G )| minimum.

2 Let X be a maximal barrier of G . By 2, X 6= ∅.

3 By 5, BX has a perfect matching M ′.

4 For each odd component Ki of G − X , M ′ connectsexactly one vertex vi of Ki to X .

M

vi

Mi

Ki

X

Z. Szigeti (Ensimag) OCG-ORCO 11 / 36

Page 62: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 6.1 Let G be a counterexample with |V (G )| minimum.

2 Let X be a maximal barrier of G . By 2, X 6= ∅.

3 By 5, BX has a perfect matching M ′.

4 For each odd component Ki of G − X , M ′ connectsexactly one vertex vi of Ki to X .

5 By 4, Hi := Ki − vi satisfies (T) and |V (Hi )| < |V (G)|,

Hi has hence a perfect matching Mi .

M

vi

Mi

Ki

X

Z. Szigeti (Ensimag) OCG-ORCO 11 / 36

Page 63: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 6.1 Let G be a counterexample with |V (G )| minimum.

2 Let X be a maximal barrier of G . By 2, X 6= ∅.

3 By 5, BX has a perfect matching M ′.

4 For each odd component Ki of G − X , M ′ connectsexactly one vertex vi of Ki to X .

5 By 4, Hi := Ki − vi satisfies (T) and |V (Hi )| < |V (G)|,

Hi has hence a perfect matching Mi .

6 By 3, G − X has no even component.

M

vi

Mi

Ki

X

Z. Szigeti (Ensimag) OCG-ORCO 11 / 36

Page 64: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 6.1 Let G be a counterexample with |V (G )| minimum.

2 Let X be a maximal barrier of G . By 2, X 6= ∅.

3 By 5, BX has a perfect matching M ′.

4 For each odd component Ki of G − X , M ′ connectsexactly one vertex vi of Ki to X .

5 By 4, Hi := Ki − vi satisfies (T) and |V (Hi )| < |V (G)|,

Hi has hence a perfect matching Mi .

6 By 3, G − X has no even component.

7 M := M ′ ∪⋃

KiMi is a perfect matching of G ,

M

vi

Mi

Ki

X

Z. Szigeti (Ensimag) OCG-ORCO 11 / 36

Page 65: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Proof of Theorem of Tutte

Proof of 6.1 Let G be a counterexample with |V (G )| minimum.

2 Let X be a maximal barrier of G . By 2, X 6= ∅.

3 By 5, BX has a perfect matching M ′.

4 For each odd component Ki of G − X , M ′ connectsexactly one vertex vi of Ki to X .

5 By 4, Hi := Ki − vi satisfies (T) and |V (Hi )| < |V (G)|,

Hi has hence a perfect matching Mi .

6 By 3, G − X has no even component.

7 M := M ′ ∪⋃

KiMi is a perfect matching of G ,

8 G is not hence a counterexample.

M

vi

Mi

Ki

X

Z. Szigeti (Ensimag) OCG-ORCO 11 / 36

Page 66: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Application

Theorem of Petersen

Every 2-edge-connected 3-regular graph G has a perfect matching.

Z. Szigeti (Ensimag) OCG-ORCO 12 / 36

Page 67: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Application

Theorem of Petersen

Every 2-edge-connected 3-regular graph G has a perfect matching.

Proof1 Let X be a subset of vertices of G , ℓ := co(G − X ),

Z. Szigeti (Ensimag) OCG-ORCO 12 / 36

Page 68: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Application

Theorem of Petersen

Every 2-edge-connected 3-regular graph G has a perfect matching.

Proof1 Let X be a subset of vertices of G , ℓ := co(G − X ),

2 K1, ...,Kℓ the odd components of G − X and

Z. Szigeti (Ensimag) OCG-ORCO 12 / 36

Page 69: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Application

Theorem of Petersen

Every 2-edge-connected 3-regular graph G has a perfect matching.

Proof1 Let X be a subset of vertices of G , ℓ := co(G − X ),

2 K1, ...,Kℓ the odd components of G − X and

3 E ′ the set of edges between X and⋃ℓ

1 Ki .

Z. Szigeti (Ensimag) OCG-ORCO 12 / 36

Page 70: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Application

Theorem of Petersen

Every 2-edge-connected 3-regular graph G has a perfect matching.

Proof1 Let X be a subset of vertices of G , ℓ := co(G − X ),

2 K1, ...,Kℓ the odd components of G − X and

3 E ′ the set of edges between X and⋃ℓ

1 Ki .

4 Since G is 2-edge-connected and 3-regular, d(Ki ) ≥ 2 and by parity,d(Ki) ≥ 3, so 3co(G − X ) = 3ℓ ≤

∑ℓi=1 d(Ki ) = |E ′|.

Z. Szigeti (Ensimag) OCG-ORCO 12 / 36

Page 71: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Application

Theorem of Petersen

Every 2-edge-connected 3-regular graph G has a perfect matching.

Proof1 Let X be a subset of vertices of G , ℓ := co(G − X ),

2 K1, ...,Kℓ the odd components of G − X and

3 E ′ the set of edges between X and⋃ℓ

1 Ki .

4 Since G is 2-edge-connected and 3-regular, d(Ki ) ≥ 2 and by parity,d(Ki) ≥ 3, so 3co(G − X ) = 3ℓ ≤

∑ℓi=1 d(Ki ) = |E ′|.

5 Since G is 3-regular, |E ′| ≤∑

v∈X d(v) = 3|X |.

Z. Szigeti (Ensimag) OCG-ORCO 12 / 36

Page 72: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Application

Theorem of Petersen

Every 2-edge-connected 3-regular graph G has a perfect matching.

Proof1 Let X be a subset of vertices of G , ℓ := co(G − X ),

2 K1, ...,Kℓ the odd components of G − X and

3 E ′ the set of edges between X and⋃ℓ

1 Ki .

4 Since G is 2-edge-connected and 3-regular, d(Ki ) ≥ 2 and by parity,d(Ki) ≥ 3, so 3co(G − X ) = 3ℓ ≤

∑ℓi=1 d(Ki ) = |E ′|.

5 Since G is 3-regular, |E ′| ≤∑

v∈X d(v) = 3|X |.

6 By consequence, 3co(G − X ) ≤ |E ′| ≤ 3|X |.

Z. Szigeti (Ensimag) OCG-ORCO 12 / 36

Page 73: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Application

Theorem of Petersen

Every 2-edge-connected 3-regular graph G has a perfect matching.

Proof1 Let X be a subset of vertices of G , ℓ := co(G − X ),

2 K1, ...,Kℓ the odd components of G − X and

3 E ′ the set of edges between X and⋃ℓ

1 Ki .

4 Since G is 2-edge-connected and 3-regular, d(Ki ) ≥ 2 and by parity,d(Ki) ≥ 3, so 3co(G − X ) = 3ℓ ≤

∑ℓi=1 d(Ki ) = |E ′|.

5 Since G is 3-regular, |E ′| ≤∑

v∈X d(v) = 3|X |.

6 By consequence, 3co(G − X ) ≤ |E ′| ≤ 3|X |.

7 By Tutte’s theorem, G has a perfect matching.

Z. Szigeti (Ensimag) OCG-ORCO 12 / 36

Page 74: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Maximum cardinality matching

Formula of Berge −Tutte

1 max{2|M| : M matching of G} =min{|V | − co(G − X ) + |X | : X ⊆ V (G )}.

Z. Szigeti (Ensimag) OCG-ORCO 13 / 36

Page 75: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Maximum cardinality matching

Formula of Berge −Tutte

1 max{2|M| : M matching of G} =min{|V | − co(G − X ) + |X | : X ⊆ V (G )}.

2 min{|M-unsaturated vertices| : M matching of G} =max{co(G − X )− |X | : X ⊆ V (G )}.

Z. Szigeti (Ensimag) OCG-ORCO 13 / 36

Page 76: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Maximum cardinality matching

Formula of Berge −Tutte

1 max{2|M| : M matching of G} =min{|V | − co(G − X ) + |X | : X ⊆ V (G )}.

2 min{|M-unsaturated vertices| : M matching of G} =max{co(G − X )− |X | : X ⊆ V (G )}.

Proof (min ≥ max)

Let M be a matching of G ,X ⊆ V (G ) and K1, . . . ,Kco (G−X ) the oddcomponents of G − X .

Z. Szigeti (Ensimag) OCG-ORCO 13 / 36

Page 77: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Maximum cardinality matching

Formula of Berge −Tutte

1 max{2|M| : M matching of G} =min{|V | − co(G − X ) + |X | : X ⊆ V (G )}.

2 min{|M-unsaturated vertices| : M matching of G} =max{co(G − X )− |X | : X ⊆ V (G )}.

Proof (min ≥ max)

Let M be a matching of G ,X ⊆ V (G ) and K1, . . . ,Kco (G−X ) the oddcomponents of G − X .

1 |V (Ki)| odd ⇒ each Ki contains at least one vertex vi such that1 either vi is M-unsaturated,2 or vi is connected to a vertex of X by an edge of M .

Z. Szigeti (Ensimag) OCG-ORCO 13 / 36

Page 78: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Maximum cardinality matching

Formula of Berge −Tutte

1 max{2|M| : M matching of G} =min{|V | − co(G − X ) + |X | : X ⊆ V (G )}.

2 min{|M-unsaturated vertices| : M matching of G} =max{co(G − X )− |X | : X ⊆ V (G )}.

Proof (min ≥ max)

Let M be a matching of G ,X ⊆ V (G ) and K1, . . . ,Kco (G−X ) the oddcomponents of G − X .

1 |V (Ki)| odd ⇒ each Ki contains at least one vertex vi such that1 either vi is M-unsaturated,2 or vi is connected to a vertex of X by an edge of M .

2 M matching ⇒ ≤ |X | of them are connected to X by an edge of M,

Z. Szigeti (Ensimag) OCG-ORCO 13 / 36

Page 79: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Maximum cardinality matching

Formula of Berge −Tutte

1 max{2|M| : M matching of G} =min{|V | − co(G − X ) + |X | : X ⊆ V (G )}.

2 min{|M-unsaturated vertices| : M matching of G} =max{co(G − X )− |X | : X ⊆ V (G )}.

Proof (min ≥ max)

Let M be a matching of G ,X ⊆ V (G ) and K1, . . . ,Kco (G−X ) the oddcomponents of G − X .

1 |V (Ki)| odd ⇒ each Ki contains at least one vertex vi such that1 either vi is M-unsaturated,2 or vi is connected to a vertex of X by an edge of M .

2 M matching ⇒ ≤ |X | of them are connected to X by an edge of M,

3 ≥ co(G − X )− |X | of them contain an M-unsaturated vertex.

Z. Szigeti (Ensimag) OCG-ORCO 13 / 36

Page 80: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Matchings in general graphs

Theorem of Tutte

G has a perfect matching ⇐⇒ co(G − X ) ≤ |X | ∀X ⊆ V (G ).

r

a

b

c

df

e

g h

i j

k

Z. Szigeti (Ensimag) OCG-ORCO 14 / 36

Page 81: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Matchings in general graphs

Theorem of Tutte

G has a perfect matching ⇐⇒ co(G − X ) ≤ |X | ∀X ⊆ V (G ).

Problem

Find a perfect matching.

r

a

b

c

df

e

g h

i j

k

Z. Szigeti (Ensimag) OCG-ORCO 14 / 36

Page 82: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Matchings in general graphs

Theorem of Tutte

G has a perfect matching ⇐⇒ co(G − X ) ≤ |X | ∀X ⊆ V (G ).

Problem

Find a perfect matching.

r

a

b

c

df

e

g h

i j

k

Z. Szigeti (Ensimag) OCG-ORCO 14 / 36

Page 83: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Matchings in general graphs

Theorem of Tutte

G has a perfect matching ⇐⇒ co(G − X ) ≤ |X | ∀X ⊆ V (G ).

Problem

Find a perfect matching.

Theorem of Berge

A matching M of G is of maximum cardinality ⇐⇒there exists no M-augmenting path.

r

a

b

c

df

e

g h

i j

k

Z. Szigeti (Ensimag) OCG-ORCO 14 / 36

Page 84: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Matchings in general graphs

Theorem of Tutte

G has a perfect matching ⇐⇒ co(G − X ) ≤ |X | ∀X ⊆ V (G ).

Problem

Find a perfect matching.

Theorem of Berge

A matching M of G is of maximum cardinality ⇐⇒there exists no M-augmenting path.

r

a

b

c

df

e

g h

i j

k

Z. Szigeti (Ensimag) OCG-ORCO 14 / 36

Page 85: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Matchings in general graphs

Theorem of Tutte

G has a perfect matching ⇐⇒ co(G − X ) ≤ |X | ∀X ⊆ V (G ).

Problem

Find a perfect matching.

Theorem of Berge

A matching M of G is of maximum cardinality ⇐⇒there exists no M-augmenting path.

r

a

b

c

df

e

g h

i j

k

Idea 1

Z. Szigeti (Ensimag) OCG-ORCO 14 / 36

Page 86: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Matchings in general graphs

Theorem of Tutte

G has a perfect matching ⇐⇒ co(G − X ) ≤ |X | ∀X ⊆ V (G ).

Problem

Find a perfect matching.

Theorem of Berge

A matching M of G is of maximum cardinality ⇐⇒there exists no M-augmenting path.

r

a

b

c

df

e

g h

i j

k

Idea 11 Find an augmenting path.

Z. Szigeti (Ensimag) OCG-ORCO 14 / 36

Page 87: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Matchings in general graphs

Theorem of Tutte

G has a perfect matching ⇐⇒ co(G − X ) ≤ |X | ∀X ⊆ V (G ).

Problem

Find a perfect matching.

Theorem of Berge

A matching M of G is of maximum cardinality ⇐⇒there exists no M-augmenting path.

r

a

b

c

df

e

g h

i j

k

Idea 11 Find an augmenting path.

2 As a searching algorithm uses an arborescence to find a path from s

to t, we will construct an alternating tree.

Z. Szigeti (Ensimag) OCG-ORCO 14 / 36

Page 88: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Alternating trees

Definition : Given a graph G and a matching M of G ,

1 M-alternating tree:

rFF

M

AF

DF

Z. Szigeti (Ensimag) OCG-ORCO 15 / 36

Page 89: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Alternating trees

Definition : Given a graph G and a matching M of G ,

1 M-alternating tree:1 a tree F in G ,

rFF

M

AF

DF

Z. Szigeti (Ensimag) OCG-ORCO 15 / 36

Page 90: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Alternating trees

Definition : Given a graph G and a matching M of G ,

1 M-alternating tree:1 a tree F in G ,2 a vertex rF of F is M-unsaturated (rF is the root of F ),

rFF

M

AF

DF

Z. Szigeti (Ensimag) OCG-ORCO 15 / 36

Page 91: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Alternating trees

Definition : Given a graph G and a matching M of G ,

1 M-alternating tree:1 a tree F in G ,2 a vertex rF of F is M-unsaturated (rF is the root of F ),3 in F , every vertex of odd distance from rF is of degree 2,

rFF

M

AF

DF

Z. Szigeti (Ensimag) OCG-ORCO 15 / 36

Page 92: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Alternating trees

Definition : Given a graph G and a matching M of G ,

1 M-alternating tree:1 a tree F in G ,2 a vertex rF of F is M-unsaturated (rF is the root of F ),3 in F , every vertex of odd distance from rF is of degree 2,4 every unique elementary (rF , v)-path in F is M-alternating.

rFF

M

AF

DF

Z. Szigeti (Ensimag) OCG-ORCO 15 / 36

Page 93: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Alternating trees

Definition : Given a graph G and a matching M of G ,

1 M-alternating tree:1 a tree F in G ,2 a vertex rF of F is M-unsaturated (rF is the root of F ),3 in F , every vertex of odd distance from rF is of degree 2,4 every unique elementary (rF , v)-path in F is M-alternating.

2 odd/even vertex: v ∈ V (F ) such that distF (rF , v) is odd/even.

rFF

M

AF

DF

Z. Szigeti (Ensimag) OCG-ORCO 15 / 36

Page 94: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Alternating trees

Definition : Given a graph G and a matching M of G ,

1 M-alternating tree:1 a tree F in G ,2 a vertex rF of F is M-unsaturated (rF is the root of F ),3 in F , every vertex of odd distance from rF is of degree 2,4 every unique elementary (rF , v)-path in F is M-alternating.

2 odd/even vertex: v ∈ V (F ) such that distF (rF , v) is odd/even.

3 AF and DF : Set of odd/even vertices of F .

rFF

M

AF

DF

Z. Szigeti (Ensimag) OCG-ORCO 15 / 36

Page 95: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Alternating trees

Definition : Given a graph G and a matching M of G ,

1 M-alternating tree:1 a tree F in G ,2 a vertex rF of F is M-unsaturated (rF is the root of F ),3 in F , every vertex of odd distance from rF is of degree 2,4 every unique elementary (rF , v)-path in F is M-alternating.

2 odd/even vertex: v ∈ V (F ) such that distF (rF , v) is odd/even.

3 AF and DF : Set of odd/even vertices of F .

Remark

|DF | = |AF |+ 1 :

rFF

M

AF

DF

Z. Szigeti (Ensimag) OCG-ORCO 15 / 36

Page 96: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Alternating trees

Definition : Given a graph G and a matching M of G ,

1 M-alternating tree:1 a tree F in G ,2 a vertex rF of F is M-unsaturated (rF is the root of F ),3 in F , every vertex of odd distance from rF is of degree 2,4 every unique elementary (rF , v)-path in F is M-alternating.

2 odd/even vertex: v ∈ V (F ) such that distF (rF , v) is odd/even.

3 AF and DF : Set of odd/even vertices of F .

Remark

|DF | = |AF |+ 1 :

1 F − rF has a perfect matching connecting always avertex of AF to a vertex of DF ,

rFF

M

AF

DF

Z. Szigeti (Ensimag) OCG-ORCO 15 / 36

Page 97: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Alternating trees

Definition : Given a graph G and a matching M of G ,

1 M-alternating tree:1 a tree F in G ,2 a vertex rF of F is M-unsaturated (rF is the root of F ),3 in F , every vertex of odd distance from rF is of degree 2,4 every unique elementary (rF , v)-path in F is M-alternating.

2 odd/even vertex: v ∈ V (F ) such that distF (rF , v) is odd/even.

3 AF and DF : Set of odd/even vertices of F .

Remark

|DF | = |AF |+ 1 :

1 F − rF has a perfect matching connecting always avertex of AF to a vertex of DF ,

2 rF is in DF .rF

F

M

AF

DF

Z. Szigeti (Ensimag) OCG-ORCO 15 / 36

Page 98: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Blossoms

Example

Constructing an alternating tree is not sufficient.r

u v

w

Z. Szigeti (Ensimag) OCG-ORCO 16 / 36

Page 99: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Blossoms

Example

Constructing an alternating tree is not sufficient.r

u v

w

Definition: Given an M-alernating tree F

rFF

M

AF

DF

Z. Szigeti (Ensimag) OCG-ORCO 16 / 36

Page 100: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Blossoms

Example

Constructing an alternating tree is not sufficient.r

u v

w

Definition: Given an M-alernating tree F

blossom: the unique odd cycle C of F + uv where u

and v are two even vertices of F .

rFF

M

AF

DF

u v

C

Z. Szigeti (Ensimag) OCG-ORCO 16 / 36

Page 101: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Blossoms

Example

Constructing an alternating tree is not sufficient.r

u v

w

Definition: Given an M-alernating tree F

blossom: the unique odd cycle C of F + uv where u

and v are two even vertices of F .

Idea 2 of Edmonds

Let’s shrink the blossom!rF

F

M

AF

DF

u v

C

rF/CF/C

M/C

AF/C

DF/C

wC

Z. Szigeti (Ensimag) OCG-ORCO 16 / 36

Page 102: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Blossoms

Example

Constructing an alternating tree is not sufficient.r

u v

w

Definition: Given an M-alernating tree F

blossom: the unique odd cycle C of F + uv where u

and v are two even vertices of F .

Idea 2 of Edmonds

Let’s shrink the blossom!

1 We will have pseudo-vertices wC !

rFF

M

AF

DF

u v

C

rF/CF/C

M/C

AF/C

DF/C

wC

Z. Szigeti (Ensimag) OCG-ORCO 16 / 36

Page 103: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Blossoms

Example

Constructing an alternating tree is not sufficient.r

u v

w

Definition: Given an M-alernating tree F

blossom: the unique odd cycle C of F + uv where u

and v are two even vertices of F .

Idea 2 of Edmonds

Let’s shrink the blossom!

1 We will have pseudo-vertices wC !

2 M/C is a matching of G/C .

rFF

M

AF

DF

u v

C

rF/CF/C

M/C

AF/C

DF/C

wC

Z. Szigeti (Ensimag) OCG-ORCO 16 / 36

Page 104: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Blossoms

Example

Constructing an alternating tree is not sufficient.r

u v

w

Definition: Given an M-alernating tree F

blossom: the unique odd cycle C of F + uv where u

and v are two even vertices of F .

Idea 2 of Edmonds

Let’s shrink the blossom!

1 We will have pseudo-vertices wC !

2 M/C is a matching of G/C .

3 F/C is an M/C -alternating tree.

rFF

M

AF

DF

u v

C

rF/CF/C

M/C

AF/C

DF/C

wC

Z. Szigeti (Ensimag) OCG-ORCO 16 / 36

Page 105: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Blossoms

Example

Constructing an alternating tree is not sufficient.r

u v

w

Definition: Given an M-alernating tree F

blossom: the unique odd cycle C of F + uv where u

and v are two even vertices of F .

Idea 2 of Edmonds

Let’s shrink the blossom!

1 We will have pseudo-vertices wC !

2 M/C is a matching of G/C .

3 F/C is an M/C -alternating tree.

4 Every pseudo-vertex is an even vertex.

rFF

M

AF

DF

u v

C

rF/CF/C

M/C

AF/C

DF/C

wC

Z. Szigeti (Ensimag) OCG-ORCO 16 / 36

Page 106: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Blowing up a blossom

Lemma

For every odd cycle C and for every z ∈ V (C ),C − z has a perfect matching.

z

C

Z. Szigeti (Ensimag) OCG-ORCO 17 / 36

Page 107: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Blowing up a blossom

Lemma

For every odd cycle C and for every z ∈ V (C ),C − z has a perfect matching.

z

C

Definition

blow up a blossom: wC is replaced by the odd cycle C .

Z. Szigeti (Ensimag) OCG-ORCO 17 / 36

Page 108: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Blowing up a blossom

Lemma

For every odd cycle C and for every z ∈ V (C ),C − z has a perfect matching.

z

C

Definition

blow up a blossom: wC is replaced by the odd cycle C .

Lemma

When we blow up a blossom we can extend the matching such that thenumber of unsaturated vertices does not augment.

z

C ee

wC

when wC is saturated

Z. Szigeti (Ensimag) OCG-ORCO 17 / 36

Page 109: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Blowing up a blossom

Lemma

For every odd cycle C and for every z ∈ V (C ),C − z has a perfect matching.

z

C

Definition

blow up a blossom: wC is replaced by the odd cycle C .

Lemma

When we blow up a blossom we can extend the matching such that thenumber of unsaturated vertices does not augment.

z

C ee

wC

when wC is saturated rF

C

wC

when wC is unsaturated

Z. Szigeti (Ensimag) OCG-ORCO 17 / 36

Page 110: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Perfect matching algorithm of Edmonds

Input: G = (V ,E ) a graph.Output: Either a perfect matching M of G

or a set X violating the Tutte condition.

Z. Szigeti (Ensimag) OCG-ORCO 18 / 36

Page 111: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Perfect matching algorithm of Edmonds

Input: G = (V ,E ) a graph.Output: Either a perfect matching M of G

or a set X violating the Tutte condition.Step 0. Initialization.

M0 := ∅, i := 0,G0 := G , j := 0.

Z. Szigeti (Ensimag) OCG-ORCO 18 / 36

Page 112: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Perfect matching algorithm of Edmonds

Input: G = (V ,E ) a graph.Output: Either a perfect matching M of G

or a set X violating the Tutte condition.Step 0. Initialization.

M0 := ∅, i := 0,G0 := G , j := 0.

Step 1. Stopping rule 1.

If all the vertices of G are Mi -saturated then Stop with Mi .

Z. Szigeti (Ensimag) OCG-ORCO 18 / 36

Page 113: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Perfect matching algorithm of Edmonds

Input: G = (V ,E ) a graph.Output: Either a perfect matching M of G

or a set X violating the Tutte condition.Step 0. Initialization.

M0 := ∅, i := 0,G0 := G , j := 0.

Step 1. Stopping rule 1.

If all the vertices of G are Mi -saturated then Stop with Mi .Step 2. Beginning of the construction of an alternating tree.

Let r be an Mi -unsaturated vertex.F0 := (r , ∅), k := 0.

Z. Szigeti (Ensimag) OCG-ORCO 18 / 36

Page 114: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Perfect matching algorithm of Edmonds

Input: G = (V ,E ) a graph.Output: Either a perfect matching M of G

or a set X violating the Tutte condition.Step 0. Initialization.

M0 := ∅, i := 0,G0 := G , j := 0.

Step 1. Stopping rule 1.

If all the vertices of G are Mi -saturated then Stop with Mi .Step 2. Beginning of the construction of an alternating tree.

Let r be an Mi -unsaturated vertex.F0 := (r , ∅), k := 0.

Step 3. Stopping rule 2.

If every edge of Gj leaving an Fk -even vertex entersan Fk -odd vertex then stop with X := set of Fk -odd vertices.

Z. Szigeti (Ensimag) OCG-ORCO 18 / 36

Page 115: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Perfect matching algorithm of Edmonds

rFF

M

AF

DF

Z. Szigeti (Ensimag) OCG-ORCO 19 / 36

Page 116: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Perfect matching algorithm of Edmonds

rFF

M

AF

DF

rFF

M

AF

DF

Z. Szigeti (Ensimag) OCG-ORCO 19 / 36

Page 117: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Perfect matching algorithm of Edmonds

Step 4. Choice of the edge ukvk .Let ukvk be an edge of Gj such that uk is an Fk -even vertex andvk is not an Fk-odd vertex.

Z. Szigeti (Ensimag) OCG-ORCO 20 / 36

Page 118: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Perfect matching algorithm of Edmonds

Step 4. Choice of the edge ukvk .Let ukvk be an edge of Gj such that uk is an Fk -even vertex andvk is not an Fk-odd vertex.

Step 5. Augmenting the alternating tree.

If vk is not in Fk and there exists vkwk ∈ Mi then doFk+1 := Fk + ukvk + vkwk , k := k + 1,Go to Step 3.

Z. Szigeti (Ensimag) OCG-ORCO 20 / 36

Page 119: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Perfect matching algorithm of Edmonds

Step 4. Choice of the edge ukvk .Let ukvk be an edge of Gj such that uk is an Fk -even vertex andvk is not an Fk-odd vertex.

Step 5. Augmenting the alternating tree.

If vk is not in Fk and there exists vkwk ∈ Mi then doFk+1 := Fk + ukvk + vkwk , k := k + 1,Go to Step 3.

Step 6. Shrinking a blossom.

If vk is in Fk then doLet Cj be the unique cycle in Fk + ukvk ,Mi+1 := Mi/Cj , i := i + 1,Gj+1 := Gj/Cj , j := j + 1,Fk+1 := Fk/Cj , k := k + 1,Go to Step 3.

Z. Szigeti (Ensimag) OCG-ORCO 20 / 36

Page 120: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Perfect matching algorithm of Edmonds

Step 7. Augmenting the matching in G .

If vk is not in Fk and vk is Mi -unsaturated then do

Z. Szigeti (Ensimag) OCG-ORCO 21 / 36

Page 121: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Perfect matching algorithm of Edmonds

Step 7. Augmenting the matching in G .

If vk is not in Fk and vk is Mi -unsaturated then doConstructing an Mi -augmenting path in Gj .

Qi := the unique elementary path in Fk from rF to uk ,Pi := Qi + ukvk .

Z. Szigeti (Ensimag) OCG-ORCO 21 / 36

Page 122: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Perfect matching algorithm of Edmonds

Step 7. Augmenting the matching in G .

If vk is not in Fk and vk is Mi -unsaturated then doConstructing an Mi -augmenting path in Gj .

Qi := the unique elementary path in Fk from rF to uk ,Pi := Qi + ukvk .Augmenting the matching in Gj .

Mi+1 := (Mi \ E (Pi )) ∪ (E (Pi ) \Mi), i := i + 1.

Z. Szigeti (Ensimag) OCG-ORCO 21 / 36

Page 123: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Perfect matching algorithm of Edmonds

Step 7. Augmenting the matching in G .

If vk is not in Fk and vk is Mi -unsaturated then doConstructing an Mi -augmenting path in Gj .

Qi := the unique elementary path in Fk from rF to uk ,Pi := Qi + ukvk .Augmenting the matching in Gj .

Mi+1 := (Mi \ E (Pi )) ∪ (E (Pi ) \Mi), i := i + 1.Blowing up the shrunk blossoms in reverse order.

If the shrunk blossoms are C0, . . . ,Cj−1 thenWhile j 6= 0 do

ej−1 := the edge of Mi incident to wCj−1,

Gj−1 := Gj ÷ Cj−1 (blowing up of Cj−1),zj−1 := the vertex of Cj−1 incident to ej−1,Mi+1 := Mi ∪ the perfect matching of Cj−1 − zj−1.i := i + 1, j := j − 1.

Go to Step 1.

Z. Szigeti (Ensimag) OCG-ORCO 21 / 36

Page 124: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Execution of the perfect matching algorithm

r

a

b

c

df

e

g h

i j

k

Z. Szigeti (Ensimag) OCG-ORCO 22 / 36

Page 125: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Execution of the perfect matching algorithm

r

a

b

c

df

e

g h

i j

k

Z. Szigeti (Ensimag) OCG-ORCO 22 / 36

Page 126: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Execution of the perfect matching algorithm

r

a

b

c

df

e

g h

i j

k

Z. Szigeti (Ensimag) OCG-ORCO 22 / 36

Page 127: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Execution of the perfect matching algorithm

r

a

b

c

df

e

g h

i j

k

Z. Szigeti (Ensimag) OCG-ORCO 22 / 36

Page 128: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Execution of the perfect matching algorithm

r

a

b

c

df

e

g h

i j

k

Z. Szigeti (Ensimag) OCG-ORCO 22 / 36

Page 129: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Execution of the perfect matching algorithm

r

a

b

c

df

e

g h

i j

k

Z. Szigeti (Ensimag) OCG-ORCO 22 / 36

Page 130: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Execution of the perfect matching algorithm

r

a

b

c

df

e

g h

i j

k

Z. Szigeti (Ensimag) OCG-ORCO 22 / 36

Page 131: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Execution of the perfect matching algorithm

r

a

b

c

df

e

g h

i j

k

Z. Szigeti (Ensimag) OCG-ORCO 22 / 36

Page 132: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Execution of the perfect matching algorithm

r

a

b

c

df

e

g h

i j

k

Z. Szigeti (Ensimag) OCG-ORCO 22 / 36

Page 133: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Execution of the perfect matching algorithm

r

a

b

c

df

e

g h

i j

k

C0

Z. Szigeti (Ensimag) OCG-ORCO 22 / 36

Page 134: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Execution of the perfect matching algorithm

wC0

fe

g h

i j

k

Z. Szigeti (Ensimag) OCG-ORCO 22 / 36

Page 135: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Execution of the perfect matching algorithm

wC0

fe

g h

i j

k

Z. Szigeti (Ensimag) OCG-ORCO 22 / 36

Page 136: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Execution of the perfect matching algorithm

wC0

fe

g h

i j

k

Z. Szigeti (Ensimag) OCG-ORCO 22 / 36

Page 137: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Execution of the perfect matching algorithm

wC0

fe

g h

i j

k

Z. Szigeti (Ensimag) OCG-ORCO 22 / 36

Page 138: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Execution of the perfect matching algorithm

wC0

fe

g h

i j

k

Z. Szigeti (Ensimag) OCG-ORCO 22 / 36

Page 139: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Execution of the perfect matching algorithm

wC0

fe

g h

i j

k

Z. Szigeti (Ensimag) OCG-ORCO 22 / 36

Page 140: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Execution of the perfect matching algorithm

wC0

fe

g h

i j

k

Z. Szigeti (Ensimag) OCG-ORCO 22 / 36

Page 141: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Execution of the perfect matching algorithm

wC0

fe

g h

i j

k

Z. Szigeti (Ensimag) OCG-ORCO 22 / 36

Page 142: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Execution of the perfect matching algorithm

wC0

fe

g h

i j

kC1

Z. Szigeti (Ensimag) OCG-ORCO 22 / 36

Page 143: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Execution of the perfect matching algorithm

wC0

fwC1

k

Z. Szigeti (Ensimag) OCG-ORCO 22 / 36

Page 144: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Execution of the perfect matching algorithm

wC0

fwC1

k

Z. Szigeti (Ensimag) OCG-ORCO 22 / 36

Page 145: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Execution of the perfect matching algorithm

wC0

fwC1

k

Z. Szigeti (Ensimag) OCG-ORCO 22 / 36

Page 146: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Execution of the perfect matching algorithm

wC0

fwC1

k

Z. Szigeti (Ensimag) OCG-ORCO 22 / 36

Page 147: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Execution of the perfect matching algorithm

wC0

fwC1

k

e1

Z. Szigeti (Ensimag) OCG-ORCO 22 / 36

Page 148: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Execution of the perfect matching algorithm

wC0

fe

g h

i = z1 j

k

e1C1

Z. Szigeti (Ensimag) OCG-ORCO 22 / 36

Page 149: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Execution of the perfect matching algorithm

wC0

fe

g h

i = z1 j

k

e1C1

Z. Szigeti (Ensimag) OCG-ORCO 22 / 36

Page 150: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Execution of the perfect matching algorithm

wC0

fe

g h

i j

k

Z. Szigeti (Ensimag) OCG-ORCO 22 / 36

Page 151: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Execution of the perfect matching algorithm

wC0

fe

g h

i j

k

e0

Z. Szigeti (Ensimag) OCG-ORCO 22 / 36

Page 152: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Execution of the perfect matching algorithm

C0

r

z0

b

c

df

e

g h

i j

ke0

Z. Szigeti (Ensimag) OCG-ORCO 22 / 36

Page 153: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Execution of the perfect matching algorithm

C0

r

z0

b

c

df

e

g h

i j

ke0

Z. Szigeti (Ensimag) OCG-ORCO 22 / 36

Page 154: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Execution of the perfect matching algorithm

r

a

b

c

df

e

g h

i j

k

Z. Szigeti (Ensimag) OCG-ORCO 22 / 36

Page 155: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Justification of the perfect matching algorithm

Theorem1 If the algorithm stops at Step 3 then

1 the vertices in DFkare isolated in Gj − AFk

,2 every vertex of DFk

corresponds to a set of vertices of G of oddcardinality,

3 X = AFkviolates Tutte’s condition.

2 At Step 7 the size of the matching of G increased.

3 The algorithm stops in polynomial time.

Z. Szigeti (Ensimag) OCG-ORCO 23 / 36

Page 156: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Justification of the perfect matching algorithm

Theorem1 If the algorithm stops at Step 3 then

1 the vertices in DFkare isolated in Gj − AFk

,2 every vertex of DFk

corresponds to a set of vertices of G of oddcardinality,

3 X = AFkviolates Tutte’s condition.

2 At Step 7 the size of the matching of G increased.

3 The algorithm stops in polynomial time.

Remark

Edmonds’ algorithm implies Tutte’s theorem.

Z. Szigeti (Ensimag) OCG-ORCO 23 / 36

Page 157: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Justification of the perfect matching algorithm

Theorem1 If the algorithm stops at Step 3 then

1 the vertices in DFkare isolated in Gj − AFk

,2 every vertex of DFk

corresponds to a set of vertices of G of oddcardinality,

3 X = AFkviolates Tutte’s condition.

2 At Step 7 the size of the matching of G increased.

3 The algorithm stops in polynomial time.

Remark

Edmonds’ algorithm implies Tutte’s theorem.

Input: G = (V ,E ) a graph.Output: Either a perfect matching M of G

or a set X violating the Tutte condition.

Z. Szigeti (Ensimag) OCG-ORCO 23 / 36

Page 158: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Justification of the perfect matching algorithm

rFF

M

AF

DF

rFF

M

AF

DF

Z. Szigeti (Ensimag) OCG-ORCO 24 / 36

Page 159: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Justification of the perfect matching algorithm

Proof1 If algorithm stops at Step 3: uv ∈ E (Gj), u ∈ DFk

=⇒ v ∈ AFk.

Z. Szigeti (Ensimag) OCG-ORCO 25 / 36

Page 160: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Justification of the perfect matching algorithm

Proof1 If algorithm stops at Step 3: uv ∈ E (Gj), u ∈ DFk

=⇒ v ∈ AFk.

1 The vertices in DFkare hence isolated in Gj − AFk

.

Z. Szigeti (Ensimag) OCG-ORCO 25 / 36

Page 161: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Justification of the perfect matching algorithm

Proof1 If algorithm stops at Step 3: uv ∈ E (Gj), u ∈ DFk

=⇒ v ∈ AFk.

1 The vertices in DFkare hence isolated in Gj − AFk

.2 When we blow up a pseudo-vertex wC , we replace a vertex by an odd

number of vertices since C is a blossom.

Z. Szigeti (Ensimag) OCG-ORCO 25 / 36

Page 162: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Justification of the perfect matching algorithm

Proof1 If algorithm stops at Step 3: uv ∈ E (Gj), u ∈ DFk

=⇒ v ∈ AFk.

1 The vertices in DFkare hence isolated in Gj − AFk

.2 When we blow up a pseudo-vertex wC , we replace a vertex by an odd

number of vertices since C is a blossom.3 By 1 and 2, co(G − X ) = co(G − AF ) ≥ |DF | = |AF |+ 1 > |X |.

Z. Szigeti (Ensimag) OCG-ORCO 25 / 36

Page 163: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Justification of the perfect matching algorithm

Proof1 If algorithm stops at Step 3: uv ∈ E (Gj), u ∈ DFk

=⇒ v ∈ AFk.

1 The vertices in DFkare hence isolated in Gj − AFk

.2 When we blow up a pseudo-vertex wC , we replace a vertex by an odd

number of vertices since C is a blossom.3 By 1 and 2, co(G − X ) = co(G − AF ) ≥ |DF | = |AF |+ 1 > |X |.

2 The size of the matching increases:

Z. Szigeti (Ensimag) OCG-ORCO 25 / 36

Page 164: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Justification of the perfect matching algorithm

Proof1 If algorithm stops at Step 3: uv ∈ E (Gj), u ∈ DFk

=⇒ v ∈ AFk.

1 The vertices in DFkare hence isolated in Gj − AFk

.2 When we blow up a pseudo-vertex wC , we replace a vertex by an odd

number of vertices since C is a blossom.3 By 1 and 2, co(G − X ) = co(G − AF ) ≥ |DF | = |AF |+ 1 > |X |.

2 The size of the matching increases:1 in the shrunk graph: two Mi -unsaturated vertices become

Mi+1-saturated and the Mi -saturated vertices remain Mi+1-saturated.

Z. Szigeti (Ensimag) OCG-ORCO 25 / 36

Page 165: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Justification of the perfect matching algorithm

Proof1 If algorithm stops at Step 3: uv ∈ E (Gj), u ∈ DFk

=⇒ v ∈ AFk.

1 The vertices in DFkare hence isolated in Gj − AFk

.2 When we blow up a pseudo-vertex wC , we replace a vertex by an odd

number of vertices since C is a blossom.3 By 1 and 2, co(G − X ) = co(G − AF ) ≥ |DF | = |AF |+ 1 > |X |.

2 The size of the matching increases:1 in the shrunk graph: two Mi -unsaturated vertices become

Mi+1-saturated and the Mi -saturated vertices remain Mi+1-saturated.2 Blowing up a blossom does not increase the number of unsaturated

vertices (by the blowing up lemma).

Z. Szigeti (Ensimag) OCG-ORCO 25 / 36

Page 166: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Justification of the perfect matching algorithm

Proof1 If algorithm stops at Step 3: uv ∈ E (Gj), u ∈ DFk

=⇒ v ∈ AFk.

1 The vertices in DFkare hence isolated in Gj − AFk

.2 When we blow up a pseudo-vertex wC , we replace a vertex by an odd

number of vertices since C is a blossom.3 By 1 and 2, co(G − X ) = co(G − AF ) ≥ |DF | = |AF |+ 1 > |X |.

2 The size of the matching increases:1 in the shrunk graph: two Mi -unsaturated vertices become

Mi+1-saturated and the Mi -saturated vertices remain Mi+1-saturated.2 Blowing up a blossom does not increase the number of unsaturated

vertices (by the blowing up lemma).

3 The algorithm stops in polynomial time:

Z. Szigeti (Ensimag) OCG-ORCO 25 / 36

Page 167: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Justification of the perfect matching algorithm

Proof1 If algorithm stops at Step 3: uv ∈ E (Gj), u ∈ DFk

=⇒ v ∈ AFk.

1 The vertices in DFkare hence isolated in Gj − AFk

.2 When we blow up a pseudo-vertex wC , we replace a vertex by an odd

number of vertices since C is a blossom.3 By 1 and 2, co(G − X ) = co(G − AF ) ≥ |DF | = |AF |+ 1 > |X |.

2 The size of the matching increases:1 in the shrunk graph: two Mi -unsaturated vertices become

Mi+1-saturated and the Mi -saturated vertices remain Mi+1-saturated.2 Blowing up a blossom does not increase the number of unsaturated

vertices (by the blowing up lemma).

3 The algorithm stops in polynomial time:1 Every step is polynomial.

Z. Szigeti (Ensimag) OCG-ORCO 25 / 36

Page 168: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Justification of the perfect matching algorithm

Proof1 If algorithm stops at Step 3: uv ∈ E (Gj), u ∈ DFk

=⇒ v ∈ AFk.

1 The vertices in DFkare hence isolated in Gj − AFk

.2 When we blow up a pseudo-vertex wC , we replace a vertex by an odd

number of vertices since C is a blossom.3 By 1 and 2, co(G − X ) = co(G − AF ) ≥ |DF | = |AF |+ 1 > |X |.

2 The size of the matching increases:1 in the shrunk graph: two Mi -unsaturated vertices become

Mi+1-saturated and the Mi -saturated vertices remain Mi+1-saturated.2 Blowing up a blossom does not increase the number of unsaturated

vertices (by the blowing up lemma).

3 The algorithm stops in polynomial time:1 Every step is polynomial.2 Matching augmentation may happen at most n/2 times.

Z. Szigeti (Ensimag) OCG-ORCO 25 / 36

Page 169: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Justification of the perfect matching algorithm

Proof1 If algorithm stops at Step 3: uv ∈ E (Gj), u ∈ DFk

=⇒ v ∈ AFk.

1 The vertices in DFkare hence isolated in Gj − AFk

.2 When we blow up a pseudo-vertex wC , we replace a vertex by an odd

number of vertices since C is a blossom.3 By 1 and 2, co(G − X ) = co(G − AF ) ≥ |DF | = |AF |+ 1 > |X |.

2 The size of the matching increases:1 in the shrunk graph: two Mi -unsaturated vertices become

Mi+1-saturated and the Mi -saturated vertices remain Mi+1-saturated.2 Blowing up a blossom does not increase the number of unsaturated

vertices (by the blowing up lemma).

3 The algorithm stops in polynomial time:1 Every step is polynomial.2 Matching augmentation may happen at most n/2 times.3 Between two matching augmentations:

Z. Szigeti (Ensimag) OCG-ORCO 25 / 36

Page 170: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Justification of the perfect matching algorithm

Proof1 If algorithm stops at Step 3: uv ∈ E (Gj), u ∈ DFk

=⇒ v ∈ AFk.

1 The vertices in DFkare hence isolated in Gj − AFk

.2 When we blow up a pseudo-vertex wC , we replace a vertex by an odd

number of vertices since C is a blossom.3 By 1 and 2, co(G − X ) = co(G − AF ) ≥ |DF | = |AF |+ 1 > |X |.

2 The size of the matching increases:1 in the shrunk graph: two Mi -unsaturated vertices become

Mi+1-saturated and the Mi -saturated vertices remain Mi+1-saturated.2 Blowing up a blossom does not increase the number of unsaturated

vertices (by the blowing up lemma).

3 The algorithm stops in polynomial time:1 Every step is polynomial.2 Matching augmentation may happen at most n/2 times.3 Between two matching augmentations:

1 tree augmentation may happen at most n/2 times,

Z. Szigeti (Ensimag) OCG-ORCO 25 / 36

Page 171: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Justification of the perfect matching algorithm

Proof1 If algorithm stops at Step 3: uv ∈ E (Gj), u ∈ DFk

=⇒ v ∈ AFk.

1 The vertices in DFkare hence isolated in Gj − AFk

.2 When we blow up a pseudo-vertex wC , we replace a vertex by an odd

number of vertices since C is a blossom.3 By 1 and 2, co(G − X ) = co(G − AF ) ≥ |DF | = |AF |+ 1 > |X |.

2 The size of the matching increases:1 in the shrunk graph: two Mi -unsaturated vertices become

Mi+1-saturated and the Mi -saturated vertices remain Mi+1-saturated.2 Blowing up a blossom does not increase the number of unsaturated

vertices (by the blowing up lemma).

3 The algorithm stops in polynomial time:1 Every step is polynomial.2 Matching augmentation may happen at most n/2 times.3 Between two matching augmentations:

1 tree augmentation may happen at most n/2 times,

2 blossom shrinking may happen at most n/2 times.

Z. Szigeti (Ensimag) OCG-ORCO 25 / 36

Page 172: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Maximum cardinality matching algorithm of Edmonds

Input: G = (V ,E ) a graph.Output: A maximum cardinality matching of G .

Step 1. Constructing alternating trees.

While there exists an unsaturated vertex doExecute the perfect matching algorithm with thefollowing modification :

before stopping at Step 3 delete the verticesof the alternating tree.

Step 2. Blowing up the shrunk blossoms in reverse order.

As in the perfect matching algorithm by adding thatif wCj−1

= rFkthen zj−1 := rFk−1

.Step 3. Stop.

z

C ee

wC

when wC is saturated rF

C

wC

when wC is unsaturated

Z. Szigeti (Ensimag) OCG-ORCO 26 / 36

Page 173: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Justification of the max. cardinality matching algorithm

Structure

When the algorithm stops we have t vertex disjoint alternating treesF1, . . . ,Ft and a perfect matching M ′ of the remaining graph.

At

Dt

A1

r1F1

D1

rtFt

M ′

Z. Szigeti (Ensimag) OCG-ORCO 27 / 36

Page 174: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Justification of the max. cardinality matching algorithm

Structure

When the algorithm stops we have t vertex disjoint alternating treesF1, . . . ,Ft and a perfect matching M ′ of the remaining graph.

Every vertex of Di corresponds to an odd connected subgraph of G .

At

Dt

A1

r1F1

D1

rtFt

M ′

r1G1

A1 At

rt

Gt

M ′

Z. Szigeti (Ensimag) OCG-ORCO 27 / 36

Page 175: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Justification of the max. cardinality matching algorithm

Structure

When the algorithm stops we have t vertex disjoint alternating treesF1, . . . ,Ft and a perfect matching M ′ of the remaining graph.

Every vertex of Di corresponds to an odd connected subgraph of G .

Every Fi corresponds to a subgraph Gi of G .

At

Dt

A1

r1F1

D1

rtFt

M ′

r1G1

A1 At

rt

Gt

M ′

Z. Szigeti (Ensimag) OCG-ORCO 27 / 36

Page 176: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Justification of the max. cardinality matching algorithm

Theorem1 Gi has a matching Mi with exactly one Mi -unsaturated vertex ri in Gi .

2 co(G − X )− |X | = t where X :=⋃t

i=1AFi.

3 M := M ′ ∪⋃t

i=1Mi is a maximum cardinality matching of G .

4 The algorithm stops in polynomial time.

r1G1

A1 At

rt

Gt

M ′

M1 Mt

X

Z. Szigeti (Ensimag) OCG-ORCO 28 / 36

Page 177: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Justification of the max. cardinality matching algorithm

Proof1 Fk has one unsaturated vertex (rFk

) and blowing up a blossom doesnot increase the number of unsaturated vertices (by the blowing uplemma).

At

Dt

A1

r1F1

D1

rtFt

M ′

Z. Szigeti (Ensimag) OCG-ORCO 29 / 36

Page 178: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Justification of the max. cardinality matching algorithm

Proof1 Fk has one unsaturated vertex (rFk

) and blowing up a blossom doesnot increase the number of unsaturated vertices (by the blowing uplemma).

2 co(G − X ) = co(G −⋃t

i=1 AFi) =

∑ti=1 |Fi − AFi

| =∑t

i=1 |DFi| =

∑ti=1(|AFi

|+ 1) = |⋃t

i=1 AFi|+ t = |X |+ t.

At

Dt

A1

r1F1

D1

rtFt

M ′

r1G1

A1 At

rt

Gt

M ′

M1 Mt

X

Z. Szigeti (Ensimag) OCG-ORCO 29 / 36

Page 179: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Justification of the max. cardinality matching algorithm

Proof3 By the trivial direction of the formula of Berge −Tutte, 1 and 2,

max ≤ min ≤ |{M-unsaturated vertices}| = t = co(G − X ) − |X | ≤ max.

Thus min{|M-unsaturated vertices| : M matching of G} =max{co(G − X )− |X | : X ⊆ V (G )}.

Z. Szigeti (Ensimag) OCG-ORCO 30 / 36

Page 180: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Justification of the max. cardinality matching algorithm

Proof3 By the trivial direction of the formula of Berge −Tutte, 1 and 2,

max ≤ min ≤ |{M-unsaturated vertices}| = t = co(G − X ) − |X | ≤ max.

Thus min{|M-unsaturated vertices| : M matching of G} =max{co(G − X )− |X | : X ⊆ V (G )}.

4 We execute at most n times the perfect matching algorithm which ispolynomial, and hence this algorithm is polynomial.

Z. Szigeti (Ensimag) OCG-ORCO 30 / 36

Page 181: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Justification of the max. cardinality matching algorithm

Proof3 By the trivial direction of the formula of Berge −Tutte, 1 and 2,

max ≤ min ≤ |{M-unsaturated vertices}| = t = co(G − X ) − |X | ≤ max.

Thus min{|M-unsaturated vertices| : M matching of G} =max{co(G − X )− |X | : X ⊆ V (G )}.

4 We execute at most n times the perfect matching algorithm which ispolynomial, and hence this algorithm is polynomial.

Remark

This algorithm of Edmonds implies the Berge −Tutte formula.

Z. Szigeti (Ensimag) OCG-ORCO 30 / 36

Page 182: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Structure theorem

Definitions1 near-perfect matching : a matching of G covering all but one vertex,

2 Factor-critical graph : G − v has a perfect matching ∀v ∈ V (G ),

3 D(G ) := {v ∈ V : ν(G − v) = ν(G )},

4 A(G ) := set of neighbors of D(G ) in V (G ) \ D(G ),

5 C (G ) := V (G ) \ (D(G ) ∪ A(G )).

A(G )

D(G )

C (G )

Z. Szigeti (Ensimag) OCG-ORCO 31 / 36

Page 183: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Structure theorem

Theorem (Gallai-Edmonds)

1 The connected components of G [D(G )] are factor-critical.

2 C (G ) has a perfect matching.

3 co(G − A(G ))− |A(G )| = max{co(G − X )− |X | : X ⊆ V }.4 BA(G) has a matching

1 covering A(G) and2 not covering any given vertex v /∈ A(G).

5 A matching M is of maximum cardinality if and only if M contains1 a near-perfect matching of each connected components of G [D(G)],2 a perfect matching of C (G) and3 a matching of BA(G) covering A(G).

A(G )

D(G )

C (G )

Z. Szigeti (Ensimag) OCG-ORCO 32 / 36

Page 184: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Structure theorem

Proof1 Execute Edmonds’ maximum cardinality matching algorithm and let

D :=⋃t

i=1Di ,A :=⋃t

i=1 Ai ,C := V (G ) \ (D ∪ A).

2 D,A,C verify the assertions of the theorem.

3 D = D(G ),A = A(G ),C = C (G ).

4 Thus D(G ),A(G ),C (G ) verify the assertions of the theorem.

r1G1

A1 At

rt

Gt

M ′

M1 Mt

X

Z. Szigeti (Ensimag) OCG-ORCO 33 / 36

Page 185: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Structure theorem

Proof of (1) for D

1 By the blowing up lemma, blowing up an odd cycle in a factor-criticalgraph results a factor-critical graph.

2 Since a connected component of G [D] is obtained from a (pseudo-)vertex (which is factor-critical) by blowing up odd cycles, it is hencefactor-critical.

Proof of (2) for C

M ′ is a perfect matching of C .

Proof of (3) for A

co(G − A)− |A| = max{co(G − X )− |X | : X ⊆ V } was proved in theprevious theorem.

Z. Szigeti (Ensimag) OCG-ORCO 34 / 36

Page 186: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Structure theorem

Proof of (4) for A

1 BA is the union of the alternating trees found by the algorithm.

2 For a given v ∈ Di , let P be the alternating path between ri and v .

3 By changing the role of matching edges and non-matching edges inP , we get the required matching.

At

Dt

A1

r1F1

D1

rtFt

M ′

r1G1

A1 At

rt

Gt

M ′

M1 Mt

X

Proof of (5) for D,C ,A

It follows directly from (3).

Z. Szigeti (Ensimag) OCG-ORCO 35 / 36

Page 187: Combinatorial Optimization and Graph Theory ORCO Matchings …szigetiz/OCG/... · 2019-10-24 · Matchings in general graphs Planning 1 Theorems of existence and min-max, 2 Algorithms

Structure theorem

Proof of D = D(G ),A = A(G ),C = C (G )

1 It is enough to prove that D = D(G ).

2 Since D,C ,A satisfy (5), we have D(G ) ⊆ D.

3 Since D satisfies (1) and A satisfies (4), we have D ⊆ D(G ).

At

Dt

A1

r1F1

D1

rtFt

M ′

r1G1

A1 At

rt

Gt

M ′

M1 Mt

X

Z. Szigeti (Ensimag) OCG-ORCO 36 / 36