1

I know an algo to find the minimum cut in a planar graph.

Works as O(NlogN)

You create a dual graph where each vertice corresponds to original's graph facet and edge corresponds to a minimum edge connecting two facets.

Then you use Dijkstra to find the minimum path in this graph.

This way it is possible to find a minimum cut and count the flow value.

But how can I find any of the sets of the original graph edges which provide this flow value?

General Grievance
  • 4,555
  • 31
  • 31
  • 45
user10732
  • 21
  • 3
  • Isn't this just the edges in the path? If you find the path, you will have the set of edges, right? Is that what you are asking? – Marlin Pierce May 19 '12 at 18:49
  • Emm, no. I find a path in a conjugated graph. It is the set of edges, which form a cut. If each of these edges is destroyed - the original graph would turn into two disconnected graphs. – user10732 May 19 '12 at 19:09

1 Answers1

3

The algorithm you are sort of describing only works for undirected graphs (Reif's algorithm). Hassin and Johnson showed how to ectend it to compute the max flow. Recently it was shown that these algorithms can be implemented in O(n loglog n) time. See G. F. Italiano, Y. Nussbaum, P. Sankowski, and C. Wulff-Nilsen Improved Algorithms for Min Cut and Max Flow in Undirected Planar Graphs. in Proc. 43rd ACM Symposium on Theory of Computing (STOC), San Jose, 2011.

in directed planar graphs the fastest known algorithm runs in O(n log n) see http://web.engr.oregonstate.edu/~glencora/papers/other/Borradaile08-thesis-dissertation.pdf or http://compgeom.cs.uiuc.edu/~jeffe/pubs/parshort.html

Shay Mozes
  • 31
  • 1