[GAP Forum] Finding OLL algorithms for the 2x2x2 Rubik's cube

rain1 at airmail.cc rain1 at airmail.cc
Sun Sep 27 20:43:29 BST 2020


How would I come up with 2x2x2 Rubik's cube OLL algorithms that perform 
certain operations using GAP?

Here is an example of some OLL algorithms: 
https://jperm.net/algs/2x2/oll
They leave the bottom half of the cube fixed, and they move the yellow 
squares onto the top of the cube. They are free to permute the grey 
squares however they like.

I have represented the 2x2x2 Rubik's cube as the following group in GAP:

U:=(513,523,524,514)*(153,351,352,253,254,452,451,154)^2;
D:=(613,614,624,623)*(163,164,461,462,264,263,362,361)^2;
F:=(163,153,154,164)*(513,514,451,461,614,613,361,351)^2;
B:=(253,263,264,254)*(523,352,362,623,624,462,452,524)^2;
L:=(351,361,362,352)*(513,153,163,613,623,263,253,523)^2;
R:=(451,452,462,461)*(514,524,254,264,624,614,164,154)^2;

f:=FreeGroup("U","D","F","B","L","R");
G:=Group([U,D,F,B,L,R]);
hom:=GroupHomomorphismByImages(f,G,[f.1,f.2,f.3,f.4,f.5,f.6],[U,D,F,B,L,R]);
SG:=Stabilizer(G,[613,614,624,623,163,164,461,462,264,263,362,361],OnTuples);

I was able to find large words by applying the PreImagesRepresentative 
to random elements of SG.

I implemented a brute force search for short words and I was able to 
find 2 of the OLL algorithms.

I found that Factorization will calculate the shortest word, I'm running 
that now but it seems to be taking a very long time.

What I would really like to do is calculate very short words that extend 
a specific action, like:

word:=RepresentativeAction(G, [523, 524, 513, 514, 
613,614,624,623,163,164,461,462,264,263,362,361], [523, 524, 153, 154, 
613,614,624,623,163,164,461,462,264,263,362,361], OnTuples);

or

word:=RepresentativeAction(SG, [523, 524, 513, 514], [523, 524, 153, 
154], OnTuples);

I sampled from this randomly and found long words that achieve the OLL 
algorithms, but I can't work out how to find short words.

Any advice and suggestions would be welcome!



More information about the Forum mailing list