Two-Phase-Algorithm and God's Algorithm |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
The algorithm which gives an optimal solution in the sense that there is no shorter solution is called God's algorithm. There are cube positions (for example the superflip which flips all 12 edges), which are known to have a shortest maneuver length of 20 moves to be solved. It is still an open problem if there are cube positions which require 21 moves or more with God's Algorithm. I generated 1 million random cubes on a 3 GHz Pentium 4 PC, trying to find a cube which was not solvable within 20 moves with the Two-Phase-Algorithm. This cube then would be a test candidate for a position which would need at least 21 moves to be solved with God's Algorithm. But the Two-Phase-Algorithm solved all generated
random positions within 20 moves. More precisely, it solved about 30000
random cubes per hour and the final distribution of the maneuver length
was: This shows, that the probability to find a random cube position which
cannot be solved within 20 moves with the Two-Phase-Algorithm in a reasonable
time must be very low or zero. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
In 2009 I used Cube Explorer 4.64s and an Intel Core i7 920 CPU machine (Vista 64 bit with 6 GB of RAM) to solve 100000 random positions optimally in parallel on 8 cores (4 physical and 4 virtual cores).
The theoretical distribution for the maneuver length of God's Algorithm for Rubiks Cube is only known for maneuver lengths less then 11. Because there are 1, 18, 243, 3240, 43239, 574908, 7618438, 100803036,1332343288, 17596479795, 232248063316, 3063288809012 positions which have a shortes maneuver length of n moves for n = 0 to 11 (see sequence A080601 in the On-Line Encyclopedia of Integer Sequences) and there are 43252003274489856000 different cube positions, we get for the probability P to solve a random cube optimally in n moves:
Phase 1 of the Two-Phase-Algorithm needs at most 12 moves and phase
2 needs at most 18 moves. Michael Reid showed in 1995, that the 18 moves
case for phase 2 always can be avoided. So all cubes can be solved within
29 moves. In August 2008 Tomas Rokicki reduced the upper bound to 22 moves after having analyzed 1.28 million cosets within 50 core-years of CPU time (Domain of the Cube Forum). A paper will be available soon. |