Chapter 5 Networks

advertisement
Graph Theory
Chapter 5
Networks
大葉大學(Da-Yeh Univ.)
資訊工程系(Dept. CSIE)
黃鈴玲(Lingling Huang)
Outline
5.1
5.2
5.3
5.5
5.6
An Introduction to Networks
The Max-Flow Min-Cut Theorem
A Max-Flow Min-Cut Algorithm
Connectivity and Edge-Connectivity
Menger’s Theorem
Ch5-2
Copyright  黃鈴玲
5.1 An Introduction to
Networks
※ Motivation:
Suppose that a World Series baseball game
is to be played in city B. Since the team from
city A is playing in this game, many fans from A
wish to fly to B on short notice. Several flight
routes exist from A to B. The maximum number
of seats available on every such flight is known.
We wish to determine the maximum number of
fans that can be flown from A to B and the routes
they should take. How can this be done?
Ch5-3
Copyright  黃鈴玲
Definition:
A network N is a digraph D with two
distinguished vertices s and t, called the source
and sink, respectively, and a nonnegative
integer-valued function c on E(D), called the
capacity function of N.
The function c takes on nonnegative integers
and .
The digraph D is called the underlying digraph
of N.
If a = (u, v) is an arc of D, then c(a) = c(u, v) is
called the capacity of a.
Ch5-4
Copyright  黃鈴玲
A network N :
x
3
1
z
5
source s
t sink
4
1
2
y
c(x, y)=4, c(t, z)=5
Ch5-5
Copyright  黃鈴玲
Definition:
For a vertex x in a digraph D,
the out-neighborhood and inneighborhood of x are defined by
N+(x) = { y V(D) | (x, y)  E(D) } and
N-(x) = { y  V(D) | (y, x)  E(D) } ,
respectively.
x
3
1
z
5
4
s
1
t
N+(x) = { y, z }
N-(x) = { s }
2
y
Ch5-6
Copyright  黃鈴玲
Definition:
A flow in N is an integer-valued function
f on E(D) such that
0 f(a)  c(a) for every a  E(D)
and
(5.1)
(5.2)
The net flow out of a vertex x is defined as
While the net flow into x is
Ch5-7
Copyright  黃鈴玲
Definition:
For an arc a = (x, y) of N, the value
f(a) = f(x, y) is called the flow in or along
arc a, and may be thought of as the amount
of material that is transported under the
flow f along the arc (x, y).
Note.
Equation (5.1) says that flow in an arc can never
exceed its capacity and is called the capacity
constraint.
Condition (5.2) is referred to as the conservation
equation. (出=進)
Ch5-8
Copyright  黃鈴玲
Definition:
The value f(N) of the flow f in N is the net
flow out of the source s that is,
Ch5-9
Copyright  黃鈴玲
Figure 5-2
x
y
3,3
z
3,2
N:
5,3
S
6,2
1,1
4,2
5,3
u
4,4
v
t
3,1
4,1
3,2
w
The numbers on an arc: capacity, flow
f (s, x) = 3, c(s, x)=5 f (N) = 4
Ch5-10
Copyright  黃鈴玲
(有時需考慮由一群點X流進另一群點Y的flow量)
Definition:
Let X, Y  V(D),
(X,Y) = {(x, y)  E(D) | x  X, y  Y }.
A cut in N is a set of arcs of the type (P, P )
in D, where P  V(D), containing s but not t
and where P= V(D) - P.
Definition:
Suppose c is the capacity of the cut. Further,
if f is a flow in N, then the flow from P to P is
f (P, P ) and the flow from P to P is f ( P , P).
Ch5-11
Copyright  黃鈴玲
Figure 5-2
x
y
3,3
z
3,2
N:
5,3
S
6,2
1,1
4,2
5,3
u
4,4
v
t
3,1
4,1
3,2
w
eg: If P = {s, x} then {(x,y), (s,u)} is a cut.
If P = {s, y, w}
then {(s,x), (s,u), (y,u), (y,z), (w,v)} is a cut.
c(P, P )=16, f(P,P )=9
Ch5-12
Copyright  黃鈴玲
Thm 5.1
Let N be a network and f a flow in N. If
(P, P )is a cut of N, then the value of the flow
in N is given by
f (N ) 
f
( x ,y) -
( x, y )( P,P )
f
( y ,x )
( y, x )( P,P )
 f ( P,P ) - f ( P, P )
 (flow from P to P ) - (flow from P to P )
