Presentation is loading. Please wait.

Presentation is loading. Please wait.

A deterministic near-linear time algorithm for finding minimum cuts in planar graphs Thank you, Steve, for presenting it for us!!! Parinya Chalermsook.

Similar presentations


Presentation on theme: "A deterministic near-linear time algorithm for finding minimum cuts in planar graphs Thank you, Steve, for presenting it for us!!! Parinya Chalermsook."— Presentation transcript:

1 A deterministic near-linear time algorithm for finding minimum cuts in planar graphs Thank you, Steve, for presenting it for us!!! Parinya Chalermsook Jittat Fakcharoenphol Danupon Nanongkai Kasetsart University, Thailand

2 Minimum cuts To find a cut (S, V-S) such that the weights of edges that cross the cut is minimized

3 Previous results The best-known result for general graphs is given by Karger [K00], and it was the best known for planar graphs. His algorithm runs in O(m log 3 n), which is O(n log 3 n) in planar graphs.

4 Previous results Karger ’ s algorithm is a randomized algorithm The best-known deterministic algorithm runs in O(mn+ n 2 log n) given by Nagamochi and Ibaraki

5 Our algorithm a deterministic algorithm for planar graphs which runs in O(n log 2 n) a divide and conquer algorithm

6 Basic framework Find some cut S ; use it to separate the graph. G S G1G1 G2G2

7 Basic framework 3 cases. G S G1G1 G2G2 Find them recursively Do some work for this case

8 Talk outline Review of useful properties of planar graphs The main tool: Weihe ’ s max-flow algorithm Partitioning cut S. Given the partitioning cut S, how to find the minimum cut that cross S ? How to find the partition?

9 Talk outline Review of useful properties of planar graphs The main tool: Weihe ’ s max-flow algorithm Partitioning cut S. Given the partitioning cut S, how to find the minimum cut that cross S ? How to find the partition?

10 Planar graphs: duality duality Primal graph G

11 Planar graphs: duality duality Dual graph G * of G

12 Planar graphs: duality Faces in G correspond to nodes in G* A cycle in G corresponds to a cut in G*

13 Duality of weighted graphs The weight of each primal edge becomes the weight of the corresponding dual edge. We usually refer to the weights of dual edges as edge lengths. So that we can talk about the length of paths or cycles in the dual graph.

14 Minimum cuts and shortest simple cycles Also from duality, a cut in G corresponds to a set of cycles in G *. Easy to show that a minimum cut in G correspond to some simple cycle in G *. Thus, a minimum cut corresponds to a shortest simple cycle in G *

15 Our algorithm essentially uses this equivalence. It uses shortest paths in the dual graph to help finding the minimum cut in the primal. Minimum cuts and shortest simple cycles

16 A shortest path and a shortest simple cycles Can consider only those which intersect each other once. a cycle some shortest path

17 A shortest path and a shortest simple cycles Can consider only those which intersect each other once. another cycle as short some shortest path

18 Talk outline Review of useful properties of planar graphs The main tool: Weihe ’ s max-flow algorithm Partitioning cut S. Given the partitioning cut S, how to find the minimum cut that cross S ? How to find the partition?

19 Minimum (s,t) cuts The minimum cut that separates s and t. Weihe ’ s max-flow algorithm finds it in planar graph in O(n log n) time t s

20 Key idea Use Weihe ’ s algorithm as a subroutine. Thus, to find the mincut that crosses S, we need to identify the pair of nodes (s,t) which are on different sides of the mincut. We use shortest paths in the dual graph to do this.

21 Talk outline Review of useful properties of planar graphs The main tool: Weihe ’ s max-flow algorithm Partitioning cut S. Given the partitioning cut S, how to find the minimum cut that cross S ? How to find the partition?

22 In the dual graph S corresponds to some cycle If some part of S is a shortest path: S Some shortest path G Some mincut

23 In the dual graph S corresponds to some cycle If some part of S is a shortest path: S Some shortest path G Some mincut Can look at this one instead.

24 The structure of S Simplified version Described as a cycle in the dual graph Some edge Some shortest path

25 How can this help? Some edge Some shortest path Avoid dealing with this cut

26 Still, other cases to deal with Some edge Some shortest path This can occurs

27 Talk outline Review of useful properties of planar graphs The main tool: Weihe ’ s max-flow algorithm Partitioning cut S. Given the partitioning cut S, how to find the minimum cut that cross S ? How to find the partition?

28 Main lemma Any shortest cycle that crosses S cannot contain both face F 1 and face F 2 simultaneously. F1F1 F2F2

29 What is F 1 and F 2 ? In the primal graph F 1 and F 2 correspond to some pair of nodes. The mincut we want is the min (F 1,F 2 )-cut. One application of Weihe ’ s algorithm finds this mincut. F1F1 F2F2

30 Running time Assume that S can be found in linear time. Weihe ’ s algorithm takes O(nlogn) time Running time recurrence: T(n) = T(n1) + T(n-n1) +O(n log n) If the graph is divided equally, O(logn) levels of recursions are needed. Our algorithm runs in O(nlog 2 n) time.

31 Talk outline Review of useful properties of planar graphs The main tool: Weihe ’ s max-flow algorithm Partitioning cut S. Given the partitioning cut S, how to find the minimum cut that cross S ? How to find the partition?

32 Using duality again. Using idea similar to one in Lipton- Tarjan ’ s separator theorem.

33 Another duality: spanning trees Any spanning tree T in G A set of edges in G*, corresponding to T ’ s non-tree edges, forms also a spanning tree in G*.

34 The partitioning cut S Take any shortest path tree T* in G* starting from some node r. Can be found in linear time using an algorithm by Henzinger, Klein, Rao and Subramanian [HKRS94]. r

35 The partitioning cut S Any non-tree edge induces a fundamental cycle with the required property. Which one yields balanced partitioning? r

36 The partitioning cut S The non-tree edge that we want to find is some tree edge e in the primal spanning tree. Furthermore, the number of faces inside the induced cycle is the number of tree nodes that e separates in the primal graph. r

37 The partitioning cut S The problem reduces to finding an edge separator in a tree.

38 Details, details, details... To be able to find a separator in a tree, we need the degrees of the nodes to be bounded. Thus, we first triangulate the primal graph.

39 Details, details, details... As a result of the triangulation: With slight modifications, other thing works out. Some path along some face Some shortest path

40 Thanks again, Steve!

41 Thank you...

42


Download ppt "A deterministic near-linear time algorithm for finding minimum cuts in planar graphs Thank you, Steve, for presenting it for us!!! Parinya Chalermsook."

Similar presentations


Ads by Google