La résolution se fait en deux étapes :
- la première passe d'un cube mélangé à un cube de la forme suivante (*) :
- la face blanche contient uniquement des pièces blanches et des pièces jaunes
- la face jaune contient uniquement des pièces blanches et des pièces jaunes
- sur la tranche du milieu, les edges bleus sont sur les faces bleue et verte, les edges verts sont sur les faces bleue et verte, et pareil avec rouge/orange sur les faces rouge/orange
- la deuxième étape finit la résolution du cube en utilisant U, U', U2, D, D', D2, R2, F2, B2, L2 (c'est à dire les mouvements normaux pour les faces U et D, et uniquement les mouvements doubles pour les autres faces)
(*) pour voir à quoi ressemble vraiment un cube de cette forme, mélange-le en utilisant uniquement U, U', U2, D, D', D2, R2, F2, B2, L2
NB : concrètement, pour faire chacune de ces deux étapes, l'ordinateur "génère" la solution, c'est à dire qu'il fait tous les mouvements possibles, puis il regarde s'il a résolu le cube en 1 mouvement, puis s'il n'a pas réussi il rapplique tous les mouvements sur chacun des cubes qu'il a réussi à former avec 1 seul mouvement, etc et il continue à appliquer tous ses mouvements sur tous ses cubes en mémoire jusqu'à résoudre le cube (ou jusqu'à trouver une forme convenable comme par exemple pour la première étape) en générant une séquence de mouvements qui convient.
NB : bien sûr, on doit rajouter les symétries, on n'est pas obligés de choisir les faces blanche et jaune, on peut choisir les bleue et verte par exemple
cubix147 a écrit :- ça n'est pas une méthode "humaine" avec qq formules
En effet,
- on ne peut pas connaitre dans notre petite tête tous les états du cube que l'on peut atteindre avec 10 mouvements par exemple (tout simplement parce qu'il y en a beaucoup trop !)
- l'ordinateur ne connait aucune formule, il cherche brutalement la solution en testant toutes les combinaisons possibles de mouvements
cubix147 a écrit :Qui pourrait m'expliquer comment un ordinateur résout le cube en une vingtaine de mouvements ?
Pourquoi ça ne prend QUE 20 mouvements environ et que c'est quasiment optimal ? (la question qui tue...
![mdr :smt040:](./images/smilies/040.gif)
)
(Techniquement, l'ordinateur découpe le groupe du cube en produit direct de sous-groupes de taille à peu près identique : 2,217,093,120 paquets de 19,508,428,800 éléments, et ces deux nombres étant du même ordre de grandeur, on va voir après que ça donne des trucs sympas)
Dans la pratique, imagine un rectangle d'aire égale à 9, et note x et y sa largeur et sa longueur.
Et le périmètre minimum est obtenu pour x=y (= 3)
Par analogie : notre groupe de toutes les combinaisons du cube, on va le découper en produit (exactement comme pour l'aire du rectangle) de 2 sous-groupes, et de la même façon quand on a les tailles assez proches (tout comme on avait x=y) on a un nombre de mouvements qui est proche du minimal (idem périmètre minimal). C'est tout pareil
![Smile :)](./images/smilies/icon_smile.gif)
G=H*I (son vrai nom c'est pas I mais je ne sais plus comment c'est, bref peu importe)
avant on avait A=x*y
on voit bien que si taille(H) et taille(I) sont environ égales, c'est pareil que x et y environ égaux, donc ça minimise le nombre de coups
Mais après, c'est bien beau tout ça, mais pourquoi est-ce que cette méthode en deux temps et ces tailles de sous-groupes coïncident ?
Aussi étrange que cela puisse paraître, c'est un pur coup de bol ! Eh oui, les gens qui ont bossé dessus ont cherché à découper le groupe du cube en parties égales, donc ils ont cherché une forme générale de l'étape intermédiaire, et il se trouve que celle-ci (définie tout en haut) convient, donc ils l'ont gardé.
Et pourquoi est-ce qu'ils ne font pas une résolution brutale en une seule étape ? 43 milliards de milliards de combinaisons, soit plusieurs millions de téraoctets de mémoire, c'est à dire inimaginable d'espérer avoir une solution sur un ordinateur hyperpuissant avant quelques centaines d'années... tout ça pour une seule résolution ! bref, mauvaise idée
![Mr. Green :mrgreen:](./images/smilies/icon_mrgreen.gif)