• Welcome to the Speedsolving.com, home of the web's largest puzzle community!
    You are currently viewing our forum as a guest which gives you limited access to join discussions and access our other features.

    Registration is fast, simple and absolutely free so please, join our community of 40,000+ people from around the world today!

    If you are already a member, simply login to hide this message and begin participating in the community!

PLL Equivalence Classes

Joined
Sep 3, 2017
Messages
105
Location
USA
There are 4! * 4! / 2 = 288 PLL permutations which you speed-solvers reduce down to 22 equivalence classes ( 21 + the trivial class containing the identity cube). I wanted to see if I could duplicate this degree of reduction.

I generated the 288 PLL permutations by closing the group formed from the generators ( U , Jb and Aa ). These may be partitioned into 84 symmetry equivalence classes by conjugation with the C4y rotation symmetry group. In speed-solving two PLL permutations which differ only by turns of the U face are deemed to be the same permutation. So for each element of an eq class I applied U, U' and U2 and added those elements to that class. That done the 84 symmetry eq classes collapsed to the expected 22 classes. I then pulled a representative element from each class and compared them to those in the database here. I was gratified that my permutations matched.

My results are given below. The algorithm I used to pull out the representative element gives priority to perms with the UBL cubie solved, then the UL cubie and then the UB cubie. This often gives a differently oriented element than that in the database. The Generator column gives a turn sequence which will take a solved cube to the permutation and the Solution column gives a turn sequence to take the permutation to the solved cube. The Cycle column describes the action of the solution permutation. e.g (UFR, URB, ULF) is read as: the cubie in the URB slot moves to the UFR slot, the cubie in the ULF slot moves to the URB slot and the cubie in the UFR slot moves to the ULF slot. The turn sequences are the output of my optimal solver and make no presumption of being "finger friendly".

Name​
Generator​
Solution​
Cycle Notation​
1​
A-PLL a​
F2 R2 F L F' R2 F L' F​
R2 F2 R' B' R F2 R' B R'​
(UFR, URB, ULF)​
2​
A-PLL b​
R2 F2 R' B' R F2 R' B R'​
F2 R2 F L F' R2 F L' F​
(UFR, ULF, URB)​
3​
E-PLL​
F B R F' L F R' F' B' R B L' B' R'​
F B R F' L F R' F' B' R B L' B' R'​
(UFR, ULF) (URB, UBL)​
4​
F-PLL​
U R L' B2 L' D R' B2 L U' L R2 F2 R2​
U R L' B2 L' D R' B2 L U' L R2 F2 R2​
(UF, UB) (UFR, URB)​
5​
G-PLL a​
B' U' B L2 D F' U F U' F D' L2​
L2 D F' U F' U' F D' L2 B' U B​
(UF, UL, UR) (UFR, URB, ULF)​
6​
G-PLL b​
L2 D F' U F' U' F D' L2 B' U B​
B' U' B L2 D F' U F U' F D' L2​
(UF, UR, UL) (UFR, ULF, URB)​
7​
G-PLL c​
L U L' B2 D' R U' R' U R' D B2​
B2 D' R U' R U R' D B2 L U' L'​
(UF, UR, UB) (UFR, ULF, URB)​
8​
G-PLL d​
B2 D' R U' R U R' D B2 L U' L'​
L U L' B2 D' R U' R' U R' D B2​
(UF, UB, UR) (UFR, URB, ULF)​
9​
H-PLL​
U R2 F2 B2 L2 D' R2 F2 B2 L2​
U R2 F2 B2 L2 D' R2 F2 B2 L2​
(UF, UB) (UR, UL)​
10​
J-PLL a​
L2 B' U' B L2 F' D F' D' F2​
L2 B' U' B L2 F' D F' D' F2​
(UF, UR) (UFR, ULF)​
11​
J-PLL b​
B2 L U L' B2 R D' R D R2​
B2 L U L' B2 R D' R D R2​
(UF, UR) (UFR, URB)​
12​
N-PLL a​
U R U' R2 B2 D' L F2 L' D B2 R2 U R'​
U R U' R2 B2 D' L F2 L' D B2 R2 U R'​
(UR, UL) (URB, ULF)​
13​
N-PLL b​
U R U' R2 F2 U' R F2 R' U F2 R2 U R'​
U R U' R2 F2 U' R F2 R' U F2 R2 U R'​
(UF, UB) (URB, ULF)​
14​
R-PLL a​
U' R U' B L' B' R' B L B' U' R U2 R'​
U' R U' B L' B' R' B L B' U' R U2 R'​
(UL, UB) (UFR, ULF)​
15​
R-PLL b​
U' R U B' D2 F L' F' D2 B2 U' R' U B'​
U' R U B' D2 F L' F' D2 B2 U' R' U B'​
(UF, UL) (UFR, URB)​
16​
T-PLL​
F2 U F2 U' F2 L2 U' L2 D F2 D'​
F2 U F2 U' F2 L2 U' L2 D F2 D'​
(UF, UB) (UFR, ULF)​
17​
U-PLL a​
R2 U F B' R2 F' B U R2​
R2 U' F B' R2 F' B U' R2​
(UF, UB, UR)​
18​
U-PLL b​
R2 U' F B' R2 F' B U' R2​
R2 U F B' R2 F' B U R2​
(UF, UR, UB)​
19​
V-PLL​
R U D2 L' U L U2 F2 D R D' F2 D2 R'​
R U D2 L' U L U2 F2 D R D' F2 D2 R'​
(UF, UR) (URB, ULF)​
20​
Y-PLL​
F' R' F L D' F' D R F L' F2 U F2​
F' R' F L D' F' D R F L' F2 U F2​
(UR, UB) (URB, ULF)​
21​
Z-PLL​
R2 U R2 U' R2 F2 R2 U' F2 U R2 F2​
R2 U R2 U' R2 F2 R2 U' F2 U R2 F2​
(UF, UL) (UR, UB)​
 
