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
Graphs Max flow min cut Algebra Reformulation Higher dimensions 2 2 Max flow 3 3 S T 1 2 1 2 1 3 3 2 2 Given a graph G with source S , sink T , and edge capacities κ . Duval, Klivans, Martin Max flow min cut in higher dimensions
Graphs Max flow min cut Algebra Reformulation Higher dimensions 2/2 2/2 Max flow 2/3 2/3 S T 0/1 0/2 0/1 0/2 0/1 2/3 2/3 2/2 2/2 Given a graph G with source S , sink T , and edge capacities κ . Definition Flow on G is an assignment of flow x e (non-negative number, and direction) to each edge such that: ◮ net flow at each vertex, except S and T , is zero; and ◮ | x e | ≤ κ e . Value of flow is outflow( S ) = inflow( T ). Duval, Klivans, Martin Max flow min cut in higher dimensions
Graphs Max flow min cut Algebra Reformulation Higher dimensions 2/2 2/2 Max flow 2/3 2/3 S T 0/1 0/2 0/1 0/2 0/1 2/3 2/3 2/2 2/2 Given a graph G with source S , sink T , and edge capacities κ . Definition Flow on G is an assignment of flow x e (non-negative number, and direction) to each edge such that: ◮ net flow at each vertex, except S and T , is zero; and ◮ | x e | ≤ κ 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
Graphs Max flow min cut Algebra Reformulation Higher dimensions 2/2 2/2 Max flow 3/3 2/3 S T 0/1 1/2 1/1 1/2 0/1 2/3 3/3 2/2 2/2 Given a graph G with source S , sink T , and edge capacities κ . Definition Flow on G is an assignment of flow x e (non-negative number, and direction) to each edge such that: ◮ net flow at each vertex, except S and T , is zero; and ◮ | x e | ≤ κ 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
Graphs Max flow min cut Algebra Reformulation Higher dimensions Min cut 2 2 3 3 S T 1 2 1 2 1 3 3 2 2 Definition Cut is minimal set of edges whose removal disconnects S from T . Value of cut is � e ∈ cut κ e . Duval, Klivans, Martin Max flow min cut in higher dimensions
Graphs Max flow min cut Algebra Reformulation Higher dimensions Min cut 2/2 2/2 3/3 2/3 S T 0/1 1/2 1/1 1/2 0/1 2/3 3/3 2/2 2/2 Definition Cut 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
Graphs Max flow min cut Algebra Reformulation Higher dimensions Add an extra edge 2 2 3 3 S T 1 2 1 2 1 3 3 2 2 Duval, Klivans, Martin Max flow min cut in higher dimensions
Graphs Max flow min cut Algebra Reformulation Higher dimensions Add an extra edge 2/2 2/2 3/3 2/3 S T 0/1 1/2 1/1 1/2 0/1 2/3 3/3 2/2 2/2 5 Definition Flow on G is an assignment of flow x e (non-negative number, and direction) to each edge such that: ◮ net flow at each vertex is zero; and ◮ | x e | ≤ κ e . Value of flow is x 0 . Duval, Klivans, Martin Max flow min cut in higher dimensions
Graphs Max flow min cut Algebra Reformulation Higher dimensions Add an extra edge 2/2 2/2 3/3 2/3 S T 0/1 1/2 1/1 1/2 0/1 2/3 3/3 2/2 2/2 5 Definition Flow on G is an assignment of flow x e (non-negative number, and direction) to each edge such that: ◮ net flow at each vertex is zero; and ◮ | x e | ≤ κ e . Value of flow is x 0 . Definition Cut is minimal set of edges, including e 0 , whose removal disconnects G . Value of cut is � e ∈ cut \ e 0 κ e . Duval, Klivans, Martin Max flow min cut in higher dimensions
Graphs Boundary matrix Algebra Linear programming Higher dimensions Flows and boundary 3 3 2 = 5. � � 1 1 − 1 4 4 2 Assign orientation to each edge (flow going “backwards” gets negative value) � � � ( − 1) ε ( e , v ) x e = ( ∂ x ) v netflow( v ) = x e − x e = v = e + v ∈ e v = e − Duval, Klivans, Martin Max flow min cut in higher dimensions
Graphs Boundary matrix Algebra Linear programming Higher dimensions Flows and boundary 3 3 2 = 5. � � 1 1 − 1 4 4 2 Assign orientation to each edge (flow going “backwards” gets negative value) � � � ( − 1) ε ( e , v ) x e = ( ∂ x ) v netflow( v ) = x e − x e = v = e + v ∈ e v = e − So net flow condition is ∂ x = 0. Duval, Klivans, Martin Max flow min cut in higher dimensions
Graphs Boundary matrix Algebra Linear programming Higher dimensions Cuts and coboundary Assign 1 to every vertex in connected component with T , 0 to others. Let y v be value at v . Edges in cut are those that have both 0 and 1 endpoints. 0 1 1 S T 1 0 1 0 0 Duval, Klivans, Martin Max flow min cut in higher dimensions
Graphs Boundary matrix Algebra Linear programming Higher dimensions Cuts and coboundary Assign 1 to every vertex in connected component with T , 0 to others. Let y v be value at v . Edges in cut are those that have both 0 and 1 endpoints. 0 1 1 S T 1 0 1 0 0 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
Graphs Boundary matrix Algebra Linear programming Higher dimensions Linear programming Flow is now a linear program ◮ Find vector x (in edge space) ◮ ∂ x = 0 ( x is in flow space) ◮ − κ e ≤ x e ≤ κ e (can omit e 0 ) ◮ max x 0 Duval, Klivans, Martin Max flow min cut in higher dimensions
Graphs Boundary matrix Algebra Linear programming Higher dimensions Linear programming Flow is now a linear program ◮ Find vector x (in edge space) ◮ ∂ x = 0 ( x is in flow space) ◮ − κ e ≤ x e ≤ κ e (can omit e 0 ) ◮ max x 0 The dual program is (can easily be reworked to say): ◮ Find vector y (in vertex space) ◮ Let u = ∂ T y (in cut space) ◮ u 0 = 1 ◮ min � e κ e | u e | Duval, Klivans, Martin Max flow min cut in higher dimensions
Graphs Boundary matrix Algebra Linear programming Higher dimensions Linear programming Flow is now a linear program ◮ Find vector x (in edge space) ◮ ∂ x = 0 ( x is in flow space) ◮ − κ e ≤ x e ≤ κ e (can omit e 0 ) ◮ max x 0 The dual program is (can easily be reworked to say): ◮ Find vector y (in vertex space) ◮ Let u = ∂ T y (in cut space) ◮ u 0 = 1 ◮ min � e κ e | u e | Linear programming says the solutions are equal; with some effort we can show the solution to the dual LP is the min cut problem. Duval, Klivans, Martin Max flow min cut in higher dimensions
Graphs Translating from linear programming Algebra Summary Higher dimensions Max flow in higher dimensions Example: 2-dimensional complex; ∂ maps 2-dimensional cells (polygons) to edges. Duval, Klivans, Martin Max flow min cut in higher dimensions
Graphs Translating from linear programming Algebra Summary Higher dimensions Max flow in higher dimensions Example: 2-dimensional complex; ∂ maps 2-dimensional cells (polygons) to edges. ◮ Find vector x (in polygon space) ◮ ∂ x = 0 ( x is in flow space) ◮ − κ p ≤ x p ≤ κ p (can omit p 0 ) ◮ identify designated polygon p 0 ; max x 0 Duval, Klivans, Martin Max flow min cut in higher dimensions
Graphs Translating from linear programming Algebra Summary Higher dimensions Max flow in higher dimensions Example: 2-dimensional complex; ∂ maps 2-dimensional cells (polygons) to edges. ◮ Find vector x (in polygon space) ◮ ∂ x = 0 ( x is in flow space) ◮ − κ p ≤ x p ≤ κ p (can omit p 0 ) ◮ identify designated polygon p 0 ; max x 0 Find a 1-dimensional cycle on the complex, and attach a polygon face filling that cycle. We are trying to maximize circulation on that designated polygon (around that cycle), while making all circulation balance on each edge. Duval, Klivans, Martin Max flow min cut in higher dimensions
Graphs Translating from linear programming Algebra Summary Higher dimensions Min cut in higher dimensions The dual program is (can easily be reworked to say): ◮ Find vector y (in edge space) ◮ Let u = ∂ T y (in cut space) ◮ u 0 = 1 ◮ min � p κ p | u p | Linear programming says the solutions are equal; with some effort we can show the solution to the dual LP is the min cut problem. Duval, Klivans, Martin Max flow min cut in higher dimensions
Recommend
More recommend