Variations on Max-Flow Problems Math 482, Lecture 27 Misha Lavrov - - PowerPoint PPT Presentation

variations on max flow problems
SMART_READER_LITE
LIVE PREVIEW

Variations on Max-Flow Problems Math 482, Lecture 27 Misha Lavrov - - PowerPoint PPT Presentation

Introduction Supply and demand problems Feasible circulations Bipartite matchings Variations on Max-Flow Problems Math 482, Lecture 27 Misha Lavrov April 8, 2020 Introduction Supply and demand problems Feasible circulations Bipartite


slide-1
SLIDE 1

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Variations on Max-Flow Problems

Math 482, Lecture 27 Misha Lavrov April 8, 2020

slide-2
SLIDE 2

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Plan for the lecture

The goal of today is to talk about several problems which can be reduced to max-flow problems (and solved using max-flow algorithms).

slide-3
SLIDE 3

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Plan for the lecture

The goal of today is to talk about several problems which can be reduced to max-flow problems (and solved using max-flow algorithms). Problems we’ll consider: Supply and demand problems.

slide-4
SLIDE 4

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Plan for the lecture

The goal of today is to talk about several problems which can be reduced to max-flow problems (and solved using max-flow algorithms). Problems we’ll consider: Supply and demand problems. Finding feasible flows with lower and upper bounds.

slide-5
SLIDE 5

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Plan for the lecture

The goal of today is to talk about several problems which can be reduced to max-flow problems (and solved using max-flow algorithms). Problems we’ll consider: Supply and demand problems. Finding feasible flows with lower and upper bounds. Bipartite matchings and vertex covers (again).

slide-6
SLIDE 6

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Posing a supply/demand problem

Recall: given a network (N, A), a flow x, and a node k ∈ N, the excess at k is ∆k(x) :=

  • i:(i,k)∈A

xik −

  • j:(k,j)∈A

xkj.

slide-7
SLIDE 7

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Posing a supply/demand problem

Recall: given a network (N, A), a flow x, and a node k ∈ N, the excess at k is ∆k(x) :=

  • i:(i,k)∈A

xik −

  • j:(k,j)∈A

xkj. In a network flow problem, we want ∆k(x) = 0 for k = s, t. We want to maximize ∆t(x).

slide-8
SLIDE 8

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Posing a supply/demand problem

Recall: given a network (N, A), a flow x, and a node k ∈ N, the excess at k is ∆k(x) :=

  • i:(i,k)∈A

xik −

  • j:(k,j)∈A

xkj. In a network flow problem, we want ∆k(x) = 0 for k = s, t. We want to maximize ∆t(x). In a supply/demand problem, there is no source or sink. We have a vector d of demands. For every node k, we want ∆k(x) = dk.

slide-9
SLIDE 9

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Posing a supply/demand problem

Recall: given a network (N, A), a flow x, and a node k ∈ N, the excess at k is ∆k(x) :=

  • i:(i,k)∈A

xik −

  • j:(k,j)∈A

xkj. In a network flow problem, we want ∆k(x) = 0 for k = s, t. We want to maximize ∆t(x). In a supply/demand problem, there is no source or sink. We have a vector d of demands. For every node k, we want ∆k(x) = dk. When dk < 0, k is a supply node: it has extra flow it wants to get rid of. When dk > 0, k is a demand node: it wants more entering than leaving flow.

slide-10
SLIDE 10

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Properties of supply/demand problems

Observations: The supply/demand problem is a feasibility problem: we have no objective function, we just want to see if it’s possible to satisfy all demands.

slide-11
SLIDE 11

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Properties of supply/demand problems

Observations: The supply/demand problem is a feasibility problem: we have no objective function, we just want to see if it’s possible to satisfy all demands. We know it’s impossible if

k∈N dk = 0. Total supply must

equal total demand!

slide-12
SLIDE 12

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Properties of supply/demand problems

