незавершеність розпізнавання різниці двох перестановок


21

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

Різниця перестановки:

ІНСТАНЦІЯ: Масив натуральних чисел.A[1...n]

ПИТАННЯ: Чи існують дві перестановки та натуральних чисел такі, що для ?σ 1 , 2πσ1,2,...,n|π(i)−σ(i)|=A[i]1≤i≤n

Що таке зменшення для доведення неповноти розпізнавання різниці двох перестановок?NP

EDIT 10-9-2014 : коментар Шора дає зниження , яке доводить повнота , коли елементи послідовності будуть підписані відмінності. Однак я не бачу легкого зменшення моєї проблеми, коли всі елементи є абсолютними значеннями відмінностей.АNPAA

ОНОВЛЕННЯ: Проблема відмінності перестановки здається незавершеною, навіть якщо одна з двох перестановок завжди є перестановкою ідентичності. Доказ твердості цього особливого випадку дуже вітається. Отже, мене цікавить незавершеність цієї обмеженої версії:N PNPNP

Обмежена різниця перестановок: ІНСТАНЦІЯ: Масив додатних цілих чисел.A[1...n]

ПИТАННЯ: Чи існує перестановка з натуральних чисел така, що для ?1 , 2 , . . . , п | π ( i ) - i | = A [ i ] 1 ≤ i ≤ nπ1,2,...,n|π(i)−i|=A[i]1≤i≤n

Оновлення 2 : Обмежена проблема ефективно вирішується, як показано у відповіді mjqxxxx. Обчислювальна складність вихідної проблеми не доведена.

EDIT 9/6/16 : Мені цікаво визначити, чи є це спрощення різниці перестановок NP-завершеним:

Обмежена різниця перестановок:

ПОДІЇ : Мультімножество позитивних цілих чисел.A

ПИТАННЯ : Чи існує перестановка з натуральних чисел така, що ?π1,2,...,nA={|π(i)−i|:1≤i≤n}


Чому б не запитати Петра безпосередньо? @Peter
— caozhu

Ви маєте на увазі електронною поштою? Я зроблю це.
— Мохаммед Аль-Туркстані

Можливо, мені щось не вистачає, але чи не може ця проблема бути представлена ​​як 2-SAT і, таким чином, вирішуватися в політаймі? Ми можемо припустити WLOG, що однією з перестановок є тотожність (я припускаю, що A [i] обчислюється циклічно; чи це має значення?), І тоді ми можемо представляти другу за допомогою матриці . Бути матрицею перестановки - це сполучення пунктів двох змінних, що свідчить про те, що жодна з двох не лежить у рядку чи стовпці; а потім сказати, що різниця в розташуванні pi (i) від i є A [i] є АБО з двох можливих місць, в яких вона може знаходитися.x[i,j]
— Noam

@Noam Дякую за коментар Цікава ідея. Я про це не думав. Однак мені не очевидно, чи призведе це до поліноміального алгоритму часу, тим більше, що нам задають лише абсолютне значення відмінностей.
— Мохаммед Аль-Туркистан

1
Так, здається, що різниця між підрахунком розриву циклічно або в абсолютній величині може мати значення.
— Ноам

Відповіді:


5

Проблема з обмеженням, де однією з перестановок є тотожність, безумовно, в . Побудуйте двопартійний графік, де кожна вершина з'єднана з елементом ( ) таким що . Тоді потрібна перестановка існує тоді і лише тоді, коли графік має ідеальну відповідність (тобто відповідність з ребрами), яку можна визначити за полиномним часом. i ∈ V 1 = { 1 , 2 , … , n } j ∈ V 2 = { 1 , 2 , … , n } | i - j | = A [ i ] σ nPi∈V1={1,2,…,n}j∈V2={1,2,…,n}|i−j|=A[i]σn


Я можу чогось бракувати, але будь-яке ідеальне узгодження не вийде. Ви повинні довести існування обмеженої ідеальної відповідності. Розглянемо ціле число , яке відбувається в два рази у вхідному масиві A . Ідеальна відповідність, що відповідає перестановці, повинна мати два ребра з абсолютною різницею k . Ваш алгоритм НЕ підтверджує існування такої обмеженої відповідності. Саме це робить проблему важкою і, можливо, NP-повною. kAk
— Мохаммед Аль-Туркстані

