Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 39 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
39
Dung lượng
801,19 KB
Nội dung
BÀI TOÁN LUỒNG CỰC ĐẠI TRÊN MẠNG Giáo viên: TS Nguyễn Văn Hiệu Email: nvhieuqt@dut.udn.vn Nguyễn Văn Hiệu, 2012, Discrete Mathematics Nội dung • • • • Các khái niệm Bài toán luồng cực đại Thuật toán Ford –Fulkerson Minh họa ví dụ Nguyễn Văn Hiệu, 2012, Discrete Mathematics Các khái niệm Mạng Mạng đồ thị có hướng, có số G = (V, E): Ví dụ Đồ thị có đỉnh phát s đỉnh thu t ∃ ! đỉnh s: deg-(s) = 0, s - đỉnh phát ∃ ! đỉnh t: deg+(t) = 0, t - đỉnh thu ∀ (i,j) ∈ E: cij >0, cij - khả thông qua cung (i,j) Đồ thị liên thông yếu 6 s t Khả thông qua: c s3 =5 ,… Các khái niệm Luồng Ví dụ Cho mạng G khả thông qua cij ∀ 𝑖, 𝑗 ∈ 𝐸, 𝑠 đỉ𝑛ℎ 𝑝ℎá𝑡, 𝑡 đỉ𝑛ℎ 𝑡ℎ𝑢 Luồng vận tải mạng G hàm f: E R+ : Tập luồng f ij miêu tả ngoặc màu xanh f ij ≥0, ∀ (𝑖, 𝑗) ∈ 𝐸 f ij :- luồng cung (i,j) f ij c ij , ∀ 𝑖, 𝑗 ∈ 𝐸 ∀𝑣 ∶ v ≠ s, v ≠ t: 𝑖,𝑣 ∈𝐸 f iv = 𝑣,𝑗 ∈𝐸 f vj (1) (3) (3) (4) t s (2) (4) (1) (3) Các khái niệm Định lý Giá trị luồng Cho {f ij } tập luồng mạng G s đỉnh phát t đỉnh thu: Cho luồng f G giá trị luồng định nghĩa đại lượng: 𝒔𝒊 ∈𝑬 f si = 𝒊,𝒕 ∈𝑬 Nếu (i,j) ∉ 𝐸, 𝑡ℎì f ij = f ij = 𝑗∈𝑉 𝑖∈𝑉 f it Val (f) = = 𝒔𝒊 ∈𝑬 𝒊,𝒕 ∈𝑬 f si f it f ji 𝑗∈𝑉 𝑖∈𝑉 Các khái niệm • Xác định giá trị luồng f 6(5) • 6(6) 5(5) Val(f) = ? 3(1) 3(0) s t 6(1) 5(2) 1(1) Bài toán luồng cực đại Bài toán Cho mạng G với đỉnh phát s, đỉnh thu t, khả thông qua cij ,∀ 𝑖, 𝑗 ∈ 𝐸 Trong số luồng mạng G tìm luồng có giá trị lớn Ứng dụng Xác định cường độ lớn dòng vận tải hai nút đồ giao thông Bài tốn luồng cực đại đoạn đường đơng xe Hệ thống đường ống dẫn dầu: ống – cung, s - tàu chở dầu, t bể chứa, điểm nối ống đỉnh đồ thị cij - diện tích ống Cần phải tìm luồng lớn để bơm từ tàu chở dầu vào bể chứa Bài toán luồng cực đại Bài toán Cho mạng G với đỉnh phát s, đỉnh thu t, khả thông qua cij ,∀ 𝑖, 𝑗 ∈ 𝐸 Trong số luồng mạng G tìm luồng có giá trị lớn Ý tưởng Xuất phát từ luồng đó, ta tìm đường (khơng định hướng) từ s đến t, Tiến hành hiệu chỉnh giá trị luồng đường cho luồng có gia trị lớn hớn Nếu khơng tìm luồng cực đại Bài tốn luồng cực đại Bài toán Cho mạng G với đỉnh phát s, đỉnh thu t, khả thông qua cij ,∀ 𝑖, 𝑗 ∈ 𝐸 Trong số luồng mạng G tìm luồng có giá trị lớn Ý tưởng Giả sử P = (s, a, ….,i, j , ….,z, t) 𝑖, 𝑗 ∈ 𝐸 (𝑗, 𝑖) ∈ 𝐸 Nếu (i,j) cung P cung hướng với P Ký hiệu P+ tập cung hướng với P Nếu (j,i) cung P, cung ngược hướng với P P- tập cung ngược hướng với P (i,j) = Bài toán luồng cực đại Cơ sở lý luận Cho f luồng mạng G Giả sử đường không định hướng từ s đến t: P = (s =a,b, ,i,j, ,z = t) ∀ 𝑖, 𝑗 ∈ P+ : f ij < cij ∀ 𝑖, 𝑗 ∈ P- : < f ij Đặt 𝛿:= {x | x ∈ M } M tập giá trị cij - f ij với 𝑖, 𝑗 ∈ P+ giá trị f ij vớ𝑖 𝑖, 𝑗 ∈ P- Cơ sở lý luận Xây dựng luồng f* sau: f ij ∀ 𝑖, 𝑗 ∉ 𝑃 f* = f ij + 𝛿∀ 𝑖, 𝑗 ∈ P+ f ij − 𝛿∀ 𝑖, 𝑗 ∈ P− Giá trị luồng f* lớn luồng f đơn vi 𝛿 > Val(f*) = val(f) + 𝜹 10 Vi dụ Bước (kiểm tra nhãn đỉnh thu ) ( s, 𝟑) t chưa có nhãn ->bước a (0) ( a, 𝟐) b (0) (0) ( , ∞) s 2(0) t (0) ( s, 𝟓) 4(0) c (0) d ...Nội dung • • • • Các khái niệm Bài toán luồng cực đại Thuật toán Ford –Fulkerson Minh họa ví dụ Nguyễn Văn Hiệu, 2012, Discrete Mathematics Các khái niệm Mạng Mạng... W chưa gán nhãn 14 Thuật toán Ford-Fullkerson Thuật toán Bước ( hiệu chỉnh luồng ) Giả sử (