Part of pset6 of MIT OCW 6.006 Fall 2011.
Solves a rubik's cube using a two-way BFS.
The 'rubik.py' file abstracts a real life 2X2X2 rubik's cube to a permutation (a Python list).
The 'solver.py' file solves a rubik's cube. It takes two positions, and returns a list of moves that is a shortest path between the two positions.