Bài giảng Toán rời rạc (Phần II: Lý thuyết đồ thị): Chương 6 - Bài toán luồng cực đại (Maximum flow problem). Những nội dung chủ yếu được trình bày trong chương này gồm có: Bài toán luồng cực đại trong mạng; lát cắt, đường tăng luồng; định lý về luồng cực đại và lát cắt hẹp nhất; thuật toán Ford-Fulkerson; thuật toán Edmond-Karp; các ứng dụng.
Chương Bài toán luồng cực đại Maximum Flow Problem v 4/6 1/1 3/3 s 3/5 3/3 w 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 v 4/6 1/1 3/3 s 3/5 3/3 w 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 32 t 31 11 Toán rời rạc – Fall 2005 42 864 pages! NGUYỄN ĐỨC NGHĨA Bộ môn KHMT 2008/5/2 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 w u t s Toán rời rạc – Fall 2005 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 ) � f (e) e�E ( v ) e�E ( 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 ) (*) � f ( e) � f ( e) e�E ( s ) e�E ( 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 10 Ví dụ Trên Gf(1) khơng tìm đường từ s đến t Thuật tốn kết thúc 10 s 109 109 10 109 t 109 Gf(1) 109 109 s 109 109 t 109 109 G Do Gf(1) ≡ Gf nên Gf khơng tìm đường từ s đến t Vậy luồng có mạng cực đại Toán rời rạc – Fall 2005 NGUYỄN ĐỨC NGHĨA Bộ môn KHMT 69 Chọn đường tăng luồng nào? Cần cẩn thận lựa chọn đường tăng, Một số cách chọn dẫn đến thuật toán hàm mũ Cách chọn khơn khéo dẫn đến thuật tốn đa thức Nếu kntq số vơ tỷ, thuật tốn khơng dừng Mục đích: chọn đường tăng cho: Có thể tìm đường tăng cách hiệu Thuật tốn địi hỏi thực bước lặp tốt Chọn đường tăng với (Edmonds-Karp 1972, Dinitz 1970) khả thông qua lớn (đường béo - fat path) khả thông qua đủ lớn (thang độ hoá kntq – capacity scaling) số cạnh đường (đường ngắn - shortest path) Toán rời rạc – Fall 2005 NGUYỄN ĐỨC NGHĨA Bộ môn KHMT 70 Edmonds – Karp Algorithm Edmonds and Karp, JACM 1972 Nếu đường tăng chọn đường ngắn từ s đến t, thời gian tính thuật tốn O(|E|2 |V|) Tốn rời rạc – Fall 2005 NGUYỄN ĐỨC NGHĨA Bộ môn KHMT 2008/5/2 Jack Edmonds Jack Edmonds is a Canadian mathematician, regarded as one of the most important contributors to the field of combinatorial optimization He was the recipient of the 1985 John von Neumann Theory Prize From 1969 on, with the exception of 1991-1993, he held a faculty position at the Department of Combinatorics and Optimization at the University of Waterloo's Faculty of Mathematics Edmonds retired in 1999 Toán rời rạc – Fall 2005 NGUYỄN ĐỨC NGHĨA Bộ môn KHMT 2008/5/2 Richard Karp, 1935~ “Reducibility Among Combinatorial Problems”, 1972 Turing Award in 1985 Harvard University,Bachelor's degree in 1955, Master's degree in 1956, and Ph.D in applied mathematics in 1959 IBM's Thomas J Watson Research Center Professor, UC Berkeley, 1968 Apart from a 4-year period as a professor at the University of Washington, he has remained at Berkeley Toán rời rạc – Fall 2005 NGUYỄN ĐỨC NGHĨA Bộ mơn KHMT 2008/5/2 Thuật tốn đường tăng ngắn Ý tưởng: Tìm đường tăng luồng nhờ thực BFS Dễ thực Đường tăng có cạnh ShortestAugmentingPath(V, E, s, t) FOREACH e E f(e) Gf đồ thị tăng luồng (residual graph) WHILE (tồn đường tăng) tìm đường tăng P BFS f augment(f, P) hiệu chỉnh Gf RETURN f Toán rời rạc – Fall 2005 NGUYỄN ĐỨC NGHĨA Bộ môn KHMT 74 Đường tăng ngắn nhất: Các kết Bổ đề Trong suốt thuật toán, độ dài đường tăng ngắn không bị giảm CM sau Bổ đề Sau nhiều m đường tăng ngắn nhất, độ dài đường tăng ngắn tăng ngặt CM sau Định lý Thuật toán đường tăng luồng ngắn địi hỏi thời gian tính O(m2n) CM O(m+n) thời gian để tìm đường ngắn nhờ sử dụng BFS O(m) lần tăng đường có k cung Nếu có đường tăng ln tìm đường tăng đơn 1 k