二部グラフの魔法 ― なぜ二部グラフではすべてが上手くいくのか
奇数閉路がないだけで,マッチング・彩色・被覆がすべて効率的に解ける ― 二部グラフの驚くべき性質を解説します.König の定理の直感と,競技プログラミングでの帰着パターンも紹介します.
グラフ理論には「二部グラフではすべてが上手くいく」という経験則があります.一般のグラフでは NP 完全になる問題が,二部グラフに制限すると多項式時間で解けてしまうことが驚くほど多いのです.この記事では,なぜ二部グラフがそんなに特別なのかを探ります.
1 二部グラフとは
学生と企業のマッチング,タスクとマシンの割り当て,問題と解法の対応 ― 二部グラフは「2種類のものの間の関係」を表す自然なモデルです.
2 奇数閉路がない ― たったこれだけ
二部グラフの特徴づけは驚くほどシンプルです.
この「BFS で2色塗りできる」という特徴づけは,二部グラフの判定がでできることも意味しています.
3 マッチング ― 二部グラフの華
一般のグラフでも最大マッチングは多項式時間で求められます(Edmondsのアルゴリズム).しかし二部グラフではもっと簡単です ― 最大フローに帰着できるからです.
4 König の定理 ― マッチングと被覆の双対性
二部グラフで最も美しい定理のひとつが König の定理です.
5 彩色 ― 一般グラフの NP 完全が二部では自明に
一般のグラフでかどうかを判定するのは NP 完全です.しかし二部グラフでは:
これは定義から明らかです ― 二部グラフの定義が「2色で塗れる」ということそのものだからです.
6 独立集合 ― König と補集合の関係
一般のグラフでの最大独立集合問題は NP 完全ですが,二部グラフでは:
7 Hall の定理 ― 完全マッチングの条件
8 競プロでの帰着パターン
二部マッチング:「最大いくつのペアを作れるか」→ 最大マッチング
最小頂点被覆:「最小いくつの点で全辺をカバーするか」→ König の定理で最大マッチングに帰着
最大独立集合:「互いに矛盾しない最大集合」→
辺彩色:二部グラフの辺彩色数 = 最大次数(König の辺彩色定理)
9 まとめ ― なぜ二部グラフは特別なのか
二部グラフ 奇数閉路がない 2色で塗れる
König の定理により,最大マッチング = 最小頂点被覆
その帰結として,最大独立集合もマッチングから求められる
彩色数は自明に2
一般グラフで NP 完全な問題の多くが,二部グラフでは多項式時間で解ける
奇数閉路がないというたったひとつの構造的性質が,これほど多くの恩恵をもたらす ― これが二部グラフの魔法の正体です.
次の記事では,グラフの「かたち」そのものに注目します.平面グラフの驚くべき性質と四色定理について考えます.