Professional Documents
Culture Documents
09/12/2013
I Bài toán luồng cực đại trên mạng là một trong những bài
toán tối ưu trên đồ thị và có những ứng dụng rất rộng rãi
trong lý thuyết và thực tế
I Bài toán được đưa ra vào đầu những năm 1950 và gắn liền
với tên tuổi của hai nhà toán học Ford và Fulkerson
Định nghĩa 1
Mạng (flow network) là một đồ thị có hướng N = (V , E , C) với
V là tập đỉnh thường được gọi là nút (node), E là tập cạnh
thường được gọi là cung (arc) và C là hàm khả năng trong đó
I Có duy nhất một nút s không có cung đi vào, được gọi là nút
phát (source)
I Có duy nhất một nút t không có cung đi ra, được gọi là nút
thu (sink)
I Mỗi cung e = (u, v) ∈ E được gán một số nguyên không âm
c(u, v) được gọi là khả năng thông qua (capacity ) của
cung
b 5 d
7
5 3
s t
3 7
2
a 5 c
Định nghĩa 2
Cho mạng N = (V , E , C, s, t), Luồng (flow ) f trong mạng là một
ánh xạ
f : V2 → R+
(1)
(u, v) 7→ f (u, v)
b 1,5 d
2,7
3,5 2,3
s t
2,3 1,7
3,2
a 1,5 c
Hình 2: Một luồng f trên mạng, số thứ nhất trên cung là giá trị luồng,
số thứ hai trên cung là khả năng thông qua
I Điều kiện 2 (flow conversion): điều kiện cân bằng luồng trên
mỗi đỉnh v (trừ đỉnh thu và đỉnh phát) là tổng luồng trên các
cung đi vào bằng tổng luồng trên các cung đi ra
Bài toán 1
Cho một mạng N = (V , E , C, s, t), gọi F là tập hợp các luồng
trên mạng N. Bài toán tìm luồng cực đại (max flow ) được phát
biểu qua công thức sau
Định nghĩa 4
Cho một mạng N = (V , E , C, s, t)
I Một lát cắt (cut) (S, T ) là một phân hoạch tập đỉnh V sao
cho s ∈ S và t ∈ T
I Một tập cắt (cut-set) là một tập các cung
{(u, v) ∈ E |u ∈ S, v ∈ T }
I Khả năng thông qua của lát cắt (S, T ) được định nghĩa là
u∈S,v∈T
I Lát cắt nhỏ nhất (min cut) là lát cắt có khả năng thông
qua nhỏ nhất
b 5 d
7
5 3
s t
3 7
2
a 5 c
Định nghĩa 5
Cho mạng N = (V , E , C, s, t) và f là luồng trên mạng. Đồ thị
tăng luồng (residual network) là đồ thị có hướng có trọng số
Nf = (V , Ef ) với các cung được xây dựng như sau:
Xét một cung (u, v) ∈ E
I Nếu f (u, v) = 0 thì (u, v) ∈ Ef với trọng số c(u, v)
I Nếu f (u, v) = c(u, v) thì (v, u) ∈ Ef với trọng số c(u, v)
I Nếu 0 < f (u, v) < c(u, v) thì
I (u, v) ∈ Ef với trọng số c(u, v) − f (u, v)
I (v, u) ∈ Ef với trọng số f (u, v)
I Các cung thuộc Nf cũng thuộc N được gọi là cung thuận
I Các cung thuộc Nf không thuộc N được gọi là cung nghịch
Hình 6: Luồng f
b 2 d
3 2
2 4 1
2 3 1
s 4 t
1 1
1 2 5
3
5 a c
4
Hình 7: Đồ thị tăng luồng Nf , các cung thuận vẽ liền, các cung nghịch
vẽ gạch đứt
b 3,5 d
4+2,6
3,4 2-2,3
4+2,6
s t
5,6 2-2,3 3,4
5,5
a 0+2,4 c
Hình 9: Cập nhật các cung của luồng f nằm trên đường đi
b 4 d
10
2 8
10
s t
10 6
10
a 9 c
b 4 d
10
2 8
10
s t
10 6
10
a 9 c
b 4 d
10
2 8
10
s t
9
1 6
9
a c 1
9
b 4 d 4
4 6 2
2 6
s 6 t
9
1 9 6
a c 1
9
b 4 d
10
2 2 6 10
s t
9
1 9 6
a c 1
9