¿Resuelve de manera óptima el n × n × n Rubik's Cube NP-hard?


38

Considere la generalización obvia del Cubo de Rubik . ¿Es NP-difícil calcular el más corto?norte×norte×norte secuencia de movimientos que resuelve un cubo revuelto dado, o hay un algoritmo de tiempo polinómico?

[Algunos resultados relacionados se describen en mi reciente publicación de blog .]


55
Supongo que la entrada se da como seis cuadrículas n × n hechas de {1, ..., 6}. ¿Es el problema en NP? ¿Hay un límite superior polinómico fácil en el número de movimientos en la versión n × n × n del cubo de Rubik?
Tsuyoshi Ito

1
Gracias por la información. ¿Hay alguna referencia?
Tsuyoshi Ito

1
¿El problema se vuelve más fácil si se relaja con "Dada una configuración, produce una solución que tome como máximo el Número de movimientos (n, n, n) de Dios"? Eso es lo que hizo el algoritmo de solución de Rubik. No buscaron el más corto porque habría tardado demasiado.
Aaron Sterling

1
¿Sabemos que el diámetro del espacio de configuración alcanzable es ? Θ(n2)
Andy Drucker

1
@Andy: ¡Buena pregunta! ("¿Cuál es la función de Dios de n?")
Jeffε

Respuestas:



21

Un nuevo artículo de Demaine, Demaine, Eisenstat, Lubiw y Winslow realiza progresos parciales en esta cuestión: proporciona un algoritmo de tiempo polinómico para resolver de manera óptima cubos y muestra N P -dureza para resolver de manera óptima lo que podríamos llamar cubos "parcialmente coloreados". También muestra que el espacio de configuración del cubo n × n × n tiene un diámetro Θ ( n 2 / log n ) .n×O(1)×O(1)NPn×n×nΘ(n2/logn)

¡Dulce!

Una posible siguiente pregunta que parece sugerir su trabajo: ¿hay una familia fija de cubos parcialmente coloreados , uno para cada valor de n , de modo que la resolución óptima de una configuración dada sea N P -duro?n×n×nnNP


1
Bien, y una pregunta más: ¿cuál es la complejidad de determinar si dos colores no estándar del cubo son equivalentes? (Dos casos a considerar: coloraciones completas o parciales.)n×n×n
Andy Drucker

Muy bien, una pregunta más y luego me detendré: ¿hay una secuencia explícita de configuraciones que requieren movimientos de para resolver? (El documento utiliza un argumento de conteo para su límite inferior.)Ω(n2/logn)
Andy Drucker

9

Podría haber fácilmente un error en esto, así que avíseme si detecta uno.

Parece que la respuesta es no, o al menos que este problema está contenido en NP. El razonamiento detrás de esto es muy simple. La idea es construir a partir de otra pregunta: "¿Puede pasar de la configuración A a la configuración B en pasos S o menos?"

Claramente, esta nueva pregunta está en NP, porque hay un algoritmo para resolver el cubo desde cualquier configuración solucionable, por lo que pasar por el estado resuelto solo requiere O ( n 2 )O(n2)O(n2) para ir entre dos configuraciones. Como solo hay un número polinómico de movimientos, el conjunto de movimientos para ir entre dos configuraciones se puede usar como testigo para esta nueva pregunta.

Ahora, en primer lugar, si elegimos la configuración B como el estado resuelto, tenemos un problema que nos pregunta si es posible resolver el cubo en pasos o menos, que está contenido dentro de NP.S

Ahora vamos a elegir una configuración diferente para B, que llamaré que requiere n h a r dn 2 pasos para resolver. Ahora bien, si nos preguntamos si es posible obtener entre la configuración A y B h una r d en S ' pasos o menos, tenemos de nuevo un problema en NP con una secuencia de movimientos como el testigo. Sin embargo, como sabemos que B h a r d toma n h a r pasos para resolver, sabemos que si es posible ir entre A yBhardnhardn2BhardSBhardnhard enpasos S ' , entonces requiere al menos n h a r d - pasos S ' para resolver elcubo n × n × n configuración A.BhardSnhardSn×n×n

Por lo tanto, tenemos testigos tanto para un límite inferior de pasos S ' como para un límite inferior de pasos S para resolver desde la configuración A. Si ahora seleccionamos S 0 como el número mínimo de movimientos necesarios para resolver el inicio del cubo con la configuración A, entonces si elegimos los límites inferior y superior para que sean iguales (es decir, S = n h a r d - S 0 y S = S 0nhardSSS0S=nhardS0S=S0), tenemos un testigo de que esta solución es óptima (compuesta por los testigos de los dos problemas NP asociados con los límites).

Por último, necesitamos una forma de generar . Probablemente necesitemos la configuración más difícil posible, pero como no sé cómo encontrar eso, sugiero simplemente rotar cada segundo plano una vez sobre el eje x, y luego cada cuarto plano (manteniendo el plano central fijo) una vez sobre el eje z Creo que esto lleva a un estado que requiere O ( n 2 ) pasos para resolver.BhardO(n2)

Por lo tanto, no tengo una prueba constructiva completa, pero cualquier solución óptima que tome menos de claramente tiene un testigo. Desafortunadamente, por supuesto, para capturar todas las configuraciones posibles necesitaría n h a r d = número de Dios ( n ) .nhardnhard=God's number(n)

EDITAR: La regularidad de la configuración Superflip hace que parezca probable que generar para n h a r d = el número de Dios ( n ) podría ser relativamente fácil (es decir, en P).Bhardnhard=God's number(n)


Buena idea. Sin embargo, esto no supone que se pueda tomar el camino más corto entre dos puntos que están muy separados para pasar por cualquier otro punto. Eso es claramente cierto para los puntos en las esferas (si vuela del polo norte al polo sur, también podría volar por Tahití), pero ¿hay alguna razón para que sea cierto para las configuraciones de los cubos de Rubik?
Peter Shor

@ Peter Shor: Hola Peter, no quise decir que eso pasara sihunarrede A a la solución fue el camino más corto. De hecho, este enfoque no debería funcionar en ese caso. La idea es que si se necesita al menosnortehunarre pasos para llegar desde sihunarre to the solved configuration, then if we go from A to the solution via Bhard we have to go further away from the solved configuration, before going back. (contd)
Joe Fitzsimons

(contd.) I assume A is easier to solve than Bhard (less steps). Since we know that it takes at least nhard steps to solve from Bhard, and we know we can get to Bhard in at most nhard steps from A, then we have nhardSS0nhard+S. I was using this to get an lower bound on S0, while solving directly gives an upper bound on S0.
Joe Fitzsimons

2
@Joe: You misunderstood me. I think your approach only works well if there is a relatively short path from Bhard to the solution which passes through A. I don't know whether this is true for the Rubik's cube (so I'm not saying your approach doesn't work, just that there's more stuff that needs to be proved).
Peter Shor

2
@Joe: don't worry about posting half-thought-out answers. I've done the same thing (and I'm not the only one). And I'm not convinced this approach is completely worthless. I do expect it won't work to show computing the exact distance is not NP-hard, but maybe it could say something about approximating it.
Peter Shor
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.