Thistlethwaite's algorithm

Thistlethwaite also came up with a famous solution to the Rubik's Cube. The way the algorithm works is by restricting the positions of the cubes into groups of cube positions that can be solved using a certain set of moves. The groups are:

G0 = <L,R,F,B,U,D>

This group contains all possible positions of the Rubik's Cube.

G1 = <L,R,F,B,U2,D2>

This group contains all positions that can be reached (from the solved state) with quarter turns of the left, right, front and back sides of the Rubik's Cube, but only double turns of the up and down sides.

G2 = <L,R,F2,B2,U2,D2>

In this group, the positions are restricted to ones that can be reached with only double turns of the front, back, up and down faces and quarter turns of the left and right faces.

G3 = <L2,R2,F2,B2,U2,D2>

Positions in this group can be solved using only double turns on all sides.

G4 = {I}

The final group contains only one position, the solved state of the cube.

The cube is solved by moving from group to group, using only moves in the current group, for example, a scrambled cube likely lies in group G0. A look up table of possible permutations is used that uses quarter turns of all faces to get the cube into group G1. Once in group G1, quarter turns of the up and down faces are disallowed in the sequences of the look-up tables, and the tables are used to get to group G2, and so on, until the cube is solved.[3]