Esta pregunta está motivada por esta publicación, ¿Puedes identificar la suma de dos permutaciones en el tiempo polinómico? , y mi interés en las propiedades computacionales de las permutaciones.
Una secuencia de diferencias de una permutación π de los números 1 , 2 , ... n + 1 se forma al encontrar la diferencia entre cada dos números adyacentes en la permutación π . En otras palabras, a i = | π ( i + 1 ) - π ( i ) | para 1 ≤ i ≤ n
Por ejemplo, la secuencia es la secuencia de diferencias de permutación 2 3 4 1 . Mientras que las secuencias 2 , 2 , 3 y 3 , 1 , 2 no son la secuencia de diferencias de cualquier permutación de los números 1 , 2 , 3 , 4 .
¿Existe un algoritmo eficiente para determinar si una secuencia dada es la secuencia de diferencias para alguna permutación , o es NP-hard?
EDITAR : Obtenemos un problema computacionalmente equivalente si formulamos el problema usando permutaciones circulares.
EDIT2 : Cross publicado en MathOverflow, ¿Qué tan difícil es reconstruir una permutación a partir de su secuencia de diferencias?
EDIT3 Otorgó la recompensa al boceto de prueba y aceptaría la respuesta después de obtener la prueba formal completa.
EDIT 4 : La agradable prueba de integridad Marzio se ha publicado en el Electronic Journal of Combinatorics .
fuente
Respuestas:
Este es un boceto de una posible reducción para demostrar que es NP-hard:
Los agujeros deben rellenarse en el resto de la permutación.
3) usando un 1SEQ lo suficientemente grande, seguido de un 1SEQ con algunos agujeros, seguido de otro 1SEQ grande, puede construir una línea forzada ;
4) juntando muchas líneas forzadas, puede construir un gráfico de cuadrícula de permutación en el que los nodos corresponden a los números que faltan en la permutación forzada subyacente.
Por ejemplo, la secuencia 1111111112111111111112111111111, fuerza el siguiente gráfico de cuadrícula de permutación 5x7:
7) puede llenar todos los agujeros (es decir, completar la permutación) si y solo si el gráfico de cuadrícula original tiene un ciclo hamiltoniano
EDITAR: 27 de julio de 2013
Traté de demostrar formalmente la completitud NP del problema: introduje un nuevo problema (problema de Crazy Frog ) que es NPC. El problema de Reconstrucción de permutación a partir de diferencias es equivalente al "problema de la rana loca 1-D sin celdas bloqueadas" (que también es NPC).
Para los detalles de la reducción, vea mi pregunta / respuesta en la teoría "Dos variantes del camino hamiltoniano" o descargue un borrador de la prueba "Cuando una rana se encuentra con una permutación" :)) (Todavía lo estoy revisando / completando)
fuente