• Welcome to the Speedsolving.com, home of the web's largest puzzle community!
    You are currently viewing our forum as a guest which gives you limited access to join discussions and access our other features.

    Registration is fast, simple and absolutely free so please, join our community of 40,000+ people from around the world today!

    If you are already a member, simply login to hide this message and begin participating in the community!

4x4 Optimal Solver v2

clement

Member
Joined
Sep 19, 2007
Messages
74
WCA
2004GALL02
Hi everyone

Recently I worked again on my 4x4 optimal solver for it to be easier to use.
Here it is : http://perso.ens-lyon.fr/clement.gallet/optimal444.zip

Sorry for (almost) all windows users, it uses special librairies (ext/hash_set). Maybe someone could compile it to work on Windows, I can't do it myself.

When launching the program (after compiling), it first asks for the description of the cube, sticker by sticker. After it asks if you want to forbid moves. Then it starts the research, by length of the solutions increasing.

The pre-computation consists of storing every position around the solved state into an hash set. So the main parameter to configure before compilation is the maximum distance of those positions. The thing is that this distance is limited by the memory of your computer, and by the moves that you will forbid for the search.
This parameter is QUEUE_DEPTH in the main.h file.

For exemple, for my computer (500 Mo) without forbidding moves, the maximum distance is 4, but if I limit in <r, l, U2, D2, F2, B2, R2, L2>, I can put a distance of 7 which will allow a faster search.

If you put a too high number, you will just have an error :)


The program consider that the corner DBL is always solved, so it will print solutions with those moves : Uud, Ffb and Rrl instead of D, B and L.
Uud means U u d', Uud' means U' u' d, etc.
One of my TODO is to print in the usual way.

An exemple of the speed of the program, with my quite old computer (Pentium M 1.6 GHz, 500 Mo), I found all 15 moves solutions for the OLL parity in about 30 minutes into the sub-group <r, l, U2, D2, F2, B2, R2, L2> :

