作業フローを簡素化:miniwebtoolを検索。
追加
ホームページ > 数学 > 高度な数学操作 > ネットワークフロー電卓最大フロー
 

ネットワークフロー電卓最大フロー

Ford-Fulkerson法(Edmonds-Karp)を使用して、容量付き有向ネットワーク内のソースからシンクへの最大フローを計算します。すべての増加道をアニメーションで表示し、残余容量、飽和エッジ、および最適性を証明する最小カット・パーティションを表示します。

ネットワークフロー電卓最大フロー
エッジ形式: A -> B : 10 (矢印と容量)、または A, B, 10
行列形式: 1行に1行ずつ。C[i][j] はエッジ i → j の容量です(エッジがない場合は 0 を使用)。対角成分は 0 である必要があります。
カンマまたはスペース区切りのラベル。行列の各行に対応します。省略時は S, A, B, …, T になります。

Embed ネットワークフロー電卓最大フロー Widget

ネットワークフロー電卓最大フロー

ネットワークフロー電卓最大フローは、任意の容量付き有向ネットワークにおいて、選択した始点(ソース)s から終点(シンク)t への最大フローを計算します。内部では幅優先探索による増加道を用いた Ford-Fulkerson 法(Edmonds-Karp アルゴリズム)を実行し、見つかったすべてのパスを記録します。これにより、意思決定プロセスを1回ずつの反復でリプレイして確認できます。また、結果ページには最小カット(フロー値が真に最適であることを証明するボトルネックの分割)も表示されます。

最大フロー問題とは?

フローネットワークとは、有向グラフ G = (V, E) と容量関数 c: E → ℝ≥0 の組み合わせです。2つの頂点が区別されます:フローが湧き出すソース s と、フローが吸収されるシンク t です。フロー f は、以下の規則に従うエッジへの値 f(u, v) ≥ 0 の割り当てです:

容量制約: 0 ≤ f(u, v) ≤ c(u, v) (すべてのエッジ (u, v) に対して) 流量保存: Σ f(w, v) = Σ f(v, w) (s, t 以外のすべての v ∈ V に対して) フロー値: |f| = Σ f(s, w) − Σ f(w, s) (s から流出する正味のフロー)

最大フロー問題は、このフロー値 |f| を最大化するフロー f を求めるものです。直感的に言えば、エッジが所定の容量を持つ水道管であるとき、s から t へ毎秒何リットルの水を送れるかという問題です。

アルゴリズムの仕組み — BFS を用いた Ford-Fulkerson

このアルゴリズムは、現在のフローと並行して残余グラフを保持します。容量 c、現在のフロー f の各エッジ (u, v) に対して、残余グラフには以下が含まれます:

各反復において、残余グラフ上で s から t への幅優先探索(BFS)を実行します。パスが見つかった場合、そのパス上の最小のエッジ容量(ボトルネック)を、パスに沿った各順方向エッジのフローに加え、逆方向エッジのフローから差し引きます。これを増加道と呼びます。BFS で t に到達できなくなったとき、現在のフローが最適となります。

残余グラフ内に s から t への増加道 P が存在する間: b ← P 内のエッジ (u, v) における最小の c_residual(u, v) P に沿って b 単位のフローを流す // 残余グラフとフローを更新 合計フロー |f| を返す

(任意のパス選択ではなく)BFS を使用することで、Ford-Fulkerson 法は Edmonds-Karp アルゴリズムとなり、実行時間は O(V · E²) に抑えられることが保証されます。また、通常の Ford-Fulkerson では対応できない無理数の容量に対しても、必ず終了することが保証されます。

最大フロー最小カット定理

カットとは、頂点集合を s ∈ S かつ t ∈ T となる2つの集合 (S, T) に分割することです。その容量は、S から T へ向かうエッジの容量の合計です:

cap(S, T) = Σ c(u, v) (u ∈ S, v ∈ T に対して)

最大フロー最小カット定理 (Ford & Fulkerson, 1956) によれば:

最大フロー値 = 最小カット容量

このツールは最小カットを自動的に検出します。Edmonds-Karp が終了した後、残余グラフ上で s からもう一度 BFS を実行します。到達できた頂点が S を構成し、残りが T となります。元のグラフで S → T を横断するすべてのエッジは飽和しており、それらの容量の合計は最大フロー値と正確に一致します。これは結果の「最小カット容量 ✓ 最適性が確認されました」として表示されます。

