This preview shows pages 1–3. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: MATH 682 Notes Combinatorics and Graph Theory II 1 Flows, continued 1.1 The FordFulkerson algorithm The proof above contains, as a subtle sidenote, the outline of an explicit algorithm for constructing a maximal flow. Note that there is only one place in the proof above where f s ostensible maximality is invoked: it is used to guarantee that the Sconstruction procedure does not include t , since if the procedure did include t , it would induce a path on which improvements to f could be made. Instead of phrasing this line of thought as a proof, we could phrase it as an algorithm: we probe outwards from s using the technique described in the minflow maxcut theorem, and, if our probes reach t , we can slightly improve our flow and begin probing all over again. We can explicitly lay out this algorithm: 1. Let f be a flow (for simplicity and algorithmic explicitness, we might start with the zero flow in which f ( e ) = 0 for all edges e ). 2. Let s S . 3. For any x S from which we have not yet probed, consider each neighbor y / S of x . If either x y with f ( x,y ) < c ( x,y ) or if y x with f ( y,x ) > 0, then put y in S , recording that its parent is x . 4. If t S , then skip to step 7. 5. If there are still unprobed vertices in S , go back to step 3. 6. There are no unprobed vertices in S and t / S , so f is a maximal flow! 7. Identify t as x , t s parent as x 1 , the parent of x 1 as x 2 , and so forth, until reaching x k = s . 8. For each i , let q i = c ( x i +1 ,x i ) f ( x i +1 ,x i ) or f ( x i ,x i +1 ) as appropriate. Let q = min q i . 9. For each i , either increment f ( x i +1 ,x i ) by q or decrement f ( x i ,x i +1 ) by q , as appropriate. 10. With this improved flow f defined, forget which elements are in S and return to step 2. This algorithm, although guaranteed to find ever better flows until it reaches a maximum, is not without its flaws. The following weighted graph with initial zero choice of f represents a canonically problematic graph: s A B t 0(100) 0(100) 0(1) 0(100) 0(100) Page 1 of 8 February 18, 2010 MATH 682 Notes Combinatorics and Graph Theory II Following the procedure above, we might probe from s to A , from A to B , and B to t . We construct the path s A B t with q = 1, leading to the slightly better flow s A B t 1(100) 0(100) 1(1) 0(100) 1(100) But now, supposing we probe from s to B , B to A ,a nd A to t , we produce the path s B A t with q = 1, which is a rather disappointingly tiny improvement: s A B t 1(100) 1(100) 0(1) 1(100) 1(100) And, now, if we once again quested along our original path, we would get another meager improve ment of 1 in our value. Despite having obvious highcapacity paths, if our augmentation always makes use of the bottleneck, our algorithm will approach the maximal flow very slowly....
View
Full
Document
 Spring '09
 WILDSTROM
 Combinatorics, Graph Theory

Click to edit the document details