Edmonds-Karp: Difference between revisions

From Algowiki
Jump to navigation Jump to search
Line 1: Line 1:
== General Information ==
== General Information ==


'''Algorithmic problem:''' [[Max-Flow Problems]] <br>
'''Algorithmic problem:''' [[Max-Flow Problems]]


'''Type of algorithm:''' loop<br>
'''Algorithm :''' This is a minor variation of [[Ford-Fulkerson]]: Among all flow-augmenting <math>(s,t)</math>-paths, always choose one with smallest number of arcs.
'


== Abstract View ==
== Abstract View ==

Revision as of 19:47, 12 October 2014

General Information

Algorithmic problem: Max-Flow Problems

Algorithm : This is a minor variation of Ford-Fulkerson: Among all flow-augmenting [math]\displaystyle{ (s,t) }[/math]-paths, always choose one with smallest number of arcs.

Abstract View

Invariant: After [math]\displaystyle{ i \ge 0 }[/math] iterations:

  1. The flow [math]\displaystyle{ f }[/math] is a fleasible flow.
  2. If all upper bounds are integral, [math]\displaystyle{ f }[/math] is integral as well.

Notation: For an [math]\displaystyle{ (s,t) }[/math]-flow, let [math]\displaystyle{ A_f }[/math] denote the set of all arcs that belong to at least one flow-augmenting [math]\displaystyle{ (s,t) }[/math]-path with smallest number of arcs.

Variant:

  1. The smallest number of arcs on a flow-aumenting [math]\displaystyle{ (s,t) }[/math]-path increases (non-strictly) monotonously.
  2. Whenever that number does not decrease in an iteration, the size of [math]\displaystyle{ A_f }[/math] decreases.

Break condition: There is no flow-augumenting path.