pf: By definition,
f (N ) 


f ( s, x ) -
x N ( s )

f ( x, s)
-
x N ( s )
Ch5-13
Copyright  黃鈴玲
which is the net flow out of source s. If x
P – {s}, then it follows from equation (5.2)
that the net flow out of the vertex x is given
by
0

y N

f ( x ,y) -

y N
( x)
-
f ( y, x )
( x)
Hence, if we sum the net flow out of a vertex
x over all vertices x of P (including s), we
obtain
f (N ) 
( 
xP

yN


f ( x,y) -
f ( y, x ))
-
yN ( x )
( x)
f ( x,y) - 
xP y N  ( x )


f ( y, x )
xP y N - ( x )
Ch5-14
Copyright  黃鈴玲
Now
  f ( x, y) 
xP yN 
 f ( x, y) 
( x, y )( P, P )
 f ( x, y);
( x, y )( P, P )
and since P  P  V ( D ),
  f ( x, y) 
xP yN -
Since both
 f( x, y) 
( y, x )( P, P )

 f ( x, y)
( y, x )( P, P )
f ( x , y) and
( x, y )( P, P )

f ( y, x )
( y, x )( P, P )
sum the flow in all arcs that have both endvertices in P, these two quantities are equal.
Hence, we obtain
f (N ) 

f ( x ,y) -
( x, y )( P,P )

f ( y ,x )
( y, x )( P,P )
#
Ch5-15
Copyright  黃鈴玲
Corollary 5.1a
Let N be a network and f a flow in N. Then the
value of the flow in N cannot exceed the
capacity of any cut (P, P ) in N, that is,
f(N) min {c(P,P )},
Where the minimum is taken over all cuts (P, P)
in N.
Ch5-16
Copyright  黃鈴玲
Corollary 5.1b
Let N be a network and f a flow in N. Then
the value of the flow in N equals the flow into
the sink t of N, that is,
f (N ) 

-
f ( x, t ) -
x N ( t )

f (t, x)

x N ( t )
pf:
Let D be the underlying digraph of N, and let P
= V(D) – {t}; so P={t}.
Then, (x, y)  (P, P) iff y = t and x  N-(t).
Moreover, (y, x)  ( P,P) iff y = t and x  N+(t).
Hence, the result follows.
Ch5-17
Copyright  黃鈴玲
Homework
1. Let N be the network shown below, where each
arc is labeled with its capacity. A function f is
defined on the arcs of N as follows:
f (s, u) = 3, f (u, v) = 3, f (v, t) = 4, f (s, x) = 4, f (x, y) = 3,
f (y, t) = 1, f (x, v) = 1, f (w, s) = 0, f (y, w) = 2, f (w, t) = 2
Is f a flow in N? Explain.
u
v
2
N:
3
S
4
1
4
3
1
x
y
t
2
3
5
w
Ch5-18
Copyright  黃鈴玲
Homework
2. For the network shown below, each arc has
unlimited capacity. A flow in the network is
indicated by the labels on the arcs. Determine
the missing flows a, b, c.
u
1
1
2
6
7
x
3
a
S
v
c
x
4
3
b
t
1
2
y
z
2’: Let P = {s, u, w, y}. What is f (P, P )?
Ch5-19
Copyright  黃鈴玲
Outline
5.1
5.2
5.3
5.5
5.6
An Introduction to Networks
The Max-Flow Min-Cut Theorem
A Max-Flow Min-Cut Algorithm
Connectivity and Edge-Connectivity
Menger’s Theorem
Ch5-20
Copyright  黃鈴玲
5.2 The Max-Flow Min-Cut
Theorem
Definition:
A flow f in a network N is called a
maximum flow if f (N)  f ’(N) for every
flow f ’ in N.
A cut (P, P) is a minimum cut of N
if c(P, P )  c(X, X ) for every cut (X, X ) of N.
Note. A maximum flow and a minimum cut exist.
Ch5-21
Copyright  黃鈴玲
Definition:
A u0 – un semipath:
Q: u0 , a1 , u1 , a2 , u2 , …, un-1 , an ,un
去掉邊的方向性時,看起來是path.
a1
u0
a2
u1
u2
u3
un-1
un
Ch5-22
Copyright  黃鈴玲
Definition:
A semipath u0, a1, u1, a2, u2, …, un-1,
an ,un in D is said to be f-unsaturated
if  i, 1  i  n.
either (a). ai = (ui-1, ui ), f(ai) < c(ai)
or
(b). ai = (ui, ui-1), f(ai) > 0
(a).
ai
ui-1
(b). u
i-1
且 f < c 方向性一致, 還有剩下的位置
ui
 f 可再上昇