Observations: The supply/demand problem is a feasibility problem: we have no objective function, we just want to see if it’s possible to satisfy all demands. We know it’s impossible if

k∈N dk = 0. Total supply must

equal total demand! Example problem: a[−3] b[−2] c[5]

2 4 6

slide-13
SLIDE 13

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Reducing supply/demand problems to max-flow

We solve supply/demand problems by turning them into an equivalent max-flow problem. Then, we solve the max-flow problem and undo the transformation.

slide-14
SLIDE 14

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Reducing supply/demand problems to max-flow

We solve supply/demand problems by turning them into an equivalent max-flow problem. Then, we solve the max-flow problem and undo the transformation. Rule for constructing the max-flow instance:

1 Add new nodes s and t.

slide-15
SLIDE 15

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Reducing supply/demand problems to max-flow

We solve supply/demand problems by turning them into an equivalent max-flow problem. Then, we solve the max-flow problem and undo the transformation. Rule for constructing the max-flow instance:

1 Add new nodes s and t. 2 For every k with dk > 0, add an arc (k, t) with capacity dk.

slide-16
SLIDE 16

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Reducing supply/demand problems to max-flow

We solve supply/demand problems by turning them into an equivalent max-flow problem. Then, we solve the max-flow problem and undo the transformation. Rule for constructing the max-flow instance:

1 Add new nodes s and t. 2 For every k with dk > 0, add an arc (k, t) with capacity dk. 3 For every k with dk < 0, add an arc (s, k) with capacity −dk.

slide-17
SLIDE 17

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Reducing supply/demand problems to max-flow

We solve supply/demand problems by turning them into an equivalent max-flow problem. Then, we solve the max-flow problem and undo the transformation. Rule for constructing the max-flow instance:

1 Add new nodes s and t. 2 For every k with dk > 0, add an arc (k, t) with capacity dk. 3 For every k with dk < 0, add an arc (s, k) with capacity −dk.

a[−3] b[−2] c[5]

2 4 6

slide-18
SLIDE 18

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Reducing supply/demand problems to max-flow

We solve supply/demand problems by turning them into an equivalent max-flow problem. Then, we solve the max-flow problem and undo the transformation. Rule for constructing the max-flow instance:

1 Add new nodes s and t. 2 For every k with dk > 0, add an arc (k, t) with capacity dk. 3 For every k with dk < 0, add an arc (s, k) with capacity −dk.

s a[−3] b[−2] c[5] t

2 4 6

slide-19
SLIDE 19

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Reducing supply/demand problems to max-flow

We solve supply/demand problems by turning them into an equivalent max-flow problem. Then, we solve the max-flow problem and undo the transformation. Rule for constructing the max-flow instance:

1 Add new nodes s and t. 2 For every k with dk > 0, add an arc (k, t) with capacity dk. 3 For every k with dk < 0, add an arc (s, k) with capacity −dk.

s a[−3] b[−2] c t

2 4 6 5

slide-20
SLIDE 20

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Reducing supply/demand problems to max-flow

We solve supply/demand problems by turning them into an equivalent max-flow problem. Then, we solve the max-flow problem and undo the transformation. Rule for constructing the max-flow instance:

1 Add new nodes s and t. 2 For every k with dk > 0, add an arc (k, t) with capacity dk. 3 For every k with dk < 0, add an arc (s, k) with capacity −dk.

s a b[−2] c t

2 4 6 5 3

slide-21
SLIDE 21

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Reducing supply/demand problems to max-flow

We solve supply/demand problems by turning them into an equivalent max-flow problem. Then, we solve the max-flow problem and undo the transformation. Rule for constructing the max-flow instance:

1 Add new nodes s and t. 2 For every k with dk > 0, add an arc (k, t) with capacity dk. 3 For every k with dk < 0, add an arc (s, k) with capacity −dk.

s a b c t

2 4 6 5 3 2

