Максимальний потік за допомогою Ford-Fulkerson та DFS


22

Це питання стосується складності часу алгоритму максимального потоку Ford-Fulkerson при використанні DFS для пошуку шляхів збільшення.

Є відомий приклад, що показує, що за допомогою DFS може знадобитися лінійна кількість ітерацій у максимальному потоці, див., Наприклад, сторінку Вікіпедії, пов'язану вище.

Однак я не дуже переконаний у цьому прикладі: стандартна реалізація DFS не демонструватиме поведінку чергування між B і C як перший вузол шляху (використовуючи назви вершин зі сторінки Вікіпедії).

Отже, давайте нав'яжемо цілком природну умову, що кожного разу, коли DFS відвідує вузол , він завжди перевіряє сусідів в тому ж порядку. Є ще приклади, для яких FF з DFS використовує велику кількість ітерацій?уу

Припустимо, що у нас є додаткова властивість, що різні впорядкування сусідів узгоджуються з деяким довільним, але фіксованим глобальним упорядкуванням вершин. Це має значення?

Мені це здається досить базовим питанням; Я заздалегідь прошу вибачення, якщо відповідь відома, але я не знавець потоків, і деякі гуглінг нічого не з'явив.

Редагувати: Відповідь виявляється так, є приклади. Див. Малюнок 2 цієї статті . У цих прикладах FF з DFS приймають експоненціальне (у кількості вершин) кількість ітерацій. Здається легко довести, що це непросто, тобто кількість ітерацій завжди обмежена (незалежно від значень ємностей).2О(н)


4
Я задумався над тим же питанням.
Лука Тревісан

1
(1) Приємне запитання. (2) Я вважаю, що випадковий приклад (наприклад, у Вікіпедії) зазвичай подається як причина, чому потрібен певний розгляд щодо порядку відвідування, а не як причина проти використання глибинного пошуку.
Tsuyoshi Ito

6
Я не думаю, що зараз я можу навчити ФФ без відповіді на це питання. Приємно !!
Суреш Венкат

Не знаходить максимальний потік за мінімальної кількості ітерацій NP-Complete?
user834

Відповіді:


13

Якщо списки суміжності фіксуються заздалегідь, то DFS завжди припиняється (навіть якщо є ірраціональні можливості).

Див. Дін, Геман, Безсмертник - Кінцеве припинення алгоритмів "Збільшення шляху" за наявності даних ірраціональних проблем .


11
Спасибі. Це само по собі не відповідає на моє запитання, однак, приклад, наведений на малюнку 2 документа Діна-Гемана-Безсмертника, показує рекурсивну побудову, засновану на стандартному прикладі, яка відповідає на моє запитання і показує, що FF з DFS може вимагати експоненціальної кількості ітерації.
Пер Австрін
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.