グラフ理論の問題
頂点集合 をもつ有向ネットワークがあり、有向辺とその容量は次の 本である。 を始点、 を終点とする。ここで - カットとは、 かつ を満たす の部分集合 のことで、その容量を と定める。 から への最大流の値と、容量が最小となる - カット の個数を、この順に組で答えよ。
この問題で使うもの
- 最大流最小カット定理(説明と入口の問題)
この問題を解けるようになるまで(8 技能)
読み込み中…
右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
ヒント
行き詰まったら、上から順に 1 つずつ開いてください。
ヒント 1
最大流最小カット定理を使う。フォード・ファルカーソン法で増加道をくり返し探して流し、そのあと - カットの容量をすべて計算して比べる。
ヒント 2
増加道では、道の上の残余容量の最小値だけ流せる。- カットは を に入れるかどうかで 個あり、容量は から外へ出る向きの辺だけを足す。
ヒント 3
に 、 に 流すと、まだ に だけ余裕が残る。カットの容量は、例えば のとき になる。
答えと解説
答えを見る
どこでつまずきましたか?(選ぶと、戻る場所を案内します)
解説を読む
手順1:フォード・ファルカーソン法で増加道を探す。
はじめはすべての辺の流量を とし、残余ネットワークで から への道を探して、道の上の残余容量の最小値だけ流す。
- 増加道 :残余容量は なので、最小値 だけ流す。残余容量は 、 になる。
- 増加道 :残余容量は なので、最小値 だけ流す。残余容量は 、 になる。
- 増加道 :残余容量は なので、 だけ流す。残余容量は 、、 になる。
このとき から出る辺 、 の残余容量はどちらも である。 に入る辺はもとのネットワークにないので逆向きの残余辺も からは出ない。したがって残余ネットワークで から先へ進めず、増加道はもう存在しない。得られたフローの値は
である。
手順2:同じ容量のカットで最大性を確かめ、最小カットを数える。
、 を満たす は、 をそれぞれ に入れるか入れないかで 個ある。それぞれの容量を、 から の外へ向かう辺の容量の和として計算する。
- : なので
- : なので
- : なので ( は に入る向きなので数えない)
- : なので
どのフローの値もどのカットの容量も超えないので、フローの値は 以下である。手順1で値 のフローが得られたから、最大流の値は である(最大流最小カット定理のとおり、最小カットの容量も となる)。
容量が最小値 になるカットは の 個である。
よって答えは である。
別解
最大流最小カット定理より、最大流の値は最小カットの容量に等しい。
、 を満たす は の部分集合 4 通りに を加えたものである。それぞれの容量を計算する。
- : と が出ていくので 。
- : 、、 が出ていくので 。
- : と が出ていくので 。
- : と が出ていくので 。
最小容量は 5 で、それを与えるカットは 3 個である。
検算として、容量 5 の流れが実際に作れることを確かめる。 に 3、 に 2 を流す。 からは に 2、 に 1 を流す。 には が入り、 に 3 を流す。どの辺も容量以内で、 に入る流量は となる。よって最大流は 5 である。
答えは 。