20080420

Notation

In this post I'll describe my generalized notation for twisty puzzles. I might stray from this notation at times but I think this does a pretty decent job of describing moves for puzzles. There are a few levels of notation built on each other, and although it might seem overcomplicated most applications of this (such as writing down specific algorithms) only use simple features of it: for example, the well-known Sune algorithm for the 3x3x3 is still written R U R' U R U2 R'.

Not all of this will necessary make sense or seem useful to you now. However, if I use some notation that you are not familiar with, it would be helpful to come back to this post as a reference.

First you give each face of your puzzle a letter (or more than one if you are careful about it). Fortunately, for algorithms on dodecahedral and icosahedral puzzles, you usually don't have to label all of the faces. The standard naming for cubical puzzles, which you have probably seen before if you are into speedsolving, is to call the faces U (for the upper face), D (for the down face), F (for the front face), B (for the back face), R (for the right face), and L (for the left face). Typically if you see three faces in a shot of a cube they are assumed to be U, F, and R. I'll assume that you know what faces I am using when I talk about cubical puzzles, but if I am discussing a different puzzle I'll probably describe how I am naming faces or at least make it so that you can determine the meanings from context.

Now you can label the axes that you turn pieces around. There are three types of axes: faces, edges, and corners. Check out the puzzles at gelatinbrain if you aren't entirely sure what this means; the most common puzzles with various axes are the Rubik's Cube (face), Bevel/Helicopter Cube (edge), and Pyraminx (corner). Face axes are labeled by their face, edge axes are labeled by the two faces they touch, and corner axes are labeled by the three faces they touch; the face's names can be in any order, but they should not have spaces between them. This means that if you see an axis label (say UF on a 3x3x3) you should be able to quickly determine what type of axis it belongs to, so this notation can still handle puzzles with more than one type of notation.

Finally, we get to the turns themselves. Turns are all around an axis, so you should modify the following basic types of turns based on the axis. For the examples I'll use the axis UR. We're going to suppose there is more than one slice around the axis (like in big cubes) for the purpose of the notation. Label the slices with integers starting at 1 for the outermost slice and ascending as you move deeper into the puzzle. There are five types of moves; all moves are clockwise turns as seen from a vantage point outside the puzzle.
- 3UR is a clockwise turn around the UR axis, turning the 3rd slice only (a slice turn). If the number is 1 (1UR) then it is allowed to just omit the 1, since this is a very common type of move.
- 3ur is a clockwise turn around the UR axis, turning all slices up to the 3rd slice (a block turn). If the number is 2 (2ur) then it is allowed to omit the 2, since this is the smallest block turn that can't be just written as a slice, and is also very common.
- 2-4ur is a clockwise turn around the UR axis, turning slices from the 2nd to the 4th (a block turn). This isn't a common type of move, but it's useful for writing patterns in block turn metric.
- *ur is a clockwise turn around the UR axis, turning basically half of the slices on the UR axis (and its opposite axis) rounded down. On a 4x4x4 or 5x5x5 cube this would be 2 slices; on a 6x6x6 or 7x7x7 it would be 3. Note that since it is lowercase it should be a block turn. This is useful for writing algorithms in a more general form.
- cUR is a clockwise cube rotation around the UR axis. Note that it's unambiguous because having lowercase and uppercase letters together is unique. Observe that sometimes we might need cube rotations around axes that you can't turn; for example on a 3x3x3 cube sometimes a rotation like cURF is useful.

Separate moves should always be written with spaces separating them. A group of moves can be enclosed with parentheses (i.e. ( and )). You can modify a move or a group of moves by putting a number after it (to indicate it is to be done that many times) or a ' (to indicate that its inverse is to be performed instead). Thus combinations such as 3UR' and r2 are possible. If we want to use both of these, either R2' or R'2 is acceptable, but personally I will tend to use R2' because I like it more.

Rarely, in generalized patterns or commutators, variables are needed to show that any slice or any amount of turn can be used. Typically any letters that are not in use to describe axes are acceptable. As in the notation we have already seen, if a variable is placed before the axis name (such as nr) it describes a slice number, and if a variable is placed after (such as Rx) it describes a number of times a turn should be done.


Finally, I'd like to say that it's true that this notation differs a bit from the conventional notation, especially when it comes to large NxNxN puzzles (bigcubes, that is), but I think that it is better generalizable to other puzzles and more consistent than the standard notation. Moves such as (rm') or Rw, as written in standard notation, are difficult to expand to different puzzles and often unwieldy. I hope my notation is reasonable enough to be understood by most visitors here.

No comments: