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

Slides:



Advertisements
Similar presentations
Vertex sparsifiers: New results from old techniques (and some open questions) Robert Krauthgamer (Weizmann Institute) Joint work with Matthias Englert,
Advertisements

TexPoint fonts used in EMF.
ECE Longest Path dual 1 ECE 665 Spring 2005 ECE 665 Spring 2005 Computer Algorithms with Applications to VLSI CAD Linear Programming Duality – Longest.
Comments We consider in this topic a large class of related problems that deal with proximity of points in the plane. We will: 1.Define some proximity.
Compact and Low Delay Routing Labeling Scheme for Unit Disk Graphs Chenyu Yan, Yang Xiang, and Feodor F. Dragan (WADS 2009) Kent State University, Kent,
Piyush Kumar (Lecture 6: MaxFlow MinCut Applications)
A Randomized Linear-Time Algorithm to Find Minimum Spanning Trees David R. Karger David R. Karger Philip N. Klein Philip N. Klein Robert E. Tarjan.
Lectures on Network Flows
1 Representing Graphs. 2 Adjacency Matrix Suppose we have a graph G with n nodes. The adjacency matrix is the n x n matrix A=[a ij ] with: a ij = 1 if.
PLANAR SHORTEST PATH & R-DIVISIONS Dwyane George March 10, 2015.
CS138A Network Flows Peter Schröder. CS138A Flow Networks Definitions a flow network G=(V,E) is a directed graph in which each edge (u,v)
Totally Unimodular Matrices Lecture 11: Feb 23 Simplex Algorithm Elliposid Algorithm.
1 Algorithms for Large Data Sets Ziv Bar-Yossef Lecture 8 May 4, 2005
Randomized Algorithms and Randomized Rounding Lecture 21: April 13 G n 2 leaves
A Simple Min-Cut Algorithm Joseph Vessella Rutgers-Camden 1.
Approximating metrics by tree metrics Kunal Talwar Microsoft Research Silicon Valley Joint work with Jittat Fakcharoenphol Kasetsart University Thailand.
A general approximation technique for constrained forest problems Michael X. Goemans & David P. Williamson Presented by: Yonatan Elhanani & Yuval Cohen.
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
Joint with Christian KnauerFreie U., Berlin Andreas SpillnerJena Takeshi TokuyamaTohoku University Alexander WolffUniversity of Karlsruhe Algorithms for.
ECE LP Duality 1 ECE 665 Spring 2005 ECE 665 Spring 2005 Computer Algorithms with Applications to VLSI CAD Linear Programming Duality.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
1 University of Denver Department of Mathematics Department of Computer Science.
Randomness in Computation and Communication Part 1: Randomized algorithms Lap Chi Lau CSE CUHK.
Traversing the Machining Graph Danny Chen, Notre Dame Rudolf Fleischer, Li Jian, Wang Haitao,Zhu Hong, Fudan Sep,2006.
Linear Programming – Max Flow – Min Cut Orgad Keller.
Tools for Planar Networks Grigorios Prasinos and Christos Zaroliagis CTI/University of Patras 3 rd Amore Research Seminar – Oegstgeest, The Netherlands,
CSE 421 Algorithms Richard Anderson Lecture 22 Network Flow.
Graph Theory Chapter 6 Planar Graphs Ch. 6. Planar Graphs.
1 Minimum Spanning Tree in expected linear time. Epilogue: Top-in card shuffling.
Distributed Verification and Hardness of Distributed Approximation Atish Das Sarma Stephan Holzer Danupon Nanongkai Gopal Pandurangan David Peleg 1 Weizmann.
All Rights Reserved © Alcatel-Lucent 2006, ##### Matthew Andrews Show-and-Tell April 20, 2010 Edge Disjoint Paths via Räcke Decompositions.
Multiple-Source Shortest Paths in Planar Graphs Allowing Negative Lengths Philip Klein Brown University.
Advanced Algorithms Piyush Kumar (Lecture 4: MaxFlow MinCut Applications) Welcome to COT5405.
CS774. Markov Random Field : Theory and Application Lecture 13 Kyomin Jung KAIST Oct
Edge-disjoint induced subgraphs with given minimum degree Raphael Yuster 2012.
1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.
Prim's Algorithm This algorithm starts with one node. It then, one by one, adds a node that is unconnected to the new graph to the new graph, each time.
The Minimum Spanning Tree (MST) problem in graphs with selfish edges.
15-853Page :Algorithms in the Real World Planar Separators I & II – Definitions – Separators of Trees – Planar Separator Theorem.
Flow Algorithms Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Analysis of Algorithms Week 9, Lecture 2.
Embeddings, flow, and cuts: an introduction University of Washington James R. Lee.
Multicommodity flow, well-linked terminals and routing problems Chandra Chekuri Lucent Bell Labs Joint work with Sanjeev Khanna and Bruce Shepherd Mostly.
Chapter 8 Maximum Flows: Additional Topics All-Pairs Minimum Value Cut Problem  Given an undirected network G, find minimum value cut for all.
Julia Chuzhoy (TTI-C) Yury Makarychev (TTI-C) Aravindan Vijayaraghavan (Princeton) Yuan Zhou (CMU)
Graph Partitioning using Single Commodity Flows
Graph Algorithms Maximum Flow - Best algorithms [Adapted from R.Solis-Oba]
Great Theoretical Ideas in Computer Science for Some.
CSE 421 Algorithms Richard Anderson Lecture 22 Network Flow.
1 Assignment #3 is posted: Due Thursday Nov. 15 at the beginning of class. Make sure you are also working on your projects. Come see me if you are unsure.
Prof. Swarat Chaudhuri COMP 382: Reasoning about Algorithms Fall 2015.
Graphs Definition: a graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected.
Theory of Computing Lecture 12 MAS 714 Hartmut Klauck.
ETH Zurich – Distributed Computing Group Stephan HolzerSODA Stephan Holzer Silvio Frischknecht Roger Wattenhofer Networks Cannot Compute Their Diameter.
1 Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
Algorithms and Networks
Randomized Min-Cut Algorithm
The minimum cost flow problem
CS4234 Optimiz(s)ation Algorithms
Minimum Spanning Tree 8/7/2018 4:26 AM
Voronoi diagrams in planar graphs & computing the diameter in
Approximating k-route cuts
Planarity Testing.
Constrained Bipartite Vertex Cover: The Easy Kernel is Essentially Tight Bart M. P. Jansen June 4th, WORKER 2015, Nordfjordeid, Norway.
Piyush Kumar (Lecture 6: MaxFlow MinCut Applications)
Algorithms (2IL15) – Lecture 7
Lecture 14 Shortest Path (cont’d) Minimum Spanning Tree
Sorting and Divide-and-Conquer
Analysis of Algorithms
Lecture 14 Minimum Spanning Tree (cont’d)
Lecture 13 Shortest Path (cont’d) Minimum Spanning Tree
Presentation transcript:

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

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

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.

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

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

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

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

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?

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?

Planar graphs: duality duality Primal graph G

Planar graphs: duality duality Dual graph G * of G

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

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.

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 *

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

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

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

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?

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

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.

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?

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

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.

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

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

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

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?

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

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

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.

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?

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

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*.

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

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

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

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

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.

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

Thanks again, Steve!

Thank you...