Max-flow min-cut: Difference between revisions

From Algowiki
Jump to navigation Jump to search
Line 4: Line 4:
# <math>f</math> is maximum.
# <math>f</math> is maximum.
# There is a [[Basic flow definitions#Cuts and saturated cuts|saturated cut]].
# There is a [[Basic flow definitions#Cuts and saturated cuts|saturated cut]].
# There is no [[Basic flow definitions#Flow-augmenting path|flow-augmenting path]].
# There is no [[Basic flow definitions#Flow-augmenting path|flow-augmenting path]] from <math>s</math> to <math>t</math>.


== Proof ==


is a saturated cut if, and only if, there is no augmenting -path.
First suppose there is no flow-augmenting path. Let <math>S</math> denote the set of all nodes reachable from <math>s</math> via flow-augmenting paths, and let <math>T:=V\setminus S</math>. Then we have <math>s�\in S</math> and <math>t\in T</math>. Obviously, <math>(S,T)</math> is saturated.


Proof:
Next suppose there is a saturated cut. Then no flow <math>f'</math> can carry more units of flow from <math>S</math> to <math>T</math> than <math>f</math>. Consequently, <math>f</math> is maximum.
First suppose there is no augmenting -path. Let  denote the set of all nodes  such that there is an augmenting -path. Obviously, the cut  is saturated.
Second, suppose there is an augmenting -path . Consider an arbitrary, yet fixed -cut . Since the first node of is in  and the last node of  is in , there must be at least one arc of  from a node in  to a node in . As  is augmenting, cannot be saturated.
Known Related Topics
Known Related Topics
Remark
Remark
Reference
Reference
The current flow is maximum if, and only if, there is a saturated -cut.


Proof:
Finally suppose <math>f</math> is maximum. Clearly, a flow-augmenting path cannot exist.
First, suppose there is no saturated -cut. Above it was shown that, then, there is an augmenting . Augmenting the current flow along this path would increase the total flow value by at least one unit. Therefore, the current flow is not maximum.  
Second, suppose the current  flow  is not maximum. Then there is a flow whose total flow value is higher than that of . Let  be an arbitrary, yet fixed -cut. Since the total flow value of an -flow equals the total flow over any -cut,  sends more flow than  over . In particular, at least one arc  from  to  must send
more flow of  than of  if  points from  to , or
less flow of  than of  if  points from  to .
In either case,  is not saturated.

Revision as of 19:23, 19 October 2014

Max-flow min-cut theorem

Let [math]\displaystyle{ G=(V,A) }[/math], [math]\displaystyle{ s,t\in V }[/math], and for [math]\displaystyle{ a\in A }[/math] let [math]\displaystyle{ u(a) }[/math] and [math]\displaystyle{ f(a) }[/math] be real values such that [math]\displaystyle{ 0\leq f(a)\leq u(a) }[/math] and [math]\displaystyle{ f }[/math] is an [math]\displaystyle{ (s,t) }[/math]-flow. Then the following three statements are equivalent:

  1. [math]\displaystyle{ f }[/math] is maximum.
  2. There is a saturated cut.
  3. There is no flow-augmenting path from [math]\displaystyle{ s }[/math] to [math]\displaystyle{ t }[/math].

Proof

First suppose there is no flow-augmenting path. Let [math]\displaystyle{ S }[/math] denote the set of all nodes reachable from [math]\displaystyle{ s }[/math] via flow-augmenting paths, and let [math]\displaystyle{ T:=V\setminus S }[/math]. Then we have [math]\displaystyle{ s�\in S }[/math] and [math]\displaystyle{ t\in T }[/math]. Obviously, [math]\displaystyle{ (S,T) }[/math] is saturated.

Next suppose there is a saturated cut. Then no flow [math]\displaystyle{ f' }[/math] can carry more units of flow from [math]\displaystyle{ S }[/math] to [math]\displaystyle{ T }[/math] than [math]\displaystyle{ f }[/math]. Consequently, [math]\displaystyle{ f }[/math] is maximum.

Finally suppose [math]\displaystyle{ f }[/math] is maximum. Clearly, a flow-augmenting path cannot exist.