Mécanique des mélanges officiels
Posté : ven. mars 24, 2017 6:17 pm
Bonjour à tous,
je m'intéresse à la mécanique des mélanges générés par le programme TNoodle qu'utilise la WCA.
On suppose deux choses dans un premier temps :
S1 : une face ne peut pas subire deux rotations successives (pas de L' L2 par exemple).
S2 : la suite de mouvement est aléatoire, avec S1 pour contrainte.
Déjà, on peut se poser la question (légitime) suivante : toutes les configurations sont-elles théoriquement atteignables avec ces mélanges ? On appelle (P1) cette proposition.
D'abord, il est connu que toutes les configurations sont atteignables en 20 mouvements ou moins.
Tous ces mélanges ont une longueur comprise entre 18 et 21 inclus (d'après ce que j'ai pu voir sur les mélanges officiels, j'ai testé sur une centaine de mélanges).
On appelle "plus petit algorithme" d'une configuration la plus petite suite de mouvements, à partir d'un cube résolu, qui entraîne cette configuration.
Donc en supposant S2, toutes les configurations dont le plus petit algorithme est de longueur comprise entre 18 et 20 inclus sont atteignables par ces mélanges. Donc (P1) est vraie pour celles-ci.
La question se pose pour celles dont le plus petit algorithme est de longueur inférieure ou égale à 17. Soit C une telle configuration et A son plus petit algorithme.
On remarque que U D U' D' est équivalent au mouvement nul.
Donc pour obtenir C en 18, 19, 20 ou 21 mouvements, il suffit d'ajouter à A un certain nombre de fois U D U' D' jusqu'à ce que le nombre de mouvements soit inclus dans [18; 21].
Par exemple : pour obtenir le résultat de R en un nombre de mouvements inclus dans [18; 21] et qui respecte S1, il suffit de faire R (U D U' D')5, ce qui fait 21 mouvements. Et on peut montrer que ça marche avec n'importe quel C. Cela fonctionne bien car il y a 4 nombres entre 18 et 21 et que mon algorithme neutre fait 4 mouvements.
Conclusion : (P1) est vrai, les mélanges générés par ce programme peuvent théoriquement atteindre toutes les configurations.
Oui, MAIS : en supposant S2, c'est-à-dire que les mouvements sont aléatoires. Le sont-ils réellement et y a-t-il des critères ? Pour la petite histoire, j'ai moi-même fait un programme en Python qui génère des mélanges respectant S1 et S2, ça ressemble plutôt bien à ceux de la WCA (mais évidemment cela ne veut absolument pas dire que ceux de la WCA respectent S2).
- Visiblement, aucun sur la croix, nous avons tous eu l'occasion de croiser (ah ah) une croix faisable en 2-3 mouvements.
- Aucun sur les blocs formés (pour les utilisateurs de méthodes basées sur les blocs).
- Aucun sur l'orientation des arêtes et des coins (pour les blinfolders et les utilisateurs de la méthode ZZ).
Ce qui fait néanmoins la puissance de cette absence de critères, ça serait précisément la neutralité. Aucun utilisateur n'est avantagé et aucun désavantagé.
Mais, même si théoriquement toutes les configurations sont atteignables par ce programme de la WCA, je doute fort qu'une configuration revenant au même qu'à faire un R soit imaginable.
On peut se poser la question du 21 mouvement : pourquoi y-t-il des mélanges de 21 mouvements alors que toutes les configurations sont atteignables en 20 mouvements ou moins ? Pourquoi 18 est le minimum ?
C'est peut-être simplement parce qu'il est plus facile de trouver un algorithme amenant à une configuration donnée en 21 mouvements qu'en 15 (en supposant que cela existe pour cette configuration).
Ou bien l'algorithme fait 18 mouvements aléatoires systématiquement et en rajoute 1, 2 ou 3 si le cube n'est pas considéré comme bien mélangé selon certains critères. Ce dont je doute : par exemple si en 18 mouvements on se retrouve avec une configuration revenant à faire un R, ce n'est pas rajouter 3 mouvements qui va empêcher un cubeur qui a l’œil de se rendre compte du truc.
J'aimerais donc en savoir plus sur la mécanique de ces mélanges, si des personnes s'y connaissent.
Comment le programme garantit-il que les cas triviaux sont évités ? Peut-être que des personnes motivées et qui savent coder en Java/Python pourraient aller fouiller dans leur algorithme ?
Merci beaucoup de vos éventuelles réponses.
je m'intéresse à la mécanique des mélanges générés par le programme TNoodle qu'utilise la WCA.
On suppose deux choses dans un premier temps :
S1 : une face ne peut pas subire deux rotations successives (pas de L' L2 par exemple).
S2 : la suite de mouvement est aléatoire, avec S1 pour contrainte.
Déjà, on peut se poser la question (légitime) suivante : toutes les configurations sont-elles théoriquement atteignables avec ces mélanges ? On appelle (P1) cette proposition.
D'abord, il est connu que toutes les configurations sont atteignables en 20 mouvements ou moins.
Tous ces mélanges ont une longueur comprise entre 18 et 21 inclus (d'après ce que j'ai pu voir sur les mélanges officiels, j'ai testé sur une centaine de mélanges).
On appelle "plus petit algorithme" d'une configuration la plus petite suite de mouvements, à partir d'un cube résolu, qui entraîne cette configuration.
Donc en supposant S2, toutes les configurations dont le plus petit algorithme est de longueur comprise entre 18 et 20 inclus sont atteignables par ces mélanges. Donc (P1) est vraie pour celles-ci.
La question se pose pour celles dont le plus petit algorithme est de longueur inférieure ou égale à 17. Soit C une telle configuration et A son plus petit algorithme.
On remarque que U D U' D' est équivalent au mouvement nul.
Donc pour obtenir C en 18, 19, 20 ou 21 mouvements, il suffit d'ajouter à A un certain nombre de fois U D U' D' jusqu'à ce que le nombre de mouvements soit inclus dans [18; 21].
Par exemple : pour obtenir le résultat de R en un nombre de mouvements inclus dans [18; 21] et qui respecte S1, il suffit de faire R (U D U' D')5, ce qui fait 21 mouvements. Et on peut montrer que ça marche avec n'importe quel C. Cela fonctionne bien car il y a 4 nombres entre 18 et 21 et que mon algorithme neutre fait 4 mouvements.
Conclusion : (P1) est vrai, les mélanges générés par ce programme peuvent théoriquement atteindre toutes les configurations.
Oui, MAIS : en supposant S2, c'est-à-dire que les mouvements sont aléatoires. Le sont-ils réellement et y a-t-il des critères ? Pour la petite histoire, j'ai moi-même fait un programme en Python qui génère des mélanges respectant S1 et S2, ça ressemble plutôt bien à ceux de la WCA (mais évidemment cela ne veut absolument pas dire que ceux de la WCA respectent S2).
- Visiblement, aucun sur la croix, nous avons tous eu l'occasion de croiser (ah ah) une croix faisable en 2-3 mouvements.
- Aucun sur les blocs formés (pour les utilisateurs de méthodes basées sur les blocs).
- Aucun sur l'orientation des arêtes et des coins (pour les blinfolders et les utilisateurs de la méthode ZZ).
Ce qui fait néanmoins la puissance de cette absence de critères, ça serait précisément la neutralité. Aucun utilisateur n'est avantagé et aucun désavantagé.
Mais, même si théoriquement toutes les configurations sont atteignables par ce programme de la WCA, je doute fort qu'une configuration revenant au même qu'à faire un R soit imaginable.
On peut se poser la question du 21 mouvement : pourquoi y-t-il des mélanges de 21 mouvements alors que toutes les configurations sont atteignables en 20 mouvements ou moins ? Pourquoi 18 est le minimum ?
C'est peut-être simplement parce qu'il est plus facile de trouver un algorithme amenant à une configuration donnée en 21 mouvements qu'en 15 (en supposant que cela existe pour cette configuration).
Ou bien l'algorithme fait 18 mouvements aléatoires systématiquement et en rajoute 1, 2 ou 3 si le cube n'est pas considéré comme bien mélangé selon certains critères. Ce dont je doute : par exemple si en 18 mouvements on se retrouve avec une configuration revenant à faire un R, ce n'est pas rajouter 3 mouvements qui va empêcher un cubeur qui a l’œil de se rendre compte du truc.
J'aimerais donc en savoir plus sur la mécanique de ces mélanges, si des personnes s'y connaissent.
Comment le programme garantit-il que les cas triviaux sont évités ? Peut-être que des personnes motivées et qui savent coder en Java/Python pourraient aller fouiller dans leur algorithme ?
Merci beaucoup de vos éventuelles réponses.