Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 25 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
25
Dung lượng
471,21 KB
Nội dung
Chương 8: Luồng mạng Nội dung I Bài toán luồng cực đại II Định lý Ford-Fulkerson III Thuật toán tìm luồng cực đại mạng Chương – Luồng mang Lý thuyết đồ thị I Bài toán luồng cực đại Mạng Mạng đồ thị có hướng G= (V, E) ∃! đỉnh s (Điểm phát) mà deg-(s) = ∃! đỉnh t (Điểm thu) mà deg+(t) = ∀ cung e = (v, w) ∈ E gán với số không âm c(e) = c(v, w) ≥ gọi Khả thông qua cung e s : Điểm phát t : Điểm thu Nếu khơng có cung (v, w) c(v, w) = Chương – Luồng mang I Bài toán luồng cực đại Luồng mạng Cho mạng G= (V, E), ta gọi luồng f mạng G ánh xạ f: E Æ R*, với cung e=(v, w) E gán với số không âm f(e) = f(v, w) ≥ gọi luồng cung e, thỏa mãn điều kiện sau: • • Luồng cung e E khơng vượt q khả thơng qua nó: ≤ f(e) ≤ c(e) Với đỉnh v không trùng với đỉnh phát s, đỉnh thu t, tổng luồng cung vào v tổng luồng cung khỏi v Div f (v) = ∑ f (w, v) − ∑ f (v, w) = w∈Γ − ( v ) w∈Γ + ( v ) Với Điều kiện cân luồng Chương – Luồng mang Γ − (v) = {w ∈ V | ( w, v) ∈ E} Γ + (v) = {w ∈ V | (v, w) ∈ E} I Bài toán luồng cực đại Luồng mạng Giá trị luồng f tổng luồng cung khỏi đỉnh phát (bằng tổng luồng cung vào đỉnh thu) val ( f ) = ∑ f ( s, w) = w∈Γ + ( s ) Chương – Luồng mang ∑ f ( w, t ) w∈Γ − ( t ) I Bài toán luồng cực đại Luồng mạng Γ-(v) 3 v Γ+(v) 12 ∑ f ( w , v ) = + + + = 20 − w ∈ Γ (v) ∑ f ( v , w ) = + + 12 = 20 + w ∈ Γ (v) Div f ( v ) = 20 − 20 = Chương – Luồng mang I Bài toán luồng cực đại Luồng mạng Γ-(t) s t Γ+(s) 12 ∑ w ∈ Γ ∑ w ∈ Γ f ( w , t ) = + + + = 20 − (t) f ( s , w ) = + + 12 = 20 + (s) val ( f ) = 20 Chương – Luồng mang I Bài toán luồng cực đại Các số màu xanh: Khả thông qua cung Các số màu đỏ: Luồng cung Giá trị luồng: val(f) = 4, 2, s 3, 9, 1, 8, 5, 3, 10, Chương – Luồng mang t 10, 20, s : Điểm phát t : Điểm thu Nếu khơng có cung (v, w) c(v, w) = I Bài toán luồng cực đại Bài toán luồng cực đại Cho mạng G= (V, E), tìm luồng f mạng cho giá trị luồng lớn Luồng f gọi luồng cực đại Ứng dụng: Bài toán lập đồ giao thơng thành phố Bài tốn đám cưới vùng quê Chương – Luồng mang Nội dung I Bài toán luồng cực đại II Định lý Ford-Fulkerson III Thuật tốn tìm luồng cực đại mạng Chương – Luồng mang 10 Lý thuyết đồ thị II.1 Lát cắt Cho mạng G = (V, E) Lát cắt (X, X*) phân hoạch tập đỉnh V mạng thành hai tập X X* với điểm phát s ∈ X điểm thu t ∈ X* Khả thông qua lát cắt (X, X*) tổng tất khả thông qua cung (v, w) có v ∈ X w ∈ X* Lát cắt với khả thông qua nhỏ gọi lát cắt hẹp Chương – Luồng mang 11 II.1 Lát cắt Lát cắt Khả thông qua lát cắt (X, X*) là: + + 10 = 21 Chương – Luồng mang 12 II.2 Luồng lát cắt Định lý Giá trị luồng f mạng không lớn khả thông qua lát cắt (X, X*) val(f) ≤ c (X, X*) Khả thông qua 21 Giá trị luống f: val(f)=50 thì: Đặt ε(v) = min(ε(u), s(u,v)); Gán nhãn p[v] = [ +u, ε(v)] ; Với v ∈ Ke-(u), Nếu v chưa có nhãn f(u,v)>0 thì: Đặt ε(v) = (ε(u), f(u,v)); Gán nhãn p[v] = [ -u, ε(v)] ; Bước 4: Nếu t có nhãn (v == t) Đến Bước Ngược lại : Nếu Mọi đỉnh có nhãn xét: Đến Bước Ngược lại: đặt u=v, Đến Bước Cuối Cuối Bước 5: Dùng p[t] để tìm đường tăng luồng P cách ngược từ t đến s Đặt f = f + ε(t) ∀ cạnh e ∈ P Đến Bước Bước 6: X = {Các đỉnh có nhãn xét }, X* = V \ X Lát cắt (X,X*) cực tiểu Chương – Luồng mang 24 III Thuật tốn tìm luồng cực đại mạng Ví dụ + Gán nhãn: s [-,∞] + Xét s: cung (s,a) s(s,a) = > 0: ε(a) = min(∞,3) = 3, p[a]= [+s,3] Đỉnh b: Chưa gán nhãn + Xét a: p[c]= [+a,2] + Xét c: cung (b,c) f(b,c) = > 0, ε(c) = min(2,5) = p[b]= [-c,2] + Xét b: p[d]= [+b,2] + Xét d: p[t]= [+d,2] Ta có đường tăng luồng: t→d→b→c→a→s Luồng f’ := f + = + = Chương – Luồng mang 25