1 / 11

Maximum Flow and Minimum Cut Problems

Maximum Flow and Minimum Cut Problems. In this handout: Good choices for augmenting paths Duality theory Upper bounds for maximum flow value Minimum Cut Problem Relationship between Maximum Flow and Minimum Cut. Good Choices for Augmenting Paths.

basil-johns
Download Presentation

Maximum Flow and Minimum Cut Problems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Maximum Flow and Minimum Cut Problems • In this handout: • Good choices for augmenting paths • Duality theory • Upper bounds for maximum flow value • Minimum Cut Problem • Relationship between Maximum Flow and Minimum Cut

  2. Good Choices for Augmenting Paths • An augmenting path can be found by breadth-first search technique (well-known in CS, no details here) • 2 main methods for choosing augmenting paths: • Select a path with fewest number of arcs • Easy to implement (a well-known algorithm for finding shortest paths can be used) • OK performance • Select a path on which the most flow can be sent (i.e., the path with the highest residual capacity) • Good performance • A little harder to implement

  3. Primal and Dual Problems in Optimization • For many optimization problems, there is a dual problem associated with the primal (original) problem. • The relationship between the primal and dual problems prove to be extremely useful in a variety of ways. Particularly, it • helps to find efficient algorithms for solving the primal problem; • provides arguments for proving the optimality (or close-to-optimality) of a primal solution. • There is a dual linear program associated with each primal linear program. One of key uses of LP duality theory is Sensitivity Analysis (discussed in Math442/542). • Next we will discuss the dual of Maximum Flow Problem, known as Minimum Cut Problem.

  4. A 4 4 6 B O D 5 5 T 4 4 5 C Upper bounds for maximum flow value • Recall our example. Can we give upper bounds on the maximum flow value before finding any augmenting paths? • One possible upper bound is the total capacity of the arcs leaving the source: • Another upper bound is the total capacity of the arcs entering the sink: Note that this upper bound is equal to the maximum flow value. Thus, we could recognize that the algorithm output is optimal simply by comparing the flow value with the upper bound.

  5. 0 2 2 C C 4 0 2 A A 2 4 8 6 T T O O 1 3 0 4 2 D D 3 2 3 B B 1 1 2 Upper bounds for maximum flow value • Consider another example given by the network below. • After solving the problem by the augmenting path algorithm (see blackboard), we get the following optimal residual network with maximum flow value equal to 5.

  6. 2 C 4 A 8 T O 3 4 D 3 B 2 Upper bounds for maximum flow value • Upper bounds for this problem: Both of these upper bounds are strictly greater than the maximum flow value. Can we get a tighter (smaller) upper bound? • Consider the set of directed arcs going from node set {O,A} to its complement node set {B,C,D,T}: Cut = {AC, OB}. • Any flow from node O to node T should go through the arcs of Cut. Thus, Maximum flow  Capacity(Cut) = 2+3 = 5 . 5 is the best upper bound which is equal to the maximum flow value.

  7. 2 C 4 A 8 T O 3 4 D 3 B 2 Generalizing the Concept of Cut • Let S be a subset of V such that OS and TS. Then the set of the arcs going from S to V-S is called a cut . S is called the O-side of the cut, and V-S is the T-side of the cut. E.g., Cut1={AC, BC, BD} with O-side={O,A,B} and T-side={C,D,T}. Cut2={OA, OB} with O-side={O} and T-side={A,B,C,D,T}. • In other words, a cut may be defined as a set of directed arcs such that if we remove the arcs of the cut, no directed path from the source to the sink will be left. Cut2 Cut1

  8. 2 C 4 A 8 T O 3 4 D 3 B 2 Cut Capacities and Weak Duality • Capacity of a cut is the total capacity of the arcs forming the cut. E.g., cap(Cut1) = 2+4+2 = 8, cap(Cut2) = 8+3 = 11. • Note: The arcs going from T-side to O-side don’t count in the cut. E.g., the cut defined by O-side={O,A,C} doesn’t include arc BC : Cut3 = {OB, CT} with cap(Cut3) = 3+4 = 7 . • Weak duality property:Maximum flow value  capacity of any cut ,i.e., capacity of any cut is an upper bound on the maximum flow. E.g., cap(Cut3) = 7 > 5 = max flow value Cut2 Cut3 Cut1

  9. 0 2 C 0 2 A 2 4 6 T O 1 0 2 D 2 3 B 1 1 Proving the correctness of augmenting path algorithm • Using the relationship between flows and cuts, we prove below that the output of Augmenting Path Algorithm is really an optimal flow. • Consider the optimal residual network of our example. Let S be the set of those nodes which are reachable from the source via augmenting paths: S={O, A}. Consider the cut that has S as its O-side: Cut = {AC, OB}. All the arcs of this cut are used up to capacity. Thus, the current flow = capacity of this cut. Hence the current flow is optimal (maximum).

  10. 0 2 C 0 2 A 2 4 6 T O 1 0 2 D 2 3 B 1 1 Minimum Cut and Strong Duality • The cut considered in the previous slide has the minimum possible capacity. Call it minimum cut. • Summary of the procedure for finding minimum cut: • Apply the Augmenting Path Algorithm to find an optimal residual network; • Find the set S of the nodes which are reachable from O via augmenting paths; • The cut that has S as O-side is a minimum cut. • Based on the arguments of the previous slide, we have Strong Duality Property: Maximum flow value = Capacity of minimum cut

  11. Minimum Cuts Why do we care about minimum cuts? • Minimum cuts provide an intuitive argument for proving that our current flow is maximum. • There are many applications where we need to find not a maximum flow but a minimum cut. Note that the maximum-flow-based procedure of the previous slide is the best way to find a minimum cut. The number of cuts in a network is exponential on the problem size; thus, finding a minimum cut by enumerating all the cuts is not efficient. Next time: Applications of Maximum Flow and Minimum Cut Problems

More Related