Tiểu luận Phân tích và thiết kế thuật toán FLOW NETWORKS - Pdf 26

MAXIMUM FLOW

Flow networks Minh Hòa

The Fork-Fulkerson method Hoài Nhân

Maximum biparite matching Phú Lộc

Push-relabel algorithms Quang Minh

The relabel-to-front algorithms Thế Quân
2
FLOW NETWORKS
(MẠNG VẬN TẢI)
Người thực hiện: Nguyễn Thị Minh Hòa
3
Nội dung

Mạng vận tải.

Luồng.

Mạng có nhiều đỉnh phát và nhiều đỉnh thu.

Làm việc với nhiều luồng.
Mạng vận tải
4
Mạng vận tải
Định nghĩa

Là đơn đồ thị có hướng G = (V, E)

v4
t
v3
v1
4
14
v2
s
7
20
9
4
12
10
16
13
Đỉnh thu
Đỉnh phát
Mạng vận tải
Ví dụ
6
Cho N = (G = (V, E), c, s, t) là một mạng
vận tải. Một luồng trong N là ánh xạ f: V x
V -> R thỏa mãn các điều kiện sau:

Tính ràng buộc về khả năng thông qua
của luồng :
∀u, v ∈ V: ƒ(u, v) ≤ c(u, v).

Tính đối xứng:

f f s v

=

, ( , ) 0v V f v v∀ ∈ =
8

Cung (u,v) được
gán nhãn như sau:
f(u,v)/c(u,v)

|f|=f(s,v1) + f(s,v2)
= 11 + 8 = 19
v2
v4
t
v3
v1
s
8
/
1
3
11/14
4
/
4
7/7
1
5

7
20
9
3
12
8
16
13
Ví dụ sự khác biệt giữa vận chuyển và luồng
Luồng
10

Họ không kiểm soát những lộ trình
giữa các thành phố (các đỉnh) và các
khả năng thông qua của các lộ trình.

Mục đích: xác định số lượng thùng
lớn nhất p có thể được vận chuyển
mỗi ngày.

Họ chỉ quan tâm đến số lượng thùng
p
rời nhà máy và số lượng thùng
p

đến kho mỗi ngày.
Luồng
Ví dụ sự khác biệt giữa vận chuyển và luồng
11


Nếu bóng được vận chuyển theo cả hai
hướng giữa hai thành phố thì có thể hủy
bỏ thành một trường hợp, trong đó bóng
được vận chuyển chỉ theo hướng có giá trị
dương.

Phương pháp hủy bỏ sẽ phát sinh trong
toàn bộ thuật toán.
Luồng
Ví dụ sự khác biệt giữa vận chuyển và luồng
14

Giả sử cung (u, v) tương ứng với một
luồng có giá trị ƒ(u, v).

Trong quá trình khai triển thuật toán,
có thể tăng luồng trên cung (v, u)
bằng cách thêm giá trị d.

Thao tác đó làm giảm ƒ(u, v) một
lượng d.
Luồng
Ví dụ sự khác biệt giữa vận chuyển và luồng
15

Một bài toán luồng cực đại có thể có nhiều
hơn một đỉnh phát và đỉnh thu.

Có thể chuyển đổi bài toán luồng cực đại
với nhiều đỉnh phát và đỉnh thu về bài

5
8
2
1
0
1
5
1
3
1
4
7
1
1
3
Ví dụ
Mạng có nhiều đỉnh phát và nhiều
đỉnh thu
17

Thêm vào 1 đỉnh
phát giả s và 1 cung
với khả năng thông
qua vô hạn từ s đến
mỗi đỉnh phát si,

Thêm 1 đỉnh thu giả
t và 1 cung với khả
năng thông qua vô
hạn từ mỗi đỉnh thu

1
0
1
5
1
3
1
4
7
1
1
3

Ví dụ
Mạng có nhiều đỉnh phát và nhiều
đỉnh thu
18
s1
s5
s4
s3
s2
t3
t2
t1
6
2
0
1
8

s2
t3
t2
t1
6
2
0
1
8
1
2
5
8
2
1
0
1
5
1
3
1
4
7
1
1
3

a)
b)
Chuyển đổi bài toán luồng cực đại với nhiều đỉnh phát và đỉnh thu về bài toán

∈ ∈
= −
∑ ∑
| |
v
f
w
\{ , }: ( , ) (w, )
u V V
v V s t f v u f v
∈ ∈
∀ ∈ =
∑ ∑
( , ) 0
( , )
u V
f v u
f v u

>

20

Cho X, Y V, ta
có:

Ví dụ:
X={s, v1, v2},
Y={v3, v4, t}
f(X,Y) = f(v1,v3) +

1
/
1
6
X Y
( , ) ( , )
u X v Y
f X Y f u v
∈ ∈
=
∑∑
Ký hiệu
Làm việc với nhiều luồng
21

Nếu v V, ta có:
f(X, v) = f(X, {v})
Ví dụ: f(X,v3) = 12 – 4 = 8

Tính bảo toàn luồng được viết lại:
ƒ(u, V) = 0, ∀ u ∈V\{s, t}.

Ký hiệu
Làm việc với nhiều luồng
22

Cho N là một mạng vận tải và ƒ là một
luồng trong N. Khi đó có các tính chất
sau:


Mạng thặng dư

Đường tăng luồng

Lát cắt

Thuật toán Fork-Fulkerson.
Nội dung
Phương pháp Fork-Fulkerson


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status