Advanced Square-1 Methods/Theory

I think he's right with his red / and parity. We can think about permutation and parity on a non cube shape (but it's non trivial :D).

Anyway, I think you should add some stuff about back to cube to be more complete.
 
Parity exists in non-cube states, obviously. It's defined the same as in cube shape, except that it's more difficult to define what "odd" and "even" parity are. (Or, restated, "whether or not there is parity"). A change in parity is the same no matter what shape the puzzle is.
 
I can't check the new example with the longer B, but from the description it's clear and that's indeed interesting and enlightening.

And yeah ok, I retract my earlier statement that that red / doesn't change the parity. Well, it *is* undefined unless you have a definition of parity in non-cube shapes, but I guess it would be the case with *every* such definition (except strange ones I don't want to get into now), so it's ok to say it in general without giving a specific definition.

To define permutation/parity for all shapes, not just cube shape, simply define a "correct permutation" for each shape. So for each shape and each piece, where the piece shall "belong" in that shape. Of course for cube shape you should define that all pieces belong where they make the puzzle solved. But for all other shapes, it can be completely random and unrelated to the definitions of other shapes.

After you have done this, parity of any given state is simply determined by comparing the given permutation with that of the defined "correct" permutation for the given shape.
 
Last edited:
I think one of the best method is Lars + about 50 bonus EP.With this method you can solve edge without repring or doing /6,6/ before Ep."Polish style" I like it :D

By Lars method + 50 do you mean all of the algorithms on his site plus the 50 mirrors?
its 49 bonus algs.there aren't mirror in one of layer, for example if you have U perm in Up layer and H perm in down layer you have alg in the Lars page but if you have Hperm in Up and Uperm in down you must flip cube or go /6,6/.
// sorry , My English is bad :P
 
1.1 Parity CP
Parity CP is method where parity is determined along with corner permutation (instead of during EP), and then parity and corner permutation are solved at the same time. The main advantage of this method is that it only requires 8 additional CP algs, while eliminating the 50 parity EPs. Andrew Nelson is the only person known to use this, and I'd say he's been rather successful with it. His explanation and the algs he generated can be found here.
Very good idea, although I have to say that some of those algorithms look rather nasty compared to the regular CP algorithms which have nothing but 90 degree turns in them and are a lot shorter.

Some simple arithmetic reveals:
Normal CP takes [4.6|9.2] moves on average
Full EP takes [9.1|21.5] moves on average.
This adds up to [13.7|30.7] moves on average for those two steps combined.

Parity CP takes [6.6|14.8] moves on average
"Even parity" EP takes [7.3|18.2] moves on average
This adds up to [13.9|33.0] moves on average for those two steps combined.

So that's only a couple of extra moves and you have to learn only 8 parity CP cases instead of 25 odd parity EP cases (or 50 cases if you also learn them upside down). Not bad at all!

I'm a bit worried about recognition though.
 
Last edited:
Yeah, recognition is the part that turns most people off the method. I always did the classic "optimal" parity alg that messes up CP so I've always recognized before solving it. This method sort of evolved out of that.

Also, sure the algorithms are nasty. But so are odd parity EPs. By learning 8 nasty algs, I skip the 50 nastiest.
 
Or the recognition, here the way I do :
If you have an existing PLL on a 3x3x3 and a non existion, then go parity CP.

If you have two existing PLL or two non existing PLL, go standard CP.

You need to look 3 side to do this. I have worked a lot on 4x4x4 PLL, so I used to see this. But it's quite difficult at the bigining.

EDIT: And I don't want to learn 50 alg for edges permutations :D With this I need 9 to solve this in two easy steps (including trivial cases).
 
Last edited:
1.2 EOCP
EOCP does exactly what it sounds like- orients edges and permutes corners at the same time.
I think this is the only point in the method where it makes sense to combine 2 successive steps. Solving other things as you make the cube shape seems very difficult and the EP step at the end already has enough cases as it is.

