Find all minimal edge cuts of a graph.

asked 2022-12-24 13:47:14 +0100

anonymous user

Anonymous

updated 2022-12-25 02:59:15 +0100

An edge cut is a set of edges that, if removed from a connected graph, will disconnect the graph.

A minimal edge cut is an edge cut such that if any edge is put back in the graph, the graph will be reconnected.

A minimum edge cut is an edge cut such that there is no other edge cut containing fewer edges.

Note that a minimum edge cut is always minimal, but a minimal edge cut is not always minimum.

g="S~tIID@OI?{@n~V?goYEDOWd?qI?sJ?[C"
G = Graph(g, sparse=True);

image description

How to find its all minimal edge cuts? I have searched Literature [1] for the corresponding polynomial algorithm (which you can view). But I don't see any code implementation. For the above graph (with 20 vertices), perhaps a violent search would be possible.

[1] Karzanov, A.V., Timofeev, E.A. Efficient algorithm for finding all minimal edge cuts of a nonoriented graph. Cybern Syst Anal 22, 156–162 (1986). https://doi.org/10.1007/BF01074775

edit retag flag offensive close merge delete

Comments

1

You can certainly implement the algorithm described in the paper.

David Coudert gravatar imageDavid Coudert ( 2022-12-27 12:21:12 +0100 )edit

@ David Coudert From the discussion below, it appears that there is no polynomial algorithm for finding all minimal cuts. I feel that I have misread Literature [1], or the result of Literature [1] itself is wrong.

(I don't know how I became an anonymous in this question)

licheng gravatar imagelicheng ( 2023-01-08 02:56:46 +0100 )edit