はむ。日記

離散数学とか解析学とかアニメについてつぶやきます。

Hallの定理とその応用

[Def]近傍

グラフ Gの任意の点集合 Sに対して、 Sのどれかの点に隣接する点の全体を Gにおける Sの近傍と呼び、 N_{G}(S) N(S)と書く。

 

 Gを2部分割 (X,Y)を持つ2部グラフとするとき、 Xの点がすべて飽和されるような Gのマッチングを見つけることは応用上重要である。

 

[Thm]Hallの定理

 Gを2部分割 (X,Y)を持つ2部グラフとする。

 G Xの点を全て飽和するマッチングを持つ \Leftrightarrow任意の S \subseteq Xに対して、 |N(S)| \geq |S|

(証明)

( \Rightarrow)

  Xの全ての点を飽和するマッチングを Mとする。

任意の S \subseteq Xを考える。

 Sを飽和する Mの辺を集めた集合を M_{S}とすると、

 |S| = |M_{S}|.

 M_{S}が飽和する Yの頂点は全て N(S)の元である。

よって、 |M_{S}| \leq |N(S)|.

つまり、 |S| \leq |N(S)|.   ■

 ( \Leftarrow)

(X,Y)を部集合に持つ2部グラフで\forall S \subseteq X,|N(S)| \geq |S|を満たすものをGとする。

そこで G Xの点を全て飽和するマッチングを持たないと仮定して矛盾を導く。

 M Gの最大マッチングとする。

仮定により、 Xに属する M非飽和点 uが存在する。

そこで、 Z M交互道によって、 uに連結するような点の全体の集合とする。

  Mは最大マッチングだから、 u Zの中で唯一の M非飽和点である。(もし、そうでないとすると M増加道が存在することになり Mの最大性に矛盾。)

 S = Z \cup X , T = Z \cup Yとおく。

明らかに S \setminus {u}の点は Mの下で Tの点とマッチングされているから

 |T| = |S| -1であり、 T \subseteq N(S)が成り立つ。

 N(S)のどの点も M交互道により uに連結されているので N(S) \subseteq T.

よって N(S) = Tが成り立つ。

よって |N(S)| = |T| = |S| - 1 < |S|となって仮定に矛盾。 ■

 

[Prob]Hallの定理を応用した面白い問題

トランプのカード52枚を4枚ずつ13個のグループへ任意に分けた時、各グループから1枚ずつカードをうまく選ぶと、A,2,3,4,5,6,7,8,9,10,J,Q,Kを1枚ずつ取り出せる。

(解答)

 A = グループに対応する頂点の集合

 B =カードのランクに対応する頂点の集合

とおく。

 Aの各点(グループのこと)に対して、その点とその点に対応するグループに属するカードのランクに対応する Bの点を辺で結ぶ。そうでないとき辺を引かない。

この操作により2部グラフができる。

 \forall S \subseteq Aを考える。

 N(S) Sに属するグループに含まれるカードのランクに対応する。

 Sに属するグループに含まれるカードの総数は 4|S|

 N(S)に対応するランクのカードの総数は 4|N(S)|

 |N(S)|< |S|と仮定する。

 |S|個のグループを N(S)に対応するランクのカードだけでつくれない。

実際 |S|個のグループをつくるには 4|S|枚のカードが必要であるが、この仮定のもとでは 4|N(S)|枚のカードしか用意できないためカードが足りなくなる。

よって |S| \leq |N(S)|.

つまりHallの定理にある条件が成り立つので Aを飽和するマッチングが存在する。

そこから各グループからどのカードを選べばよいかわかる。■