Luồng cực đại là một trong những bài toán tối ưu trên đồ thị tìm được những ứng dụng rất rộng rãi trong cả thực tế cũng như trong lý thuyết tổ hợp. Bài toán được đề xuất vào đầu những năm 1950 và gắn liền với tên tuổi của 2 nhà toán học Mỹ Lester Randolph Ford và Delbert Ray Fulkerson
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 co-developed 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 ) = e∈E − ( v ) ∑ f ( e) 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 ) = ∑ e∈E + ( s ) (*) f ( e) = ∑ f ( e) 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 G (1) khơng tìm đường từ s đến t Thuật toán kết thúc f 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 Tố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|) Toá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 tốn đường tăng luồng ngắn địi hỏi thời gian tính O(m 2n) ■ ■ ■ ■ ■ 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