notes-100218 - MATH 682 Notes Combinatorics and Graph...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: MATH 682 Notes Combinatorics and Graph Theory II 1 Flows, continued 1.1 The Ford-Fulkerson 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 S-construction 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 min-flow max-cut 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 high-capacity paths, if our augmentation always makes use of the bottleneck, our algorithm will approach the maximal flow very slowly....
View Full Document

Page1 / 8

notes-100218 - MATH 682 Notes Combinatorics and Graph...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online