ai
ui
方向相反, 至少載了一個人
 f 可再下降.
NOTE: An f-unsaturated s-t semipath is
called on f-augmenting path
Ch5-23
Copyright  黃鈴玲
Thm 5.2:
N: network with underlying digraph D.
A flow f in N is maximum iff there is no
f-augmenting semipath in D.
e.g., If there is a f-augmenting semipath:
u0
4,2
3,2
1,1
4,3 u1 1,0 u2 3,3
6,2
u3 6,3 u4
D1 =2, D2 =1,
D3 =1, D4 =4
D =1
Let Di = c(ai) - f(ai) if ai satisfies condition (a).
Let Di = f(ai)
if ai satisfies condition (b).
Let D = min {Di | i }.
Ch5-24
Copyright  黃鈴玲
e.g. c(a)=3 arc a
f-augmenting semipath
2
2
1
3
x
s
2 <3
y
1 >0
3
t
0 <3
f(N)=5
D =1
3
2
2
1
3
x
s
3
0
3
y
1
t
f(N)=6
3
Ch5-25
Copyright  黃鈴玲
Homework
3. For the following network and flow f,
find a f-augmenting semipath.
x
y
3,3
z
3,2
N:
5,3
S
6,2
1,1
4,2
5,3
u
4,4
v
t
3,1
4,1
3,2
w
Ch5-26
Copyright  黃鈴玲
Outline
5.1
5.2
5.3
5.5
5.6
An Introduction to Networks
The Max-Flow Min-Cut Theorem
A Max-Flow Min-Cut Algorithm
Connectivity and Edge-Connectivity
Menger’s Theorem
Ch5-27
Copyright  黃鈴玲
5.3 A Max-Flow Min-Cut
Algorithm
Thm 5.4:
N: network D: digraph
c: capacity f: flow
Let D’ be a digraph with V(D’) = V(D).
E(D’) = {(x, y) | (x, y)  E(D) and c(x, y) > f(x, y)
or (y, x)  E(D), and f(y, x)> 0}
Then D’ has a s-t path iff D has an
f-augmenting semipath.(課本P. 143)
Ch5-28
Copyright  黃鈴玲
Algorithm 5.1
(Max-Flow Min-Cut Algorithm)
Initial flow 可假設為f(a)=0 a, 此處假設已做了部份
2,1
u
3,1
s
v
1,1
4,4
3,1
3,3
x 2,2
w
Stage 1 : find D’
v
u
3,2
y 1,1
t
5,1
s
x
t
y
w
Stage 1’ : Find shortest s-t path
s, (w, s), w, (w, t), t
D =1
Ch5-29
Copyright  黃鈴玲
Algorithm 5.1
(Max-Flow Min-Cut Algorithm)
Stage 2 : 改變path中的flow值
Stage 3 : find D’ again
v
u
f(a)= f(a) – D 若 a為反向
f(a)= f(a) + D 若 a為同向
2,1
u
3,1
s
v
1,1
4,4
3,0
3,3
x 2,2
w
s
3,2
y 1,1
5,2
t
x
y
t
w
Stage 3’ : Find shortest s-t path
s, (s, u), u, (u,v), v, (v, t), t
Ch5-30
D =1
Copyright  黃鈴玲
Algorithm 5.1
(Max-Flow Min-Cut Algorithm)
Stage 4 : 改變path中的flow值
Stage 5 : find D’ again
v
u
f(a)= f(a) – D 若 a為反向
f(a)= f(a) + D 若 a為同向
2,2
u
3,2
s
v
1,1
4,4
3,0
3,3
x 2,2
w
s
3,3
y 1,1
5,2
t
x
t
y
w
Stage 5’ : Find shortest s-t path
f(N) = 6
No
令 P 為 s 在 D’中可以走到的點的集合
Ch5-31
Copyright  黃鈴玲
P={s, u}
2,2
u
3,2
s
P ={x, v, w, y, t}
v
1,1
4,4
3,0
3,3
x 2,2
w
3,3
y 1,1
t
5,2
(P, P ) is a minimum cut, c(P, P )=6
Ch5-32
Copyright  黃鈴玲
Homework
4. Shown below is a network N and a flow f1, each arc is
labeled with its capacity and the flow along the arc.
(a) What if the value of f1?
(b) Construct the corresponding digraph D’.
(c) Use the digraph D’ to find an f1-augmenting semipath in N.
(d) Find a maximum flow f and a minimum cut for N.
u
2,2
1,1 w
4,3
2,2
3,1
s
5,3
1,1
v
2,2
x 1,1
t
5,4
y
Ch5-33
Copyright  黃鈴玲
Homework
5. Use Algorithm 5.1 to find a maximum flow and
a minimum cut for the network shown below.
(Assume f(a)=0 for each arc a.)
4
u
3
w
4
s
1
3
1
x
v
2
5
t
1
z 2
2
6
y
Ch5-34
Copyright  黃鈴玲
Outline
5.1
5.2
5.3
5.5
5.6
An Introduction to Networks
The Max-Flow Min-Cut Theorem
A Max-Flow Min-Cut Algorithm
Connectivity and Edge-Connectivity
Menger’s Theorem
Ch5-35
Copyright  黃鈴玲
5.5 Connectivity and
Edge-Connectivity
Definition:
G: connected graph
1. U  E(G) is an edge cutset of G if
G-U is disconnected.
2. S  V(G) is a vertex cutset of G if
G-S is disconnected.
Ch5-36
Copyright  黃鈴玲
Figure 5.7
v5
G
v1
v2
v3
v4
U={ v1v5, v2v5, v2v6, v3v6 }
G-U
v5
v1
v2
v4
v6
v3
v6
S={ v1, v2, v3 }
v5
G-S
v1
v2
v4
v6
v3
{v1v4, v1v5} is an edge cutset smaller than U.
{v4, v5} is a vertex cutset smaller than S.
Ch5-37
Copyright  黃鈴玲
Definition: G: graph,
The edge connectivity of G
λ(G) = min {|U|: U  E(G), G-U is
disconnected or trivial (G  K1) }
(λ(G) = 0  G is disconnected or trivial)
The (vertex) connectivity
k (G) = min{ |S|: S  V(G) , G-S is
disconnected or trivial }
Consider trivial graph :
K1
 λ(G) = 0
