動的グラフの最大フローを計算するための高速アルゴリズムを探しています(グラフに関連するエッジを持つノードを追加/削除)。つまり、Gに最大フローがあり、関連するエッジで新しいノードが追加/削除されました。新しいグラフの最大フローを再計算するのは好きではありません。実際、このグラフには以前に利用可能な結果を使用したいと思います。
時間/メモリの消費量が少ない前処理が適切に使用されます。
最も簡単なアイデアは、フローを再計算することです。
もう1つの簡単なアイデアは、これまでのmaxflow計算で使用したすべての拡張パスを保存し、頂点を追加するために、ソースから開始して宛先に移動するv
単純なパス(前のステップで更新された容量グラフ)を見つけることができますが、v
問題は、このパスは単純である必要があることです。この場合、O(n * E)よりも優れたものを見つけることができませんでした。(それが1つのパスであるか、パスが互いに素である場合、これはO(n + E)で実行できますが、そうではありません)。
また、上記のノードを削除するためのアイデアは機能しません。
また、私の質問は、動的エッジの追加/削除を調べる別の質問とは関係ありません。