Ahuja-Orlin: Difference between revisions

From Algowiki
Jump to navigation Jump to search
(Created page with "== General Information == '''Algorithmic problem:''' Max-Flow Problems '''Type of algorithm:''' loop == Abstract View == '''Invariant:''' After <math>i \ge 0</math> it...")
 
Line 16: Line 16:


'''Variant:'''
'''Variant:'''
# If the starts ends with <math>t</math>, the flow
# If the number
# Whenever that number does ''not'' decrease in an iteration, the size of <math>A_f</math> decreases.
# Whenever that number does ''not'' decrease in an iteration, the size of <math>A_f</math> decreases.


'''Break condition:''' There is no flow-augumenting path.
'''Break condition:''' There is no flow-augumenting path.
== Remark ==
This algorithm may be seen as a "lazy" variant on [[Edmonds-Karp]]. In fact, the most expensive step there is the computation of a flow-augmenting <math>(s,t)</math>-path. This task amounts to computing the true distance from every node to <math>t</math>. A valid distance labeling may be seen as "lazily evaluated" true distances.

Revision as of 06:37, 13 October 2014

General Information

Algorithmic problem: Max-Flow Problems

Type of algorithm: loop

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.
  3. There is a valid distance labeling [math]\displaystyle{ d }[/math] with respect to [math]\displaystyle{ }[/math].
  4. Each node <,ath>v\in V\setminus\{t\}</math> has a 'current arc, which is either void or one of the outgoing arcs of [math]\displaystyle{ v }[/math].
  5. There is a current flow-augmenting path with respect to [math]\displaystyle{ f }[/math]. This path starts wit [math]\displaystyle{ s }[/math] and ends at an arbitrary node of [math]\displaystyle{ G }[/math]. Each arc on this path is the curren tarc of its tail.

Variant:

  1. If the number
  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.

Remark

This algorithm may be seen as a "lazy" variant on Edmonds-Karp. In fact, the most expensive step there is the computation of a flow-augmenting [math]\displaystyle{ (s,t) }[/math]-path. This task amounts to computing the true distance from every node to [math]\displaystyle{ t }[/math]. A valid distance labeling may be seen as "lazily evaluated" true distances.