Today I will focus on theory of scrambling algorithms which will be needed during writing generator of scramble algorithms.

Generator will be implementing in future article which will appear soon.

Article also available in Polish version.

## Notation description

There are few notation which are used to write cube moves down. The one which is the most popular is notation invented by David Singmaster where letters correspond to English names of cube faces.

All of moves that are necessary to modifying cube settings are listed below:

- U – move of up face
- D – move of down face
- F – move of front face
- B – move of back face
- R – move of right face
- L – move of left face

Each of listed moves means move of face clockwise. If you need to write anticlockwise move you need to use apostrophe (‘).

You can also move face of cube two times which should be written by adding number 2 to letter of face.

Example scramble algorithm we can write as follow:

`R' F R' B2 U B2 L' D' R B2 D R F' R2 D F D2 B D' F L B D' L' D`

and cube which has been scrambled by one looks like:

Scramble algorithm usually has 25 moves, although nothing stands in the way to be more of them.

## Avoiding of shortening movements

While we generate scramble we need to remember about two issues.

First of all, you shouldn’t move multiply the same cube face.

Example is shown below with multiply using of F face.

`R' (F F F' F2) R' F R' B2 U B2 L' D'`

This move doesn’t make that cube is scrambled better because it’s possible to cut this series of moves to one move such:

`F'`

Second issue concerns moving faces which are parallel. I listed example below:

`R' (F B F2 B2 F') R' F R' B2 U B2 L' D'`

These moves don’t have part of common and they don’t overlap each other. That’s why this series can be easily cut to:

`F2 B'`

## What next?

Today we learnt theory which are necessary to implement scramble generator in proper way. In next article form this series, which will appear in next week we will implement one starting of course from tests.