Чи можете ви визначити суму двох перестановок у поліноміальний час?


29

Були два питання нещодавно запитав про cs.se , які були або пов'язані або мали особливий випадок , еквівалентний наступного питання:

Припустимо , у вас є послідовність 1 , а 2 , ... п з чисел таких , що Розкладемо його в суму двох перестановок, і , з , так що .a1,a2,ana i = π i + σ ini=1nai=n(n+1).πσ1nai=πi+σi

Існують деякі необхідні умови: якщо відсортовано так, що , тоді ми повинні матиa 1a 2a naiа1а2ан

i=1kaik(k+1).

Однак цих умов недостатньо. З відповіді на це запитання, яке я задав, математичну послідовність 5,5,5,9,9,9 не можна розкласти як суму двох перестановок (це можна побачити, використовуючи той факт, що обидва 1 або 5 можуть бути в парі з 4).

Отже, моє запитання: у чому полягає складність цієї проблеми?


До речі, мені прийшла в голову проста версія, і я не впевнений у її складності. Чи можете ви визначити фіксовану вільну суму двох перестановок за багаточлен? (Ми вимагаємо, щоб дві перестановки не погоджувалися в кожній позиції, тобто для всіх ) iπiσii
Мохаммед Аль-Туркстані

Відповіді:


20

Ні, ви не можете ідентифікувати суму двох перестановок у поліноміальний час, якщо P = NP. Ваша проблема є NP-завершеною, оскільки версія рішення вашої проблеми еквівалентна проблемі -повного NP- числового зіставлення з цільовими сумами:2

Вхідний сигнал: Послідовність позитивних цілих чисел, Σ п я = 1 з I = п ( п + 1 ) , 1 я2 п для 1 я пa1,a2,ani=1nai=n(n+1)1ai2n1in

Запитання: Чи є дві перестановки і ψ 2 такі, що ψ 1 ( i ) + ψ 2 ( i ) = a i при 1 i n ?ψ1ψ2ψ1(i)+ψ2(i)=ai1in

У довідці було доведено, що сильно обмежений варіант НУМЕРИЧНОГО 3-РОЗМІЧНОГО МЕТЧИНУ (RN3DM) є сильно NP-завершеним.

RN3DM, З огляду на мультімножество цілих чисел і цілого числа e таких, що n j = 1 u j + n ( n + 1 ) = n e , чи існують дві перестановки λ і μ такі, що u j + λ ( j ) + μ ( j ) = eU={u1,...,un}ej=1nuj+n(n+1)=neλμuj+λ(j)+μ(j)=e, Для ?j=1,...,n

Існує легке зниження від RN3DM до числового зіставлення з цільовою сумою проблеми: З огляду на примірник RN3DM. Побудуємо відповідний екземпляр, зробивши в I = е - у я для 1 я п2ai=eui1in

В. Ю., Х. Хугевен і Дж. К. Ленстра. Мінімізація пробігу в цеху потоку на двох машинах із затримками та операціями, що працюють в одиницю часу, є важким для NP . Журнал планування, 7: 333–348, 2004

РЕДАКТИРУЙТЕ 1 жовтня : Ваша проблема називається ВІДМОВЛЕННЯМИ СУМИ. Він перерахований з 1998 року у ВІДКРИТИХ ПРОБЛЕМ У КОМБІНАТОРНІЙ ОПТИМІЗАЦІЇ Стіва Хедтнємі.


2
Дякую за відповідь. Я відповів на одну з проблем cs.se, яка надихнула цю проблему (яка не була у формі, на яку відповіли безпосередньо ваші посилання), але я думаю, що ви повинні мати перший шанс відповісти на другу, оскільки відповідь дана у вашому довіднику.
Пітер Шор

Велике спасибі, Пітер. Я радий, що зміг тобі допомогти. Я думаю, ви дасте кращу відповідь. Тож, будь ласка, дайте відповідь і на це питання.
Мохаммед Аль-Туркстані

Ось постановка проблеми, як вона з’явилася на вищевказаній веб-сторінці: ПІДВИЩЕННЯ РЕЗУЛЬТАТІВ [Cheston, 198X] ІНСТАНЦІЯ: масив A [1..n] додатних цілих чисел. ПИТАННЯ: Чи існують дві перестановки r і s додатних цілих чисел {1,2, ..., n} такі, що для 1 <= i <= n, r (i) + s (i) = A [i] ?
Мохаммед Аль-Туркстані

4

З іншого боку, Маршалл Холл показав, що можна легко визначити різницю двох перестановок.


14
Теорема Маршалла Холла застосовується і до суми, але і різницю, і суму необхідно обчислити за модулем щоб застосувати його результат. За Z і сума, і різниця є NP-повними. nZ
Пітер Шор

3
@PeterShor Для повноти опублікуйте коментар як окрему відповідь, надавши доказний ескіз NP-повноти виявлення різниці двох перестановок.
Мохаммед Аль-Туркстані

3
Для повноти: Припустимо, у нас є дві перестановки і π . Тоді у нас ˉ π ( i ) = n + 1 - π ( i ) - також перестановка. Тепер, якщо ϕ + π - мультисет { x 1 , x 2 , , x n } , то ϕ - ˉ π - мультисет { x 1 - ( n + 1 )ϕππ¯(i)=n+1π(i)ϕ+π{x1,x2,,xn}ϕπ¯ . Наприклад, { - 2 , - 2 , - 2 , 2 , 2 , 2 } не можна представити як різницю двох перестановок, оскільки { 5 , 5 , 5 , 9 , 9 , 9 } не є сумою двох перестановок.{x1(n+1),x2(n+1),,xn(n+1)}{2,2,2,2,2,2}{5,5,5,9,9,9}
Пітер Шор
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.