9.6. 最大フロー最小カット定理の応用

目次

これまでに言及してこなかった最大フロー最小カット定理の応用をいくつか示す:

次の練習問題は最大フロー最小カット定理を使っても使わなくても解くことができる。両方の解法を考えてみるとよいだろう。

練習問題 9.2

多重有向グラフ \(D=\left( V,A,\psi\right) \)、入口 \(s \in V\)、出口 \(t \in V\)、容量関数 \(c\colon A\rightarrow\mathbb{N}\) から構成されるネットワークを \(N\) とする。 [容量関数の値域 \(\mathbb{N}\) を \(\mathbb{Q}_{+}\) または \(\mathbb{R}_{+}\) に入れ替えても本命題は成り立つ。]

\(V\) の部分集合 \(S\) が \(s \in S\) と \(t \notin S\) を満たすとき、\(S\) を \(s\)-\(t\)-切断部分集合 (\(s\)-\(t\)-cutting subset) と呼ぶ。

全ての \(s\)-\(t\)-切断部分集合 \(S\) を考えたときの \(c\left( S,\overline{S}\right) \) の最小値を \(m\) とする。 [定理 9.4.3 より、\(m\) はフローの値の最大値に等しい。]

\(s\)-\(t\)-切断部分集合 \(S\) が \(c\left( S,\overline{S}\right) =m\) を満たすとき、\(S\) をカット最小 (cut-minimal) と呼ぶことにする。

\(X\) と \(Y\) を二つのカット最小な \(s\)-\(t\)-切断部分集合とする。このとき \(X\cap Y\) と \(X\cup Y\) もカット最小な \(s\)-\(t\)-切断部分集合だと示せ。

[解答: これは 2017 年春学期に開講された講義で出した homework set #5 の Exercise 7 (の「単純グラフ」を「多重グラフ」に置き換えたもの) である。解答は講義ページに載っている。]

広告