Max flow min cut in higher dimensions · Max ow min cut Reformulation Max ow 2 2 2 3 3 T 3 3 1 2 1...
Transcript of Max flow min cut in higher dimensions · Max ow min cut Reformulation Max ow 2 2 2 3 3 T 3 3 1 2 1...
GraphsAlgebra
Higher dimensions
Max flow min cut in higher dimensions
Art Duval1 Caroline Klivans2 Jeremy Martin3
1University of Texas at El Paso
2Brown University
3University of Kansas
12th Joint UTEP/NMSU Workshop on Mathematics,Computer Science, and Computational Sciences
University of Texas at El PasoOctober 27, 2012
Duval, Klivans, Martin Max flow min cut in higher dimensions
GraphsAlgebra
Higher dimensions
Max flow min cutReformulation
Max flow 2
2 2
3
3
T
3
3
1 2 1 2 1S
2
Given a graph G with source S , sink T , and edge capacities κ.
DefinitionFlow on G is an assignment of flow xe (non-negative number, anddirection) to each edge such that:
I net flow at each vertex, except S and T , is zero; and
I |xe | ≤ κe .
Value of flow is outflow(S) = inflow(T ).
What is maximum value of flow on G ? How can we be sure?
Duval, Klivans, Martin Max flow min cut in higher dimensions
GraphsAlgebra
Higher dimensions
Max flow min cutReformulation
Max flow 2/2
2/2 2/2
2/3
2/3
T
2/3
2/3
0/1 0/2 0/1 0/2 0/1S
2/2
Given a graph G with source S , sink T , and edge capacities κ.
DefinitionFlow on G is an assignment of flow xe (non-negative number, anddirection) to each edge such that:
I net flow at each vertex, except S and T , is zero; and
I |xe | ≤ κe .
Value of flow is outflow(S) = inflow(T ).
What is maximum value of flow on G ? How can we be sure?
Duval, Klivans, Martin Max flow min cut in higher dimensions
GraphsAlgebra
Higher dimensions
Max flow min cutReformulation
Max flow 2/2
2/2 2/2
2/3
2/3
T
2/3
2/3
0/1 0/2 0/1 0/2 0/1S
2/2
Given a graph G with source S , sink T , and edge capacities κ.
DefinitionFlow on G is an assignment of flow xe (non-negative number, anddirection) to each edge such that:
I net flow at each vertex, except S and T , is zero; and
I |xe | ≤ κe .
Value of flow is outflow(S) = inflow(T ).
What is maximum value of flow on G ? How can we be sure?
Duval, Klivans, Martin Max flow min cut in higher dimensions
GraphsAlgebra
Higher dimensions
Max flow min cutReformulation
Max flow
2/2 2/2
3/3
2/3
T
3/3
2/3
0/1 1/2 1/1 1/2 0/1S
2/2 2/2
Given a graph G with source S , sink T , and edge capacities κ.
DefinitionFlow on G is an assignment of flow xe (non-negative number, anddirection) to each edge such that:
I net flow at each vertex, except S and T , is zero; and
I |xe | ≤ κe .
Value of flow is outflow(S) = inflow(T ).
What is maximum value of flow on G ? How can we be sure?
Duval, Klivans, Martin Max flow min cut in higher dimensions
GraphsAlgebra
Higher dimensions
Max flow min cutReformulation
Min cut 2 2
2 2
3
3
T
3
3
1 2 1 2 1S
DefinitionCut is minimal set of edges whose removal disconnects S from T .Value of cut is
∑e∈cut κe .
Clearly, value(flow) ≤ value(cut), so max flow ≤ min cut.
Theorem (Classic max flow min cut)
Max flow = min cut.
Duval, Klivans, Martin Max flow min cut in higher dimensions
GraphsAlgebra
Higher dimensions
Max flow min cutReformulation
Min cut 2/2
2/2 2/2
3/3
2/3
T
3/3
2/3
0/1 1/2 1/1 1/2 0/1S
2/2
DefinitionCut is minimal set of edges whose removal disconnects S from T .Value of cut is
∑e∈cut κe .
Clearly, value(flow) ≤ value(cut), so max flow ≤ min cut.
Theorem (Classic max flow min cut)
Max flow = min cut.
Duval, Klivans, Martin Max flow min cut in higher dimensions
GraphsAlgebra
Higher dimensions
Max flow min cutReformulation
Add an extra edge 2 2
2 2
3
3
T
3
3
1 2 1 2 1S
DefinitionFlow on G is an assignment of flow xe (non-negative number, anddirection) to each edge such that:
I net flow at each vertex is zero; and
I |xe | ≤ κe .
Value of flow is x0.
DefinitionCut is minimal set of edges, including e0, whose removaldisconnects G . Value of cut is
∑e∈cut\e0
κe .
Duval, Klivans, Martin Max flow min cut in higher dimensions
GraphsAlgebra
Higher dimensions
Max flow min cutReformulation
Add an extra edge
5
T
2/3
0/1 1/2 1/1 1/2 0/1S
2/2 2/2
2/2 2/2
3/3
2/33/3
DefinitionFlow on G is an assignment of flow xe (non-negative number, anddirection) to each edge such that:
I net flow at each vertex is zero; and
I |xe | ≤ κe .
Value of flow is x0.
DefinitionCut is minimal set of edges, including e0, whose removaldisconnects G . Value of cut is
∑e∈cut\e0
κe .
Duval, Klivans, Martin Max flow min cut in higher dimensions
GraphsAlgebra
Higher dimensions
Max flow min cutReformulation
Add an extra edge
5
T
3/3
2/3
0/1 1/2 1/1 1/2 0/1S
2/2 2/2
2/2 2/2
3/3
2/3
DefinitionFlow on G is an assignment of flow xe (non-negative number, anddirection) to each edge such that:
I net flow at each vertex is zero; and
I |xe | ≤ κe .
Value of flow is x0.
DefinitionCut is minimal set of edges, including e0, whose removaldisconnects G . Value of cut is
∑e∈cut\e0
κe .
Duval, Klivans, Martin Max flow min cut in higher dimensions
GraphsAlgebra
Higher dimensions
Boundary matrixLinear programming
Flows and boundary
2
4
3 (1 1 −1
)342
= 5.
Assign orientation to each edge (flow going “backwards” getsnegative value)
netflow(v) =∑v=e+
xe −∑
v=e−
xe =∑v∈e
(−1)ε(e,v)xe = (∂x)v
So net flow condition is ∂x = 0.
Duval, Klivans, Martin Max flow min cut in higher dimensions
GraphsAlgebra
Higher dimensions
Boundary matrixLinear programming
Flows and boundary
2
4
3 (1 1 −1
)342
= 5.
Assign orientation to each edge (flow going “backwards” getsnegative value)
netflow(v) =∑v=e+
xe −∑
v=e−
xe =∑v∈e
(−1)ε(e,v)xe = (∂x)v
So net flow condition is ∂x = 0.
Duval, Klivans, Martin Max flow min cut in higher dimensions
GraphsAlgebra
Higher dimensions
Boundary matrixLinear programming
Cuts and coboundary
Assign 1 to every vertex in connected component with T , 0 toothers. Let yv be value at v . Edges in cut are those that haveboth 0 and 1 endpoints.
00
0
1 1
1
1
0
S T
Coboundary will do this: ∂T y (linear combination of rows of ∂)gives characteristic vector of cut.
Duval, Klivans, Martin Max flow min cut in higher dimensions
GraphsAlgebra
Higher dimensions
Boundary matrixLinear programming
Cuts and coboundary
Assign 1 to every vertex in connected component with T , 0 toothers. Let yv be value at v . Edges in cut are those that haveboth 0 and 1 endpoints.
00
0
1 1
1
1
0
S T
Coboundary will do this: ∂T y (linear combination of rows of ∂)gives characteristic vector of cut.
Duval, Klivans, Martin Max flow min cut in higher dimensions
GraphsAlgebra
Higher dimensions
Boundary matrixLinear programming
Linear programming
Flow is now a linear program
I Find vector x (in edge space)
I ∂x = 0 (x is in flow space)
I −κe ≤ xe ≤ κe (can omit e0)
I max x0
The dual program is (can easily be reworked to say):
I Find vector y (in vertex space)
I Let u = ∂T y (in cut space)
I u0 = 1
I min∑
e κe |ue |Linear programming says the solutions are equal; with some effortwe can show the solution to the dual LP is the min cut problem.
Duval, Klivans, Martin Max flow min cut in higher dimensions
GraphsAlgebra
Higher dimensions
Boundary matrixLinear programming
Linear programming
Flow is now a linear program
I Find vector x (in edge space)
I ∂x = 0 (x is in flow space)
I −κe ≤ xe ≤ κe (can omit e0)
I max x0
The dual program is (can easily be reworked to say):
I Find vector y (in vertex space)
I Let u = ∂T y (in cut space)
I u0 = 1
I min∑
e κe |ue |
Linear programming says the solutions are equal; with some effortwe can show the solution to the dual LP is the min cut problem.
Duval, Klivans, Martin Max flow min cut in higher dimensions
GraphsAlgebra
Higher dimensions
Boundary matrixLinear programming
Linear programming
Flow is now a linear program
I Find vector x (in edge space)
I ∂x = 0 (x is in flow space)
I −κe ≤ xe ≤ κe (can omit e0)
I max x0
The dual program is (can easily be reworked to say):
I Find vector y (in vertex space)
I Let u = ∂T y (in cut space)
I u0 = 1
I min∑
e κe |ue |Linear programming says the solutions are equal; with some effortwe can show the solution to the dual LP is the min cut problem.
Duval, Klivans, Martin Max flow min cut in higher dimensions
GraphsAlgebra
Higher dimensions
Translating from linear programmingSummary
Max flow in higher dimensionsExample: 2-dimensional complex; ∂ maps 2-dimensional cells(polygons) to edges.
I Find vector x (in polygon space)
I ∂x = 0 (x is in flow space)
I −κp ≤ xp ≤ κp (can omit p0)
I identify designated polygon p0; max x0
Find a 1-dimensional cycle on the complex, and attach a polygonface filling that cycle. We are trying to maximize circulation onthat designated polygon (around that cycle), while making allcirculation balance on each edge.
Duval, Klivans, Martin Max flow min cut in higher dimensions
GraphsAlgebra
Higher dimensions
Translating from linear programmingSummary
Max flow in higher dimensionsExample: 2-dimensional complex; ∂ maps 2-dimensional cells(polygons) to edges.
I Find vector x (in polygon space)
I ∂x = 0 (x is in flow space)
I −κp ≤ xp ≤ κp (can omit p0)
I identify designated polygon p0; max x0
Find a 1-dimensional cycle on the complex, and attach a polygonface filling that cycle. We are trying to maximize circulation onthat designated polygon (around that cycle), while making allcirculation balance on each edge.
Duval, Klivans, Martin Max flow min cut in higher dimensions
GraphsAlgebra
Higher dimensions
Translating from linear programmingSummary
Max flow in higher dimensionsExample: 2-dimensional complex; ∂ maps 2-dimensional cells(polygons) to edges.
I Find vector x (in polygon space)
I ∂x = 0 (x is in flow space)
I −κp ≤ xp ≤ κp (can omit p0)
I identify designated polygon p0; max x0
Find a 1-dimensional cycle on the complex, and attach a polygonface filling that cycle. We are trying to maximize circulation onthat designated polygon (around that cycle), while making allcirculation balance on each edge.
Duval, Klivans, Martin Max flow min cut in higher dimensions
GraphsAlgebra
Higher dimensions
Translating from linear programmingSummary
Min cut in higher dimensions
The dual program is (can easily be reworked to say):
I Find vector y (in edge space)
I Let u = ∂T y (in cut space)
I u0 = 1
I min∑
p κp|up|Linear programming says the solutions are equal; with some effortwe can show the solution to the dual LP is the min cut problem.
In particular, the support on this cut is a minimal set of polygonswhose removal introduces codimension-1 homology, e.g.,1-dimensional “circular” hole in 2-dimensional complex
Duval, Klivans, Martin Max flow min cut in higher dimensions
GraphsAlgebra
Higher dimensions
Translating from linear programmingSummary
Min cut in higher dimensions
The dual program is (can easily be reworked to say):
I Find vector y (in edge space)
I Let u = ∂T y (in cut space)
I u0 = 1
I min∑
p κp|up|Linear programming says the solutions are equal; with some effortwe can show the solution to the dual LP is the min cut problem.In particular, the support on this cut is a minimal set of polygonswhose removal introduces codimension-1 homology, e.g.,1-dimensional “circular” hole in 2-dimensional complex
Duval, Klivans, Martin Max flow min cut in higher dimensions
GraphsAlgebra
Higher dimensions
Translating from linear programmingSummary
Summary
Theorem (DKM)
The max circulation around a codimension-1 cycle (e.g.,1-dimensional cycle in 2-dimensional complex) equals the value ofa minimum cut containing the added face that fills in the cycle(e.g., polygon filling in 1-dimensional cycle).
Fine print:
I cut is minimal set of faces whose removal increasescodimension-1 homology
I cut vector is in span of row space of boundary matrix
I normalize cut vector by specifying its value is 1 on p0, theadded filling-in face
I cut vector might not be all 1’s and 0’s
I value of cut is inner product of capacities with cut vector
Duval, Klivans, Martin Max flow min cut in higher dimensions