### 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:
• Play with mini cube (Move mode).
• Setup a position of the mini cube (Setup mode).
• Find the shortest algorithm(s) to solve a position of the mini cube.
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 want to find a solution of Rubik's Domino. With Rubik's Domino it is not possible to use quarter turns for the L, R, F and B sides.
• You want to find a solution for the Two Generator family. Two Generator family means scrambling and solving the cube using only moves on two sides (f.i. only R and U turns).
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 moves Solving time Cum. # of positions # of different positions 1 less than a second 9 9 2 less than a second 63 54 3 less than a second 387 321 4 less than a second 2,331 1,847 5 less than a second 13,995 9,992 6 less than a second 83,979 50,136 7 less than a second 503,883 227,536 8 a few seconds 3,023,307 870,072 9 twenty seconds 18,139,851 1,887,748 10 a minute and a half 108,839,115 623,800 11 ten minutes 653,034,699 2,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.

Good luck!