# ZZ F2L Move Count



## Cride5 (Oct 7, 2009)

Does anyone know the average and maximum move count for completing ZZ F2L (from EOLine) optimally, using <R,U,L> moves?

I found some statistics for completing F2L from EOCross here, but would be interested to know how many moves it takes from EOLine.

If possible I'd like the averages for F2L broken down in the following ways:

(1) L & R 1x2x3 blocks completed simultaneously 
(2) Entire 1x2x3 L block, followed by entire 1x2x3 R block
(3) BL 1x2x2 followed by FL 1x1x2, then BR 1x2x2 followed by FR 1x1x2
(4) BL 1x2x2 followed by BR 1x2x2, then FL 1x1x2 followed by FR 1x1x2

Cheers.

EDIT: Also, how does it compare with the optimal move count using <L,R,U,D,F2,B2>?


----------



## rjohnson_8ball (Oct 7, 2009)

You cannot flip an edge using only <R,U,L> moves. Wouldn't you need to do at least one cube rotation or an r,u,l,F,B,M,E, or S? Sorry I cannot help with your primary questions.

_Edit: Oops, sorry, I didn't know what EOLine meant before I posted._


----------



## Cride5 (Oct 7, 2009)

rjohnson_8ball said:


> You cannot flip an edge using only <R,U,L> moves. Wouldn't you need to do at least one cube rotation or an r,u,l,F,B,M,E, or S? Sorry I cannot help with your primary questions.



I'm looking for the statistics to complete F2L _from_ EOLine (edges already oriented and DF and DB placed). EOLine takes ~6.127 moves avg and 9 moves max (FTM) to do optimally.


----------



## waffle=ijm (Oct 8, 2009)

Perhaps PM Johannes91
I did and got lots of data for Roux move count.


----------



## Cride5 (Oct 8, 2009)

Yup, already have, cheers 

...looks like another coding job, but I'll have to put it on the back burner for now, too many other things to do! If anyone can find these stats in the mean time I'd be very grateful, along with a few other ZZ'ers 

EDIT: Just for some quick info on the task involved, these are the numbers of cases which need to be solved:
(1) L + R blocks: 3^4 * (8!/4!) * (10!/4!) = *20,575,296,000* <-- a biggie 
(2) L: 8*7 * 10*9*8 * 3^2 = *362,880* R: 6*5 * 7*6*5 * 3^2 = *56,700* (419,580 total)
(3) BL 1x2x2: 8 * 10*9 * 3 = *2160*, FL 1x1x2: 7 * 8 * 3 = *168*, BR 1x2x2: 6 * 7*6 * 3 = *756*, FR 1x1x2: 5 * 5 * 3 = *75* (3159 total)
(4) BL 1x2x2: 8 * 10*9 * 3 = *2160*, BR 1x2x2: 7 * 8*7 * 3 = *1176*, FL 1x1x2: 6 * 6 * 3 = *108*, FR 1x1x2: 5 * 5 * 3 = *75* (3519 total)


----------



## Lt-UnReaL (Oct 8, 2009)

Cride5 said:


> (3) BL 1x2x2: 8 * 10*9 * 3 = 2160, FL 1x1x2: 7 * 8 * 3 = 168, BR 1x2x2: 6 * 7*6 * 3 = 756, FR 1x1x2: 5 * 5 * 3 = 75 (*3159* total)


Coincidence?


----------



## Cride5 (Oct 8, 2009)

Lt-UnReaL said:


> Cride5 said:
> 
> 
> > (3) BL 1x2x2: 8 * 10*9 * 3 = 2160, FL 1x1x2: 7 * 8 * 3 = 168, BR 1x2x2: 6 * 7*6 * 3 = 756, FR 1x1x2: 5 * 5 * 3 = 75 (*3159* total)
> ...


Yup. There is a reason the total number of cases for (3) and (4) are different. The number of cases depends on (a) the number of pieces involved and (b) the number of possible orientations/permutations of these pieces. 

Ignoring the first and last cases which have equal case counts: In (4) doing the 1x2x2 first means that (a) and (b) are both maximal and then both minimal when multiplied together, where as in (3) when (a) is maximal (b) is not and vice versa, yielding a lower overall total.


----------



## Stefan (Oct 8, 2009)

Here's a bit: http://www.speedsolving.com/forum/showthread.php?p=69583#post69583


----------



