結婚定理とマッチング

同義語:Hallの結婚定理(高校数学)Hall's marriage theorem and matchings

概要

結婚定理とマッチング(Hall's marriage theorem and matchings)とは、有限集合 $A$、$B$ の頂点を結ぶ 2 部グラフで、$A$ の各頂点に、隣り合う $B$ の頂点を互いに異なるように割り当てられる条件を述べた定理である。Hall の結婚定理によれば、その必要十分条件は、$A$ のすべての部分集合 $S$ について、$S$ のどれかと隣り合う $B$ の頂点の個数 $\lvert N(S)\rvert$ が $\lvert S\rvert$ 以上であることである。証明は $A$ の要素の個数についての帰納法による。系として、$A$ と $B$ のどの頂点からもちょうど $k$ 本($k\ge1$)の辺が出ていれば割り当てられる。条件を 1 点の $S$ や $S=A$ だけで確かめるのでは足りず、$A$ が無限集合なら定理は成り立たない。

$$\newcommand{C}[0]{\mathbb{C}} \newcommand{div}[0]{\mathbin{÷}} \newcommand{N}[0]{\mathbb{N}} \newcommand{Q}[0]{\mathbb{Q}} \newcommand{R}[0]{\mathbb{R}} \newcommand{Z}[0]{\mathbb{Z}} $$

前提知識: 一筆書きとグラフ, 数学的帰納法と整列性

高校での出発点:仕事の割り当て

3 人 $1$、$2$、$3$ に、3 つの仕事 $a$、$b$、$c$ を 1 人 1 つずつ割り当てたい。ただし、人によってできる仕事が決まっている。全員に、できる仕事を、互いに違うように割り当てられるだろうか。
人と仕事を頂点にして、人と「その人ができる仕事」を辺で結ぶと、一筆書きとグラフ で使ったグラフの図になる(図 1)。

割り当てられる場合

人 $1$ は $a$ と $b$、人 $2$ は $a$ だけ、人 $3$ は $b$ と $c$ ができるとする。
人 $2$ には $a$ しかないので、$2\to a$ と決まる。すると人 $1$ には $b$ しか残らないので $1\to b$、人 $3$ には $c$ しか残らないので $3\to c$ である。割り当て
$$ 1\to b,\qquad 2\to a,\qquad 3\to c $$
で、全員に互いに違う仕事が割り当てられた。この場合、割り当て方はこの 1 通りしかない(人 $2$ から順に、残りが 1 つずつに決まったから)。

割り当てられない場合

人 $1$ は $a$ だけ、人 $2$ も $a$ だけ、人 $3$ は $a$、$b$、$c$ のどれでもできるとする。
人 $1$ と人 $2$ はどちらも $a$ しかできないので、2 人に互いに違う仕事を割り当てることはできない。人 $3$ にどれほど選択肢があっても、全員の割り当ては作れない。2 人 $\{1,2\}$ のできる仕事を合わせても $\{a\}$ の 1 つしかなく、人数 $2$ より少ないことが原因である(図 2)。

割り当てられる例。赤い 3 本の辺が割り当て 1→b、2→a、3→c 割り当てられる例。赤い 3 本の辺が割り当て 1→b、2→a、3→c
割り当てられない例。色をつけた 2 人 1、2 のできる仕事は a だけ 割り当てられない例。色をつけた 2 人 1、2 のできる仕事は a だけ

ex-mar-fail の原因は、「何人かを選ぶと、その人たちのできる仕事を合わせても、人数より少ない」ことだった。このような人の集まりが 1 つでもあれば割り当てられないのは当然である。驚くべきことに、逆も成り立つ。この記事で答える問いは次の 3 つである。

  1. 割り当てられるための、必要十分条件は何か。→ thm-mar-hall
  2. その条件は、何人の集まりまで確かめればよいか。1 人ずつや全員だけでは足りないか。→ ex-mar-cx-small
  3. 条件を簡単に確かめられる場合はあるか。→ cor-mar-regular
    高校の言葉この記事の言葉大学の言葉
    人と仕事を線で結んだ図2 部グラフ2 部グラフ
    1 人 1 つずつ、違う仕事を割り当てる$A$ 全体の割り当て$A$ を覆うマッチング
    何人かのできる仕事を合わせたもの$N(S)$近傍
    「どの何人を選んでも、できる仕事は人数以上」Hall の条件Hall の条件

言葉の準備:2 部グラフと割り当て

2 部グラフ・割り当て・$N(S)$

有限集合 $A$、$B$(共通の要素はない)を頂点とし、どの辺も $A$ の頂点と $B$ の頂点を結ぶグラフを 2 部グラフ という。同じ 2 頂点を結ぶ辺が 2 本以上あってもよい。$a\in A$ と $b\in B$ が辺で結ばれているとき、$a$ と $b$ は 隣り合う という。
$A$ の各頂点 $a$ に、$a$ と隣り合う $B$ の頂点 $f(a)$ を 1 つずつ対応させる写像 $f\colon A\to B$ で、$a\ne a'$ なら $f(a)\ne f(a')$ となるもの(単射)を、$A$ 全体の割り当て という。
$A$ の部分集合 $S$ に対し、$S$ のどれか 1 つ以上の頂点と隣り合う $B$ の頂点全体を $N(S)$ と書く。$N(\emptyset)=\emptyset$ とする。$S$ の要素の個数を $\lvert S\rvert$ と書く。

割り当てを辺で言うと、「どの 2 本も端点を共有しない辺の集まりで、$A$ のすべての頂点がそのどれかの端点になっているもの」である。どの 2 本も端点を共有しない辺の集まりを マッチング という(マッチング(グラフ理論))。$f(a)=b$ のとき辺 $ab$ を選べば、割り当てからマッチングが得られる。
割り当てが作れるかどうかは、どの頂点とどの頂点が隣り合うかだけで決まり、辺が何本あるかにはよらない。辺の本数が意味をもつのは、後の cor-mar-regular だけである。

$N(S)$ を全部書き出す

ex-mar-start の 2 部グラフ($A=\{1,2,3\}$、$B=\{a,b,c\}$)で、空でない部分集合 $S$ は $2^3-1=7$ 個ある。

$S$$N(S)$$\lvert S\rvert$$\lvert N(S)\rvert$
$\{1\}$$\{a,b\}$$1$$2$
$\{2\}$$\{a\}$$1$$1$
$\{3\}$$\{b,c\}$$1$$2$
$\{1,2\}$$\{a,b\}$$2$$2$
$\{1,3\}$$\{a,b,c\}$$2$$3$
$\{2,3\}$$\{a,b,c\}$$2$$3$
$\{1,2,3\}$$\{a,b,c\}$$3$$3$

どの行でも $\lvert N(S)\rvert\ge\lvert S\rvert$ である。ex-mar-fail の 2 部グラフでは、$S=\{1,2\}$ で $N(S)=\{a\}$、$\lvert N(S)\rvert=1<2=\lvert S\rvert$ となる。

Hall の条件

2 部グラフが Hall の条件 を満たすとは、$A$ のすべての部分集合 $S$ について
$$ \lvert N(S)\rvert\ge\lvert S\rvert $$
が成り立つことをいう。

$S=\emptyset$ では両辺が $0$ なので、いつも成り立つ。確かめるのは空でない $S$ で、$A$ の要素が $n$ 個なら $2^n-1$ 個ある。

主定理:Hall の結婚定理

Hall の結婚定理

$A$、$B$ が有限集合の 2 部グラフについて、次の 2 つは同値である。
(1) $A$ 全体の割り当てがある。
(2) Hall の条件を満たす。つまり、$A$ のすべての部分集合 $S$ について $\lvert N(S)\rvert\ge\lvert S\rvert$ である。

「結婚定理」の名は、$A$ を何人かの人、$B$ を結婚の相手の候補とし、各人に互いに違う相手を選べるかという言い方で述べられることが多いからである。この記事では仕事の割り当ての言い方を使う。
(1) ならば (2) は、ex-mar-fail で見た「人数より仕事が少なければ割り当てられない」の言いかえである。(2) ならば (1) が本題で、$A$ の要素の個数についての帰納法で示す。帰納法の途中で、グラフを小さくしても Hall の条件が保たれることを 2 つの補題で確かめる。

帰納法で使う 2 つの補題

