Singmaster (1981) writes, on page 32 of his Notes on Rubik’s Magic Cube:
Frank Barnes observes that the group of the cube is generated by two moves: \begin{align*} \alpha &= L^2 B R D^{-1} L^{-1} &=(RF,RU,RB,UB,LD,LB,LU,BD,DF,FL,RD)& \\ &&\cdot (FUR,UBR,LDB,LBU,DLF,BDR,DFR)\\ \beta &= UFRUR^{-1}U^{-1}F^{-1} &=(UF,UL)_+(UR)_+(UBR,UFL)_-(URF)_+ \end{align*} Observe that $\alpha^7$ is an $11$-cycle of edges and $\alpha^{11}$ is a $7$-cycle of corners, that $\beta$ affects the edge and corner left fixed by $\alpha$, and that $$\beta^2 = (UF)_+(UL)_+(UBR)_-(UFL)_-(UFR)_-$$ [...] The remaining details are left as an exercise.
I hadn't seen this notation before, so I'll explain it here.
Notation like $(LU, BD, DF)$ means an edge cycle, in which:
- The $L$-$U$ edge moves to the $B$-$D$ edge's place, with the $L$ half ending up on the $B$ face, and the $U$ half ending up on the $D$ face.
- Similarly $BD \to DF$ and $DF \to LU$.
The notation for corners is similar.
Notation like $(UF, UL)_+$ is a twisted cycle: again, $UF \to UL$, but now $UL \to FU$; the final edge gets flipped when cycling back to the first edge. For corners, the notation is similar, but corners rotate, they don't flip. A subscript $+$ means clockwise rotation, a subscript $-$ means counterclockwise rotation.
$(UR)_+$ means a single edge is flipped. $(UBR)_-$ means a single corner is rotated counterclockwise.
I would like to show that this is indeed true, by writing each element in $\{F,B,L,R,U,D\}$ as a product of elements in $\{\alpha, \beta, \alpha^{-1}, \beta^{-1}\}$ – preferably, having those product be as short as possible. How would I go about finding them? (I'm okay with using software like GAP – if it is at all computationally possible.)
To start, we will use the example from "Analyzing Rubik's Cube with GAP". It creates the group generated by the six generators, corresponding to the six faces of the cube:
It is easy to identify which of the six permutations corresponds to the rotation of the upper (U), left (L), front (F), right (R), back (B) and down (D) sides to use the same letters as in the question above. We will now create them in GAP:
Next, we will construct a group generated by these permutations:
We may now try to use
SmallGeneratingSetto find a generating set that has fewer elements.SmallGeneratingSetdoes not guarantee to return a non-redundant list of minimal possible length, but this time we're lucky:Thus, indeed the group is 2-generated. Now let's create permutations
aandbcorresponding to $\alpha$ and $\beta$ from the question:It is easy to check that they indeed generate the same group:
It remains to show how to factorise, for example, $U$ in terms of $\alpha$ and $\beta$ and their inverses. We will use the same approach that is used here to solve the puzzle.
It's not guaranteed that this factorisation is the shortest - finding that would be much more difficult computational task.
Now one could similarly calculate factorisation for other five permutations. They will be computed faster than in the first call to
PreImagesRepresentativesince some data needed for the algorithm are already computed and stored in the group.