-completitud de reconocer la diferencia de dos permutaciones

21

Shor declaró, en su comentario a la respuesta anónima de los alces a esta pregunta ¿Puedes identificar la suma de dos permutaciones en el tiempo polinómico? , que es completo para identificar la diferencia de dos permutaciones. Desafortunadamente, no veo una reducción directa del problema de la suma de permutación y es útil tener la reducción de la completitud para el problema de la diferencia de permutación.NPNP

Diferencia de permutación:

INSTANCIA: Una matriz de enteros positivos.A[1...n]

PREGUNTA: ¿Existen dos permutaciones y de los enteros positivos tales que para ?πσ1,2,...,n|π(i)σ(i)|=A[i]1in

¿Cuál es la reducción para probar la completitud de reconocer la diferencia de dos permutaciones?NP

EDITAR 10-9-2014 : el comentario de Shor da una reducción que prueba la completitud cuando los elementos de la secuencia son diferencias con signo . Sin embargo, no veo una reducción fácil a mi problema donde todos los elementos de son los valores absolutos de las diferencias.NPAA

ACTUALIZACIÓN: El problema de la diferencia de permutación parece ser completo, incluso si una de las dos permutaciones es siempre la permutación de identidad. La prueba de dureza de este caso especial es muy bienvenida. Por lo tanto, estoy interesado en -completitud de esta versión restringida:NPNP

Diferencia de permutación restringida: INSTANCIA: Una matriz de enteros positivos.A[1...n]

Pregunta: ¿existe una permutación de los enteros positivos 1 , 2 , . . . , n tal que | π ( i ) - i | = A [ i ] para 1 i n ?π1,2,...,n|π(i)i|=A[i]1in

Actualización 2 : El problema restringido es eficientemente decidible como se muestra en la respuesta de mjqxxxx. La complejidad computacional del problema original no está probada.

EDITAR 9/6/16 : Estoy interesado en determinar si esta simplificación de la diferencia de permutación es NP-completa:

Diferencia de permutación restringida:

INSTANCIA : Un conjunto múltiple de enteros positivos.A

PREGUNTA : ¿existe una permutación de los enteros positivos 1 , 2 , . . . , n tal que A = { | π ( i ) - i | : 1 i n } ?π1,2,...,nA={|π(i)i|:1in}

Mohammad Al-Turkistany
fuente
¿Por qué no preguntarle a Peter directamente? @Peter
caozhu
¿Quieres decir por correo electrónico? Lo haré.
Mohammad Al-Turkistany
Puede que me falte algo, pero ¿no puede representarse este problema como un 2-SAT y, por lo tanto, resolverse en polytime? Podemos suponer WLOG que una de las permutaciones es la identidad (supongo que A [i] se calcula cíclicamente; ¿eso debería importar mucho?), Y luego podemos representar la segunda por una matriz . Ser una matriz de permutación es una conjunción de las cláusulas de dos variables que indican que no hay dos en una fila o en una columna; y luego decir que la diferencia está en las ubicaciones de pi (i) de i es A [i] es el OR de los dos lugares posibles en los que puede estar.x[i,j]
Noam
@Noam Gracias por tu comentario. Idea interesante. No lo pensé. Sin embargo, no es obvio para mí si conducirá a un algoritmo de tiempo polinómico, especialmente porque solo se nos da el valor absoluto de las diferencias.
Mohammad Al-Turkistany
1
Sí, parece que la diferencia entre contar la brecha cíclicamente o en valor absoluto puede ser importante.
Noam

Respuestas:

5

El problema restringido, donde una de las permutaciones es la identidad, es ciertamente en . Construya el gráfico bipartito donde cada vértice i V 1 = { 1 , 2 , ... , n } está conectado al elemento (s) j V 2 = { 1 , 2 , ... , n } tal que | i - j | = A [ i ] . Entonces la permutación deseada σPiV1={1,2,,n}jV2={1,2,,n}|ij|=A[i]σexiste si y solo si el gráfico tiene una coincidencia perfecta (es decir, una coincidencia con aristas), que puede determinarse en tiempo polinómico.n

mjqxxxx
fuente
Puede que me falte algo, pero cualquier combinación perfecta no funcionará. Debes demostrar la existencia de una combinación perfecta restringida. Considere un número entero que aparece dos veces en la matriz de entrada A . La coincidencia perfecta que corresponde a la permutación debe tener dos aristas con diferencia absoluta k . Su algoritmo NO prueba la existencia de dicha coincidencia restringida. Esto es lo que hace que el problema sea difícil y posiblemente NP-completo. kAk
Mohammad Al-Turkistany
2
@ MohammadAl-Turkistany: Creo que si entonces u i , u jV 1 están vinculados a los nodos v i + A [ i ] , v i - A [ i ] , v j + A [ j ] , v j - A [ j ]V 2A[i]=A[j]=kui,ujV1vi+A[i],viA[i],vj+A[j],vjA[j]V2con diferencias absolutas . La coincidencia perfecta incluirá al menos un borde de u i y un borde de u j . Llegué a la misma conclusión hace algunas veces mientras pensaba en el problema original, pero de otra manera: vi que es fácil formular el problema restringido como una fórmula 2-SAT (si lo desea, puedo agregar una respuesta con él) , pero la idea de mjqxxxx es mejor). kuiuj
Marzio De Biasi
@MarzioDeBiasi ¿Por qué este enfoque (y el suyo) no funciona para el problema original (sin restricciones)?
Mohammad Al-Turkistany
@mjqxxx Veo que su enfoque resuelve el caso restringido. ¿Por qué no se puede extender para resolver eficientemente el problema original?
Mohammad Al-Turkistany
iδi(n)(πi(n+A[i])πi(nA[i]))
0

{1,2,3,,n}{1,2,4,8,}πA={|π(2k)2k|:2kΩ}ΩA2k12k2k1,k2k1k2k1k2|2k12k2|Aπ(2k1)=2k2π(2k2)=2k1

G=(LR,E)LR(2k1,2k2)(2k2,2k1)|2k12k2|Ak1k2

  1. πA
  2. G

1221GLRGGπLR

Puede formular el algoritmo anterior como una pregunta de coincidencia perfecta, e imagino que hay otras reducciones a 2-SAT. Sin embargo, no veo cómo extender estos enfoques al problema original.

Andrew Morgan
fuente