Last Layer Optimal Solving

I have run all 8020 symmetrically distinct "last layer" positions of Rubik's Cube with the optimal solver of the Cube Explorer program. All these positions could be solved in 16 face turns or less. I also used the number of positions associated with each of these 8020 symmetry class representatives to determine the precise distribution of distances of all 62208 "last layer" (abbreviated LL) positions. Note that this analysis considers solving the last layer with respect to the already solved first two layers.

I note that Helmstetter (see here) has done a similar analysis previously, but his analysis basically only considers solving the last layer pieces relative to themselves, and does not consider what cases may need an additional move to align the last layer properly with the first two layers. My analysis includes all moves needed to solve the last layer with respect to the first two layers. So Helmstetter considered only 1212 cases (15552 "relative" positions reduced by symmetry and antisymmetry), while I considered 8020 cases (62208 "absolute" positions reduced by symmetry).

First, I give a summary for the entire set. (I note that with Cube Explorer, the optimal solver reports the solved cube as 8f*, but here I report it as a 0f* position.)

Last Layer optimal FTM analysis

Moves  Patterns Positions  Product
-----  -------- ---------  -------
 0f*         1         1         0
 1f*         2         3         3
 6f*         2        16        96
 7f*        11        88       616
 8f*        25       200      1600
 9f*        50       394      3546
10f*       143      1102     11020
11f*       443      3470     38170
12f*      1249      9807    117684
13f*      2611     20505    266565
14f*      2683     20768    290752
15f*       762      5630     84450
16f*        38       224      3584
          ----     -----    ------
Total     8020     62208    818086

Average distance is approximately 13.15 face turns.

Patterns = number of positions as reduced by the use of symmetry
Product = Moves * Positions (used to compute average distance)

I note that Helmstetter arrived at an average of 12.58 face turns for solving the last layer pieces with respect to themselves.

I also split up the positions with respect to corner orientation as well as with respect to edge orientation. The following table gives the summary of these results.

Last Layer optimal FTM analysis - categorized by corner orientation

           corners  2 adj corners 2 opp corners    3 corners     4 corners      4 corners
          oriented     twisted       twisted        twisted    twisted ++--   twisted +-+-
         ---------- ------------- ------------- ------------- ------------- -------------
Moves    pat    pos    pat    pos    pat    pos    pat    pos    pat    pos    pat    pos
-----    ---    ---    ---    ---    ---    ---    ---    ---    ---    ---    ---    ---
 0f*       1      1
 1f*       2      3
 6f*                     2     16       
 7f*                     6     48                    5     40
 8f*                     5     40      2     16     18    144
 9f*       6     42     20    160     13    104      9     72      2     16
10f*      24    174     55    436     30    224     23    184     10     76      1      8
11f*      17    120    155   1236     75    576    141   1128     37    284     18    126
12f*      45    305    343   2708    195   1536    431   3448    164   1292     71    518
13f*     118    833    795   6240    393   3100    764   6112    380   3000    161   1220
14f*     102    678    776   6016    377   2948    721   5768    441   3416    266   1942
15f*      21    134    198   1468     95    692    182   1456    147   1108    119    772
16f*       4     14     13     64      4     20     10     80      3     24      4     22
        ----   ----   ----  -----    ---   ----   ----  -----   ----   ----    ---   ----
Total    340   2304   2368  18432   1184   9216   2304  18432   1184   9216    640   4608

Avg. distance 12.87         13.08         13.06         13.08         13.39         13.60

Explanations
------------
pat = number of symmetrically distinct patterns.
pos = number of positions.
corners oriented = all LL corners correctly oriented.
2 adj corners twisted = two adjacent LL corners misoriented,
                        the other two correctly oriented.
2 opp corners twisted = two diagonally opposite LL corners misoriented,
                        the other two correctly oriented.
4 corners twisted ++-- = two adjacent LL corners misoriented clockwise,
                         the other two misoriented counterclockwise.
4 corners twisted +-+- = two diagonally opposite LL corners misoriented clockwise,
                         the other two misoriented counterclockwise.

Last Layer optimal FTM analysis - categorized by edge orientation

            edges      adj edges     opp edges      4 edges
          oriented    misoriented   misoriented   misoriented
         ----------   -----------   -----------   -----------
