1 交互道と増加道
定義 1.1. 有限二部グラフG=(X⊔Y,E)とマッチングM⊆Eをとる。Mに被覆されない頂点を M-非飽和頂点 (M-unsaturated vertex) という。
Gの道v0,v1,…,vkが M-交互道 (M-alternating path) であるとは、辺vi−1vi(1≤i≤k)がMに属するか属さないかがiとともに交互に入れ替わることをいう。長さ0の道もM-交互道とみなす。
M-交互道v0,v1,…,vkが M-増加道 (M-augmenting path) であるとは、k≥1であり、両方の端点v0とvkがいずれもM-非飽和頂点であることをいう。
M-増加道の定義から両端点が非飽和であるという条件を落とすと、後の特徴づけは成り立たない。飽和した端点をもつ交互道に沿って辺の所属を入れ替えると、その端点がMの二本の辺に接する場合が生じ、得られる辺集合がマッチングにならないからである。
補題 1.3. 有限二部グラフGのマッチングMとM-増加道P: v0,v1,…,vkについて、kは奇数である。さらにPの辺のうちMに属さないものは(k+1)/2本、Mに属するものは(k−1)/2本である。
証明. 両端点v0とvkはM-非飽和であるから、v0に接する辺v0v1とvkに接する辺vk−1vkはいずれもMに属さない。PはM-交互道であるから、辺vi−1viがMに属するかどうかはiとともに交互に入れ替わる。最初の辺v0v1がMに属さないので、vi−1viがMに属することとiが偶数であることは同値である。最後の辺vk−1vkがMに属さないのでkは奇数である。
1≤i≤kのうちiが奇数であるものは(k+1)/2個、偶数であるものは(k−1)/2個であるから、Mに属さない辺は(k+1)/2本、Mに属する辺は(k−1)/2本である。▨
特徴づけの証明では、二つのマッチングの対称差がどのような形をしているかを用いる。対称差では各頂点が二本以下の辺に接するので、次の補題が形を決める。
補題 1.4. 有限グラフHのすべての頂点の次数が2以下であるとする。このときHの各連結成分Kについて、次のいずれかが成り立つ。
- Kの頂点をu0,u1,…,ur(r≥0)と並べて、Kの辺全体が{ui−1ui: 1≤i≤r}に一致するようにすることができる。このときKは道である。
- Kの頂点をu0,u1,…,ur(r≥2)と並べて、Kの辺全体が{ui−1ui: 1≤i≤r}∪{uru0}に一致するようにすることができる。このときKは閉路である。
証明.KをHの連結成分とする。Kの頂点は有限個であるから、Kに含まれる道の長さは有界であり、長さが最大である道P: u0,u1,…,urが存在する。
r=0の場合を先に扱う。u0に隣接する頂点wが存在すればu0,wが長さ1の道となって最大性に反するので、u0の次数は0である。Kは連結であるからKはu0だけからなり、(1)が成り立つ。
以下r≥1とする。u0に隣接する頂点wがPに現れないと仮定すると、w,u0,u1,…,urがPより長い道となって最大性に反する。よってu0に隣接する頂点はすべてPに現れる。同じ理由で、urに隣接する頂点もすべてPに現れる。また、0<i<rを満たすuiはui−1とui+1に隣接し、次数が2以下であるから、これ以外の頂点には隣接しない。
u0がu1以外の頂点に隣接しない場合を考える。urがur−1以外の頂点に隣接すると仮定すると、その頂点はPに現れるのでuj(0≤j≤r−2)と書くことができる。j=0ならばu0がu1以外の頂点に隣接することになって仮定に反する。0<jならばujはuj−1、uj+1およびurの三頂点に隣接し、次数が3になって仮定に反する。よってurもur−1以外の頂点に隣接しない。したがってPのどの頂点もPの辺以外の辺に接しない。Kは連結であるから、Kの頂点はすべてPに現れ、Kの辺はPの辺だけである。よって(1)が成り立つ。
u0がu1以外の頂点uiに隣接する場合を考える。自己ループが無いのでi=0であり、i=1であるからi≥2である。i<rと仮定すると、uiはui−1、ui+1およびu0の三頂点に隣接して次数が3になり、仮定に反する。よってi=rであり、r≥2である。このときu0,u1,…,ur,u0は閉路である。この閉路に現れる各頂点は既に二つの頂点に隣接しているので、次数が2以下であることからこれ以外の頂点には隣接しない。Kは連結であるから、Kの頂点はすべてこの閉路に現れ、Kの辺はこの閉路の辺だけである。よって(2)が成り立つ。▨
1.1 証明方針
増加道が存在すれば最大でないことは、増加道に沿って辺の所属を入れ替えた辺集合を作り、それがマッチングであって辺数が一つ多いことを確かめれば従う。確かめる点は、入れ替えた後も各頂点が高々一本の辺に接することである。
逆向き、すなわち最大でなければ増加道が存在することが本質的である。辺数の大きいマッチングM′をとり、MとM′の対称差を辺集合とする部分グラフHを考える。各頂点はMの辺に高々一本、M′の辺に高々一本しか接しないので、Hにおける次数は2以下であり、補題 1.4によりHの各連結成分は道か閉路である。Hの辺はMとM′に交互に属するから、閉路成分は両者を同数含む。M′の辺の総数がMの辺の総数より多いことから、M′の辺をMの辺より多く含む成分が存在し、それは閉路ではなく、両端の辺がM′に属する道である。最後に、その道の両端点がM-非飽和であることを確かめる。ここで、端点がMとM′の共通の辺で被覆されている可能性を排除する必要がある。
定理 1.5. 有限二部グラフGのマッチングMについて、Mが最大マッチングであることと、M-増加道が存在しないことは同値である。
証明. 増加道が存在すれば最大でないこと。M-増加道P: v0,v1,…,vkをとる。補題 1.3によりkは奇数であり、Pの辺のうちMに属さないものが(k+1)/2本、属するものが(k−1)/2本である。Pの辺集合をE(P)と書き、
M′=(M∖E(P))∪(E(P)∖M)と置く。M′がマッチングであることを示す。頂点wをとる。wがPに現れないならば、wに接するM′の辺はwに接するMの辺と同じであるから高々一本である。wがPの内部の頂点vi(0<i<k)であるならば、wに接するPの辺はちょうど二本vi−1viとvivi+1であり、交互性によりそのうち一本がMに属し他方が属さない。したがってM′では、Mに属していた方が外れ、属していなかった方が入るので、wに接するPの辺のうちM′に属するものはちょうど一本である。さらに、Pに現れない辺でwに接しMに属するものは存在しない。もし存在すれば、wはP上のMの辺と合わせてMの二本の辺に接することになり、Mがマッチングであることに反する。wが端点v0またはvkであるならば、wはM-非飽和であるからMの辺に接しておらず、M′ではP上のMに属さない辺一本だけに接する。以上よりM′はマッチングである。辺数は
∣M′∣=∣M∣−2k−1+2k+1=∣M∣+1であるから、Mは最大マッチングではない。
最大でなければ増加道が存在すること。Mが最大でないとし、∣M′∣>∣M∣を満たすマッチングM′をとる。辺集合
D=(M∖M′)∪(M′∖M)と、Dの辺の端点全体を頂点集合とする部分グラフHを考える。Hの各頂点は、Mの辺に高々一本、M′の辺に高々一本しか接しないので、Hにおける次数は1または2である。したがって補題 1.4により、Hの各連結成分は道または閉路である。また、Hにおいて同じ頂点に接する二本の辺が同時にMに属することはなく、同時にM′に属することもないから、道または閉路に沿って辺はM∖M′とM′∖Mに交互に属する。とくに各成分はM-交互道またはM-交互な閉路である。
閉路成分の長さが偶数であることを示す。閉路を一周すると辺の属する側が一本ごとに入れ替わる。長さが奇数であるとすると、一周して戻ったところで同じ側の二本の辺が一つの頂点に接することになり、その頂点がMの二本の辺に接するかM′の二本の辺に接することになって、マッチングであることに反する。よって閉路成分の長さは偶数であり、Mの辺とM′の辺を同数含む。∣M′∖M∣=∣M′∣−∣M∩M′∣>∣M∣−∣M∩M′∣=∣M∖M′∣であるから、H全体ではM′の辺がMの辺より多い。ゆえにM′の辺をMの辺より多く含む成分が存在し、それは閉路ではなく道である。その道をQとする。Qの辺はM∖M′とM′∖Mに交互に属するので、両者の本数の差は1以下である。QはM′の辺をMの辺より多く含むから、差はちょうど1であり、Qの長さは奇数で、Qの両端の辺はいずれもM′∖Mに属する。
Qの端点wがM-非飽和であることを示す。wに接するHの辺はQの端の辺ただ一本であり、それはM′∖Mに属する。wがMに被覆されていると仮定し、その辺をe∈Mとする。eはHの辺ではないのでe∈M∩M′である。するとwはM′の二本の辺、すなわちeとQの端の辺に接することになり、M′がマッチングであることに反する。よってwはM-非飽和である。もう一方の端点についても同じ議論が成り立つ。
したがってQは両端点がM-非飽和であるM-交互道であり、長さは1以上であるからM-増加道である。▨
増加道による特徴づけは、最大性の判定を有限の探索へ置き換える。次の命題は、この探索を繰り返す手続きが最大マッチングを与えることを述べる。
命題 1.6. 有限二部グラフG=(X⊔Y,E)について、M=∅から出発し、M-増加道が存在するかぎり一つ選んで定理 1.5の証明にある入れ替えを行い、その結果を新しいMとする手続きを考える。この手続きは高々min{∣X∣,∣Y∣}回の反復で停止し、停止時のMは最大マッチングである。
証明. ループ不変条件(§D2.8 定義 1.1)として「Mはマッチングである」をとる。初期化ではM=∅がマッチングであるから成り立つ。維持は定理 1.5の証明の前半が与える。すなわちM-増加道に沿う入れ替えの結果はマッチングであり、辺数はちょうど1増える。
停止性を示す。マッチングの各辺はXの相異なる頂点とYの相異なる頂点を用いるから、任意のマッチングの辺数はmin{∣X∣,∣Y∣}以下である。m=min{∣X∣,∣Y∣}と置き、ループの状態に対して変量V=m−∣M∣を定めると、Vは非負整数であり、本体を一度実行するたびに∣M∣が1増えるので狭義に減少する。§D2.8 命題 1.4により手続きは有限回で停止し、Vの初期値がmであるから反復回数はm以下である。
停止時にはループの継続条件が偽であり、M-増加道が存在しない。不変条件によりMはマッチングであるから、定理 1.5によりMは最大マッチングである。この形の議論が正当性を与えることは§D2.8 定理 1.2による。▨
2 頂点被覆と弱い向きの不等式
定義 2.1. 有限二部グラフG=(X⊔Y,E)について、頂点集合C⊆X⊔Yが頂点被覆 (vertex cover) であるとは、Eのすべての辺が少なくとも一方の端点をCにもつことをいう。頂点数∣C∣が最小である頂点被覆の頂点数をτ(G)と書く。ここでの最小は頂点数についての最小であり、包含に関する極小とは異なる。
命題 2.2. 有限二部グラフGについてν(G)≤τ(G)が成り立つ。
証明.Mをマッチング、Cを頂点被覆とする。Mの各辺eは少なくとも一方の端点をCにもつので、その端点の一つを選んでψ(e)∈Cと定める。Mの相異なる二辺は端点を共有しないから、ψは単射である。よって∣M∣≤∣C∣が成り立つ。Mを最大マッチング、Cを頂点数が最小の頂点被覆にとるとν(G)≤τ(G)を得る。▨
3 Kőnig の定理
命題 2.2により、頂点数がν(G)に等しい頂点被覆を一つ構成すれば、マッチングと頂点被覆の最適性が同時に確定して等式が従う。構成は最大マッチングMから出発する。XのM-非飽和頂点全体をUとし、Uの頂点から出発して最初の辺がMに属さないM-交互道でたどり着くことのできる頂点全体をZとする。二部グラフでは、このような交互道はXの頂点からMに属さない辺でYへ移り、Mの辺でXへ戻る、という往復を繰り返す。したがってZ∩Yの頂点はMに属さない辺で到達され、Uに属さないZ∩Xの頂点はMの辺で到達される。この構造を三つの主張として取り出したものが次の補題である。
補題 3.1. 有限二部グラフG=(X⊔Y,E)の最大マッチングをMとし、XのM-非飽和頂点全体をUとする。頂点vが Uから交互に到達可能であるとは、あるu∈UからvへのM-交互道であって、長さが0であるか最初の辺がMに属さないものが存在することをいう。Uから交互に到達可能な頂点全体をZと書く。このとき次の三つが成り立つ。
- x∈Z∩Xかつx∈/Uならば、xはMに被覆され、xを被覆するMの辺の他方の端点はZ∩Yに属する。
- y∈Z∩Yならば、yはMに被覆され、yを被覆するMの辺の他方の端点はZ∩Xに属する。
- x∈Z∩Xかつxy∈E∖Mならばy∈Zである。
証明. まずZの定義に現れる道の形を確かめる。u∈Uから出発し最初の辺がMに属さないM-交互道u=v0,v1,…,vkをとる。交互性により、辺vi−1viはiが偶数のときMに属し、iが奇数のときMに属さない。u∈Xであり各辺がXとYをまたぐので、viはiが偶数のときXに、奇数のときYに属する。したがって、終点がYに属するときはkが奇数で最後の辺はMに属さず、終点がXに属するときはkが偶数で、k≥2ならば最後の辺はMに属する。また、この道の始点側の部分列v0,…,vjは再び同じ条件を満たすM-交互道であるから、道に現れるすべての頂点はZに属する。
(1)を示す。x∈Z∩Xかつx∈/Uとする。xへ至る上の形の道v0,…,vkをとると、kは偶数である。k=0ならばx=u∈Uとなって仮定に反するのでk≥2であり、最後の辺vk−1vk=vk−1xはMに属する。よってxはMに被覆され、その辺の他方の端点vk−1は道上の頂点であるからZに属し、k−1が奇数であるからYに属する。
(2)を示す。y∈Z∩Yとし、yへ至る上の形の道P: v0,…,vkをとる。kは奇数であり、最後の辺はMに属さない。
yがM-非飽和であると仮定する。Pの始点v0=uはUに属するのでM-非飽和であり、k≥1であるから、Pは両端点がいずれもM-非飽和であるM-交互道、すなわちM-増加道である。これはMが最大マッチングであることと定理 1.5に反する。よってyはMに被覆される。
yを被覆するMの辺をxyとする。x∈Xである。xがPに現れるならば、上に述べたとおりx∈Zである。xがPに現れないならば、Pの末尾に辺yxを付け加えた列v0,…,vk,xは頂点がすべて相異なるので道であり、Pの最後の辺がMに属さずyxがMに属するので交互性も保たれる。よってこの道はZの定義の条件を満たし、x∈Zである。いずれの場合もx∈Z∩Xとなる。
(3)を示す。x∈Z∩Xかつxy∈E∖Mとする。xへ至る上の形の道P: v0,…,vkをとるとkは偶数である。yがPに現れるならばy∈Zである。yがPに現れないならば、列v0,…,vk,yは道である。k=0のときこの道の最初の辺はxyでありMに属さないので条件を満たし、k≥2のときPの最後の辺はMに属しxyは属さないので交互性が保たれる。いずれの場合もy∈Zである。▨
3.1 証明方針
構成する頂点被覆は
C=(X∖Z)∪(Y∩Z)
である。示すべきことは二つあり、それぞれ別に証明する。
第一に、Cが頂点被覆であること、すなわちx∈Zかつy∈/Zを満たす辺xyが存在しないことである。ここでは辺がMに属する場合と属さない場合に分け、前者に(1)を、後者に (3) を用いる。
第二に、∣C∣≤∣M∣であることである。そのために、Cの各頂点をそれを被覆するMの辺へ写す対応が定まり、しかも単射であることを示す。対応が定まることには、X∖Zの頂点が非飽和ならばUに属してZに入ってしまうことと、Y∩Zの頂点が飽和するという(2)を用いる。単射であることには、X側の頂点とY側の頂点が同じ辺へ写る場合を排除する必要があり、そこで再び(2)を用いる。
最後に、主張1 と主張2 から得られる不等式と命題 2.2の不等式を並べると、不等号の連鎖がすべて等号になり、ν(G)=τ(G)が従う。
定理 3.2 (Kőnig の定理). 有限二部グラフGについて、最大マッチングの辺数と最小頂点被覆の頂点数は等しい。すなわちν(G)=τ(G)が成り立つ。
証明. 最大マッチングMをとる。UとZを補題 3.1のとおりに定め、
C=(X∖Z)∪(Y∩Z)と置く。XとYは交わらないので、この合併は交わらない二つの集合の合併である。
主張1:Cは頂点被覆である。辺xy∈E(x∈X、y∈Y)をとり、x∈/Cかつy∈/Cであると仮定する。x∈/X∖Zよりx∈Zであり、y∈/Y∩Zよりy∈/Zである。
xy∈/Mの場合、補題 3.1 (3)によりy∈Zとなり、y∈/Zに反する。
xy∈Mの場合、xはMに被覆されるのでx∈/Uである。補題 3.1 (1)により、xを被覆するMの辺の他方の端点がZに属する。Mはマッチングであるからxを被覆するMの辺はxyただ一本であり、その他方の端点はyである。よってy∈Zとなり、y∈/Zに反する。
いずれの場合も矛盾するので、Eのすべての辺は少なくとも一方の端点をCにもつ。よってCは頂点被覆である。
主張2:∣C∣≤∣M∣である。まずCの各頂点がMに被覆されることを示す。x∈X∖ZがM-非飽和であるとするとx∈Uであり、長さ0の道によりx∈Zとなってx∈/Zに反する。よってX∖Zの頂点はMに被覆される。Y∩Zの頂点がMに被覆されることは補題 3.1 (2)による。
そこで、Cの各頂点vに対し、vを被覆するMの辺φ(v)を対応させる。Mはマッチングであるから、vを被覆するMの辺はただ一本であり、φは矛盾なく定まる。φが単射であることを示す。φ(v)=φ(v′)=eかつv=v′とすると、vとv′はともにeの端点であるから、一方がXに、他方がYに属する。Xに属する方をx、Yに属する方をyとすると、x∈X∖Zかつy∈Y∩Zかつxy=e∈Mである。ところが補題 3.1 (2)により、yを被覆するMの辺の他方の端点はZに属するのでx∈Zとなり、x∈/Zに反する。よってφは単射であり∣C∣≤∣M∣が成り立つ。
結論。Mは最大マッチングであるから∣M∣=ν(G)である。Cは頂点被覆であるからτ(G)≤∣C∣である。主張2 と命題 2.2を合わせると
τ(G)≤∣C∣≤∣M∣=ν(G)≤τ(G)となり、すべてが等号で結ばれる。よってν(G)=τ(G)であり、あわせて∣C∣=∣M∣=ν(G)が得られる。▨
4 検算例
例 4.1 (最大マッチングと最小頂点被覆の手計算).X={x1,x2,x3}、Y={y1,y2,y3}とし、辺集合を
E={x1y1, x2y1, x3y1, x3y2, x3y3}と定める。
最大マッチングの辺数。M={x1y1, x3y2}はマッチングであるからν(G)≥2である。辺数3のマッチングが存在すると仮定すると、x1、x2、x3のそれぞれが相異なるYの頂点と組になる。ところがx1に接する辺はx1y1だけ、x2に接する辺はx2y1だけであるから、x1とx2はともにy1と組になるほかなく、マッチングであることに反する。よってν(G)=2である。
構成による頂点被覆。上のM={x1y1, x3y2}について、XのM-非飽和頂点はx2だけであるからU={x2}である。x2から出発する交互道をたどる。x2に接する辺はx2y1∈/Mだけであるからy1∈Zである。y1を被覆するMの辺はx1y1であるからx1∈Zである。x1に接するMに属さない辺は存在しない。よってZ={x2,y1,x1}である。したがって
C=(X∖Z)∪(Y∩Z)={x3}∪{y1}={x3,y1}となり∣C∣=2である。Cが頂点被覆であることを辺ごとに確かめる。x1y1とx2y1とx3y1はy1を含み、x3y2とx3y3はx3を含む。よってすべての辺が覆われる。∣C∣=2=∣M∣であり、定理 3.2のとおりν(G)=τ(G)=2である。
Hall の条件との関係。S={x1,x2}をとるとN(S)={y1}であり∣N(S)∣=1<2=∣S∣である。したがって§D2.12 定理 1.3の Hall の条件は成り立たず、Xのすべての頂点を被覆するマッチングは存在しない。これはν(G)=2<3=∣X∣と整合する。
5 演習
問題 5.1.
- 定理 1.5の証明の後半で、道Qの端点がM-非飽和であることを示す段は、端点がM∩M′の辺で被覆されている可能性を排除している。この段を省くと証明のどこが成り立たなくなるかを述べ、排除の議論を自分で書き直せ。
- 定義 1.1において、M-増加道の定義から「両方の端点が非飽和である」という条件を落とし、「一方の端点が非飽和である」に置き換えたとする。この条件のもとで定理 1.5が成り立たなくなることを、頂点数3の二部グラフとその最大マッチングを用いた反例で示せ。
- 定理 3.2の証明の主張1 において、辺xyがMに属する場合の議論を、補題 3.1 (1)を用いずに、Zの定義に戻って交互道を延長する形で書き直せ。
- 定理 3.2の証明で構成した頂点被覆Cが最小であること、および用いた最大マッチングMが最大であることが、主張2 の不等式からどのように同時に従うかを、命題 2.2の不等式の向きに即して説明せよ。
- 長さ3の閉路をもつグラフではν(G)=1かつτ(G)=2であることを確かめ、定理 3.2の証明のどの段が二部性を用いているかを指摘せよ。
7 扱った範囲と次の記事
本記事は、有限二部グラフについて交互道と増加道を定義し、増加道が存在しないことと最大マッチングであることの同値性を証明した。非飽和頂点からの交互到達集合によって頂点被覆を構成し、それが頂点被覆であることと頂点数が最大マッチングの辺数に等しいことを別々に示して、Kőnig の定理を証明した。増加道を繰り返し探す手続きの停止性と正当性も示した。二部でないグラフの最大マッチング、重み付きマッチングおよび完全マッチングの存在条件は扱っていない。次の記事では、有限グラフの二頂点について、辺素な道の最大本数と辺切断の最小濃度が等しいこと、および内点素な道の最大本数と頂点切断の最小濃度が等しいことを、単位容量のフローへ帰着して証明する。