動的グラフの最大フローを計算する高速アルゴリズムを探しています。グラフ所与すなわちと我々は最大流量有するにおけるからへ。次に、対応するエッジで追加/削除された新しい/古いノードがグラフを形成します。新しく作成されたグラフの最大フローとは何ですか?最大流量の再計算を防ぐ方法はありますか?
非常に時間/メモリを消費しない前処理を歓迎します。
最も簡単なアイデアは、フローを再計算することです。
別の簡単なアイデアは、これです。以前の最大フロー計算で使用されたすべての拡張パスを保存し、頂点を追加するために、ソースから始まり、vに行き、次に行く単純なパスを見つけることができます(前のステップで更新された容量グラフで)目的地までが、問題があり、このパスは簡単であるべき、私はより良いよりも見つけることができませんでしたO (N ⋅ メートル)のためにこのような場合のために、M = | E | 。(また、それがただ1つのパスである場合、これはO (n + m )で実行できますが、そうではないことに注意してください。)
また、上記のノードを削除するというアイデアは機能しません。
また、エッジのインクリメンタルアプローチなどの論文を見ましたが、この場合は十分ではないようです。各エッジの以上であり、この場合は適切な拡張ではないようです(フローを再計算するだけです)。また、現在はFord-Fulkerson最大フローアルゴリズムを使用しています。オンラインアルゴリズムに適したオプションがある場合は、それを知っておくと便利です。