Ich suche nach einem schnellen Algorithmus zur Berechnung des maximalen Durchflusses in dynamischen Diagrammen. dh wenn ein Graph und , haben wir den maximalen Fluss in von nach . Dann wird der neue / alte Knoten mit seinen entsprechenden Kanten hinzugefügt / gelöscht, um einen Graphen . Was ist ein maximaler Durchfluss in einem neu erstellten Diagramm? Gibt es eine Möglichkeit, die Neuberechnung des maximalen Durchflusses zu verhindern?F G s t u G 1
Jede Vorverarbeitung, die nicht sehr zeit- und speicherintensiv ist, wird geschätzt.
Die einfachste Idee ist die Neuberechnung des Durchflusses.
Eine weitere einfache Idee ist, alle in der vorherigen Berechnung des maximalen Durchflusses verwendeten Erweiterungspfade abzuspeichern, um einen Scheitelpunkt hinzuzufügen . Wir können einfache Pfade (im aktualisierten Kapazitätsdiagramm nach vorherigem Schritt) finden, die von der Quelle ausgehen, zu der dann weitergehen zum Ziel, aber das Problem ist, dieser Pfad sollte einfach sein, ich könnte nicht besser als für diesen Fall finden, für . (Beachten Sie auch, dass dies in erfolgen könnte, wenn es nur ein Pfad wäre, aber das ist nicht der Fall .)
Auch zum Entfernen von Knoten über Idee funktioniert nicht.
Ich habe auch schon Papiere wie Inkrementelle Annäherung für Kanten gesehen , aber in diesem Fall scheinen sie nicht gut genug zu sein, es ist mehr als für jede Kante und in diesem Fall scheint es keine geeignete Erweiterung zu sein (wir berechnen nur einen Fluss neu). Derzeit verwende ich auch den Ford-Fulkerson-Algorithmus für maximalen Durchfluss. Wenn es eine bessere Option für Online-Algorithmen gibt, ist es gut, dies zu wissen.