I know there are several different standard methods to solve a Rubik's cube, some easier, some more straightforward. It is known that the minimum number of moves to guarantee a solution is 20. Which method comes closest to the theoretical minimum in fewest average moves from a randomized cube to a solution? What about worst case? Are there any potential methods that are more efficient but more difficult, but still within reason for a human to solve?
3 Answers
The World Cubing Association actually has an entire event dedicated to solving the cube with the fewest move count (FMC). You are given a scramble, paper, pencil, up to 3 cubes and an hour.
The methods used vary widely and involve much more "freestyle" than regular speedsolving. But I'll explain one of the more common "methods." (Which is more like a set of guidelines.)
Just a warning, this will likely take a few readings to understand, as it's a very deep topic.
First, you try to preserve any blocks that might be present in the scramble and aim to build a 3x2x2 block. It helps to first build a 2x2x2 block, then extend it.
From here, you can extend your 3*2*2 block to have a cross, with your choice from 3 cross colours. This is usually a fork in the road, where a cuber can explore the different paths to see which one gives the more favorable outcome.
Then you can solve one of the two empty F2L slots that this creates.
Now various means are used to orient and permute the last 5 edges. This often involves a combination of freestyle and algorithms.
At this point there will be at most 5 corners left to solve. This is done with "commutators." They're essentially 8-move algorithms that cycle any 3 corners and can be come up with on the fly. 1-3 commutators are needed to finish off the cube.
But it doesn't stop there.
An experienced FMCer would backtrack through their solution to find a good spot to insert a commutator. A good spot means that you can cancel some moves. (eg. if your commutator alg starts with R, you might find a place that ends with R' so that you can cancel both moves.) Thus the 1-3 commutators that would usually take anywhere between 8 and 24 moves to complete, can now be done in a fraction of the moves. Sometimes you can cancel a ridiculous number of moves. A friend of mine went from requiring 16 moves to solve the corners to only 3 because of move cancelation.
Of course, the masters of FMC use all kinds of other special tricks for special cases in order to get even shorter solutions.
Tomoaki Okayama from Japan (who I've had the pleasure of meeting) set the world record by finding a 20 move solution at a competition in 2012.
I'd like to finish this of by mentioning that this is much more of a dynamic programming approach than a "greedy" one, since it involves backtracking. The most efficient greedy and speedsolving method that can also be insanely fast (ie. 7 second average) would probably be the Roux method.
All in all, FMC is a very interesting problem that takes a tremendous amount of patience and skill.
-
1$\begingroup$ How do they make sure it's fair? Does everyone get the same cube? $\endgroup$ Commented Feb 28, 2017 at 15:46
-
$\begingroup$ I don't think so. You could have a lucky 3x3x3 random, and get a ll skip. $\endgroup$ Commented Mar 20, 2017 at 9:02
-
$\begingroup$ @Anonymous: That's very bad; everyone should get the same randomized starting position. It's trivial to implement, and the only way to guarantee fairness. $\endgroup$ Commented Jan 23, 2022 at 9:37
I like the Lars Petrus method. it's intuitive up until the last layer which you can then solve by memorizing only 3 turn sequences.
First you solve a 2x2x2 corner. That is 3 sides all adjacent to a corner.
Then without turning the faces that make up the already solved corner you expand it to a 2x2x3.
After that you orient the remaining edges (you should be able to make a double cross on the unsolved faces without moving the partially solved faces) using the move sequence R U R'
(that is Right face away from you, Up clockwise and then Right back again) which orients the edge on the front face on the left side and the edge on the top face at the back.
Then moving only the top and front faces you solve the bottom 2 layers. This is a bit trickier but easily doable with some experience.
You should have the top edges oriented correctly by this point. Now begins the sequence memorization:
First you permute the corners using R' U L U' R U L U2
, this flips the left hand corners (and permutes the edges). so they are in the correct location.
Then you flip the corners with R U R' U R U2 R'
which flips the corners in the top left, top right and bottom right corners (when looking at the top face).
Now all you need to do is permute the edges. The sequence for this is F2 U L R' F2 L' R U F2
which permutes the front, left and right edges in a clockwise fashion, for a counter clockwise rotation use U' instead of U.
There is a full tutorial available on his website complete with animated 3D cubes
There is no exactly "most efficient" solving method. It really depends on how efficient the solver is. Like in CFOP there is intuitive F2L which is very efficient.
-
1$\begingroup$ um... we are talking about least moves, not most efficient. $\endgroup$ Commented Mar 20, 2017 at 9:03
R U' R
). There are certain 17-move algorithms for some PLL permutations that speedcubers use that are way faster than a 13-move algorithm that does the same thing. $\endgroup$