«Родичі» проблеми найкоротшого шляху


10

Розглянемо пов'язаний непрямий графік з негативними ребрами і двома розрізненими вершинами . Нижче наведено деякі проблеми шляху, які наводяться у наступній формі: знайдіть шлях таким чином, щоб певна функція ваги ребер на шляху була мінімальною. У цьому сенсі всі вони "родичі" найкоротшого шляху; в останньому функцією є просто сума.s,tst

Примітка: ми шукаємо прості шляхи, тобто без повторних вершин. Оскільки в літературі я не знайшов стандартних назв для цих проблем, я сам їх назвав.

Шлях з мінімальною вагою розриву: знайти шлях, таким чином, що різниця між найбільшим і найменшим вагами ребер на шляху мінімальна.st

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

Шлях з мінімальною висотою: визначимо висоту шляху шляхом суми розмірів кроків уздовж шляху (див. Визначення розміру кроку вище). Знайдіть шлях з мінімальною висотою.st

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

Питання: що відомо про ці проблеми шляху? (І інші, які можна було б уявити в подібному дусі, застосовуючи різну функцію ваг.) Загалом, чи є вказівки про те, які функції крайових ваг можна звести до мінімуму в поліномічний час, а які - важкі для NP?

Примітка: цікаво, наприклад, що хоча суму ваг легко звести до мінімуму (це класична проблема найкоротшого шляху), але мінімізувати тісно пов’язане середнє значення ваг на шляху є важким NP. (Присвоїти вага 2 для всіх ребер , інцидентних і і вага 1 для всіх інших. Потім хв середня вага шлях буде довга шлях).stst

Відповіді:


8

Ось відповідь на першу проблему:

Шлях з мінімальною вагою розриву: знайти шлях, таким чином, що різниця між найбільшим і найменшим вагами ребер на шляху мінімальна.st

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

С. Мартелло, В. Р. Пуллібланк, П. Тот, Д. де Верра
Збалансовані проблеми оптимізації
Операційні дослідження, листи 3, 1984, Сторінки 275-278

Це означає поліноміальний алгоритм часу до вашого питання.


1
Це також може бути здійснено шляхом грубої сили пошуку по всіх парах ребер, які можуть складати макс та хв, та їх порядок / орієнтації.
Yonatan N

3

Шлях із мінімальним розривом ваги : це можна вирішити в часі , де- кількість ребер (якщо є щонайменше лінійним за кількістю вершин). Ви можете перебирати мінімальну вагу та здійснювати двійковий пошук (або ефективні оновлення) над максимальною вагою та перевіряти зв’язок. Я не знаю, чи можна це покращити.O~(|E|2)|E||E|

Шлях з мінімальною висотою (у вашій термінології): Це можна вирішити в часі . Ви можете обчислити відстань (як і сума розмірів "крок") до всіх країв аналогічно звичайному зваженому найкоротшому шляху. Зауважте, що повторні вершини не можуть скоротити шлях. Щоб ефективно обробляти вершини високого ступеня (як, уникаючи часу ), ви можете розділити вершину ступеня на шлях вершин.O~(|E|)|E|2kk1

Шлях з мінімальною базовою вагою: Якщо ваги є двійковими, це повинно бути NP повним: Використовуйте вагу 1 кромки, за винятком початкового краю з великою вагою, таким, що тільки гамільтонів шлях має основну вагу (вага - це сума ваги ребра) . (Застереження полягає в тому, що ми не довели, що досить великі прайми (навіть без мінімальних простих прогалин) можна швидко знайти без випадкових випадків.) Навіть для одинарних ваг я не сподіваюсь, що це буде в P.
Мінімальна вагома вага, що дозволяє самостійно перехрестя: В P для одинарних ваг. Якщо замість набору простих чисел ми використовували набір випадкових чисел з щільністю , то з ймовірністю 1 це вSΘ(n/logn)PSнавіть для двійкових ваг: Досить відстежувати поліноміально багато (залежно від ) найважчих ваг шляху у кожній точці. Однак, з простими вагами, нам, можливо, доведеться диверсифікувати поділки вагових перепадів (замість того, щоб просто відстежувати найменші ваги), і незрозуміло, чи цього достатньо.S

Найгладший шлях: NP завершено. Якби ми дозволили самоперехрестя, це було б вирішено в часі , але для версії без самопересічень тут зменшення від 3-SAT з змінними. Мати вершини , плюс вершину для кожного пункту. Для кожної змінної ( ) додайте плавний шлях (використовуючи додаткові вершини, якщо потрібно) від до який проходить через усі пропозиції з позитивним виникненням , і аналогічний шлях для пропозицій зO~(|E|)ns=v0,v1,...,t=vnxii<nvivi+1xi¬xi. Встановіть першу та останню вагу краю кожного шляху на 1 (або іншу константу), але в іншому випадку вибирайте ваги такими, щоб жоден інший шлях не був рівним. Нарешті, дублюйте всі вершини пункту та суміжні краї; таким чином кожне застереження можна відвідати не більше двох разів, що достатньо для 3-SAT.


Я думаю, найгладший шлях знаходиться в P, завдяки наступній трансформації. Нехай - вершина ступеня . Замініть на клацання розміром таким чином, щоб кожен край який був спочатку сусіднім з тепер закінчувався на іншій вершині кліки. Якщо - два таких оригінальних ребра, то призначте вагудо краю у кліці. Зробіть це перетворення для кожної вершини і призначте 0 ваги вихідним гранам графіка. Потім мінімальна вагаvdvdevvee,f|w(e)w(f)|(ve,vf)vs,tstШлях у новому графіку дає найгладший шлях у оригіналі після відміни трансформації.
Андрас Фараго

@AndrasFarago Проблема з вашим аргументом полягає в тому, що деякі прості шляхи в розширеному графіку мають повторні вершини в початковому графіку. Мені подобається, що найгладша проблема шляху виглядає оманливо просто.
Дмитро Тарановський

@ Дмитро Тарановський Здається, ви маєте рацію, справді може статися, що після повернення до початкового графа ми можемо отримати повторні вершини на шляху (але жодних повторних країв). Однак якщо кожен ступінь в початковому графіку становить максимум 3, то повторення не може відбутися. Це означає, що проблема «Найгладший шлях» є в P принаймні для графіків з максимальним ступенем . 3
Андрас Фараго

На жаль, у перетвореному графіку нам потрібно знайти шлях з найменшою максимальною вагою (який також є в P), а не найменший загальний вага. Загальна вага призвела б до Шляху з мінімальною висотою (у графіках з максимальним ступенем , щоб повторні вершини були виключені). 3
Андрас Фараго
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.