Por Carlos Angosto Hernández
2 de Agosto de 2005
Aquí vamos a explicar un método para blindfold, es decir, realizar el cubo de Rubik a ciegas, lo que consiste en, tras una inspección del cubo, sin volver a mirarlo tratar de resolverlo. Si has visitado ya la parte donde explico que el número de combinaciones del cubo de Rubik son 43.252.003.274.489.856.000 (véase aquí) y has comprendido todo tendrás ya mucho ganado.
El índice de este manual y de algoritmos:
Resolver el cubo a ciegas no es una cosa de privilegiados, en realidad está al alcance mucha gente y no es tan difícil como puede parecer. El blindfold consiste en resolver el cubo sin mirarlo habiéndolo inspeccionado previamente. Como es lógico, no se podrá resolver tan rápido como se puede hacer cuando uno lo ve y lo lógico es utilizar movimientos que muevan muy pocas piezas para saber en todo momento como evoluciona el cubo. El proceso de resolución del cubo estará dividido en una fase de memorización y otra de resolución. Para la parte de memorización utilizaremos los ciclos (quien esté familiarizado con teoría de permutaciones sabrá lo que es) lo que será luego útil para controlar el cubo en la fase de resolución. A su vez cada una de estas partes estará dividida en otras dos, vértices y aristas, y cada una de estas partes también estarán divididas en dos, orientación y permutación. Esto se hará así porque se resolverán por separado los vértices y aristas (salvo en la mitad de los casos en los que por paridad se necesitará un último paso común) y a su vez, primero se orientarán las piezas y después se permutarán.
Puede ser útil numerar las piezas, aunque esto siempre dependerá de cada uno. En este manual las numeraremos para poder expresarnos mejor. La forma de numerar las piezas depende de cada uno, tiene que ser algo que nos resulte cómodo. Yo por ejemplo numero dándole menor valor numérico a las piezas que están arriba, a misma altura le doy menor valor a las que estén más alante y por último, si coinciden en estos dos parámetros le doy valor menor a la que esté a la derecha, y claro, numerando independientemente aristas y vértices. Con esta numeración, los vértices ordenados de menor a mayor quedarían así (los numeraremos del 1 al 8):
AFD AFI ATD ATI BFD BFI BTD BTI
y las aristas (del 1 al 12):
AF AD AI AT FD FI TD TI BF BD BI BT
Nota: Por AFD estamos denotando la posición AFD, NO el vértice que debería de estar en dicha posición.
Mientras más algoritmos conozcamos más fácil nos será resolver el cubo, sin embargo, con unos pocos algoritmos también se podrá resolver mediante el proceso de conjugación.
Empezaremos con la orientación. Esto lo haremos así porque es fácil orientar sin perder la permutación. Sin embargo, permutar conservando la orientación es más complicado. Es importante orientar un tipo de piezas antes de permutarlas por lo que orientaremos todas las piezas. Sin embargo también podrías optar por orientar aristas y luego permutarlas y después hacer lo mismo con los vértices o bien empezar con los vértices para pasar a las aristas.
Pensemos primero en un cubo resuelto y pensemos en un vértice que está colocado en su lugar. Este vértice podría tener tres orientaciones, una es el caso en el que está resuelto, otra es el caso en el que necesita un giro en el sentido de las agujas de reloj, y por último puede que necesite un giro en el sentido contrario. Sin embargo, cuando tengamos el cubo desarmado en un principio no está claro cuando una pieza está bien orientada. Para ello tenemos que elegir dos caras opuestas que serán "las que mandarán". En nuestro caso elegimos la cara A y B. En tal caso diremos que un vértice está bien orientado si su lado de color perteneciente a la cara A o B esté precisamente en una de estas dos caras. En tal caso le asignaremos el valor 0. Si necesitan un giro en el sentido de las agujas del reloj para obtener dicha orientación, le asignaremos el valor 1 y en el caso de que necesite el giro contrario le asignaremos el valor -1 (también podemos asignarle el valor 2). El orden en el que memorizaremos estos números será el orden en el que hemos ordenado los vértices. Así que con ocho cifras podremos memorizar la orientación de los vértices. Por ejemplo, el número
-1 0 0 1 1 0 1 1
indica que los vértices que hemos numerado como 4,5, 7 y 8 necesitan un giro en el sentido de las agujas del reloj, el 1 en el sentido contrario y el 2, 3 y 6 no necesitan giro alguno. Además, la suma de estos 8 números debe de ser un múltiplo de 3 (tanto si usamos -1 como 2) por lo que realmente sólo hace falta memorizar 7 números.
Orientación 0 |
Orientación 1 |
Orientación -1 |
Importante: Algunos movimientos conservarán la orientación del cubo mientras que otros la fastidian. Esto es importante a la hora de usar la conjugación cuando queramos permutar. En particular, si tomamos como referencias las caras A y B, tendremos que el giro de dichas caras conservan la orientación de los vértices, al igual que los semigiros de caras. En otras palabras, los movimientos que conservarán la orientación serán:
A A2 A' B B2 B' F2 T2 D2 I2
De hecho la definición que hemos hecho de bien orientado sería equivalente a decir que un vértice está bien orientado si es posible llevarlo a su sitio con la orientación oportuna mediante los movimientos anteriores.
En la práctica personalmente prefiero memorizar los vértices en grupos de 2 o 3 vértices, asociándolos teniendo en cuenta la forma en la que los orientaré. Yo los agrupo de las siguientes formas (aunque en ocasiones no se puede hacer así del todo):
|
||||||
|
Para la resolución de este paso es suficiente el modo1 Paso 7 para principiantes junto a la conjugación. Para ver más algoritmos útiles en este paso pinchar aquí. Mientras más algoritmos sepas más fácil será la resolución.
En esta ocasión para cada pieza tenemos sólo dos posibilidades, que esté bien orientada (valor 0) y que esté mal orientada (valor 1). Esta vez tendremos que memorizar 12 números puesto que este es el número de aristas que tenemos en el cubo. Ahora bien, en la práctica a mí me resulta más fácil memorizar visualmente qué piezas están mal orientadas aunque en ocasiones si hay más mal orientadas que bien, puede resultar más cómo memorizar las que están bien orientadas. Pero antes de nada, tenemos que fijar cuando una pieza está bien o mal orientada. Para ello tenemos que elegir un par de caras opuestas que serán "las fuertes", eligiremos otro par de cara opuestas que serán "las débiles" y el otro par serán "las medias". Así cada pieza tendrá dos colores, uno perteneciente a una cara más fuerte que la del otro. A su vez cada pieza estará en todo momento colocada en dos caras, una más fuerte que la otra. Diremos que una pieza está bien orientada cuando su lado más fuerte está precisamente colocado en su cara más fuerte (o lo que es lo mismo, que el lado más débil esté en la cara más débil). En nuestro caso tomaremos por caras fuertas la A y la B y por caras débiles la D e I y por tanto las medias serán las F y T. Ejemplos de orientaciones:
Bien orientado |
Mal orientado |
Bien orientado |
Mal orientado |
Importante: Si usamos la conjugación para permutar aristas, tendremos que tener en cuenta que los movimientos que van a conservar la orientación de aristas son los giros de las caras fuertes y débiles y todos los semigiros. En nuestro caso, los movimientos permitidos serán:
A A2 A' B B2 B' D D2 D' I I2 I' F2 T2
De hecho la definición que hemos hecho de bien orientado sería equivalente a decir que una arista está bien orientada si es posible llevarla a su sitio con la orientación oportuna mediante los movimientos anteriores.
Para la resolución de esta parte será suficiente saber cómo orientar un par de aristas cualquiera y la conjugación. Mientras más algoritmos sepas más fácil será. Para ver una lista de algoritmos útiles pinchar aquí.
Ahora toca estudiar la forma de permutar las piezas, tendremos que permutar por un lado los vértices y por otro las aristas. Aunque en un principio hayan más aristas, es más fácil usar la conjugación con ellas. Sin embargo si aprendemos varios algoritmos, al final resultará más fácil este paso con los vértices. La memorización de las piezas se realizará mediante ciclos. Después, si nos sabemos los casos PLL, junto a la conjugación nos permitirá resolver el cubo tanto si se nos presentan casos de paridad como si no. Este paso será más fácil mientras más algoritmos extras nos sepamos. Primero veremos cómo se hace esto en general y luego estudiaremos los casos de vértices y aristas.
Memorizaremos la posición de las piezas a través de los ciclos. Para ver lo que es un ciclo usaremos un ejemplo. Un ejemplo de ciclo es el siguiente:
(1 3 5 12 4)
Esto quiere decir que la pieza que está en la posición 1 debería de estar en la posición 3, la que está en la posición 3 debería de estar en la posición 5, la de la 5 en la 12, la de la 12 en la 4 y por último el de la 4 en la 1 (recordemos que hemos asignado números a cada pieza). El del ejemplo es un 5-ciclo porque tiene 5 números. Un n-ciclo tendrá n números. Memorizaremos así las piezas. Si lo hacemos con vértices por ejemplo, cogemos el vértice que está en la posición 1 y miramos en qué posición debería de estar, supongamos que es la 3, nos vamos al vértice en la posición 3 y vemos en qué posición debería de estar, imaginemos que es la 5... El ciclo que nos va saliendo es de la forma (1 3 5....) y terminaremos con este ciclo cuando lleguemos a la posición 1. Si hemos recorrido todas las piezas ya está, si no, empezamos con la siguiente pieza más pequeña. Imaginemos que hemos obtenido el ciclo (1 3 5 4). Cogemos la pieza 2 y realizamos el mismo proceso. Si una pieza está en su sitio simplemente nos olvidaremos de ella y pasamos a la siguiente. Si por ejemplo la 2 estuviese en su sitio, la siguiente pieza que no hemos tocado sería la 6, así que empezamos con la 6. Finalmente tendremos una expresión del estilo
(1 3 5 4) (6 8 7)
y con aristas tendríamos una expresión parecida. En un principio es más fácil memorizar los vértices por ser menos. Quizá pueda resultar más fácil memorizar todo esto sin usar números y memorizando directamente la posición, o quizá hacer una mezcla de las dos cosas, cada uno debe de hacer lo que mejor le venga.
Observación: Un ejemplo, el ciclo (1 2 3) quiere decir que la pieza en 1 debe de estar en la posición 2, la 2 en 3 y la 3 en 1. Ahora, si tomamos el ciclo (3 1 2) que en un principio es distinto, es el mismo porque significa que el de la posición 3 debería de estar en la 1, el de la 1 en la 2 y la 2 en la 3. Es decir, el ciclo (a b c d e f) es igual al (b c d e f a) que es igual al (c d e f a b) igual al (d e f a b c ) igual al (e f a b c d) e igual al (f a b c d e). Esto no es necesario saberlo, pero el saberlo nos podrá ser bastante útil como comentaremos después.
Ya sabemos cómo memorizar las piezas, ahora tendremos que que resolverlo. Hemos comentado como resolver las orientaciones y ahora explicaremos como resolver las permutaciones. Una lista de algoritmos (junto algunas explicaciones) para orientar aristas podréis encontrala aquí, para orientar vértices aquí, permutar aristas aquí y vértices aquí.
Expliquemos ahora el método para la permutación. Para ello vamos a usar 3-ciclos de piezas y pares de 2-ciclos. Veamos un ejemplo, supongagmos que tenemos el ciclo (1 2 3 4). Apliquemos entonces por ejemplo el ciclo (2 3 4), la nueva posición que nos va a quedar va a ser la (1 2) (véase el ejemplo de abajo). En general, si tenemos un ciclo de la forma (a b c d e f) y cogemos tres elementos seguidos de este ciclo (por ejemplo (b c d) ), al aplicarlo los 2 últimos elementos de este ciclo desaparecería quedándose (a b e f). Así podremos ir reduciendo los ciclos que tengamos de forma que nos queden en ellos un sólo elemento (con lo que estará resuelto el ciclo y nos podremos olvidar de él) o tal vez dos elementos. Por lo tanto, con 3-ciclos podemos reducir el problema a resolver 2-ciclos. Pero ahora bien, existen algoritmos para permutar pares de 2-ciclos de aristas y pares de 2-ciclos de vértices. Utilizando esto, la mitad de las veces conseguiremos resolver el cubo y la otra mitad de veces se nos quedará un 2-ciclo de aristas y un 2-ciclo de vértices. En el segundo caso, con un algortimo más podremos resolver el cubo. Para todo esto va a ser especialmente útil la conjugación, si bien aprendiéndose un montón de algoritmos podríamos evitar usar esto. Veamos ahora algunos ejemplo de esta reducción:
ciclo (1 4 3 2) |
Algoritmo del ciclo (4 3 2) |
Lo aplicamos al ciclo (1 4 3 2) |
Resultado final: Ciclo (1 4) |
Ahora puede ser útil usar que los ciclos los podemos escribir de distintas formas. Imaginemos que tenemos el ciclo (1 6 2 3) de vértices. Si dominamos PLL sabremos hacer 3-ciclos de vértices (que podremos aplicar en la cara A y B como explicaremos después). Sin embargo en (1 6 2 3) no aparecen 3 piezas seguidas en una de estas dos caras. Sin embargo, este ciclo es igual al (6 2 3 1) y por lo tanto podremos simplificarlo aplicando (2 3 1) reduciendo el ciclo a (6 2), o lo que es lo mismo (2 6). Veamos ahora también un ejemplo de esto.
Ciclo (1 5 4 3)=(5 4 3 1) |
Algoritmo del ciclo (4 3 1) |
Lo aplicamos al ciclo (1 5 4 3) |
Resultado final: Ciclo (4 5)=(5 4) |
Pasamos ahora a explicar en qué consiste la conjugación y a ver como resolver los casos de permutaciones, aristas y los de paridad.
La conjugación es una técnica que resulta muy útil para resolver puzzles secuenciales conociendo pocos algoritmos, no es sólo útil para el cubo de rubik, sino también para el 4x4, 5x5, megaminx, square1... Por ejemplo, si conocemos un algoritmo para permutar 3 vértices, con la conjugación podremos permutar 3 vértices cualquiera del cubo. Veamos un ejemplo con el cubo de rubik. Supongamos que conocemos un algoritmo que se correspone con el ciclo (1 2 3) (si sabemos PLL conoceremos este algoritmo). Sin embargo, lo que tenemos que resolver es el ciclo (1 2 6) (recordad que estamos usando la numeración que he hecho al principio). Si hacemos por ejemplo los movimientos B' T2 conseguiremos colocar la pieza 6 en la posición 3. Realizamos ahora el ciclo (1 2 3) con lo que intercambiaremos los vértices que originalmente estaban en las posiciones 1 2 y 6. Por último realizando el movimiento T2 B que de hecho es el inverso de B' T2 tendreos que lo único que hemos hecho ha sido resolver la permutación (1 2 6). Veamos el ejemplo:
Ciclo (1 2 6) |
Algoritmo de (1 2 3) |
X |
Aplicamos conjugación |
Así pues la conjugación consiste en aplicar una secuencia X, después aplicar un algoritmo conocido y por último aplicar el inverso de la secuencia X. Es muy útil porque con la secuencia X podemos llevar las piezas que nos insteresan a una posición que nos permite fácilmente operar con ellas, y da igual lo que pase con el resto de piezas, porque al aplicar el inverso de X volverán a su sitio.
Para el caso concreto del Blindfold Cubing, esto nos puede ser muy útil a la hora de orientar piezas. A la hora de permutar piezas también puede ser muy útil, pero tenemos que tener en cuenta que debemos de conservar las orientaciones, así que si queremos permutar vértices, X debe de conservar la orientación de vértices, y para permutar aristas, X debe de conservar la orientación de aristas.
Una vez has llegado aquí, con todo esto, y con unos pocos algoritmos podrás resolver el cubo. De hecho, sabiendo el PLL (de hecho, no harían falta todos), el Paso 7 para novatos (ya sea de una forma u otra) y un algoritmo que cambie la orientación de 2 aristas, tendremos lo suficiente para resolver el cubo a ciegas. De hecho, mi primer cubo a ciegas lo resolví usando sólo esos algoritmos, pero claro, como ya he dicho varias veces, mientras más algoritmos sepamos, más fácil resultará. A continuación explicamos con un poco de más detalle las aristas y los vértices y damos más algoritmos.
Una lista y explicación de algoritmos pinchando aquí. Como hemos comentado antes, usando 3-ciclos y pares de 2-ciclos, resolveremos esta permutación o la reduciremos a un 2-ciclo. Es importante conservar la orientación del cubo. En un principio, para esto, los movimientos PLL sólo podremos aplicarlos en las caras A y B. Sin embargo también podremos conocer algoritmos que intercambien piezas que estén en distintas capas.
Como hemos dicho antes, podremos usar aquí la conjugación, pero tenemos que tener cuidado para no romper la orientación. Así que el movimiento X usado aquí no debe de romper la orientación, por lo que este movimiento deberíamos formarlo a través de los movimientos A A2 A' B B2 B' F2 T2 D2 I2, y claro, el algoritmo que estemos conjugando tampoco debe de estropear la orientaciónn (no es necesario que esté formado por los movimientos descritos antes). Una lista de algoritmos válidos la mostramos aquí.
Una lista y explicación de algoritmos pinchando aquí. Como hemos comentado antes, usando 3-ciclos y pares de 2-ciclos, resolveremos esta permutación o la reduciremos a un 2-ciclo. Es importante conservar la orientación del cubo. En un principio, para esto, los movimientos PLL sólo podremos aplicarlos en las caras A, B, D e I, es decir, tenemos más posibilidades que con vértices, lo que nos va facilitar las cosas.
Como hemos dicho antes, podremos usar aquí la conjugación, pero tenemos que tener cuidado para no romper la orientación. Así que el movimiento X usado aquí no debe de romper la orientación, por lo que este movimiento deberíamos formarlo a través de los movimientos A A2 A' B B2 B' D D2 D' I I2 I' F2 T2, (de nuevo tenemos una ventaja respecto a los vértices porque tenemos más posibilidades) y claro, el algoritmo que estemos conjugando tampoco debe de estropear la orientaciónn (no es necesario que esté formado por los movimientos descritos antes). Una lista de algoritmos válidos la mostramos aquí.
Bueno, en la mitad de las ocasiones nos quedará resolver un 2-ciclo de vértices y otro 2-ciclo de aristas, cosa que tendremos que resolver simultaneamente. Para ello podríamos aprendernos una multitud de algoritmos, quizá incluya más tarde una lista con mucho de ellos, pero serían muchos. En mi opinión, aquí deberíamos usar conjugación y los casos de PLL, aunque algoritmos extras nunca vendrán mal. Como además tendremos que conservar tanto la orientación de aristas como la de vértices, el PLL sólo podremos realizarlo en las caras A y B y el movimiento X sólo podremos realizarlo con los movimientos A A2 A' B B2 B' F2 T2 D2 I2.
Ahora unos consejos para aprender. En un principio no influirá mucho cómo posicionemos el cubo inicialmente, es decir, no importa el color que pongamos arriba, en frente y demás ya que a la hora de resolver no veremos el cubo. Sin embargo, para reconocer más rápidamente el lugar en el que debería de ir cada pieza es recomendable fijar siempre las mismas caras.
A la hora de aprender se debería practicar el blindfold pero mirando el cubo, es decir, practicar este método mirando el cubo. Luego, una vez que más o menos se controlan los algortimos, se debería practicar por ejemplo primero sólo la orientación de las piezas, luego sólo la permutación de vértices y por último practicar sólo con la permutación de aristas. A pesar de haber más aristas, al final es más sencillo trabajar con las aristas que con los vértices. Por último, cuando dominemos cada parte por separado, es cuando se debe de intentar resolver el cubo.
Al final es más fácil de lo que parece.. Y bueno, una vez esté dominado el blindfold mi consejo es practicar con el cubo en las espaldas. En teoría es igual pero al coger el cubo de otra forma podemos confundirnos. El cubo a la espalda es lo mejor para que la gente flipe...
Pongo ahora un par de extras independientes del blindfold pero que se obtienen con la técnica aprendida aquí.
Si tenemos un cubo desordenado, se podrá amar (y sólo se podrá armar) cuando se cumplan las siguientes 3 condiciones:
1- Cogemos las orientaciones de los 8 vértices asignándoles un número como hemos hecho antes (0, 1 y 2), sumamos estos ocho números y debe de dar un múltiplo de 3, es decir debe de valer 0, 3, 6, 9, 12 ó 15.
2- Hacemos lo mismo con las aristas y debe de dar par.
3- La paridad de aristas y vértices debe de ser la misma. Para ello cojamos los ciclos de vértices. A la longitud de cada ciclo le restamos 1 y sumamos todos estos números. Entonces la paridad de vértices será par si este número es par e impar si es impar. Hacemos lo mismo con las aristas y debe de salir la misma paridad. Un ejemplo, supongamos que tenemos de vértices (1 2 3 4 5)(6 7 8) y de aristas (1 2 3 4 5 6 7)(8 9)(10 11 12). Tenemos un 5-ciclo y un 3-ciclo de vértices (longitudes 5 y 3 por lo tanto) así que tendremos que sumar (5-1)+(3-2)=4+2=6. Haciendo lo mismo con aristas tendremos que hacer 6+1+2=9. Por lo tanto para vértices tenemos una permutación par y para aristas impar con lo que tendremos que este caso sería imposible de resolver.
Nota: En los casos resolubles, si tenemos que los dos casos son pares no hará falta el último paso de resolver un 2-ciclo de aristas y un 2-ciclo de vértices. Sin embargo, cuando ambos sean impares sí que hará falta.
Lo que hace falta aquí es hacer el mínimo común múltiplo de una serie de números (es decir, obtener el menor número que es multiplo de todos los números elegidos previamente). Realizamos el algoritmo una vez y realizamos los procesos de asignaciones de números descritos antes. Para cada ciclo de vértices, cojamos cada uno de los vértices involucrados en él y hagamos la suma de los números asignados a las orientaciones. Si este número es un múltiplo de 3 anotamos la longitud del ciclo. Si este número no es un múltiplo de 3, anotamos la longitud del ciclo por 3. Por último hacemos lo mismo con cada ciclo de aristas y si la suma da múltiplo de 2 nos quedamos con la longitud, pero si no lo es, añadimos multiplicamos por 2. Tras obtener estos número, hacemos el mínimo común múltiplo y este será el número de veces que tendremos que repetir el algoritmo para que el cubo vuelva a su estado inicial. Un ejemplo, suponamos que tras aplicar cierto algoritmo obtenemos:
Para vértices (1 2 3 4 5) (6 7 8) y de orientaciones 01211100
Para aristas (1 2 3)(4 5)(6 7 8 9)(10 11 12) y de orientaciones 011010011010
Empecemos, sumamos las orientaciones del primer ciclo de vértices(los correspondientes a 1, 2, 3, 4 y 5). Tendremos 0+1+2+1+1=5 que no es múltiplo de 3. Así que tenemos que anotar 3x5=15. Si hiciéramos lo mismo con el otro ciclo de vértices obtendríamos 3x3=9. Pasamos a aristas, en primero tiene longitud 3 y la suma de las orientaciones de 2 que es par, por lo que anotamos un 3. El segundo tiene longitud 2 y la suma da impar, anotamos un 4, para el tercerlo, longitud 4 y suma de orientaciones par, anotamos un 4 y para el último nos dará 3x2=6. Así que los número a tener en cuenta son 3, 15, 3, 4, 4 y 6. Hacemos el mínimo común múltiplo y nos dará 60. Recordad que teniendo en cuenta todo esto, el número máximo que podemos obtener es 1260.