Specialized 2x2x2 solver

MHordecki

Regular
Joined
Jun 21, 2008
Messages
44
WCA ID
2008HORD01
Hi!

I think the subject is self-explanatory: recently I've been working on specialized application for generating 2x2x2 algorithms.

To be more specific, is not a program, but a programming library, on top of which you can build your own solvers for a particular system/method/case etc.

It's still in the development (basically it's ready to use, documentation & examples need some love though), but I'd like to point some of it's features:
  • Speed: On my 4-year-old Athlon XP 2800+ 'fast' search works in 12 sec and 'exhaustive' in 45. There are still optimizations to be made, though.
  • Freedom: Ordinary solvers generate algorithms that move you from state A to state B (state B being usually the solved cube). My approach allows to define these two states completely freely. Example: expressing SS' last-FL-corner-OLL step is a breeze :)
  • Extensibility: The code totals ~2KLOC of C++ code and is well documented (at least it's gonna be ;) ).

I've got to test some features that are unlisted there, too.

What do you think about this? ;)
 
Actually it's implemented this way ;) (with some hacks to eliminate these symmetric/rotated cases caused by the lack of centers).

The code is completely generic (so it could be used with any puzzle; well, to be honest, using it with square-1 would require some readjustments).

The only drawback of my approach is that it relies on small number of possible cases - it's kinda brute-force approach, but surprisingly effective with 2x2x2 (which number of possible situations is ~3,5 million) .
 
Back
Top