#### Bruce MacKenzie

##### Member
To restate what DG said a bit more formally, PLL cases are considered to be identical if you can compose with U moves to get from one to the other, i.e. ∼ X \sim Y iff =U∘∘U X = \mathrm U^a\circ Y\circ \mathrm U^b for some ,∈{0,1,2,3} a, b\in\{0,1,2,3\} . Thus there should be sixteen symmetries, not just the four rotational symmetries (where you restrict it to +=0 a+b=0 ).
Good. That makes sense. After my post I solved all of my 83 cases and I noticed that many of the solutions started with U. It occurred to me that counting cubes that differ only by U turns as the same might be what they were doing. Thanks.

How exactly did you end up with 83?
83 (actually 84 including the identity state) is the number of equivalence classes the group of 288 up face position permutations may be partitioned into by conjugations with the C4 rotation symmetries. Such equivalence classes are invariant under conjugation with those symmetries.

m<class>m' = <class> for all elements m of the C4 group

Form the symmetry conjugate of a class member and you get another member of the class. You don't get exactly four fold reduction because some elements are symmetric:

m * g * m' = g

e.g. the identity state which is the only member of its symmetry class.

Last edited:

#### brododragon

##### Member
How to mathematically optimize algorithms?.

#### Skewbed

##### Member
If you consider an optimized algorithm to be the one that a human could execute the fastest, you would need a system of checking how fast execution of an algorithm would be. Then you could just try out different algorithms for the same case to see what works best.

This can be done, probably most accurately, by hand. Just time yourself with the shortest algorithms generated for each subset of turns that is fast (<RU>, <RUF>, <RUD>, <LU>...). Then just use the fastest one.

It might be possible to see if an AI could be trained to guess how fast an algorithm could be executed, but it would still probably be more accurate to do it by hand.

#### brododragon

##### Member
Go to an optimal solver. Mathematically, the most optimal alg would be the shortest one
I meant an actual formula or method.
If you consider an optimized algorithm to be the one that a human could execute the fastest, you would need a system of checking how fast execution of an algorithm would be. Then you could just try out different algorithms for the same case to see what works best.

This can be done, probably most accurately, by hand. Just time yourself with the shortest algorithms generated for each subset of turns that is fast (<RU>, <RUF>, <RUD>, <LU>...). Then just use the fastest one.

It might be possible to see if an AI could be trained to guess how fast an algorithm could be executed, but it would still probably be more accurate to do it by hand.
I mean fewest moves. That would be cool, though.

#### ProStar

##### Member
If I want to make an alg sheet for a set, how do I find out what each of the different cases would be?

Example: If I wanted to do a PLL sheet(assuming none existed), how would I figure out how each case will look like?

#### brododragon

##### Member
If I want to make an alg sheet for a set, how do I find out what each of the different cases would be?

Example: If I wanted to do a PLL sheet(assuming none existed), how would I figure out how each case will look like?
I would just do them as I run into them. I don’t know how to find the total # of cases, though.

#### brododragon

##### Member
And then just keep going until you've run into all possible cases?
Yep. It’s not effective at all, but it’s the easiest way.

#### xyzzy

##### Member
If I want to make an alg sheet for a set, how do I find out what each of the different cases would be?

Example: If I wanted to do a PLL sheet(assuming none existed), how would I figure out how each case will look like?
1. Get a sheet of paper.

2. List down all the positions of cubies that you care about and aren't fixed, be they edges, corners, (for big cubes / other puzzles) centres, whatever. (E.g. for VLS, you don't include the two pieces that form the last F2L pair even though they aren't solved. These two pieces are constant across all the different VLS cases.)

3. Write down literally every possible cubie that can be in the first position.

4. If it fits on the same sheet of paper, for each of the possibilities thus far enumerated, write down every possible cubie that can be in the second position. If not, get more paper.

5. Repeat with the third, fourth, etc. positions until you're done.

6. Now get yet another sheet of paper (or possibly many more sheets of paper) and group cases together into equivalence classes, if necessary. E.g. for PLL, you don't quite care if your N perm has aligned blocks at FR/BL, at FL/BR, or if it has no aligned blocks at all.

(Optionally, replace "paper" with any electronic version if you don't like killing trees.)

If this seems like a lot of work, you can shortcut steps 3-5 with some combinatorics knowledge. (You should quickly start seeing some patterns as you work this out; try to convince yourself of the multiplication principle. But also watch out for parity, and if relevant (e.g. RU 2-gen), other constraints.) Step 6 can be "shortcut" with group theory but it's usually not too onerous to just brute-force your way through it. You can also rearrange/split step 6 to be anywhere else in the list to make your life easier, e.g. listing ZBLL by first enumerating CLL, grouping them by AUF equivalence, then enumerating the possible edge permutations, then grouping together by equivalent cases again (for the few symmetric CLL cases).

tl;dr be systematic

#### brododragon

##### Member
1. Get a sheet of paper.

2. List down all the positions of cubies that you care about and aren't fixed, be they edges, corners, (for big cubes / other puzzles) centres, whatever. (E.g. for VLS, you don't include the two pieces that form the last F2L pair even though they aren't solved. These two pieces are constant across all the different VLS cases.)

3. Write down literally every possible cubie that can be in the first position.

4. If it fits on the same sheet of paper, for each of the possibilities thus far enumerated, write down every possible cubie that can be in the second position. If not, get more paper.

5. Repeat with the third, fourth, etc. positions until you're done.

6. Now get yet another sheet of paper (or possibly many more sheets of paper) and group cases together into equivalence classes, if necessary. E.g. for PLL, you don't quite care if your N perm has aligned blocks at FR/BL, at FL/BR, or if it has no aligned blocks at all.

(Optionally, replace "paper" with any electronic version if you don't like killing trees.)

If this seems like a lot of work, you can shortcut steps 3-5 with some combinatorics knowledge. (You should quickly start seeing some patterns as you work this out; try to convince yourself of the multiplication principle. But also watch out for parity, and if relevant (e.g. RU 2-gen), other constraints.) Step 6 can be "shortcut" with group theory but it's usually not too onerous to just brute-force your way through it. You can also rearrange/split step 6 to be anywhere else in the list to make your life easier, e.g. listing ZBLL by first enumerating CLL, grouping them by AUF equivalence, then enumerating the possible edge permutations, then grouping together by equivalent cases again (for the few symmetric CLL cases).

tl;dr be systematic
So just throw out any parity? And what about orientation?

#### ep2

##### Member
I'm sure this has been answered before, but can all PLL cases be recognised from two sides only, or are there some that need three?

#### ProStar

##### Member
So just throw out any parity? And what about orientation?

If this seems like a lot of work, you can shortcut steps 3-5 with some combinatorics knowledge. (You should quickly start seeing some patterns as you work this out; try to convince yourself of the multiplication principle. But also watch out for parity, and if relevant (e.g. RU 2-gen), other constraints.) Step 6 can be "shortcut" with group theory but it's usually not too onerous to just brute-force your way through it. You can also rearrange/split step 6 to be anywhere else in the list to make your life easier, e.g. listing ZBLL by first enumerating CLL, grouping them by AUF equivalence, then enumerating the possible edge permutations, then grouping together by equivalent cases again (for the few symmetric CLL cases).

#### Filipe Teixeira

##### Member
I'm sure this has been answered before, but can all PLL cases be recognised from two sides only, or are there some that need three?
all can be recognized by 2 sides, first check the corner permutation, if its solved, adj or diag, then look for patterns like blocks or checkerboards.

ep2

#### brododragon

##### Member
I learned how to do 3C and 3E comms. I've been practicing them but sometimes I'll get stuck. How would I solve this with a comm?
I found this one with a bit of messing around: L U' R U L' U' R' U