• 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!

Could this be the most optimal OH method? Roux with CP-first and the proposal of sequential OCLS

Edde

Member
Joined
Nov 23, 2024
Messages
18
Location
Sweden
With the discovery of 0-move CP, CP-first methods for OH solving have gotten further optimized and hopefully, more people will be interested in these methods. However, the main CP-first method, CEOR, is not the only one. As many may (and have) noticed, after solving CPFB we can finish the solve as roux, with SB->CMLL->LSE. Due to solving CP, we get improved ergonomics and easier recognition, while CMLL only becomes 7 cases.

As you might notice though, this can easily be utilized to further reduce movecount. For example, L5C/SL5C becomes only 104 algs, which together with the easier recognition becomes more viable for people to learn. Winter and summer variation at 27 algs each are also relevant. Remember here that orienting the corners is all we need to solve CMLL since CP is solved. These are all subsets of what's called OCLS/COLS, orient corners last slot (assuming we solve L7E through FR edge -> LSE), which has been proposed previously for roux with CP-first as a general technique (2x2 block in SB->OCLS). However this algset is quite large, at almost 1500 algs. Some optimizations can be done to lower the "effective" number of algs, as I believe many are optimally solved through pairing->WV/SV, SL5C->solve pair and so on.

As the title suggest, I propose a new idea that I believe could create an incredibly OH-optimal variant of roux: Sequential OCLS

In short, the idea is to use OCLS for both slots of SB (meaning, we solve DR first). When inserting the first slot, we influence CO to get a better OCLS case for the following pair. An analogy to this would be how every OCLL case can be solved with a maximum of 2 sune/anti-sune algs. With sequential OCLS, we would do the "equivalent" of sune/anti-sune for each of the two OCLS. This means CMLL would be solved in 3 steps, each of which are combined with another one.

Here is a (cherrypicked) example, consider the following case
example_case.png
Where we have two pre-formed pairs in the U-layer. Let's consider some ways to solve this.
The standard way would be to do back pair, cancel into front pair, then CMLL
R' U R2 U2 R' //back then front pair
U R U R' U R U2 R2 U' R U' R' U2 R //CO
19 STM in total
We can also do it with front pair -> back pair
R U' R2 U2 R //front then back pair
U R U R' U R U' R' U R U2 R' //CO
17 STM
We can also do it with the previously proposed idea of using OCLS for our last slot
R' U R //back pair
U' R U' R' U' R U R' U R U2 R' //OCLS
15 STM
Now, with sequential OCLS, the aim is to look at the case and recognize that one should do the following
R U' R' //OCLS #1 (front pair)
U R' U' R U R' U R //OCLS #2
11 STM
Overall, the shortest solution for the case is (U') R2 U R U' R U2 R2 U2 R' at 9 moves, which sequential OCLS would not "tell us".

This technique I believe should be the human method that gives us movecounts for SB+CMLL closest to 1-looking the entire thing given that the DR edge is solved (which we can influence when doing CPFB). It also builds upon standard roux, thus shouldn't completely throw out knowledge one has gained throughout the years on how to solve SB efficiently. We can also utilize the technique with L5C/SL5C/conjugated CMLL if one wants to end with L7E instead of LSE. At last, it makes use of the freedom we have when choosing the order of front vs back pair.

Now for the drawbacks: To begin with, I haven't managed to develop a system for actually recognizing the first OCLS one should do, I'm hoping this thread will attract others who are interested in exploring this idea with me and try to create something that works. Furthermore, recognition at this level would be near the human limit for what's reasonable to recognize mid-solve, but I think it should be doable since we only care about orientation for the LL corners. We might also need to learn a lot of OCLS algs, as we now need to learn mirror algs as well in order to make use of sequential OCLS. A counter-argument here is that sequential OCLS by itself lowers algcount and I hope/believe the total algcount (with mirrors) should be lower than the 1500 figure mentioned previously. As also mentioned, I believe many can be done through forming a pair and then applying WV/SV.

Unless a comprehensive system is developed and you'd instead learn all the relevant cases (ignoring edges, only considering the 6 corners), we would have 927 after using U as auf and accounting for mirrors (however mirror cases aren't necessarily "free"). Which is a bit much, though perhaps doable? Especially if we could find some rule that halves the number. This is also not an "all or nothing" situation, we can lower our movecount gradually as we learn the various cases and rules. For example, avoiding cases where the 2nd pair's corner is in the U layer and oriented is relatively simple yet would improve movecount. Even if we found a rule that might still give us a bad OCLS, lowering the risk of getting one is a positive by itself.

I'd love to hear people's opinions on this idea. I've also made a general discord server for CP-first methods and 0-move CP https://discord.gg/5UZJeyAjyb as to not clutter the CEOR discord too much with non CEOR-related discussions.

Edit:
I've made a spreadsheet on CPRoux algs and what not, plan is to keep it updated and have it contain everything relevant. I also need to sort out the algs and remove all the obviously poor ones. Link to spreadsheet
 