Hall の条件を満たす 2 部グラフで、$A$ の部分集合 $S$ のうち、空でなく $A$ 全体でもないもの(空でない真部分集合 という)を考える。このような $S$ について、次の 2 つの場合がある。

  • 場合 1:どの空でない真部分集合 $S$ でも $\lvert N(S)\rvert\ge\lvert S\rvert+1$(余裕が 1 以上ある)。
  • 場合 2:$\lvert N(S_0)\rvert=\lvert S_0\rvert$ となる空でない真部分集合 $S_0$ がある(余裕がない)。
    場合 1 では、どれか 1 人に仕事を 1 つ割り当てて、その 2 頂点をグラフから取り除く。場合 2 では、$S_0$ と $N(S_0)$ だけのグラフと、残りのグラフの 2 つに分ける。
場合 1:1 組を取り除いても条件は保たれる

Hall の条件を満たし、場合 1 にあたる 2 部グラフで、$A$ の要素は 2 個以上とする。$a\in A$ と、$a$ と隣り合う $b\in B$ をとる。$A'=A\setminus\{a\}$、$B'=B\setminus\{b\}$ とし、$A'$ と $B'$ の間の辺だけを残した 2 部グラフを $G'$ とする。このとき $G'$ も Hall の条件を満たす。

要点:取り除くのは $B$ の頂点 $b$ の 1 つだけなので、$N(S)$ は多くとも 1 つしか減らず、場合 1 の「余裕 1」で足りる。

詳しい証明を開く

$G'$ での $N$ を $N'$ と書く。$S\subset A'$ が空なら $\lvert N'(S)\rvert=0=\lvert S\rvert$ である。$S$ が空でないとする。$a\notin S$ なので $S\ne A$ で、$S$ は $A$ の空でない真部分集合である。場合 1 だから $\lvert N(S)\rvert\ge\lvert S\rvert+1$ である。

$G'$ では $B$ の頂点のうち $b$ だけを除き、$S$ の頂点と $B'$ の頂点を結ぶ辺はすべて残している。よって $N'(S)=N(S)\setminus\{b\}$ で、$\lvert N'(S)\rvert\ge\lvert N(S)\rvert-1\ge\lvert S\rvert$ である。

場合 2:2 つに分けても条件は保たれる

Hall の条件を満たす 2 部グラフで、$S_0\subset A$ が $\lvert N(S_0)\rvert=\lvert S_0\rvert$ を満たすとする。

  • $G_1$:頂点を $S_0$ と $N(S_0)$ とし、その間の辺だけを残した 2 部グラフ。
  • $G_2$:頂点を $A\setminus S_0$ と $B\setminus N(S_0)$ とし、その間の辺だけを残した 2 部グラフ。
    このとき $G_1$ と $G_2$ はどちらも Hall の条件を満たす。

要点:$G_1$ では $N$ が変わらない。$G_2$ では、$T$ と $S_0$ を合わせた集合に Hall の条件を当て、$N(S_0)$ の分を引く。

詳しい証明を開く

$G_1$ について.$S\subset S_0$ とする。$S$ の頂点と隣り合う $B$ の頂点は、$S_0$ の頂点と隣り合うので、どれも $N(S_0)$ に入る。よって $G_1$ での $N$ は、もとのグラフの $N(S)$ と同じで、$\lvert N(S)\rvert\ge\lvert S\rvert$ がそのまま成り立つ。

$G_2$ について.$T\subset A\setminus S_0$ とし、$G_2$ での $N$ を $N_2$ と書く。$G_2$ は $B\setminus N(S_0)$ の頂点だけを残したので、$N_2(T)=N(T)\setminus N(S_0)$ である。一方、$N(T\cup S_0)=N(T)\cup N(S_0)$ で、これは共通部分のない 2 つの集合 $N_2(T)$ と $N(S_0)$ の和集合に等しい。よって $$\lvert N(T\cup S_0)\rvert=\lvert N_2(T)\rvert+\lvert N(S_0)\rvert$$ である。もとのグラフの Hall の条件を $T\cup S_0$ に当てると、$T$ と $S_0$ には共通の要素がないので $$\lvert N_2(T)\rvert=\lvert N(T\cup S_0)\rvert-\lvert N(S_0)\rvert\ge\lvert T\cup S_0\rvert-\lvert S_0\rvert=\lvert T\rvert+\lvert S_0\rvert-\lvert S_0\rvert=\lvert T\rvert$$ である。