学習のための機能

入力形式

1. 容量付きエッジリスト

1行に1つのエッジを入力します。矢印形式が最も読みやすいですが、いくつかの代替形式も可能です:

S -> A : 10 S -> B : 13 A -> B : 10 B -> A : 4 B -> T : 14

他にも A, B, 10A B 10A -> B , 10 などが受け付けられます。同じペアの間に複数のエッジがある場合は合算されます。

2. 容量行列

1行に1行ずつ、スペースまたはカンマで区切った値を入力します。項目 C[i][j] は頂点 i から 頂点 j へのエッジの容量です。エッジがない場合は 0 を使用してください。行列は正方行列である必要があり、対角成分は 0(自己ループなし)である必要があります。

S A B C D T S [ 0 10 0 10 0 0 ] A [ 0 0 4 2 8 0 ] B [ 0 0 0 0 0 10 ] C [ 0 0 0 0 9 0 ] D [ 0 0 6 0 0 10 ] T [ 0 0 0 0 0 0 ]

行列ラベルフィールドに、対応する頂点ラベルを(カンマまたはスペース区切りで)入力してください。省略した場合、ラベルはデフォルトで S, A, B, …, T になります。

最大フローの応用例

分野最大フローの活用方法
輸送と物流鉄道、道路、パイプラインのネットワークで、出発地から目的地まで1日にどれだけの貨物を運べるか?
二部マッチング労働者への仕事の割り当て、学生へのプロジェクトの割り当てなど。容量1の最大フローにより最大マッチングが得られます。
画像セグメンテーションコンピュータビジョンの Boykov–Kolmogorov 最小カットにより、前景ピクセルと背景ピクセルを分離します。
ネットワークの信頼性最小カットにより、切断されるとネットワークが分断されてしまう「最も弱いリンク」を特定します。
プロジェクトのスケジューリング閉包問題や選択問題は最小カットに還元できます。
野球の脱落決定チームが数学的にリーグ優勝の可能性がなくなったかどうかを判定します。

実行例

「教科書」のクイック例は、ソース S とシンク T を持つ6ノードのネットワークです。Edmonds-Karp を実行すると、4つの増加道が見つかります:

  1. S → A → B → T:ボトルネック 4(エッジ A-B が制限)。累積フロー: 4。
  2. S → A → D → T:ボトルネック 6。累積フロー: 10。
  3. S → C → D → T:ボトルネック 4(エッジ D-T が制限、残り 4)。累積フロー: 14。
  4. S → C → D → B → T:ボトルネック 5。累積フロー: 19。

これ以上増加道が存在しないため、アルゴリズムは停止します。最小カットは (S = {S, C}, T = {A, B, D, T}) であり、境界エッジは S → A (容量 10)C → D (容量 9) です。これらを合計すると 19 となり、最大フロー値と一致します。

この電卓の使い方

  1. タブを使用して入力形式を選択します(エッジリスト推奨、または容量行列)。
  2. ネットワークを入力します。 クイック例から開始して変更することもできます。行列入力の場合、S, A, B, …, T 以外の名前を使いたい場合はラベルも入力してください。
  3. ソースとシンクを指定します(空欄にすると ST を自動検出します)。
  4. 最大フローを計算をクリック。 結果ページに最大フロー値、最小カット分割、レイヤードグラフ可視化、すべての増加道、エッジ利用率テーブル、および3つの行列(容量、フロー、残余)が表示されます。
  5. グラフの下にあるアニメーションを再生して、アルゴリズムの決定プロセスを確認します。任意の増加道のステップをクリックすると、その時点へ直接ジャンプできます。

制限事項

よくある質問

最大フロー問題とは何ですか?

各エッジに非負の容量がある有向ネットワークにおいて、指定された始点(ソース)s から終点(シンク)t へ、各エッジのフローがその容量を超えず、かつソースとシンク以外の各頂点に流入するフローと流出するフローが等しいという規則に従って、どれだけのフローを送り出せるかを問う問題です。その答えを最大フロー値と呼びます。

