ネットワークスペシャリスト 2012年 午前2 問04
問題文
図のネットワークで、数字は二つの地点間で同時に使用できる論理回線の多重度を示している。X地点からY地点までには同時に最大幾つの論理回線を使用することができるか。

選択肢
ア:8
イ:9
ウ:10(正解)
エ:11
🔒 解説は解答すると表示されます
最大流問題【午前2解説】
正解の理由
図は容量付きネットワークの最大流問題であり、X→Y 間の最大同時論理回線数はネットワークの最大流量に対応します。第1コラム(X, A, B, C)と第2コラム(D, E, F, G, Y)を分ける切断 S = {X, A, B, C} としたとき、S と補集合の間を横切る辺の容量合計は
の合計 です。よって任意の X→Y の流は 10 を超えられません(最小カットによる上界)。
一方で、容量制約を満たす総流量 10 の具体的な割当を示せるため、最大流は 10 で到達可能です。したがって選択肢は ウ(10)が正しいです。
以下に、実行可能な流の分配例(パスごとの流量)を示します。各辺の容量を超えないことを確認できます。
パスと流量(合計 10):
- X → A → D → Y : 1
- X → A → B → D → Y : 1
- X → B → D → Y : 1
- X → B → E → Y : 2
- X → A → B → E → Y : 1
- X → C → F → G → Y : 3
- X → B → C → F → E → G → Y : 1
この割当で各辺の使用量は以下の通りで、いずれも容量以下です:
- X–A: 3(1+1+1)、X–B: 4(1+2+1)、X–C: 3(3)
- A–D:1、A–B:2、B–D:2、B–E:3、B–C:1、C–F:4
- F–G:3、F–E:1、D–Y:3、E–Y:3、E–G:1、G–Y:4
以上より、最大流は上界 10 に到達するため最大値は 10(ウ)です。
解法ステップ
- 問題を最大流(s = X, t = Y)問題として把握する。各辺は容量を示す。
- 有効な上界を探すために適当な s−t 切断(=S と T = V\S の分割)を選ぶ。第1コラムと第2コラムの境界(S = {X, A, B, C})は自然で、横切る辺容量の和を計算する。
- 切断の容量が上界となる(最小カット ≤ 最大流)。この場合は 。
- その上界に到達する流の具体例を構成する(パスの組み合わせで各辺容量を超えないように配分)。
- 構成した流が 10 ならば max-flow = min-cut = 10 と結論付ける。
選択肢別の誤答解説
- ア(8): 切断容量が 10 であるため 8 は上界を超えておらず過小評価。具体的な割当で 10 を実現できることから不正解。
- イ(9): 9 も 10 を上回っていない最小カットに矛盾する。さらに、容量配分を試すと 10 に到達可能であるため 9 は最適ではない。
- ウ(10): 上で示したように、切断による上界 10 に到達する実行可能な流が存在するため正しい。
- エ(11): 切断 S = {X,A,B,C} による容量和が 10 であり、任意の流はこの値を超えられない(最小カット ≤ 最大流)。従って 11 は不可能。
よくある誤解
- 切断の選び方を雑にして上界を見落とす(第1コラム→第2コラムの自然な切断を見逃す)。
- 内部の縦辺(A–B, B–C)を無視して、X→B に過大な流を直接割り当ててしまう(X–B の容量は 4 で、B に必要な量を補うため A→B や B→C を利用する必要がある)。
- F–G の容量(3)や F→E(2)を超えて分配してしまう。複数経路で合計が辺容量を超えないか厳密に合計確認すること。
補足コラム
- 本問は「最大流=最小カット定理」を使う典型問題です。実務的には、まず簡単な切断で上界を見つけ(列や段ごとに分けることが多い)、次にその上界に到達可能かを経路割当で示すのが得点につながります。
- 経路割当はユニットごとに分解(流の分解)して示すと、各辺の負荷が見えやすく検算が容易になります。
FAQ
Q. 辺は有向ですか?
A. 問題文で明示的に矢印がある辺(B→D, F→E, D→Y, G→Y)は向きが指定されている場合がありますが、本問は基本的に論理回線の同時利用数(双方向での利用制約はない)として扱い、与えられた容量を超えないように使えればよい、という解釈で容量を考えます。上の流の割当は容量制約のみを用いています。
A. 問題文で明示的に矢印がある辺(B→D, F→E, D→Y, G→Y)は向きが指定されている場合がありますが、本問は基本的に論理回線の同時利用数(双方向での利用制約はない)として扱い、与えられた容量を超えないように使えればよい、という解釈で容量を考えます。上の流の割当は容量制約のみを用いています。
Q. なぜ S = {X,A,B,C} の切断を選ぶのですか?
A. 図の列構造上、第1コラムから第2コラムへ流れる辺の容量和が小さく、自然なボトルネックになっているからです。合理的な候補を調べることで最小カットを発見します。
A. 図の列構造上、第1コラムから第2コラムへ流れる辺の容量和が小さく、自然なボトルネックになっているからです。合理的な候補を調べることで最小カットを発見します。
関連キーワード: 最大流、最小カット、ネットワークフロー、容量制約、経路分解

\ せっかくなら /
ネットワークスペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