slide-22
SLIDE 22

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Going from max-flow back to supply/demand

The supply/demand problem is only feasible if all the arcs into t are at capacity in the maximum flow. (Then, all arcs out of s will also be at capacity.)

slide-23
SLIDE 23

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Going from max-flow back to supply/demand

The supply/demand problem is only feasible if all the arcs into t are at capacity in the maximum flow. (Then, all arcs out of s will also be at capacity.) If this happens, we get the supply/demand solution by erasing nodes s, t and all their arcs.

slide-24
SLIDE 24

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Going from max-flow back to supply/demand

The supply/demand problem is only feasible if all the arcs into t are at capacity in the maximum flow. (Then, all arcs out of s will also be at capacity.) If this happens, we get the supply/demand solution by erasing nodes s, t and all their arcs. s a b c t

2/2 1/4 3/6 5/5 3/3 2/2

slide-25
SLIDE 25

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Going from max-flow back to supply/demand

The supply/demand problem is only feasible if all the arcs into t are at capacity in the maximum flow. (Then, all arcs out of s will also be at capacity.) If this happens, we get the supply/demand solution by erasing nodes s, t and all their arcs. s a[−3] b c t

2/2 1/4 3/6 5/5 2/2

slide-26
SLIDE 26

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Going from max-flow back to supply/demand

The supply/demand problem is only feasible if all the arcs into t are at capacity in the maximum flow. (Then, all arcs out of s will also be at capacity.) If this happens, we get the supply/demand solution by erasing nodes s, t and all their arcs. s a[−3] b[−2] c t

2/2 1/4 3/6 5/5

slide-27
SLIDE 27

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Going from max-flow back to supply/demand

The supply/demand problem is only feasible if all the arcs into t are at capacity in the maximum flow. (Then, all arcs out of s will also be at capacity.) If this happens, we get the supply/demand solution by erasing nodes s, t and all their arcs. s a[−3] b[−2] c[5] t

2/2 1/4 3/6

slide-28
SLIDE 28

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Going from max-flow back to supply/demand

The supply/demand problem is only feasible if all the arcs into t are at capacity in the maximum flow. (Then, all arcs out of s will also be at capacity.) If this happens, we get the supply/demand solution by erasing nodes s, t and all their arcs. a[−3] b[−2] c[5]

2/2 1/4 3/6

slide-29
SLIDE 29

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Feasible circulation

The feasible circulation problem is, again, a feasibility problem in a network with no source or sink.

slide-30
SLIDE 30

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Feasible circulation

The feasible circulation problem is, again, a feasibility problem in a network with no source or sink. We want flow conservation to hold at every node.

slide-31
SLIDE 31

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Feasible circulation

The feasible circulation problem is, again, a feasibility problem in a network with no source or sink. We want flow conservation to hold at every node. However, the arcs now have lower and upper bounds: for each arc (i, j), we’re given an interval [aij, bij] and ask that aij ≤ xij ≤ bij.

slide-32
SLIDE 32

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Feasible circulation

The feasible circulation problem is, again, a feasibility problem in a network with no source or sink. We want flow conservation to hold at every node. However, the arcs now have lower and upper bounds: for each arc (i, j), we’re given an interval [aij, bij] and ask that aij ≤ xij ≤ bij. Example problem: a b c d

[4, 6] [0, 2] [−1, 1] [1, 5] [−3, 3]

slide-33
SLIDE 33

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Reducing feasible circulation to supply/demand

We solve feasible circulation problems by turning them into an equivalent supply/demand problem (which we now understand).

slide-34
SLIDE 34

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Reducing feasible circulation to supply/demand

We solve feasible circulation problems by turning them into an equivalent supply/demand problem (which we now understand). Rules for constructing the supply/demand problem:

1 Start by setting dk = 0 for all k.

slide-35
SLIDE 35

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Reducing feasible circulation to supply/demand

