Định lý luồng cực đại lát cắt cực tiểu

Bách khoa toàn thư mở Wikipedia
Bước tới: menu, tìm kiếm

Định lý luồng cực đại lát cắt cực tiểu là một phát biểu trong ngành lý thuyết tối ưu hóa về các luồng cực đại trong các mạng vận tải (flow network). Định lý phát biểu rằng:

Lượng cực đại của một luồng bằng khả năng thông qua của một lát cắt tối thiểu.

Định nghĩa[sửa | sửa mã nguồn]

Giả sử G(V,E) là một đồ thị có hướng hữu hạn và mỗi cung (u,v) có một khả năng thông qua c(u,v) (một giá trị thực không âm). Ngoài ra, giả sử có hai đỉnh, đỉnh phát s và đỉnh thu t, đã được xác định.

Một lát cắt là một cách chia các nút mạng thành hai tập ST, sao cho s thuộc tập St thuộc T. Do đó, trong một đồ thị có 2^{|V|-2}\, lát cắt có thể.

Khả năng thông qua của một lát cắt (S,T)

c(S,T) = \sum_{u \in S, v \in T | (u,v) \in E} c(u,v),

Đó là tổng của các khả năng thông qua của tất cả các cung đi qua lát cắt, từ vùng S tới vùng T.

Ba điều kiện sau là tương đương:

  1. f là một luồng cực đại trong đồ thị G
  2. Mạng còn dư (residual network) G_f không chứa đường tăng (augmenting path).
  3. |f| = c(S,T) với lát cắt (S,T) nào đó.

Phác thảo chứng minh: Nếu có một đường tăng, ta có thể gửi luồng theo đó và thu được một luồng lớn hơn, do đó nó không thể là luồng cực đại, và ngược lại. Nếu không có đường tăng nào, ta chia đồ thị thành S gồm các nút tới được từ s trong mạng còn dư, và T gồm các nút không tới được. Khi đó c(S,T) phải bằng 0. Nếu không, tồn tại một cung (u,v) với c(u,v) > 0, nhưng khi đó, từ s lại đến được v nên v không thể nằm trong T.

Ví dụ[sửa | sửa mã nguồn]

Một mạng với luồng cực đại và ba lát cắt cực tiểu

Hình bên phải là một mạng với các nút V=\{s,o,p,q,r,t\}, và luồng cực đại là một luồng tổng từ nút phát s tới nút thu t có giá trị bằng 5. (Đây thực ra là luồng cực đại duy nhất ta có thể tìm thấy trong mạng này.)

Có ba lát cắt cực tiểu trong mạng. Đối với lát cắt S=\{s,p\},T=\{o,q,r,t\}, khả năng thông qua lát cắt là c(s,o)+c(p,r)=3+2=5. Với S=\{s,o,p\},T=\{q,r,t\} nó là c(o,q)+c(p,r)=3+2=5. Và với S=\{s,o,p,q,r\},T=\{t\}c(q,t)+c(r,t)=2+3=5.

Lưu ý rằng S=\{s,o,p,r\},T=\{q,t\} không phải là một lát cắt cực tiểu, tuy trong luồng đã cho cả (o,q)(r,t) đều đầy. Đó là do trong mạng còn dư G_f có một cung (r,q) với khả năng thông qua c_f(r,q) = c(r,q)-f(r,q)=0-(-1)=1.

Lịch sử[sửa | sửa mã nguồn]

Định lý này được chứng minh bởi P. Elias, A. Feinstein, và C.E. Shannon năm 1956, và cũng năm đó, nó được chứng minh một cách độc lập bởi L.R. Ford, Jr.D.R. Fulkerson. Tìm các luồng cực đại là một dạng bài toán quy hoạch tuyến tính đặc biệt, và định lý luồng cực đại lát cắt cực tiểu có thể được coi là một trường hợp đặc biệt của định lý đôi (duality theorem) cho quy hoạch tuyến tính.

Xem thêm[sửa | sửa mã nguồn]

Liên kết ngoài[sửa | sửa mã nguồn]

Tiếng Việt:

Tiếng Anh:

Tham khảo[sửa | sửa mã nguồn]