Академический Документы
Профессиональный Документы
Культура Документы
M. Amber Hassaan
Max Flow Problem
Given a graph with Source and Sink nodes we want to compute:
The maximum rate at which fluid can flow from Source to Sink
The rate of flow through each edge of the graph
Given a graph:
Edges have flow capacities
First value is flow capacity
Second value is current flow rate
Edges behave like pipes
Nodes are junctions of pipes
History:
Ford and Fulkerson 1956 (Augmenting Paths)
Dinic 1970
Edmonds and Karp 1972
Min-cut
a
Malhotra, Kumar and Maheshwari 1978
Goldberg and Tarjan 1986 (Preflow Push) 5, 2 4, 4
Boykov and Kolmogorov 2006
s 6, 2 t
8, 7 5, 5
Preflow Push Algorithm b 2
Max Flow Problem
Flow f(u,v) is a real-valued function defined for
every edge (u,v) in the graph
The flow needs to satisfy the following 3
properties:
c(u,v) i.e. capacity of edge (u,v)
f(u,v)
f(u,v)
= - f(v,u)
Flow coming into node v = Flow leaving v
a
5, 2 4, 4
s 6, 2 t
8, 7 5, 5
left 5,5
s t
The algorithm 8,8
h=0
h=6
terminates 17,14 e=17
12,11
c d
6,6
h=7 h=1
e=0 e=0
Min-cut
Topology: graph
Operator: local computation (data driven)
Active nodes: nodes with excess flow
Neighborhoods: active nodes and their
neighbors
Ordering: unordered
Parallelism: Shoots in the beginning and then
drops down
Dependent on number of active nodes