We solve feasible circulation problems by turning them into an equivalent supply/demand problem (which we now understand). Rules for constructing the supply/demand problem:

1 Start by setting dk = 0 for all k. 2 For every arc (i, j) with interval [aij, bij], instead give it

cij = bij − aij. . .

3 . . . but add aij to di, and subtract aij from dj.

slide-36
SLIDE 36

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Reducing feasible circulation to supply/demand

We solve feasible circulation problems by turning them into an equivalent supply/demand problem (which we now understand). Rules for constructing the supply/demand problem:

1 Start by setting dk = 0 for all k. 2 For every arc (i, j) with interval [aij, bij], instead give it

cij = bij − aij. . .

3 . . . but add aij to di, and subtract aij from dj. 4 In the end, each node k has

dk =

  • j:(k,j)∈A

akj −

  • i:(i,k)∈A

aik. (We could skip directly to this step.)

slide-37
SLIDE 37

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Example of the reduction

Here is an example: a b c d

[4, 6] [−3, 3] [0, 2] [1, 5] [−1, 1]

We’d solve the resulting supply/demand problem by adding a source s, a sink t, and arcs from s or to t, as we discussed earlier.

slide-38
SLIDE 38

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Example of the reduction

Here is an example: a[0] b[0] c[0] d[0]

[4, 6] [−3, 3] [0, 2] [1, 5] [−1, 1]

We’d solve the resulting supply/demand problem by adding a source s, a sink t, and arcs from s or to t, as we discussed earlier. Then, we need to convert the resulting supply/demand solution to a feasible circulation.

slide-39
SLIDE 39

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Example of the reduction

Here is an example: a[4] b[−4] c[0] d[0]

2 [−3, 3] [0, 2] [1, 5] [−1, 1]

We’d solve the resulting supply/demand problem by adding a source s, a sink t, and arcs from s or to t, as we discussed earlier. Then, we need to convert the resulting supply/demand solution to a feasible circulation.

slide-40
SLIDE 40

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Example of the reduction

Here is an example: a[4] b[−7] c[3] d[0]

2 6 [0, 2] [1, 5] [−1, 1]

We’d solve the resulting supply/demand problem by adding a source s, a sink t, and arcs from s or to t, as we discussed earlier. Then, we need to convert the resulting supply/demand solution to a feasible circulation.

slide-41
SLIDE 41

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Example of the reduction

Here is an example: a[4] b[−7] c[3] d[0]

2 6 2 [1, 5] [−1, 1]

We’d solve the resulting supply/demand problem by adding a source s, a sink t, and arcs from s or to t, as we discussed earlier. Then, we need to convert the resulting supply/demand solution to a feasible circulation.

slide-42
SLIDE 42

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Example of the reduction

Here is an example: a[3] b[−7] c[4] d[0]

2 6 2 4 [−1, 1]

We’d solve the resulting supply/demand problem by adding a source s, a sink t, and arcs from s or to t, as we discussed earlier. Then, we need to convert the resulting supply/demand solution to a feasible circulation.

slide-43
SLIDE 43

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Example of the reduction

Here is an example: a[3] b[−7] c[5] d[−1]

2 6 2 4 2

We’d solve the resulting supply/demand problem by adding a source s, a sink t, and arcs from s or to t, as we discussed earlier. Then, we need to convert the resulting supply/demand solution to a feasible circulation.

slide-44
SLIDE 44

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Converting back to a feasible circulation

If the supply/demand problem is solved by a flow y, the feasible circulation we want is x, where xij = yij + aij.

slide-45
SLIDE 45

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Converting back to a feasible circulation

If the supply/demand problem is solved by a flow y, the feasible circulation we want is x, where xij = yij + aij. a[3] b[−7] c[5] d[−1]

3/4 0/2 6/6 1/2 2/2

slide-46
SLIDE 46

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Converting back to a feasible circulation

If the supply/demand problem is solved by a flow y, the feasible circulation we want is x, where xij = yij + aij. a b c d

