The dist files contain solution lengths for all configurations of various components of the cube. The number of configs for each 3-color cube component is shown in the table below, the combination of components used in each dist file is shown in the second table. Edge Positions are reduced by symmetry, an accounting of how the reduction results in 782 configs can be found here, see the link for 3-Color Edge Positions on that page.
3-Color Cube Component | Abbrev | Configs |
Edge Positions | EP | 34650 |
EP / (48 Syms) | EPSYM | 782 |
Edge Twist | ET | 2048 |
Corner Positions | CP | 70 |
Corner Twist | CT | 2187 |
In the following table, Dists 1 & 2 each contain two configs per byte which allows a value in the range of 0-15 to be stored for each config although only 0-10 is actually used because the arrays are generated to depth 9 and the configs not reached are assigned a value of 10. The 418 MB Dist3 is a bit-array so it only indicates whether a config is solvable in 10 moves or not, if the bit is not set (which has 80% probability) then the minimum number of moves required to solve is at least 11. The 835 MB Dist3 contains four configs per byte which allows a value in the range of 0-4 to be stored for each config where the values 1, 2, 3 correspond to 9, 10, 11 and 0 is used as a catch-all for the remaining values of 1-8. Dist3 stores this information for 155 billion configs, Dists 1 & 2 each store info for approximately 5 billion configs (counts include up to 48 symmetries per stored config). Dist4 is intended to store information for the entire 3-color cube which is 11 trillion configs (226 billion symmetry reduced) but that is too much for the average device/computer to hold so it is reduced in size by using only 6 of 11 edge twist bits, it can be increased in size by adding the remaining 5 bits of which each doubles the array size.
File Name | Size (MB) | Configs/Byte | Cube Components |
Dist1_09F.dat | 57 | 2 | EPSYM CP CT |
Dist2_09F.dat | 53 | 2 | EPSYM ET CP |
Dist3_10F.dat | 418 | 8 | EPSYM ET CT |
Dist3_10FQ.dat | 835 | 4 | EPSYM ET CT |
Dist4_11F.dat | 1827 | 4 | EPSYM ET CP CT |
The file DistP2_08F.dat differs from the above files in that it only contains information for configs that are 3-color solutions (all facelets match the color of the center or the opposite face). The components for this file are shown in the following table, only EPR and CPR are needed because the 3-Color components are already solved and are factored out. There is no need for reduction by symmetry or by storing multiple configs per byte with this file because it is relatively small. A value in the range of 0-9 is stored for each config (array is generated to depth 8 and unreached configs are assigned 9). The file can store 8 million configs although parity eliminates the need for half of them.
6-Color Cube Component | Abbrev | Configs |
Edge Positions | EP6C | 479001600 |
Corner Positions | CP6C | 40320 |
EP6C / EP | EPR | 13824 |
CP6C / CP | CPR | 576 |
The following table shows the number of configs at each depth for each dist array which are used to get the percentages shown in the second table.
Depth | Dist1 | Dist2 | Dist3 | Dist4 |
1 | 1 | 1 | 1 | 1 |
2 | 3 | 3 | 3 | 3 |
3 | 23 | 23 | 23 | 23 |
4 | 241 | 237 | 230 | 241 |
5 | 2948 | 2888 | 2823 | 2980 |
6 | 36359 | 35002 | 35462 | 37867 |
7 | 433044 | 401664 | 444312 | 480605 |
8 | 4641716 | 4183059 | 5449213 | 6044379 |
9 | 33429131 | 30828052 | 62907892 | 73314231 |
10 | 69728531 | 62279903 | 584924996 | 756671390 |
11 | 11305961 | 5810832 | 2064988841 | 3882242180 |
Array | 119716380 | 112107520 | 3502559232 | 7661848320 |
Adjusted | n/a | 103751900 | 3241505790 | 7336072800 |
Depth | Dist1 | Dist2 | Dist3 | Dist4 |
6 | 0.03 | 0.03 | 0.00 | 0.00 |
7 | 0.36 | 0.39 | 0.01 | 0.00 |
8 | 3.88 | 4.03 | 0.17 | 0.08 |
9 | 27.92 | 29.71 | 1.94 | 1.00 |
10 | 58.24 | 60.03 | 18.04 | 10.31 |
11 | 9.44 | 5.60 | 63.70 | 52.92 |
NR | 0.12 | 0.20 | 16.13 | 35.68 |
NR = Not Reached |
The percentage of Dist3 configs that require at least 11 moves is:
63.70 + 16.13 = 79.83 = 80%
The adjusted totals are used for calculating the percentages, they account
for the difference between the number of symmetry reduced 3-color edge
positions combined with twist (782 * 2048 = 1601536) and the actual number
of symmetry reduced 3-color edges (1482170). Dist1 does not contain edge
twist so no ajustment is needed.
Dist4 uses only 6 of 11 edge twist bits so the adjustment is 47920 vs. 50048
as shown in the following calculation of the array size which also includes
corner position (70) and twist (2187):
unadjusted:
70 * 50048 * 2187 = 7661848320 (50048 = 782 * 64, 64 = 6 bits)
adjusted:
70 * 47920 * 2187 = 7336072800
The 47920 was computed by counting the actual number of symmetry reduced
3-color edge configs using only 6 bits of edge twist.
DistP2 contains distances from intermediate 3-color solutions to the final 6-color solution. The solver only uses depths 1-8 for suboptimal solutions of which there are 117265 possible (cumulative total). Depths above 8 are not used because for those the total number of moves to solve is almost always more than 20 for random cubes. In the table, the Mins column is the number of configs reduced by symmetry (additional configs that are equivalent by rotation & reflection are eliminated). The dist file for this array is not reduced by symmetry because it is already relatively small (8 MB).
Depth | Mins | Configs | Percent |
0 | 1 | 1 | 0.00 |
1 | 1 | 6 | 0.00 |
2 | 2 | 27 | 0.00 |
3 | 5 | 120 | 0.00 |
4 | 18 | 519 | 0.01 |
5 | 62 | 2124 | 0.05 |
6 | 214 | 8188 | 0.21 |
7 | 693 | 27636 | 0.69 |
8 | 1871 | 78644 | 1.98 |
9 | 4114 | 175497 | 4.41 |
10 | 5702 | 248288 | 6.24 |
11 | 5614 | 252210 | 6.33 |
12 | 14444 | 685188 | 17.21 |
13 | 30935 | 1480040 | 37.17 |
14 | 18715 | 883908 | 22.20 |
15 | 3088 | 137200 | 3.45 |
16 | 77 | 1716 | 0.04 |
Total | 85556 | 3981312 | 100.00 |
With the new Solver 2, depths above 8 are used for pruning which makes a significant difference in performance when solving configurations that are already solved as 3-color (presolved).
Also new with Solver 2 is Dist5 which contains distances to the 6-color corner configurations (components CP6C + CT as described above). Symmetry reduction is not used for this array but the dist file size is reduced by storing two configs per byte which makes it 42 MB.
Depth | Configs | Percent |
0 | 1 | 0.00 |
1 | 18 | 0.00 |
2 | 243 | 0.00 |
3 | 2874 | 0.00 |
4 | 28000 | 0.03 |
5 | 205416 | 0.23 |
6 | 1168516 | 1.33 |
7 | 5402628 | 6.13 |
8 | 20776176 | 23.56 |
9 | 45391616 | 51.48 |
10 | 15139616 | 17.17 |
11 | 64736 | 0.07 |
Total | 88179840 | 100.0 |