2
@ MohammadAl-Туркстані: Я думаю, що якщо то u i , u j ∈ V 1 пов'язані з вузлами v i + A [ i ] , v i - A [ i ] , v j + A [ j ] , v j - A [ j ] ∈ V 2A[i]=A[j]=kui,uj∈V1vi+A[i],vi−A[i],vj+A[j],vj−A[j]∈V2з абсолютними різницями . Узгодження ідеально буде включати в себе , щонайменше одне ребро з ¯u I і одне ребро з ¯u J . Я прийшов до такого ж висновку кілька разів тому, думаючи про початкову проблему, але слідуючи іншим способом: я побачив, що легко сформулювати обмежену проблему як формулу 2-SAT (якщо ви хочете, я можу додати відповідь на неї , але ідея mjqxxxx краща). kuiuj
— Marzio De Biasi

@MarzioDeBiasi Чому такий підхід (і ваш) не працює для оригінальної (необмеженої) проблеми?
— Мохаммед Аль-Туркстані

@mjqxxx Я бачу, що ваш підхід вирішує обмежений випадок. Чому її не можна розширити, щоб ефективно вирішити первісну проблему?
— Мохаммед Аль-Туркстані

@ MohammadAl-Turkistany: оскільки в оригінальній проблемі елементи першої перестановки ( в обмеженій версії) не виправлені, і використовуючи той самий підхід, ви закінчуєте тристоронній графік (і в моєму 2-SAT підході з a δ i ( n ) → ( π i ( n + A [ i ] ) ∨ π i ( n - A [ i ] ) ) пункт ... (це не застереження 2-CNF). iδi(n)→(πi(n+A[i])∨πi(n−A[i]))
— Marzio De Biasi

0

Ось м'яко цікавий варіант, де проблема проста: замість наземного набору , дозвольте будь-який підмножина { 1 , 2 , 4 , 8 , … } . Мета все-таки знайти перестановку π так, що A = { | π ( 2 к ) - 2 к | : 2 k ∈ Ω }, де Ω{1,2,3,…,n}{1,2,4,8,…}πA={|π(2k)−2k|:2k∈Ω}Ωє наземним набором. Основна перевага тут полягає в тому, що новий наземний набір змушує кожного елемента бути 2 k 1 - 2 k 2 для деяких k 1 , k 2 , а якщо k 1 ≠ k 2 , то k 1 і k 2 визначаються цим різниця. Звідси випливає, що для кожної різниці | 2 k 1 - 2 k 2 | в A ми можемо зробити висновок, що π ( 2 kA2k1−2k2k1,k2k1≠k2k1k2|2k1−2k2|A абоπ(2 k 2 )=2 k 1 (або обидва).π(2k1)=2k2π(2k2)=2k1

Ефективне вирішення цього спрощеного варіанту є більш-менш рутинним. Почніть з побудови непрямої двопартійної мультиграфії де L і R є різними копіями наземного набору, і додайте ребра ( 2 k 1 , 2 k 2 ) і ( 2 k 2 , 2 k 1 ) щоразу | 2 k 1 - 2 k 2 | з'являється вG=(L⊔R,E)LR(2k1,2k2)(2k2,2k1)|2k1−2k2| з k 1 ≠ k 2 . Я стверджую, що таке рівнозначне:Ak1≠k2

  1. Існує перестановка з відмінностями AπA
  2. Кожна вершина в має ступінь 0 або 2G

Я насправді не докажу це через час, але це не так вже й погано, щоб потренуватися самостійно. Що прямолінійний. Що 21⟹2 дещо складніший, але це не так вже й погано, коли ви міркуєте з автоморфізмом G, який надсилає кожну вершину в L для її копії в R (і навпаки). Я маю на увазі, що я маю на увазі ребра в G так, що всі ребра в циклі йдуть `` однаково навколо циклу '' (кожна неізольована вершина має ступінь = ступінь = 1), і так, що попередня Автоморфізм G залишається автоморфізмом спрямованої версії. π потім вибираєтьсявідповідності з краямиякі йдуть від L до R .2⟹1GLRGGπLR

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

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