Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 28 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
28
Dung lượng
451 KB
Nội dung
LUỒNG CỰC ĐẠI NỘI DUNG • Mạng vận tải • Luồng qua mạng • Bài toán luồng cực đại • Thuật toán Ford - Fulkerson • Một số ứng dụng của bài toán luồng cực đại MẠNG VẬN TẢI • Định nghĩa 25.1: Mạng vận tải là một đồ thị có hướng G = (V, E) không có đỉnh nút, trong đó: - Có duy nhất một đỉnh s không có cung đi vào, gọi là đỉnh phát. - Có duy nhất một đỉnh t không có cạnh đi ra, gọi là đỉnh thu. - Mỗi cung (u,v) được gán một số nguyên không âm c(u,v) gọi là khả năng thông qua của cung. MẠNG VẬN TẢI Ví dụ: S A B C D E F T 2 2 8 4 1 3 9 10 4 2 9 6 10 4 Đỉnh phát Đỉnh trung gian Đỉnh thu LUỒNG QUA MẠNG Cho mạng G = (V,E). Một ánh xạ f: E → N (u,v) |→ f(u,v) Được gọi là một luồng trên mạng nếu f thoả mãn các tính chất sau: - Luồng trên mỗi cung không vượt quá khả năng thông qua của cung đó. 0 ≤ f(u,v) ≤ c(u,v) , ∀(u,v) ∈E - Điều kiện cân bằng luồng: Tổng giá trị luồng đi vào một đỉnh trung gian bằng tổng giá trị luồng đi ra của đỉnh đó. },{\,),(),( )()( tsVvwvfvuf vwvu ∈∀= ∑∑ +− Γ∈Γ∈ GIÁ TRỊ CỦA LUỒNG Giá trị của luồng trong mạng G: ∑∑ −+ Γ∈Γ∈ == )()( ),(),(|:| tusw tufwsff BÀI TOÁN LUỒNG CỰC ĐẠI Cho một mạng luồng G đỉnh phát s và đỉnh thu t • Tìm một luồng với giá trị cực đại từ s đến t. • Làm cách nào để giải quyết hiệu quả nhất? Bài toán: FORD-FULKERSON • FORD-FULKERSON-METHOD(G,s,t) • Thiết lập luồng f = 0 • while còn tồn tại đường tăng luồng p • do tăng luồng f dọc theo p • f là luồng cực đại The Ford-Fulkerson method: • Phương pháp Ford Fulkerson dựa trên 3 khái niệm cơ bản sau: – Mạng còn dư – Đường tăng luồng – Lát cắt. ĐỒ THỊ DƯ THỪA, ĐƯỜNG TĂNG LUỒNG, LÁT CẮT • Cho một mạng và một luồng , mạng còn dư bao gồm những cạnh có thể tăng luồng. • G=(V,E) một mạng luồng với đỉnh phát s và đỉnh thu t • f: một luồng trong mạng G. • Một lượng luồng mạng có thể thêm vào từ u đến v trước khi vượt quá c(u,v) là khả năng còn dư của (u,v), được xác định bởi: c f (u,v)=c(u,v)-f(u,v) • Trong hướng ngược lại: c f (v, u) = c(v, u)+f(u, v). [...]... là một mạng luồng với đỉnh phát s và đỉnh thu t, f là một luồng trong G • Gọi Gf là mạng còn dư của G tạo bởi luồng f, và gọi f’ là một luồng trong Gg Thì, luồng có tổng f + f’ là một luồng trong G với giá trị • f+f’: luồng cùng hướng được thêm vào luồng ngược hướng sẽ bỏ quả f + f' = f + f' ĐỒ THỊ DƯ THỪA, ĐƯỜNG TĂNG LUỒNG, LÁT CẮT • Cho mạng luồng G=(V,E) và một luồng f, một đường tăng luồng p là... c bằng 1 MỘT SỐ ỨNG DỤNG CỦA LUỒNG CỰC ĐẠI Chàng trai T1 4 1 1 1 0 1 1 1 5 1 2 1 1 3 6 1 7 Khi nào bài toán có lời giải? G1, G4 T3 G4, G3 1 1 1 1 G1, G2 T2 Ví dụ: Cô gái 8 MỘT SỐ ỨNG DỤNG CỦA LUỒNG CỰC ĐẠI Bài toán đám cưới vùng quê: Ta thấy luồng trên các cung có giá trị là 0 hoặc 1 Nếu giá trị luồng cực đại f* = m thì bài toán có lời giải Các cung (i, m+j) có giá trị luồng bằng 1 cho biết chàng trai... ỨNG DỤNG CỦA LUỒNG CỰC ĐẠI Ví dụ: 1 1 0 1 4 1 1 1 5 1 2 1 1 3 6 1 1 1 1 1 7 8 MỘT SỐ ỨNG DỤNG CỦA LUỒNG CỰC ĐẠI Ví dụ: 1 1 0 1 4 1 1 1 5 1 2 1 1 3 6 1 1 1 1 1 7 8 MỘT SỐ ỨNG DỤNG CỦA LUỒNG CỰC ĐẠI Ví dụ: 1 1 0 4 1 1 1 5 1 1 2 1 1 3 6 1 1 1 1 1 7 8 MỘT SỐ ỨNG DỤNG CỦA LUỒNG CỰC ĐẠI Ví dụ: 1 1 0 4 1 1 1 5 1 1 2 1 1 3 6 1 1 1 8 1 1 7 f* = m – Bài toán có lời giải Các cung (i, m+j) có giá trị luồng bằng... 4 7 10 Luồng cực đại: 11 2 9 2 4 2 2 F C 2 E 3 2 4 6 3 1 2 B 3 7 D 4 F 9 T 9 2 2 7 T 6 A S 7 10 E MỘT SỐ ỨNG DỤNG CỦA LuỒNG CỰC ĐẠI Bài toán đám cưới vùng quê: Ở một làng quê nọ có m chàng trai và n cô gái Mỗi chàng trai đều vừa ý với một số những cô gái nhất định Hỏi có thể tổ chức các đám cưới mà trong đó chàng trai nào cũng lấy được cô gái mình vừa ý không? MỘT SỐ ỨNG DỤNG CỦA LUỒNG CỰC ĐẠI Ví dụ:... DỤNG CỦA LUỒNG CỰC ĐẠI Ví dụ: Chàng trai Cô gái vừa ý T1 G1, G2 T2 G1, G4 T3 G4, G3 MỘT SỐ ỨNG DỤNG CỦA LUỒNG CỰC ĐẠI Bài toán đám cưới vùng quê: Ta xây dựng mạng G=(V,E) -Tập đỉnh V bao gồm đỉnh phát s=0, đỉnh thu t=m+n+1 Các đỉnh từ I (i=1 m) đại diện cho các chàng trai Các đỉnh từ m+j (j = 1 n) đại diện cho các cô gái -Tập cung E bao gồm các cung + (0,i): i = 1 m + (m+j, m+n+1), j= 1 n + (i, m +... mạng luồng G=(V,E) và một luồng f, một đường tăng luồng p là đường đi từ s đến t trong Gf • Khả năng còn dư của p : một lượng lớn nhất của luồng mạng dọc các cạnh theo đường tăng luồng p, cf(p)=min{cf(u,v):(u,v) trên p} S 200 A 400 B Khả năng còn dư là 200 300 T THUẬT TOÁN FORD-FULKERSON • FORD-FULKERSON(G,s,t) • for each edge (u,v) ∈ E[G] • do f[u,v] ← 0 • f[v,u] ← 0 • while there exists a path p from . LUỒNG CỰC ĐẠI NỘI DUNG • Mạng vận tải • Luồng qua mạng • Bài toán luồng cực đại • Thuật toán Ford - Fulkerson • Một số ứng dụng của bài toán luồng cực đại MẠNG VẬN TẢI • . G: ∑∑ −+ Γ∈Γ∈ == )()( ),(),(|:| tusw tufwsff BÀI TOÁN LUỒNG CỰC ĐẠI Cho một mạng luồng G đỉnh phát s và đỉnh thu t • Tìm một luồng với giá trị cực đại từ s đến t. • Làm cách nào để giải quyết hiệu quả nhất? Bài toán: FORD-FULKERSON • FORD-FULKERSON-METHOD(G,s,t) • Thiết. mạng luồng với đỉnh phát s và đỉnh thu t, f là một luồng trong G. • Gọi G f là mạng còn dư của G tạo bởi luồng f, và gọi f’ là một luồng trong G g . Thì, luồng có tổng f + f’ là một luồng