Приблизний 1d TSP з лінійними порівняннями?


21

O(nlog⁡n)1+O(n−c)cO(n)(max−min)n−(c+1)його початкового значення, а потім використати сортування radix. Але моделі з округленням мають проблематичну теорію складності, і це змусило мене замислитися, як щодо слабших моделей обчислення?

Отже, наскільки точно можна зблизити одновимірний TSP у моделі обчислення лінійного дерева порівняння (кожен вузол порівняння перевіряє ознаку лінійної функції вхідних значень) алгоритмом, складність у часі якого ? Цей же метод округлення дозволяє досягти будь-якого відношення наближення форми (використовуючи двійкові пошуки, щоб зробити округлення, і округлення набагато більш грубим, щоб зробити його досить швидким). Але чи можна досягти навіть коефіцієнта наближення на зразок для деякого ?o(nlog⁡n)n1−o(1)O(n1−ϵ)ϵ>0


Я не знайомий з 1D TSP. Чи можете ви це визначити?
— Тайсон Вільямс

4
@Tyson Williams: Проблема шляху 1D-продавця подорожей є особливим випадком проблеми евклідової мандрівки продавця шляху, де всі міста знаходяться на осі x. Або формально вам дано n дійсних чисел a_1,…, a_n, і ваша мета - вивести перестановку π: {1,…, n} → {1,…, n} така, що ∑_ {i = 1} ^ {n − 1} | a_ {π (i)} - a_ {π (i + 1)} | зводиться до мінімуму.
— Цуйосі Іто

Відповіді:


10

РЕДАКТУВАННЯ (ОНОВЛЕННЯ): Нижня межа моєї відповіді нижче була доведена (іншим підтвердженням) у "Про складність наближення евклідових подорожей продавця та мінімальних розміщених дерев", автор Das et al; Algorithmica 19: 447-460 (1997).


чи можливо досягти навіть коефіцієнта наближення на зразок за деякий за час, використовуючи алгоритм порівняння?ϵ > 0 o ( n журнал n )O(n1−ϵ)ϵ>0o(nlog⁡n)

Ось нижня межа.

Претензія. Для будь-якого кожен алгоритм на основі порівняння -апроксимації вимагає порівняння у гіршому випадку.n 1 - ϵ Ω ( ϵ n log n )ϵ>0n1−ϵΩ(ϵnlog⁡n)

Під "на основі порівняння" я маю на увазі будь-який алгоритм, який запитує лише вхідні дані з бінарними (True / False) запитами.

Ось спроба доказу. Сподіваємось, помилок немає. FWIW нижня межа, ймовірно, поширюється на рандомізовані алгоритми.


Виправте будь-який та будь-який довільно малий, але постійний .ϵ > 0nϵ>0

Розглянемо лише"перестановочні" вхідні екземпляри які є перестановками . Оптимальне рішення для будь-якого подібного примірника коштувало .( x 1 , x 2 , … , x n ) [ n ] n - 1n!(x1,x2,…,xn)[n]n−1

Визначте вартість перестановки щоб бути. Моделюйте алгоритм таким чином, щоб взяти за вхід перестановку , вивести перестановку та оплатити вартість .c ( π ) = ∑ i | π ( i + 1 ) - π ( i ) | π π ′ d ( π , π ′ ) = c ( π ′ ∘ π )πc(π)=∑i|π(i+1)−π(i)|ππ′d(π,π′)=c(π′∘π)

Визначте як мінімальну кількість порівнянь для будь-якого алгоритму на основі порівняння для досягнення конкурентного відношення у цих випадках. Оскільки opt - , алгоритм повинен гарантувати максимум .n 1 - ϵ n - 1 n 2 - ϵCn1−ϵn−1n2−ϵ

Ми покажемо .C≥Ω(ϵnlog⁡n)

Визначте для будь-якого можливого виводу , частка можливих входів, для виводу яких буде досягати витрат, щонайбільше . Ця частка не залежить від .π ′ π ′ n 2 - ϵ π ′Pπ′π′n2−ϵπ′

π c ( π ) n 2 - ϵ π ′ I P d ( π , I ) n 2 - ϵ d ( π , I ) = c ( π )P також дорівнює ймовірності, що для випадкової перестановки його вартість становить щонайбільше . (Щоб зрозуміти, чому, візьміть як перестановку тотожності Тоді - частка входів, для якої не більше , але .)πc(π)n2−ϵπ′IPd(π,I)n2−ϵd(π,I)=c(π)

Лемма 1. .C≥log2⁡1/P

