Finding edge connectivity of a network by using Maximum Flow algorithm

后端 未结 1 1246
小蘑菇
小蘑菇 2021-02-09 16:56

I want to find the edge connectivity (i.e. minimum number of edges to remove to disconnect a graph) of an undirected graph using maximum flow algorithms (Edmond Karp / Ford-Fulk

1条回答
  •  北海茫月
    2021-02-09 17:39

    Distinguish a node v in your graph. Compute, for every w other than v, the maximum flow from v to w. Since v must be on one shore of the graph's global minimum cut and something else must be on the other side, one of these flows will identify the global minimum cut.

    There's a trick due to Hao and Orlin where, if you use a preflow push algorithm, a global minimum-cut computation takes about as much time as a minimum (s,t)-cut problem. It has the benefit of being practical. Karger has a randomised algorithm that does it in O(n polylog(n)) time, but I'm not aware of any implementations, let alone fast implementations.

    0 讨论(0)
提交回复
热议问题