Posts

Showing posts with the label rubiks cube

Further reflections on the Rubik's Cube

Image
  Visual metaphor and pun Since my previous  post I've been thinking a bit more about Rubik's Cubes.  I have been wondering what is the simplest way to represent their state mathematically, and by extension programatically. Configurations of the cube clearly form a group, so I set myself the goal of creating objects in python which would represent individual configurations and which could be multiplied together to form new objects.  For example, $I$ would represent an unscrambled cube, $L$ a cube obtained from $I$ by moving the left face clockwise, $U$ a cube obtained from $I$ by moving the upper face clockwise and $L*U$ the cube obtained by rotating the left face first and then the upper face. The question is: what is the most elegant representation for each of these objects?  I was initially drawn by the idea of labelling the stickers (other than the centre face ones) 1 to 48 and representing each object as a different permutation.  This makes multiplication very easy but ha

Rubik's Cube

Image
About 18 years ago a friend patiently explained to me how to solve a Rubik's Cube.  I memorized the instructions, but realized sooner or later I'd forget them.  So maybe a week later I wrote up my notes using dia , and printed them out .  Since then I've carried this same slip of paper around in my wallet, for those occasional opportunities when you're 'round someone's house and you spot a cube exhibiting a frustratingly high degree of entropy. It's still just about legible Each face of the cube is given a letter U - up D - down F - front B - back L - left R - right A single letter on it's own represents rotating the face 90$^\circ$ clockwise (looking at the face), and a letter followed by an apostrophe means rotate anti-clockwise.  Thus LL' is the same as doing nothing.  An exponent of 2 simply means do the preceeding action twice.  Below, I've split the sequences into subblocks with dashes to make them easier to memorize$^\dagger$. HOW TO SOLV