Lecture 6. 1 Polynomial-time algorithms for the global min-cut problem

Similar documents
Lecture 10: The knapsack problem

Lecture 2: The Simple Story of 2-SAT

COSC 311: ALGORITHMS HW4: NETWORK FLOW

Lecture 5: Iterative Combinatorial Auctions

Lecture 14: Basic Fixpoint Theorems (cont.)

Sublinear Time Algorithms Oct 19, Lecture 1

Essays on Some Combinatorial Optimization Problems with Interval Data

Lecture 5. 1 Online Learning. 1.1 Learning Setup (Perspective of Universe) CSCI699: Topics in Learning & Game Theory

6.231 DYNAMIC PROGRAMMING LECTURE 3 LECTURE OUTLINE

The Probabilistic Method - Probabilistic Techniques. Lecture 7: Martingales

Tug of War Game. William Gasarch and Nick Sovich and Paul Zimand. October 6, Abstract

ECE 586GT: Problem Set 1: Problems and Solutions Analysis of static games

IEOR E4004: Introduction to OR: Deterministic Models

Strong Subgraph k-connectivity of Digraphs

CSE 21 Winter 2016 Homework 6 Due: Wednesday, May 11, 2016 at 11:59pm. Instructions

Lecture l(x) 1. (1) x X

1 Online Problem Examples

CMPSCI 311: Introduction to Algorithms Second Midterm Practice Exam SOLUTIONS

COS 511: Theoretical Machine Learning. Lecturer: Rob Schapire Lecture #24 Scribe: Jordan Ash May 1, 2014

Yao s Minimax Principle

Structural Induction

MAT 4250: Lecture 1 Eric Chung

Node betweenness centrality: the definition.

The Real Numbers. Here we show one way to explicitly construct the real numbers R. First we need a definition.

Levin Reduction and Parsimonious Reductions

The Binomial Theorem and Consequences

Lecture 5: Tuesday, January 27, Peterson s Algorithm satisfies the No Starvation property (Theorem 1)

1 Overview. 2 The Gradient Descent Algorithm. AM 221: Advanced Optimization Spring 2016

THE TRAVELING SALESMAN PROBLEM FOR MOVING POINTS ON A LINE

An Optimal Algorithm for Calculating the Profit in the Coins in a Row Game

Lecture 23: April 10

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

PORTFOLIO OPTIMIZATION AND EXPECTED SHORTFALL MINIMIZATION FROM HISTORICAL DATA

0/1 knapsack problem knapsack problem

Homework #4. CMSC351 - Spring 2013 PRINT Name : Due: Thu Apr 16 th at the start of class

The Stackelberg Minimum Spanning Tree Game

Another Variant of 3sat

Another Variant of 3sat. 3sat. 3sat Is NP-Complete. The Proof (concluded)

Handout 4: Deterministic Systems and the Shortest Path Problem

Analysis of Link Reversal Routing Algorithms for Mobile Ad Hoc Networks

About this lecture. Three Methods for the Same Purpose (1) Aggregate Method (2) Accounting Method (3) Potential Method.

useful than solving these yourself, writing up your solution and then either comparing your

Maximum Contiguous Subsequences

Realizability of n-vertex Graphs with Prescribed Vertex Connectivity, Edge Connectivity, Minimum Degree, and Maximum Degree

You Have an NP-Complete Problem (for Your Thesis)

Cook s Theorem: the First NP-Complete Problem

SET 1C Binary Trees. 2. (i) Define the height of a binary tree or subtree and also define a height balanced (AVL) tree. (2)

THE NON - STOCK EXCHANGE DEALS OPTIMIZATION USING NETFLOW METHOD. V.B.Gorsky, V.P.Stepanov. Saving Bank of Russian Federation,

CS364A: Algorithmic Game Theory Lecture #9: Beyond Quasi-Linearity

6.231 DYNAMIC PROGRAMMING LECTURE 3 LECTURE OUTLINE

Competitive Market Model

Maximizing the Spread of Influence through a Social Network Problem/Motivation: Suppose we want to market a product or promote an idea or behavior in

A relation on 132-avoiding permutation patterns

Lecture 4: Divide and Conquer

Computing Unsatisfiable k-sat Instances with Few Occurrences per Variable

CS 174: Combinatorics and Discrete Probability Fall Homework 5. Due: Thursday, October 4, 2012 by 9:30am

A Faster Algorithm for Solving One-Clock Priced Timed Games

Heaps. Heap/Priority queue. Binomial heaps: Advanced Algorithmics (4AP) Heaps Binary heap. Binomial heap. Jaak Vilo 2009 Spring

Regret Minimization and Security Strategies

A1: American Options in the Binomial Model

Markov Decision Processes II

Game Theory: Normal Form Games

