I'm looking for fast algorithm to compute maximum flow in dynamic graphs (adding/deleting node with related edges to graph). i.e we have maximum flow in $G$ now new node added/deleted with related edges, I don't like to recalculate maximum flow for new graph, in fact, I want use previous available results for this graph.

Any preprocessing which isn't very time/memory consumer is appropriated.

Simplest idea is recalculating the flow.

Another simple idea is as this, save all augmenting paths which used in previous maxflow calculation, now for adding vertex $v$, we can find simple paths (in updated capacity graph by previous step) which start from source, goes to $v$ then goes to destination, but problem is this path should be simple, I couldn't find better than $O(n*E)$ for this case. (Also note that if it was just one path this could be done in $O(n+E)$ but it's not so.)

Also for removing node above idea doesn't work.

  • $\begingroup$ If you don't find anything here, or using a web-search, cstheory.stackexchange.com might be helpful. $\endgroup$ – Aryabhata Jan 26 '12 at 20:57
  • $\begingroup$ @Aryabhata, thanks I'm aware of that, In fact this is a problem in my work (not science at first) but currently seems this is scientific question. $\endgroup$ – Saeed Jan 26 '12 at 21:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.