Ford-Fulkerson 法とは何ですか?

Ford-Fulkerson は最大フローを計算するための一般的な手法です。残余グラフ内でソースからシンクへの増加道を繰り返し見つけ、そのパスに沿って可能な限りのフロー(ボトルネック容量)を押し出し、残余グラフを更新します。増加道が存在しなくなった時点で処理は終了します。パスの選択に幅優先探索(BFS)を使用する場合、それは Edmonds-Karp アルゴリズムと呼ばれ、O(V · E²) の時間で動作します。

フローネットワークの最小カットとは何ですか?

カットとは、頂点をソースを含む集合 S とシンクを含む集合 T の2つに分割することです。カットの容量は、S から T へのエッジの容量の合計です。最小カットとは、最小の容量を持つカットのことです。有名な最大フロー最小カット定理は、最大フロー値が常に最小カット容量と等しいことを証明しており、一方を見つければもう一方も自動的に得られます。

残余グラフとは何ですか?

残余グラフは、各エッジにあとどれだけフローを流せるかを追跡するものです。容量 c、現在のフロー f の元のエッジ (u, v) に対して、残余グラフには容量 c - f の順方向エッジ (u, v)(残りの容量)と、容量 f の逆方向エッジ (v, u)(キャンセル可能なフロー)が含まれます。増加道は残余グラフのエッジを使用するため、アルゴリズムは以前の決定を取り消すことができます。

なぜこのツールは増加道に BFS を使用するのですか?

幅優先探索(Edmonds-Karp)で増加道を選択することで、エッジの容量に関係なく多項式時間での終了が保証されます。任意のパス選択戦略を用いる通常の Ford-Fulkerson では、特殊な入力に対して指数関数的な反復回数ループしたり、無理数の容量に対して終了しなかったりすることがあります。また、BFS は最短の増加道を生成するため、読みやすく理解しやすくなります。

飽和したエッジとはどういう意味ですか?

エッジのフローがその容量と等しくなり、それ以上フローを流せなくなった状態を「飽和」と呼びます。飽和したエッジはネットワークのボトルネックであり、すべての最小カットは、カットの S 側から T 側に向かう飽和エッジのみで構成されます。ツールでは飽和エッジを赤色でハイライトし、ボトルネックの構造を一目で確認できるようにしています。

参考文献

このコンテンツ、ページ、またはツールを引用する場合は、次のようにしてください:

"ネットワークフロー電卓最大フロー"(https://MiniWebtool.com/ja/ネットワークフロー電卓最大フロー/) MiniWebtool からの引用、https://MiniWebtool.com/

by miniwebtool チーム. 更新日: 2026年4月22日

また、AI 数学ソルバー GPT を使って、自然言語による質問と回答で数学の問題を解決することもできます。

その他の関連ツール:

高度な数学操作:

おすすめ:

標準偏差電卓 - 高精度パーセント増加電卓パーセンテージ減少電卓筆算割り算電卓ランダムカラージェネレーターシグマ記法電卓 総和パーセント誤差電卓ランダム絵文字ジェネレーターランダム誕生日ジェネレーターフィートとインチからセンチメートルへのコンバーターwar電卓合計電卓HEX電卓MACアドレス検索円錐展開図テンプレートジェネレーター画像分割ツール売上総利益率電卓弧長電卓クロスワードパズルメーカー空の行を削除するランダム名前ジェネレーター英単語ランダム生成ツール番号を並べ替える中央値電卓対数電卓分散電卓 高精度CAGR電卓楕円円周電卓👙 ブラサイズ電卓InstagramユーザーID検索逆テキスト手数料電卓小数時間から普通の時間へのコンバーターYouTubeチャンネル統計FPSコンバーター迷路ジェネレーター平方完成電卓MP3ルーパー動画を逆再生動画を結合センチメートルからフィートとインチへのコンバーター関数電卓ai句読点追加積分電卓上下反転テキストジェネレーター平方根電卓エンジェルナンバー電卓相対標準偏差電卓モジュロ電卓血糖値コンバーターマスターナンバー電卓ASCIIコード表log-base-2電卓指数電卓-高精度ランダム超能力ジェネレーター労働時間計算ツールボウリングスコア計算機変動係数電卓ランダム名ピッカーXMLバリデーターt検定電卓バイナリ電卓相関係数計算機デシベル (dB) 電卓圧力電卓ランダム日付ジェネレーター💧 露点電卓ビンゴカードジェネレーター歩数距離変換電卓並列抵抗電卓SRT 時間シフト 電卓ランダムトーナメント表作成ツールランダム時刻ジェネレーター斜辺電卓オンライン句読点削除ツールランダムアニマルジェネレーターランダム国ジェネレーターホームランの打席電卓動画を回転比率電卓配当利回り電卓CRC32チェックサム電卓ビデオをループ再生マン・ホイットニーのU検定計算機HEXコンバーター変化率電卓ボルト締付トルク計算機土星回帰電卓階段電卓動画から画像抽出ツール🎮 ゲーム感度変換器筆算足し算・引き算計算機有効数字電卓BUN対クレアチニン比電卓太陽・月・上昇星座電卓 🌞🌙✨桁数電卓⚔️ DPS電卓不可視文字除去ツール論理ゲートシミュレーター三角関数グラフ作成ツール加速度電卓fena電卓平均電卓-高精度自然対数電卓表面積電卓ビデオ速度を調整双子素数ファインダー標準誤差電卓正多角形電卓文字数による改行ピタゴラスの定理電卓散布図作成ツール複数分数電卓TikTok収益計算ツールトルク電卓面積分電卓素数ですか10進数からBCDへのコンバーター四捨五入電卓馬力電卓平方数リストアナグラム生成器割引率電卓周波数波長変換ツールhba1c電卓VTTからtxtへのコンバーターコラッツ予想電卓分数電卓csvからsrtへじゃんけんジェネレーター年の日電卓 - 今日は今年の何日目確率分布電卓3d距離電卓カイ二乗検定電卓グレイコード・バイナリ変換電卓ノノグラムジェネレーター (ピクロス)階乗電卓筆算かけ算計算機円錐台電卓絶対値電卓HTMLからテキストコンバータカロリー赤字電卓ランダムピッカーランニングペース電卓ワイヤーゲージ電卓極限電卓画像回転ツール身長パーセンタイル電卓atan2電卓SRTからTXTへの変換ツールアークタンジェント電卓🖱️ クリックカウンターテキストからバイナリ/16進数/ASCII変換器ランダム整数ジェネレーター線積分計算機野球のバッティング平均電卓音節カウンターRC時定数電卓Twitch収益計算ツール慣性モーメント計算機行番号を追加CPM 電卓🔊 トーンジェネレーターLog Base 10 電卓ベーカーズパーセント電卓二乗平均平方根電卓平方和の計算連分数電卓配管流量電卓ニュートン法電卓二重積分電卓小文字生成器 ⁽ᶜᵒᵖʸ ⁿ ᵖᵃˢᵗᵉ⁾沸点計算ツールAIトークンカウンタータンジェント電卓パスワード強度テスター割り切れるテスト電卓四分位範囲電卓水泳ペース計算機血液型計算機ワードサーチパズルジェネレーターCohen's d 電卓ポンドからキログラム変換オーディオ スプリッター中国剰余定理電卓四分位電卓psiからkPaへのコンバーターパーセントから小数へのコンバーター乗算電卓円周率の最初のn桁半減期電卓多項式因数分解電卓数字抽出ツール比較分数電卓水星逆行カレンダー放物線電卓数秘術電卓FacebookユーザーID検索IPアドレスから16進数への変換SVG最適化ツール標準ドリンク計算ツールワインペアリング提案ツールクライミンググレード変換器自転車ギア比計算機釣り結び強度計算機ヨガポーズホールドタイマー水泳SWOLF電卓レースタイム予測計算機ボクシングパンチ力計算機ラグビー得点電卓クリケット・ランレート電卓サッカーxg期待ゴール電卓テニススコアトラッカーWellsスコア電卓 (DVT/PE)グラスゴー・コーマ・スケール計算機アプガースコア計算機FFMI 電卓クーパー12分間走計算ツール1マイルウォークテストロックポート電卓除脂肪体重から筋力計算炭水化物インスリン比計算機インスリン感受性係数計算機ヘブライ暦変換器ヒジュラ暦変換器旧暦変換ツール文化別年齢電卓どれくらい前計算機あと何日カウントダウン電卓日付パターンジェネレーター中間日計算機日付に営業日を追加営業日計算機単語頻度アナライザー文の長さばらつき分析ツールヘミングウェイ風リーダビリティエディタ発音IPA変換ツールヴィジュネル暗号ツールアトバッシュ暗号ツールROT13エンコーダー・デコーダーEXIFデータビューア・削除ツールピッグラテン翻訳機バックロニム ジェネレーター頭字語ジェネレーターパングラムチェッカーリポグラム チェッカー画像からSVGトレーサー画像からASCIIアートへの変換器JSONスキーマジェネレーターTypeScriptプレイグラウンドLessからCSSへのコンパイラーSCSSからCSSへのコンパイラーSVGからReact/JSXへの変換器クエリ文字列ビルダーURLパーサーUUID検証・デコーダーHTTPステータスコードリファレンスcURLコマンドビルダーシェルピンスキーの三角形ジェネレーター3D曲面プロッター極方程式プロッタージュリア集合生成器マンデルブロ集合エクスプローラーL-Systemフラクタルジェネレータードロネー三角形分割ジェネレーターボロノイ図ジェネレータースピログラフジェネレーターテッセレーションジェネレーターシックスシグマ工程能力計算機パレート図ジェネレーターNPSネットプロモータースコア計算機コホート維持率電卓解約率計算機顧客獲得コストCAC計算機顧客生涯価値CLV電卓コンバージョン率電卓A/Bテスト サンプルサイズ電卓A/Bテスト有意性電卓レンズの式計算機導線の磁場電卓電場計算機クーロンの法則電卓スネルの法則計算機角速度計算機求心力計算機振り子周期電卓ばね定数電卓ドップラー効果電卓ソルティノレシオ電卓トレイナー・レシオ電卓株式ベータ計算機インフレ連動米国債TIPS電卓住宅ローン リキャスト 電卓フォワードレート電卓債券デュレーション電卓 マコーレーと修正債券コンベクシティ電卓インデックス連動年金電卓変額年金電卓リバースモーゲージ電卓年金支払い計算機そろばんシミュレーターロシア農民式乗算ヴェーダ数学トリック電卓古代エジプト式乗算電卓ローマ数字計算ソルバー暗算トレーナー九九クイズ繰り上がりと繰り下がりビジュアライザー数の合成と分解生成ツール硬貨文章題ソルバー距離・速さ・時間の三角形電卓仕事算ソルバー混合問題ソルバー年齢文章題ソルバー列車出会い問題ソルバー水分補給計算機ペース カロリー電卓薬剤投与量計算機アルコールカロリー電卓ボディリコンポジション電卓ランダム討論トピックジェネレーターランダムな猫犬の名前ジェネレーターランダム聖句ジェネレーターランダム算数問題ジェネレーターランダム段落ジェネレーターランダム英文ジェネレーター砂利・砂・表土計算機鋼材重量電卓梁の電卓ドルから金への変換ツールオプション電卓株式分割電卓ESPP電卓請求書遅延手数料電卓フリーランス時給電卓リース対購入電卓高度なチップ割り勘電卓持ち物リストジェネレーター時差ぼけ電卓旅行予算電卓飛行距離電卓熱損失電卓発電コスト電卓水使用量電卓家電電気代計算機家庭エネルギー監査電卓太陽光ROI電卓太陽光パネル電卓堆肥cn比計算機芝生肥料電卓霜の日付電卓レイズドベッド用土電卓NPK肥料電卓種子発芽率電卓動画ビットレート電卓音楽キー移調ツール音楽BPMタッパー写真ファイルサイズ推定電卓メガピクセルから印刷サイズ計算機クロップファクター電卓露出トライアングル電卓車両牽引能力電卓カーリース計算機0–60とクォーターマイル電卓EV充電時間電卓EV航続距離計算機トーラス電卓不規則多角形面積電卓円錐曲線識別ツール双曲線電卓Twitter/X 文字数カウンターYouTubeコメントピッカーYouTubeタグ抽出ツールyoutubeサムネイルダウンローダーyoutube収益見積もりツールランダムRPGキャラクタージェネレーター