Постійна проблема оптимізації, яка зводиться до TSP


11

Припустимо, мені задано кінцевий набір точок у площині і попросимо провести двічі диференційовану криву через , щоб її периметр був максимально меншим. Якщо припустити, що та , я можу формалізувати цю проблему як: C ( P ) p i p i = ( x i , y i ) x i < x i + 1p1,p2,..pнС(П)pipi=(хi,уi)хi<хi+1

Завдання 1 (відредаговано у відповідь на коментарі Суреша) Визначте функції параметра таким, що довжина дуги зведено до мінімуму, при цьому і для всіх , маємо . x ( t ) , y ( t ) t L = [ t 0 , 1 ] С2х(т),у(т)тL=[t0,1]x2+y2dtx(0)=x1,x(1)=xnti:x(ti)=xiy(ti)=yi)

Як я можу довести (або, можливо, спростувати), що проблема 1 є важкою для NP?

Чому я підозрюю твердість NP Припустимо, що припущення розслаблене. Очевидно, що функція мінімальної довжини дуги є комівояжер тур по р I «с. Можливо, обмеження C 2 лише ускладнює проблему?C2piC2

Контекст Варіант цієї проблеми був розміщений на MSE . Він не отримав відповіді і там, і в МО . Враховуючи, що вирішити проблему нетривіально, я хочу встановити, наскільки це важко.


1
Обмеження, що здається, значно полегшує проблему. Зокрема, якщо тепер ви скасуєте обмеження C 2 , чому ця проблема не тривіально вирішена, оскільки ви з'єднуєте точки прямими лініями? xi<xi+1C2
Суреш

1
Це не функція. Якщо ви «обведіть навколо» від до p 2 , при обмеженні, що x 1 < x 2 < x 3 , ваша крива буде перетинатися вертикальною лінією двічі. p3p2x1<x2<x3
Суреш

1
Незрозуміло, вам потрібно вказати, що ви маєте на увазі під "визначити" тут. Це не стандартна термінологія. Це навіть не проблема прийняття рішення, тому використання терміна NP-hard не має сенсу.
Каве

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

1
Введення / вихід вже не є кінцевим об'єктом, наприклад, якщо ви дійсно маєте справу з реальними числами / функціями, то ваша проблема вищого типу. Кожен нескінченний об'єкт задається нескінченним рядом наближень до об'єкта, що передбачається. Сторінка мережі CCA містить більше посилань, якщо вас цікавить.
Kaveh

Відповіді:


12

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

Якщо у вас є рішення TSP, у вас крива яка проходить через усі точки. І навпаки, припустимо, у вас крива C 0 кінцевої довжини, яка проходить через усі точки, і нехай p σ ( 1 ) , , p σ ( n ) - це порядок, в якому вона проходить через точки і t 1 , , t n відповідні параметри (якщо крива проходить точку більше одного разу, виберіть будь-яке з можливих значень t ). Тоді крива побудована з n відрізків [C0C0pσ(1),,pσ(n)t1,,tntn[pσ(1),pσ(2)],,[pσ(n1),pσ(n)],[pσ(n),pσ(1)]коротша, тому що для кожного відрізка пряма лінія коротша за будь-яку іншу криву, яка з'єднує точку. Таким чином, для кожного впорядкування точок найкраща крива - це рішення TSP, а рішення TSP забезпечує найкраще впорядкування точок.

Давайте тепер показуємо , що вимога кривого бути (або C до для будь-яких до ) не змінює кращий порядок точок. Для будь-якого TSP рішення загальної довжини л і будь-якого е > 0 , ми можемо округлити кожен кут, тобто побудувати C кривої , яка перетинає точки в тому ж порядку і має довжину не більше + ε (явна конструкція спирається на алгебраїчні функції та e - 1 / t 2 для визначення функцій удару та від тих плавних зв'язків між сегментами кривих, таких якCCkkϵ>0C+ϵe1/t2 який з'єднується з y = 0 при x = 0 і з y = x при x = 1 ; нудно робити ці явні, але вони обчислювані); отже, нижня межакривої C така сама, як і для колекції сегментів (зауважте, що нижня межа взагалі не досягається).e11/x2(xe1/(1x)2)y=0x=0y=xx=1C


Це саме той аргумент, який я шукав, давно! Чи можете ви дати посилання на виснажливу конструкцію?
ПКГ

1
Це не зовсім суворо, тим більше, що в площині можна отримати довільно гарне наближення до TSP за багаточлен.
Суреш

Я думав, ти можеш наблизити TSP лише до коефіцієнта 2 у полі час?
ПКГ

@PKG Конструкція, ймовірно, має назву, але я боюся, що мої уроки з обчислення були занадто давно, щоб я це пам’ятав. Я щойно пам’ятав, що основне з'єднання називається ударною функцією.
Жил "ТАК - перестань бути злим"

1
Це не помилка сама по собі. Ваше зменшення приблизне - до деякого терміну помилки . Це має значення, оскільки скорочення може бути дорогим (тобто експоненціальне в 1 / ϵ ). Тож зменшення не є точним. @PKG можна наблизити TSP до фактора 3/2 в загальних метричних просторах і довільно закрити (до 1 + ϵ ) в площині або будь-якому евклідовому просторі. ϵ1/ϵ1+ϵ
Суреш
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.