[2x2x2] Etude : La première face

Le Pocket Cube et les autres épreuves officielles. Discussions des méthodes pour ces différents puzzles.
2x2x2 : Méthodes / CLL | Megaminx : Les différents modèles / LL | Pyraminx : Polish-V | Square One : Notation / Premier étage / PLL / Solveur BTC optimal
25 messages Page 1 sur 2
WydD
D@cteur WydD
Messages : 2195
Enregistré le : sam. janv. 24, 2009 9:42 pm


Salut à tous ! Dans beaucoup de méthodes de 2x2x2 (Fridrich-adaptée, Ortega, CLL, EG), la première étape consiste à fabriquer une première face avec ou sans la couronne.

Je me suis demandé tout d'abord combien il fallait de mouvements pour faire une face avec sa couronne (étant donné que je suis en CLL). Et surtout je voulais savoir s'il y avait une différence majeure avec des solutions plus souples.

J'ai donc construit un petit solveur de face qui peut gérer différents critères de construction de faces. Bien entendu, l'étude se fait de façon complètement color-neutral, ce qui est le cas des gens qui savent un minimum manipuler le 2x2.

En exclusivité mondiale : voici les résultats sous vos yeux ébahis :
Image

Premier constat : le diamètre de la construction d'une face est de 7 avec la couronne (voire 6), 6 dans les autres cas. Comme prévu Y et Face normale sont très similaires à quelques détails près (pourquoi ça : parce qu'un cube peut avoir deux ou trois faces de faites qui donnent des restrictions différentes dans les cas Y ou Face).
Deuxième constat : EG-1 est plus efficace de presque un mouvement en moyenne, ce qui est énorme car c'est un gain de 25%. Bon après, dans la bataille CLL vs EG-1, ce dernier est plus difficile à mettre en place du fait de l'alignement de la face supérieur ET inférieur ce qui peut compenser.
Troisième constat : Passer de EG-1 à EG complet a peu d'avantages au niveau du départ, car on a très peu de gain par rapport aux efforts fournis à l'apprentissage.
Quatrième constat : Faire une face nécessite majoritairement 3 mouvements dans 3/4 des cas (et 4 dans presque tous les cas), le faire avec la couronne nécessite 4 mouvements. Il y a du travail à faire si vous mettez plus de mouvements sur cette partie.


Afin de compléter cette étude, je vous montre ici les 8 générateurs qui ont une profondeur de 7 mouvements pour faire une face (ils sont résolvables en 10 voire 11 mouvements, soit le diamètre des solutions du 2x2).
  • R’ F R U F’ U R2 F’ R U’ R2
  • U’ R F R F’ U F2 R’ F U’ R2
  • R2 F2 R U’ F2 R F2 U’ R’ U2 R2
  • R2 U’ R F’ U2 R U’ F R F R’
  • R F’ U R’ U2 R2 F R’ U’ F R’
  • U F U2 R’ F2 R’ U’ R2 U2 F R’
  • F R U2 F’ R2 F’ U’ R2 U2 F R’
  • F2 U2 F U’ F2 R U2 F’ R’ U2 R2
EDIT : Résultats mis à jour le 15 juillet 2010 à 20h02
deadalnix
Unix Cube
Messages : 7316
Enregistré le : sam. nov. 11, 2006 10:44 pm


WydD a écrit :
J'ai donc construit un petit solveur de face qui peut gérer différents critères de construction de faces. Bien entendu, l'étude se fait de façon complètement color-neutral, ce qui est le cas des gens qui savent un minimum manipuler le 2x2.
C'est faux. Doudou par exemple est opposite neutral (et a terminé second aux championnats du monde, premier au premier tour).

S'aurait été justement super intéressant de voir ce qu'on gagne en étant opposite neutral et color neutral par rapport à un départ sur une couleur fixe.

[Tatsu] :-D
WydD
D@cteur WydD
Messages : 2195
Enregistré le : sam. janv. 24, 2009 9:42 pm


