マトロイドと貪欲法 ― グラフの奥にある構造
マトロイドの公理,グラフ的マトロイド,貪欲法の最適性定理,MSTの再解釈,マトロイド交差を証明付きで解説する.
1 マトロイドの定義
定義 1 (マトロイド).
有限集合 とその部分集合族 の組 がマトロイド(matroid)であるとは,次の3条件を満たすことをいう:
(I1) 空集合:.
(I2) 遺伝性(hereditary property): かつ ならば .
(I3) 交換性質(augmentation property): かつ ならば,ある が存在して .
注意 2.
交換性質 (I3) はベクトル空間における次の事実の抽象化である: ならば の中に に追加しても線形独立性を保つベクトルが存在する.
2 グラフ的マトロイド
定義 3 (グラフ的マトロイド).
グラフ に対して,(ここで )を のグラフ的マトロイド(graphic matroid)という.
定理 4.
はマトロイドである.
証明.
(I1): は辺を持たないので閉路なし..(I2): が閉路を持たないならば も閉路を持たない.遺伝性が成り立つ.(I3):, とする. は 本の辺を持つ森であり,連結成分の数は である(木の辺数が頂点数であることによる).同様に の連結成分数は なので, は より少ない連結成分を持つ.よって のある連結成分 の2頂点を 内で結ぶ辺 が存在する. を に加えてもこの辺は の2つの連結成分を結ぶのではなく新たな閉路は生じないが,実はより正確には, の辺で の異なる2つの連結成分を結ぶ辺 が存在する(鳩の巣原理による).この を に加えても閉路は生じないので . □
定義 5 (ランク関数).
マトロイド に対して, のランクを
で定める. を のランクという.グラフ的マトロイドでは ( は連結成分数).
3 貪欲法の最適性
定義 6 (重み付きマトロイドの最適化問題).
マトロイド と重み関数 が与えられたとき, を最大にする(または最小にする)基を求める問題を考える.ここで基(basis)とは極大独立集合のことである.
定理 7 (貪欲法の最適性定理(Rado, 1957; Edmonds, 1971)).
をマトロイド, を重み関数とする. の元を重みの降順 に並べ,貪欲法
で得られる は を達成する.
証明.
を最適な独立集合とし, が最適でないと仮定する.貪欲法で選ばれた元を (), の元を重み降順に とする. を となる最初の添字とする(そのような が存在しなければ )., とおくと かつ .交換性質 (I3) より,ある が存在して . であり, は の後で(重みの降順で) より先に現れるはずだが,貪欲法がこれを選ばなかったことに矛盾する( なので選べたはず). □
4 逆の成立
定理 8 (マトロイドの特徴づけ).
有限集合 と遺伝性を満たす部分集合族 ()について,「任意の重み関数 に対して貪欲法が最適解を与える」ならば はマトロイドである.
証明.
対偶を示す. がマトロイドでない,すなわち交換性質 (I3) が破れるとする., で,任意の に対して となるものが存在する.重みを ( のとき),( のとき),(その他)と設定する( は十分小さい).貪欲法は の元を先に選び, の元を追加できないので .一方 ( が十分小なら).よって貪欲法は最適でない. □
5 Krustalアルゴリズムの再解釈
注意 9.
連結グラフ に重み が与えられたとき,最小全域木(MST)を求める Kruskal のアルゴリズムは,辺を重みの昇順に並べ,閉路を作らない辺を貪欲に追加する手続きである.これはグラフ的マトロイド 上で重みを として最大重み基を求める貪欲法そのものである.貪欲法の最適性定理により,Krustal のアルゴリズムは MST を正しく求める.
graph TD
A["マトロイド (E, I)"] --> B["グラフ的マトロイド"]
A --> C["線形マトロイド"]
A --> D["一様マトロイド"]
B --> E["Kruskal = 貪欲法"]
C --> F["線形独立性"]
E --> G["MST"]6 マトロイド交差
定義 10 (マトロイド交差).
2つのマトロイド ,(同じ台集合 )が与えられたとき, の中で最大の集合を求める問題をマトロイド交差問題(matroid intersection problem)という.
定理 11 (マトロイド交差定理(Edmonds, 1970年)).
ここで はそれぞれ のランク関数である.
注意 12.
マトロイド交差は二部マッチング(2つの分割マトロイドの交差)やアーボレセンスなど多くの組合せ最適化問題を統一的に扱える枠組みを提供する.ただし3つ以上のマトロイドの交差問題は一般に NP 困難であることが知られている.マトロイド交差は多項式時間アルゴリズムが存在し,組合せ最適化における「扱いやすさの境界」を特徴づける重要な概念である.