Luồng trên mạng

Một phần của tài liệu Chuyên đề thuật toán đồ thị trong lập trình căn bản (Trang 106 - 107)

D bằn g9 và tớ iA bằng 7 ,E có khoảng cách tới cây hiện tại bằng 15, và F

Luồng trên mạng

Trong lý thuyết đồ thị, một luồng trên mạng, thường được gọi tắt là luồng, là một cách gán các luồng (dòng chảy) cho các cung của một đồ thị có hướng (trong trường hợp này được gọi là một mạng vận tải) trong đó mỗi cung có một khả năng thông qua, sao cho dung lượng luồng qua một cung không vượt quá khả năng thông qua của nó. Ngoài ra, ta còn có một điều kiện rằng dung lượng luồng vào một nút phải bằng dung lượng luồng ra khỏi nút đó, ngoại trừ trường hợp nó là một nút phát (hay nút nguồn) - nơi chỉ có dòng ra, hoặc một nút thu - nơi chỉ có luồng vào. Một mạng vận tải có thể được dùng để giả lập giao thông trên một hệ thống đường xá, dòng chảy trong các đường ống, dòng trong một mạch điện, hoặc bất cứ cái gì tương tự di chuyển qua một mạng lưới gồm các nút.

Định nghĩa

Cho một đồ thị với các nút và các cung , và hai nút đặc biệt: nút phát (bậc trong bằng 0) và nút thu (bậc ngoài bằng 0). Cho là dòng từ nút tới nút , và là khả năng thông qua (dòng lớn nhất có thể) của cung đó. Một luồng trên mạng là một hàm số giá trị thực với ba tính chất sau cho tất cả các nút và :

1. Đối xứng: . Tổng luồng từ tới phải bằng đối của tổng luồng từ tới (Xem ví dụ).

2. Các điều kiện về khả năng thông qua: . Luồng dọc theo một cung không thể vượt quá khả năng thông qua của nó.

3. Cân bằng luồng: , trừ khi hoặc . Tổng luồng tới một nút bằng 0, ngoại trừ trường hợp đó là nút nguồn - nơi sinh luồng, và nút thu - nơi "tiêu thụ" luồng.

Lưu ý rằng là tổng luồng từ tới . Nếu đồ thị biểu diễn một mạng vật lý, và nếu có một luồng thực sự, chẳng hạn gồm 4 đơn vị, chảy từ to , và một luồng thực gồm 3 đơn vị chảy từ tới , ta có

và .

Khả năng thông qua còn dư (residual capacity) của một cạnh là . Khái niệm đó định nghĩa một mạng còn dư (residual network), ký hiệu là , thể hiện lượng khả năng thông qua hiện . Để ý rằng có thể có một cung từ tới trong mạng còn dư, ngay cả khi không có cung từ tới trong mạng ban đầu. Do các luồng theo các hướng ngược nhau triệt tiêu lẫn nhau, giảm luồng từ tới tương đương với tăng

luồng từ tới . Một đường tăng (augmenting path) là một đường đi , trong đó , , và , nghĩa là có thể gửi thêm luồng dọc theo đường đi này.

Ví dụ

Một mạng vận tải với thông tin luồng/khả năng

thông qua.

Trên hình bên phải là một mạng vận tải với nguồn , nút thu , và bốn nút khác. Luồng và khả năng thông qua được ký hiệu . Lưu ý rằng trong mạng này, các điều kiện về đối xứng, khả năng thông qua và cân bằng luồng đã được thỏa mãn. Tổng luồng từ tới là 5, dễ thấy từ thực tế là tổng luồng từ ra có giá trị bằng 5, và cũng bằng tổng luồng vào . Ta biết rằng không có luồng mới xuất hiện hoặc biến mất tại bất cứ nút nào khác.

khả nằng thông qua.

. Đường đi cuối cùng không tồn tại trong mạng ban đầu, nhưng nếu ta gửi luồng theo đường đó, ta vẫn có một luồng hợp lệ.

Nếu đây là một mạng thực sự, có thể có một luồng có giá trị bằng 2 từ tới đồng thời với một luồng có giá trị bằng 1 từ to , nhưng ta chỉ quản lý luồng tổng.

Ứng dụng

Một mạng vận tả có thể được sử dụng để giả lập một hệ thống bất kỳ nếu nó có các điều kiện như trong định nghĩa ở trên.

Hình dung một loại đường ống nối với nhau thành một mạng. Mỗi đường ống có một độ rộng nhất định, do đó nó chỉ có thể cho phép một dòng chảy với một lượng nước nhất định. Mỗi khi các đường ống gặp nhau, tổng lượng nước chảy vào điểm nối phải bằng lượng chảy ra từ đó. Ta có một nguồn nước, đó là điểm phát, và một điểm tập trung nước, đó là điểm thu. Khi đó một luồng có thể là một cách lấy nước từ nguồn tới nút thu. sao cho tổng lượng nước ra khỏi nút thu là không đổi. Về trực quan, tổng luồng của một mạng chính là tỷ lệ nước chảy ra từ điểm thu.

Luồng có thể so sánh với người hoặc vật liệu trên các mạng giao thông vận tải, hoặc với điện trên các hệ thống phân phối điện. Với mỗi mạng vật lý như vậy, luồng vào mỗi nút trung gian phải bằng luồng ra khỏi đó. Bollobás nêu đặc trưng này theo Kirchhoff's current law, trong khi các tác giả sau này (Chartrand) nhắc đến su duy rộng tới một số phương trình quy ước (conservation equation).

Một phần của tài liệu Chuyên đề thuật toán đồ thị trong lập trình căn bản (Trang 106 - 107)

Tải bản đầy đủ (PDF)

(127 trang)