Toolbox

T1: Algebraic Matching Algorithms (1)

Reminder: This post contains 1015 words · 3 min read · by Xianbin

This post will show how to detect and find a matching using matrix.

Definitions

Given a bipartite graph G=(L,R,E)G=(L, R, E) with L=R=n\lvert L\rvert = \lvert R \rvert = n, the Edmonds Matrix E(G)E(G) is defined as n×nn\times n matrix of variables in the following.

Ei,j={0,(i,j)∉E and iL,jR1,(i,j)E and iL,jR\mathrm{E}_{i,j} = \begin{cases} 0, & (i,j) \not \in E \text{ and } {i\in L, j\in R}\\ 1, & (i,j)\in E \text{ and } {i\in L, j\in R} \end{cases}

We know that the basics are always important.

Leibniz Formula to Compute a Determinant

For more about determinant, please read the post What is determinant.

Det(a1,a2,,an)=(j1,,jn)πnsgn(j1,,jn)i=1nvjni\textup{Det}(\textbf{a}_1, \textbf{a}_2,\ldots, \textbf{a}_n) = \sum_{(j_1,\ldots,j_n)\in \pi_n}\text{sgn}(j_1,\ldots,j_n) \prod_{i=1}^n v_{j_n i}

where πn\pi_n is a permutation.

Lovász’s Algorithm

Theorem\textbf{Theorem}[35] Let E(G)\textup{E}(G) be the Edmonds matrix of a bipartite graph GG. Then, E(G)\textup{E}(G) is non-zero iff GG contains a perfect matching.

Wow! Cool! What a beautiful theory!

Karp, UPpfal, Wigderson Algorithm

Rabin and Vazirani Algorithm

Reference

[1] Tutte, William T. “The factorization of linear graphs.” Journal of the London Mathematical Society 1.2 (1947): 107-111.