This post is part of Month to Master, a 12-month accelerated learning project. For January, my goal is to solve a Rubik?s Cube in under 20 seconds.

When I first described how I solve a Rubik?s Cube, I alluded to the fact that some parts of the cube can be solved using a set of 78 algorithms, but I didn?t say much further.

Today, I?ll explain the fundamentals.

## What is a Rubik?s Cube algorithm?

Simply, an algorithm is a set of pre-determined moves that, when properly executed, accomplish a specific task (i.e. ?move these particular pieces on the cube into this particular configuration without moving/messing up these other pieces?).

The most common way to express a Rubik?s Cube algorithm is using Basic Notation, which is depicted below.

Under the Basic Notation scheme, R means ?turn the right face of the cube clockwise?. R? (R prime), means ?turn the right face of the cube counterclockwise?. And so on, with F = front; B = back; L = Left; R = Right; U = Up; D = Down.

A full algorithm may look like this: F R U R? U? F?

## When can you use Rubik?s Cube algorithms?

Once you solve the first two layers of the cube, you enter the algorithm-based portion of the solve, which is focused on solving the last layer.

Here?s what the cube looks like at this point.

To solve the remaining part of the cube, you must execute two classes of algorithms.

The first class of algorithms is called Orient Last Layer (OLL), which solves the top face of the last layer.

There are 57 different algorithms to solve each of the 57 possible patterns.

The second class of algorithms is called Permute Last Layer (PLL), which solves the rim of the last layer (and, as a result, the entire cube).

There are 21 PLL algorithms.

## Which algorithms should I learn?

To solve the cube, you only need to know four OLL algorithms and four PLL algorithms. But, to solve the cube fast, you need to know as many as possible.

Since I don?t think I can learn all 78 this month, I need to determine which subset to study. Tomorrow, I will finish figuring this out and will write about it.

## How should I optimally practice algorithms?

This another question I haven?t yet answered.

Once I determine my target algorithms, I?ll experiment with some training ideas, and share out what I find.

Read the next post. Read the previous post.