マッチング(グラフ理論)(matching)とは、グラフの辺の部分集合であって、どの 2 辺も端点を共有しないもののことである。大きさ最大のものを最大マッチング、すべての頂点を覆うものを完全マッチングという。有限グラフのマッチングが最大であることは、飽和されない 2 頂点を結ぶ交互道(増加道)がないことと同値である(Berge の定理)。有限二部グラフでは、一方の部集合 $A$ を覆うマッチングが存在することは、すべての $S\subset A$ について $S$ の頂点に隣接する頂点が $|S|$ 個以上あることと同値であり(Hall の結婚定理)、最大マッチングの大きさは最小頂点被覆の大きさに等しい(König の定理)。後者は二部でないグラフでは一般には成り立たず(三角形では $\nu=1<2=\tau$)、成り立つ場合もある(三角形に新しい頂点を 1 辺で付けたグラフ)。
本記事の「マッチング」は グラフ の辺の集合についての概念である。文字列の照合(パターンマッチング)や、経済学の安定マッチング問題とは別の用語であるが、後者はここでの二部グラフのマッチングを土台にしている。以下、グラフは単純無向グラフ $G=(V,E)$ とし、とくに断らない限り有限とする(グラフ の記事の定義「グラフの定義」)。頂点 $v$ の近傍を $N_G(v)$、頂点の集合 $S\subset V$ の近傍を $N_G(S):=\bigcup_{v\in S}N_G(v)$ と書き、$G$ が明らかなときは $N(S)$ と略す。
グラフ $G=(V,E)$ の辺の部分集合 $M\subset E$ が マッチング(matching)であるとは、$M$ の相異なる 2 辺が端点を共有しないことをいう。辺 $e\in M$ の端点である頂点を $M$ で飽和される($M$ に覆われる)といい、そうでない頂点を $M$ で飽和されない頂点という。$|M|$ をマッチングの大きさという。
空集合 $\emptyset\subset E$ はつねにマッチングであり、頂点をもたないグラフでは完全マッチングでもある。$M$ がマッチングなら、飽和される頂点はちょうど $2|M|$ 個である。とくに完全マッチングをもつ有限グラフの頂点数は偶数であり、$\nu(G)\le\lfloor|V|/2\rfloor$ である。最大マッチングは極大マッチングであるが、逆は成り立たない(ex-matching-graph-theory-maximal)。
$M$ をグラフ $G$ のマッチングとする。$G$ の 道 $v_0,v_1,\dots,v_\ell$ が $M$ 交互道 であるとは、その辺 $v_0v_1,v_1v_2,\dots,v_{\ell-1}v_\ell$ が $M$ に属さない辺と $M$ に属する辺を交互にたどることをいう。$M$ 交互道のうち、長さが $1$ 以上で、両端点 $v_0,v_\ell$ がともに $M$ で飽和されないものを $M$ 増加道(augmenting path)という。
$M$ 増加道では、最初と最後の辺は $M$ に属さない(端点が飽和されないので)。したがって辺は「$M$ に属さない、属する、…、属さない」と並び、長さは奇数で、$M$ に属さない辺が $M$ に属する辺より 1 本多い。
マッチングと対になる概念として、頂点の部分集合 $C\subset V$ で、すべての辺が少なくとも 1 つの端点を $C$ にもつものを 頂点被覆(vertex cover、頂点被覆)という。頂点被覆の大きさの最小値を $\tau(G)$ と書く。
マッチングは「辺で結ばれた 2 頂点をペアにする組み方」であり、各頂点は高々 1 つのペアにしか入れない。二部グラフでは、一方の部集合を人、他方を仕事、辺を「その人がその仕事をできる」関係と読めば、マッチングは重複のない割り当てにあたる。できるだけ多くのペアを作るのが最大マッチングの問題である。
欲張りにペアを作っていくと、それ以上ペアを足せない極大マッチングに行き着くが、それが最大とは限らない。そのとき、すでにあるペアを組み替えればペアを 1 つ増やせる。組み替え方を表すのが増加道であり、増加道の $M$ の辺と $M$ でない辺を入れ替えると大きさが 1 つ増える。Berge の定理(thm-matching-graph-theory-berge)は、増加道がなくなったときが最大であることを保証する。二部グラフでは、全員に仕事を割り当てられるための条件が「どの $k$ 人を選んでも、その誰かができる仕事が $k$ 種類以上ある」という Hall の条件で与えられ(thm-matching-graph-theory-hall)、最大マッチングの大きさは全辺を覆うのに必要な頂点の最小個数に等しい(thm-matching-graph-theory-konig)。
道グラフ $P_4$(頂点 $1,2,3,4$)で $M=\{\{2,3\}\}$ をとる。残りの辺 $\{1,2\}$、$\{3,4\}$ はどちらも $M$ の辺と端点を共有するので、$M$ は極大マッチングである。しかし $M'=\{\{1,2\},\{3,4\}\}$ は大きさ $2$ のマッチングで、$M$ は最大でない。道 $1,2,3,4$ は $M$ 増加道であり(両端点 $1,4$ は飽和されず、辺は $M$ に属さない、属する、属さないの順)、$M$ とこの道の辺の入れ替えで $M'$ が得られる。この例は「極大マッチングは最大マッチングである」という含意を破る。極大マッチングの大きさは最大の半分以上ではある(prop-matching-graph-theory-maximal-bound)が、この例でちょうど半分になる。
部集合 $A=\{a_1,a_2,a_3\}$、$B=\{b_1,b_2,b_3\}$ をもち、辺が $a_1b_1,a_2b_1,a_3b_1,a_3b_2,a_3b_3$ である二部グラフを考える。$S=\{a_1,a_2\}$ について $N(S)=\{b_1\}$ であり $|N(S)|=1<2=|S|$ なので、Hall の条件が破れている。実際、$a_1$ と $a_2$ はどちらも $b_1$ としか隣接しないので同時には飽和されず、$A$ を飽和するマッチングは存在しない。最大マッチングは $\{a_1b_1,a_3b_2\}$ などで、大きさは $2$ である。このグラフは頂点数が偶数 $6$ で、$|A|=|B|$ であるが完全マッチングをもたないので、「部集合の大きさが等しい二部グラフは完全マッチングをもつ」という含意を破る。
$G$ を有限グラフとする。
次の定理は、最大マッチングを増加道の有無で判定する。二部グラフに限らず任意のグラフで成り立つ。
有限グラフ $G$ のマッチング $M$ が最大マッチングであることと、$M$ 増加道が存在しないことは同値である。
$M$ 増加道 $P=v_0,v_1,\dots,v_\ell$ があるとし、その辺集合を $E(P)$ とする。$M':=M\triangle E(P)$(対称差)が大きさ $|M|+1$ のマッチングであることを示す。$E(P)$ のうち $M$ に属さない辺は $M$ に属する辺より 1 本多いので $|M'|=|M|+1$ である。$M'$ がマッチングであること:$P$ の内部の頂点 $v_i$($0< i<\ell$)には $P$ の辺が 2 本接続し、交互性によりそのちょうど 1 本が $M$ に属する。$M$ はマッチングなので $v_i$ に接続する $M$ の辺はその 1 本だけであり、入れ替え後に $v_i$ に接続する $M'$ の辺は $P$ のもう 1 本だけである。端点 $v_0,v_\ell$ は $M$ で飽和されないので、入れ替え後に接続する $M'$ の辺は $P$ の最初または最後の辺だけである($\ell\ge1$ で $v_0\neq v_\ell$)。$P$ に属さない頂点に接続する辺は変わらない。よって $M'$ はマッチングであり、$M$ は最大でない。
逆に $M$ が最大でないとし、$|M'|>|M|$ となるマッチング $M'$ をとる。辺集合 $M\triangle M'$ と頂点集合 $V$ からなるグラフ $H$ を考える。$H$ の各頂点には $M$ の辺と $M'$ の辺が高々 1 本ずつしか接続しないので、$H$ の各頂点の次数は $2$ 以下であり、次数 $2$ の頂点では $M\setminus M'$ の辺と $M'\setminus M$ の辺が 1 本ずつ接続する。したがって $H$ の各連結成分は、孤立点、辺が $M\setminus M'$ と $M'\setminus M$ を交互にたどる道、または同じく交互な閉路である。交互な閉路では両方の辺の本数が等しい。$|M'\setminus M|>|M\setminus M'|$ だから、$M'\setminus M$ の辺を $M\setminus M'$ の辺より多く含む成分があり、それは最初と最後の辺が $M'\setminus M$ に属する交互な道 $P$ である。
$P$ の端点 $v$ が $M$ で飽和されないことを示す。$v$ は $H$ で次数 $1$ で、$P$ の辺 $e'\in M'\setminus M$ に接続する。$v$ に接続する $M$ の辺 $e$ があったとすると、$e\notin M'$ なら $e\in M\triangle M'$ となって $v$ の $H$ での次数が $2$ になり矛盾し、$e\in M'$ なら $v$ に $M'$ の相異なる 2 辺 $e,e'$($e\in M$、$e'\notin M$)が接続して矛盾する。よって $P$ の両端点は $M$ で飽和されず、$P$ の辺は $M$ に属さない辺($M'\setminus M$)と属する辺($M\setminus M'$)を交互にたどるので、$P$ は $M$ 増加道である。$\square$
二部グラフでは、一方の部集合を飽和するマッチングの存在が近傍の大きさだけで判定できる。以下、二部グラフ $G$ の二部分割を $(A,B)$ とし、$S\subset A$ について $N(S)\subset B$ である。条件
$$|N(S)|\ge|S|\qquad(\text{すべての }S\subset A)$$
を Hall の条件 という。
有限二部グラフ $G$ の二部分割を $(A,B)$ とする。$A$ を飽和するマッチングが存在することと、Hall の条件が成り立つことは同値である。
必要性:$A$ を飽和するマッチング $M$ があれば、$S\subset A$ の各頂点に $M$ で組む相手を対応させる写像は $S$ から $N(S)$ への単射なので $|N(S)|\ge|S|$ である。
十分性:$|A|$ についての帰納法で示す。$|A|=0$ なら空のマッチングでよい。$|A|\ge1$ とし、$|A|$ より小さい場合には主張が成り立つとする。
場合 1:$A$ の空でない真部分集合 $S$ がすべて $|N(S)|\ge|S|+1$ を満たすとき。$a\in A$ をとると Hall の条件により $|N(\{a\})|\ge1$ なので、$a$ に隣接する $b\in B$ がある。$G$ から頂点 $a,b$ を除いたグラフ $G'$ は二部分割 $(A\setminus\{a\},B\setminus\{b\})$ をもつ。$S\subset A\setminus\{a\}$ が空でなければ $S$ は $A$ の空でない真部分集合なので、$|N_{G'}(S)|\ge|N_G(S)|-1\ge|S|$ である($S=\emptyset$ では自明)。帰納法の仮定により $G'$ に $A\setminus\{a\}$ を飽和するマッチング $M'$ があり、$M'\cup\{ab\}$ は $G$ で $A$ を飽和するマッチングである。
場合 2:$A$ の空でない真部分集合 $S_0$ で $|N(S_0)|=|S_0|$ となるものがあるとき。$G_1$ を頂点集合 $S_0\cup N(S_0)$ 上の $G$ の誘導部分グラフ(部分グラフ)とする。$S\subset S_0$ なら $N_{G_1}(S)=N_G(S)$ なので $G_1$ は Hall の条件を満たし、$|S_0|<|A|$ だから帰納法の仮定により $S_0$ を飽和するマッチング $M_1$ が $G_1$ にある。次に $G_2$ を頂点集合 $(A\setminus S_0)\cup(B\setminus N(S_0))$ 上の誘導部分グラフとする。$T\subset A\setminus S_0$ について $N_{G_2}(T)=N_G(T)\setminus N(S_0)$ であり、$N_G(T\cup S_0)$ は $N_G(T)\setminus N(S_0)$ と $N(S_0)$ の交わらない和集合だから、
$$|N_{G_2}(T)|=|N_G(T\cup S_0)|-|N(S_0)|\ge|T|+|S_0|-|S_0|=|T|$$
である。$|A\setminus S_0|<|A|$ なので帰納法の仮定により $A\setminus S_0$ を飽和するマッチング $M_2$ が $G_2$ にある。$G_1$ と $G_2$ の頂点集合は交わらないので $M_1\cup M_2$ は $G$ のマッチングであり、$A$ を飽和する。$\square$
この定理は、$A$ を人の集合、$b\in N(a)$ を「$a$ と $b$ は結婚してよい」と読んで、Hall の結婚定理(Hallの結婚定理)とも呼ばれる。$|A|=|B|$ なら、$A$ を飽和するマッチングは完全マッチングである。
$k\ge1$ とし、有限二部グラフ $G$ のすべての頂点の次数が $k$ である($k$ 正則、正則グラフ)とする。このとき $G$ は完全マッチングをもつ。
二部分割を $(A,B)$ とすると、すべての辺は $A$ の頂点をちょうど 1 つ端点にもつので $|E|=k|A|$、同様に $|E|=k|B|$ であり、$k\ge1$ より $|A|=|B|$ である。$S\subset A$ に接続する辺はちょうど $k|S|$ 本あり、それらの $B$ 側の端点は $N(S)$ に属する。$N(S)$ の各頂点に接続する辺は $k$ 本なので $k|S|\le k|N(S)|$、すなわち $|N(S)|\ge|S|$ である。thm-matching-graph-theory-hall により $A$ を飽和するマッチングがあり、$|A|=|B|$ だからそれは完全マッチングである。$\square$
$k=0$ の場合は、辺がないので頂点が 1 つでもあれば完全マッチングはなく、仮定 $k\ge1$ は外せない。
有限二部グラフ $G$ について $\nu(G)=\tau(G)$ である。
prop-matching-graph-theory-maximal-bound の 1 により $\nu(G)\le\tau(G)$ なので、大きさ $\tau(G)$ のマッチングを作ればよい。二部分割を $(A,B)$ とし、最小の頂点被覆 $C$ をとって $C_A:=C\cap A$、$C_B:=C\cap B$ とおく。
$C_A$ と $B\setminus C_B$ の間の $G$ の辺だけからなる二部グラフ $H_1$ を考え、$H_1$ が $C_A$ について Hall の条件を満たすことを示す。$S\subset C_A$ について $N_{H_1}(S)=N_G(S)\setminus C_B$ である。$|N_G(S)\setminus C_B|<|S|$ と仮定し、$C':=(C\setminus S)\cup(N_G(S)\setminus C_B)$ とおく。$S$ の頂点に接続する辺の $B$ 側の端点は $N_G(S)\subset C_B\cup(N_G(S)\setminus C_B)$ に属するので $C'$ に覆われ、その他の辺は $C\setminus S$ の頂点で覆われる。よって $C'$ は頂点被覆で $|C'|<|C|$ となり、$C$ の最小性に反する。したがって thm-matching-graph-theory-hall により、$H_1$ に $C_A$ を飽和するマッチング $M_1$ がある。
同様に、$C_B$ と $A\setminus C_A$ の間の辺からなる二部グラフで $C_B$ を飽和するマッチング $M_2$ がある。$M_1$ の辺の端点は $C_A\cup(B\setminus C_B)$ に、$M_2$ の辺の端点は $C_B\cup(A\setminus C_A)$ に属し、この 2 つの集合は交わらないので、$M_1\cup M_2$ は $G$ のマッチングであり、大きさは $|C_A|+|C_B|=|C|=\tau(G)$ である。$\square$
この等式は König の定理(Königの定理)と呼ばれる。二部グラフでないグラフでは一般に $\nu(G)<\tau(G)$ となりうる(ex-matching-graph-theory-counterexamples の 1)。
一般の有限グラフ $G=(V,E)$ と $S\subset V$ について、$G$ から $S$ の頂点を除いたグラフ $G-S$ の連結成分のうち頂点数が奇数のものの個数を $o(G-S)$ と書く。$G$ が完全マッチングをもつことと、すべての $S\subset V$ について $o(G-S)\le|S|$ であることは同値である(Tutte の定理、Die17 §2.2)。必要性は、完全マッチングでは奇数個の頂点からなる各成分から少なくとも 1 本の辺が $S$ に出て行き、それらの $S$ 側の端点が相異なることから分かる。この定理から、橋(除くと連結成分が増える辺)をもたない 3 正則グラフは完全マッチングをもつこと(Petersen の定理)が従う(同 §2.2)。
Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する