# Complex 2-Move Generator Reduction Method (c2gr)



## zz_ (Aug 20, 2017)

Hello

I want to share with you with my new speedcubing method, which I have described at my OneDrive:
https://1drv.ms/w/s!Am1bZghSQmingyzL3Msq9ZW2LMc5

Generally the idea is to predict in pre-inspection time the moves leading the cube to <U,u,R,r> group situation.
I have called this *Complex 2-Move Generator Reduction Method (c2gr)*.

Regards and enjoy
zz from Poland


----------



## Arc (Aug 20, 2017)

Hi, it's awesome to have you on the forum.

CP-first methods have been starting to be explored lately. The most recent and well-developed of these methods is @Teoidus' 2GR. http://teoidus.github.io/dump/2GR/2GR.html and I think you will find the recognition system outlined to be quite interesting. 

I hope that we can all collaborate to develop this 2gen redux concept further.


----------



## WillTheGameDesigner (Aug 21, 2017)

Nice. I've had a similar idea too. However, my idea was to reduce to <r,U,R>. Either way, I think this method has potential, especially for OH


----------



## Teoidus (Aug 21, 2017)

I considered this idea when trying to figure out how to make use of CP reduction--eventually I figured it would be easier to track CP through EO than to track EO through CP, so I went with EOPair + CPLine instead of CPLine + EO. I also found EO to be more difficult <ruRU> than <RUFruf>.

I also think you might be interested in looking at the systems for recognizing/tracking CP that I've developed (there are a couple of links in my signature). With them I'm able to recognize the swap needed to fix CP, track how it changes as other moves are applied to the cube, and place DLF corner while reducing remaining 6 to <R,U> intuitively.


----------



## zz_ (Aug 21, 2017)

Thank you for your answer.
So you are able to predict all the moves for EOPair and CPLine in this short time of pre-inspection for every scramble?
I am really impressed. I thought you predict only EOPair.
Regards
zz


----------



## Teoidus (Aug 21, 2017)

I'm not able to yet, but I think it should be possible within 15 seconds given enough practice. Currently it takes 12-15 seconds on average for me to plan EOPair. I haven't tried to predict CP through EOPair solution yet, but I have predicted CP through 2x2 scrambles while executing them and that generally can be done in 3-4 seconds.


----------



## Pyjam (Aug 21, 2017)

Hello Mr ZZ, and thank you for this great contribution.

Do you think your new method is easier or harder to master than ZZ?


----------



## Micki (Aug 22, 2017)

this method looks very cool and interesting. The only thing i dont understand is how you recognize which cp case you have in the four groups, for example in your first example solve you had position D1. i can't really figure out how that case is D1 and it's the same for all your examples i don't really get it. like for example for D1 i would think that the corner at DFR should go to UBL and the corner at DFL should go to UBR and finally DBR should go to UFL, but that is not the case in the example you gave. it might be really obvious to some people and i'm just missing something but could you maybe explain it a bit more


----------



## zz_ (Aug 22, 2017)

Pyjam said:


> Hello Mr ZZ, and thank you for this great contribution.
> 
> Do you think your new method is easier or harder to master than ZZ?


Hello Pyjam,
First primo: I am not Mr, but just zz.
Second primo: I think this method should be easier and moves for the whole cube should be more ergonomic than in old zz. I am only afraid the second step will show up the weakness.
zz


----------



## zz_ (Aug 22, 2017)

Micki said:


> ... like for example for D1 i would think that the corner at DFR should go to UBL ...


Hello Micki
I had doubts on my description if it will be understood, but here I explain it to you. The picture D1, similarly to all other pictures, does not mean "<corner> should go to <position>"; it is a picture of vectors described in "New concepts" part, where you can find two versions of the solved cubes. In example 1 (after move U2) at quoted above positions DFR and UBL are "upper-right-front corner" and "upper-right-back corner".
zz


----------



## Pyjam (Aug 22, 2017)

Thank you for your answer zz.

I can see that this new method potentially fixes 4 ZZ's weaknesses:
1) the blind spot in DLB.
2) the annoying case where I need to insert the DLB corner while the 3 edges are already in place.
3) the relative slowness of the moves on the left side (for non ambidextrous people) and the need for regrips.
4) the huge number of cases for the last layer