k (G) = 0
Ch5-38
Copyright  黃鈴玲
Consider complete graphs :
Kp
 λ(Kp) = p-1
k(Kp) = p-1
If a graph G is not complete, then
k (G) is the minimum cardinality of a vertex
cutset of G.
Moreover, a graph G has k (G) = 0 if and only
if G is disconnected or trivial.
Ch5-39
Copyright  黃鈴玲
Thm 5.5:
For every graph G,
k (G)  λ(G)  δ(G)
pf: (λ(G)  δ(G) )
Choose a vertex v with deg(v) = δ(G).
v
G-v
λ(G)  δ(G)
edge cutset
Ch5-40
Copyright  黃鈴玲
(k (G)  λ(G) )
1. If λ(G) = 0
then G is disconnected or trivial  k (G) = 0
2. If λ(G) = 1
then G has a bridge  k (G) = 1
3. If λ(G)  2
Let U be an edge cutset with |U| = λ(G),
then G -U has two components.
Note: If G -U has at least 3 components,
then there exists a smaller edge cutset.
U
G1
Let G1 be a nontrivial
component of G-U.
Since |S|  |U|
vertex cutset S
∴ k (G)  λ(G)
Ch5-41
Copyright  黃鈴玲
Definition:
A graph G is n-edge-connected (n 1)
if λ(G)  n (delete n-1 edges 此圖仍會
connected)
A graph G is n-connected if k(G)  n
(delete n-1 點 此圖仍會connected or
nontrivial)
Ch5-42
Copyright  黃鈴玲
Thm 5.7:
Let G be a graph of order p, let n,
1 n  p-1. If δ(G)  (p+n-2)/2, then
G is n-connected (k (G)  n)
pf: (反證)
(1) If G  Kp , k (G) = p-1
∵ 1 n  p-1
∴ k (G)  n
∴ G is n-connected
Ch5-43
Copyright  黃鈴玲
(2) If G  Kp and assume to the contrary
that G is not n-connected.
Then  S  V(G) be a cutset and
|S| = k < n
Let G1 be a component of minimum order
in G - S.
∵ |V(G - S)| = p – k
∴ |V(G1)|  (p - k)/2
If v  V(G1) then,
deg(v)  ((p - k)/2 – 1) + k
= ( p + k- 2)/2
< ( p + n -2 )/2 
Ch5-44
Copyright  黃鈴玲
Homework

