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 d ≈ n 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 yBhardnhard≈n2BhardS′Bhardnhard enpasos S ' , entonces requiere al menos n h a r d - pasos S ' para resolver elcubo n × n × n configuración A.BhardS′nhard−S′n×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 0nhard−S′SS0S′=nhard−S0S=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)