... 5,0 b(a+,2) 4, 0 4, 0 7,0 12,0 b 5,0 4, 0 t(e+,2) e(d+ ,4) 7 ,4 6 ,4 s (s,∞) 4, 0 4, 0 4, 0 7,0 12,0 e 7,0 6,0 s t 3,0 + Bước lặp 1: s → a → b → t, δ1 = d 7,0 4, 0 4, 0 4, 0 s s (s,∞) b 7,0 4, 4 c(b+,2) 5,0 ... cựcđại mạng Cho mạng G=(V,E) Hãy tìm luồng f* mạng với giá trị luồng val(f *) lớn Luồng ta gọi luồngcựcđại mạng 4. 1 Thuật toán Ford – Fulkerson tìm luồngcựcđại mạng Bắt đầu từ mạng với luồng ... e(c+,1) 7,6 6,6 s 4, 4 t 3,3 9,0 d 12,3 e + Bước lặp 4: s → d → e → t, 4 = a(s+,0) 6,6 s (s,∞) 5,0 4, 2 4, 1 3,3 9,0 d(s+,7) a 4, 2 4, 4 c 5,0 7,7 12,3 b 5,0 4, 1 t(e+,7) e(d+,7) 7,6 6,6 4, 4 c(s+,3) 5,0...
... 5,0 b(a+,2) 4, 0 4, 0 7,0 12,0 b 5,0 4, 0 t(e+,2) e(d+ ,4) 7 ,4 6 ,4 s (s,∞) 4, 0 4, 0 4, 0 7,0 12,0 e 7,0 6,0 s t 3,0 + Bước lặp 1: s → a → b → t, δ1 = d 7,0 4, 0 4, 0 4, 0 s s (s,∞) b 7,0 4, 4 c(b+,2) 5,0 ... cựcđại mạng Cho mạng G=(V,E) Hãy tìm luồng f* mạng với giá trị luồng val(f *) lớn Luồng ta gọi luồngcựcđại mạng 4. 1 Thuật toán Ford – Fulkerson tìm luồngcựcđại mạng Bắt đầu từ mạng với luồng ... e(c+,1) 7,6 6,6 s 4, 4 t 3,3 9,0 d 12,3 e + Bước lặp 4: s → d → e → t, 4 = a(s+,0) 6,6 s (s,∞) 5,0 4, 2 4, 1 3,3 9,0 d(s+,7) a 4, 2 4, 4 c 5,0 7,7 12,3 b 5,0 4, 1 t(e+,7) e(d+,7) 7,6 6,6 4, 4 c(s+,3) 5,0...
... theo thứ tự từ cao xuống thấp giá trị trọng số Sau lần thêm, ta lại tìm cặp ghép cựcđại đồ thị tìm giá trị cựcđại m dừng Bạn tham khảo chương trình sau: uses crt; const fi = 'input.txt'; fo ... a,b,c,dt:array[1 200] of byte; s:string; n:byte; f:text; time:longint; tich:longint absolute 0: $46 c; procedure input; var i,j:byte; begin assign(f,fi); reset(f); readln(f,n); fillchar(m,sizeof(m),0); ... 150] of byte; a,b,c,dtr:array[1 150] of byte; n:byte; dem:word; f:text; time:longint absolute 0: $46 c; tich:longint; procedure input; var i,j:Byte; begin assign(f,fi); reset(f); readln(f,n); for...
... toán(1)-(2) luồngcựcđại G(k*) có giá trị Δ Chứng minh: Do giá trị luồngcựcđại mạng G(k*)không vượt qu Δ, nên để chứng minh bổ đề ta cần luồngvới giá trị Δ mạng G(k*) Ta xây dựng luồng Φ sau: ... toán luồngcựcđại mạng Trước hết với k nguyêndương ta xây dựng mạng G(k) = (V,E) với e thuộc E:khả thông qua c(e) c(s,ui) = pi c(ui,vj) = aij c(vj,t) = k Bổđề 2: Giả sử vớik luồngcựcđại mạng ... Φ sau: Dễ dàng chứng minh Φ luồng mạng G(m) có giá trị Δ.(đpcm) Bổđề 4: Nếu k=m th luồngcựcđại mạng G(m) có giá trị Δ Chứng minh: Lập luận tương tự bổ đề ta cần luồng với giátrị Δ mạng G(m)...
... f luồngcựcđại mạng 2) không tìm đường tăng luồng f 3) val(f′) = c(X,X*) với lát cắt (X,X*) 2.Thuật toán tìm luồngcựcđại mạng Định lý sở để xây dựng thuật toán lặp sau để tìm luồngcựcđại ... tìm luồngcựcđại Dữ liệu cho file Luong.out có dạng sau: Phần ma trận kích thước n x n thể luồngcựcđại tìm (phần tử (i,j) ma trận luồng cung (i,j)) Dòng số nguyên cho biết giá trị luồngcựcđại ... nguyên, giá trị luồng tăng lên sau lần tăng luồng Từ suy thuật toán luông dừng sau không val(f*) lần tăng luồng cho ta luồngcựcđại mạng Ta có kết sau: Định lý (Định lý luồngcựcđại mạng lát cắt...
... tìm luồngcựcđại Thuật toán sau: Thuật toán Phương pháp xây dựng cặp ghép cựcđại đồ thị sau: Khởi tạo luồng Tìm cho đường tăng luồng Nếu có tăng Nếu không tìm đường tăng luồng ta luồngcựcđại ... Như lần tìm đường tăng luồng tổng luồng toàn đồ thị tăng thêm lượng d Khi không tìm đường tăng luồng ta có luồngcựcđại Sau chương trình cài đặt thuật toán tìm luồngcựcđại đồ thị hai phía Các ... hơn) giải cặp ghép không tốt giải 'luồng' Sau trình bày thuật toán luồng đồ thị hai phía II Luồngcựcđại đồ thị hai phía Các định nghĩa Đồ thị hai phía G toán luồng có cấu trúc toán cặp ghép,...
... đối hoàn chỉnh “bài toán luồngcựcđại mạng với khả thông qua cung đỉnh”, toán luồngcựcđại mạng với khả thông qua cung thuật toán xây dựng dựa thuật toán tìm luồngcực giải toán tối ưu rời ... định mạng G’ 20 Tìm luồngcựcđại mạng G’ Bắt đầu từ luồng zero với khả thông qua cung Hai bước ta biểu diễn dạng sơ đồ thuật toán sau: SƠ ĐỒ THUẬT TOÁN TỔNG QUÁT TÌM LUỒNGCỰCĐẠI TRONG MẠNG VỚI ... trận A’ biểu diễn mạng G’ = (V’,E’) với khả thông qua cung tương ứng * Ma trận luồngcựcđại mạng * Giá trị luồngcựcđại Val(f*) Mạng tương ứng với G = (V,E), |V | = n mạng G’ = (V’,E’), |V’|...
... lát cắt cực tiểu, suy f luồngcựcđại TH2: Thuật toán kết thúc xuất phát từ P2 gặp điều kiện T = Φ Kí hiệu Y tập tất đỉnh mang nhãn lùi, đógetData(V\Y,Y) lát cắt cực tiểu, suy f luồngcựcđại lát ... C2 sinh nhan l F T Step =4 T Step ed =4 Stop=True F F Waiting If(c1ed =4| c2ed =4) then c1ed =4, c2ed =4, Step =4; Thong bao dung C1, C2 Inc_flow Del_label Step =3 F T Step =4 Stop=True F Waiting [1] ... nguồn đích tìm luồngcựcđại (1), Tạp chí Khoa học & Công nghệ, Đại học Đà Nẵng, 1(13)/2006, 53-58 [2] Trần Quốc Chiến (2006), Thuật toán hoán chuyển nguồn đích tìm luồngcựcđại (2), Tạp chí...
... khớp cựcđại đồ thị hai nhánh G giá trị luồngcựcđại mạng luồng tương ứng G’ Chứng minh Ta dùng danh pháp Bổ đề 26.10 Giả sử M so khớp cựcđại G luồng tương ứng f G’ không cựcđại Thì có luồngcực ... nhóm Luồngcựcđại = - + f(s,L) - = f(s, V’) = f Theo trực giác, so khớp cựcđại đồ thị hai nhánh G tương ứng với luồngcựcđại mạng luồng tương ứng G’ Như vậy, ta tính toán so khớp cựcđại ... phaanf cắt cực tiểu G 26 .4- 4 Nhóm - Lớp KHMT B 2010-2012 48 Bài dịch nhóm Luồngcựcđại Nêu thuật toán đẩy luồng trước hiệu để tìm so khớp cựcđại đồ thị hai nhánh Phân tích thuật toán bạn 26 .4- 5 Giả...
... d(s+,7) a 4, 2 9,0 5,0 4, 2 4, 4 c(s+ ,4) 5,0 7,0 12,2 e b(a+,1) 7,6 4, 0 s (s,∞) t 3,2 d a(s+,0) 6,6 4, 4 c 5,0 7,0 12,0 b 5,0 4, 0 t(e+,2) e(c+,2) 7,6 6,6 4, 4 c(b+,2) 5,0 7,0 s b(a+,2) 7 ,4 3,2 9,0 ... tìm luồngcựcđại cách gán nhãn cho luồng zero sau: a b 7,0 6,0 5,0 4, 0 4, 0 s c 5,0 7,0 + Bước lặp 1: s → a → b → t, δ1 = 9,0 a(s+,6) 5,0 3,0 9,0 a 4, 0 4, 4 c 5,0 d 12,0 b 5,0 4, 0 t(e+,2) e(d+ ,4) ... 5,0 4, 2 4, 1 s b 7,6 c 5,0 7,0 4, 4 t 3,3 9,0 d 12,3 e + Bước lặp 4: s → d → e → t, 4 = a(s+,0) 6,6 5,0 4, 2 4, 1 s (s,∞) 7,0 6,6 5,0 a d(s+,7) 3,3 d b e(d+,7) 7,6 9,0 5,0 4, 2 t(e+,7) 12,3 4, 4 c...
... fiz 1 .4 Định nghĩa 3: Giá trị luồng Cho luồng f mạng G Giá trị luồng f định nghĩa đạilượng V( f) = ∑ ( a ,i ) ∈G f = ∑ ( i , z ) ∈G f iz 2.Bài toán luồngcực đại: * Phát biểu toán luồngcựcđại ... toán lặp sau để tìm luồngcựcđại mạng: Bắt đầu từ luồng với luồng tất cung (ta gọi luồngluồng không), lặp lại bước lặp sau thu luồng mà không luồng tăng: (i) Xuất phát từ luồng ban đầu f:=0 ... toán tìm luồngcựcđại sau: Cho mạng G với nguồn a, đích z khả thông qua cij, (i,j)∈G Trong số luồng mạng G, tìm luồng có giá trị lớn Ý tưởng xây dựng luồngcựcđại sau: xuất phát từ luồng đó,...
... đường tăng luồng, trường hợp thứ hai luồng xét không tồn đường tăng luồng (tức luồngcực đại) Mỗi tìm đường tăng luồng, ta lại tăng luồng theo đường tìm được, sau xoá tất nhãn đổi với luồng thu ... nhãn chi tiết sau để giải toán luồngcựcđại mạng Thuật toán luồng chấp nhận mạng (có thể luồng không) , sau ta tăng luồng cách tìm đường tăng luồng Để tìm đường tăng luồng ta áp dụng phương pháp ... tìm đường tăng luồng Thuật toán kết thúc luồng có mạng không tìm đường tăng luồng Hai thủ tục tìm đường tăng luồng mô tả sau : Procedure Find-path; { Thủ tục gán nhãn đường tăng luồng p[v], ∈...
... đường tăng luồng, trường hợp thứ hai luồng xét không tồn đường tăng luồng (tức luồngcực đại) Mỗi tìm đường tăng luồng, ta lại tăng luồng theo đường tìm được, sau xoá tất nhãn đổi với luồng thu ... nhãn chi tiết sau để giải toán luồngcựcđại mạng Thuật toán luồng chấp nhận mạng (có thể luồng không) , sau ta tăng luồng cách tìm đường tăng luồng Để tìm đường tăng luồng ta áp dụng phương pháp ... tìm đường tăng luồng Thuật toán kết thúc luồng có mạng không tìm đường tăng luồng Hai thủ tục tìm đường tăng luồng mô tả sau : Procedure Find-path; { Thủ tục gán nhãn đường tăng luồng p[v], ∈...
... d(s+,7) a e(d+ ,4) b 7 ,4 6 ,4 5,0 4, 4 4, 0 4, 0 s t(e+,2) c(s+ ,4) c 5,0 t 3,0 12,0 7,0 9,0 d e + Bước lặp 2: s a b c e t, 2 = a(s+,2) 7 ,4 6 ,4 b(a+,2) 5,0 4, 0 4, 0 s (s,) 4, 4 c(b+,2) 5,0 ... tìm luồng f* mạng với giá trị luồng val(f*) lớn Luồng ta gọi luồngcựcđại mạng 4. 1 Thuật toán Ford – Fulkerson tìm luồngcựcđại mạng Bắt đầu từ mạng với luồng tất cung ( ta gọi luồngluồng ... Ford-Fullkerson tìm luồngcựcđại cách gán nhãn cho luồng zero sau: a b 7,0 6,0 5,0 4, 0 4, 0 4, 0 s c 5,0 t 3,0 12,0 7,0 9,0 d e + Bước lặp 1: s a b t, 1 = a(s+,6) b(a+,6) 7,0 6,0 5,0 4, 0 4, 0 4, 0 s (s,)...
... Bước 3: LuồngcựcđạiLuồngcựcđại có giá trị 9, lát cắt cực tiểu (X,Y) với X={1,3}, Y={2 ,4, 5,6} Định lý tính nguyên: “Nếu tất khả thông qua số nguyên thuật toán tìm luồngcựcđại với luồng cung ... lý luồngcực đại- lát cắt cực tiểu cho thuật toán Tìm luồngcực đại- thuật toán Ford-Fulkerson: • Khởi tạo luồng • Trong đồ thị tăng luồng f có đường (đường tăng luồng) , tìm đường thế, nâng luồng ... cứu đề tài, trình bày toán luồngcựcđại thuật toán Ford – Fulkerson Đề tài đưa số toán ứng dụng cụ thể toán luồngcựcđại Hy vọng hiểu thêm thuật toán tìm luồngcựcđại áp dụng để giải toán đặt...
... f luồngcựcđại mạng 2) không tìm đường tăng luồng f 3) val(f′) = c(X,X*) với lát cắt (X,X*) 2.Thuật toán tìm luồngcựcđại mạng Định lý sở để xây dựng thuật toán lặp sau để tìm luồngcựcđại ... tìm luồngcựcđại Dữ liệu cho file Luong.out có dạng sau: Phần ma trận kích thước n x n thể luồngcựcđại tìm (phần tử (i,j) ma trận luồng cung (i,j)) Dòng số nguyên cho biết giá trị luồngcựcđại ... nguyên, giá trị luồng tăng lên sau lần tăng luồng Từ suy thuật toán luông dừng sau không val(f*) lần tăng luồng cho ta luồngcựcđại mạng Ta có kết sau: Định lý (Định lý luồngcựcđại mạng lát cắt...
... tìm luồngcựcđại (1), Tạp chí khoa học công nghệ - Đại học Đà Nẵng (submitted) [16] Trần Quốc Chiến, Thuật toán hoán chuyển nguồn đích tìm luồngcựcđại (2), Tạp chí khoa học công nghệ - Đại ... tìm luồngcựcđại G ta thấy: Ở bước 2, T nhỏ S , từ vòng lặp thứ 2, có bước (sinh nhãn lùi) thực Do kết tính toán giống thuật toán đích hướng nguồn [17] Cuối ta nhận luồngcựcđạiluồng ... G=(V,E,c) với nguồn a đích z, f = {fij (i,j)G} luồng nhận kết thúc thuật toán hoán chuyển nguồn đích có trọng số tìm luồngcựcđại Khi đó, f luồngcựcđại Chứng minh Ta xét hai trường hợp kết thúc...
... đường tăng luồng, trường hợp thứ hai luồng xét không tồn đường tăng luồng (tức luồngcực đại) Mỗi tìm đường tăng luồng, ta lại tăng luồng theo đường tìm được, sau xoá tất nhãn đổi với luồng thu ... nhãn chi tiết sau để giải toán luồngcựcđại mạng Thuật toán luồng chấp nhận mạng (có thể luồng không) , sau ta tăng luồng cách tìm đường tăng luồng Để tìm đường tăng luồng ta áp dụng phương pháp ... tìm đường tăng luồng Thuật toán kết thúc luồng có mạng không tìm đường tăng luồng Hai thủ tục tìm đường tăng luồng mô tả sau : Procedure Find-path; { Thủ tục gán nhãn đường tăng luồng p[v], ∈...
... phải luồngcựcđại Áp dụng thuật toán Ford-Fulkerson để nâng luồng ϕ v1 5 v0 4 6 4 v3 v6 4 v4 v5 v2 6 12 11 v7 ϕ v8 v1 8 v3 6 −6 v5 v2 5 v0 4 v6 12 12 v8 +4 +7 4 v4 v7 ϕ1 +0 +3 Xét xích α=(v0, v4, ... cho thấy có luồng đầy, chưa đạt tới giá trị cựcđại Bởi vậy, cần phải dùng thuật toán Ford-Fulkerson để tìm giá trị cựcđạiluồng 2.3 Thuật toán Ford-Fulkerson: Để tìm luồngcựcđại mạng vận ... tìm luồngcựcđại mạng: Bắt đầu từ luồng tất cung (ta gọi luồngluồng không), lặp lại bước lặp sau thu luồng mà không đường tăng: Bước lặp tăng luồng (Ford – Fulkerson): Tìm đường tăng P luồng...