I'm still struggling to understand some points. First one is: what's the purpose of the "a" move?

Second one: I'm trying to solve this scramble:
z2 D' B2 R2 D' L2 U' B2 R2 F2 R2 F2 R' B' F R B' R2 U2 L' B' L'
(green front, yellow top)
my base corner is white/red on left/blue on back
I think it's case D7
I do:
x y' // inspection
u R2 F' U S' // (6) CP-base line : u R U' U R F F2 U S'

Unfortunately, the corners are not in the correct permutation.
Could you help, please?


----------



## Micki (Aug 22, 2017)

zz_ said:


> Hello Micki
> I had doubts on my description if it will be understood, but here I explain it to you. The picture D1, similarly to all other pictures, does not mean "<corner> should go to <position>"; it is a picture of vectors described in "New concepts" part, where you can find two versions of the solved cubes. In example 1 (after move U2) at quoted above positions DFR and UBL are "upper-right-front corner" and "upper-right-back corner".
> zz


thanks for answering. But im still a bit confused, i dont understand what you mean by vectors and what you mean by the versions of the solved cube. lets take example 1 again, could you maybe explain how the position is D1 and why it is?


----------



## zz_ (Aug 22, 2017)

Pyjam
Your situation is D8 after making "a" move. Pay special attention that every two corners make vectors, not pairs - they are directed and you must take under consideration the vectors' beginnings and ends (white-black or black-white).
Finally your case (only CP) is:
(-) (a U R U' a') (U R F) (F2) -> (F U F') (U R F) (F2) -> F U F' U R F'
or you can use (F U R) instead of (U R F) in this case and get F U2 R F2 
zz


----------



## zz_ (Aug 22, 2017)

Micki
Let me use my colour scheme as an example: red at front and yellow at top.
First let us look at the solved cube. According to the pictures of the solved cube, described in "New concepts" part, there are two pictures which represent two possibilities of three vectors of two corners each:
first possibility:
vector 1: corner 1: white-green-red, corner 2: white-green-orange,
vector 2: corner 1: yellow-green-orange, corner 2: yellow-green-red,
vector 3: corner 1: yellow-blue-red, corner 2: yellow-blue-orange.
second possibility (return direction):
vector 1: corner 1: white-green-orange, corner 2: white-green-red,
vector 2: corner 1: yellow-green-red, corner 2: yellow-green-orange,
vector 3: corner 1: yellow-blue-orange, corner 2: yellow-blue-red.
After scrambling the cube with example 1 (starting with green at front and white at top) and then making moves z2 y and U2 we can find out that our cube corresponds to situation D1 taking under consideration solved cube of the second possibility. Notice that vector 1 corner 1 stands now at position DLF and corner 2 at URB; vector 2 corner 1 is at DRF and corner 2 at ULB; vector 3 corner 1 is at DRB and corner 2 at ULF.
The order of the vectors does not play a role.
zz


----------



## Micki (Aug 22, 2017)

zz_ said:


> Micki
> Let me use my colour scheme as an example: red at front and yellow at top.
> First let us look at the solved cube. According to the pictures of the solved cube, described in "New concepts" part, there are two pictures which represent two possibilities of three vectors of two corners each:
> first possibility:
> ...


wow thanks alot!!! It makes perfect sense now


----------



## Teoidus (Aug 23, 2017)

ZZ,

Could you explain how you came up with your "3 vector" system, the various situations, and move sequences for each situation? So far my key swap system has served me well, but I'm interested in any alternative method of recognizing/tracking CP.


----------



## zz_ (Aug 24, 2017)

First I took into account solved cube with base line on its place. I devided remaining corners into two cycles: two corners at DR and four corners at U and started generating and drawing all possible situations.
Then I devided four corners' cycle into two cycles with two corners but the directions were like in final method - the moves R2 and U2 did not change my picture! Meanwhile I found out that I can exchange vectors' beginnings with ends and this is still the correct corners permutation. Again I drew all the possible situations.
Next step I prepared the description for recognizing correct CP, but I still did not know how to achieve this. The number of all situations, not only correct, was still to huge 
Next I realized that putting the base pair corner into URF position I get two things: (1) limited number of situations using 120 degrees rotating, (2) easier way to obtain that in mind (one move). The number of correct CP was only four!
Now I started to make and draw not correct CP situations beginning from all correct CP situations making backward moves: F2 U R('2) U' and got all the situations of groups B, C and D; during this process I realized all alternative sequences and repeated (making 120 degrees) situations in groups B and C.
Next I started to generate situations with other rotation of base pair corner making backward moves: F2 F' U' = F U'; then F2 F' R' U' and... found out F' R' U' sequence did not change the correct permutation and that F2 F' U' = F2 (F' R' U') (U R U') - thanks to this I did not have to prepare additional pictures for rotated base pair corner.
Finally I described my method and... briefly that was all 
zz


----------



## Pyjam (Aug 24, 2017)

A colossal and impressive work. Congratulations.


----------



## cubing4nz (Nov 16, 2017)

Cool method. 
Also it would be more easier and helpful if you change ’ (apostrophe) to ' (comma) in your example solves as it would be easier to put it in alg.cubing.net


----------



## UnixMan (Aug 18, 2018)

Hello,

Thank you for sharing the method, it is very good. But the paper in the link only describes the 1st step out of 4. Am I supposed to know the other steps? If no, where are they described? Thanks in advance.


----------



## Thom S. (Aug 18, 2018)

UnixMan said:


> Hello,
> 
> Thank you for sharing the method, it is very good. But the paper in the link only describes the 1st step out of 4. Am I supposed to know the other steps? If no, where are they described? Thanks in advance.



The other Steps exist in other methods


----------



## shadowslice e (Aug 18, 2018)

UnixMan said:


> Hello,
> 
> Thank you for sharing the method, it is very good. But the paper in the link only describes the 1st step out of 4. Am I supposed to know the other steps? If no, where are they described? Thanks in advance.


The method is essentially the same as Briggs. If you want a better 2gen redux method, I would recommend @Teoidus 's 2gr method.


----------



## UnixMan (Aug 18, 2018)

shadowslice e said:


> The method is essentially the same as Briggs. If you want a better 2gen redux method, I would recommend @Teoidus 's 2gr method.


I'd like to, but I don't quite get the Teoidus' CP recog system, that's why I found this one by zz good. Btw, Teoidus' manual on github is gone  I have yet to find a complete manual for ANY CP-first method.


----------



## Thom S. (Aug 18, 2018)

UnixMan said:


> I'd like to, but I don't quite get the Teoidus' CP recog system, that's why I found this one by zz good. Btw, Teoidus' manual on github is gone  I have yet to find a complete manual for ANY CP-first method.



For step 2, you can expand to a 3x2x1 CPBlock and then use Leor's system 
For Step 3 you can take a look at the Petrus Method as it has the same step
Step 4 is just 2GLL. Multiple Listst exist online.( I personally recommend Jabari Nuruddin and Egide Hirwa's Lists)


----------



## UnixMan (Aug 18, 2018)

Thom S. said:


> For step 2, you can expand to a 3x2x1 CPBlock and then use Leor's system
> For Step 3 you can take a look at the Petrus Method as it has the same step
> Step 4 is just 2GLL. Multiple Listst exist online.( I personally recommend Jabari Nuruddin and Egide Hirwa's Lists)


Thank you!


----------



## Pyjam (Aug 18, 2018)

Leor's EO system is mainly intuitive. I've collected some algs for peculiar cases.
If you're interested, you'll find them here.


----------



## PapaSmurf (Aug 24, 2018)

https://johnli0135.github.io/2GR/CPLine/CPLine.html
This is the new link for teoidus’ tutorial. If you ever want me to, I’ll explain it if you want.


----------



## Pyjam (Dec 2, 2019)

Scramble : F' U B R2 U B2 D2 U' L2 F2 D' B2 F2 U2 R' D B' U' L' R2 U2

(x' y) R' F R F // (4) CP + base line
u r' E R u R2 u' // (7/11) left block
R' r' U r U r2 // (6/17) EO + 2x2x3
U R2 U R' U' R2 U R' // (8/25) F2L
U' R' U2 R U R' U R // (8/33) last layer (anti-Sune)


----------