補題を小さなグラフで確かめる
  1. 場合 1 の例.$A=\{1,2,3\}$、$B=\{a,b,c\}$ で、$1$ は $a,b$、$2$ は $b,c$、$3$ は $c,a$ と隣り合うとする。1 点の $S$ では $\lvert N(S)\rvert=2=\lvert S\rvert+1$、2 点の $S$ では $N(S)=\{a,b,c\}$ で $\lvert N(S)\rvert=3=\lvert S\rvert+1$ なので、場合 1 にあたる。lem-mar-remove の組として人 $1$ と仕事 $a$ をとり、この 2 頂点を取り除くと、残りは $2$ が $b,c$、$3$ が $c$ と隣り合うグラフで、$\lvert N(\{2\})\rvert=2$、$\lvert N(\{3\})\rvert=1$、$\lvert N(\{2,3\})\rvert=2$ となり、Hall の条件を満たす(lem-mar-remove)。
  2. 場合 2 の例.$A=\{1,2,3,4\}$、$B=\{a,b,c,d\}$ で、$1$ と $2$ は $a,b$、$3$ は $b,c,d$、$4$ は $c,d$ と隣り合うとする(図 3)。$S_0=\{1,2\}$ では $N(S_0)=\{a,b\}$ で等号である。$G_1$ は $1,2$ と $a,b$ のグラフ、$G_2$ は $3,4$ と $c,d$ のグラフで、辺 $3b$ は $G_2$ に入らない。$G_2$ では $N_2(\{3\})=\{c,d\}$、$N_2(\{4\})=\{c,d\}$、$N_2(\{3,4\})=\{c,d\}$ で、Hall の条件を満たす(lem-mar-split)。

場合 2 の分け方。青の枠が S0={1,2} と N(S0)={a,b} のグラフ G1、緑の枠が残りのグラフ G2。点線の辺 3b は G2 に入らない。赤は最後に得られる割り当て 場合 2 の分け方。青の枠が S0={1,2} と N(S0)={a,b} のグラフ G1、緑の枠が残りのグラフ G2。点線の辺 3b は G2 に入らない。赤は最後に得られる割り当て

主定理の証明

  1. ならば (2).$A$ 全体の割り当て $f$ があるとし、$S\subset A$ をとる。$S$ の各頂点 $a$ について、$f(a)$ は $a$ と隣り合うので $N(S)$ に入る。$f$ は単射なので、$S$ の $\lvert S\rvert$ 個の頂点の行き先 $f(a)$ は互いに異なる。よって $N(S)$ は少なくとも $\lvert S\rvert$ 個の異なる要素 $f(a)$($a\in S$)を含み、$\lvert N(S)\rvert\ge\lvert S\rvert$ である。
  2. ならば (1).$A$ の要素の個数 $n$ についての帰納法(強い帰納法。数学的帰納法と整列性)で示す。$n=0$ なら、何も割り当てなくてよい。
    $n=1$ のとき.$A=\{a\}$ とすると、Hall の条件から $\lvert N(\{a\})\rvert\ge1$ なので、$a$ と隣り合う $b$ がある。$f(a)=b$ とすればよい。
    $n\ge2$ のとき.$A$ の要素が $n$ 個より少ないすべての 2 部グラフで「Hall の条件を満たせば $A$ 全体の割り当てがある」が成り立つと仮定する。Hall の条件を満たし $A$ の要素が $n$ 個のグラフをとり、場合 1 と場合 2 に分ける。
    場合 1.$a\in A$ を 1 つとる。Hall の条件から $\lvert N(\{a\})\rvert\ge1$ なので、$a$ と隣り合う $b\in B$ がある。lem-mar-remove より、$a$ と $b$ を取り除いたグラフ $G'$ は Hall の条件を満たし、$A'=A\setminus\{a\}$ の要素は $n-1$ 個である。帰納法の仮定より、$G'$ で $A'$ 全体の割り当て $f'\colon A'\to B'$ がある。
    $$ f(a)=b,\qquad f(x)=f'(x)\quad(x\in A') $$
    と定める。$f'(x)$ は $B'=B\setminus\{b\}$ に入るので $b$ とは異なり、$f'$ は単射なので、$f$ も単射である。どの $f(x)$ も $x$ と隣り合う。よって $f$ は $A$ 全体の割り当てである。
    場合 2.$\lvert N(S_0)\rvert=\lvert S_0\rvert$ となる空でない真部分集合 $S_0$ がある。lem-mar-split より、$G_1$ と $G_2$ はどちらも Hall の条件を満たす。$S_0$ は空でないので $A\setminus S_0$ の要素は $n$ 個より少なく、$S_0\ne A$ なので $S_0$ の要素も $n$ 個より少ない。帰納法の仮定より、$G_1$ で $S_0$ 全体の割り当て $f_1\colon S_0\to N(S_0)$ が、$G_2$ で $A\setminus S_0$ 全体の割り当て $f_2\colon A\setminus S_0\to B\setminus N(S_0)$ がある。
    $$ f(x)=\begin{cases}f_1(x) & (x\in S_0)\\ f_2(x) & (x\in A\setminus S_0)\end{cases} $$
    と定める。$f_1$ の行き先は $N(S_0)$ に、$f_2$ の行き先は $B\setminus N(S_0)$ に入るので、$f_1$ の行き先と $f_2$ の行き先が一致することはない。$f_1$、$f_2$ はそれぞれ単射なので、$f$ は単射である。どの $f(x)$ も $x$ と隣り合う。よって $f$ は $A$ 全体の割り当てである。
    どちらの場合も $A$ 全体の割り当てがあるので、帰納法により (2) ならば (1) が示された。
