Tiểu luận Phân tích và thiết kế thuật toán FLOW NETWORKS

104 1.5K 0
Tiểu luận Phân tích và thiết kế thuật toán FLOW NETWORKS

Đ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

MAXIMUM FLOW • Flow networks Minh Hòa • The Fork-Fulkerson method Hoài Nhân • Maximum biparite matching Phú Lộc • Push-relabel algorithms Quang Minh • The relabel-to-front algorithms Thế Quân 2 FLOW NETWORKS (MẠNG VẬN TẢI) Người thực hiện: Nguyễn Thị Minh Hòa 3 Nội dung • Mạng vận tải. • Luồng. • Mạng có nhiều đỉnh phát và nhiều đỉnh thu. • Làm việc với nhiều luồng. Mạng vận tải 4 Mạng vận tải Định nghĩa  Là đơn đồ thị có hướng G = (V, E)  Có duy nhất đỉnh phát s, không liên thuộc cung vào.  Có duy nhất đỉnh thu t, không liên thuộc cung ra.  Trọng số c(e) ≥ 0 của cung e = (i, j) ∈ E được gọi là khả năng thông qua của cung. Nếu (i, j) E thì c(e) = 0.  ∀v∈V, tồn tại đường đi s → v → t. Vậy đồ thị liên thông và |E| ≥ |V| - 1. ∉ 5 • V = {s, v1, v2, v3, v4, t} • E = {(s,v1), (s,v2), (v1,v2), (v2,v1), (v1,v3), (v3,v2), (v2,v4), (v4,v3), (v3,t), (v4,t)} • Vài ví dụ về trọng số: c(s,v1)=16; c(v1,v3)=12; c(v3,v1)=0. v4 t v3 v1 4 14 v2 s 7 20 9 4 12 10 16 13 Đỉnh thu Đỉnh phát Mạng vận tải Ví dụ 6 Cho N = (G = (V, E), c, s, t) là một mạng vận tải. Một luồng trong N là ánh xạ f: V x V -> R thỏa mãn các điều kiện sau: • Tính ràng buộc về khả năng thông qua của luồng : ∀u, v ∈ V: ƒ(u, v) ≤ c(u, v). • Tính đối xứng: ∀u, v ∈ V: ƒ(u, v) = - ƒ(v, u) • Tính bảo toàn: ∀u ∈ V\{s, t}: Luồng Định nghĩa ( , ) 0 v V f u v ∈ = ∑ 7 • Khi (u, v) E và (v, u) E thì ƒ(u, v) = ƒ(v, u) = 0. • Giá trị ƒ(u, v) (có thể nhận giá trị dương, giá trị 0 hoặc giá trị âm) được gọi là luồng từ đỉnh u đến đỉnh v. • Do đồ thị không có khuyên nên: • Giá trị của luồng ƒ được xác định như sau: ∉ Luồng Định nghĩa ∉ | | ( , ) v V f f s v ∈ = ∑ , ( , ) 0v V f v v∀ ∈ = 8 • Cung (u,v) được gán nhãn như sau: f(u,v)/c(u,v) • |f|=f(s,v1) + f(s,v2) = 11 + 8 = 19 v2 v4 t v3 v1 s 8 / 1 3 11/14 4 / 4 7/7 1 5 / 2 0 4 / 9 1/4 10 12/12 1 1 / 1 6 Luồng Ví dụ 9 • Một mạng vận tải có thể mô phỏng bài toán vận chuyển bóng của một công ty từ nhà máy (s) đến kho (t) như trong hình sau: v4 t v3 v1 4 14 v2 s 7 20 9 3 12 8 16 13 Ví dụ sự khác biệt giữa vận chuyển và luồng Luồng 10 • Họ không kiểm soát những lộ trình giữa các thành phố (các đỉnh) và các khả năng thông qua của các lộ trình. • Mục đích: xác định số lượng thùng lớn nhất p có thể được vận chuyển mỗi ngày. • Họ chỉ quan tâm đến số lượng thùng p rời nhà máy và số lượng thùng p đến kho mỗi ngày. Luồng Ví dụ sự khác biệt giữa vận chuyển và luồng [...]... toàn bộ thuật toán 13 Luồng Ví dụ sự khác biệt giữa vận chuyển và luồng • Giả sử cung (u, v) tương ứng với một luồng có giá trị ƒ(u, v) • Trong quá trình khai triển thuật toán, có thể tăng luồng trên cung (v, u) bằng cách thêm giá trị d • Thao tác đó làm giảm ƒ(u, v) một lượng d 14 Mạng có nhiều đỉnh phát và nhiều đỉnh thu Phát biểu • Một bài toán luồng cực đại có thể có nhiều hơn một đỉnh phát và đỉnh... một đỉnh phát và đỉnh thu • Có thể chuyển đổi bài toán luồng cực đại với nhiều đỉnh phát và đỉnh thu về bài toán luồng cực đại thông thường • Ví dụ: Một công ty có thể có một tập m nhà máy bao gồm {s1, s2,…, sm} và một tập n kho bao gồm {t1, t2,…, tn} 15 Mạng có nhiều đỉnh phát và nhiều đỉnh thu Ví dụ • Một mạng vận tải với 5 đỉnh phát S={s1,s2,s3,s4,s5} và 3 đỉnh thu T={t1,t2,t3} s1 s2 10 12 3 5 15 8... t3 18 2 16 Mạng có nhiều đỉnh phát và nhiều đỉnh thu s1 10 ∞ s2 ∞ s 12 8 11 s5 6 ∞ t2 ∞ 20 7 s4 t1 15 14 ∞ 3 5 ∞ s3 ∞ • Thêm vào 1 đỉnh phát giả s và 1 cung với khả năng thông qua vô hạn từ s đến mỗi đỉnh phát si,∀i = 1, ,5 • Thêm 1 đỉnh thu giả t và 1 cung với khả năng thông qua vô hạn từ mỗi đỉnh thu ti,∀i = 1, , 3 Ví dụ 13 t ∞ t3 18 2 17 Mạng có nhiều đỉnh phát và nhiều đỉnh thu Ví dụ s1 12 3 5 6... 20 7 s4 t1 15 8 s3 ∞ t3 18 s ∞ ∞ 11 s5 t2 13 s2 ∞ 20 7 s4 t1 15 8 s3 s1 a) ∞ s2 10 13 ∞ t ∞ t3 18 2 Chuyển đổi bài toán luồng cực đại với nhiều đỉnh phát và đỉnh thu về bài toán 18 với một đỉnh phát và một đỉnh thu Làm việc với nhiều luồng Các luồng mạng • Tổng giá trị dương của luồng đi vào đỉnh v: ∑ f (w, v) w∈V f (w , v ) > 0 • Tổng giá trị dương của luồng ra khỏi đỉnh v: ∑ f ( v, u ) u∈V f ( v ,u... Văn Hoài Nhân Nội dung Phương pháp Fork-Fulkerson • • • • • Bài toán luồng cực đại trên mạng Mạng thặng dư Đường tăng luồng Lát cắt Thuật toán Fork-Fulkerson Bài toán luồng cực đại trên mạng Cho một mạng vận tải G = (V, E), hãy tìm luồng f có giá trị lớn nhất từ đỉnh phát s đến đỉnh thu t Mạng thặng dư Khái niệm • Từ một mạng G = (V, E) và một luồng f trên G ta xây dựng mạng Gf = (V, Ef), với tập cạnh... lát cắt cực tiểu luồng cực đại: Nếu f là một luồng trong mạng vận tải G = (V,E) với đỉnh phát s và đỉnh thu t thì các điều kiện sau là tương đương: 1 f là một luồng cực đại trong G 2 Mạng thặng dư Gf không chứa đường tăng luồng nào 3 | f | = c(S,T) đối với lát cắt (S,T) của G Thuật toán Fork-Fulkerson Thuật toán • FORD-FULKERSON(G, s, t) 1.for mỗi cung (u, v) ∈ E [G] 2 do f [u, v] ← 0 3 f [v, u] ← 0... f và mạng Gf như hình trên, giả sử P = với giá trị cf(p) = 2 Luồng fP trên Gf sẽ là: fP[1,3]=fP[3,4]=fP[4,2]=fP[2,5]=fP[5,6] = 2 fP[3,1]=fP[4,3]=fP[2,4]=fP[5,2]=fP[6,5] = -2 • Cộng các giá trị này vào giá trị luồng f tương ứng trên các cung, ta sẽ có luồng mới có giá trị 9 Lát cắt Khái niệm • • • Một lát cắt (S, T) của một mạng vận tải G = (V, E) là một phân hoạch của V thành S và. .. chuyển và luồng • Giả sử công ty vận chuyển 8 thùng mỗi ngày từ v1 đến v2 và 3 thùng mỗi ngày từ v2 đến v1 • Dường như có thể biểu diễn sự vận chuyển bằng luồng nhưng không thể 12 Luồng Ví dụ sự khác biệt giữa vận chuyển và luồng • Do tính đối xứng, nên không thể xem ƒ(v1, v2) = 8 và ƒ(v2, v1) = 3 Nên biểu diễn là: ƒ(v1, v2) = 5 và ƒ(v2, v1) = -5 • Nếu bóng được vận chuyển theo cả hai hướng giữa hai... với 0 < f(v, w) < c(v,w) thì (v, w) thuộc Ef với trọng số c(v,w) - f(v,w) và (w, v) thuộc Ef với trọng số f(v,w) Mạng thặng dư Ví dụ 2 5 5:6 4 5:5 3:1 0:3 3 1:6 5 1:1 4 1 5 6:6 6 1 2:5 2 6 1 1 1 2 2 3 6 5 3 3 1 5 Mạng G và mạng thặng dư Gf tương ứng (ký hiệu f[u, v]:c[u, v]) Đường tăng luồng Khái niệm • • Cho mạng G= (V, E) và luồng f, đường tăng luồng p là một đường đi cơ bản từ đỉnh s đến đỉnh t... Cho N là một mạng vận tải và ƒ là một luồng trong N Khi đó có các tính chất sau: ∀X ⊆ V, ta có: ƒ(X, X) = 0 ∀X, Y ⊆ V, ta có: ƒ(X, Y) = - ƒ(Y, X) ∀X, Y, Z ⊆ V với X ∩ Y = Ø ta có các tổng: ƒ(X∪Y, Z) = ƒ(X, Z) + ƒ(Y, Z) và ƒ(Z, X∪Y) = ƒ(Z, X) + ƒ(Z, Y) 22 Làm việc với nhiều luồng Hệ quả • Xét ví dụ có sử dụng ký hiệu tổng ẩn, có thể chứng minh rằng nếu N là một mạng vận tải và f là một luồng thì: |ƒ| . vận chuyển và luồng 15 • Một bài toán luồng cực đại có thể có nhiều hơn một đỉnh phát và đỉnh thu. • Có thể chuyển đổi bài toán luồng cực đại với nhiều đỉnh phát và đỉnh thu về bài toán luồng. trong toàn bộ thuật toán. Luồng Ví dụ sự khác biệt giữa vận chuyển và luồng 14 • Giả sử cung (u, v) tương ứng với một luồng có giá trị ƒ(u, v). • Trong quá trình khai triển thuật toán, có thể. thu 18 s1 s5 s4 s3 s2 t3 t2 t1 6 2 0 1 8 1 2 5 8 2 1 0 1 5 1 3 1 4 7 1 1 3 s ∞ ∞ ∞ ∞ ∞ t ∞ ∞ s1 s5 s4 s3 s2 t3 t2 t1 6 2 0 1 8 1 2 5 8 2 1 0 1 5 1 3 1 4 7 1 1 3 ∞ a) b) Chuyển đổi bài toán luồng cực đại với nhiều đỉnh phát và đỉnh thu về bài toán với một đỉnh phát và một đỉnh thu Ví dụ Mạng có nhiều đỉnh phát và nhiều đỉnh thu 19 Làm việc

Ngày đăng: 11/04/2015, 22:06

Từ khóa liên quan

Mục lục

  • MAXIMUM FLOW

  • FLOW NETWORKS (MẠNG VẬN TẢI)

  • Nội dung

  • Mạng vận tải

  • Slide 5

  • Luồng

  • Slide 7

  • Slide 8

  • Slide 9

  • Slide 10

  • Slide 11

  • Slide 12

  • Slide 13

  • Slide 14

  • Mạng có nhiều đỉnh phát và nhiều đỉnh thu

  • Slide 16

  • Ví dụ

  • Slide 18

  • Làm việc với nhiều luồng

  • Slide 20

Tài liệu cùng người dùng

Tài liệu liên quan