Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 54 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
54
Dung lượng
1,86 MB
Nội dung
Chương Bài toán luồng cực đại Maximum Flow Problem c v 4/6 3/3 1/1 3/3 s w 3/5 1/1 u 2/2 t 4/7 1/9 3/5 z BM Khoa học Máy tính • TỐN RỜI RẠC • Fall 2005 • Nguyễn Đức Nghĩa Bài toán luồng cực đại Maximum Flow Problem c v 4/6 3/3 1/1 3/3 s w 3/5 1/1 u 2/2 t 4/7 1/9 3/5 z BM Khoa học Máy tính • TỐN RỜI RẠC • Fall 2005 • Nguyễn Đức Nghĩa NỘI DUNG Bài toán luồng cực đại mạng Lát cắt, Đường tăng luồng Định lý luồng cực đại lát cắt hẹp Thuật toán Ford-Fulkerson Thuật toán Edmond-Karp Các ứng dụng Toán rời rạc – Fall 2005 NGUYỄN ĐỨC NGHĨA Bộ môn KHMT L R Ford; D R Fulkerson (1962) Flows in Networks Princeton, NJ: Princeton University Press Toán rời rạc – Fall 2005 NGUYỄN ĐỨC NGHĨA Bộ môn KHMT Lester Randolph Ford, Jr (1927 ~) Lester Randolph Ford, Jr (born September 23, 1927), son of Lester R Ford, Sr., is an American mathematician specializing in network flow programming His 1956 paper with D R Fulkerson on the maximum flow problem established the maxflow-mincut theorem Toán rời rạc – Fall 2005 NGUYỄN ĐỨC NGHĨA Bộ môn KHMT Delbert Ray Fulkerson (August 14, 1924 - January 10, 1976) Delbert Ray Fulkerson was a mathematician who codeveloped the Ford-Fulkerson algorithm, one of the most used algorithms to compute maximal flows in networks Ph.D, Univ of Wisconsin-Madison, 1951 In 1956, he published his famous paper on the FordFulkerson algorithm together with Lester Randolph Ford In 1979, the renowned Fulkerson Prize was established which is now awarded every three years for outstanding papers in discrete mathematics jointly by the Mathematical Programming Society and the American Mathematical Society Toán rời rạc – Fall 2005 NGUYỄN ĐỨC NGHĨA Bộ môn KHMT Network Flows Ravindra K Ahuja, Thomas Magnanti and James Orlin Network Flows Prentice Hall, 1993 11 21 s 42 t 32 31 864 pages! 11 Toán rời rạc – Fall 2005 NGUYỄN ĐỨC NGHĨA Bộ môn KHMT Mạng luồng mạng Toán rời rạc – Fall 2005 NGUYỄN ĐỨC NGHĨA Bộ môn KHMT MẠNG (Network) Mạng đồ thị có hướng G = (V,E) : Có đỉnh s khơng có cung vào gọi đỉnh phát (nguồn) đỉnh t khơng có cung gọi đỉnh thu (đích) Mỗi cung e G gắn với số không âm c(e) gọi khả thơng qua e Ví dụ: v s w u Toán rời rạc – Fall 2005 t z NGUYỄN ĐỨC NGHĨA Bộ môn KHMT LUỒNG TRONG MẠNG Định nghĩa Luồng f mạng G=(V,E) phép gán số f(e) cho cạnh e ( f(e) gọi luồng cạnh e) thoả mãn điều kiện: 1) Hạn chế khả thông qua (Capacity Rule): Với cung e, f (e) c(e) 2) Điều kiện cân luồng (Conservation Rule): Với v s, t f ( e) eE - ( v ) f ( e) eE + ( v ) E-(v) E+(v) tương ứng tập cung vào khỏi đỉnh v Định nghĩa Giá trị luồng f (*) val ( f ) eE + ( s ) f (e ) f (e ) eE - ( t ) (Đẳng thức (*) thu cách cộng tất điều kiện cân luồng.) Toán rời rạc – Fall 2005 NGUYỄN ĐỨC NGHĨA Bộ môn KHMT Đường tăng luồng Đường tăng luồng = đường từ s đến t đồ thị tăng luồng Luồng cực đại khơng tìm đường tăng luồng??? 4 G s 10 10 4 4 4 13 10 10 t Giá trị luồng = 14 4 Gf 4 s 10 10 t Toán rời rạc – Fall 2005 NGUYỄN ĐỨC NGHĨA Bộ môn KHMT 40 Định lý luồng cực đại lát cắt nhỏ Định lý đường tăng luồng (Ford-Fulkerson, 1956): Luồng cực đại khơng tìm đường tăng luồng Định lý luồng cực đại lát cắt nhỏ (Ford-Fulkerson, 1956): Giá trị luồng cực đại khả thông qua lát cắt nhỏ Ta chứng minh định lý tổng hợp sau: Định lý Giả sử f luồng mạng Ba mệnh đề sau tương đương (i) Tìm lát cắt (S, T) cho val(f) = cap(S, T) (ii) f luồng cực đại (iii) Khơng tìm đường tăng luồng f Toán rời rạc – Fall 2005 NGUYỄN ĐỨC NGHĨA Bộ mơn KHMT 41 Thuật tốn Ford-Fulkerson: Để tìm luồng cực đại mạng vận tải G, ta xuất phát từ luồng tuỳ ý ϕ G, nâng luồng lên đầy, sau áp dụng thuật tốn Ford-Fulkerson Thuật toán gồm bước: Bước (đánh dấu đỉnh mạng):Lối vào v0 đánh dấu Nếu đỉnh vi đánh dấu ta dùng số +i để đánh dấu cho đỉnh y chưa đánh dấu mà (vi,y)∈E cung chưa bão hoà (ϕ(vi,y)0) Toán rời rạc – Fall 2005 NGUYỄN ĐỨC NGHĨA Bộ môn KHMT 42 Thuật toán Ford-Fulkerson: Nếu với phương pháp ta đánh dấu tới lối G tồn v0 xích α, đỉnh khác đánh dấu theo số đỉnh liền trước (chỉ sai khác dấu) Khi chắn ta nâng giá trị luồng Toán rời rạc – Fall 2005 NGUYỄN ĐỨC NGHĨA Bộ mơn KHMT 43 Thuật tốn Ford-Fulkerson: Bước (nâng giá trịcủa luồng): Đểnâng giá trịcủa luồng ϕ, ta đặt: ϕ’(e) = ϕ(e), e∉α ϕ’(e) = ϕ(e)+1, e∈α định hướng theo chiều xích α từ vo đến ϕ’(e) = ϕ(e)−1, e∈α định hướng ngược với chiều xích α từ vo đến ϕ’ thoả mãn điều kiện luồng, nên ϕ’ luồng ta có: ϕ’n= ϕn+1 Như vậy, ta nâng luồng lên đơn vị Sau lặp lại vịng Vì khả thông qua cung hữu hạn, nên trình phải dừng lại sau số hữu hạn bước Toán rời rạc – Fall 2005 NGUYỄN ĐỨC NGHĨA Bộ mơn KHMT 44 Thuật tốn Ford-Fulkerson: Bước 3: Nếu với luồng ϕ0 phương pháp ta nâng giá trị luồng lên nữa, nghĩa ta khơng thể đánh dấu đỉnh vn, ta nói trình nâng luồng kết thúc ϕ0 đạt giá trịcực đại, đồng thời gọi ϕ0 luồng kết thúc Toán rời rạc – Fall 2005 NGUYỄN ĐỨC NGHĨA Bộ mơn KHMT 45 Thuật tốn Ford – Fulkerson Tăng luồng f dọc theo đường tăng P Augment(f,P) b cf(P) FOR e P DO IF (e E) THEN // cạnh thuận f(e) f(e) + b ELSE // cạnh nghịch f(eR) f(e) – b RETURN f Thuật tốn Ford-Fulkerson Ví dụ Ford_Fulkerson(G,c,s,t); FOR e E DO // Khởi tạo luồng f(e) Gf đồ thị tăng luồng f WHILE (tìm đường tăng luồng P) DO f augment(f, P) Sửa lại Gf RETURN f Toán rời rạc – Fall 2005 NGUYỄN ĐỨC NGHĨA Bộ mơn KHMT 46 Ví dụ: Cho mạng vận tải hình với khả thơng qua đặt khun trịn, luồng ghi cung Tìm luồng cực đại mạng Toán rời rạc – Fall 2005 NGUYỄN ĐỨC NGHĨA Bộ môn KHMT 47 Giải: Mạng vận tải G có đỉnh phát V0 đỉnh thu V8 Luồng ϕ có đường (v0,v4), (v4,v6), (v6,v8) gồm cung chưa bão hồ nên chưa đầy Do nâng luồng cung lên đơn vị, để ϕ1 +0 V4 6+1 2+1 +4 V6 11+1 +6 V0 Toán rời rạc – Fall 2005 V8 NGUYỄN ĐỨC NGHĨA Bộ môn KHMT 48 Giải: Toán rời rạc – Fall 2005 NGUYỄN ĐỨC NGHĨA Bộ mơn KHMT 49 Giải: Tốn rời rạc – Fall 2005 NGUYỄN ĐỨC NGHĨA Bộ môn KHMT 50 Giải: Toán rời rạc – Fall 2005 NGUYỄN ĐỨC NGHĨA Bộ mơn KHMT 51 Giải: Tốn rời rạc – Fall 2005 NGUYỄN ĐỨC NGHĨA Bộ môn KHMT 52 Toán rời rạc – Fall 2005 NGUYỄN ĐỨC NGHĨA Bộ mơn KHMT 53 Bài tập Giải tốn mạng vận tải sau thuật toán FordFulkerson với luồng vận tải khởi đầu Toán rời rạc – Fall 2005 NGUYỄN ĐỨC NGHĨA Bộ môn KHMT 54