You could combine corner separation and edge separation in one step, but I'm not a big believer since corner separation is really only half a step that takes 3 twists at the very worst. I feel it's going to save you a couple of moves for learning many more cases and making recognition much more complex. I'm still curious to know the exact number of cases and their optimal solutions so I might look into this later.

Now as for EOCP, I've generated all states for Jaap's solver that have the corners already oriented (I'll use that term since it's so commonly used :p). For most of the 216 EOCP cases you have to generate 576 EPs though and not 100 EPs (this is true for the case where the corners are completely solved). I started running it on Saturday and it's now halfway. I've uploaded the input files and the script to run the solver in case you want to find them yourself:
http://www.cubezone.be/eocp.zip

Here are some nice algorithms for the case with 2 adjacent wrong edges in each layer (UF, UR, DF and DR):
(0,-4)/(0,-3)/(1,1)/(0,3)/(-1,3) (swaps no corners)
(0,4)/(0,-3)/(3,3)/(-2,1)/(-1,3) (swaps UBR-UBL and DFL-DBL)
(0,-1)/(3,3)/(-3,0)/(3,0)/(-2,-2)/(-1,0) (swaps UBR-UBL and DFR-DBR)
(1,0)/(3,0)/(-3,0)/(-1,-1)/(0,-3)/(0,3)/(0,1) (swaps UBR-UBL and DBR-DBL)
(4,0)/(3,0)/(2,2)/(3,0)/(3,-5) (swaps UFR-UBR and DBR-DBL)
 
Start with a solved Square-1 and do: /(3,3)/(-1,0)/(2,2)/

This generates a star shape on the top layer. Let's say we define this position as having even parity for this shape. Now do (1,0). Now what parity do you have? :)

(Arguably you can say the parity doesn't matter anyway, since it's not a twistable position.)
 
You can't do (1,0), because that's not a legitimate move. Asking what parity that is would be the same as doing a 45-degree turn on a 3x3 and asking what parity you have. The position simply isn't valid, so the question makes no sense :)
 
Or the recognition, here the way I do :
If you have an existing PLL on a 3x3x3 and a non existion, then go parity CP.

If you have two existing PLL or two non existing PLL, go standard CP.

You need to look 3 side to do this. I have worked a lot on 4x4x4 PLL, so I used to see this. But it's quite difficult at the bigining.

EDIT: And I don't want to learn 50 alg for edges permutations :D With this I need 9 to solve this in two easy steps (including trivial cases).

I think this is the only way to do it :p . You just have to look at each layer and determine whether you have a PLL or not. My guess is that Tim Sun is the best at recognising this. I'm sure Andrew is a close second, but I'm just going to assume that because Tim is beast at so many puzzles, his recognition would be better than Andrew's.
 
Start with a solved Square-1 and do: /(3,3)/(-1,0)/(2,2)/

This generates a star shape on the top layer. Let's say we define this position as having even parity for this shape. Now do (1,0). Now what parity do you have? :)

Easy peasy!

Easy? But you didn't give an answer.

I am wondering if it is sufficient to define the parity for a single position for each shape category (such as shield-right fist), and to be able to derive the parity for each twistable position that can be reached by only rotating top and bottom layers. My example shows this doesn't work if you want to include non-twistable positions (even if you restrict yourself to only multiples of 30-degree turns, of course).
 
And yeah ok, I retract my earlier statement that that red / doesn't change the parity. Well, it *is* undefined unless you have a definition of parity in non-cube shapes, but I guess it would be the case with *every* such definition (except strange ones I don't want to get into now), so it's ok to say it in general without giving a specific definition.

To define permutation/parity for all shapes, not just cube shape, simply define a "correct permutation" for each shape. So for each shape and each piece, where the piece shall "belong" in that shape. Of course for cube shape you should define that all pieces belong where they make the puzzle solved. But for all other shapes, it can be completely random and unrelated to the definitions of other shapes.

After you have done this, parity of any given state is simply determined by comparing the given permutation with that of the defined "correct" permutation for the given shape.

