## PCPlus 298: Solving Rubik’s Cube

Ah, memories, memories. For September 2010’s issue I wrote about how to solve Rubik’s Cube, and it allowed me to revisit my days at Kings’, London, when I first came across the puzzle. Back in those days (and probably even now), the Maths Society at Kings had a fun weekend away in Windsor Great Park where we’d have talks about recreational mathematics. (Yes, I know, many people don’t think “recreational” and “mathematics” can be in the same sentence, but bear with me here.) Of course, it was an occasion for too much drinking and smoking and playing 3-card brag and staying up all night, but in 1979 we discovered a puzzle that pushed all that aside: Rubik’s Cube.

And, boy, was it addictive. We had Prof Singmaster (the author of the first book about Rubik’s Cube, and the person who laid down the naming convention for describing Cube moves) attend and he showed how to solve it using simple moves that could be repeated ad nauseam to eventually solve the Cube. He also showed how to speed up the Cube by disassembling it, sanding the internal sides a little and spraying with silicone spray to lubricate it. I practiced enough over the next few weeks that I could easily solve the Cube within two minutes, but never got better at it than that. These days, people are solving it within a few seconds, which is quite incredible.

In the article, I discuss various manual algorithms that have been devised since 1979. There’s Singmaster’s original, Fridrich’s (the one where you have to memorize 120 different moves), Marshall’s, and Petrus’. And then came the computer algorithms: Thistlethwaite’s and Kociemba’s. There is of course the ultimate algorithm known colloquially as God’s algorithm, but no one has found that yet.

Another aspect to God’s algorithm is how many moves does it entail to solve a thoroughly mixed up Cube? By simple counting arguments, it was shown early on that the lower bound is at least 18 moves. Coincidentally, just after I’d written this article, Rokicki, Kociemba, Davidson, and Dethridge proved that all cube positions could be solved with at most 20 moves (they used a computer program to essentially count them all).

Me? I’ve still got my original 32 year old Cube. It’s still as smooth and fast as ever, but I’ve now forgotten my moves. The muscle memory I’d achieved through those weeks of repetition has been lost. I now use an iPhone app to solve my Cube, although mine has the colors in the “wrong” order. It’s non-standard according to the prevailing color scheme so I have to remember to swap over two colors when entering the random Cube into the app. My wife bought me a wooden 30th Anniversary cube last year for Christmas and let’s say there’s no way it’ll ever be used in speed trials.

(Fascinating fact: Images of Rubik’s Cube are copyrighted. My editor at PC Plus, Alex Cox, had to apply for permission for us to use images of a Rubik’s Cube in the article. Fascinating fact 2: the images we used were generated by Alex from a POV-Ray template.)

This article first appeared in issue 298, September 2010.

You can read the PDF here.

(I write a monthly column for PCPlus, a computer news-views-n-reviews magazine in the UK (actually there are 13 issues a year — there's an Xmas issue as well — so it's a bit more than monthly). The column is called Theory Workshop and appears in the Make It section of the magazine. When I signed up, my editor and the magazine were gracious enough to allow me to reprint the articles here after say a year or so.)

Now playing:
Ferry, Bryan - Smoke Gets in Your Eyes
(from Another Time, Another Place)

#### No Responses

Feel free to add a comment...

##### Leave a response

Note: some MarkDown is allowed, but HTML is not. Expand to show what's available.

•  Emphasize with italics: surround word with underscores `_emphasis_`
•  Emphasize strongly: surround word with double-asterisks `**strong**`
•  Link: surround text with square brackets, url with parentheses `[text](url)`
•  Inline code: surround text with backticks ``IEnumerable``
•  Unordered list: start each line with an asterisk, space `* an item`
•  Ordered list: start each line with a digit, period, space `1. an item`
•  Insert code block: start each line with four spaces
•  Insert blockquote: start each line with right-angle-bracket, space `> Now is the time...`