証明のとおりに割り当てを作る

ex-mar-lemmas (2) のグラフで、証明の手順を追う。場合 2 の $S_0=\{1,2\}$ で分ける。
$G_1$($1,2$ と $a,b$)では、$\{1\}$ も $\{2\}$ も $N=\{a,b\}$ で余裕が $1$ あり、場合 1 にあたる。$1\to a$ と決めて取り除くと、$2$ には $b$ が残り $2\to b$。
$G_2$($3,4$ と $c,d$)でも同じく $3\to c$、$4\to d$ と決まる。
合わせて $1\to a$、$2\to b$、$3\to c$、$4\to d$ で、図 3 の赤い 4 本の辺である。このグラフの $A$ 全体の割り当ては、$1,2$ に $a,b$ を、$3,4$ に $c,d$ を配る $2\times2=4$ 通りある。$3\to b$ とすると、$1$ と $2$ に残る仕事が $a$ だけになり割り当てられない。一般に、場合 2 では $S_0$ の $\lvert S_0\rvert$ 人が $N(S_0)$ の $\lvert S_0\rvert$ 個の仕事を互いに違うように使うので、どの割り当てでも $N(S_0)$ はすべて $S_0$ の人に使われ、残りの人は $B\setminus N(S_0)$ から選ぶしかない。2 つに分けても、割り当てを見落とさない。

系:どの頂点からも同じ本数の辺が出ている場合

Hall の条件は、$2^n-1$ 個の部分集合をすべて確かめるので、$n$ が大きいと手で確かめるのは大変である。辺の本数がそろっているときは、数え方 1 つで確かめられる。

辺の本数がそろった 2 部グラフ

$k\ge1$ とする。2 部グラフで、$A$ のどの頂点からも、$B$ のどの頂点からも、ちょうど $k$ 本の辺が出ているとする(同じ 2 頂点を結ぶ辺が 2 本以上あれば、その本数を数える)。このとき $\lvert A\rvert=\lvert B\rvert$ で、$A$ 全体の割り当てがある。割り当ては $A$ と $B$ の 1 対 1 の対応になる。

段 1($\lvert A\rvert=\lvert B\rvert$).辺の本数を 2 通りに数える。どの辺もちょうど 1 つの $A$ の頂点から出ているので、辺の本数は $k\lvert A\rvert$ である。同じく $B$ の側から数えると $k\lvert B\rvert$ である。$k\lvert A\rvert=k\lvert B\rvert$ で $k\ge1$ なので、$\lvert A\rvert=\lvert B\rvert$ である。
段 2(Hall の条件).$S\subset A$ をとる。$S$ の頂点から出る辺は、全部で $k\lvert S\rvert$ 本ある。その各辺のもう一方の端点は、$S$ の頂点と隣り合うので $N(S)$ に入る。つまり、これらの辺はどれも「$N(S)$ の頂点から出る辺」でもある。$N(S)$ の頂点から出る辺は全部で $k\lvert N(S)\rvert$ 本なので
$$ k\lvert S\rvert\le k\lvert N(S)\rvert $$
である。$k\ge1$ で割ると $\lvert S\rvert\le\lvert N(S)\rvert$ となり、Hall の条件が成り立つ。
段 3(結論).thm-mar-hall より $A$ 全体の割り当て $f$ がある。$f$ は単射で、$\lvert A\rvert=\lvert B\rvert$ なので、$f$ の行き先は $B$ のすべての頂点を 1 回ずつ使う。よって $f$ は $A$ と $B$ の 1 対 1 の対応である。

