Мінімальний зріз у зваженому спрямованому ациклічному графіку з можливою негативною вагою


9

Я зіткнувся з наступною проблемою:

Давши спрямований ациклічний графік з реальними значеннями ваг ребра та двома вершинами s і t, обчисліть мінімальну різкості.

Для загальних графіків це NP-важко, оскільки можна тривіально зменшити максимальне скорочення до нього, просто змінивши ваги кромки (виправте мене, якщо я помиляюся).

Яка ситуація з DAG? Чи можна розрізати міні-розріз (або максимальний зріз) за багаточлен? Це NP-важко і, якщо так, чи існують відомі алгоритми наближення?

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


2
Де тут виходить з ладу лінійно-програмування формулювання міні-розрізу?
Петро Шор

(використовуючи позначення з en.wikipedia.org/wiki/… ): Для країв з негативними вагами d_ {ij} може бути довільно великим. Навіть якщо одна межа d_ {ij} зверху, вона завжди буде приймати максимально можливе значення для ребер з негативними вагами. Тож рішення такої програми не завжди дасть вагомий строк. Я можу помилятися, оскільки не дуже переживаю подібні проблеми, якщо так, будь ласка, виправте мене. В основному я хотів би знати, чи можна максимально скоротити (з довільними вагами) для вирішення ефективності для DAG чи ні.
Джордж

1
Щоб зробити цю роботу, вам потрібно змінити першу нерівність на рівність: . Я досі не бачу, чому це виходить з ладу, але, можливо, я щось пропускаю. Я мало про це думав. dij=pjpi
Петро Шор

Напевно, мені щось тут не вистачає. Чи гарантує це, що всі приймають цілісні значення? Можна було б зв'язати зверху з 1, але я не впевнений, працює це чи ні. Проблема, здається, полягає в тому, що якщо це можна вирішити, можна зменшити максимальний зріз до нього, змінивши ваги кромки, що не повинно бути можливим, оскільки максимальний розріз є важким для NP. Однак я можу помилитися тут. pipi
Джордж

1
Невже максимум розрізаного NP не є складним для DAG? Якщо графік не DAG, ви не можете змінити цю нерівність на рівність, тому що вам потрібна нерівність, якщо є цикли. Так що в загальному випадку ЛП не працює з негативними вагами.
Петро Шор

Відповіді:


10

Ви ще уточнили свою проблему ще в коментарях. Щоб бути більш конкретним, у вас є DAG з усіма краями, що відтікають від джерела та до раковини (тобто всі ребра знаходяться на шляху від до ). Ви хочете знайти мінімальний розріз між двома частинами DAG, де перша деталь з'єднана з , а друга підключена до . Для цієї проблеми працює зміна стандартного алгоритму лінійного програмування для MIN-CUT, навіть із негативними вагами.стстст

Ми використовуємо ті самі позначення, що і у Вікіпедії . Вартість краю є . потенційну функцію на кожен вузол, і нехай . LP є (i,j)cijpiгij=pi-pj

мiнiмizе (i,j)Еcijгijсубjеcт то    гij=pi-pj  (i,j)Е   гij0           (i,j)Е   pс=1   pт=0

Ці рівняння гарантують, що , оскільки кожна вершина знаходиться на деякому - шляху. Аналогічно, оскільки невід’ємний, потенціали на будь-якому шляху від до зменшуються. Нам ще потрібно показати, що існує оптимальне рішення для LP з усіма або або . Це випливає з того факту, що значення для розчину LP вище є очікуваним значенням розрізу , де вибирається випадковим чином у , а розріз отримується, ставлячи всі вершини0pi1стгij=pi-pjстpi01Сшш[0,1]Сшiз у першому наборі вершин, а всі вершини з у другому множині.piшpi<ш


Дякую за чудову відповідь, Пітер. На перший погляд було не очевидно, що , але я думаю, що я це отримав. Однак у мене є проблеми з розумінням аргументу про цілісне рішення. 0piлеq1
Джордж

@George: це той самий аргумент, який показує, що звичайний LP Min-Cut має цілісні рішення. Десь в Інтернеті має бути довше (і зрозуміліше) пояснення.
Петро Шор

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