Hi,
I am working on PocketCube solver (project wiki page here:
http://appdal.com/groups/36442/wiki/80aad/PocketCube_Solver_with_Pharo.html )
My latest version of this can generate classes that can recognize pattern of PocketCube.
If there is a PocketCubePattern subclass that matches current PocketCube it gets used to solve it.
If there is not, a new pattern subclass gets created on the fly, and continues to solve the PocketCube.
Watch the demo video below.
http://www.screencast.com/users/BaseballTeam/folders/Jing/media/d7db8f85-f8eb-4f0d-9bc6-ad4ecce822f1Best Regards