F2 r Uud2 r' Ffb2 l Ffb2 l2 Uud2 r' Uud2 l Uud2 F2 r2(15)
F2 r Uud2 l' Uud2 l Uud2 r2 Ffb2 r' Ffb2 r Uud2 F2 r2(15)
F2 l Ffb2 r' U2 r U2 r2 F2 r' Uud2 r Uud2 Ffb2 l2(15)
F2 l Ffb2 r' U2 r U2 l2 Ffb2 l' Uud2 l Uud2 F2 r2(15)
F2 l Ffb2 l' Ffb2 r Uud2 r2 Ffb2 r' Ffb2 r Uud2 F2 r2(15)
F2 r2 F2 U2 r U2 r' U2 r2 F2 l F2 l' U2 r(15)
F2 r2 F2 U2 r U2 l' Ffb2 l2 Uud2 l Uud2 r' Ffb2 l(15)
F2 r2 F2 U2 l F2 r' F2 l2 U2 l U2 r' U2 r(15)
F2 r2 Ffb2 U2 r' U2 l F2 l2 Uud2 r' Uud2 l Ffb2 r'(15)
F2 l2 F2 U2 r' F2 l F2 r2 U2 l' Ffb2 r Ffb2 r'(15)
F2 l2 F2 U2 l' U2 r Ffb2 r2 Uud2 r' Uud2 l Ffb2 r'(15)
F2 l2 F2 U2 l' U2 l U2 l2 F2 r' F2 r U2 l'(15)
F2 l2 Ffb2 U2 l U2 r' F2 r2 Uud2 l Uud2 r' Ffb2 l(15)
F2 r' Ffb2 r Ffb2 l' Uud2 l2 Ffb2 l Ffb2 l' Uud2 F2 l2(15)
F2 r' Ffb2 l U2 l' U2 r2 Ffb2 r Uud2 r' Uud2 F2 l2(15)
F2 r' Ffb2 l U2 l' U2 l2 F2 l Uud2 l' Uud2 Ffb2 r2(15)
F2 l' Uud2 r Uud2 r' Uud2 l2 Ffb2 l Ffb2 l' Uud2 F2 l2(15)
F2 l' Uud2 l Ffb2 r' Ffb2 r2 Uud2 l Uud2 r' Uud2 F2 l2(15)
U2 r Uud2 r' Uud2 l Ffb2 l2 Uud2 l' Uud2 l Ffb2 U2 l2(15)
U2 r Uud2 l' F2 l F2 r2 Uud2 r' Ffb2 r Ffb2 U2 l2(15)
U2 r Uud2 l' F2 l F2 l2 U2 l' Ffb2 l Ffb2 Uud2 r2(15)
U2 l Ffb2 r' Ffb2 r Ffb2 l2 Uud2 l' Uud2 l Ffb2 U2 l2(15)
U2 l Ffb2 l' Uud2 r Uud2 r2 Ffb2 l' Ffb2 r Ffb2 U2 l2(15)
U2 r2 U2 F2 r' F2 r F2 r2 U2 l' U2 l F2 r'(15)
U2 r2 U2 F2 r' F2 l Uud2 l2 Ffb2 l' Ffb2 r Uud2 l'(15)
U2 r2 U2 F2 l' U2 r U2 l2 F2 l' F2 r F2 r'(15)
U2 r2 Uud2 F2 r F2 l' U2 l2 Ffb2 r Ffb2 l' Uud2 r(15)
U2 l2 U2 F2 r U2 l' U2 r2 F2 l Uud2 r' Uud2 r(15)
U2 l2 U2 F2 l F2 r' Uud2 r2 Ffb2 r Ffb2 l' Uud2 r(15)
U2 l2 U2 F2 l F2 l' F2 l2 U2 r U2 r' F2 l(15)
U2 l2 Uud2 F2 l' F2 r U2 r2 Ffb2 l' Ffb2 r Uud2 l'(15)
U2 r' Ffb2 r Uud2 l' Uud2 l2 Ffb2 r Ffb2 l' Ffb2 U2 r2(15)
U2 r' Ffb2 l Ffb2 l' Ffb2 r2 Uud2 r Uud2 r' Ffb2 U2 r2(15)
U2 l' Uud2 r F2 r' F2 r2 U2 r Ffb2 r' Ffb2 Uud2 l2(15)
U2 l' Uud2 r F2 r' F2 l2 Uud2 l Ffb2 l' Ffb2 U2 r2(15)
U2 l' Uud2 l Uud2 r' Ffb2 r2 Uud2 r Uud2 r' Ffb2 U2 r2(15)
r F2 r' F2 l F2 l2 U2 r' U2 l F2 U2 r2 U2(15)
r F2 r' F2 l Ffb2 l2 Ffb2 Uud2 r F2 l' F2 r2 Uud2(15)
r F2 l' U2 l U2 r2 F2 r' F2 r F2 U2 r2 U2(15)
r Ffb2 r' Ffb2 l U2 r2 F2 l' F2 r U2 F2 l2 F2(15)
r Ffb2 r' Ffb2 l Uud2 r2 Uud2 Ffb2 l U2 r' U2 l2 Ffb2(15)
r Ffb2 l' Uud2 r U2 r2 Uud2 F2 r F2 l' U2 l2 Ffb2(15)
r Ffb2 l' Uud2 r U2 l2 U2 F2 l F2 r' Uud2 r2 Ffb2(15)
r Ffb2 l' Uud2 r Uud2 r2 Ffb2 r' U2 l U2 F2 l2 F2(15)
r Ffb2 l' Uud2 r Uud2 l2 F2 l' U2 r U2 Ffb2 r2 F2(15)
r Ffb2 l' Uud2 l F2 l2 F2 Uud2 r Uud2 l' Uud2 r2 Ffb2(15)
l U2 r' F2 r F2 l2 U2 l' U2 l U2 F2 l2 F2(15)
l U2 l' U2 r U2 r2 F2 l' F2 r U2 F2 l2 F2(15)
l U2 l' U2 r Uud2 r2 Uud2 Ffb2 l U2 r' U2 l2 Ffb2(15)
l Uud2 r' Ffb2 r U2 r2 U2 Ffb2 l Ffb2 r' Ffb2 l2 Uud2(15)
l Uud2 r' Ffb2 l F2 r2 F2 U2 r U2 l' Ffb2 l2 Uud2(15)
l Uud2 r' Ffb2 l F2 l2 Ffb2 U2 l U2 r' F2 r2 Uud2(15)
l Uud2 r' Ffb2 l Ffb2 r2 U2 r' F2 l F2 Uud2 l2 U2(15)
l Uud2 r' Ffb2 l Ffb2 l2 Uud2 l' F2 r F2 U2 r2 U2(15)
l Uud2 l' Uud2 r F2 l2 U2 r' U2 l F2 U2 r2 U2(15)
l Uud2 l' Uud2 r Ffb2 l2 Ffb2 Uud2 r F2 l' F2 r2 Uud2(15)
r2 F2 r F2 r' F2 Uud2 l2 Uud2 r' F2 l Uud2 r' Uud2(15)
r2 F2 r F2 l' F2 Uud2 r' Uud2 l Uud2 l' Uud2 F2 r2(15)
r2 F2 r F2 l' F2 Uud2 l' F2 r F2 r' Uud2 F2 r2(15)
r2 F2 l Uud2 r' Uud2 Ffb2 r' Ffb2 r Uud2 l' Uud2 F2 r2(15)
r2 F2 l Uud2 l' F2 U2 r' U2 l F2 r' Uud2 F2 r2(15)
r2 F2 l Uud2 l' Uud2 Ffb2 l2 Ffb2 l' F2 l Uud2 r' Uud2(15)
r2 F2 r' Ffb2 r Ffb2 Uud2 r Uud2 l' Uud2 l Uud2 F2 r2(15)
r2 F2 r' Ffb2 r Ffb2 Uud2 l Ffb2 l' Ffb2 r Uud2 F2 r2(15)
r2 F2 l' Uud2 r Uud2 F2 l F2 r' Uud2 l Uud2 F2 r2(15)
r2 F2 l' Uud2 l Ffb2 Uud2 r Uud2 r' Ffb2 r Uud2 F2 r2(15)
r2 F2 Uud2 r F2 r' F2 l Uud2 F2 l F2 r' F2 r2(15)
r2 F2 Uud2 r F2 l' U2 r U2 F2 l Uud2 l' F2 r2(15)
r2 F2 Uud2 l Uud2 r' Ffb2 r Ffb2 Uud2 r Uud2 l' F2 r2(15)
r2 F2 Uud2 l Uud2 l' Uud2 r Uud2 F2 l F2 r' F2 r2(15)
r2 F2 Uud2 r' Ffb2 r Ffb2 r2 Uud2 l' Uud2 l Uud2 r' F2(15)
r2 F2 Uud2 r' Ffb2 r Uud2 r' Uud2 Ffb2 l' Uud2 l F2 r2(15)
r2 F2 Uud2 r' Ffb2 l Ffb2 l' Uud2 Ffb2 r' Ffb2 r F2 r2(15)
r2 F2 Uud2 l' Uud2 r F2 l' F2 Uud2 r' Uud2 l F2 r2(15)
r2 F2 Uud2 l' Uud2 r Uud2 l2 Ffb2 l' Ffb2 r Uud2 r' F2(15)
r2 F2 Uud2 l' Uud2 l Ffb2 l2 U2 r' U2 r Ffb2 l' F2(15)
r2 F2 Uud2 l' Uud2 l Uud2 r' Uud2 Ffb2 r' Ffb2 r F2 r2(15)
r2 U2 r Uud2 r' Uud2 Ffb2 r' Ffb2 l Ffb2 l' Ffb2 U2 r2(15)
r2 U2 r Uud2 r' Uud2 Ffb2 l' Uud2 l Uud2 r' Ffb2 U2 r2(15)
r2 U2 l Ffb2 r' Ffb2 U2 l' U2 r Ffb2 l' Ffb2 U2 r2(15)
r2 U2 l Ffb2 l' Uud2 Ffb2 r' Ffb2 r Uud2 r' Ffb2 U2 r2(15)
r2 U2 r' U2 r U2 Ffb2 l2 Ffb2 r U2 l' Ffb2 r Ffb2(15)
r2 U2 r' U2 l U2 Ffb2 r Ffb2 l' Ffb2 l Ffb2 U2 r2(15)
r2 U2 r' U2 l U2 Ffb2 l U2 r' U2 r Ffb2 U2 r2(15)
r2 U2 l' Ffb2 r Ffb2 Uud2 r Uud2 r' Ffb2 l Ffb2 U2 r2(15)
r2 U2 l' Ffb2 l U2 F2 r F2 l' U2 r Ffb2 U2 r2(15)
r2 U2 l' Ffb2 l Ffb2 Uud2 l2 Uud2 l U2 l' Ffb2 r Ffb2(15)
r2 U2 Ffb2 r Uud2 r' Ffb2 r Ffb2 Uud2 l Ffb2 l' U2 r2(15)
r2 U2 Ffb2 r Uud2 r' Uud2 r2 Ffb2 l Ffb2 l' Ffb2 r U2(15)
r2 U2 Ffb2 r Uud2 l' Uud2 l Ffb2 Uud2 r Uud2 r' U2 r2(15)
r2 U2 Ffb2 l Ffb2 r' U2 l U2 Ffb2 r Ffb2 l' U2 r2(15)
r2 U2 Ffb2 l Ffb2 r' Ffb2 l2 Uud2 l Uud2 r' Ffb2 r U2(15)
r2 U2 Ffb2 l Ffb2 l' Ffb2 r Ffb2 Uud2 r Uud2 r' U2 r2(15)
r2 U2 Ffb2 l Ffb2 l' Uud2 l2 F2 r F2 r' Uud2 l U2(15)
r2 U2 Ffb2 r' U2 r U2 l' Ffb2 U2 l' U2 r U2 r2(15)
r2 U2 Ffb2 r' U2 l F2 r' F2 U2 l' Ffb2 l U2 r2(15)
r2 U2 Ffb2 l' Ffb2 r Uud2 r' Uud2 Ffb2 r' Ffb2 l U2 r2(15)
r2 U2 Ffb2 l' Ffb2 l Ffb2 r' Ffb2 U2 l' U2 r U2 r2(15)
r2 Ffb2 r F2 l' F2 Uud2 r' Uud2 l Uud2 l' Uud2 Ffb2 r2(15)
r2 Ffb2 r F2 l' F2 Uud2 l' F2 r F2 r' Uud2 Ffb2 r2(15)
r2 Ffb2 l Uud2 r' Uud2 Ffb2 r' Ffb2 r Uud2 l' Uud2 Ffb2 r2(15)
r2 Ffb2 l Uud2 l' F2 U2 r' U2 l F2 r' Uud2 Ffb2 r2(15)
r2 Ffb2 r' Ffb2 r Ffb2 Uud2 r Uud2 l' Uud2 l Uud2 Ffb2 r2(15)
r2 Ffb2 r' Ffb2 r Ffb2 Uud2 l Ffb2 l' Ffb2 r Uud2 Ffb2 r2(15)
r2 Ffb2 r' Ffb2 r Uud2 F2 r2 F2 l Ffb2 l' Ffb2 r Uud2(15)
r2 Ffb2 l' Uud2 r Uud2 F2 l F2 r' Uud2 l Uud2 Ffb2 r2(15)
r2 Ffb2 l' Uud2 l Ffb2 Uud2 r Uud2 r' Ffb2 r Uud2 Ffb2 r2(15)
r2 Ffb2 l' Uud2 l Uud2 F2 l2 Ffb2 r F2 r' Uud2 l Uud2(15)
r2 Ffb2 Uud2 r F2 r' F2 l Uud2 F2 l F2 r' Ffb2 r2(15)
r2 Ffb2 Uud2 r F2 l' U2 r U2 F2 l Uud2 l' Ffb2 r2(15)
r2 Ffb2 Uud2 l Uud2 r' Ffb2 r Ffb2 Uud2 r Uud2 l' Ffb2 r2(15)
r2 Ffb2 Uud2 l Uud2 l' F2 l2 U2 l U2 l' Ffb2 r F2(15)
r2 Ffb2 Uud2 l Uud2 l' Uud2 r Uud2 F2 l F2 r' Ffb2 r2(15)
r2 Ffb2 Uud2 r' Ffb2 r Uud2 r' Uud2 Ffb2 l' Uud2 l Ffb2 r2(15)
r2 Ffb2 Uud2 r' Ffb2 l Ffb2 l' Uud2 Ffb2 r' Ffb2 r Ffb2 r2(15)
r2 Ffb2 Uud2 l' Uud2 r F2 l' F2 Uud2 r' Uud2 l Ffb2 r2(15)
r2 Ffb2 Uud2 l' Uud2 l Uud2 r' Uud2 Ffb2 r' Ffb2 r Ffb2 r2(15)
r2 Uud2 r Uud2 r' Ffb2 U2 r2 U2 l' Uud2 l Uud2 r' Ffb2(15)
r2 Uud2 r Uud2 r' Uud2 Ffb2 r' Ffb2 l Ffb2 l' Ffb2 Uud2 r2(15)
r2 Uud2 r Uud2 r' Uud2 Ffb2 l' Uud2 l Uud2 r' Ffb2 Uud2 r2(15)
r2 Uud2 l Ffb2 r' Ffb2 U2 l' U2 r Ffb2 l' Ffb2 Uud2 r2(15)
r2 Uud2 l Ffb2 l' Ffb2 U2 l2 Uud2 r' U2 r Ffb2 l' Ffb2(15)
r2 Uud2 l Ffb2 l' Uud2 Ffb2 r' Ffb2 r Uud2 r' Ffb2 Uud2 r2(15)
r2 Uud2 r' U2 l U2 Ffb2 r Ffb2 l' Ffb2 l Ffb2 Uud2 r2(15)
r2 Uud2 r' U2 l U2 Ffb2 l U2 r' U2 r Ffb2 Uud2 r2(15)
r2 Uud2 l' Ffb2 r Ffb2 Uud2 r Uud2 r' Ffb2 l Ffb2 Uud2 r2(15)
r2 Uud2 l' Ffb2 l U2 F2 r F2 l' U2 r Ffb2 Uud2 r2(15)
r2 Uud2 Ffb2 r Uud2 r' Ffb2 r Ffb2 Uud2 l Ffb2 l' Uud2 r2(15)
r2 Uud2 Ffb2 r Uud2 l' Uud2 l Ffb2 Uud2 r Uud2 r' Uud2 r2(15)
r2 Uud2 Ffb2 l Ffb2 r' U2 l U2 Ffb2 r Ffb2 l' Uud2 r2(15)
r2 Uud2 Ffb2 l Ffb2 l' Ffb2 r Ffb2 Uud2 r Uud2 r' Uud2 r2(15)
r2 Uud2 Ffb2 r' U2 r U2 l' Ffb2 U2 l' U2 r Uud2 r2(15)
r2 Uud2 Ffb2 r' U2 l F2 r' F2 U2 l' Ffb2 l Uud2 r2(15)
r2 Uud2 Ffb2 l' Ffb2 r Uud2 r' Uud2 Ffb2 r' Ffb2 l Uud2 r2(15)
r2 Uud2 Ffb2 l' Ffb2 l U2 l2 F2 l' F2 l Uud2 r' U2(15)
r2 Uud2 Ffb2 l' Ffb2 l Ffb2 r' Ffb2 U2 l' U2 r Uud2 r2(15)
l2 F2 r Uud2 r' Ffb2 Uud2 l' Uud2 l Ffb2 l' Uud2 F2 l2(15)
l2 F2 r Uud2 l' Uud2 F2 r' F2 l Uud2 r' Uud2 F2 l2(15)
l2 F2 l Ffb2 l' Ffb2 Uud2 r' Ffb2 r Ffb2 l' Uud2 F2 l2(15)
l2 F2 l Ffb2 l' Ffb2 Uud2 l' Uud2 r Uud2 r' Uud2 F2 l2(15)
l2 F2 r' Uud2 r F2 U2 l U2 r' F2 l Uud2 F2 l2(15)
l2 F2 r' Uud2 r Uud2 Ffb2 r2 Ffb2 r F2 r' Uud2 l Uud2(15)
l2 F2 r' Uud2 l Uud2 Ffb2 l Ffb2 l' Uud2 r Uud2 F2 l2(15)
l2 F2 l' F2 r F2 Uud2 r F2 l' F2 l Uud2 F2 l2(15)
l2 F2 l' F2 r F2 Uud2 l Uud2 r' Uud2 r Uud2 F2 l2(15)
l2 F2 l' F2 l F2 Uud2 r2 Uud2 l F2 r' Uud2 l Uud2(15)
l2 F2 Uud2 r Uud2 r' Ffb2 r2 U2 l U2 l' Ffb2 r F2(15)
l2 F2 Uud2 r Uud2 r' Uud2 l Uud2 Ffb2 l Ffb2 l' F2 l2(15)
l2 F2 Uud2 r Uud2 l' F2 r F2 Uud2 l Uud2 r' F2 l2(15)
l2 F2 Uud2 r Uud2 l' Uud2 r2 Ffb2 r Ffb2 l' Uud2 l F2(15)
l2 F2 Uud2 l Ffb2 r' Ffb2 r Uud2 Ffb2 l Ffb2 l' F2 l2(15)
l2 F2 Uud2 l Ffb2 l' Ffb2 l2 Uud2 l Ffb2 r' Ffb2 r F2(15)
l2 F2 Uud2 l Ffb2 l' Uud2 l Uud2 Ffb2 r Uud2 r' F2 l2(15)
l2 F2 Uud2 r' Uud2 r Uud2 l' Uud2 F2 r' F2 l F2 l2(15)
l2 F2 Uud2 r' Uud2 l Ffb2 l' Ffb2 Uud2 l' Uud2 r F2 l2(15)
l2 F2 Uud2 l' F2 r U2 l' U2 F2 r' Uud2 r F2 l2(15)
l2 F2 Uud2 l' F2 l F2 r' Uud2 F2 r' F2 l F2 l2(15)
l2 U2 r Ffb2 r' U2 F2 l' F2 r U2 l' Ffb2 U2 l2(15)
l2 U2 r Ffb2 r' Ffb2 Uud2 r2 Uud2 r' U2 r Ffb2 l' Ffb2(15)
l2 U2 r Ffb2 l' Ffb2 Uud2 l' Uud2 l Ffb2 r' Ffb2 U2 l2(15)
l2 U2 l U2 r' U2 Ffb2 r' U2 l U2 l' Ffb2 U2 l2(15)
l2 U2 l U2 r' U2 Ffb2 l' Ffb2 r Ffb2 r' Ffb2 U2 l2(15)
l2 U2 l U2 l' U2 Ffb2 r2 Ffb2 l' U2 r Ffb2 l' Ffb2(15)
l2 U2 r' Ffb2 r Uud2 Ffb2 l Ffb2 l' Uud2 l Ffb2 U2 l2(15)
l2 U2 r' Ffb2 l Ffb2 U2 r U2 l' Ffb2 r Ffb2 U2 l2(15)
l2 U2 l' Uud2 l Uud2 Ffb2 r Uud2 r' Uud2 l Ffb2 U2 l2(15)
l2 U2 l' Uud2 l Uud2 Ffb2 l Ffb2 r' Ffb2 r Ffb2 U2 l2(15)
l2 U2 Ffb2 r Ffb2 r' Ffb2 l Ffb2 U2 r U2 l' U2 l2(15)
l2 U2 Ffb2 r Ffb2 l' Uud2 l Uud2 Ffb2 l Ffb2 r' U2 l2(15)
l2 U2 Ffb2 l U2 r' F2 l F2 U2 r Ffb2 r' U2 l2(15)
l2 U2 Ffb2 l U2 l' U2 r Ffb2 U2 r U2 l' U2 l2(15)
l2 U2 Ffb2 r' Ffb2 r Ffb2 l' Ffb2 Uud2 l' Uud2 l U2 l2(15)
l2 U2 Ffb2 r' Ffb2 r Uud2 r2 F2 l' F2 l Uud2 r' U2(15)
l2 U2 Ffb2 r' Ffb2 l U2 r' U2 Ffb2 l' Ffb2 r U2 l2(15)
l2 U2 Ffb2 r' Ffb2 l Ffb2 r2 Uud2 r' Uud2 l Ffb2 l' U2(15)
l2 U2 Ffb2 l' Uud2 r Uud2 r' Ffb2 Uud2 l' Uud2 l U2 l2(15)
l2 U2 Ffb2 l' Uud2 l Ffb2 l' Ffb2 Uud2 r' Ffb2 r U2 l2(15)
l2 U2 Ffb2 l' Uud2 l Uud2 l2 Ffb2 l' Uud2 r Uud2 r' U2(15)
l2 Ffb2 r Uud2 r' Ffb2 Uud2 l' Uud2 l Ffb2 l' Uud2 Ffb2 l2(15)
l2 Ffb2 r Uud2 r' Uud2 F2 r2 Ffb2 l' F2 l Uud2 r' Uud2(15)
l2 Ffb2 r Uud2 l' Uud2 F2 r' F2 l Uud2 r' Uud2 Ffb2 l2(15)
l2 Ffb2 l Ffb2 l' Ffb2 Uud2 r' Ffb2 r Ffb2 l' Uud2 Ffb2 l2(15)
l2 Ffb2 l Ffb2 l' Ffb2 Uud2 l' Uud2 r Uud2 r' Uud2 Ffb2 l2(15)
l2 Ffb2 l Ffb2 l' Uud2 F2 l2 F2 l' Uud2 r Uud2 r' Uud2(15)
l2 Ffb2 r' Uud2 r F2 U2 l U2 r' F2 l Uud2 Ffb2 l2(15)
l2 Ffb2 r' Uud2 l Uud2 Ffb2 l Ffb2 l' Uud2 r Uud2 Ffb2 l2(15)
l2 Ffb2 l' F2 r F2 Uud2 r F2 l' F2 l Uud2 Ffb2 l2(15)
l2 Ffb2 l' F2 r F2 Uud2 l Uud2 r' Uud2 r Uud2 Ffb2 l2(15)
l2 Ffb2 Uud2 r Uud2 r' Uud2 l Uud2 Ffb2 l Ffb2 l' Ffb2 l2(15)
l2 Ffb2 Uud2 r Uud2 l' F2 r F2 Uud2 l Uud2 r' Ffb2 l2(15)
l2 Ffb2 Uud2 l Ffb2 r' Ffb2 r Uud2 Ffb2 l Ffb2 l' Ffb2 l2(15)
l2 Ffb2 Uud2 l Ffb2 l' Uud2 l Uud2 Ffb2 r Uud2 r' Ffb2 l2(15)
l2 Ffb2 Uud2 r' Uud2 r F2 r2 U2 r' U2 r Ffb2 l' F2(15)
l2 Ffb2 Uud2 r' Uud2 r Uud2 l' Uud2 F2 r' F2 l Ffb2 l2(15)
l2 Ffb2 Uud2 r' Uud2 l Ffb2 l' Ffb2 Uud2 l' Uud2 r Ffb2 l2(15)
l2 Ffb2 Uud2 l' F2 r U2 l' U2 F2 r' Uud2 r Ffb2 l2(15)
l2 Ffb2 Uud2 l' F2 l F2 r' Uud2 F2 r' F2 l Ffb2 l2(15)
l2 Uud2 r Ffb2 r' U2 F2 l' F2 r U2 l' Ffb2 Uud2 l2(15)
l2 Uud2 r Ffb2 l' Ffb2 Uud2 l' Uud2 l Ffb2 r' Ffb2 Uud2 l2(15)
l2 Uud2 l U2 r' U2 Ffb2 r' U2 l U2 l' Ffb2 Uud2 l2(15)
l2 Uud2 l U2 r' U2 Ffb2 l' Ffb2 r Ffb2 r' Ffb2 Uud2 l2(15)
l2 Uud2 r' Ffb2 r Ffb2 U2 r2 Uud2 l U2 l' Ffb2 r Ffb2(15)
l2 Uud2 r' Ffb2 r Uud2 Ffb2 l Ffb2 l' Uud2 l Ffb2 Uud2 l2(15)
l2 Uud2 r' Ffb2 l Ffb2 U2 r U2 l' Ffb2 r Ffb2 Uud2 l2(15)
l2 Uud2 l' Uud2 l Ffb2 U2 l2 U2 l Ffb2 r' Ffb2 r Ffb2(15)
l2 Uud2 l' Uud2 l Uud2 Ffb2 r Uud2 r' Uud2 l Ffb2 Uud2 l2(15)
l2 Uud2 l' Uud2 l Uud2 Ffb2 l Ffb2 r' Ffb2 r Ffb2 Uud2 l2(15)
l2 Uud2 Ffb2 r Ffb2 r' U2 r2 F2 r F2 r' Uud2 l U2(15)
l2 Uud2 Ffb2 r Ffb2 r' Ffb2 l Ffb2 U2 r U2 l' Uud2 l2(15)
l2 Uud2 Ffb2 r Ffb2 l' Uud2 l Uud2 Ffb2 l Ffb2 r' Uud2 l2(15)
l2 Uud2 Ffb2 l U2 r' F2 l F2 U2 r Ffb2 r' Uud2 l2(15)
l2 Uud2 Ffb2 l U2 l' U2 r Ffb2 U2 r U2 l' Uud2 l2(15)
l2 Uud2 Ffb2 r' Ffb2 r Ffb2 l' Ffb2 Uud2 l' Uud2 l Uud2 l2(15)
l2 Uud2 Ffb2 r' Ffb2 l U2 r' U2 Ffb2 l' Ffb2 r Uud2 l2(15)
l2 Uud2 Ffb2 l' Uud2 r Uud2 r' Ffb2 Uud2 l' Uud2 l Uud2 l2(15)
l2 Uud2 Ffb2 l' Uud2 l Ffb2 l' Ffb2 Uud2 r' Ffb2 r Uud2 l2(15)
r' U2 r U2 l' U2 l2 F2 r F2 l' U2 F2 r2 F2(15)
r' U2 r U2 l' Uud2 l2 Uud2 Ffb2 r' U2 l U2 r2 Ffb2(15)
r' U2 l F2 l' F2 r2 U2 r U2 r' U2 F2 r2 F2(15)
r' Uud2 r Uud2 l' F2 r2 U2 l U2 r' F2 U2 l2 U2(15)
r' Uud2 r Uud2 l' Ffb2 r2 Ffb2 Uud2 l' F2 r F2 l2 Uud2(15)
r' Uud2 l Ffb2 r' F2 r2 Ffb2 U2 r' U2 l F2 l2 Uud2(15)
r' Uud2 l Ffb2 r' F2 l2 F2 U2 l' U2 r Ffb2 r2 Uud2(15)
r' Uud2 l Ffb2 r' Ffb2 r2 Uud2 r F2 l' F2 U2 l2 U2(15)
r' Uud2 l Ffb2 r' Ffb2 l2 U2 l F2 r' F2 Uud2 r2 U2(15)
r' Uud2 l Ffb2 l' U2 l2 U2 Ffb2 r' Ffb2 l Ffb2 r2 Uud2(15)
l' F2 r U2 r' U2 l2 F2 l F2 l' F2 U2 l2 U2(15)
l' F2 l F2 r' F2 r2 U2 l U2 r' F2 U2 l2 U2(15)
l' F2 l F2 r' Ffb2 r2 Ffb2 Uud2 l' F2 r F2 l2 Uud2(15)
l' Ffb2 r Uud2 r' F2 r2 F2 Uud2 l' Uud2 r Uud2 l2 Ffb2(15)
l' Ffb2 r Uud2 l' U2 r2 U2 F2 r' F2 l Uud2 l2 Ffb2(15)
l' Ffb2 r Uud2 l' U2 l2 Uud2 F2 l' F2 r U2 r2 Ffb2(15)
l' Ffb2 r Uud2 l' Uud2 r2 F2 r U2 l' U2 Ffb2 l2 F2(15)
l' Ffb2 r Uud2 l' Uud2 l2 Ffb2 l U2 r' U2 F2 r2 F2(15)
l' Ffb2 l Ffb2 r' U2 l2 F2 r F2 l' U2 F2 r2 F2(15)
l' Ffb2 l Ffb2 r' Uud2 l2 Uud2 Ffb2 r' U2 l U2 r2 Ffb2(15)
Ffb2 r Uud2 l' Uud2 l U2 r2 U2 Ffb2 r Uud2 r' Uud2 r2(15)
Ffb2 l Ffb2 r' U2 r Uud2 r2 Uud2 Ffb2 r Ffb2 r' U2 l2(15)
Ffb2 l Ffb2 r' U2 r Uud2 l2 U2 Ffb2 l Ffb2 l' Uud2 r2(15)
Ffb2 l Ffb2 r' U2 l Ffb2 r2 Ffb2 U2 l U2 l' U2 l2(15)
Ffb2 l Ffb2 l' Ffb2 r U2 r2 U2 Ffb2 r Uud2 r' Uud2 r2(15)
Ffb2 r2 U2 r' F2 l F2 Uud2 l2 U2 l Uud2 r' Ffb2 l(15)
Ffb2 r2 U2 l' U2 r Ffb2 Uud2 l2 Uud2 l U2 r' U2 r(15)
Ffb2 r2 Uud2 r F2 l' F2 U2 l2 U2 r' Uud2 l Ffb2 r'(15)
Ffb2 r2 Uud2 l Uud2 r' Uud2 F2 l2 F2 l' Uud2 l Ffb2 r'(15)
Ffb2 l2 U2 r U2 l' Ffb2 Uud2 r2 Uud2 l' Ffb2 r Ffb2 r'(15)
Ffb2 l2 U2 l F2 r' F2 Uud2 r2 U2 r' Uud2 l Ffb2 r'(15)
Ffb2 l2 Uud2 r' Uud2 l Uud2 F2 r2 F2 r Uud2 r' Ffb2 l(15)
Ffb2 l2 Uud2 l' F2 r F2 U2 r2 U2 l Uud2 r' Ffb2 l(15)
Ffb2 r' Ffb2 r Ffb2 l' U2 l2 U2 Ffb2 l' Uud2 l Uud2 l2(15)
Ffb2 r' Ffb2 l U2 r' Ffb2 l2 Ffb2 U2 r' U2 r U2 r2(15)
Ffb2 r' Ffb2 l U2 l' Uud2 r2 U2 Ffb2 r' Ffb2 r Uud2 l2(15)
Ffb2 r' Ffb2 l U2 l' Uud2 l2 Uud2 Ffb2 l' Ffb2 l U2 r2(15)
Ffb2 l' Uud2 r Uud2 r' U2 l2 U2 Ffb2 l' Uud2 l Uud2 l2(15)
Uud2 r Uud2 r' Uud2 l F2 l2 F2 Uud2 l Ffb2 l' Ffb2 l2(15)
Uud2 r Uud2 l' F2 r Uud2 l2 Uud2 F2 r F2 r' F2 r2(15)
Uud2 r Uud2 l' F2 l Ffb2 r2 F2 Uud2 r Uud2 r' Ffb2 l2(15)
Uud2 r Uud2 l' F2 l Ffb2 l2 Ffb2 Uud2 l Uud2 l' F2 r2(15)
Uud2 l Ffb2 r' Ffb2 r F2 l2 F2 Uud2 l Ffb2 l' Ffb2 l2(15)
Uud2 r2 F2 r U2 l' U2 Ffb2 l2 F2 l' Ffb2 r Uud2 l'(15)
Uud2 r2 F2 l F2 r' Uud2 Ffb2 l2 Ffb2 l' F2 r F2 r'(15)
Uud2 r2 Ffb2 r' U2 l U2 F2 l2 F2 r Ffb2 l' Uud2 r(15)
Uud2 r2 Ffb2 l' Ffb2 r Ffb2 U2 l2 U2 l Ffb2 l' Uud2 r(15)
Uud2 l2 F2 r' F2 l Uud2 Ffb2 r2 Ffb2 l Uud2 r' Uud2 r(15)
Uud2 l2 F2 l' U2 r U2 Ffb2 r2 F2 r Ffb2 l' Uud2 r(15)
Uud2 l2 Ffb2 r Ffb2 l' Ffb2 U2 r2 U2 r' Ffb2 r Uud2 l'(15)
Uud2 l2 Ffb2 l U2 r' U2 F2 r2 F2 l' Ffb2 r Uud2 l'(15)
Uud2 r' Ffb2 l Ffb2 l' F2 r2 F2 Uud2 r' Ffb2 r Ffb2 r2(15)
Uud2 l' Uud2 r F2 r' Ffb2 r2 Ffb2 Uud2 r' Uud2 r F2 l2(15)
Uud2 l' Uud2 r F2 r' Ffb2 l2 F2 Uud2 l' Uud2 l Ffb2 r2(15)
Uud2 l' Uud2 r F2 l' Uud2 r2 Uud2 F2 l' F2 l F2 l2(15)
Uud2 l' Uud2 l Uud2 r' F2 r2 F2 Uud2 r' Ffb2 r Ffb2 r2(15)
 
Last edited:

Lucas Garron

Administrator
Joined
Jul 6, 2007
Messages
3,718
Location
California
WCA
2006GARR01
YouTube
Visit Channel
It's compiling fine, but I'm not sure it's running correctly...

Could you give us a bunch of test inputs, maybe even some test files to pipe in?

Anyhow, this leeks like it could be amazing. :)
 

clement

Member
Joined
Sep 19, 2007
Messages
74
WCA
2004GALL02
You can pipe this for solving the OLL Parity :

G(13)WWGWGGW(13)R(16)B(16)O(16)Y(16)
Y
f f' f2 b b' b2 u u' u2 d d' d2 U U' D D' L L' L2 R R' R2 F F' B B' end

For solving case 3 in http://frederickbadie.free.fr/444PLLparity.html in <R2, r2, L2, l2, F2, f2, B2, b2, U, u2, D, d2> :

G(16)WRRW(13)RYYR(13)B(16)O(13)WWOY(13)OOY
Y
f f' b b' d d' u u' r r' l l' R R' L L' F F' B B' end
 
Last edited:

masterofthebass

Premium Member
Joined
May 13, 2007
Messages
3,923
Location
Denver, CO
WCA
2007COHE01
YouTube
Visit Channel
Odd, I just tried:

G(6)WG(9)W(6)GW(9)R(16)B(16)O(16)Y(16)