Moves    pat    pos    pat    pos    pat    pos    pat    pos    
-----    ---    ---    ---    ---    ---    ---    ---    ---    
 0f*       1      1
 1f*       2      3
 6f*                     1      8      1      8
 7f*       3     24      5     40      3     24
 8f*      11     88     12     96      2     16
 9f*      18    138     25    200      7     56
10f*      55    422     65    500     23    180
11f*      84    628    230   1832    104    814     25    196
12f*     181   1372    647   5164    303   2378    118    893
13f*     386   2978   1318  10492    654   5082    253   1953
14f*     271   1998   1299  10328    702   5304    411   3138
15f*      21    122    306   2412    224   1590    211   1506
16f*       1      2      4     32     17    100     16     90 
        ----   ----   ----  -----    ---   ----   ----  -----
Total   1034   7776   3912  31104   2040  15552   1034   7776

Avg. distance 12.64         13.11         13.24         13.66

Explanations
------------
edges oriented = all LL edges correctly oriented.
2 adj edges misoriented = two adjacent LL edges misoriented,
                        the other two correctly oriented.
2 opp corners twisted = two diagonally opposite LL corners twisted,
                        the other two correctly oriented.
4 corners twisted ++-- = two adjacent LL corners twisted clockwise,
                         the other two oriented counterclockwise.
4 corners twisted +-+- = two diagonally opposite LL corners twisted clockwise,
                         the other two oriented counterclockwise.

I have also tabulated the results for the 288 positions where the last layer pieces are all correctly oriented. This is often referred to as permutations of the last layer or PLL. The results are shown below. I note that Helmstetter computed an average of 11.21 face turns for solving these cases without regard to correct positioning with respect to the first two layers. (I confirm that value.) My value for the average number of moves required for solving the last layer including correct positioning with respect to the first two layers is 11.64 face turns. I've also shown the distances for each of the 14 categories (including the "PLL skip" category) that speedcubers use to identify the various configurations.

Optimal PLL (FTM) - All 288 positions

Moves  All  Skip   A    E    F    G    H    J    N    R    T    U    V    Y    Z
-----  ---  ----   -    -    -    -    -    -    -    -    -    -    -    -    -
 0f*     1    1
 1f*     3    3
 9f*    18         8                   2                        8
10f*    82        24                   2   24              8   24
11f*    16                                  8              8
12f*    40                       32                                            8
13f*    84                  12   32              4   24                  12
14f*    40              4    4                   4    8             16    4
15f*     4              4
       ---   --   --   --   --   --   --   --   --   --   --   --   --   --   --
Total  288    4   32    8   16   64    4   32    8   32   16   32   16   16    8 

Comment viewing options

Select your preferred way to display the comments and click 'Save settings' to activate your changes.

Neato

This is cool.

Are you going to provide a library of all shortest solutions for all positions? LL algorithms are well-mined, of course, but it would be interesting to analyze *all* optimal solutions for specific situations and see if there isn't a more finger-friendly one than some of the ones we are using.

Any thoughts about extending this to last-layer-plus-side (so the group is that with a fixed, solved, 2x2x3 block)? Or is that way too many positions?

Re: Neato

First, you can check out Helmstetter's site if you didn't already. He claims he attempted to have a computer algorithm select nice algs for each case. Of course these are only for "relative" solving of the LL, so it's not clear to me if he includes algs for each "absolute" case having the same distance as the "relative" case.

If you want to use my Cube Explorer maneuver files, I have uploaded them to Rapidshare. Unfortunately, it seems Rapidshare now limits free uploads to only 10 downloads, so I can't guarantee these links to work for very long. The link is: http://rapidshare.com/files/193663702/LL_Optimal.zip.html

These files separate the cases by edge orientation categories, and by symmetry class size. Each symmetry class representative is given a name based upon it misoriented edges, an index from 1 to 8020 (to ensure each name is unique), and its symmetry class size. The following file gives a corner permutation, corner orientation, edge permutation, and edge orientation coordinate for each symmetry class representative: http://rapidshare.com/files/193672147/llcpcoepeo.txt.html

Extending to just one F2L slot increases the number of positions into the millions. Extending to all of the U and R layers increases the number of positions into the billions. Further, many positions may very well be deeper than 16f*, so execution time may increase much more than proportionately with the number of positions. So no, I don't have plans at this point to extend this further.