Finding Equilibria in Games of No Chance

LECTURE 2: MULTIPERIOD MODELS AND TREES

Heaps

Firefighting as a Game

6.896 Topics in Algorithmic Game Theory February 10, Lecture 3

v ij. The NSW objective is to compute an allocation maximizing the geometric mean of the agents values, i.e.,

On the Optimality of a Family of Binary Trees Techical Report TR

Outline. 1 Introduction. 2 Algorithms. 3 Examples. Algorithm 1 General coordinate minimization framework. 1: Choose x 0 R n and set k 0.

A Theory of Loss-leaders: Making Money by Pricing Below Cost

Single Price Mechanisms for Revenue Maximization in Unlimited Supply Combinatorial Auctions

Regret Minimization and Correlated Equilibria

Advanced Algorithmics (4AP) Heaps

So we turn now to many-to-one matching with money, which is generally seen as a model of firms hiring workers

Bounds on coloring numbers

PAULI MURTO, ANDREY ZHUKOV. If any mistakes or typos are spotted, kindly communicate them to

Introduction to Greedy Algorithms: Huffman Codes

Outline for this Week

UNIT 2. Greedy Method GENERAL METHOD

monotone circuit value

Computing Unsatisfiable k-sat Instances with Few Occurrences per Variable

1 Solutions to Tute09

Competition for goods in buyer-seller networks

Failure and Rescue in an Interbank Network

Crash-tolerant Consensus in Directed Graph Revisited

What is Greedy Approach? Control abstraction for Greedy Method. Three important activities

Algebra homework 8 Homomorphisms, isomorphisms

Firefighting as a Game

Single Price Mechanisms for Revenue Maximization in Unlimited Supply Combinatorial Auctions

Online Algorithms SS 2013

1 Shapley-Shubik Model

PAULI MURTO, ANDREY ZHUKOV

Price of Anarchy Smoothness Price of Stability. Price of Anarchy. Algorithmic Game Theory

Single-Parameter Mechanisms

Lecture 19: March 20

Homework solutions, Chapter 8

Distributed Function Calculation via Linear Iterations in the Presence of Malicious Agents Part I: Attacking the Network

ON THE MAXIMUM AND MINIMUM SIZES OF A GRAPH

Dynamic Admission and Service Rate Control of a Queue

Transcription:

ORIE 633 Network Flows September 20, 2007 Lecturer: David P. Williamson Lecture 6 Scribe: Animashree Anandkumar 1 Polynomial-time algorithms for the global min-cut problem 1.1 The global min-cut problem Recall from the previous lecture the global min-cut problem and the claim: Global Min-cut Input: directed graph G=(V,A) capacities ν ij 0 (i, j) A, integer Goal: Find S V, S that minimizes ν(δ + (S)) Definition 1 Min s-t cut: Input s, t V. Find S : s S, t / S that minimizes u(δ + (S)). Definition 2 Min s-cut: Input s, t V. Find S : s S that minimizes u(δ + (S)). We showed last time the following two lemmas. Lemma 1 We can find the global min-cut by running a min s-cut algorithm twice. Lemma 2 We can find the min s-cut with n 1 max flows. In fact, we can also find the min s-cut by finding something more exotic, called a minimum X-t cut. Definition 3 The min X-t cut: Input X V, X, t V X. Find S : X S, t / S that minimizes u(δ + (S)). To find min s-cut using min X-t cut algorithm X {s}, cutval, cut While X V Pick any vertex in V X as t Find S : min X-t cut If u(δ + (S)) < cutval cutval u(δ + (S)) and cut S X X t Return cutval, cut 6-1

Claim 3 The above algorithm finds the min s-cut. Proof: Let S be a min s-cut. Consider the first iteration s.t. some t is chosen with t / S. In that iteration, X S and t / S. So S is an X-t cut and hence, the min X-t cut found in that iteration can have capacity at most u(δ + (S )). Also, since any X-t cut is an s-cut, its capacity should be at least u(δ + (S )). Hence, the min X-t found at the end of this iteration has the value u(δ + (S )) and is a min s-cut. We will now show how we can implement the algorithm given in the proof above to find a minimum s-cut. First we need a few definitions. Definition 4 A distance level k, D k, is the set {i V : d i = k}. Definition 5 Distance level k is empty if D k =. Definition 6 Distance level k is called a cut level if D k = 1 and for i D k, (i, j) A f, d i < d j. We will now establish why cut levels are useful when finding min cuts. Lemma 4 If the distance level k is a cut level, then for S = {i : d i k}, all arcs in δ + (S) are saturated. Proof: Pick any (i, j) δ + (S). By definition of S, d i k, d j < k. If d i = k, then by definition of cut level (i, j) / A f which implies that (i, j) is saturated. If d i > k, then d i > d j + 1, and thus (i, j) / A f, which again implies that (i, j) is saturated. The intuition is that the min cut can be found when there are no active nodes strictly below the cut level. Here is the implementation of the push/relabel algorithm to find the min s-cut. Note that this is just a more detailed implementation of the algorithm above, so that if this algorithm in fact finds the minimum X-t cut in every iteration, it will find the minimum s-cut. 6-2