トランプを山に分ける
  1. 小さな場合.数字 $1,1,2,2,3,3$ の 6 枚のカードを、2 枚ずつ 3 つの山 $\{1,1\}$、$\{2,3\}$、$\{2,3\}$ に分ける。$A$ を 3 つの山、$B$ を 3 つの数字とし、カード 1 枚ごとに「そのカードの山」と「そのカードの数字」を辺で結ぶ。山 1 と数字 $1$ は 2 本の辺で結ばれる。どの山からも 2 本(山の枚数)、どの数字からも 2 本(その数字の枚数)の辺が出ているので、cor-mar-regular が使える($k=2$)。実際、山 1 から $1$、山 2 から $2$、山 3 から $3$ を選べば、3 つの数字が 1 枚ずつそろう(山 2 から $3$、山 3 から $2$ を選んでもよい)。
  2. トランプ 52 枚.よく切った 52 枚を 4 枚ずつ 13 の山に分ける。$A$ を 13 の山、$B$ を 13 の数字 A, 2, …, 10, J, Q, K とし、カード 1 枚ごとに山と数字を辺で結ぶ。どの山からも 4 本、どの数字からも 4 本(4 つのマーク)の辺が出るので、$k=4$ で cor-mar-regular が使える。山と数字の 1 対 1 の対応 $f$ があり、各山から数字 $f(\text{山})$ のカードを 1 枚ずつ選ぶと、A から K までの 13 の数字が 1 枚ずつそろう。どう分けても、このように選べる。

例と反例

thm-mar-hall と cor-mar-regular の条件のうち、どれを外すと何が崩れるかを表にする。

外す条件反例成り立たなくなること
Hall の条件を 1 点の $S$ だけで確かめるex-mar-fail のグラフ(ex-mar-cx-small)「条件を満たせば割り当てられる」
Hall の条件を $S=A$ だけで確かめる同じグラフ(ex-mar-cx-small)「条件を満たせば割り当てられる」
$A$ が有限$a_0$ がすべての $b_i$ と、$a_i$ が $b_i$ だけと隣り合う(ex-mar-cx-infinite)「条件を満たせば割り当てられる」
cor-mar-regular で $B$ の側も $k$ 本$1,2,3$ がどれも $a,b$ と隣り合う(ex-mar-cx-degree)系の結論(割り当てがある)
反例:1 点ずつと全体だけでは足りない

ex-mar-fail のグラフ($1$ は $a$、$2$ は $a$、$3$ は $a,b,c$)では、1 点の $S$ について $\lvert N(\{1\})\rvert=\lvert N(\{2\})\rvert=1$、$\lvert N(\{3\})\rvert=3$ で、どれも $\lvert S\rvert=1$ 以上である。全体 $S=A$ でも $N(A)=\{a,b,c\}$ で $3\ge3$ である。それでも $S=\{1,2\}$ で $\lvert N(S)\rvert=1<2$ となり、割り当てはない。「全員が何かの仕事をできる」ことと「仕事の総数が人数以上」であることだけでは足りず、途中の大きさの $S$ も確かめる必要がある。

反例:$A$ が無限集合のとき

$A=\{a_0,a_1,a_2,\dots\}$、$B=\{b_1,b_2,\dots\}$ とし、$a_0$ はすべての $b_i$ と、$a_i$($i\ge1$)は $b_i$ だけと隣り合うとする(図 5)。
$A$ の有限部分集合 $S$ はどれも $\lvert N(S)\rvert\ge\lvert S\rvert$ を満たす。$a_0\notin S$ なら $N(S)=\{b_i\mid a_i\in S\}$ で、$\lvert N(S)\rvert=\lvert S\rvert$ である。$a_0\in S$ なら $N(S)$ は $B$ 全体で、無限個の要素をもつ。$S$ が無限集合のときも、$S$ に入る $a_i$($i\ge1$)ごとに $b_i$ が $N(S)$ に入るか、$a_0\in S$ で $N(S)=B$ となるので、$N(S)$ は無限集合である。したがって、$S$ の頂点に比べて $N(S)$ の頂点が足りない、ということはどの $S$ でも起こらない。
しかし $A$ 全体の割り当て $f$ はない。$f(a_0)=b_j$ とすると、$a_j$ と隣り合うのは $b_j$ だけなので $f(a_j)=b_j=f(a_0)$ となり、単射にならない。thm-mar-hall の証明の帰納法は $A$ の要素の個数についてのもので、$A$ が有限でないと使えない。

