Page 1 sur 1

Le groupe Glissant (Slice group) du Pyraminx, Rubik's Cube, Megaminx

Publié : Dim 24/03/2024 15:31
par Morphocode
Le groupe Glissant du Pyraminx

Pyraminx :
Image

Les autocollants (stickers) sont numérotés comme indique la fig ci-dessous
Numérotation des autocollants :
Image

On définit les 4 rotations {g,d,h,p} comme ceci :
Image

On pose :
Q = < g,d,h,p >
Q engendre un ensemble d'états S défini ainsi :
S = { s = état | s = e•V , V€Q } ; e=état résolu
Par définition S est le groupe Glissant (Slice group) du Pyraminx .

Pour trouver S on raisonne ainsi :
* On a 6 arêtes qui baladent partout ==> S6
Chaque une arête a deux orientations ==> Z26
Donc pour les arêtes on a affaire à : S6 x Z26
* Les 3 centres tournent autour d'un sommet, on peut concidèrer comme un gros sommet à 3 orientations ==> Z34
D'où
S+ = S6 x Z26 x Z34
Mais il y a des contraintes N :
Une rotation, g par ex donne un 3-cycle-arêtes ==> signature=pair ==> 2 choix (sig=1,-1)
La somme des orientations des arêtes est pair ==> 2 choix (pair, impair)
N = 2 . 2
Finalement
S = S+ / N
d'où
S = A6 x Z25 x Z34
|S| = 933120


Voici un script en GAP qui permet de trouver |S|


Code : Tout sélectionner

#gap_pyraminx.txt
#per de base: (arete)(arete)(centre)
pg := (2,4,11)(8,10,5)(21,15,16);
pd := (1,12,4)(7,6,10)(17,14,24) ;
ph := (1,8,9)(7,2,3)(22,13,20)   ;
pp := (3,5,12)(9,11,6)(23,19,18) ;
#permutations étendues (violer les lois)
pGamma := (1,7) ;
pOmega := (1,2)(7,8);
#permutation sommet
pG := (30,28,29);
pD := (33,31,32);
pH := (27,25,26);
pP := (35,34,36);

Slice := Group( pg, pd, ph, pp );
Print( "\n |Slice| = ", Size( Slice ) , "\n" );





On trouve :
Image

Remarque : S est le groupe Glissant car il est isomorphe à

Image

Re: Le groupe Glissant (Slice group) du Pyraminx, Rubik's Cube, Megaminx

Publié : Mar 26/03/2024 14:57
par Morphocode
Le groupe Glissant (Slice group) du Rubik's Cube

Rubik's Cube :
Image

Les autocollants (stickers) sont numérotés comme indique la fig ci-dessous
Numérotation des autocollants :
Image

On définit les 6 rotations comme ceci :
Image

On pose :
Q = < HB', AP', DG' >
Q engendre un ensemble d'états S défini ainsi :
S = { s = état | s = e•V , V€Q }
Par définition S est le groupe Glissant (Slice group) du Rubik's Cube .

Le groupe Q est isomorphe à T = <b,g,p> = < h',d',a' > par les relations:
b = HB' tH'
g = DG' tD'
p = AP' tA'
Image

Les arêtes dans la tranche b restent dans la tranche b, elles tournent autour d'un carré donc on a affaire à Z4
Comme on a 3 tranches , donc pour les arêtes on a affaire à Z43

On a 6 centres mais les centres sont attachés au core (on ne peut pas permuter le centre H et le entre A) les mouvements des centres se comportent comme les rotations-cube : h = tH, d=tD, a=tA donc on a affaire au groupe de déplacement du cube qui est isomorphe à S4

Mais on a des contraintes N, car une rotation tranche h par ex donne un 4-cycle-aretes et un 4-cycle-centre donc signature(aretes) = signature(centres) ==> N=2
Finalement on a :
T = Z43 x S4 / N

S = T
|S| = 768

Voici un script en GAP qui permet de trouver |S|


Code : Tout sélectionner


