Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лк-10_ДМ_Трансп_мережи_2014+ДОП_мат.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
578 Кб
Скачать
☆

3. Розріз мережі

Нехай  довільна множина вершин мережі, що містить вихід , та не містить її входу . Позначимо через і множину всіх дуг, що заходять в й, відповідно, що виходять із неї. Інакше кажучи, складається з тих і тільки тих дуг мережі, чий початок лежить поза (відповідно, в ), а кінець в (поза .

Множина називається часто розрізом мережі. Суму пропускних здатностей всіх дуг перетину називають його пропускною здатністю. На мал. 4.48 множина обведена пунктиром, дуги з позначені знайомий «+», з  знаком «».

Рис. 4.48

Твердження. Для того щоб через мережу можна було пропустити потік , необхідно, щоб для будь-якого її розрізу виконувалася умова

(4.6)

Доказ. Справді, по визначенню

.

Внаслідок (4.4), остання сума дорівнює й

. (4.7)

З (4.7) і (4.5) треба, що .

Історична довідка

Задача про максимальний потік в мережі вивчається вже більш 60 років. Інтерес до неї підігрівається величезною практичною значущістю цієї проблеми. Методи рішення задачі застосовуються на транспортних , комунікаційних , електричних мережах , при моделюванні різних процесів фізики і хімії , в деяких операціях над матрицями , для вирішення родинних задач теорії графів , і навіть для пошуку Web- груп в WWW. Дослідження даної задачі проводяться в безлічі найбільших університетів світу.

60 років тому , це завдання вирішувалося simplex методом лінійного програмування , що було вкрай не ефективно . Форд і Фалкресон запропонували розглядати для вирішення задачі про максимальний потік орієнтовану мережу і шукати рішення за допомогою ітераційного алгоритму . Протягом 20 років , всі передові досягнення в дослідженні даної задачі базувалися на їх методі . У 1970р. наш співвітчизник , Дініц , запропонував вирішувати задачу з використанням допоміжних бесконтурних мереж і псевдомаксімальних потоків , що набагато збільшило швидкодію розроблюваних алгоритмів . А в 1974 Карзанов поліпшив метод Дініца , ввівши таке поняття як предпоток . Алгоритми Дініца і Карзанова , як і дослідження Форда і Фалкерсона , внесли величезний внесок у вирішення даної проблеми. На основі їхніх методів 15 років досягалися найкращі оцінки швидкодії алгоритмів . У 1986р. з'явився третій метод , який також без роздумів можна віднести до фундаментальних . Цей метод був розроблений Голдбергом і Таряном , і отримав назву Push- Relabel методу . Для знаходження максимального потоку , він використовує предпотокі і мітки , змінювані під час роботи алгоритму . Push- Relabel алгоритми дуже ефективні , і досліджуються досі . І , нарешті , в 1997р. Голдберг і Рао запропонували алгоритм , що привласнює дугам непоодинокі довжину. Це найсучасніший з усіх відомих мені алгоритмів . Асимптотична оцінка його швидкодії перевершила O ( nm ), про такій швидкості багато років можна було тільки мріяти. Упевнений , що за минулі роки алгоритм Голдберга і Рао ретельно вивчався і поліпшувався .

На жаль , в Росії , в даний час , передові алгоритми висвітлюються слабо. У всіх російськомовних підручниках , що розглядають задачу про максимальний потік в мережі , ви навряд чи зустрінете небудь, крім методу позначок Форда- Фалкерсона 60 -річної давності. У той час як в зарубіжній літературі їм рідко обмежуються.

У цій роботі, я розглядаються 12 алгоритмів розв'язання задачі про максимальний потік , динамічні структури для їх реалізації , і застосування методу Форда- Фалкерсона для виділення Web- груп в WWW. (Векіпедія)

Складність алгоритму Форд-Фалкерсона

Якщо пропускні здатності всіх ребер - цілі числа , легко довести по індукції , що і потоки через всі ребра завжди будуть цілими . Отже, на кожному кроці алгоритм збільшує потік принаймні на одиницю , отже , він зійдеться не більше ніж за O ( f ) кроків , де f - максимальний потік в графі . Можна виконати кожен крок за час O ( E) , де E - число ребер в графі , тоді загальний час роботи алгоритму обмежено O ( E * f ) .

Якщо величина пропускної здатності хоча б одного з ребер - ірраціональне число , то алгоритм може працювати нескінченно , навіть не обов'язково сходячись до правильного рішення . (векіпедия)

Алгоритм Форда-Фалкерсона. 

Вперше був запропонований у 1956р. До цього часу завдання вирішувалося за допомогою методів лінійного програмування, що було вкрай не ефективно. Виявляється, що алгоритм є псевдополіноміальним і має оцінку O (nm log U), де m = | r |, n = | x |, U = max (Cij).

Теорема 1. (Форда  Фалкерсона). Для всякої мережі величина максимального потоку дорівнює мінімальної пропускної здатності її перетинів.

Доведення. Повернемося до випадку в алгоритмі знаходження максимального потоку, коли вихід залишився непоміченим. Покажемо, що тоді потік максимальний. Справді, якщо  множина всіх непомічених вершин, то й множина утворить перетин. Будь-яка дуга насичена, інакше її кінець можна було б позначити знаком «+». Крім того, всі дуги з (тобто такі, що їхній початок не позначений, а кінець позначений) вільні, інакше їхній початок можна було б позначити знаком «». Таким чином, . У силу (4.7),

. (4.8)

Якщо  який-небудь інший потік на мережі, то з (4.6) слідує . Звідси й з (4.8) слідує , і потік максимальний.

Нехай тепер  довільний перетин мережі. З (4.6) випливає й разом з (4.8) маємо, що , що й було потрібно довести.