4 ∈ [1, 5] 4 ∈ [4, 6] 3 ∈ [−3, 3] 1 ∈ [0, 2] 1 ∈ [−1, 1]

Before the conversion: for each k,

  • (i,k)∈A

yik −

  • (k,j)∈A

ykj = dk

slide-47
SLIDE 47

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Converting back to a feasible circulation

If the supply/demand problem is solved by a flow y, the feasible circulation we want is x, where xij = yij + aij. a b c d

4 ∈ [1, 5] 4 ∈ [4, 6] 3 ∈ [−3, 3] 1 ∈ [0, 2] 1 ∈ [−1, 1]

Before the conversion: for each k,

  • (i,k)∈A

yik −

  • (k,j)∈A

ykj = dk =

  • j:(k,j)∈A

akj −

  • i:(i,k)∈A

aik.

slide-48
SLIDE 48

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Converting back to a feasible circulation

If the supply/demand problem is solved by a flow y, the feasible circulation we want is x, where xij = yij + aij. a b c d

4 ∈ [1, 5] 4 ∈ [4, 6] 3 ∈ [−3, 3] 1 ∈ [0, 2] 1 ∈ [−1, 1]

Before the conversion: for each k,

  • (i,k)∈A

yik −

  • (k,j)∈A

ykj = dk =

  • j:(k,j)∈A

akj −

  • i:(i,k)∈A

aik. Therefore

  • (i,k)∈A

(yik + aik) −

  • (k,j)∈A

(ykj + akj) = 0

slide-49
SLIDE 49

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Converting back to a feasible circulation

If the supply/demand problem is solved by a flow y, the feasible circulation we want is x, where xij = yij + aij. a b c d

4 ∈ [1, 5] 4 ∈ [4, 6] 3 ∈ [−3, 3] 1 ∈ [0, 2] 1 ∈ [−1, 1]

Before the conversion: for each k,

  • (i,k)∈A

yik −

  • (k,j)∈A

ykj = dk =

  • j:(k,j)∈A

akj −

  • i:(i,k)∈A

aik. Therefore

  • (i,k)∈A

(yik + aik) −

  • (k,j)∈A

(ykj + akj) = 0 = ⇒ ∆k(x) = 0.

slide-50
SLIDE 50

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Bipartite matchings

We have already seen the bipartite matching problem. But we can convert it to a network flow problem, which lets us solve it using Ford–Fulkerson, instead of using linear programming.

slide-51
SLIDE 51

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Bipartite matchings

We have already seen the bipartite matching problem. But we can convert it to a network flow problem, which lets us solve it using Ford–Fulkerson, instead of using linear programming. Given a bipartite graph (A, B, E), we:

1 Construct a network with nodes A ∪ B ∪ {s, t}.

slide-52
SLIDE 52

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Bipartite matchings

We have already seen the bipartite matching problem. But we can convert it to a network flow problem, which lets us solve it using Ford–Fulkerson, instead of using linear programming. Given a bipartite graph (A, B, E), we:

1 Construct a network with nodes A ∪ B ∪ {s, t}. 2 For every edge (i, j) ∈ E, add an arc (i, j) with cij = ∞.

slide-53
SLIDE 53

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Bipartite matchings

We have already seen the bipartite matching problem. But we can convert it to a network flow problem, which lets us solve it using Ford–Fulkerson, instead of using linear programming. Given a bipartite graph (A, B, E), we:

1 Construct a network with nodes A ∪ B ∪ {s, t}. 2 For every edge (i, j) ∈ E, add an arc (i, j) with cij = ∞. 3 For every vertex i ∈ A, add an arc (s, i) with csi = 1. 4 For every vertex j ∈ B, add an arc (j, t) with cjt = 1.

slide-54
SLIDE 54

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Bipartite matchings

