1. Trang chủ
  2. » Thể loại khác

Slide bài giảng Toán rời rạc 2 – Vũ Văn Thỏa

23 106 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 23
Dung lượng 261,43 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

 Thuật toán tìm luồng cực đại trong mạng  Một số bài toán luồng tổng quát  ng dụng... Lát cắt có khả năng thông qua nhỏ nhất gọi là lát cắt hẹp nhất... 9 Định lý Ford-Fullkerson 2 K

Trang 1

 Thuật toán tìm luồng cực đại trong mạng

 Một số bài toán luồng tổng quát

 ng dụng

Trang 2

2

6.1 Giới thiệu bài toán

1 M ng

Mạng là đồ thị có hướng G = (V, E) thỏa mãn:

e

Trang 5

5

Ví dụ về lu ng:

Trang 6

Lát cắt có khả năng thông qua nhỏ nhất gọi là lát cắt hẹp nhất

Bổ đề 1 Giá trị c a mọi luồng f không vượt quá khả năng thông qua c a lát cắt bất kỳ:

)

Trang 7

7

2 M t s khái ni ệm

Trang 8

8

trọng số trên các cung thuộc P Xây dựng luồng f’:

(1) Nếu (u, v)  P là cung thuận thì f’(u, v) = f(u, v) + ;

(2) Nếu (u, v)  P là cung nghịch thì f’(u, v) = f(u, v) - ;

(3) Nếu (u, v)  P thì f’(u, v) = f(u, v)

 val(f*) = val(f) + 

 Th tục tăng luồng dọc theo P

Trang 9

9

Định lý Ford-Fullkerson

(2) Không tìm được đường tăng luồng;

)

Trang 10

10

6.3 Thu ật toán tìm lu ng c c đ i trong m ng

Input: Mạng G = (V, E) cho bởi ma trận trọng số c[i][j];

Output: Luồng cực đại f; giá trị luồng val(f);

Trang 11

if (Tìm được được đường tăng luồng P) {

Trang 12

if (c[u][v] > 0 && fl[u][v] < c[u][v]) {

p[v] = u; d[v] = Min(d[u], c[u][v] - fl[u][v]);

cq++; q[cq] = v; vs[v] = 1;

if (v = t) return;

}

if (c[v][u] > 0 && fl[v][u] > 0) {

p[v] = -u; d[v] = Min(d[u], fl[v][u]); cq++; q[cq] = v; vs[v] = 1;

Trang 13

13

Trang 14

14

6.4 M t s bài toán lu ng tổng quát

1 M ng có nhiều điểm phát, nhiều điểm thu

đỉnh phát bất kỳ đến một trong các đỉnh thu và được định nghĩa tương tự như trên

Trang 15

15

Thuật toán tìm lu ng c c đ i:

Trang 16

16

2 Bài toán với khả năng thông qua c a đỉnh và c nh

Xét mạng G

Ngoài khả năng thông qua c[u][v] trên cạnh (u, v)  E, còn có khả năng thông qua c a đỉnh v

là số nguyên không âm d[v], v  V

Luồng f trên mạng G phải thỏa mãn thêm điều kiện: tổng luồng đi vào đỉnh v không vượt quá d[v]

Yêu cầu: Tìm luồng cực đại giữa s và t

Trang 17

17

Thuật toán:

thông qua:

(2) Tìm luồng cực đại f* trên G’;

(3) Xuất f* trên G và val(f*);

Trang 18

18

3 M ng có khả năng thông qua bị chặn hai phía

Xét mạng G

Khả năng thông qua trên cạnh (u, v)  E có cận trên là c[u][v] và cận dưới là d[u][v]

Luồng f trên mạng G phải thỏa mãn thêm điều kiện:

d[u][v] ≤ f[u][v] ≤ c[u][v]

Yêu cầu: Tìm luồng cực đại giữa s và t

Trang 19

19

Thuật toán:

với khả năng thông qua d[u][v]; khả năng thông qua c a (u, v) là c[u][v] – d[u][v];

Trang 20

20

6.5 ng dụng

1 B ghép c c đ i

Cho đồ thị hai phía G với V = X  Y, X  Y = ;

Bộ ghép M trên G là các cặp (x, f(x)) với đơn ánh f: X  Y

Yêu cầu: Tìm M có số lượng phần tử lớn nhất

Ví dụ:

Trang 21

21

Thuật toán:

với khả năng thông qua 1;

(3) Xuất các cặp (u, v) nếu f[u][v] > 0, u X và v  Y và val(f);

Trang 22

22

2 Hệ đ i diện chung

Yêu cầu: Tìm hệ đại diện chung (a1, …, an)

Trang 23

khả năng thông qua trên các cung là 1;

(2) Tìm luồng cực đại f trên G;

Ngày đăng: 23/11/2017, 18:26

TỪ KHÓA LIÊN QUAN