A のどの頂点からも 2 本の辺が出るが、B の頂点 c からは辺が出ていない 2 部グラフ A のどの頂点からも 2 本の辺が出るが、B の頂点 c からは辺が出ていない 2 部グラフ
a0 はすべての bi と、ai は bi だけと隣り合う無限の 2 部グラフ。赤い辺は ai が使える唯一の辺 a0 はすべての bi と、ai は bi だけと隣り合う無限の 2 部グラフ。赤い辺は ai が使える唯一の辺
反例:$B$ の側の辺の本数がそろっていない

$A=\{1,2,3\}$、$B=\{a,b,c\}$ で、$1$、$2$、$3$ がどれも $a$ と $b$ の 2 つと隣り合うとする(図 4)。$A$ のどの頂点からも 2 本の辺が出ているが、$B$ の側は $a$ から 3 本、$b$ から 3 本、$c$ から 0 本で、そろっていない。$S=A$ で $N(A)=\{a,b\}$、$\lvert N(A)\rvert=2<3$ なので、割り当てはない。cor-mar-regular の証明の段 2 で「$N(S)$ の頂点から出る辺は $k\lvert N(S)\rvert$ 本」を使ったが、ここでは $N(A)$ の頂点から出る辺は $6$ 本で、$2\lvert N(A)\rvert=4$ 本ではない。

大学数学で見る

集合の族から代表を選ぶ

相異なる代表の言い方

$B$ の部分集合 $X_1,X_2,\dots,X_n$ から、要素 $x_1\in X_1$、$x_2\in X_2$、…、$x_n\in X_n$ を互いに異なるように選べるか、という問題を考える。$A=\{1,2,\dots,n\}$ とし、$i\in A$ と $x\in X_i$ を辺で結ぶと、$N(\{i\})=X_i$ で、$S\subset A$ について $N(S)$ は $S$ に入る $i$ の $X_i$ の和集合である。よって thm-mar-hall は次のように言いかえられる。
$X_1,\dots,X_n$ から互いに異なる代表を選べるための必要十分条件は、添字のどの集まり $I\subset\{1,\dots,n\}$ についても
$$ \left\lvert\,\bigcup_{i\in I}X_i\,\right\rvert\ge\lvert I\rvert $$
が成り立つことである。

たとえば ex-mar-start は $X_1=\{a,b\}$、$X_2=\{a\}$、$X_3=\{b,c\}$ から代表を選ぶ問題で、$X_1\cup X_2=\{a,b\}$ のような和集合の個数を数えることになる。和集合の要素の個数は 集合の要素の個数と包除原理 で扱う。

割り当てられないとき、何人まで割り当てられるか

Hall の条件が崩れるとき、$\lvert S\rvert-\lvert N(S)\rvert$ が「足りない仕事の数」である。その最大値が、割り当てられない人数の最小値になる。

割り当てられる人数の最大値

$A$、$B$ が有限集合の 2 部グラフで、$\delta=\max_{S\subset A}\bigl(\lvert S\rvert-\lvert N(S)\rvert\bigr)$ とする($S=\emptyset$ で $0$ なので $\delta\ge0$)。$A$ の部分集合 $A_1$ 全体の割り当て($A_1$ の各頂点に、隣り合う $B$ の頂点を互いに異なるように対応させること)ができる $A_1$ の要素の個数の最大値は、$\lvert A\rvert-\delta$ である。

要点:$\lvert S\rvert-\lvert N(S)\rvert$ 人はどうしても余る。逆に、$B$ に「だれとでも隣り合う架空の仕事」を $\delta$ 個足すと Hall の条件が成り立つ。

詳しい証明を開く

$\lvert A\rvert-\delta$ 以下であること.$A_1$ 全体の割り当て $f$ があるとし、$\lvert S\rvert-\lvert N(S)\rvert=\delta$ となる $S$ をとる。$S\cap A_1$ の頂点の行き先は互いに異なり、どれも $N(S)$ に入るので、$\lvert S\cap A_1\rvert\le\lvert N(S)\rvert$ である。よって $S$ の頂点のうち $A_1$ に入らないものは $\lvert S\rvert-\lvert N(S)\rvert=\delta$ 個以上あり、$\lvert A_1\rvert\le\lvert A\rvert-\delta$ である。