## Cride5 (Oct 8, 2009)

StefanPochmann said:


> Here's a bit: http://www.speedsolving.com/forum/showthread.php?p=69583#post69583



That's great, cheers ... edging closer to the goal 

So based on 100 random scrambles the statistics for strategy (4) is ~24.64 moves or ~30.77 including EOLine.

You wouldn't happen to have kept the averages for each sub-step would you?


----------



## Stefan (Oct 8, 2009)

Cride5 said:


> So based on 100 random scrambles the statistics for strategy (4) is ~24.64 moves or ~30.77 including EOLine.


No. Your (4) solves the four 2x2x1 blocks in a specific order. I didn't. Always solved the shortest one first.



Cride5 said:


> You wouldn't happen to have kept the averages for each sub-step would you?


Looks like I didn't keep them. Can compute it again though, but after the world champs.


----------



## miniGOINGS (Oct 8, 2009)

I might do this with 100 different scrambles and post my average movecount for (1), (2), (3), and (4).


----------



## Cride5 (Oct 9, 2009)

miniGOINGS said:


> I might do this with 100 different scrambles and post my average movecount for (1), (2), (3), and (4).



Hi that would be a great help, thanks. Could you also use this or something like it for your scrambles? Most online scramblers don't actually create statistically random cube states. See this thread for details..

Cheers


----------



## miniGOINGS (Oct 9, 2009)

Cride5 said:


> miniGOINGS said:
> 
> 
> > I might do this with 100 different scrambles and post my average movecount for (1), (2), (3), and (4).
> ...



Although I have a few questions:

1. Would this be without EOline? (I probably would switch to ZZ, at least for OH, if I could figure out a fast way of doing EOline) Yes.

2. Should I use fixed colours to reduce the chance of luck?

3. Should I include the solutions?

EDIT: I answered my first question by reading your post. My move count for (1) is probably going to be really bad just because I don't have any practice with it.

EDIT2: So I just realized that when doing ZZ F2L, I pretty much always do either (3) or (4) and even when I try to do (1) or (2) it turns out to be (3) or (4).


----------



## Cride5 (Oct 10, 2009)

miniGOINGS said:


> Cride5 said:
> 
> 
> > miniGOINGS said:
> ...