pH := (2,4,6,8)(26,28,30,32) (1,3,5,7)(17,21,25,29)(19,23,27,31) ;;
pB := (18,24,22,20)(42,48,46,44) (9,15,13,11)(33,45,41,37)(35,47,43,39);;
pA := (2,34,18,36)(26,10,42,12) (1,35,11,23)(17,9,37,3)(19,33,39,21);;
pP := (6,38,22,40)(30,14,46,16) (7,25,13,45)(29,27,41,47)(31,5,43 ,15);;
pG := (4,12,20,14)(28,36,44,38) (3,39,13,27)(21,11,41,5)(23,37,43,25);;
pD := (8,16,24,10)(32,40,48,34) (1,29,15,33)(17,31,45,35)(19,7,47,9);;
pGamma := (2,26);;
pPsi := (1,17,19);;
pOmega := (2,8)(26,32);;
ph := (10,36,14,40)(34,12,38,16)(51,53,52,54);;
pd := (2,30,22,42)(26,6,46,18)(49,52,50,51);;
pa := (4,32,24,44)(28,8,48,20)(49,54,50,53);;
#H=49,B=50,A=51,P=52,G=53,D=54
####

#slide groupe
Slice :=  Group(pH*pB^-1, pA*pP^-1, pD*pG^-1);
Print( "\n |Slice| = ", Size( Slice ) , "\n" );

hda :=  Group(ph, pd, pa);
Print( "\n |<h,d,a>| = ", Size( hda ) , "\n" );




Image

Re: Le groupe Glissant (Slice group) du Pyraminx, Rubik's Cube, Megaminx

Publié : Mer 27/03/2024 19:49
par Morphocode
Le groupe Glissant (Slice group) du Megaminx

Megaminx :
Image

On définit les 12 rotations comme ceci :
Image
Image


On pose :
Q = < HH', BB', AA', PP', GG', DD' >
Q engendre un ensemble d'états S défini ainsi :
S = { s = état | s = e•V , V€Q }
Par définition S est le groupe Glissant (Slice group) du Megaminx .


Voici un script en GAP qui permet de trouver |S|


Code : Tout sélectionner


pH := (1,9,7,5,3)(50,40,30,200,11)(52,42,32,22,13)(2,10,8,6,4)(51,41,31,21,12);
pB := (70,72,74,76,78)(17,28,80,108,64)(15,26,88,106,62)(71,73,75,77,79)(16,27,89,107,63);
pA := (11,13,15,17,19)(3,200,72,62,54)(5,28,70,60,52)(12,14,16,18,20)(4,29,71,61,53);
pP := (30,32,34,36,38)(7,40,92,84,24)(9,48,90,82,22)(31,33,35,37,39)(8,49,91,83,23);
pG := (50,52,54,56,58)(1,11,60,116,44)(3,19,68,114,42)(51,53,55,57,59)(2,20,69,115,43);
pD := (200,22,24,26,28)(5,30,82,74,15)(7,38,80,72,13)(21,23,25,27,29)(6,39,81,73,14);
ph := (100,102,104,106,108)(98,110,66,78,88)(96,118,64,76,86)(101,103,105,107,109)(97,119,65,77,87);
pb := (40,42,44,46,48)(9,50,114,94,34)(1,58,112,92,32)(41,43,45,47,49)(10,59,113,93,33);
pa := (90,92,94,96,98)(36,48,112,102,86)(34,46,110,100,84)(91,93,95,97,99)(35,47,111,101,85);
pp := (60,62,64,66,68)(19,70,106,118,56)(17,78,104,116,54)(61,63,65,67,69)(18,79,105,117,55);
pg := (80,82,84,86,88)(26,38,90,100,76)(24,36,98,108,74)(81,83,85,87,89)(25,37,99,109,75);
pd := (110,112,114,116,118)(96,46,58,68,104)(94,44,56,66,102)(111,113,115,117,119)(95,45,57,67,103);
# h=opposé de H

Megaminx := Group (pH, pB, pA, pP, pG, pD, ph, pb, pa, pp, pg, pd);;
# Megaminx = 100669616553523347122516032313645505168688116411019768627200000000000
#Print( "\n |Megaminx| = ", Size( Megaminx ) , "\n" );

Slice := Group(pH*ph^-1, pB*pb^-1, pA*pa^-1, pP*pp^-1, pG*pg^-1, pD*pd^-1);;
# Slice = 9627755206121277812101663948800000
Print( "\n |Slice| = ", Size( Slice ) , "\n" );

#Size (Megaminx) = Size (DerivedSubgroup (Megaminx)) ;




On trouve :
Image