戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

ネットワークスペシャリスト 2021年 午前204


問題文

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

選択肢

8
9
10(正解)
11

🔒 解説は解答すると表示されます

最大流問題の計算【午前2解説】

正解の理由

与えられた辺の容量(同時に使える論理回線の本数)を流量として考え、XからYへの「最大流」が求まります。実際に増加パスから合計で10本の流量を確保でき、さらに切断(S側 = {X, A, B, C},T側 = {D, E, F, G, Y})を取ると、S→Tに出る辺の容量和が となります。最大流=最小カットの定理より、これが上限かつ達成可能なので答えは (10)です。

解法ステップ

  1. ネットワークを流量ネットワークと見なし、XからYへ流す。各辺の容量は最大流量の上限。
  2. 増加パス(X→…→Y)の一つひとつにフローを割り当て、各辺で容量を超えないようにする。代表的な増加パスと送る流量は次の通り。
    • X → A → D → Y : 1
    • X → A → B → E → Y : 2
    • X → B → E → Y : 1
    • X → B → D → Y : 2
    • X → C → F → G → Y : 3
    • X → B → C → F → E → G → Y : 1 合計
  3. 各辺の使用状況が容量を超えていないことを確認(例えば X–B は 1+2+1 = 4 で容量4に一致、C–F は 3+1 = 4 で容量4に一致など)。
  4. 最小カットを示して上限を示す。S = {X, A, B, C} とすると S→T に出る辺は A–D(1)、B–D(2)、B–E(3)、C–F(4) で合計 。したがって最大流は10で確定。
(増加パスは Ford–Fulkerson 的に順次見つけた例で、他の分配でも合計が10になれば最適。)

選択肢別の誤答解説

  • ア(8)
    多くの場合、上流側の直接的な経路だけを数えたり、C側の容量3を見落としたりして総和を過小評価した結果です。実際は複数経路を分散して使えるため8より多く流せます。
  • イ(9)
    1本分の増加パスを見落としているケースです。上で示した最後の経路(X→B→C→F→E→G→Y)を見つけられず、合計を9で止めてしまう典型的ミスがあります。残っている辺(例:C–F の残容量や E–G の未使用容量)をチェックすると増やせることが分かります。
  • エ(11)
    一部の受験者は同じノード間の複数の経路を重複して足したり、逆向きの残余辺を誤って正方向の余剰容量として加えたりして過大評価します。最小カットの和で上限を取れば であり、11は不可能です。

よくある誤解

  • 増加パスを見つけたらその順序でしか流せないと考えること。順序によって中間の残余が異なるが、最終的に最大値は同じ(最大流=最小カット)になる可能性があるため、複数通りの配分を試すとよい。
  • 「各段の最大値を単純合算すればよい」と思う誤り。ノード間で共有する辺(ボトルネック)を無視すると誤答になる。
  • 無向図的に見えても、フロー割当ては辺ごとに容量制約と流量保存を満たす必要がある。逆向き残余を間違えると過大評価につながる。

補足コラム

  • 最大流/最小カット定理は、実務での帯域幅配分や回線冗長化の評価に直結します。図のように複数経路が絡むときは、単一路ごとの最大値ではなく「カット」に着目すると上限がわかりやすくなります。
  • 実際の解法は Ford–Fulkerson 法や Edmonds–Karp(幅優先で経路を選ぶ)を使うと、増加パスの見逃しを防げます。手計算では主要な増加パスを順に潰し、最後にS–Tのカットを確認するのが定番です。

FAQ

Q. なぜS = {X, A, B, C} のカットを選ぶのか?
A. X側に残しておけるノード集合を考え、SからTへ出る辺の容量和が最小になる集合を探します。この図では A–D(1)、B–D(2)、B–E(3)、C–F(4) の合計が10と小さいため最小カットになりうることを示します。
Q. 増加パスの順序で結果が変わることはある?
A. 増加パスの選び方によって中間の残余ネットワークは変わりますが、最大流の最終値は最小カット和に一致します(ただしアルゴリズム実装上は負のループや循環に注意)。
Q. 最小カットの見つけ方がわからないときは?
A. 増加パスで到達不能になったノード集合(残余ネットワークでXから到達可能なノード集合)が最小カットのSになります。手計算では、X側に置くノードを増やしながらS→Tの容量和を比較するとよいです。

関連キーワード: 最大流、最小カット、増加パス、Ford–Fulkerson、帯域幅管理
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

ネットワークスペシャリスト
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について