Доказ. Виправте будь-який алгоритм, який завжди використовує менше, ніж порівнянь. Дерево рішень для алгоритму має глибину, меншу, ніж , тому є менше листів, і для деякої вихідної перестановки алгоритм дає як вихід для більш ніж частка входів. За визначенням , принаймні на одному такому вході вихід дає вартість більше . QEDlog 2 1 / P 1 / P π ′ π ′ P P π ′ n 2 - ϵlog2⁡1/Plog2⁡1/P1/Pπ′π′PPπ′n2−ϵ

Лема 2. .P≤exp⁡(−Ω(ϵnlog⁡n))

Перш ніж ми наводимо доказ леми 2, зауважте, що дві леми разом дають твердження:

C ≥ log2⁡1P = log2⁡exp⁡(Ω(ϵnlog⁡n)) = Ω(ϵnlog⁡n).

Доведення леми 2. Нехай - випадкова перестановка. Нагадаємо, що дорівнює ймовірності того, що його вартість становить максимум . Скажіть, що будь-яка пара є ребром із вартістю, тож - сума реберних витрат.P c ( π ) n 2 - ϵ ( i , i + 1 ) | π ( i + 1 ) - π ( i ) | c ( π )πPc(π)n2−ϵ(i,i+1)|π(i+1)−π(i)|c(π)

Припустимо, .c(π)≤n2−ϵ

Тоді для будь-якого максимум ребер мають вартість або більше. Скажіть , що краю вартості менше , ніж є дешево .n 2 - ϵ / q q qq>0n2−ϵ/qqq

Виправити . Підставляючи та спрощуючи, максимум ребер недешево. n 1 - ϵ / 2q=n1−ϵ/2n1−ϵ/2

Таким чином, принаймні ребер є дешевими. Таким чином, існує безліч що містить дешевих ребер.S n / 2n−n1−ϵ/2≥n/2Sn/2

Претензія. Для будь-якого заданого набору з ребер, ймовірність того, що всі ребра в є дешевими, є не більше .n / 2 S exp ( - Ω ( ϵ n log n ) )Sn/2Sexp⁡(−Ω(ϵnlog⁡n))

Перш ніж довести твердження, зауважте, що вона передбачає лему наступним чином. За твердженням і пов'язаним наївним союзом, ймовірність існування такої множини є щонайбільше ( nS≤exp(O(n)-Ω(ϵnlogn))≤exp(-Ω(ϵnlogn)).

(nn/2)exp⁡(−Ω(ϵnlog⁡n)) ≤ 2nexp⁡(−Ω(ϵnlog⁡n))
 ≤ exp⁡(O(n)−Ω(ϵnlog⁡n)) ≤ exp⁡(−Ω(ϵnlog⁡n)).

Доказ вимоги. Виберіть виконавши наступний процес. Виберіть рівномірно з , потім виберіть рівномірно з , потім виберіть рівномірно з тощо.π ( 1 ) [ n ] π ( 2 ) [ n ] - { π ( 1 ) } π ( 3 ) [ n ] - { π ( 1 ) , π ( 2 ) }ππ(1)[n]π(2)[n]−{π(1)}π(3)[n]−{π(1),π(2)}

Розглянемо будь-ребро в . Розглянемо час, щойно вибрано , коли збирається вибрати . Незалежно від першого вибору (для для ), принаймні, варіантів для , і максимум цих Вибір може призвести до того, що крайні коштують менше, ніж (що робить його дешевим).S π ( i ) π ( i + 1 ) i π ( j ) j ≤ i n - i π ( i + 1 ) 2 n 1 - ϵ / 2 ( i , i + 1 ) n 1 - ϵ / 2(i,i+1)Sπ(i)π(i+1)iπ(j)j≤in−iπ(i+1)2n1−ϵ/2(i,i+1)n1−ϵ/2

Таким чином, за умови першого вибору , ймовірність того, що край дешевий, є щонайбільше . Таким чином, ймовірність того, що всі ребра в є дешевими, максимум Оскільки , у з є щонайменше ребра . Таким чином, цей продукт є максимум 2 n 1 - ϵ / 2i n/2S∏(i,i+1)∈S2n 1 - ϵ / 22n1−ϵ/2n−in/2S| S| ≥n/2n/4Sn-i≥n/4(2n 1 - ϵ / 2

∏(i,i+1)∈S2n1−ϵ/2n−i.
|S|≥n/2n/4Sn−i≥n/4
(2n1−ϵ/2n/4)n/4 ≤ (8n−ϵ/2)n/4 = exp⁡(O(n)−Ω(ϵnlog⁡n)) = exp⁡(−Ω(ϵnlog⁡n)).

QED


6
ps Я отримав прохання зробити це корисним, тому я розмістив його на arvix.org тут .
— Ніл Янг
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.