Explanation

Version
This is version 1.0 of my Rubik's MiniCubeSolver applet. I built it using Symantec Visual Café 3.

Features
Using this applet you are able to: Playing with the mini cube
Set the applet into Move mode, by clicking the option "Move mode".
You can now move all sides of the cube by clicking on a cubie, keeping the mouse button down, and releasing the mouse button on a neighboring cubie.
After scrambling the cube, the moves are counted. After the first move time starts running, and is shown after each move.

Setting up the mini cube
Set the applet into Setup mode, by clicking the option "Setup mode".
Click on a color in the palet to make the color the active color.
Now click on a cubie of the cube. The color of the cubie will be set to the active color of the palet.

Solving a position of the cube
By setting up the cubies or moving the sides of the cube you can build a position that you want to be solved. If you do not care about certain cubies, you can set their color to gray.
Next you can tell MiniCubeSolver which moves are allowed to solve the cube, using the options in the bottom of the applet. The fewer possible moves, the sooner MiniCubeSolver will be finished. This feature might also be handy in the following situations: You can only set moves of the sides U, F and R. This is because moving the left side, is the same as moving the right side!

Next tell MiniCubeSolver whether it must stop after finding one solution, or it can continue checking all possible moves.
Finally you can tell MiniCubeSolver how deep it must look for solutions. The deeper it looks, the longer it takes. Rubik's Mini Cube has only 3,674,160 different positions. Of those positions, only 2,644 take the maximum depth of 11 moves.
The current version of MiniCubeSolver is able to check all moves at a depth of 11 within 10 minutes. A good start would be to start checking depth 10. This takes a minute and a half, and you have a very big chance that a solution is found.

Time the applet needs to look for a solution
If all moves are allowed, MiniCubeSolver takes the following time to check all positions at a certain depth:

# of movesSolving timeCum. # of positions# of different positions
1less than a second99
2less than a second6354
3less than a second387321
4less than a second2,3311,847
5less than a second13,9959,992
6less than a second83,97950,136
7less than a second503,883227,536
8a few seconds3,023,307870,072
9twenty seconds18,139,8511,887,748
10a minute and a half108,839,115623,800
11ten minutes653,034,6992,644

These times have been measured using a Pentium II 350 MHz with 128MB internal memory. On such a machine MiniCubeSolver can check about 1 million positions per second.

Example of solving
For an example of solving, please take a look at the example for the standard Rubik's cube (newer version).

Good luck!

Last update: November 26, 2000.