We have already seen the bipartite matching problem. But we can convert it to a network flow problem, which lets us solve it using Ford–Fulkerson, instead of using linear programming. Given a bipartite graph (A, B, E), we:

1 Construct a network with nodes A ∪ B ∪ {s, t}. 2 For every edge (i, j) ∈ E, add an arc (i, j) with cij = ∞. 3 For every vertex i ∈ A, add an arc (s, i) with csi = 1. 4 For every vertex j ∈ B, add an arc (j, t) with cjt = 1.

An maximum flow will send 1 flow along every edge in a matching, and 0 flow along all other edges.

slide-55
SLIDE 55

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Bipartite matching example

Going from the bipartite graph to a network: a1 a2 a3 b1 b2 b3

slide-56
SLIDE 56

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Bipartite matching example

Going from the bipartite graph to a network: a1 a2 a3 b1 b2 b3 s a1 a2 a3 b1 b2 b3 t

1 1 1 ∞ ∞ ∞ ∞ ∞ 1 1 1

slide-57
SLIDE 57

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Bipartite matching example

Going from the bipartite graph to a network: a1 a2 a3 b1 b2 b3 s a1 a2 a3 b1 b2 b3 t

1 1 1 ∞ ∞ ∞ ∞ ∞ 1 1 1

Going from a maximum flow to a maximum matching: s a1 a2 a3 b1 b2 b3 t

1/1 1/1 0/1 1/∞ 0/∞ 0/∞ 1/∞ 0/∞ 1/1 0/1 1/1

slide-58
SLIDE 58

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Bipartite matching example

Going from the bipartite graph to a network: a1 a2 a3 b1 b2 b3 s a1 a2 a3 b1 b2 b3 t

1 1 1 ∞ ∞ ∞ ∞ ∞ 1 1 1

Going from a maximum flow to a maximum matching: s a1 a2 a3 b1 b2 b3 t

1/1 1/1 0/1 1/∞ 0/∞ 0/∞ 1/∞ 0/∞ 1/1 0/1 1/1

a1 a2 a3 b1 b2 b3

slide-59
SLIDE 59

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Minimum cuts and vertex covers

What does a cut look like in this picture? s a1 a2 a3 b1 b2 b3 t

1 1 1 ∞ ∞ ∞ ∞ ∞ 1 1 1

slide-60
SLIDE 60

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Minimum cuts and vertex covers

What does a cut look like in this picture? s a1 a2 a3 b1 b2 b3 t

1 1 1 ∞ ∞ ∞ ∞ ∞ 1 1 1

A cut is really bad if one of the ∞ arcs crosses the cut.

slide-61
SLIDE 61

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Minimum cuts and vertex covers

What does a cut look like in this picture? s a1 a2 a3 b1 b2 b3 t

1 1 1 ∞ ∞ ∞ ∞ ∞ 1 1 1

A cut is really bad if one of the ∞ arcs crosses the cut. So there are no arcs from A ∩ S to B ∩ T.

slide-62
SLIDE 62

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Minimum cuts and vertex covers

What does a cut look like in this picture? s a1 a2 a3 b1 b2 b3 t

1 1 1 ∞ ∞ ∞ ∞ ∞ 1 1 1

A cut is really bad if one of the ∞ arcs crosses the cut. So there are no arcs from A ∩ S to B ∩ T. So together, A ∩ T and B ∩ S form a vertex cover.

slide-63
SLIDE 63

Introduction Supply and demand problems Feasible circulations Bipartite matchings

Minimum cuts and vertex covers

What does a cut look like in this picture? s a1 a2 a3 b1 b2 b3 t

1 1 1 ∞ ∞ ∞ ∞ ∞ 1 1 1

A cut is really bad if one of the ∞ arcs crosses the cut. So there are no arcs from A ∩ S to B ∩ T. So together, A ∩ T and B ∩ S form a vertex cover. We can check that the capacity of such a cut (S, T) is |A ∩ T| + |B ∩ S|: the number of vertices in the cover.