Yes, thats what I had to do here. I just decided that my initial position would be "correct," then I labeled all the pieces and traced the effect of the B algorithm and determined whether or not the parity relative to the "correct" position had changed. However I'm not sure how to do this if shape changes, but I will continue my efforts to break down algorithms.

its 49 bonus algs.there aren't mirror in one of layer, for example if you have U perm in Up layer and H perm in down layer you have alg in the Lars page but if you have Hperm in Up and Uperm in down you must flip cube or go /6,6/.
// sorry , My English is bad :P

Oh sorry, I meant to say 49.

1.2 EOCP
EOCP does exactly what it sounds like- orients edges and permutes corners at the same time.
I think this is the only point in the method where it makes sense to combine 2 successive steps. Solving other things as you make the cube shape seems very difficult and the EP step at the end already has enough cases as it is.

You could combine corner separation and edge separation in one step, but I'm not a big believer since corner separation is really only half a step that takes 3 twists at the very worst. I feel it's going to save you a couple of moves for learning many more cases and making recognition much more complex. I'm still curious to know the exact number of cases and their optimal solutions so I might look into this later.

Now as for EOCP, I've generated all states for Jaap's solver that have the corners already oriented (I'll use that term since it's so commonly used :p). For most of the 216 EOCP cases you have to generate 576 EPs though and not 100 EPs (this is true for the case where the corners are completely solved). I started running it on Saturday and it's now halfway. I've uploaded the input files and the script to run the solver in case you want to find them yourself:
http://www.cubezone.be/eocp.zip

Here are some nice algorithms for the case with 2 adjacent wrong edges in each layer (UF, UR, DF and DR):
(0,-4)/(0,-3)/(1,1)/(0,3)/(-1,3) (swaps no corners)
(0,4)/(0,-3)/(3,3)/(-2,1)/(-1,3) (swaps UBR-UBL and DFL-DBL)
(0,-1)/(3,3)/(-3,0)/(3,0)/(-2,-2)/(-1,0) (swaps UBR-UBL and DFR-DBR)
(1,0)/(3,0)/(-3,0)/(-1,-1)/(0,-3)/(0,3)/(0,1) (swaps UBR-UBL and DBR-DBL)
(4,0)/(3,0)/(2,2)/(3,0)/(3,-5) (swaps UFR-UBR and DBR-DBL)

Yeah I agree 1 look orientation just isn't practical. In my opinion, CO is just too simple to bother complicating. However you can do things like adjust by (-1,-1) during CO in order to orient some edges along with it, but I think that should be the end of it.

Thanks for taking the initiative with EOCP. If I can get the internet to work on my old desktop I'll set it up and start running it. I think my laptop gets turned on and off too much to run something extensive like that. Nice catch with there being 576 EP states, I forgot that while there is 100 cases they won't always have the correct A(U/D)F which will increase the number of states.

I prefer (1,0)/(-3,0)/(-1,-1)/(4,1)/(-1,0) for the case that swaps no corners, but thats just me.

another adj-swap
(4,0)/(-4,0)/(-3,0)/(3,0)/(-3,0)/(3,0)/(-5,0)/(4,0) (diag swap on top, swaps right corners on D)

For single swap (UR DR) I know of:

(1,3)/(3,0)/(3,0)/(-1,-1)/(-2,1)/(-3,0)/(-1,-3) (no swap)
(1,0)/(0,-3)/(0,-3)/(-1,-1)/(4,-5)/(-3,0)/(-1,0) (BRU BLU, BRD BLD)
(1,3)/(3,0)/(3,0)/(-1,-1)/(1,4)/(3,0)/(5,3) (back corners on U, right corners on D

I'm sure more of these can be found just by playing around, or they are algs that people already use.

Whoa I also just noticed I haven't even mentioned bandaged square-1 (2gen), when I made a page about it months ago. Here it is: http://www.dtwoner.110mb.com/index.php?p=1_3_Bandaged-Sq-1
 
Last edited:
Oh I forgot to mention that Tomas and I decided the current standard for square-1 images (like on Lars' page) is a bit confusing for the bottom layer. Since D layer algs are recognized from the top we thought it would make more sense for the images to be viewed from the top as well. Also using arrows is a bit ambiguous for things like W and U perms, so we opted for images like this one:

sq1image1.JPG

I hope you aren't offended Lars. :p
 

Attachments

  • sq1image2.JPG
    sq1image2.JPG
    11.1 KB · Views: 18
I am wondering if it is sufficient to define the parity for a single position for each shape category (such as shield-right fist)

Of course it is not, because this approach does not even work when you are in cubeshape! If the pieces are not sorted into their proper layers, you cannot just look at one layer and say "this is parity" and then look at the other layer and say "this is not parity". You need to look at them both and count cycles or whatever.
 
I think I know what he means. If you define a "solved" position for each non-cube shape, you can count cycles to find out the parity of every position in that shape. I'd suggest using (one of) the optimal paths to a solved position.
 
I am wondering if it is sufficient to define the parity for a single position for each shape category (such as shield-right fist)

Of course it is not, because this approach does not even work when you are in cubeshape! If the pieces are not sorted into their proper layers, you cannot just look at one layer and say "this is parity" and then look at the other layer and say "this is not parity". You need to look at them both and count cycles or whatever.

Well, of course you misunderstood what I meant. What I meant was that if you had the puzzle in a certain shape category and you define the particular position that you have to be a given parity, then can you still define the parity for all twistable ("legitimate" in qqwref's terminology) positions that are reachable just by rotating the top and bottom layer? This is a more basic issue than the question of being able to attempting to define a parity for all twistable positions of the same shape category based upon a single position within that shape category (when you are also allowed to exchange pieces between layers).

And counting cycles generally doesn't work when you have a layer that is rotated from the reference position. (But I think there may be a way of counting "swaps" that will work.)
 
Oh, well yeah, I proposed that on the second page, and I think someone else also did (Stefan?)
qqwref (post 13) said:
I don't think there really is any reasonable way to define parity in cubeshape, except by maintaining a dictionary of specific optimal solutions for each cubeshape and then saying a shape has parity if the dictionary solution ends up with parity in cubeshape.

So my approach was, if you have a given shape, to solve it using a pre-decided optimal solution and say the original position had parity if the cubeshape position that you get has parity. But, however you like to define parity in non-cube shapes, you will need to write down 90 different things (which is hardly a natural definition), and then you have the problem that a turn (when not in cubeshape) can almost unpredictably either toggle parity or not.
 
Last edited:
Oh, well yeah, I proposed that on the second page, and I think someone else also did (Stefan?)

Well, yours and Stefan's explanations were at least fuzzy with respect to dealing with non-cubeshape positions differing only in how the U and D layers are rotated. Do you count them as distinct shapes? Well, you need to count them as distinct shapes as far as possibly needing to do a specific turn of each layer so that the top and bottom layer shapes are properly aligned for the special alg to bring you to cubeshape.

Now it appears that if a layer shape has no rotational symmetries, then it should be obvious, in that parity determination method, on how to rotate the layer prior to performing the cubeshape alg. If a layer shape has rotational symmetries, but every symmetric rotation of the layer corresponds to an even permutation, then again, it shouldn't matter which position you pick out of the ones that are symmetric to the reference position's "orientation."

However if a layer has rotational symmetries corresponding to an odd permutation, then you need to be careful. However, it appears to me there are only two such layer shapes: CCCCCC and CEEEECEEEE. The first one (commonly called "star" shape) should not need to be rotated at all. The other one, CEEEECEEEE, will have two different "orientations" corresponding to the reference position, and they will differ in parity. Therefore, care must be used in how you rotate a CEEEECEEEE layer, prior to performing the alg for getting to cubeshape.

My "swap" counting idea is to allow swapping two edges, swapping two corners, or "swapping" a corner and an edge that are adjacent to each other. I am not clear if this actually works, but it seems that this could greatly simplify the procedure of determining parity if it works, as instead of many shapes, you would simply have to consider 6C/2C8E, 5C2E/3C6E, and 4C4E/4C4E cases.
 
Last edited:
Back
Top