Los movimientos en el cubo de Rubik forman un grupo llamado grupo Cubo de Rubik. Como cada elemento de grupo g en un grupo finito tiene un orden finito O (g), repetir el movimiento O (g) veces devolverá el cubo al estado original.
Si no conoce la teoría de grupos, aquí hay una explicación. Primero, tenga en cuenta que el cubo de Rubik solo puede estar en un número finito (aunque enorme) de estado. Un algoritmo es solo una secuencia fija de movimientos en el cubo. La observación importante es que, dado que cada movimiento en el algoritmo es invertible, el algoritmo en sí es invertible. Como resultado, dos estados diferentes no pueden, en la aplicación del algoritmo, dar como resultado el mismo estado.
Con estas observaciones, la prueba es simple. Comience con cualquier estado y siga aplicando el algoritmo repetidamente. Como el número de estados es finito, debe volver a algún estado anterior. La primera vez que se repite un estado ya visitado, tiene que ser el estado inicial, una consecuencia de la invertibilidad que discutimos anteriormente.
PD : Utkarsh y yo habíamos hecho un problema de concurso de programación sobre esto hace algún tiempo: cubo de Rubik
- ¿Cuáles son algunas buenas fuentes en línea de rompecabezas ‘pensar fuera de la caja’?
- ¿Existe alguna relación directa entre el coeficiente intelectual de una persona y la capacidad de resolver el cubo de Rubik?
- Quien muere
- ¿Cuáles son los mejores acertijos para niños de 8 años?
- ¿Puedes resolver este llamado ‘rompecabezas más difícil’?