Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Set of nodes in every minimum cut of flow graph

I'm currently working through exercises to study network flow algorithms, and I'm stuck on a sub-problem I think is necessary to solve one such exercise.

The question: How does one compute the set of nodes which belong to every minimum cut of a flow graph?

Intuitively, if Ford-Fulkerson is used and augmentation paths are chosen so as to have a minimum number of edges, this should give us a cut set of minimal cardinality, but must these nodes be in every minimum cut?

If so, I can't seem to prove it. If not, I don't have any real ideas. Perhaps finding a mechanism for exchanging edges in the residual graph?

like image 292
notwatson Avatar asked Dec 09 '25 21:12

notwatson


1 Answers

I believe I've cooked up an appropriate answer:

Claim: Every node which can be in a (source-side) min-cut set must be source-reachable in flow residual graph Gf returned by max-flow (i.e. Ford-Fulkerson).

Proof: Suppose not. Then, there exists some u such that there is no s-u path in Fg and is in some source-side min-cut set S'. Since F-F returns the set of nodes reachable by s as its min-cut set (e.g. by BFS), S' is not returned by F-F. This implies u is in T (the sink-side of the min-cut).

We now show that there is no means of transforming S to S' while retaining the min-cut property. Suppose it were possible. Then, any algorithm capable of the transformation would need to be able to identify an s-u path to push flow from s to u in some residual graph. Note, however, that this is not possible.

Consider any edge (v, w) such that v is in S and w in T. Since u was not in S, it must be that w is not u (i.e. there is no forward edge from S to u, else it would be in S already). Then, it must be that u is made accessible to s by adding a forward edge from S to T. However, this is impossible! Flow only may be added on reverse edges, by the max-flow/min-cut property. The claim is then proven.

To solve the problem posted above, we simply compute the set of all nodes which can be in a source-side min-cut set (call this set A), then reverse edges and compute the set of all nodes which can be in a sink-side min-cut set (call this B), compute the intersection (call this C), and then compute Answer = A - C. The complexity of this algorithm is the same as F-F, which is to say O(|V|^3).

Please let me know if you find any errors! Sorry for answering my own question!

like image 140
notwatson Avatar answered Dec 11 '25 13:12

notwatson