The Rubik's Cube is a puzzle originally designed by Ernő Rubik in the 1970s. It consists of a 3x3x3 cube formed of smaller cubes. Each face of the cube is given a different colour, and also turns independently. Despite this simple concept, it forms a very complicated puzzle, and without a good strategy it is very difficult to restore a scrambled cube to the solved state.
The problem of solving a Rubik's Cube is very interesting, as with no guidance it seems near impossible due to the sheer amount of possible states (over 4.3 * 1019) however it is also possible for someone to learn to solve the cube in just a few seconds. A similar thing happens with regards to writing a computer solver, the smaller 2x2 cube can be easily brute forced as there are only a few million cases. A 4x4 cube on the other hand has never had an optimal solver written for it, as this is too computationally difficult. The original cube, the 3x3 sits in between these two problems it is possible to optimally solve, but this is a non-trivial task. My 3x3 optimal solver is written in C, and averages around 55 seconds to optimally solve a single cube state.
I currently solve the cube using the CFOP method. I originally learnt this in 2018, and regularly practise in order to improve my times. I can currently solve the cube in an average time of around 17 seconds and have competed in two official WCA competitions achieving a best single time of 13.21 seconds and a best average of 5 time of 17.24 seconds.
My WCA Profile