Чи проблема з довгим маршрутом легше, ніж проблема з найдовшим шляхом?


14

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

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

Зауважте, що мені відомо про наведений тут аргумент: /programming/8368547/how-to-find-the-lolong-heaviest-trail-in-an-undirected-weighted-graph Однак аргумент здається недосконалим у своєму нинішньому вигляді, оскільки це в основному показує, що ви могли вирішити крайній простий випадок, вирішивши простий вузол випадку на іншому графіку (тому зменшення - неправильний шлях). Не ясно, що зменшення можна легко змінити, щоб воно працювало і в інший спосіб. (Але все-таки це показує, що принаймні проблема з найдовшими стежками не є складнішою, ніж проблема з найдовшими шляхами.)

Чи є якісь відомі результати пошуку найдовших стежок (прості шляхи)? Складність (клас)? (Ефективний) алгоритм?


Це зовсім не та сама проблема, але погляньте на проблему з мінімальним розширенням Ейлера, яка досить схожа.
РБ

10
Можливо, я не добре зрозумів це питання, але гамільтонів шлях є NP-повним навіть на кубічних графах, оскільки для кожного обходу вузла потрібні два ребра, немає способу повторно використовувати вузол двічі, навіть якщо ми послабимо умову від простого вузла шляхи до крайніх простих стежок; тому проблема гамільтонівського шляху залишається завершеною NP.
Марціо Де Біасі

3
@Bangye: гаразд, але в кубічних графах, якщо вузол проходить один раз, необхідно використовувати 2 ребра ... і вузол не можна пройти знову (тому що є лише один неперевершений край). Тож у кубічних графах вузли не можна "повторити" (за винятком останнього краю сліду, який може потрапити на вже пройдений вузол)
Marzio De Biasi,

1
Ось довідка: А. А. Бертоссі, Крайова проблема гамільтонічного шляху не є повною, НП, Листи з обробки інформації, 13 (1981) 157-159.
Ламінь

1
@Lamine: Дякую за пояснення. Я не думаю, що вам доведеться видаляти свої коментарі, оскільки було б цілком природно спершу придумати подібну ідею, і побачити, що це не працює, це справді корисно.
Йота Отачі

Відповіді:


21

З вищезазначених коментарів: проблема циклу Гамільтона залишається NP-повною навіть у сітчастому графіку з максимальним ступенем 3 [1], але в цих графіках кожне обхід вузла вимагає двох ребер і щонайменше один край залишається невикористаним, тому вузол не може бути двічі проходив ейлеровою стежкою.

Г=(V,Е)|V|

уV'=V{у',у}Е=Е{(у,у'),(у,у)}|V'|=|V|+2у',у

[1] Крістос Пападімітріу, Умеш V Вазірані, Про дві геометричні задачі, пов'язані з проблемою продавця подорожей, Журнал алгоритмів, Том 5, Випуск 2, червень 1984, Сторінки 231-246, ISSN 0196-6774


|Е||V|

1
|Е|О(1)|V|у',у
Марціо Де Біасі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.