Last edited:
Joined
Sep 3, 2017
Messages
105
Location
USA
I happen to have on hand an optimal solver for the RUF cube group. I used this to generate solutions to the 21 PLL permutations using only R U F turns. They are longer but some may prefer them. The expanded table is below.


Name​
Generator​
Solution​
Cycle Notation​
1​
A-PLL a​
F2 R2 F L F' R2 F L' F​
R2 F2 R' B' R F2 R' B R'​
(UFR, URB, ULF)​
U' R U' R F2 R' U R' U' R2 F2 R2 U2​
2​
A-PLL b​
R2 F2 R' B' R F2 R' B R'​
F2 R2 F L F' R2 F L' F​
(UFR, ULF, URB)​
U F' U F' R2 F U' F U F2 R2 F2 U2​
3​
E-PLL​
D' R D2 B D' L' D B' D2 R' D B L B'​
D' R D2 B D' L' D B' D2 R' D B L B'​
(UFR, ULF) (URB, UBL)​
R2 U R2 U2 F2 U' F2 U' R2 F2 U2 F2 U' R2 U2​
4​
F-PLL​
U R L' B2 L' D R' B2 L U' L R2 F2 R2​
U R L' B2 L' D R' B2 L U' L R2 F2 R2​
(UF, UB) (UFR, URB)​
R2 F R F' R' U' F' U F R2 U R' U' R U​
5​
G-PLL a​
B' U' B L2 D F' U F U' F D' L2​
L2 D F' U F' U' F D' L2 B' U B​
(UF, UL, UR) (UFR, URB, ULF)​
U' F2 R2 U F2 U F2 U' R U' R F2 R' U R​
6​
G-PLL b​
L2 D F' U F' U' F D' L2 B' U B​
B' U' B L2 D F' U F U' F D' L2​
(UF, UR, UL) (UFR, ULF, URB)​
R' U' R F2 R' U R' U F2 U' F2 U' R2 F2 U​
7​
G-PLL c​
L U L' B2 D' R U' R' U R' D B2​
B2 D' R U' R U R' D B2 L U' L'​
(UF, UR, UB) (UFR, ULF, URB)​
U R2 F2 U' R2 U' R2 U F' U F' R2 F U' F'​
8​
G-PLL d​
B2 D' R U' R U R' D B2 L U' L'​
L U L' B2 D' R U' R' U R' D B2​
(UF, UB, UR) (UFR, URB, ULF)​
F U F' R2 F U' F U' R2 U R2 U F2 R2 U'​
9​
H-PLL​
U R2 F2 B2 L2 D' R2 F2 B2 L2​
U R2 F2 B2 L2 D' R2 F2 B2 L2​
(UF, UB) (UR, UL)​
R2 U2 R U2 R2 U2 R2 U2 R U2 R2​
10​
J-PLL a​
L2 B' U' B L2 F' D F' D' F2​
L2 B' U' B L2 F' D F' D' F2​
(UF, UR) (UFR, ULF)​
U' F' U' R F R' U' R F' R' U2 F​
11​
J-PLL b​
B2 L U L' B2 R D' R D R2​
B2 L U L' B2 R D' R D R2​
(UF, UR) (UFR, URB)​
R U' F U' R' U' R U F' U2 R' U'​
12​
N-PLL a​
U R U' R2 B2 D' L F2 L' D B2 R2 U R'​
U R U' R2 B2 D' L F2 L' D B2 R2 U R'​
(UR, UL) (URB, ULF)​
U' F' U F2 R2 U F' R2 F U' R2 F2 U' F​
13​
N-PLL b​
U R U' R2 F2 U' R F2 R' U F2 R2 U R'​
U R U' R2 F2 U' R F2 R' U F2 R2 U R'​
(UF, UB) (URB, ULF)​
R U' R2 F2 U' R F2 R' U F2 R2 U R' U'​
14​
R-PLL a​
U' R U' B L' B' R' B L B' U' R U2 R'​
U' R U' B L' B' R' B L B' U' R U2 R'​
(UL, UB) (UFR, ULF)​
R U' R F2 U R U R U' R' U' F2 R2 U​
15​
R-PLL b​
U' R U B' D2 F L' F' D2 B2 U' R' U B'​
U' R U B' D2 F L' F' D2 B2 U' R' U B'​
(UF, UL) (UFR, URB)​
U F2 R2 U' F' U' F U F U R2 F U' F​
16​
T-PLL​
F2 U F2 U' F2 L2 U' L2 D F2 D'​
F2 U F2 U' F2 L2 U' L2 D F2 D'​
(UF, UB) (UFR, ULF)​
R' F' U F U' F' U' F2 R F' U' F' U F​
17​
U-PLL a​
R2 U F B' R2 F' B U R2​
R2 U' F B' R2 F' B U' R2​
(UF, UB, UR)​
R U2 R U R U R2 U' R' U' R2​
18​
U-PLL b​
R2 U' F B' R2 F' B U' R2​
R2 U F B' R2 F' B U R2​
(UF, UR, UB)​
R' U2 R' U' R' U' R2 U R U R2​
19​
V-PLL​
R U D2 L' U L U2 F2 D R D' F2 D2 R'​
R U D2 L' U L U2 F2 D R D' F2 D2 R'​
(UF, UR) (URB, ULF)​
R U' R U F R F2 U F U' F R' F' R'​
20​
Y-PLL​
F' R' F L D' F' D R F L' F2 U F2​
F' R' F L D' F' D R F L' F2 U F2​
(UR, UB) (URB, ULF)​
F' U F U' R2 U2 R2 U' F' U' F U R2 U2 R2​
21​
Z-PLL​
R2 U R2 U' R2 F2 R2 U' F2 U R2 F2​
R2 U R2 U' R2 F2 R2 U' F2 U R2 F2​
(UF, UL) (UR, UB)​
R2 U R2 U' R2 F2 R2 U' F2 U R2 F2​
R2 U' R2 U' R U2 R2 U2 R2 U2 R U R2 U R2​
 
Last edited:

ray5

Member
Joined
Oct 10, 2020
Messages
39
This is awesome, do you share the code for it? Wonder if it can be applied to 2x2 (maybe even PBL) and megaminx.
 
Joined
Sep 3, 2017
Messages
105
Location
USA
This is awesome, do you share the code for it?
No, I haven't shared any cube code. I have a cube utility program which I have been adding routines to for a number of years now as I think of interesting problems to solve. It is fairly large and rambling with a lot of dinosaurs. I have been meaning to tear into it and strip out the fluff and rework older code (some of which dates from over 10 years ago). Your reply has spurred me to action and I have begun to rewrite my cube modeling code. In a week or so when I get it put together with some functions speed-solvers might find useful I'll put the project up on GitHub.

The code will be an Xcode project in objective C for MacOS.
 
Top