Можете ли вы определить сумму двух перестановок за полиномиальное время?


29

Были два вопросы недавно спросил о cs.se , которые были либо связанные или имели особый случай , эквивалентный следующему вопросу:

Предположим, у вас есть последовательность из n чисел, такая что ∑ n i = 1 a i = n ( n + 1 ) . Разложите его в сумму двух перестановок, π и , из , так что .a1,a2,…ann∑i=1nai=n(n+1).πσ1…nai=πi+σi

Есть некоторые необходимые условия: если отсортированы так, что , то мы должны иметьaia1≤a2≤…≤an

∑i=1kai≥k(k+1).

Однако этих условий недостаточно. Из ответа на этот вопрос по математике, который я задал, последовательность 5,5,5,9,9,9 не может быть разложена как сумма двух перестановок (это можно увидеть, используя тот факт, что оба 1 или 5 могут только быть в паре с 4).

Итак, мой вопрос: какова сложность этой проблемы?


Кстати, мне пришла в голову простая вариация, и я не уверен в ее сложности. Можете ли вы определить свободную сумму с фиксированной точкой двух перестановок за полиномиальное время? (Мы требуем, чтобы две перестановки расходятся в каждой позиции есть для всех I )πi≠σii
— Mohammad Al-Turkistany

Ответы:


20

Нет, вы не можете определить сумму двух перестановок за полиномиальное время, если P = NP. Ваша задача является NP-полной, так как версия решения вашей проблемы эквивалентна NP-полной задаче Числовое сопоставление с целевыми суммами:2

Входные данные: последовательность целых натуральных чисел , ∑ n i = 1 a i = n ( n + 1 ) , 1 ≤ a i ≤ 2 n для 1 ≤ i ≤ na1,a2,…an∑i=1nai=n(n+1)1≤ai≤2n1≤i≤n

Вопрос: Есть ли две перестановки и ψ 2 такие , что ψ 1 ( я ) + ψ 2 ( я ) = а яψ1ψ2ψ1(i)+ψ2(i)=ai для ?1≤i≤n

В ссылке, строго ограниченный вариант ЧИСЛЕННОГО 3-мерного сопоставления (RN3DM) оказался сильно NP-полным.

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

Существует простое сокращение от RN3DM до числового сопоставления с проблемой целевых сумм: данный пример RN3DM. Построим соответствующий экземпляр, сделав a i = e - u i для 1 ≤ i ≤ n2ai=e−ui1≤i≤n

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

РЕДАКТИРОВАТЬ 1 октября . Ваша проблема называется суммирования. С 1998 года он включен в ОТКРЫТЫЕ ПРОБЛЕМЫ КОМБИНАТОРНОЙ ОПТИМИЗАЦИИ Стивом Хедетниеми.


2
Спасибо за ответ. Я ответил на одну из проблем на cs.se, которая вдохновила эту проблему (которая не была в форме, на которую прямо ответил ваш отзыв), но я думаю, что у вас должна быть первая возможность ответить на вторую, поскольку ответ дан в вашей ссылке.
— Питер Шор

Большое спасибо, Питер. Я рад, что смог вам помочь. Я думаю, что вы дадите лучший ответ. Поэтому, пожалуйста, продолжайте и ответьте на этот вопрос тоже.
— Мухаммед Аль-Туркистани

Вот формулировка проблемы, как она появилась на приведенной выше веб-странице: СУММЫ ПЕРМУТАЦИИ [Cheston, 198X] INSTANCE: Массив 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.