Відповіді:
Інтуїція, що відображає залишковий графік у задачі про максимальний потік , дуже добре представлена в цій лекції. Пояснення йде наступним чином.
Припустимо, що ми намагаємося вирішити задачу максимального потоку для наступної мережі (де кожна мітка позначає як потік просунутий через край і ємність цього краю):
Один з можливих жадібних підходів полягає в наступному:
Тобто знайдіть шлях із наявною потужністю, надішліть потік по цьому шляху і повторіть.
У , одне можливе виконання вищевказаних евристичних знаходить у цьому порядку три шляхи збільшення , та . Ці шляхи висувають 2, 2 і 1 одиницю потоку відповідно для загального потоку 5:P 1 P 2 P 3
Вибір шляхів у такому порядку веде до оптимального рішення; однак, що станеться, якщо ми спочатку (тобто перед та )?P 1 P 2
Ми отримуємо те, що називається блокуючим потоком : більше шляхів розширення не існує. У цьому випадку загальний витрата становить 3, що не є оптимальним. Цю проблему можна вирішити, якщо дозволити операції скасування (тобто, дозволяючи надсилати потік у зворотному порядку, скасовуючи роботу попередніх ітерацій): просто натисніть на 2 одиниці потоку назад від вершини до вершини так:v
Кодування цих дозволених операцій скасування є основною метою залишкового графіка .
Залишковий графік мережі має той самий набір вершин, що і і включає для кожного краю :G G e = ( u , v ) ∈ G
Передній край ємністю , якщо .c e - f e c e - f e > 0
край ємністю , якщо .
Наприклад, розглянемо залишковий графік , отриманий після першої ітерації евристики, коли евристичний спочатку вибирає (тобто коли він отримує блокуючий потік):
Зауважте, що операція скасування, яка висуває 2 одиниці потоку від до , кодується як прямий (збільшуючий) шлях від до в :
В загальному:
Коли в залишковому графіку вибрано шлях збільшення :
- Кожне ребро в яке відповідає передньому краю в збільшує потік, використовуючи ребро з наявною ємністю.
- Кожне ребро в яке відповідає ребру, що йде назад, у відміняє потік, який був відсунутий у напрямку вперед в минулому.
Це головна ідея методу Форда – Фулкерсона .
Метод Форда – Фулкерсона протікає точно так само, як описаний вище жадібний підхід, але він зупиняється лише тоді, коли в залишковому графіку немає більше шляхів розширення (не в початковій мережі). Метод правильний (тобто він завжди обчислює максимальний потік), оскільки залишковий графік встановлює таку умову оптимальності :
Враховуючи мережу , потік є максимальним у якщо в залишковому графіку немає шляху.
Інтуїція за залишковою мережею полягає в тому, що вона дозволяє нам "скасувати" вже призначений потік, тобто якщо ми вже призначили 2 одиниці потоку від до , то передача 1 одиниці потоку від до тлумачиться як скасування однієї одиниці вихідного потоку від до .Б В А А Б