最大流問題とは、最大の流量を求める問題である。線型計画問題のひとつ。
例えば、ある地点から他の地点に情報を送信するとする。このとき、いくつかの地点を経由し、分岐や合流をしながら情報が送られるとする。送信される過程で、一度に送ることのできる情報量の最大値がそれぞれ決まっている際、全体で一度に送信できる情報量の最大値はいくらなのか。これを考えるのが最大流問題である。最大流問題では、情報量をフロー、送信側をソース、受信側をシンクという。
最大流問題を解くアルゴリズムのひとつ。
「あとどれだけフローを増加できるか」を図にしたもの。
例えば、地点Aから地点Bへ最大で5流せるとし、実際に2流れているとする。このとき、さらにフローを3だけ増やすこともできるし、流れている2をキャンセルすることもできる。この量を「残余容量」という。AからBへの残余容量は3、BからAへの残余容量は2である。残余容量をすべて求め、図にしたものが残余ネットワークである。
上図を例にして、最大流をフロー増加法で求める。
フローをすべて0にしたときの残余ネットワークは、上図に一致する。A→B→Eにフローを4加えると、残余ネットワークは次のとおり。
A→D→Eに6加える。
A→C→Eに2加える。
A→B→C→Eに1加える。
AからEにつながる路がないため、ループ脱出。最大流は13で、次のように流せばよいことがわかる。(流量は括弧付きで記す)
急上昇ワード改
最終更新:2025/12/07(日) 03:00
最終更新:2025/12/07(日) 03:00
ウォッチリストに追加しました!
すでにウォッチリストに
入っています。
追加に失敗しました。
ほめた!
ほめるを取消しました。
ほめるに失敗しました。
ほめるの取消しに失敗しました。