Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Minimal cut through vertices/nodes - not edges

we all know and love s-t minimal cut algorithms, but they all cut through the edges in the graph. Are there any variants that cuts through nodes?

like image 608
eisbaw Avatar asked Nov 11 '10 10:11

eisbaw


1 Answers

So to use the s-t minimal cut algorithm you need to transform your graph into a flow network. This gives an implicit directed graph (the direction of an edge's forward flow). You can use this directed representation to transform the graph into something which should solve this. Essentially you transform every vertex, V, (excluding the source and the sink) into two vertices, call them A and B. A gets all of V's in-edges, B gets all of V's out-edges. You then create the edge A -> B with a maximum capacity of infinity.

I think if you run the usual s-t minimal cut algorithm on this it will only select the edges you create. The only modification I can think that is necessary is in cases where the in-degree of A is one, it might select that edge to cut, but just pick A as the vertex then. (This depends on implementation of the s-t algorithm)

I hope that makes sense. I am not certain if that works (i.e. I don't feel like thinking up a proper proof), but it makes intuitive sense that it would. The intuitive idea that I have is that if you cut a "non-vertex" edge, you might as well cut a "vertex" edge since it has the same effect w.r.t to disconnecting the graph.

like image 123
Keegan Carruthers-Smith Avatar answered Sep 30 '22 05:09

Keegan Carruthers-Smith