Resolución rápida del cubo de Rubik

El cubo de Rubik es uno de los puzzles más extendidos del mundo, creado por Ernö Rubik en 1974. Dicho cubo alcanzó gran fama como juguete, y salieron al mercado distintas versiones del mismo, e incluso algunas que no tienen forma de cubo.

El cubo de Rubik tradicional supone un desafío, puesto que tiene muchos estados y sólo uno se considera “estado final” o “solución”. También es un desafío crear una aplicación capaz de resolver el cubo.

Debido a la amplitud del problema, crear una aplicación que resuelva el cubo es una tarea complicada.

Las aplicaciones actuales buscan resolver el cubo de manera óptima, eso implica una exploración de un espacio de estados enorme, lo que consumiría mucho tiempo. Hoy día se usan distintos métodos para encontrar la solución óptima en el menor tiempo posible. Pero hay un hecho curioso, en las competiciones oficiales del cubo de Rubik, donde se trata de resolver en el menor tiempo posible, los participantes no resuelven el cubo de manera óptima, es decir, hacen más movimientos de los necesarios.

Entonces, ¿se puede resolver el cubo de Rubik de manera sub-óptima, pero ganando mucho tiempo?

Siguiendo una de las metodologías que existen para resolverlo nos ahorramos la exploración de un árbol de estados muy grande dividiendo el desarrollo del cubo en etapas.

Cada etapa tiene un objetivo concreto y definible, y es fácil verificar si se ha llegado al final de una etapa.

El resultado será una cadena de movimientos que resuelve un cubo dado, y dicha solución la obtendremos casi al instante.