(just 2 centers. Ubr<->Fur)

The optimal alg is probably
r U' l' U r' U' l U(8)

but this program only found
r U' r l' r' U r' U' l U(10)

Granted, it was the first solution it found, but it seemed like the solutions were increasing as the depth increased, so I just assumed it found the optimal solution first.
 

clement

Member
Joined
Sep 19, 2007
Messages
74
WCA
2004GALL02
Is there any formula you can supply for estimating the depth, based on the turns you allow and the amound of memory?
Yes, in v3.

And also, this program is just begging for a GUI. Right now it is just a geek toy ;)
Yes, in v3 :)

The optimal alg is probably
r U' l' U r' U' l U(8)

but this program only found
r U' r l' r' U r' U' l U(10)

I guess it's because the optimal solution was too short. The program starts with solutions 2 + the max distance of the hash table.
 
Last edited:

cubacca1972

Member
Joined
Jan 3, 2009
Messages
147
My Linux is a bit rusty. How do I compile and run this program?

Terminal.
Code:
$ cd [whatever]
$ make
.
Funny you should ask. I just asked Clement yesterday ;)

Hmm..

Ok, so cd [where I put the file]

what exactly do I type after make?

I just end up with the same prompt I wound up with after doing the cd [whatever] command.

Sorry to be so dense, but my Linux is really really rusty.
 
Last edited:

blah

brah
Joined
Dec 30, 2007
Messages
2,139
Location
.
Nothing. I just typed make. And it worked :confused:

You've gotta type cd yadda/yadda/yadda/blah/blah/blah/optimal444. It's gotta end with optimal444.

I know next to nothing about Linux or CLI by the way :p
 

cubacca1972

Member
Joined
Jan 3, 2009
Messages
147
Grrr!

Now it just says:

Nothing to be done for 'all' .

after I type make.

What am I doing wrong?
 
Top