Sorry I misunderstood you, I didn't realise you were planning on doing this manually!  We're looking for optimal move counts. Doing this manually for (3) and (4) is possible (if you really know what you're doing), but for (1) and (2) you really need to be using a computer solver which guarantees optimality. The only ones I know of are:
Graphical: Cube Explorer in huge solver mode (windoze only)
Command line: ACube, this, this and this.

Generally I wouldn't recommend tackling this kind of problem manually.. even if you find a good solution its very difficult to prove with absolute certainty that its an optimal one. Because its possible to do an exhaustive search with a computer solver, we can guarantee that solutions are optimal..

The added benefit of a computer is that its a **** load faster then even the best human solvers we know


----------



## miniGOINGS (Oct 10, 2009)

Cride5 said:


> Sorry I misunderstood you, I didn't realise you were planning on doing this manually!  We're looking for optimal move counts. Doing this manually for (3) and (4) is possible (if you really know what you're doing), but for (1) and (2) you really need to be using a computer solver which guarantees optimality. The only ones I know of are:
> Graphical: Cube Explorer in huge solver mode (windoze only)
> Command line: ACube, this, this and this.
> 
> ...



Yea, I planned on doing it manually. Nevermind then I guess, it would take me too long to use program, sorry.


----------



## Cride5 (Mar 15, 2010)

In order to clear up some recent discussions on ZZF2L move count, I've generated some quick stats for strategy (2) - solving an entire 1x2x3 block at a time. It was done using Johannes's web solver.

I took 100 samples based on solving the easiest 1x2x3 block first. The average optimal move count for both blocks (excluding EOLine) was: *18.72 * HTM
Adding the average of ~ 6.13 for EOLine gives a total of 24.85 for all of F2L.

Actual data:


Spoiler



16, 16, 17, 19, 18, 21, 17, 19, 21, 20, 19, 18, 21, 17, 19, 16, 19, 14, 20, 19, 20, 18, 17, 18, 21, 19, 19, 19, 18, 19, 20, 15, 21, 17, 19, 20, 19, 18, 18, 13, 17, 19, 17, 18, 19, 19, 19, 18, 18, 19, 20, 20, 19, 18, 19, 20, 20, 20, 17, 20, 20, 18, 19, 19, 17, 19, 20, 21, 22, 19, 18, 20, 19, 21, 17, 20, 17, 19, 19, 19, 18, 20, 17, 20, 20, 18, 21, 19, 19, 21, 18, 16, 20, 20, 18, 18, 18, 20, 20, 18


This provides an estimate for the absolute lower bound for ZZ F2L. Data from Stephan shows that ZZ F2L takes around ~30.77 optimally if each side is broken down into 1x1x2 and 1x2x2 blocks and solved in easiest-first order.

In reality a human solver is rarely going to be able to solve an entire side optimally, but with experience a solver may sometimes solve an entire side or employ other tricks to achieve a lower move count than by breaking F2L down into four blocks.

So to compare with Fridrich:
Cross + 4xSlots: 5.81 + 23.03 = *28.84*
CN Cross + 4xSlots: 4.81 + 23.03 = *27.84*
EOCross + 4xSLots <R,U,L>: 7.53 + 28.1 = *35.63*
EOLine + 4x F2L Blocks: 6.13 + 24.64 = *30.77*
EOLine + 2x F2L Blocks: 6.13 + 18.72 = *24.85*

EDIT: Thanks to cuBerBruce stats I've added EOCross..


----------



## a small kitten (Mar 15, 2010)

> EOLine + 4x F2L Blocks: 6.13 + 24.64 = 30.77
> EOLine + 2x F2L Blocks: 6.13 + 18.72 = 24.85



Does that mean you are saying that the EO line takes as many moves as the EO cross?


----------



## Cride5 (Mar 15, 2010)

No, not at all! I didn't post any figures for EOCross.

Just to clarify what I meant:

* *Cross + 4xSlots* = Just regular Fridrich - cross followed by four slots.

* *CN Cross + 4xSlots* = Just regular Fridrich but colour neutral.

* *EOLine + 4x F2L Blocks* = EOLine, then in easiest first order: RH 1x2x2, LH 1x2x2, RH 1x1x2, LH 1x1x2 (ensuring the 1x2x2 comes before the 1x1x2 on each side)

* *EOLine + 2x F2L Blocks* = EOLine, then in easiest first order: entire RH 1x2x3, entire LH 1x2x3

The optimal move count for F2L based on EOCross is pretty bad. From this thread, _excluding EO_ its an average of 32.2 moves. I don't know the figures for optimal EOCross, but assuming it is something like 7-8 moves that would make EOCross-based F2L over 35 moves avg.


----------



## cuBerBruce (Mar 15, 2010)

For what it's worth, I've computed optimal distributions for adding left side 1x2x3 from EOLine in both <R,U,L> and <U,D,R,L,F2,B2> (face-turn metric). I note that this if for a specific 1x2x3 block, and not for the easier of the left and right block. The average distance for <R,U,L> is about 9.6922, while the average distance for <U,D,R,L,F2,B2> is about 8.4048.


```
distance  <R,U,L>   <U,D,R,L>  <U,D,R,L,F2,B2>
    0           1           1           1
    1           3           3           3
    2           9           9           9
    3          48          53          67
    4         182         236         363
    5         769        1122        1842
    6        2938        4862        9169
    7       10783       19743       39784
    8       35330       66495      122543
    9       89070      145949      165797
   10      136195      113465       23277
   11       77681       10907          25
   12        9769          35
   13         102
```

I adapted my optimal 2x2x3 block program to generate these results. For <U,D,R,L,F2,B2>, I did a breadth-first search to generate all 47900160 reachable positions of the 7 cubies, and then filtered the result to only those corresponding to EOLine positions.

EDIT: I've added <U,D,R,L> data (requested by Stefan) to the above table. The average move count for <U,D,R,L> came out to about 9.0241.


----------



## Cride5 (Mar 15, 2010)

Wow, excellent work! Thanks 

So in this case, using <U,D,R,L,F2,B2> rather than <R,U,L> improves efficiency by ~13%

Would it be possible to adapt the program to calculate the move count for the other side as well, to give a total for left + right (solved separately)?

Also, if you have the time it would be interesting to know the average optimal move-count for solving both sides simultaneously, as well as solving all four Fridrich F2L slots simultaneously. The information wouldn't be very meaningful from a speedsolving perspective, but would certainly be of interest to FMC'ers.


----------



## Stefan (Mar 15, 2010)

How about <U,D,R,L>? I think that's more realistic for speedsolving, D turns are easier than F2 and B2.


----------



## cuBerBruce (Mar 15, 2010)

Cride5 said:


> Wow, excellent work! Thanks
> 
> So in this case, using <U,D,R,L,F2,B2> rather than <R,U,L> improves efficiency by ~13%
> 
> ...



Considering both left and right blocks greatly increases the number of puzzle states to deal with. So no, it is not a simple change.



StefanPochmann said:


> How about <U,D,R,L>? I think that's more realistic for speedsolving, D turns are easier than F2 and B2.



I edited my previous post to include <U,D,R,L>.


----------



## Stefan (Mar 15, 2010)

Thanks. Nice to see that just adding D saves 0.67 of the 1.29 moves that adding D+F2+B2 saves, that's more than half the way.


----------



## cuBerBruce (Mar 16, 2010)

I've also now computed optimal EOCross, for whomever might be interested. I've computed it for both FTM and QTM. It's a little less than 2 additional moves on average than optimal ordinary cross.


```
distance      FTM         QTM
--------      ---         ---
    0           1           1
    1          15          10
    2         178          85
    3        1982         744
    4       21041        6194
    5      204732       49009
    6     1645039      360175
    7     8477633     2277947
    8    12917628     9529222
    9     1061851    11407300
   10         140      699495
   11                      58
         --------    --------
total    24330240    24330240

Average FTM: 7.5308
Average QTM: 8.3959
```


----------



## miniGOINGS (Mar 16, 2010)

Seeing these threads makes me wonder if this could be useful for FMC.


----------



## Cride5 (Mar 16, 2010)

cuBerBruce said:


> I've also now computed optimal EOCross



Thanks again, that's great. So based on the numbers posted by Johannes91 for 4x <R,U,L> F2L slots the average for optimal EOCross based F2L is ~35.63 moves HTM.


----------



## jazzthief81 (Mar 16, 2010)

cuBerBruce said:


> Cride5 said:
> 
> 
> > Also, if you have the time it would be interesting to know the average optimal move-count for solving both sides simultaneously...
> ...



I already have a partial answer to this problem:

```
0	         1
1	         6
2	        27
3	       135
4	       624
5	      2963
6	     13958
7	     65487
8	    305078
9	   1403488
10	   6404528
11	  28587553
12	 123866634
13	 507806834
14	1876501812
15	5443124864
16	8684416076
17 	...
```

The search is still running and I think it will take another 10 days before it has generated the full table.

I started this project 6 weeks ago but I had to restart the search twice. The first time it completed but the numbers didn't add up because of a bug in the code. The second time it nearly finished but my trusted iMac blew up  I'm now running it for a third time on a slightly lower end laptop.

I had to come up with a few tricks because the full pruning table doesn't fit in memory (20,575,296,000 cases). At each level, the algorithm dumps sorted binary files to disk that contain all children of the previous level. Then it compacts all the files by removing all the duplicates and states that were already encoutered at a previous level.

I also did a bunch of other ZZF2L move analyses, basically all possible strategies for splitting up the two 3x2x1 blocks in separate steps. I was going to save them for an article series on that topic when the God's Algorithm analysis was going to be finished so I could use that as a yardstick. I think most of it has already been done by other people.


----------



## Cride5 (Mar 16, 2010)

... only about 4 billion cases to go!

Great work so far though, it will be nice to see the final result. I'm guessing average will be about 15.7 moves.

I'm crossing my fingers for your laptop, I hope it survives!

EDIT: Your analysis on the other ZZ F2L move counts would certainly be useful in creating a more complete picture. The figures I posted for 2 blocks separately were only an estimate based on 100 solves, as were those posted by Stephan.


----------



## jazzthief81 (Mar 16, 2010)

Here are some more results for solving 3x2x1 blocks after EOLine:

```
First 3x2x1 block (fixed side)    First 3x2x1 block (any side)    Second 3x2x1 block
HTM using R,U,L moves             HTM using R,U,L moves           HTM using R,U moves  

      0          1                      0         113399              0          1    
      1          3                      1         340185	      1          3    
      2          9                      2        1020515	      2          9    
      3         48                      3        5442002	      3         27   
      4        182                      4       20624126	      4         73   
      5        769                      5       86992281	      5        215  
      6       2938                      6      330431260	      6        614  
      7      10783                      7     1188117385	      7       1730 
      8      35330                      8     3629618668	      8       4374 
      9      89070                      9     7393787191	      9       9620 
     10     136195                     10     6613172985	     10      17082
     11      77681                     11     1281665000	     11      17005
     12       9769                     12       23963478	     12       5593 
     13        102                     13           7525	     13        344  
								     14         10   

     Average  9.69                     Average      9.09             Average 10.03
```

The first table confirms the results obtained by Bruce for building a specific 3x2x1 block. The second table is for building whichever of the left and right 3x2x1 blocks is the shortest.


----------



## jazzthief81 (Apr 25, 2010)

The analysis for solving the complete F2L in one step finished about a month ago and I've finally gotten around to writing up a post:

http://qblog.be/2010/04/zzf2l-move-count-analysis/

More to follow soon...


----------



## Cride5 (Apr 25, 2010)

Wow, great to see the results. A huge thanks for doing this Lars. I hope your laptop is OK 

It would be interesting to compare this to the optimal move-count for solving all-four Fridrich slots simultaneously. Do any stats for this exist?



Cride5 said:


> ... I'm guessing average will be about 15.7 moves


 .. yay, only 0.06 moves out


----------



## jazzthief81 (Apr 25, 2010)

Cride5 said:


> Wow, great to see the results. A huge thanks for doing this Lars. I hope your laptop is OK



Yeah, the laptop is fine!  The desktop has been relegated to the graveyard though. 



Cride5 said:


> It would be interesting to compare this to the optimal move-count for solving all-four Fridrich slots simultaneously. Do any stats for this exist?



I was thinking just that! I could use the same approach as I did for ZZF2L, the difference being that with ZZF2L all intermediary states are also possible starting positions, which is not the case with 4 slots because you break up the cross all the time. 

This makes it a little bit more "complicated" at first sight, but I guess it's mostly just a little bit different. The number of cases is also signifcantly lower (3,657,830,400).

It also would be good to come up with some kind of an "efficiency ratio", meaning the ratio between the average optimal solution and the average solution of a human solver. And then you could compare those efficiency ratios between different methods. 

My hunch is that Fridrich would score rather badly because you tend to break up and restore things all the time. This is something I already alluded to in my blog post.


----------



## Stefan (Apr 25, 2010)

Meh. Fridrich's freedom of movement is limited by cross, ZZ's is limited by edge orientation. I predict optimal Fridrich F2L will average *fewer* moves.


----------



## jazzthief81 (Apr 25, 2010)

StefanPochmann said:


> Meh. Fridrich's freedom of movement is limited by cross, ZZ's is limited by edge orientation. I predict optimal Fridrich F2L will average *fewer* moves.



So do I. There area less pieces to solve and more faces you can turn. It's almost certain it will be less moves.

But I think by breaking it up into steps, which is what all people do, Fridrich becomes *a lot* more inefficient and ZZ doesn't suffer from that faith that much.


----------



## Stefan (Apr 25, 2010)

I think I somewhat did that before, 4-step Fridrich F2L averaged fewer moves than 4-step ZZ-F2L.


----------



## Cride5 (Apr 25, 2010)

jazzthief81 said:


> But I think by breaking it up into steps, which is what all people do, Fridrich becomes *a lot* more inefficient and ZZ doesn't suffer from that faith that much.



I would tent to agree with this. A Fridrich solve normally involves: (1) build pair, (2) open-slot, (3) insert pair, then (4) close slot. In ZZ once I've built my 1x2x2, the slot doesn't necessarily get closed straight away, and in fact it is sometimes more efficient to leave it in the open position so that the final 1x1x2 can be inserted directly, without 'opening' the slot. Keeping track of the state of each side is pretty easy.


----------



## ravenguild08 (Sep 23, 2013)

Cride5 said:


> I'm looking for the statistics to complete F2L _from_ EOLine (edges already oriented and DF and DB placed). EOLine takes ~6.127 moves avg and 9 moves max (FTM) to do optimally.



That number 6.127, how was it obtained? Is it for a predefined color scheme (e.g. the Line is the white/blue+white/green edges), or is it color neutral? I've been refining my EOLine and averaging closer to 8 or 9, and it's bugging me...


----------

