Konig's theorem

| Tags Algorithm 

In the mathematical area of graph theory, Konig's theorem describes an equivalence between the maximum matching problem and the minimum vertex cover problem in bipartite graphs.

Konig's theorem

Given a bipartite graph $$$G=(V,E)$$$: min |C| = max |M|

Proof by Narrow

We can break the proof into two steps. Firstly, we can prove that |C| $$$ \ge $$$ |M|, and secondly, we prove that min|C| $$$ \le $$$ max|M|, then Konig's theorem gets proved.

First Step

It is very easy to prove that |C| $$$ \ge $$$ |M| for any vertex cover an matching in the same bipartite graph. Because each edge of the matching must be covered by the vertex cover, so at least one vertex of each edge must in the set of vertex cover, thus we proved that |C| $$$ \ge $$$ |M| at any circumstance.

Second Step

In this step, we just need to prove that min|C| $$$ \le $$$ |M| for some matching M. Given a minimal vertex cover C, if we can extend it into a matching, then we gets proved.

To Be Done

Proof by Duality

If we convert maximum matching problem and minimum vertex cover problem into Linear Programming problems, then we can prove Konig's theorem elegantly by using duality.

Given a bipartite graph $$$ G=(V,E) $$$, the maximum matching can be defined as:

$$$ max \sum_{e \in E} x_e $$$
$$$ \sum_{e \in \delta(v)} x_e \le 1 $$$
$$$ x_e \ge 0 $$$

The minimum vertex cover can be defined as:

$$$ min \sum_{v \in G} y_v $$$
$$$ \sum_{(u,v) \in E} y_u + y_v \ge 1 $$$
$$$ y_v \ge 0 $$$

We can easily rewrite the above two linear programming problems into primary-dual format. First, we can define a matrix A, where A is a |V| $$$ \times $$$ |E| matrix, $$$ A_{ij} = 1 $$$ if verteix i is an end point of edge j, otherwise, $$$ A_{ij} = 0 $$$. Then the maximum matching can be defined as:

$$$ max 1^T X $$$
$$$ AX \le 1 $$$
$$$ X \ge 0 $$$

And the minimum vertex cover can be defined as:

$$$ min Y 1^T $$$
$$$ Y^T A \ge 1 $$$
$$$ Y \ge 0 $$$

Due to the primary-dual property of linear programming, we can certainly say that Konig's theorem gets proved.

Proof by Induction

To Be Done

Previous     Next