Friday, December 26, 2008

rubik's cube - a layman's howto

I have, recently, picked up solving the Rubik's cube. The key reason I wanted to do that is that it brings you closer to the intuitively understanding 3 things -

1. Algorithms
2. 3D visualization and memory
3. Permutations

I figured out the first layer based on my hit and trial. This is relatively easy for 2 reasons -

1. You don't have to worry about disturbing any pieces that are already in their place.
2. The algorithms involved, because of point 1, are simple and easy to derive visually.

What you need after that is a higher level algorithm around which pieces need to get solved in what order. While there are many options out there you need to pick one that is relatively easy. In addition you need to standardize on some kind of notation for representing different faces of the cube and rotation directions.

I picked up one of the many higher level algorithm based on minimal research. I was impatient to get to solve the cube first and worry about optimizations later. The algorithm i picked is a layer by layer solution which further breaks into sub-steps. Then comes the mechanical step of memorizing and applying specific algorithms to achieve each of these sub-steps.

Ideally, I'd have loved to solve the cube all the way by deriving my own algorithms but I am not sure I am bright enough or patient enough to do that. It was too hard for me to get an intuitive feel of the cube without any guidance. I decided that the I will use an existing algorithm to understand the cube and its positions better and then create variants at each level to further optimize my efforts.

It is amazing how practicing existing algorithms give you a good intuitive feel of the behaviour of the cube, enabling you to derive other algorithms. I am now at 3 minute level for solving the cube and I think i will need 2 kinds of changes to get really better. I need a different higher-level algorithm and I need to improve my speed of execution. Right now my hand positions are not at all optimized and cube movements are very labored.

The great thing about the cube is that it fills in a lot of idle time that we have and don't put to great use like the wait at the doctor's office, sitting in a car while your wife is driving, waiting in the parking lot while your wife is shopping etc etc etc. I am very happy to be engaged in active mental calisthenics during this free time.

No comments: