1. Trang chủ
  2. » Giáo án - Bài giảng

BÀI TOÁN LUỒNG bé NHẤT

17 138 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 17
Dung lượng 103 KB

Nội dung

9.3 BÀI TOÁN LUỒNG BÉ NHẤT Bài toán: Cho mạng (G, c) Tìm luồng t qua mạng có giá trị tz bé thoả mãn điều kiện a’) thay cho điều kiện a) sau: a’) ∀ e ∈ E , t(e) ≥ c(e) 1/46 THUẬT TOÁN TÌM LUỒNG BÉ NHẤT  Thuật toán 9.2 Ta cải tiến thuật toán Ford – Fulkerson sau: Xuất phát từ luồng t thoả mãn điều kiện b), ta tiến hành hai bước sau để giảm giá trị luồng t - Bước 1: Đánh dấu đỉnh - Bước 2: Giảm luồng 2/46 BƯỚC ĐÁNH DẤU  Đầu tiên đánh dấu cho đỉnh thu z số  Nếu đỉnh y đánh dấu, có cạnh (x, y) với đỉnh đầu x chưa đánh dấu t((x,y)) > c((x,y)) đánh dấu cho đỉnh x +y 3/46 BƯỚC ĐÁNH DẤU (tiếp)  Nếu đỉnh x đánh dấu, có cạnh (x, y) đánh dấu cho đỉnh y -x  Với cách đánh dấu mà ngược tới đỉnh phát x0 ta tìm đường vô hướng từ z tới x0 4/46 BƯỚC GIẢM LUỒNG Chọn luồng t’ sau: - Nếu cạnh e không thuộc đường giữ nguyên luồng - Nếu cạnh e thuộc đường chiều từ x0 tới z đặt t’(e) := t(e) -1 ngược chiều đặt t’(e) := t(e) +  Lặp lại trình giảm luồng không đánh dấu tới đỉnh phát x0 Khi luồng nhận có giá trị nhỏ 5/46 VÍ DỤ 9.2 Xét mạng vận tải sau đây: x1 4/3 +2 x0 +0 x3 5/5 10-9/8 4/3 +4 x2 6-5/5 6-5/5 z 3-4/3 -3 x4 13/13 Hình 9.7 Mạng vận tải luồng giảm Luồng cũ có giá trị tz = 19 Luồng sau cải tiến có giá trị tz’ = 18 luồng nhỏ 6/46 9.4 LUỒNG TRÊN MẠNG CÓ NHIỀU ĐỈNH PHÁT VÀ ĐỈNH THU Giả sử (G, c) mạng vận tải với n đỉnh phát: p1, p2, … , pn m đỉnh thu: t1, t2, … , tm  Bài toán tìm luồng lớn từ nhiều đỉnh phát tới nhiều đỉnh thu đưa toán luồng lớn cách thêm vào đỉnh phát giả X0, đỉnh thu giả Z, cạnh nối X0 với tất đỉnh phát cạnh nối tất đỉnh thu với Z 7/46 9.4 LUỒNG TRÊN MẠNG CÓ NHIỀU ĐỈNH PHÁT VÀ ĐỈNH THU (tiếp) P1 X0 Đỉnh phát giá P2 (G,c) t1 t2 Pn Z Đỉnh thu giá tm Hình 9.8 Mạng vận tải có nhiều đỉnh phát nhiều đỉnh thu 8/46 9.4 LUỒNG TRÊN MẠNG CÓ NHIỀU ĐỈNH PHÁT VÀ ĐỈNH THU (tiếp) Khả thông qua cạnh sau: - Nếu lượng phát đỉnh pi bị hạn chế li đặt c(X0, pi) = li không bị hạn chế đặt ∞ - Tương tự, giới hạn lượng thu đỉnh tj khả thông qua cạnh (tj, Z) 9/46 9.5 BÀI TOÁN TÌM CẶP GHÉP LỚN NHẤT  Giả sử G = (V1,V2, F) đồ thị hai phần Hãy tìm cặp ghép lớn đồ thị Bài toán dạng đặc biệt toán mạng với nhiều đỉnh phát nhiều đỉnh thu Ta đưa toán toán luồng lớn 10/46 9.5 BÀI TOÁN TÌM CẶP GHÉP LỚN NHẤT (tiếp)  Xây dựng mạng vận tải sau: - Các đỉnh mạng đỉnh đồ thị G thêm vào đỉnh phát x0 đỉnh thu z - Mạng gồm tất cạnh G có hướng từ V1 sang V2 - Ngoài ra, nối x0 với tất đỉnh V1 nối tất đỉnh V2 với z - Trên cạnh e mạng đặt c(e) = 11/46 9.5 BÀI TOÁN TÌM CẶP GHÉP LỚN NHẤT (tiếp) Khi đó, luồng t qua mạng ứng với cặp ghép W G mà: e ∈ W ⇔ t(e) = Ngược lại, cặp ghép W ứng với luồng t qua mạng G theo quy tắc  Vậy tz đạt lớn mhất W có nhiều cạnh 12/46 VÍ DỤ 9.3 Từ đồ thị hai phần ta xây dựng mạng vận tải sau: x0 a f b g c h d e z i k Hình 9.9 Mạng vận tải đồ thị hai phần 13/46 9.6 MẠNG VẬN TẢI VỚI KHẢ NĂNG THÔNG QUA CỦA CẠNH VÀ ĐỈNH  Giả sử mạng (G, c) khả thông qua cạnh với đỉnh x ∈ V có khả thông qua đỉnh d(x) đòi hỏi tổng luồng vào đỉnh x không vượt d(x), nghĩa là: t(W-(x)) ≤ d(x)  Hãy tìm luồng lớn x0 z mạng 14/46 9.6 MẠNG VẬN TẢI VỚI KHẢ NĂNG THÔNG QUA CỦA CẠNH VÀ ĐỈNH (tiếp)  Đưa toán toán luồng lớn nhất: Xây dựng mạng G’: - Mỗi đỉnh x G thay hai đỉnh x- x+, - Cạnh (x- , x+) thuộc G’ c((x-,x+)) = d(x), - Mỗi cạnh (x, y) G tương ứng với cạnh (x+, y- ) G’ 15/46 VÍ DỤ 9.4 Xét mạng vận tải sau đây: a (G,c) = x0 15 z 14 b Hình 9.10 Mạng vận tải với khả thông qua cạnh đỉnh 16/46 VÍ DỤ 9.4 (tiếp)  Xây dựng mạng (G’, c) sau: a - x0 15 x0+ a+ b- zb+ 14 z+ Hình 9.11 Mạng vận tải tương ứng Do luồng vào đỉnh x- phải qua cạnh (x-, x+) với khả thông qua d(x) nên luồng lớn G’ luồng lớn G thoả mãn điều kiện khả thông qua cạnh đỉnh 17/46 [...]... cạnh thì với mỗi đỉnh x ∈ V còn có khả năng thông qua của đỉnh là d(x) và đòi hỏi tổng luồng đi vào đỉnh x không được vượt quá d(x), nghĩa là: t(W-(x)) ≤ d(x)  Hãy tìm luồng lớn nhất giữa x0 và z trên mạng này 14/46 9.6 MẠNG VẬN TẢI VỚI KHẢ NĂNG THÔNG QUA CỦA CẠNH VÀ ĐỈNH (tiếp)  Đưa bài toán này về bài toán luồng lớn nhất: Xây dựng mạng G’: - Mỗi đỉnh x trong G thay bằng hai đỉnh x- và x+, - Cạnh (x-...9.5 BÀI TOÁN TÌM CẶP GHÉP LỚN NHẤT (tiếp)  Xây dựng mạng vận tải như sau: - Các đỉnh của mạng là các đỉnh của đồ thị G và thêm vào đỉnh phát x0 và đỉnh thu z - Mạng sẽ gồm tất cả các cạnh của G có hướng từ V1 sang V2 - Ngoài ra, nối x0 với tất cả các đỉnh trong V1 và nối tất cả các đỉnh trong V2 với z - Trên mỗi cạnh e của mạng đều đặt c(e) = 1 11/46 9.5 BÀI TOÁN TÌM CẶP GHÉP LỚN NHẤT (tiếp)... đỉnh 16/46 VÍ DỤ 9.4 (tiếp)  Xây dựng mạng (G’, c) như sau: a - x0 15 x0+ 9 8 a+ 7 3 6 b- 8 zb+ 14 z+ 9 Hình 9.11 Mạng vận tải tương ứng Do luồng đi vào đỉnh x- phải đi qua cạnh (x-, x+) với khả năng thông qua d(x) nên luồng lớn nhất trong G’ sẽ bằng luồng lớn nhất trong G và thoả mãn các điều kiện về khả năng thông qua của các cạnh và các đỉnh 17/46 ... Trên mỗi cạnh e của mạng đều đặt c(e) = 1 11/46 9.5 BÀI TOÁN TÌM CẶP GHÉP LỚN NHẤT (tiếp) Khi đó, mỗi luồng t qua mạng sẽ ứng với một cặp ghép W của G mà: e ∈ W ⇔ t(e) = 1 Ngược lại, mỗi cặp ghép W sẽ ứng với một luồng t qua mạng của G cũng theo quy tắc trên  Vậy tz đạt lớn mhất khi W có nhiều cạnh nhất 12/46 VÍ DỤ 9.3 Từ một đồ thị hai phần ta xây dựng mạng vận tải như sau: 1 x0 a f b g 1 c 1 h d ... 9.5 BÀI TOÁN TÌM CẶP GHÉP LỚN NHẤT  Giả sử G = (V1,V2, F) đồ thị hai phần Hãy tìm cặp ghép lớn đồ thị Bài toán dạng đặc biệt toán mạng với nhiều đỉnh phát nhiều đỉnh thu Ta đưa toán toán luồng. ..THUẬT TOÁN TÌM LUỒNG BÉ NHẤT  Thuật toán 9.2 Ta cải tiến thuật toán Ford – Fulkerson sau: Xuất phát từ luồng t thoả mãn điều kiện b), ta tiến hành hai bước sau để giảm giá trị luồng t -... tổng luồng vào đỉnh x không vượt d(x), nghĩa là: t(W-(x)) ≤ d(x)  Hãy tìm luồng lớn x0 z mạng 14/46 9.6 MẠNG VẬN TẢI VỚI KHẢ NĂNG THÔNG QUA CỦA CẠNH VÀ ĐỈNH (tiếp)  Đưa toán toán luồng lớn nhất:

Ngày đăng: 29/12/2015, 21:41

TỪ KHÓA LIÊN QUAN

w