Last edited:
It's certainly an interesting idea. I was thinking about reduced L5C the other day when I read about the 0 move CP style of CP first methods.
I learned CLS a few years ago to use with ZZ and CFOP situationally. I'm not sure if it's possible to systematize the recognition to determine the best pair order every time, but I suspect a basic system could be made to check certain locations for LL stickers to roughly force a better case for the front or back slot.
 
It's certainly an interesting idea. I was thinking about reduced L5C the other day when I read about the 0 move CP style of CP first methods.
I learned CLS a few years ago to use with ZZ and CFOP situationally. I'm not sure if it's possible to systematize the recognition to determine the best pair order every time, but I suspect a basic system could be made to check certain locations for LL stickers to roughly force a better case for the front or back slot.
Yeah it's a bit of a "shoot for the stars, land on the moon" type of idea. While a system would be the holy grail, the simple knowledge that you're technically doing an OCLS alg when inserting the first pair is by itself something that can go a long way.

Consider these 4 summer variation cases
example2.png
Where we can se a fairly clear pattern, these are all the cases with one oriented LL corner. The first 3 ones are among the shorter algs (RrU-gen) at 7 STM each, while the 4th one is at 13 STM. The small differences makes it really hard to perfectly make sure we always avoid the 4th case, however if we force any of them, this improves the movecount as these four are 8.5 STM on average while the set in its entirety is 10.07

Overall, this has to do with the potential when using CP first with roux, as mentioned it's not a new idea, but hopefully with this people might see the high level of potential the method has. Not only getting an average movecount of below 40 (should be possible with just SL5C/L5C, no sequential OCLS needed) but also with a very ergonomic moveset should be a killer method.

I also want to stress the variety in terms of how one wants to commit to it, those who hates algs only have to learn the 7 CMLL algs, a step up from what would be WV at 27 algs, then some mirrored ones etc. And if you're not influencing CO with your first pair, just knowing how CO is influenced through the standard insert is great for lookahead.
 
Yeah it's a bit of a "shoot for the stars, land on the moon" type of idea. While a system would be the holy grail, the simple knowledge that you're technically doing an OCLS alg when inserting the first pair is by itself something that can go a long way.

Consider these 4 summer variation cases
View attachment 39047
Where we can se a fairly clear pattern, these are all the cases with one oriented LL corner. The first 3 ones are among the shorter algs (RrU-gen) at 7 STM each, while the 4th one is at 13 STM. The small differences makes it really hard to perfectly make sure we always avoid the 4th case, however if we force any of them, this improves the movecount as these four are 8.5 STM on average while the set in its entirety is 10.07

Overall, this has to do with the potential when using CP first with roux, as mentioned it's not a new idea, but hopefully with this people might see the high level of potential the method has. Not only getting an average movecount of below 40 (should be possible with just SL5C/L5C, no sequential OCLS needed) but also with a very ergonomic moveset should be a killer method.

I also want to stress the variety in terms of how one wants to commit to it, those who hates algs only have to learn the 7 CMLL algs, a step up from what would be WV at 27 algs, then some mirrored ones etc. And if you're not influencing CO with your first pair, just knowing how CO is influenced through the standard insert is great for lookahead.
Also I think a CP-0 server would be a great thing to create. I'd def join. Seeing the CP-0 stuff has finally convinced me to take a look at the CP first methods.
 
Something I just realized is that, what we're mainly concerned about are the cases where some CO influencing when inserting first pair, it could be possible to run through all the cases and rank them by how many moves we gain by doing sequential OCLS. That would not only give a clear "roadmap" for what to prioritize, it might also turn out that relatively big gains could be made through little effort.

I'll make a server 👍 will just take a few minutes to set things up
 
Aight so an update on all this:
I haven't managed to find a good "rule" for the sequential ocls stuff, I did an estimate where I ran through L5C algs (so, "ignoring" FR/BR edges) in order to solve all the corners and compared inserting DBR -> "OCLS" vs OCLS (DFR or DBR) ->OCLS, and ignoring cases where DFR is in DBR and vice versa. Found that you save about 1.6 STM, with a bit more than half of the cases being most efficiently done through the standard way. Excluding them, you save about 3.4 STM. In general it's just too many cases for me to find it worth it to just learn them all. Will put this idea on ice for a while and perhaps come back to it another day, found some things regarding influencing the DFR corner/FR edge that's far easier but still a bit hard to find many cases where it's motivated.

Something else I realized, which feels super obvious in hindsight, is that the winter/summer variation algs are obviously part of L5C. On average, they are 0.3 and 0.18 STM worse than L5C respectively (just using simple batchsolver algs, RUr-gen). With such a small difference, I'm thinking it's worth it to learn them instead of the corresponding L5C cases, since this allows you to do pair->WV/SV if this is simple, otherwise (S)L5C->L7E if the edge is in a poor position. Image to help the explanation:
example3.png
These two are both optimally solved with R U' R'

There are some more things to explore, for example, many (S)L5C algs can be done with r* instead of R* in order to influence edges. But for now, I want to start practicing and not spend all my time genning algs in batchsolver and debugging python scripts.

I've made a spreadsheet on CPRoux algs and what not, plan is to keep it updated and have it contain everything relevant. I also need to sort out the algs and remove all the obviously poor ones. Link to spreadsheet
 
Back
Top