My research is on the more general form of this problem (the moves of a rubix cube form a group, can we get from one place to another using a group?). There are good algorithms for doing this, and other computational group theory problems, but they are very complicated. Also, they don’t give you the best answer, just any answer. I’ve been considering writing about them, but it would probably be a fair chunk of a book!
EDIT; after further thought, my stuff is less applicable, because every cube of a rubix cube is unique, while my personal study is in moving things around where some values are the same — while it is true that you can view a side as “9 indistguishable yellow squares”, they aren’t really, as the cubes they are on can each be uniquely identified by their coloured sides :)
Just to note, the algorithm in the article applies to any permutation group, optimally solving the generator factorization problem in O(N^0.5) time and O(N^0.25) space provided a bound on the diameter of the group is provided.
My research is on the more general form of this problem (the moves of a rubix cube form a group, can we get from one place to another using a group?). There are good algorithms for doing this, and other computational group theory problems, but they are very complicated. Also, they don’t give you the best answer, just any answer. I’ve been considering writing about them, but it would probably be a fair chunk of a book!
EDIT; after further thought, my stuff is less applicable, because every cube of a rubix cube is unique, while my personal study is in moving things around where some values are the same — while it is true that you can view a side as “9 indistguishable yellow squares”, they aren’t really, as the cubes they are on can each be uniquely identified by their coloured sides :)