1 分離する辺と頂点
定義 1.1.s-t道の族が辺素 (edge-disjoint) であるとは、族に属するどの相異なる二つの道も共通の辺をもたないことをいう。
辺集合F⊆Eが s-t辺切断 (s-t edge cut) であるとは、G−Fにs-t道が存在しないことをいう。濃度が最小であるs-t辺切断の濃度を、sとtを分離する辺切断の最小濃度という。
定義 1.2.s-t道の内点 (internal vertex) とは、その道に現れる頂点のうちsとt以外のものをいう。s-t道の族が内点素 (internally vertex-disjoint) であるとは、族に属するどの相異なる二つの道も共通の内点をもたないことをいう。
頂点集合T⊆V∖{s,t}が s-t頂点切断 (s-t vertex cut) であるとは、G−Tにs-t道が存在しないことをいう。定義によりs-t頂点切断はsとtをいずれも含まない。
定理 3.3と定理 4.3はいずれも切断の最小濃度を主張に含むので、切断が少なくとも一つ存在することを先に確かめる。
命題 1.3. 相異なる二頂点s,tについて次が成り立つ。
- E自身はs-t辺切断である。したがってs-t辺切断は少なくとも一つ存在する。
- sとtが隣接しないならば、V∖{s,t}自身はs-t頂点切断である。したがってs-t頂点切断は少なくとも一つ存在する。
- sとtが隣接するならば、s-t頂点切断は存在しない。
証明. 1 を示す。G−Eは辺をもたないので、長さ1以上の道が存在しない。s=tであるから長さ0の道はsからtへの道ではない。よってG−Eにs-t道は存在せず、Eはs-t辺切断である。
2 を示す。T=V∖{s,t}と置くと、G−Tの頂点はsとtだけである。sとtは隣接しないのでG−Tは辺をもたず、1 と同じ理由でs-t道が存在しない。よってTはs-t頂点切断である。
3 を示す。sとtが隣接するとし、T⊆V∖{s,t}を任意にとる。辺{s,t}の両端点はTに属さないので、この辺はG−Tの辺であり、s,tはG−Tのs-t道である。よってTはs-t頂点切断ではない。▨
3 が、頂点に関する版でsとtが隣接しないことを仮定する理由である。
2 単位容量ネットワークと道分解
定義 2.1. すべての弧の容量が1であるネットワークを単位容量ネットワーク (unit-capacity network) という。
有限単純無向グラフG=(V,E)と相異なる二頂点s,tに対し、有向グラフDG=(V,AG)を、各辺{u,v}∈Eに対して逆平行な二つの弧(u,v)と(v,u)を置くことによって定める。すべての弧の容量を1とし、湧点をs、吸点をtとする。この単位容量ネットワークを、Gが定める辺版のネットワーク (edge-version network) という。Gは単純であるからAGの要素は相異なる二頂点の順序対であり、自己ループは生じない。したがって(DG,c,s,t)は§E13.12 定義 1.1のネットワークである。
逆平行な弧の対を許す形式を§E13.12 定義 1.1が採っていることが、この構成を可能にしている。
次の補題が、フローから道を取り出す段を担う。
補題 2.2. 単位容量ネットワーク(D,c,s,t)において、各弧で整数値をとるフローfの値が非負整数kであるとする。Af={a∈A: f(a)=1}と置くと、Afに含まれる弧だけを用いるsからtへの有向道であって、どの二本も共通の弧をもたないものがk本存在する。
証明. 容量制約と整数性により、各弧でf(a)∈{0,1}であるから、Afはfが値1をとる弧全体である。kについての数学的帰納法で示す。
k=0のときは、0本の道からなる空の族が主張を満たす。
k≥1とし、値がk−1である場合について主張が成り立つと仮定する。
第一段:Afの弧だけでsからtへ至る有向道が存在すること。Vを頂点集合としAfを弧集合とする有向グラフにおいて、sから到達可能な頂点全体をSと置く。t∈/Sであると仮定する。このときSはs-tカットである。a∈δ+(S)をとると、aの始点はSに属し終点はSに属さないのでa∈/Afであり、f(a)=0である。したがって§E13.12 命題 2.2の等式により
k=val(f)=a∈δ+(S)∑f(a)−a∈δ−(S)∑f(a)=−a∈δ−(S)∑f(a)≤0となり、k≥1に反する。よってt∈Sであり、Afの弧だけを用いるsからtへの有向道Pが存在する。
第二段: 値を一つ減らすこと。Pに現れる弧の集合をA(P)と書き、
f′(a)={f(a)−1f(a)(a∈A(P)),(a∈/A(P))と定める。A(P)⊆Afであるから、a∈A(P)ではf′(a)=0であり、容量制約0≤f′(a)≤1はすべての弧で成り立つ。保存則を確かめる。Pの頂点はすべて相異なるので、sとt以外の各頂点vについて、vがPに現れるならばvを終点とするPの弧とvを始点とするPの弧がちょうど一本ずつあり、vへ入る流量とvから出る流量がともに1ずつ減る。vがPに現れないならばvに接する弧の流量は変わらない。よってf′は保存則を満たし、フローである。値については、Pはsを始点とする弧をちょうど一本含み、sを終点とする弧を含まないので
val(f′)=val(f)−1=k−1である。またf′は各弧で整数値をとり、Af′=Af∖A(P)である。
第三段: 帰納法の適用。帰納法の仮定をf′へ適用すると、Af′の弧だけを用い、どの二本も共通の弧をもたないsからtへの有向道がk−1本存在する。Af′はA(P)と交わらないので、これらの道はいずれもPと共通の弧をもたない。したがってこれらにPを加えたk本の道は、Afの弧だけを用い、どの二本も共通の弧をもたない。▨
3 辺に関する Menger の定理
まず、辺版のネットワークにおけるカットの容量が、もとのグラフの辺の本数として読むことができることを確かめる。
補題 3.1.Gと相異なる二頂点s,tについて、辺版のネットワークDGを考える。頂点集合S⊆Vがs-tカットであるとき、その容量c(S)は、一方の端点がSに属し他方の端点がV∖Sに属するGの辺の本数に等しく、そのような辺の全体はs-t辺切断である。逆に、任意のs-t辺切断Fに対し、c(S)≤∣F∣を満たすs-tカットSが存在する。したがって、DGの最小カットの容量と、sとtを分離する辺切断の最小濃度は等しい。
証明.Sをs-tカットとし、E(S)を、一方の端点がSに属し他方の端点がV∖Sに属するGの辺の全体とする。辺{u,v}∈E(S)でu∈S、v∈/Sであるものは、二つの弧(u,v)と(v,u)を与えるが、このうち始点がSに属し終点がSに属さないのは(u,v)だけである。逆にδ+(S)の各弧はこのようにしてE(S)のちょうど一つの辺から生じる。すべての容量が1であるからc(S)=∣δ+(S)∣=∣E(S)∣である。
E(S)がs-t辺切断であることを示す。G−E(S)にs-t道s=w0,w1,…,wr=tが存在すると仮定する。w0=s∈Sかつwr=t∈/Sであるから、wi−1∈Sかつwi∈/Sを満たす添字iが存在する。すると辺{wi−1,wi}はE(S)に属し、G−E(S)の辺ではないので矛盾する。よってE(S)はs-t辺切断である。
逆にFをs-t辺切断とする。G−Fにおいてsから到達可能な頂点全体をSFと置く。s∈SFであり、G−Fにs-t道が存在しないのでt∈/SFである。よってSFはs-tカットである。一方の端点uがSFに属し他方の端点vがSFに属さない辺{u,v}をとると、この辺がFに属さないならばG−Fにおいてvがsから到達可能となりv∈/SFに反する。したがってそのような辺はすべてFに属し、c(SF)=∣E(SF)∣≤∣F∣である。
以上より、s-tカットの容量の最小値とs-t辺切断の濃度の最小値は互いに他以下であり、等しい。▨
3.1 証明方針
辺素なs-t道の最大本数をκ、sとtを分離する辺切断の最小濃度をλと書く。示すのはκ=λである。この二つの記号は本記事限りのものである。文献ではκを頂点連結度、λを辺連結度に用いることが多く、本記事の割り当てはその慣用とは異なる。
κ≤λの側は次のように進める。辺素なk本の道が与えられたとき、各道の辺をその道を進む向きに合わせて弧へ読み替え、その弧で値1、他の弧で値0をとる写像を作る。これが辺版のネットワークのフローであって値がkであることを確かめると、κは最大フローの値以下である。最大フローの値は§E13.12 定理 5.1により最小カットの容量に等しく、それは補題 3.1によりλに等しい。
κ≥λの側が本質的である。容量がすべて1という整数であるから§E13.12 系 6.3により整数値をとる最大フローfが存在する。ただしfをそのまま道分解へ渡すことはできない。同じ辺から生じた逆平行な二つの弧がともに値1をとると、取り出した有向道が弧としては相異なるのに辺としては同じものを共有する場合が生じるからである。そこで、そのような対がある場合には両方の値を1ずつ減らす操作を繰り返し、値を変えずに逆平行な対の同時使用を無くしてから補題 2.2を適用する。
定理 3.3 (辺に関する Menger の定理). 有限単純無向グラフGと相異なる二頂点s,tについて、辺素なs-t道の最大本数は、sとtを分離する辺切断の最小濃度に等しい。
証明. 辺版のネットワークDGを考える。辺素なs-t道は互いに辺を共有せず各々が少なくとも一本の辺を用いるので、その本数は∣E∣以下である。また命題 1.3 (1)によりs-t辺切断は少なくとも一つ存在する。よってκとλはいずれも定まる。
第一段:κ≤λ。辺素なs-t道P1,…,Pkをとる。各Piをsからtへたどり、通る辺{u,v}を進む向きに合わせて弧(u,v)へ読み替える。こうして得られる弧の全体で値1、他の弧で値0をとる写像をfとする。Piの頂点はすべて相異なるので、一つの道が同じ辺を二度通ることはなく、相異なる道は辺素であるから共通の辺をもたない。したがって、どの弧も高々一本の道から値1を与えられ、fは矛盾なく定まり容量制約0≤f≤1を満たす。
保存則を確かめる。頂点v∈V∖{s,t}をとる。vがPiの内点であるならば、Piから生じる弧のうちvを終点とするものとvを始点とするものがちょうど一本ずつある。vがPiの端点になることはv=s,tより無く、vがPiに現れないならばPiはvに接する弧を与えない。各道の寄与を足し合わせると、vへ入る流量とvから出る流量は等しい。よってfはフローである。値については、各Piがsを始点とする弧をちょうど一本与え、sを終点とする弧を与えないのでval(f)=kである。
したがって最大フローの値はκ以上である。§E13.12 定理 5.1により最大フローの値は最小カットの容量に等しく、補題 3.1によりそれはλに等しい。よってκ≤λである。
第二段: 逆平行な対の除去。容量はすべて1であるから§E13.12 系 6.3により、各弧で整数値をとる最大フローが存在する。その一つをfとし、val(f)=λである。辺{u,v}が生む二つの弧についてf(u,v)=f(v,u)=1が成り立つとき、この二つの弧の値をともに0に置き換える。得られる写像gもフローである。実際、gは二つの弧(u,v)と(v,u)で値0をとり、他の弧ではfと同じ値をとる。fは各弧で整数値をとり容量制約を満たすので、すべての弧でfの値は0または1であり、したがってgの値も各弧で0または1である。容量はすべて1であるからgは容量制約を満たす。保存則については、頂点uを始点とする弧(u,v)の流量とuを終点とする弧(v,u)の流量がともに1ずつ減るので、uへ入る流量とuから出る流量の差は変わらず、頂点vについても同様に差は変わらない。uとvのいずれかがsである場合も、sから出る流量とsへ入る流量がともに1ずつ減るのでval(g)=val(f)である。この置き換えは値1をとる弧の本数を2減らすので、有限回で終わる。以下、fは最大フローであって、どの辺についても、その辺が生む二つの弧が同時に値1をとることは無いとしてよい。
第三段:κ≥λ。fは各弧で整数値をとる値λのフローであるから、補題 2.2により、値1をとる弧だけを用い、どの二本も共通の弧をもたないsからtへの有向道Q1,…,Qλが存在する。各Qiの弧を、それを生んだGの辺へ読み替えると、頂点の列としてはQiと同じs-t道Piが得られる。
P1,…,Pλが辺素であることを示す。相異なるi,jについてPiとPjが辺{u,v}を共有すると仮定する。QiとQjは共通の弧をもたないので、一方が(u,v)を、他方が(v,u)を用いる。するとf(u,v)=f(v,u)=1となり、第二段の仮定に反する。よってP1,…,Pλは辺素であり、κ≥λである。
第一段と第三段よりκ=λである。▨
4 頂点に関する Menger の定理
頂点を取り除く操作をフローの言葉へ移すために、各頂点を入口と出口の二つへ分け、両者を容量1の弧で結ぶ。この弧を切ることが、もとのグラフでその頂点を取り除くことに対応する。
定義 4.1.G=(V,E)と隣接しない相異なる二頂点s,tをとり、W=V∖{s,t}と置く。有向グラフDG′を次のように定める。頂点集合は
{s,t}∪{v−: v∈W}∪{v+: v∈W}とし、弧集合を次の四種類の弧の全体とする。
- 各v∈Wに対する頂点弧 (vertex arc)(v−,v+)。
- 両端点がWに属する各辺{u,v}∈Eに対する二つの弧(u+,v−)と(v+,u−)。
- 各辺{s,v}∈E(v∈W)に対する弧(s,v−)。
- 各辺{v,t}∈E(v∈W)に対する弧(v+,t)。
すべての弧の容量を1とし、湧点をs、吸点をtとする。この単位容量ネットワークを、Gが定める頂点版のネットワーク (vertex-version network) という。
sとtは隣接しないので、sとtを直接結ぶ弧は生じない。またDG′にはsを終点とする弧とtを始点とする弧が存在しない。
補題 4.2.Gと隣接しない相異なる二頂点s,tについて、頂点版のネットワークDG′を考える。
- DG′のsからtへの有向道は、ちょうど
s, v1−, v1+, v2−, v2+, …, vr−, vr+, t
の形をしており、s,v1,v2,…,vr,tはGのs-t道である。逆にGの各s-t道はこの形の有向道を与える。この対応は互いに逆であり、有向道が用いる頂点弧は(vi−,vi+)(1≤i≤r)である。
- DG′の最小カットの容量は、s-t頂点切断の最小濃度に等しい。
証明.(1)を示す。DG′の弧の形から、sを始点とする弧は(s,v−)(v∈W、{s,v}∈E)だけであり、v−を始点とする弧は(v−,v+)だけであり、v+を始点とする弧は(v+,u−)({v,u}∈E、u∈W)または(v+,t)({v,t}∈E)だけである。tを始点とする弧は無い。よってsからtへの有向道は、sからv1−へ移り、以後vi−からvi+へ、vi+からvi+1−へ移ることを繰り返し、最後にvr+からtへ至る形をとる。有向道の頂点は相異なるからv1,…,vrは相異なり、構成から{s,v1}、{vi,vi+1}、{vr,t}はいずれもEに属する。よってs,v1,…,vr,tはGのs-t道である。逆にGのs-t道s,v1,…,vr,tをとると、sとtが隣接しないのでr≥1であり、上の形の頂点の列がDG′の有向道を与える。頂点弧についての主張は構成から明らかである。
(2)を示す。まず、s-t頂点切断Tが与えられたとする。頂点弧(v−,v+)(v∈T)をすべて取り除いた有向グラフにおいてsから到達可能なDG′の頂点全体をSと置く。s∈Sである。t∈Sであると仮定すると、取り除いた弧を用いないsからtへの有向道が存在し、(1)によりそれはGのs-t道s,v1,…,vr,tに対応し、頂点弧(vi−,vi+)をすべて用いる。取り除いた弧を用いないことからvi∈/T(1≤i≤r)であり、この道はG−Tのs-t道である。これはTがs-t頂点切断であることに反する。よってt∈/Sであり、Sはs-tカットである。δ+(S)の弧aをとると、aが取り除いた弧でないならばaの終点はsから到達可能となりSに属するので、a∈δ+(S)に反する。よってδ+(S)は取り除いた弧の集合に含まれ、容量がすべて1であるからc(S)≤∣T∣である。
逆に、s-tカットSが与えられたとする。δ+(S)の各弧aに対し、Wの頂点ψ(a)を次のように定める。a=(v−,v+)のときψ(a)=v、a=(s,v−)のときψ(a)=v、a=(u+,v−)のときψ(a)=v、a=(v+,t)のときψ(a)=vとする。T={ψ(a): a∈δ+(S)}と置くとT⊆Wであり、∣T∣≤∣δ+(S)∣=c(S)である。Tがs-t頂点切断であることを示す。Gのs-t道s,v1,…,vr,tをとり、(1)が与えるDG′の有向道を考える。この有向道はs∈Sから出発しt∈/Sで終わるので、始点がSに属し終点がSに属さない弧aを少なくとも一つ含む。a∈δ+(S)であり、四つの場合のいずれにおいてもψ(a)はv1,…,vrのいずれかである。よってこの道はTの頂点を通り、G−Tの道ではない。Gの任意のs-t道についてこれが成り立つので、G−Tにs-t道は存在せず、Tはs-t頂点切断である。
以上より、s-tカットの容量の最小値とs-t頂点切断の濃度の最小値は互いに他以下であり、等しい。▨
4.1 証明方針
内点素なs-t道の最大本数をκV、s-t頂点切断の最小濃度をλVと書く。
κV≤λVの側では、内点素なk本の道を(1)によってDG′の有向道へ移し、それらの弧で値1をとる写像がフローであることを確かめる。内点が互いに素であることが、二本の道が同じ弧を用いないことを保証する。最大フローの値は最小カットの容量に等しく、それは(2)によりλVに等しい。
κV≥λVの側では、整数値をとる最大フローへ補題 2.2を適用して、共通の弧をもたない有向道をλV本得る。これらを (1) によってGの道へ戻すと、二本が共通の内点vをもつならば両方が頂点弧(v−,v+)を用いることになり、共通の弧をもたないことに反する。ここが、頂点を二つに分けた理由である。辺版で必要であった逆平行な対の除去は、DG′が逆平行な弧の対をもたないので必要がない。
定理 4.3 (頂点に関する Menger の定理). 有限単純無向グラフGと、隣接しない相異なる二頂点s,tについて、内点素なs-t道の最大本数は、s-t頂点切断の最小濃度に等しい。
証明. 頂点版のネットワークDG′を考える。命題 1.3 (2)によりs-t頂点切断は少なくとも一つ存在するのでλVは定まる。内点素なs-t道は互いに内点を共有せず、sとtが隣接しないので各々が少なくとも一つの内点をもつから、その本数は∣V∣以下でありκVも定まる。
第一段:κV≤λV。内点素なs-t道P1,…,Pkをとる。各Piに補題 4.2 (1)の対応を適用してDG′の有向道Qiを得る。Qiの弧の全体で値1、他の弧で値0をとる写像をfとする。
相異なるi,jについてQiとQjが共通の弧をもたないことを示す。共通の弧をaとすると、aの四つの形のいずれにおいても、aの端点に現れる添字の頂点、すなわちa=(v−,v+)、a=(s,v−)、a=(u+,v−)、a=(v+,t)のそれぞれについてのvは、Piの内点でありPjの内点でもある。これはPiとPjが内点素であることに反する。よってどの弧も高々一本のQiに現れ、fは矛盾なく定まって容量制約を満たす。
保存則を確かめる。DG′の頂点のうちsとt以外のものはv−またはv+(v∈W)である。Qiがv−を通るならば、Qiはv−を終点とする弧とv−を始点とする弧をちょうど一本ずつ含む。v+についても同様である。Qiが通らない頂点にはQiからの寄与が無い。各Qiの寄与を足し合わせると保存則を得る。値については、各Qiがsを始点とする弧をちょうど一本与え、DG′にはsを終点とする弧が無いのでval(f)=kである。
よって最大フローの値はκV以上であり、§E13.12 定理 5.1と補題 4.2 (2)により、最大フローの値はλVに等しい。ゆえにκV≤λVである。
第二段:κV≥λV。容量がすべて1であるから§E13.12 系 6.3により、各弧で整数値をとる最大フローfが存在し、val(f)=λVである。補題 2.2により、値1をとる弧だけを用い、どの二本も共通の弧をもたないsからtへの有向道Q1,…,QλVが存在する。補題 4.2 (1)により、各QiはGのs-t道Piに対応する。
P1,…,PλVが内点素であることを示す。相異なるi,jについてPiとPjが共通の内点vをもつと仮定する。補題 4.2 (1)により、QiとQjはいずれも頂点弧(v−,v+)を用いる。これはQiとQjが共通の弧をもたないことに反する。よってP1,…,PλVは内点素であり、κV≥λVである。
第一段と第二段よりκV=λVである。▨
5 検算例
例 5.1 (辺に関する版と頂点に関する版で値が異なる例). 頂点集合をV={s,t,x,y,z}とし、辺集合を
E={{s,x}, {x,t}, {s,y}, {y,x}, {x,z}, {z,t}}と定める。sとtは隣接しない。
辺に関する版。P1: s,x,tとP2: s,y,x,z,tをとる。P1の辺は{s,x}と{x,t}、P2の辺は{s,y}、{y,x}、{x,z}、{z,t}であり、共通の辺は無い。よって辺素なs-t道が2本存在する。他方でF={{s,x},{s,y}}はs-t辺切断である。G−Fにおいてsに接する辺が無いからである。∣F∣=2であり、濃度1のs-t辺切断は存在しない。存在するとすれば、辺素な2本の道のそれぞれから少なくとも一本の辺を含む必要があり、二本の道は辺を共有しないので少なくとも2本の辺を含むからである。よって辺素な道の最大本数と辺切断の最小濃度はともに2であり、定理 3.3と整合する。
頂点に関する版。T={x}はs-t頂点切断である。G−Tの辺は{s,y}と{z,t}だけであり、sから到達可能な頂点はsとyに限られ、tは含まれないからである。よってλV≤1である。またs,x,tがs-t道であるから、濃度0の頂点切断は存在せずλV=1である。内点素な道については、Gのすべてのs-t道がxを内点にもつ。実際、sに接する辺は{s,x}と{s,y}であり、yに接する辺は{s,y}と{y,x}であるから、sを出た道はただちにxへ至るか、yを経てxへ至るほかない。よって内点素な道を2本とることはできず、κV=1である。ゆえにκV=λV=1であり、定理 4.3と整合する。
この例では辺に関する版の値が2、頂点に関する版の値が1であり、二つの版は別の量を測っている。P1とP2は辺を共有しないが、内点xを共有する。
6 演習
問題 6.1.
- 補題 2.2の第一段では、tが到達不能であると仮定して§E13.12 命題 2.2の等式から矛盾を導いた。この段を、到達可能な頂点全体がs-tカットになることの確認から書き直し、どこで容量がすべて1であることを用いたかを述べよ。
- 定理 3.3の第二段で行った逆平行な対の除去を省くと、第三段の議論のどこが成り立たなくなるかを述べよ。さらに、辺{u,v}の二つの弧がともに値1をとる整数最大フローが実際に存在するネットワークを一つ作れ。
- 補題 4.2 (2)の後半で定めた対応ψについて、a=(v+,t)の場合にψ(a)=vがs-t道の内点であることを確かめよ。ψ(a)=tと定めた場合に証明のどこが破れるかも述べよ。
- sとtが隣接する場合について、定理 4.3の主張の両辺がどうなるかを述べ、非隣接性の仮定を落とすことができない理由を、定義に戻って説明せよ。
- 定義 4.1において、頂点弧の容量を1のままとし、他の三種類の弧の容量を∣V∣に取り替えたネットワークを考える。この取り替えの後でも補題 4.2 (2)が成り立つことを証明せよ。最小カットが頂点弧だけからなることを示す段を、頂点弧をすべて切るカットの容量の評価から設計せよ。
8 扱った範囲と次の記事
本記事は、有限単純無向グラフの相異なる二頂点について、辺素な道の最大本数と辺切断の最小濃度が等しいことを、単位容量ネットワークへの帰着によって証明した。隣接しない二頂点については、頂点を二つに分ける構成によって、内点素な道の最大本数と、両端点を含まない頂点切断の最小濃度が等しいことを証明した。帰着に必要な整数フローの道分解も本文で証明した。連結度の一般論、有向グラフに対する版、およびsとtを動かしたときの大域的な連結度は扱っていない。次の記事では、有限集合の部分集合族に独立性の公理を課したマトロイドを定義し、独立集合公理と基底交換公理が同じ対象を定めることを証明する。