グラフ理論の問題
頂点集合 をもつ有向ネットワークがあり、有向辺とその容量は次の 本である。
ここで - カットとは、、 を満たす部分集合 のことをいい、その容量を から へ向かう有向辺の容量の総和で定める。容量が最小となる - カット (最小カット)は全部でいくつあるか。
この問題で使うもの
- 最大流最小カット定理(説明と入口の問題)
- ネットワークと s-t カットの容量(説明と入口の問題)
この問題を解けるようになるまで(8 技能)
読み込み中…
右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
ヒント
行き詰まったら、上から順に 1 つずつ開いてください。
ヒント 1
まず最大流を 1 つ具体的に作り、あるカットの容量と一致することを確かめて最大流量を確定させましょう。
ヒント 2
最大流 を 1 つ固定すると、カット が最小であることは「 から出る辺はすべて飽和し、 に入る辺の流量はすべて 」と同値です。これを「 ならば 」という形の条件に書き直しましょう。
ヒント 3
最大流量は で、 と 以外の辺だけに流れる最大流がとれます。条件は と にまとまります。
答えと解説
答えを見る
どこでつまずきましたか?(選ぶと、戻る場所を案内します)
解説を読む
1. 最大流を求める。
次の流れ を考える。
各辺で 容量であり、流量保存も成り立つ(: 入 、出 。: 入 、出 。: 入 、出 。: 入 、出 。: 入 、出 )。流量は である。一方、カット の容量は なので、最大流最小カット定理より最大流量も最小カット容量も であり、 は最大流である。
2. 最小カットの特徴づけ。
任意の - カット に対して、流量保存を 内の頂点について足し合わせると
したがって (最小)となるのは、次の 2 条件がともに成り立つときに限る。
- (i) から外へ出る辺はすべて飽和している()。
- (ii) 外から へ入る辺の流量はすべて である。
3. 条件を書き下す。
(i) 飽和していない辺は , (ともに流量 、容量 )だけなので、「 ならば かつ 」。
(ii) 流量が正の辺 について「 ならば 」。 なので , からは条件が出ず、残りから
を得る( は「 ならば 」)。 については (i) と合わせて となる。
4. 数え上げ。
については という鎖になっているので、 は の 5 通りに限られる。 のときは がすべて必要なので の 1 通りである。よって最小カットは
の 6 個である。
確認(容量を直接計算する):
- :
- :
- :
- : で
- :
- : で
いずれも である。一方、たとえば は で となり、最小ではない。
答えは である。
別解
最大フローを求め、その残余グラフから最小カットを数える。
最大フロー。 から出る辺の容量は 、 に入る辺の容量は である。次のフロー で値 が実現できる。
- , , , , , , , ,
- ,
各頂点で流入と流出が等しいことを確かめる。 は 、 は 、 は 、 は 、 は で成り立つ。したがって最大フロー 最小カット容量 である。
最小カットの条件。 カット が最小であることは、次の2つが成り立つことと同値である。
- から出る辺はすべて飽和している。
- に入る辺のフローは である。
飽和していない辺は と だけで、他はすべて飽和している。フローが正の辺は である。
これらから について次の条件が得られる。
- (辺 が正のフロー)
- (辺 , が正のフロー)
- (辺 が正のフロー)
- (辺 が正のフロー)
- (辺 , は飽和していないので から出られない)
数え上げ。
- のとき、 の鎖状の条件になる。 は の 通りである。
- のとき、 がすべて必要なので 通りである。
合計 個。
検算。 は である。 は , , で である。 は , で である。いずれも になる。