C'est pas bête au fond. Jferai tourner les routines demain et je posterai les resultats ensuite.
WydD
D@cteur WydD
Messages : 2195
Enregistré le : sam. janv. 24, 2009 9:42 pm


Paf double post, assez massif je l'avoue. Mais j'ai tous les résultats :)

Tout d'abord les résultats bruts :
(nota, que ce soit en opposite ou en non-neutral, il y a le même nombre de cas en Y ou en Face)

En recherche Opposite Neutral :
Image

En recherche Non Neutral :
Image

Ce qui donne les graphes de distributions suivants :
Image

Et un graph global :
Image

Quelques constats :
  • Le diamètre des solutions de face ne dépasse jamais 7 quelque soit la neutralité ou la méthode.
  • Faire une face seule est bien plus difficile comparé aux autres critères
  • Afin de bien illustrer la difficulté de cette face : il est aussi dur de faire une face en ColorNeutral qu'une face blanche quelconque.
  • Faire un Y ou une Face c'est pareil (sauf en Color Neutral). Bon ça on le savait déjà, mais ça permet d'alléger la charge puisqu'un R2F2R2 avec annulation de mouvement va très vite.
  • Etre Color Neutral fait gagner un mouvement par rapport au Non-Neutral. Et être Opposite-Neutral fait gagner un peu mais on est sur des quarts de mouvements. L'avantage étant que ce n'est pas très pénalisant d'être dans ce dernier cas.
  • Faire une face sans critères particuliers a un diamètre de 5 moves quelque soit la neutralité. (mais l'average va de 3 à 4)
  • Les remarques formulés plus haut s'appliquent toujours.
D'autres constats peuvent être faits mais je vous laisse voir ça vous même.
Pour ceux que ça intéressent et qui veulent pousser plus loin un classeur xls : http//tls.wydd.free.fr/2x2/Report.xls et un classeur Numbers : http//tls.wydd.free.fr/2x2/Report.numbers.zip sont disponible avec toutes les données présentées ci-dessus.

EDIT : Données mises à jour le 15 juillet 20h02
deadalnix
Unix Cube
Messages : 7316
Enregistré le : sam. nov. 11, 2006 10:44 pm


En effet, contrairement à ce qu'on constate pour la croix en fridrich, on ne gagne pas grand chose à être opposite neutral vis à vis de ce qu'on gagne à être color neutral pour le 222.

Damn it !

Il y a moyen d'avoir des exemple des solutions en 6 en opposite neutral ?
WydD
D@cteur WydD
Messages : 2195
Enregistré le : sam. janv. 24, 2009 9:42 pm


En partant face de ref en dessus

Je donne là générateur - résolution

En face pure
R' F2 U2 F U2 F2 R2 U2 R' U2 R' - R F' U' F2 R F'
F' R' U2 R' F2 U F' U2 F U2 R' - R F2 R2 F' R' F2 (particulièrement élégant celui-là)

En J :
R' F R2 F U' R' U R U' R' - R U2 F' U R U2
U R F' U F U2 F R' F U' R' - R U F2 R' U R2
rafoo
VIP au club des 1000
Messages : 2861
Enregistré le : jeu. avr. 09, 2009 11:57 am


WydD a écrit :
http://tls.wydd.free.fr/2x2/Report.xls" onclick="window.open(this.href);return false;
[...]
http://tls.wydd.free.fr/2x2/Report.numbers.zip" onclick="window.open(this.href);return false;
Tu considères les cas symétriques comme différents ?
WydD
D@cteur WydD
Messages : 2195
Enregistré le : sam. janv. 24, 2009 9:42 pm


Oui je n'ai rien cherché de ce point de vue là. La recherche c'est je prend une position, je cherche la face la plus rapide suivant les critères donnés et je stocke son nombre de moves. Je ne fais aucune analyse pour enlever les symétries (d'où le fait d'avoir presque 4 millions de cas)
rafoo
VIP au club des 1000
Messages : 2861
Enregistré le : jeu. avr. 09, 2009 11:57 am


Ok mais le scrambler officiel lui il fait quoi ? S'il réduit par symétrie comme cube explorer ça fausse tes probas non ?
deadalnix
Unix Cube
Messages : 7316
Enregistré le : sam. nov. 11, 2006 10:44 pm


rafoo a écrit :
Ok mais le scrambler officiel lui il fait quoi ? S'il réduit par symétrie comme cube explorer ça fausse tes probas non ?
Le scrambler officiel génère une séquence de 100 moves puis la résout. Ce dernier va cependant devenir 100% aléatoire sous peu.

Ceci dit, rafoo a raison : les cas ne sont pas équiprobabaux. Je doute cependant fortement du fait que cela ai une influence importante sur le résultat.
WydD
D@cteur WydD
Messages : 2195
Enregistré le : sam. janv. 24, 2009 9:42 pm


Pour information je code l'état d'un cube initial en deux entier sur [[0;3^6[[ x [[0; 7!-1[[ (orientation et permutation donc).

De manière plus détaillée : Afin de pouvoir résoudre en RUF, le cube DBL n'est pas changé. Pour construire l'orientation j'applique la décomposition en puissance de 3 du premier entier pour voir les orientations des 6 premières pièces et je les orientes. Je calcule ensuite la parité (donc addition de toutes les orient' et on inverse le résultat) que j'applique sur le 7ème coin. Ensuite le deuxième, ben c'est le classique des permutations. Donc je décompose en [0;6]x[0;5]x...{0} le chiffre pour choisir la position du premier coin, du deuxième etc.. Et wouzi, il suffit d'itérer sur tout l'espace que j'ai mentionné au dessus et on a tout le spectre :)

Sinon deadal je suis d'accord ça ne changera pas grand chose. Je me demande si ça ne pourrait pas détériorer le process de faire une position aléatoire, car de faire 100 tirages aléatoire masque bien le fait que la source ne l'est pas. Alors qu'un (ou deux tirages peut-être) c'est déjà moins évident. Dans tous les cas, on s'en fiche un peu parce que ça ne va pas changer grand chose en pratique.
rafoo
VIP au club des 1000
Messages : 2861
Enregistré le : jeu. avr. 09, 2009 11:57 am


WydD a écrit :
Pour information je code l'état d'un cube initial en deux entier sur [[0;3^6[[ x [[0; 7!-1[[ (orientation et permutation donc).

De manière plus détaillée : Afin de pouvoir résoudre en RUF, le cube DBL n'est pas changé. Pour construire l'orientation j'applique la décomposition en puissance de 3 du premier entier pour voir les orientations des 6 premières pièces et je les orientes. Je calcule ensuite la parité (donc addition de toutes les orient' et on inverse le résultat) que j'applique sur le 7ème coin. Ensuite le deuxième, ben c'est le classique des permutations. Donc je décompose en [0;6]x[0;5]x...{0} le chiffre pour choisir la position du premier coin, du deuxième etc.. Et wouzi, il suffit d'itérer sur tout l'espace que j'ai mentionné au dessus et on a tout le spectre :)
C'est comme ça que marchait mon solveur de 222 aussi, je ne pense pas qu'il y ait vraiment d'autre manière de faire. Le plus chiant si je me souviens bien c'est de définir les mouvements R, U et F (mais bon au moins on en a que trois à faire, c'est pas comme sur un mégaminx).
WydD a écrit :
Sinon deadal je suis d'accord ça ne changera pas grand chose. Je me demande si ça ne pourrait pas détériorer le process de faire une position aléatoire, car de faire 100 tirages aléatoire masque bien le fait que la source ne l'est pas. Alors qu'un (ou deux tirages peut-être) c'est déjà moins évident. Dans tous les cas, on s'en fiche un peu parce que ça ne va pas changer grand chose en pratique.
Si j'ai bien compris ce que dit deadalnix, le scrambleur actuel donne pas la même proba à toutes les classes de symétrie mais la même proba à tous les mélanges* ce qui correspond à tes chiffres et aussi à ce qui se passe quand on mélange un cube "à la main" (en négligeant le fait qu'un cubeur ne fait pas du vrai random) donc ça se tient comme logique.

Cependant le futur scrambleur donnera lui la même proba à toutes les classes (ou pas ?) donc je me demandais si ça changerait quelque chose ou si de toute façon ça change rien sur les premiers chiffres significatifs de tes probas.

Je n'ai aucune idée s'il y a vraiment peu de cubes 222 symétriques et s'ils se répartissent bien mais je ne serais pas surpris qu'en effet ça ne change pas grand chose au final.

En fait je pense même que le fait de vouloir donner la même proba à toutes les classes de symétrie est pas forcément très fondée et que cube explorer le fait principalement pour réduire la mémoire nécessaire à l'algo donc ce serait pas forcément très judicieux de rajouter ça d'autant que ça à l'air chiant à implémenter (puisqu'il faut défixer le coin DBL pour l'occasion).

*en fait c'est pas sur, quand tu dis "100 moves" c'est 100 q (=> équiprobabilité parmis les cubes pairs), 100 f (=> une proba de parité différente de 1/2) ou 100 f avec en moyenne 50% de quarts de tour et 50% de demi tours ? Enfin dans tous les cas ça paraît débile, c'est tellement plus simple de tirer deux entiers au hasard.
WydD
D@cteur WydD
Messages : 2195
Enregistré le : sam. janv. 24, 2009 9:42 pm


rafoo a écrit :
*en fait c'est pas sur, quand tu dis "100 moves" c'est 100 q (=> équiprobabilité parmis les cubes pairs), 100 f (=> une proba de parité différente de 1/2) ou 100 f avec en moyenne 50% de quarts de tour et 50% de demi tours ? Enfin dans tous les cas ça paraît débile, c'est tellement plus simple de tirer deux entiers au hasard.
Bah c'était 500 f au hasard (R R' compris). Mais je viens de voir que ça a été modifié sur le scrambler officiel par Conrad Rider : http://www.worldcubeassociation.org/reg ... e_222.html" onclick="window.open(this.href);return false; (notez que le code est assez élégant).

Sinon de savoir que tu accordes autant de proba à chaque classe de symétrie n'est pas fondé car ce n'est pas ce qui arrive en pratique. Mettons que tu génères un scramble de seulement la PLL finale, on sait que statistiquement, dans le cadre du 2x2, ya 1/6 de chance d'avoir skip, 1/6 d'avoir Y et 2/3 d'avoir J. Si tu fais ça par classe de symétrie tu ramènes ça à 1/3 | 1/3 | 1/3 ce qui n'est pas vrai en pratique. Dans le cadre d'une compétition, ça n'a pas de sens (dans le cadre d'un entrainement peut-être, et encore).
rafoo
VIP au club des 1000
Messages : 2861
Enregistré le : jeu. avr. 09, 2009 11:57 am


rafoo a écrit :
En fait je pense même que le fait de vouloir donner la même proba à toutes les classes de symétrie est pas forcément très fondé_
WydD a écrit :
Sinon de savoir que tu accordes autant de proba à chaque classe de symétrie n'est pas fondé car ce n'est pas ce qui arrive en pratique.
Il semblerait qu'on soit d'accord :-D
SqAtx
VIP au club des 1000
Messages : 2605
Enregistré le : mar. févr. 10, 2009 5:45 pm


Sujet intéressant, merci :)
Il n'y a donc pas tant d'écart que ça entre EG1 et CLL.
Par contre j'ai l'impression de faire beaucoup plus que 3.2 mouvements pour faire une face, y'a peut-être une progression à chercher de ce côté-là aussi.
25 messages Page 1 sur 2