Push/relabel min s-cut (Hao and Orlin, 1993) X {s}; Pick any vertex in V X as t d s n, d t 0, d i 0, i V {s} cutval, cut While X V Run Push/Relabel which selects only active nodes i with d i < k for lowest cut level k (or d i < n 1 if no cut level) Let k be lowest cut level (n 1 if no cut level) Note that there are no active nodes i with d i < k. S {i : d i k} S is the min X-t cut. If u(δ + (S)) < cutval cutval u(δ + (S)) and cut S Pick t t : d t d i, i V X {t} Let X X {t} Let d t n and saturate all arcs out of t Set t t Return cutval, cut. We will show the following lemmas. Lemma 5 If i / X, d i n 2. Lemma 6 Each time through the while loop, S is the min X-t cut. Before we prove these two lemmas let us first take a look at their implications. We will argue below that these next lemmas follow from Lemma 5. Lemma 7 There are at most O(n 2 ) relabels. Lemma 8 There are at most O(nm) saturating pushes. Lemma 9 There are at most O(n 3 ) non-saturating pushes. Lemma 7 is true since each time a node other than the sink is relabelled, its distance label increases by at least 1 and the total increase is bounded by n 2 (by Lemma 5). The distance label of the sink is set to n at the end of the iteration and it is not relabelled further. Lemma 8 holds since between 2 saturating pushes on an arc, the distance labels of its end nodes must have increased by 2. Again, as the distance labels are bounded, the number of saturating pushes is O(n) for any arc and O(mn) overall. Lemma 9 can be shown using the FIFO implementation of the push/relabel algorithm and a modified potential function. Recall that we also showed last time that two executions of a min s-cut algorithm can be used to find a global min cut. Then the above lemmas lead to the following theorem. 6-3

Theorem 10 (Hao, Orlin 1993) The push/relabel min s-cut finds the min s-cut and global min-cut in O(n 3 ) time. In fact, it can be shown that algorithm can run in O(mn log n) time. We contrast this running time with the earlier crude estimates of (n 1) and n(n 1) max flow computations required to find a min s-cut and global min-cut, respectively. Now, we return to the proofs of Lemmas 5 and 6. We start with Lemma 6. Proof of Lemma 6: We know that d i = n i X, d i n 2 i / X and the sink t has the minimum distance label. Now, the way in which S is chosen implies that X S while t / S. Also, since any node with an excess is inside S and all arcs in δ + (S) are saturated, S is a min X-t cut. To prove Lemma 5, we first need the following lemma. Lemma 11 The non-empty distance levels k for k < n are consecutive. Proof: This is clearly true at the beginning of the algorithm. If some distance level D l with l < n becomes empty, let i be the last node in D l. We will consider two cases for i to leave D l. Case (1): i is relabelled. This happens if e i > 0 and d i < k for lowest cut level k. Consequently, d i d j (i, j) A f, since i needed to be relabelled. This is a contradiction since D l = 1, implying that l is the lowest cut level, not k. Case (2): i is sink t and d i n at the end of the execution of that loop. Then, in the previous iteration i had the minimum distance d i. Also, since i is a sink, its distance has not increased. Therefore, i is still the minimum d i and setting d i to n does not contradict the lemma. Now we can prove Lemma 5. Proof of Lemma 5: By induction on X. Let i / X have the max distance label. Noting that at each iteration the current sink t has the lowest distance label, Lemma 11 implies that the distance levels between d t and d i are all non-empty. Initially, X = {s}, d t = 0, and since each distance level between d i and d t must contain at least one vertex from the remaining n X 1 vertices, d i d t + (n X 1) n 2 Now assume that d i d t + (n X 1) n 2 at the start of an iteration. At the end of this iteration, X increases by 1 as the current sink t is added to X. The distance label of the new sink t increases by at most 1. This is because even if the lowest distance level becomes empty after t has been added to X, there must be a node in the next higher distance level (by the property that the non-empty distance levels are consecutive). Letting d denote the distance labels in the next iteration and X = X {t}, d i d t + (n X 1) d t + 1 + (n ( X + 1) 1) n 2. So, in directed graphs an algorithm for finding a global min-cut is based on a maxflow computation. Next time, we will look at algorithms for finding a global min-cut in undirected graphs which seem to have nothing to do with flows. 6-4

Figure 1: Consecutive non-empty distance levels. 6-5