1. Trang chủ
  2. » Giáo án - Bài giảng

Bài giảng Lý thuyết đồ thị: Chương 6 - Ngô Hữu Phúc

15 31 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 355,14 KB

Nội dung

Bài giảng Lý thuyết đồ thị - Chương 6: Bài toán luồng cực đại trình bày luồng vận tải, thuật toán Ford-Fulkerson. Mời các bạn cùng tham khảo bài giảng để nắm chi tiết nội dung kiến thức.

CHƯƠNG VI BÀI TOÁN LUỒNG CỰC ĐẠI Luồng vận tải: Định nghĩa: Mạng vận tải đồ thị có hướng, khơng có khun có trọng số G=(V,E) với V={v0, v1, , vn} thoả mãn: 1)Mỗi cung eE có trọng số m(e) số nguyên không âm gọi khả thông qua cung e 2) Có đỉnh v0 khơng có cung vào, tức deg-(v0)=0 Đỉnh v0 gọi lối vào hay đỉnh phát mạng 3) Có đỉnh khơng có cung ra, tức deg+(vn)=0 Đỉnh gọi lối hay đỉnh thu mạng  93 CHƯƠNG VI BÀI TOÁN LUỒNG CỰC ĐẠI Luồng vận tải: Định nghĩa: Để xác định lượng vật chất chuyển qua mạng vận tải G=(V,E), người ta đưa khái niệm luồng vận tải định nghĩa sau: Hàm ϕ xác định tập cung E nhận giá trị nguyên gọi luồng vận tải mạng vận tải G ϕ thoả mãn: 1) ϕ(e) ≥ 0, e  E 2)  v  V; v ≠ v0; v ≠    ( e)    (e ) e  ( v ) e  ( v ) -(v) = {e  E; e có đỉnh cuối v} +(v) = {e  E; e có đỉnh đầu v} 94 CHƯƠNG VI BÀI TỐN LUỒNG CỰC ĐẠI Luồng vận tải: 3) ϕ(e) ≤ m(e), e  E Ta xem ϕ(e) lượng hàng chuyển cung e=(u,v) từ đỉnh u đến đỉnh v không vượt khả thông qua cung 4)   (e)    (e) :  (v ) n   e ( v0 ) ( ) Đại lượng ϕevn (ký hiệu ϕn ) gọi luồng qua mạng, hay cường độ luồng điểm hay giá trị luồng ϕ Bài tốn đặt tìm ϕ để ϕvn đạt giá trị lớn nhất, tức tìm giá trị lớn luồng 95 CHƯƠNG VI BÀI TOÁN LUỒNG CỰC ĐẠI Luồng vận tải:  Định nghĩa: Cho mạng vận tải G=(V,E) A  V Ký hiệu: Γ−(A)={(u,v)E | vA, u∉A}, Γ+(A)={(u,v)E | uA, v∉A} Đối với tập cung M tuỳ ý, đại lượng  ( M )   ( e ) gọi luồng tập cung M  eM  Hệ quả: Cho ϕ luồng mạng vận tải G=(V,E) A  V \{v0,vn} Khi đó: ϕ(Γ−(A))=ϕ(Γ+(A)) 96 CHƯƠNG VI BÀI TOÁN LUỒNG CỰC ĐẠI Cho mạng vận tải G=(V,E) Hãy tìm luồng ϕ để đạt ϕvn max mạng G  Định nghĩa: Cho A  V tập tuỳ ý không chứa lối vào v0 chứa lối Tập Γ−(A) gọi thiết diện mạng vận tải G Đại lượng m(  ( A))   m (e ) e  ( A ) gọi khả thông qua thiết diện Γ−(A) 97 CHƯƠNG VI BÀI TOÁN LUỒNG CỰC ĐẠI Định nghĩa: Cung e mạng vận tải G với luồng vận tải ϕ gọi cung bão hoà ϕ(e)=m(e) Luồng ϕ mạng vận tải G gọi luồng đầy đường từ v0 đến chứa cung bão hồ Ta thấy: luồng ϕ mạng vận tải G chưa đầy định tìm đường α từ lối vào v0 đến lối không chứa cung bão hồ Khi ta nâng luồng ϕ thành ϕ’ sau: 98 CHƯƠNG VI BÀI TOÁN LUỒNG CỰC ĐẠI Khi ϕ’ luồng, mà giá trị là: ϕ’n = ϕn +1 > ϕn Như vậy, luồng khơng đầy ta nâng giá trị nâng nhận luồng đầy 99 Thuật toán Ford-Fulkerson: Để tìm luồng cực đại mạng vận tải G, 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 theo bước: Bước (đánh dấu đỉnh mạng): Lối vào v0 đánh dấu 1) 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) Thuật toán Ford-Fulkerson: Nếu ta đánh dấu tới lối G  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 Bước (nâng giá trị luồng): Ta đặt: ϕ’(e) = ϕ(e), e∉α, ϕ’(e) = ϕ(e)+1, eα định hướng theo chiều xích α từ v0 đến vn, ϕ’(e) = ϕ(e)−1, eα định hướng ngược với chiều xích α từ v0 đến 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 101 CHƯƠNG VI BÀI TOÁN LUỒNG CỰC ĐẠI Thuật toá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 đá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  Định lý (Ford-Fulkerson): Trong mạng vận tải G=(V,E), giá trị lớn luồng khả thông qua nhỏ thiết diện, nghĩa là: max    AV , v0 A, A m(  ( A)) 102 Ví dụ: Cho mạng vận tải với khả thông qua đặt khun trịn, luồng ghi cung Tìm luồng cực đại mạng 103 Luồng ϕ có đường (v0,v4), (v4,v6), (v6,v8) gồm cung chưa bão hoà nên chưa đầy Do nâng luồng cung lên đơn vị, để ϕ1 Do đường xuất phát từ v0 đến v8 chứa cung bão hồ, nên luồng ϕ1 luồng đầy Song chưa phải luồng cực đại Áp dụng TT Ford-Fulkerson để nâng luồng ϕ1 104 Xét xích α=(v0, v4, v6, v3, v7, v8) Quá trình đánh dấu từ v0 đến v8 để nâng luồng ϕ1 lên đơn vị cách biến đổi luồng cung thuộc xích α đánh dấu Sau ta có luồng ϕ2 105 Tương tự, xét xích β=(v0, v1, v5, v2, v6, v3, v7, v8) Nâng luồng ϕ2 lên đơn vị, sau ta có luồng ϕ3 V0 106 CHƯƠNG VI BÀI TỐN LUỒNG CỰC ĐẠI Tiếp theo ta đánh dấu đỉnh v0 nên trình nâng luồng kết thúc ta giá trị luồng cực đại là: ϕ3v8 = 6+12+8 = 26 Mặt khác, thiết diện nhỏ Γ−(A) với A={v1, v2, , v8} Γ− (A)={(v0,v1), (v0,v2), (v0,v3), (v0,v4)} 107 ... từ v0 đến 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 101 CHƯƠNG VI BÀI TỐN LUỒNG CỰC ĐẠI Thuật tốn Ford-Fulkerson: Bước 3: Nếu với luồng ϕ0 phương... ta có luồng ϕ2 105 Tương tự, xét xích β=(v0, v1, v5, v2, v6, v3, v7, v8) Nâng luồng ϕ2 lên đơn vị, sau ta có luồng ϕ3 V0 1 06 CHƯƠNG VI BÀI TỐN LUỒNG CỰC ĐẠI Tiếp theo ta đánh dấu đỉnh v0 nên trình... eM  Hệ quả: Cho ϕ luồng mạng vận tải G=(V,E) A  V {v0,vn} Khi đó: ϕ(Γ−(A))=ϕ(Γ+(A)) 96 CHƯƠNG VI BÀI TOÁN LUỒNG CỰC ĐẠI Cho mạng vận tải G=(V,E) Hãy tìm luồng ϕ để đạt ϕvn max mạng G  Định

Ngày đăng: 24/09/2020, 04:24