$\lvert A\rvert-\delta$ 人を割り当てられること.$B$ に新しい頂点を $\delta$ 個足し、どれも $A$ のすべての頂点と辺で結ぶ。新しいグラフでの $N$ を $N^{+}$ と書くと、空でない $S$ では $N^{+}(S)=N(S)\cup(\text{新しい }\delta\text{ 個})$ なので $\lvert N^{+}(S)\rvert=\lvert N(S)\rvert+\delta\ge\lvert N(S)\rvert+\bigl(\lvert S\rvert-\lvert N(S)\rvert\bigr)=\lvert S\rvert$ である。thm-mar-hall より、新しいグラフで $A$ 全体の割り当て $g$ がある。新しい頂点は $\delta$ 個で、$g$ は単射なので、新しい頂点に割り当てられた $A$ の頂点は $\delta$ 個以下である。それ以外の頂点全体を $A_1$ とすると、$\lvert A_1\rvert\ge\lvert A\rvert-\delta$ で、$g$ を $A_1$ に制限したものは、もとのグラフでの $A_1$ 全体の割り当てである。

割り当てられる人数を求める

ex-mar-fail のグラフでは、$S=\{1,2\}$ で $\lvert S\rvert-\lvert N(S)\rvert=2-1=1$、ほかの $S$ ではこの値は $0$ 以下なので $\delta=1$ で、最大 $3-1=2$ 人を割り当てられる。実際、$1\to a$、$3\to b$ で 2 人を割り当てられ、$1$ と $2$ のどちらかは必ず余る。

最大のマッチングとネットワークの流れ

prop-mar-deficiency の最大値は、2 部グラフの 最大のマッチング(端点を共有しない辺をできるだけ多く選んだもの)の辺の数である。大学のグラフ理論では、最大のマッチングの辺の数が、「どの辺にも少なくとも一方の端点が入る頂点の集まり」の要素の個数の最小値に等しいこと(König の定理)が知られている。この記事では証明しない。
KT17 の節 14.2 は、2 部グラフの最大のマッチングを、辺に向きと容量をつけたネットワークの最大の流れとして求める方法を述べ、その方法で割り当てが広げられなくなったときに見つかる頂点の集まり(人の数より仕事の数が少ない集まり)を手がかりに、Hall の定理(Theorem 14.7)を述べている。Lev24 の節 2.7 は Hall の結婚定理(Theorem 2.7.1)を述べ、トランプを 13 の山に分ける ex-mar-cards (2) の問題を例 2.7.2 として扱っている。

演習

割り当てを見つける

$A=\{1,2,3,4\}$、$B=\{a,b,c,d\}$ で、$1$ は $a,b$、$2$ は $b,c$、$3$ は $a,c$、$4$ は $c,d$ と隣り合う。$A$ 全体の割り当てを 1 つ見つけ、全部で何通りあるか求めよ。

解答を開く

$4$ が $c$ を使うと、$1,2,3$ に $a,b$ の 2 つしか残らないので割り当てられない($S=\{1,2,3\}$ に対し $N(S)=\{a,b,c\}$ から $c$ を除くと 2 個)。よって $4\to d$ である。残りの $1,2,3$ と $a,b,c$ で、$1\to a$ なら $3\to c$、$2\to b$。$1\to b$ なら $2\to c$、$3\to a$。割り当ては $1\to a,2\to b,3\to c,4\to d$ と $1\to b,2\to c,3\to a,4\to d$ の 2 通りである。

Hall の条件が崩れる集まりを見つける

$A=\{P,Q,R,T\}$、$B=\{x,y,z\}$ で、$P$ は $x,y$、$Q$ は $x$、$R$ は $x,y,z$、$T$ は $y$ と隣り合う。$A$ 全体の割り当てがないことを、Hall の条件が崩れる部分集合を示して確かめよ。また、最大何人を割り当てられるか。

解答を開く

$N(\{P,Q,T\})=\{x,y\}$ で、$2<3$ である($A$ 全体でも $N(A)=\{x,y,z\}$ で $3<4$)。$\lvert S\rvert-\lvert N(S)\rvert$ の最大値は $1$ なので、prop-mar-deficiency より最大 $4-1=3$ 人で、たとえば $Q\to x$、$T\to y$、$R\to z$ である。

さらに先へ

関連項目

参考文献

Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する