Exercise 5.5:
1, 2, 3, 4, 5, 6
Ch5-45
Copyright  黃鈴玲
Outline
5.1
5.2
5.3
5.5
5.6
An Introduction to Networks
The Max-Flow Min-Cut Theorem
A Max-Flow Min-Cut Algorithm
Connectivity and Edge-Connectivity
Menger’s Theorem
Ch5-46
Copyright  黃鈴玲
5.6 Menger’s Theorem
Definition:
A set S of edges (vertices) of a graph G
is said to separate two vertices u and v
of G if G - S is a disconnected graph in
which u and v lie in different components.
i.e., S separates u and v if G - S contains
no u-v path.
Ch5-47
Copyright  黃鈴玲
Definition:
u, v  V(G), Q1 : u - v path, Q2: u - v path
Q1, Q2 are edge-disjoint if
E(Q1) E(Q2) =  ,
Q1, Q2 are internally disjoint if
V (Q1)  V(Q2) = { u, v }
Ch5-48
Copyright  黃鈴玲
Definition: u  v  V(G),
l(u, v) = min number of edges that
separate u and v
k(u, v) =
min number of vertices that
separate u and v if uv  E(G),
|V(G)|-1 if uv  E(G)
M(u, v) = max number of internally disjoint
u - v paths.
M’(u, v) = max number of edge-disjoint
u - v paths.
Ch5-49
Copyright  黃鈴玲
Thm 5.8 (考慮edge)
λ(u, v) = M’(u, v)  u, v V(G)
(要separate兩點,最少需delete的邊數
= 它們間edge-disjoint path的最大個數)
Thm 5.9 (考慮vertex) (Menger Theorem)
k(u, v) = M(u, v)  u, v V(G) with
uv  E(G)
(要separate兩點,最少需delete的點數
= 它們間internally disjoint path的最大個數)
Ch5-50
Copyright  黃鈴玲
Homework

Exercise 5.6:
2, 3
Ex2. Let G be an n-connected graph of order p.
Show that p  n (diam(G) - 1) + 2.
Ex3. Let G be an n-edge-connected graph of
size q. Show that q  n  diam(G).
Ch5-51
Copyright  黃鈴玲
Download