RightPrime

Many years ago now my friend’s son asked us if we could solve a Rubik’s Cube what with us being “from the 80’s” and all. Well no we couldn’t.. but now it’s SO ON!

This began an enduring interest in the Rubik’s Cube that has seen me attend (but not compete in) live world championship speedcubing events, attain a sub 60 second average solve time and… write LOTS and LOTS and LOTS of code relating to Rubik’s Cube.

Amongst this code was an Android Cube Solving application that took much of the spare time of 2 whole years to create. I was so fatigued by the whole experience (Android Dev was quite clunky back then) that when Google removed the app from playstore I just shrugged. The reasons for it’s removal and my general experience of being an android app developer could be the subject of 10 blogs, but suffice it to say that for the vast majority of people it’s a Sisyphean ball-ache.

Anyway I had cause recently to think about this app and I wondered whether the dev tools, or Google’s attitude to developers had improved any over the years. So I downloaded the new version of Android Studio, pointed it at my old project and BAM it just built first time. That might not sound impressive, but 6 years is a VERY long time in the world of software.

As apparently is the case with childbirth I have long since forgotten the pain so I decided to re-publish the app.

RightPrime

Let’s hope this doesn’t get taken down again..

The simplest method of solving the rubiks cube

I learned to solve the cube using the ‘beginners method’ as outlined here by Badmephisto.
But it turns out that even this is slightly over complicated.

And it is over complicated for historical reasons:

The cube is now ‘solved’. That is, there is a well understood set of mathematical tools (Group Theory) which can tell you with certainty the most efficient way to get the cube from any one state to any other state. People like Sir Roger Penrose have hammered all of this out. And you can get software which uses this mathematics to provide useable tools for creating solves.

Furthermore, we have several ‘methods’ which use findings from this mathematics to create easy to follow processes for solving the cube quickly. The most famous of which is called the ‘Friedrich’ or (CFOP) method.

But way back in the beginning (1978-ish) none of this existed and yet cubes were being solved.

This was done by individuals discovering their own ‘commutators’ (as outlined here by everyone’s favourite German/Australian Mathematician). ‘Commutators’ are what are usually called ‘algorithms’ in the Cubing community. That is they are a set of moves that alter the cube in a very specific way. Often ‘algorithms’ are a set of moves that only affect a very narrow portion of the cube, and in some cases can be repeated over and over until eventually arriving back where they started.

As a simple example just turn the top face of the cube 90 degrees clockwise, when you have done that four times you will be back where you started.

Nowadays these algorithms are derived directly from group theory solutions to the cube. But in the early days of cubing you were considered something of a hero if you discovered a useful commutator!

To be a competitive speed cuber with a chance of a world record you will need to know over 200 of these algorithms, but to just ‘solve a cube’ you only actually need 3. And the accepted beginners method tries to gives you something more like 10.

It turns out that you can get the cube 70% solved just using pretty ordinary thinking. I’m not going into any detail here, but you can solve the first two layers of the Rubiks cube without ANY algorithms using a technique called ‘slotting’.

This leaves you with OLL and PLL (see the badmephisto pages above). For the OLL for which you only need one algorithm :

R U R' U R U2 R'
. The idea is that you just keep running that algorithm until the OLL is solved (occasionally rotating the top face before running the algorithm).

Once the OLL is solved the PLL can be solved with only two algorithms. The first is run until we get ‘headlights’

R' F R' B2 R F' R' B2 R2
and the second is run to finally solve the cube
(R U') (R U) (R U) (R U') R' U' R2

Of course this will all make zero sense to an absolute beginner, but these are the only 3 algorithms you actually need to solve a cube. The rest can be done just simply with ordinary human brain power.