matemáticas del cubo de rubik | |
---|---|
Archivos multimedia en Wikimedia Commons |
Matemáticas del Cubo de Rubik es un conjunto de métodos matemáticos para estudiar las propiedades del Cubo de Rubik desde un punto de vista matemático abstracto. Esta rama de las matemáticas estudia algoritmos de ensamblaje de cubos y los evalúa. Basado en teoría de grafos , teoría de grupos, teoría de computabilidad y combinatoria .
Hay muchos algoritmos diseñados para transferir el Cubo de Rubik de una configuración arbitraria a la configuración final (el cubo ensamblado). En 2010, se probó rigurosamente que no más de 20 vueltas de las caras son suficientes para transferir el Cubo de Rubik de una configuración arbitraria a una configuración ensamblada (a menudo llamada "ensamblaje" o "solución") [1] . Este número es el diámetro del gráfico de Cayley del grupo de cubos de Rubik [2] . En 2014 se demostró que 26 movimientos son siempre suficientes para resolver el Cubo de Rubik usando solo giros de 90° de las caras [3] .
Un algoritmo que resuelve un rompecabezas en el menor número posible de movimientos se llama algoritmo Dios .
Este artículo utiliza la "notación Singmaster" [4] [5] desarrollada por David Singmaster y publicada por él en 1981 para indicar la secuencia de rotación de las caras de un cubo de Rubik de 3×3×3 .
Las letras representan la rotación de 90° en el sentido de las agujas del reloj de las caras izquierda ( izquierda ), derecha ( derecha ), frontal ( frontal ), posterior ( posterior ), superior ( arriba ) e inferior ( abajo ), respectivamente. Los giros de 180° se indican agregando un 2 a la derecha de la letra, o agregando un superíndice 2 a la derecha de la letra. Una rotación de 90° en sentido antihorario se indica agregando un guión ( ′ ) o agregando un superíndice -1 a la derecha de la letra. Entonces, por ejemplo, las entradas y son equivalentes, así como las entradas y .
Hay dos formas más comunes de medir la longitud de una solución ( métrica ). La primera forma: un giro de la solución se considera un giro de la cara de 90 ° ( cuarto de vuelta métrico , QTM ). De acuerdo con el segundo método, también se considera una media vuelta de la cara para 1 movimiento ( métrica de giro de cara , FTM , a veces se denota por HTM - métrica de media vuelta ). Por lo tanto, F2 (girar la cara frontal 180°) debería contarse como dos movimientos en la métrica QTM o 1 movimiento en la métrica FTM [6] [7] .
Para indicar en el texto la longitud de la secuencia para la métrica utilizada, se utiliza la notación [8] [9] [10] , que consiste en los números del número de movimientos y la primera letra minúscula de la designación de la métrica. 14f significa "14 movimientos en la métrica FTM" y 10q significa "10 movimientos en la métrica QTM". Para indicar que el número de movimientos es el mínimo en una métrica determinada, se utiliza un asterisco : 10f* denota la optimización de la solución en 10 movimientos FTM.
El cubo de Rubik se puede ver como un ejemplo de un grupo matemático .
Cada una de las seis rotaciones de las caras del cubo de Rubik se puede considerar como un elemento del grupo simétrico del conjunto de 48 etiquetas del cubo de Rubik que no son los centros de las caras. Más específicamente, se pueden marcar las 48 etiquetas con números del 1 al 48 y asignar a cada uno de los movimientos un elemento del grupo simétrico .
Entonces el grupo del cubo de Rubik se define como el subgrupo generado por seis rotaciones de caras:
El orden del grupo es [11] [12]
Cada una de las configuraciones se puede resolver en no más de 20 movimientos (si contamos cualquier giro de la cara como un movimiento) [1] .
El orden más alto de un elemento en es 1260. Por ejemplo, la secuencia de movimientos debe repetirse 1260 veces antes de que el cubo de Rubik vuelva a su estado original [13] .
La búsqueda del algoritmo de Dios comenzó a más tardar en 1980, cuando se abrió una lista de correo para los fanáticos del Cubo de Rubik [6] . Desde entonces, matemáticos, programadores y aficionados han buscado encontrar el algoritmo de Dios para que en la práctica, en el mínimo número de movimientos, se resuelva el cubo de Rubik. Relacionado con este problema estaba el problema de determinar el número de Dios, el número de movimientos que siempre es suficiente para completar el rompecabezas.
En 2010, el programador de Palo Alto Thomas Rokiki, el profesor de matemáticas de Darmstadt Herbert Kotsemba, el matemático de la Universidad de Kent Morley Davidson y el ingeniero de Google Inc. John Dethridge demostró que un cubo de Rubik de cualquier estado desmontado se puede montar en 20 movimientos. En este caso, cualquier giro de la cara se consideraba un movimiento. La cantidad de cómputo fue de 35 años de tiempo de CPU donados por Google [1] [14] [15] . Los datos técnicos sobre el rendimiento y la cantidad de computadoras no fueron revelados. La duración de los cálculos fue de varias semanas [16] [17] [18] .
En 2014, Thomas Rockicki y Morley Davidson demostraron que el cubo de Rubik se puede resolver en no más de 26 movimientos sin el uso de giros de 180°. El volumen de cálculos fue de 29 años de tiempo de procesador en el centro de supercomputación de Ohio [3] .
Es fácil mostrar que hay configuraciones solucionables [19] que no pueden resolverse en menos de 17 movimientos en la métrica FTM o 19 movimientos en la métrica QTM.
Esta estimación se puede mejorar teniendo en cuenta identidades adicionales: la conmutatividad de las rotaciones de dos caras opuestas (LR = RL, L2 R = R L2, etc.) Este enfoque permite obtener un límite inferior para el número de Dios en 18f o 21q [20] [21 ] .
Esta estimación ha sido durante mucho tiempo la más conocida. Se sigue de una prueba no constructiva, ya que no indica un ejemplo específico de una configuración que requiera 18f o 21q para construir.
Una de las configuraciones para las que no se pudo encontrar una solución corta fue el llamado " superflip " o "12-flip". En "Superflip" todos los cubos de esquina y borde están en sus lugares, pero cada cubo de borde está orientado de manera opuesta [22] . El vértice correspondiente al superflip en el gráfico del cubo de Rubik es un máximo local: cualquier movimiento desde esta configuración reduce la distancia a la configuración inicial. Esto sugirió que el superflip está a la distancia máxima de la configuración inicial. Es decir, un superflip es un máximo global [23] [24] [25] .
En 1992, Dick T. Winter encontró una solución al superflip en 20f [26] . En 1995, Michael Reed demostró lo óptimo de esta solución [27] , como resultado de lo cual el límite inferior para el número de Dios se convirtió en 20 FTM. En 1995, Michael Reid descubrió la solución al "superflip" en 24q [28] . Jerry Bryan [29] probó lo óptimo de esta solución . En 1998, Michael Reed encontró una configuración cuya solución óptima era 26q* [30] .
Para obtener un límite superior para el número de Dios, basta con especificar cualquier algoritmo de ensamblaje de rompecabezas que consista en un número finito de movimientos.
Los primeros límites superiores para el número de Dios se basaron en algoritmos "humanos" que constaban de varias etapas. Sumando las estimaciones anteriores para cada una de las etapas, fue posible obtener una estimación final del orden de varias decenas o cientos de movimientos.
Probablemente, la primera estimación concreta desde arriba fue dada por David Singmaster en 1979. Su algoritmo de ensamblaje permitió ensamblar el rompecabezas en no más de 277 movimientos [16] [31] . Singmaster informó más tarde que Alvin Berlekamp , John Conway y Richard Guy desarrollaron un algoritmo de ensamblaje que no requería más de 160 movimientos. Pronto, un grupo de "cubistas de Cambridge de Conway", que estaban compilando una lista de combinaciones para una cara, encontraron un algoritmo de 94 vías [16] [32] . En 1982, la revista Kvant publicó una lista de combinaciones que permiten resolver el Cubo de Rubik en 79 movimientos [33] .
Algoritmo de ThistlethwaiteA principios de la década de 1980, el matemático inglés Morvin Thistlethwaite desarrolló un algoritmo que mejoró significativamente el límite superior. Los detalles del algoritmo fueron publicados por Douglas Hofstadter en 1981 en Scientific American . El algoritmo se basó en la teoría de grupos e incluyó cuatro etapas.
DescripciónThistlethwaite usó varios subgrupos de longitud 4
dónde
En la primera etapa, una configuración dada arbitrariamente del grupo se reduce a una configuración que se encuentra en el subgrupo . El objetivo de la segunda etapa es llevar el cubo a la configuración en el subgrupo sin utilizar rotaciones de las caras izquierda y derecha de ±90°. En la tercera etapa, el cubo de Rubik se reduce a una configuración perteneciente al grupo , mientras que las rotaciones de las caras verticales de ±90° están prohibidas. En la cuarta etapa final, el Cubo de Rubik se ensambla completamente girando las caras 180°.
Los índices de subgrupos en son 2048, 1082565, 29400 y 663552, respectivamente.
Para cada una de las cuatro familias de clases laterales derechas, se crea una tabla de búsqueda , cuyo tamaño coincide con el índice del subgrupo en el grupo . Para cada clase de adyacencia de subgrupo, la tabla de búsqueda contiene una secuencia de movimientos que traduce cualquier configuración de esta clase de adyacencia en una configuración que se encuentra en el propio subgrupo .
Para reducir el número de entradas en las tablas de búsqueda, Thistlethwaite usó movimientos preliminares simplificados. Originalmente recibió una puntuación de 85 movimientos. Durante 1980, esta puntuación se redujo a 80 movimientos, luego a 63 y 52 [16] [36] . Los alumnos de Thistlethwaite realizaron un análisis completo de cada una de las etapas. Los valores máximos en las tablas son 7, 10, 13 y 15 FTM golpes respectivamente. Dado que 7 + 10 + 13 + 15 = 45, el Cubo de Rubik siempre se puede resolver en 45 FTM [25] [37] [38] movimientos .
Conde SchreierEl gráfico de Schreier es un gráficoasociado a un grupo, un grupo electrógeno y un subgrupo. Cada vértice del gráfico de Schreier es una clase lateral derechapara algunos. Los filos de Count Schreier son pares.
Cada una de las cuatro etapas del algoritmo de Thistlethwaite es un recorrido transversal del gráfico de Schreier , donde es el conjunto generador del grupo .
Por lo tanto, la estimación superior de 45 movimientos es
dónde
es la excentricidad del vértice correspondiente a la clase lateral unitaria .La noción de gráfico de Schreier se utilizó en los trabajos de Radu [39] , Kunkle y Cooperman [40] .
Modificaciones del algoritmo de thistlethwaiteEn diciembre de 1990, Hans Kloosterman usó una versión modificada del método de Thistlethwaite para probar la suficiencia de 42 movimientos [1] [20] [41] .
En mayo de 1992, Michael Reid demostró que 39f o 56q eran suficientes [42] . En su modificación se utilizó la siguiente cadena de subgrupos:
Unos días más tarde, Dick T. Winter bajó su puntaje FTM a 37 movimientos [43] .
En diciembre de 2002, Ryan Hayes desarrolló una versión del algoritmo de Thistlethwaite diseñada para resolver rápidamente el cubo de Rubik [44] .
Algoritmo de Kotsemba de dos fasesEl algoritmo de Thistlethwaite fue mejorado en 1992 por Herbert Kotsemba, un profesor de matemáticas de Darmstadt.
DescripciónKotsemba redujo el número de pasos del algoritmo a dos [20] [45] [46] :
Se puede obtener una descripción visual del grupo si se hace el siguiente marcado [20] [47] :
Entonces todas las configuraciones del grupo tendrán el mismo marcado (coincidiendo con el marcado en el cubo ensamblado).
La solución consta de dos etapas. En la primera etapa, la configuración dada se traduce mediante una secuencia de movimientos en alguna configuración . En otras palabras, la tarea de la primera etapa es restaurar el marcado correspondiente a la configuración inicial, ignorando los colores de las etiquetas.
En la segunda etapa, la configuración se transfiere mediante una secuencia de movimientos a la configuración inicial. En este caso, no se utilizan las rotaciones de las caras laterales de ±90°, por lo que el marcado se guarda automáticamente.
Pegar secuencias de movimientos es una solución subóptima para la configuración original [20] [46] [48] .
Soluciones subóptimas alternativasEl algoritmo de Kotsemba no se detiene después de encontrar la primera solución. Las soluciones óptimas alternativas en la primera etapa pueden conducir a soluciones más cortas en la segunda etapa, lo que reducirá la longitud total de la solución. El algoritmo continúa buscando también soluciones no óptimas en la primera etapa en orden de aumentar su longitud [20] [46] [48] .
Funciones de implementaciónPara buscar soluciones en cada una de las dos etapas, se utiliza el algoritmo IDA* con funciones heurísticas basadas en los costos de resolver las subtareas correspondientes [48] .
La tarea de la primera etapa se reduce a encontrar un camino en el espacio con tres coordenadas desde el rotulado con coordenadas ( x 1 , y 1 , z 1 ) hasta el rotulado (0, 0, 0) [49] :
Considere tres subproblemas para encontrar un camino desde el marcado ( x 1 , y 1 , z 1 ) al marcado ( x 1 ', y 1 ', 0), ( x 1 ', 0, z 1 '), (0, y1 ', z1 ' ) . El valor de la función heurística h 1 utilizada en la primera etapa es igual al costo máximo de resolver estos subproblemas. Los costes de resolución de las subtareas se calculan previamente y se almacenan en forma de bases de datos con plantillas [50] [51] .
La tarea de la segunda etapa se reduce a encontrar un camino en el espacio con tres coordenadas desde la configuración ( x 2 , y 2 , z 2 ) hasta la configuración (0, 0, 0) [52] :
Considere tres subproblemas para encontrar un camino desde la configuración ( x 2 , y 2 , z 2 ) a la configuración ( x 2 ', y 2 ', 0), ( x 2 ', 0, z 2 '), (0, y 2 ', z2 ') . El valor de la función heurística h 2 utilizada en la segunda etapa es igual al costo máximo de resolver estos subproblemas.
El algoritmo utiliza optimizaciones adicionales destinadas a aumentar el rendimiento y reducir la memoria ocupada por las tablas [20] [45] [46] [53] .
Implementaciones de softwareCube Explorer es una implementación de software del algoritmo para el sistema operativo Windows. Los enlaces de descarga están en el sitio web de Herbert Kotsemba [54] . En 1992, en una PC Atari ST con 1 MB de memoria y una frecuencia de 8 MHz, el algoritmo permitió encontrar una solución de no más de 22 movimientos en 1-2 minutos [20] [45] . En una computadora moderna, Cube Explorer hace posible encontrar una solución en unos segundos en no más de 20 movimientos para una configuración dada arbitrariamente [45] .
Hay una versión en línea del algoritmo [55] .
AnálisisEn 1995, Michael Reed demostró que la primera y la segunda fase del algoritmo de Kotsemba podrían requerir como máximo 12 y 18 movimientos (FTM), respectivamente. De esto se deduce que el Cubo de Rubik siempre se puede resolver en 30 movimientos. Un análisis adicional mostró que 29f o 42q [25] [56] siempre es suficiente .
El algoritmo de Kotsemba le permite encontrar rápidamente soluciones cortas y subóptimas. Sin embargo, puede llevar un tiempo considerable probar la optimización de la solución encontrada. Se necesitaba un algoritmo especializado para encontrar soluciones óptimas.
En 1997, publicó un algoritmo que le permitía resolver de forma óptima configuraciones arbitrarias del Cubo de Rubik. Diez configuraciones seleccionadas al azar se resolvieron en no más de 18 movimientos FTM [57] [58] .
El algoritmo de Korff en sí funciona de la siguiente manera. En primer lugar, se determinan subproblemas lo suficientemente simples como para realizar una enumeración completa. Se utilizaron las siguientes tres subtareas [25] :
El número de movimientos necesarios para resolver cada uno de estos subproblemas es un límite inferior del número de movimientos necesarios para completar la solución. Una configuración dada arbitrariamente del Cubo de Rubik se resuelve usando el algoritmo IDA* , que usa esta estimación como una heurística. Los costes de resolución de las subtareas se almacenan en forma de bases de datos con plantillas [50] [57] .
Aunque este algoritmo siempre encontrará soluciones óptimas, no determina directamente cuántos movimientos pueden ser necesarios en el peor de los casos.
Una implementación del algoritmo en C se puede encontrar en [59] .
En 2005, la puntuación QTM de Michael Reid mejoró a Silviu Radu a 40q [60] . En 2006, Silviu Radu demostró que el cubo de Rubik se puede resolver en 27f [39] o 35q [61] .
En 2007, Daniel Kunkle y Gene Cooperman usaron una supercomputadora para demostrar que todas las configuraciones no resueltas pueden resolverse en no más de 26 movimientos FTM. La idea era llevar el Cubo de Rubik a uno de los 15.752 subconjuntos de configuraciones de cuadrados , cada uno de los cuales se puede resolver finalmente con algunos movimientos adicionales. La mayoría de las configuraciones se resolvieron de esta forma en no más de 26 movimientos. Las configuraciones restantes se sometieron a un análisis adicional, que mostró que también se pueden resolver en 26 movimientos [40] [62] .
En 2008, Thomas Rokicki publicó una prueba computacional de la solución del rompecabezas FTM de 25 movimientos [63] . En agosto de 2008, Rokiki anunció una prueba de solvencia en 23f [64] . Más tarde, esta estimación mejoró a 22f [65] . En 2009, también logró demostrar la solvencia en 29 movimientos QTM [66] .
En 2010, Thomas Rokicki, Herbert Kotsemba, Morley Davidson y John Dethridge anunciaron una prueba de que cualquier configuración del cubo de Rubik se puede resolver en un máximo de 20 movimientos en la métrica FTM [1] [14] . Junto con la estimación más baja conocida anteriormente de 20f*, esto demostró que el número de Dios del Cubo de Rubik en la métrica FTM es 20.
En agosto de 2014, Rockiki y Davidson anunciaron que el número de Dios para el cubo de Rubik en la métrica QTM es 26 [3] [67] .
La configuración del cubo de Rubik, que se encuentra a la máxima distancia de la configuración inicial, se denomina antípoda. Cualquier antípoda en la métrica FTM tiene una solución óptima en 20f*, y cualquier antípoda en la métrica QTM tiene una solución óptima en 26q* [3] [68] .
Se sabe que hay millones de antípodas en la métrica FTM [69] . Una de esas configuraciones es el "superflip". Por el contrario, en la métrica QTM, actualmente solo se conoce una configuración antípoda (sin contar las configuraciones obtenidas de ella por rotaciones), la llamada. superflip compuesto por cuatro puntos [30] [67] [68] [70] . Solo se conocen dos configuraciones a una distancia de 25q* de la configuración inicial y unas 80 mil configuraciones a una distancia de 24q* [3] [69] .
En 2011, se demostró que el número de Dios del cubo n × n × n era Θ( n 2 / log( n )) [71] [72] .
Void Cube es un cubo de Rubik de 3x3x3 sin piezas centrales.
La longitud de la solución óptima para un " superflip vacío " en la métrica FTM es 20 [73] [74] , lo que demuestra que se necesitan 20 movimientos. Dado que Void Cube es un problema debilitado [50] del Rubik's Cube, la prueba existente de la suficiencia de 20 movimientos para el Rubik's Cube [1] se aplica al Void Cube. Por lo tanto, el número de Dios del Cubo del Vacío en la métrica FTM es 20.
El número de configuraciones del rompecabezas 4×4×4 ( Ing. Rubik's Revenge ) es [75]
Métricas 4×4×4Hay varias formas de determinar la métrica de un cubo de 4x4x4. Esta sección utiliza las siguientes métricas:
La longitud de la solución óptima de una configuración arbitraria en la métrica qb no es mayor que en las métricas qw o qs , ya que todos los movimientos de las otras dos métricas q están permitidos en la métrica qb . Lo mismo se aplica a las métricas h.
Estimaciones del número de cubo de Dios 4×4×4En 2006-2007 Bruce Norskog hizo un análisis de 5 pasos del cubo de 4x4x4, similar al análisis de 4 pasos realizado por Thistlethwaite para el cubo de Rubik de 3x3x3. El análisis produjo límites superiores de 82 movimientos en la métrica hw [76] , 77 movimientos en la métrica hs [77] [78] y 67 movimientos en la métrica hb [76] .
En 2011, Thomas Rokiki, basado en varias ideas existentes, determinó límites inferiores para el número de Dios en seis métricas para rompecabezas cúbicos con tamaños de 2×2×2 a 20×20×20 [79] .
En 2013, Shuang Chen (陈霜) redujo su puntaje hw de 82 a 57 turnos [80] .
En 2015, Thomas Rokicki confirmó la puntuación máxima de 57 hw y recibió nuevas puntuaciones máximas de 56 hs y 53 hb [81] . Unos días más tarde, Shuang Chen (陈霜) logró obtener cotas superiores de 55 hw y 53 hs redefiniendo los pasos de la prueba [82] [83] .
En la tabla se muestran las puntuaciones superiores e inferiores conocidas actuales para el dado 4×4×4 en varias métricas:
métrica | hora | cómo | media pensión | qs | qb | |
---|---|---|---|---|---|---|
estimación más baja | 32 | 35 | 29 | 37 | 41 | 33 |
estimación superior | 53 | 55 | 53 | ? | ? | ? |
Megaminx es el análogo más simple del cubo de Rubik en forma de dodecaedro. El número de configuraciones del Megaminx de 12 colores es 1.01·10 68 .
En 2012, Herbert Kotsemba determinó un límite inferior para el número de Dios de Megaminx en 45 rotaciones de cara en cualquier ángulo, o 55 rotaciones en un ángulo de ± 72 ° [84] [85] .
En 2016, Herbert Kotsemba mejoró la estimación más baja del número de Dios para Megaminx, aumentándolo a 48 rotaciones de cara en cualquier ángulo [86] .