Чи може мінімізація прорізуватися легше, ніж мережевий потік?


18

Завдяки теоремі про максимальний потік min-cut ми знаємо, що ми можемо використовувати будь-який алгоритм для обчислення максимального потоку в мережевому графіку для обчислення a -min-cut. Тому складність обчислення мінімальних -різів не більше, ніж складність обчислення максимального -потоку.( s , t ) ( s , t )(s,t)(s,t)(s,t)

Чи може бути менше? Чи може бути алгоритм для обчислення мінімальної -різу, який є швидшим, ніж будь-який алгоритм максимального потоку?(s,t)

Я спробував знайти скорочення, щоб зменшити ) -max-потік проблеми до -min-cut проблеми, але я не зміг її знайти. Моя перша думка полягала у використанні алгоритму ділення та перемоги: спочатку знайдіть міні-розріз, який розділяє графік на дві частини; тепер рекурсивно знайдіть максимальний потік для лівої частини та максимальний потік для правої частини та з'єднайте їх разом з усіма краями, що перетинають розріз. Це дійсно спрацювало б для створення максимального потоку, але його найгірший час роботи може бути в розмірі разів більшим, ніж час роботи алгоритму мінімуму зрізу. Чи краще зменшення?( s , t ) O ( | V | )(s,t(s,t)O(|V|)

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

Це дуже тісно пов'язане з обчисленням максимального потоку від мінімального скорочення , за винятком: (1) Я готовий дозволити скорочення Кука (скорочення Тюрінга), а не лише скорочення Карпа (багато-одне скорочення) та (2) можливо, з огляду на ми можемо знайти деякий графік такий, що мінімальний зріз полегшує обчислення максимального потоку , що є щось поза межами цього іншого питання.G G GGGGG


2
@AshkanKzme, я не слідкую за тобою; чи можете ви докладно? Як я зазначаю в 4-му параграфі питання, теорема про максимальний потік мінімуму різання показує, що значення макс-потоку дорівнює ємності мінімального розрізу. Я підозрюю, що це ви думаєте. Однак, знаючи значення max-потоку, вам не підкаже сам макс-потік (наприклад, скільки відправити на кожен конкретний край). Це запитання задає складність обчислення самого потоку max, порівняно з обчисленням самого міні-розрізу. Моє запитання саме так, як сказано у другому пункті запитання.
DW

2
@AshkanKzme, Ні, я не зробив неправильного припущення. Ви неявно припускаєте, що Форд-Фулкерсон - це найшвидший алгоритм пошуку міні-розрізу ... але, наскільки я знаю, ніхто ніколи цього не довів, і ми не знаємо, правильно це чи ні. Мені це здається, що ти робиш стандартну помилку новичка за допомогою нижньої межі доказів: "Я не бачу жодного способу швидше вирішити цю проблему, тому це має бути неможливо". (PS Ти розповідаєш мені про стандартні матеріали з підручника про максимальний потік мінімуму. Я ціную твою спробу допомогти, але я з цим уже знайомий ...)
DW

1
Що стосується вашої заяви "Я думаю, що можна довести, що якщо у вас є лише міні-розріз, ви можете отримати максимальний потік", ну, я закликаю вас написати відповідь із підтвердженням цього - адже це в основному те, що запитання моє. Я ніколи не бачив доказів цього, але якщо у вас є, я сподіваюся, що ви напишете це!
DW

1
@DW Я думаю, зараз я ставлю це питання трохи краще. Я думаю, що мене постраждало від того, що ти скорочуєш поліномічне зменшення твердження. Чи не потрібно вам постійне зменшення твердження, щоб довести , хоча навіть доведення, що таке зменшення неможливе, не спростує це? f(n)=Θ(g(n))
Томас Босман

1
@ThomasBosman, так, це правильно. [Вибачте за те, що вас заплутали. Зниження, яке я дав у запитанні, доводить, що , що є дуже слабкою нижньою межею. Я сподіваюся, що може бути скорочення, яке доводить, що f ( n ) = Ω ( g ( n ) ) , але я не знаю, як побудувати таке.]f(n)=Ω(g(n)/n)f(n)=Ω(g(n))
DW

Відповіді:


-1

Ось можливий підхід:

StVStfStAijijbAf=bf|V|3

|E||V|

Af=b|V|3


f|V||E||E|>|V|

|V|bf

Af=b

Лайно це правильно. Ви можете додати обмеження (верхнє та нижнє), яке, як відомо, має рішення, але тоді у вас є | V | +2 | E | рядки, щоб це було повільніше, ніж просто обчислення максимального потоку безпосередньо.
Томас Босман

Інша проблема полягає в тому, що обмеження ємності - це нерівності (а не рівності), тому ви не можете використовувати усунення Гаусса: вам потрібно буде використовувати лінійне програмування, яке, як ви кажете, не може бути швидшим, ніж просто обчислення макс. витрата безпосередньо.
DW
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.