Partial edge control during FB
The development in this post marks the
completion of the skeletal structure of YruRU; so now I can start working on a tutorial pdf and possibly a github page. This post addresses and I believe
completely resolves the bottleneck of the EO stage; which now is
considerably superior to the EO stage of any variation of LEOR, Briggs, etc. that I could find online or think of.
After forming the CP-line, the next step in YruRU is to extend it to a 1x2x3 block. This takes 6-7 moves, during which the brain is mostly idle since the step is somewhat trivial. The following step is EO, so this idle time I initially thought would best be utilised to look ahead to this step since influencing EO during this step would be somewhat difficult. However it turns out it is possible to do partial EO adding 2 moves at worst (though overall saving moves since EO will be far fewer moves), not decreasing TPS at all, immensely restricting the cases possible during EO-step, and equally improving the look ahead.
Most FB extentions are traditionally solved this way (unless you basically have 2-move setups):
1. Bring the corresponding centre on R face,
2. Attach an edge to the centre while doing so,
3. Bring the other edge to the U layer,
4. Attach the other edge to the centre and bring this entire structure to the L face to make the FB.
Steps 1 and 2 take a combined 1-3 moves to achieve. Here is where we start thinking about partial edge control. The next steps are modified as follows:
3. Bring the other edge to the U layer such that an F/B centre is on top, and the edge is either on UF or UB
4. Take a note of whether there are more good edges or bad edges while attaching the other edge
5. If the attachment is of u R u type, end the combination with r is there were more good edges, or U' r if there were more bad edges. Vice-versa if the attachment is of U R u2 (In case of more bad edges and U R u2 type attachment, simply U r u2 saves a move).
With this step, you are basically orienting
at least 2 edges, possibly 3. I have done some examples at the end to help understand the cases better and actually appreciate the power of this.
Using traditional EO extension, the probabilities are as follows:
0 bad edges: 0.4%
2 bad edges: 14%
4 bad edges: 49%
6 bad edges: 33%
8 bad edges: 3.5%
Using the above mentioned partial edge control, these probabilities become:
0 bad edges: 2.1%
2 bad edges: 38%
4 bad edges: 52%
6 bad edges: 8%
8 bad edges: 0.0%
Moreover, this partial EO enables us to
always put a good edge in DB, which is our blindspot. We already know the orientation of 3 of our edges (which usually all end up on the B face, and most of them are good), thus we simply need to look at the orientation of 5 more edges to determine the EO case, all 5 of which are visible.
To compare with Roux EO, we need to look at the orientation of 5 edges, all 5 of which are visible, and the probabilities here are:
0 bad edges: 3.1%
2 bad edges: 47%
4 bad edges: 47%
6 bad edges: 3.1%
[Doing partial EO in Roux is not a good idea since 4 bad edges is better than 2 bad edges for Roux, no such thing is true for YruRU]
Thus recognition-wise, this becomes comparable to Roux, and thus is no longer a bottleneck for the method, making it viable to compete with the best methods out there. Execution-wise, we reduce the average move-count substantially since we have high move counts in the EO step only if there are 6 or 8 bad edges, which reduced from ~40% to less than 10%, and only the better of the cases arise.
[
Such things are not possible in LEOR, Briggs, etc. due to the way FB is made in those methods, and a much more complicated / time-consuming way of partial edge control would have to be done.]
While this seems simple, it took me quite a long time to come up with. Thanks to
@PapaSmurf for making me realise more can be done during the FB extension, for absolutely
no cost at all.
Here are some examples:
R2 F2 D2 U' L2 D B2 D' L D' U2 L' F' D L' B F2 R' U'
z’ y
Corners already solved
Sequence - 312
R’ (F’ u’ F) U S’ // CP-line
u r2 u r' U' // setup
At this point, the edge in UR is good, the edge in UL is bad. The edge in UF looks good, but we have to flip the orientation of the edge opposite to our orange edge due to the orientation of the centres. Thus, the edge is bad. We have two bad edges and one good edge. Thus:
u R' u // FB
U' r // Partial edge control
y R L U' F2 L' F' D B U' F D B2 U' B2 L2 D L2 F2 U2 L2 F2
z’
F // corners
Sequence - 321
r (F r F) f2 // CP-line
R' u R // setup
At this point, the edges in UL and UR are bad, so we already know what to do, but just for the sake of the example, we look at the edge in UB. It looks bad but since it is opposite to our red edge, it is actually good. Nonetheless, we have more bad edges than good edges. Thus:
U' R' u2 // FB
r // Partial edge control (Note here we didn't use the trick mentioned in the bracket, just for the sake of having a simple example)
y U2 R F2 R D2 L' B2 U2 R2 U2 L2 U' B2 L B L' R2 B2 D2 L U'
x z’
Corners already solved
Sequence - 312
r (F’ u’ F2) f’ // CP-line
r2 R' u R2 // setup
UL and UR are bad, same case as above.
U' R u2 // FB + Partial edge control (here we used the trick mentioned in the bracket)
y F2 B' D2 L F2 D2 R2 L U' F' R' F2 L D2 L' F2 U2 R' U2 D2 F2
z x’
F2 f // line
Sequence - 321
(F R F’) // CP-line
[with cancellations: z x’ S R F’]
U R U r // setup
UL and UR are bad (UF is also bad but we don't need to check it), Thus:
U R' u2 // FB
r // Partial EO (here, we didn't use the trick of the bracket to ensure a good edge ends up in DB)
Note, we have a beautiful block, which we can preserve:
r U R U r' // EO
U2 r U2 r' // BF + square
Note, the number of EO cases is so severely restricted, that we can actually memorise algorithms for each EO case. We will have around 30 short algorithms to memorise. I will generate these and put up here soon.