COMS 482: unofficial class blog

Lecture 17: Proof of Ford-Fulkerson

Posted in Class Notes by Elliott Back on March 2nd, 2005.

An s-t cut is a partition (A, B) of the vertex set such that s in A, t in B. The capacity of a cut (A, B) c(A,B) = sum(ce) for e from A to B.

Theorem 1: Let f be an s-t flow and (A,B) be an s-t cut. Then value(f) <= c(A,B).

Proof: value(f) = fout(A) – fin(A) <= fout(A) = sum(f(e)) of e out of A = sum(ce) of e out of A = c(A,B)

Theorem 2: Let f be an s-t flow and (A,B) be an s-t cut. Then value(f) <= c(any cut).

Proof: Let f be the flow by the Ford Fulkerson algorithm. Goal: find a cut q = (A*,B*) such that value(f) = c(q)

Theorem 3: If f is an flow such that there is no s-t path in the residual graph Gf, then f is a max flow.

Proof: Let A* be a set of all vertices such that there exists an s-v path in Gf. A* = {v | there exists s-v path in Gf}. B* = the remaining vertices. B = Gfvertices – A*. We know t is in B*. There is an edge e(u, v) in G* from A* to B*. f(e) = ce, otherwise v could be in A*. Consider e’(u’, v’) in G* from B* to A*. f(e) = 0 because otherwise there would be a backedge that force u’ into A*. All edges out of A are saturate with flow. All edges going into A* have no flow. Thus, value(f) = fout(A*) – fin = sum(f(e)) e of out of A* – sum(f(e)) e into A* = sum(f(e)) e of out of A* = sum(ce) e out of A* = c(A*, B*) = value of f, since all others flows f’ have value(f’) <= c(A*, B*). Thus, f is a max flow.

Conclusions: The max s-t flow has a value equal to the capacity of the min-cut. If all capacities are integers, then there is an optimal flow f such that f(e) is an integer for each edge e.

This entry was posted on Wednesday, March 2nd, 2005 at 5:44 pm and is tagged with ford fulkerson, lt c, optimal flow, max flow, vertices, integers, vertex, partition, algorithm, amp, conclusions, graph, proof, ford. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback.

Leave a Reply

Powered by WP Hashcash