5
$\begingroup$

I am writing a program to solve a Rubik's cube, and would like to know the answer to this question.

There are 12 ways to make one move on a Rubik's cube. How many ways are there to make a sequence of six moves?

From my project's specification: up to six moves may be used to scramble the cube. My job is to write a program that can return the cube to the solved state. I am allowed to use up to 90 moves to solve it. Currently, I can solve the cube, but it takes me over 100 moves (which fails the objective)... so I ask this question to figure out if a brute force method is applicable to this situation.

If the number of ways to make six moves is not overly excessive, I can just make six random moves, then check to see if the cube is solved. Repeat if necessary.

  • 0
    Rather than brute forcing it you could try and implement a solving algorithm from the ones known until now. I'm sure there are some which can get down to less than 50 moves. For example this: http://ws2.binghamton.edu/fridrich/cube.html Just making random moves until it's done seems it could make lots of unuseful moves, and I guess the 90 limit moves needs some intelligent algorithm.2012-04-27

2 Answers 2

3

12^6 is just under 3 million. So it would probably not work to randomly try six unscrambles. But it wouldn't be too hard to make a data file of all the positions and their unscramble twists if you can find a reasonable way to search it, like some hash function on a description of the position.

  • 0
    +1 because that is the most practical way to go about solving this problem (for up to 6 moves).2011-09-20
2

There are 7,618,438 diferent positions after six movements according to this site, but they use face movements. By the way they show that the Rubik's cube can be solved in 20 face movements or less.

  • 0
    @Henry: You are right. actually the number I gave allows 18 legal moves while the OP ask for 12 (90 deg twists) so the number of different positions after at most 6 moves is a lot smaller: 1056772. Actually the method given by him (make six random moves until the puzzle is solved) fails for the 96696 positions after 5 moves if it does not take this into account.2011-09-26