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...

23
Graphs Algebra Higher dimensions Max flow min cut in higher dimensions Art Duval 1 Caroline Klivans 2 Jeremy Martin 3 1 University of Texas at El Paso 2 Brown University 3 University of Kansas 12th Joint UTEP/NMSU Workshop on Mathematics, Computer Science, and Computational Sciences University of Texas at El Paso October 27, 2012 Duval, Klivans, Martin Max flow min cut in higher dimensions

Upload: others

Post on 25-Jun-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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 2 1 S 2 Given a graph G with source S, sink T, and edge capacities . De nition Flowon

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

Page 2: 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 2 1 S 2 Given a graph G with source S, sink T, and edge capacities . De nition Flowon

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

Page 3: 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 2 1 S 2 Given a graph G with source S, sink T, and edge capacities . De nition Flowon

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

Page 4: 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 2 1 S 2 Given a graph G with source S, sink T, and edge capacities . De nition Flowon

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

Page 5: 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 2 1 S 2 Given a graph G with source S, sink T, and edge capacities . De nition Flowon

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

Page 6: 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 2 1 S 2 Given a graph G with source S, sink T, and edge capacities . De nition Flowon

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

Page 7: 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 2 1 S 2 Given a graph G with source S, sink T, and edge capacities . De nition Flowon

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

Page 8: 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 2 1 S 2 Given a graph G with source S, sink T, and edge capacities . De nition Flowon

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

Page 9: 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 2 1 S 2 Given a graph G with source S, sink T, and edge capacities . De nition Flowon

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

Page 10: 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 2 1 S 2 Given a graph G with source S, sink T, and edge capacities . De nition Flowon

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

Page 11: 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 2 1 S 2 Given a graph G with source S, sink T, and edge capacities . De nition Flowon

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

Page 12: 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 2 1 S 2 Given a graph G with source S, sink T, and edge capacities . De nition Flowon

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

Page 13: 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 2 1 S 2 Given a graph G with source S, sink T, and edge capacities . De nition Flowon

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

Page 14: 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 2 1 S 2 Given a graph G with source S, sink T, and edge capacities . De nition Flowon

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

Page 15: 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 2 1 S 2 Given a graph G with source S, sink T, and edge capacities . De nition Flowon

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

Page 16: 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 2 1 S 2 Given a graph G with source S, sink T, and edge capacities . De nition Flowon

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

Page 17: 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 2 1 S 2 Given a graph G with source S, sink T, and edge capacities . De nition Flowon

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

Page 18: 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 2 1 S 2 Given a graph G with source S, sink T, and edge capacities . De nition Flowon

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

Page 19: 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 2 1 S 2 Given a graph G with source S, sink T, and edge capacities . De nition Flowon

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

Page 20: 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 2 1 S 2 Given a graph G with source S, sink T, and edge capacities . De nition Flowon

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

Page 21: 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 2 1 S 2 Given a graph G with source S, sink T, and edge capacities . De nition Flowon

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

Page 22: 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 2 1 S 2 Given a graph G with source S, sink T, and edge capacities . De nition Flowon

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

Page 23: 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 2 1 S 2 Given a graph G with source S, sink T, and edge capacities . De nition Flowon

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