Rubik's Revenge
Introduction
Rubik's Revenge is a 4x4x4 version of a Rubik's cube. There are
strong similarities between the 4x4x4 version and the traditional 3x3x3
cube, but there are also several important differences. Perhaps
the most important difference is that on the 3x3x3 cube the centers
always had a fixed relationship with respect to one another. In
the 4x4x4 version, there is no such relationship.
This page summarizes some of the techniques I use for solving the
Rubik's 4x4x4 cube. It is not a step-by-step walkthough of a
solution.
Notation
The cube has six faces, which will be called Up, Down,Front, Back, Right, and Left. Turning a face 90
degrees clockwise is represented by the first letter of the face's name,
in upper case. For example, "R" means to turn the right face 90
degrees clockwise (such that the front right pieces become the top right
pieces). The inner slices are represented by lowercase letters for
the face that they are closest to. For example "r" means to turn
the layer just inside of the right face. A letter followed by a
tick mark means to turn the face counter clockwise by 90 degrees (e.g.
R'). A letter followed by the number 2 means to turn it twice (180
degrees). Parentheses are sometimes uses to group moves together
for easier readability.
Corner pieces are refered to by their three face names, for example UFR
is the top-right corner on the front face. Edge names are composed
of two faces and an inner slice, for example UFr and URl are the two
pieces on the upper front edge. Middle pieces are identified by a
single face and two inner slices, for example the four center pieces for
the front face are Fur, Ful, Fdr, and Fdl.
Conjugation
I prefer to use a small number of simple general purpose operators as
opposed to memorizing a large variety of specialized ones. One
technique for making general operators even more useful is conjugation.
First, it is useful to define the inverse
of an operation. Simply put, and inverse just undoes the
operation. The inverse of a single twist is twisting the same face
(or layer) in the opposite direction. For example, R' is the
inverse of R and u is the inverse of u'. For a sequence of twists,
you must go through the steps in reverse order, and use the opposite
direction for each twist. For example, the inverse of U R is R'
U'. One thing to keep in mind is that 180 degree twists are their
own inverses (the inverse of R2 is R2). If you perform a sequence
of twists - no matter how complex - and then perform the inverse of that
sequence, the cube will be restored to the exact state it was in before
you started.
Let's say you have a useful sequence called Y that flips the UF and UB
edge pairs without altering anything else on the cube. What if you
need to flip some other two edge pairs? As long as you don't care
about scrambling the rest of the cube, it is proably pretty easy to move
the desired edge pairs to UF and UB. Let's call this sequence of
moves X. Now consider what would happen if you did X Y X'
(where X' is the inverse of X). First you move the desired edges
to UF and UB, but mess up the rest of the cube. Then you flip UF
and UB while leaving the messed up portions perfectly intact.
Finally you do X' which moves the desired edge pairs back to their
original location and also unscrambles the rest of the cube.
Creating sequences of the form XYX' is called conjugation and is a
powerful technique.
Treating 4x4x4 as a 3x3x3
If you already know how to solve the 3x3x3 cube, then it is tempting to
use the same techniques on a 4x4x4 cube. The first step is to get
the centers correct. This is actually pretty easy since you can
mess up the corners and edges as much as you want. Be careful to
put the colors in a legal arrangement. It is very helpful to
always keep in mind the colors that are supposed to be on opposite
sides. It can also be helpful to place a corner or two as you are
working on the centers just to make sure that the colors line up
properly.
The second step is to get the edges paired up. I like the
following operator since it rotates three edge pieces without disturbing
anything else:
edge-3-cycle: r (U' R U) r' (U'
R' U)
This will cycle (DFr UFr FRu). If you put one half of an
edge-pair in UFl and the other half in DFr, then after the edge-3-cycle, the UF edge pair will
be matched. If you are also fortunate enough to be able to move
the piece that matches UFr to FRd, then you will get a second matched
edge pair at FR. Generally I don't worry too much about matching
two pairs at once, I just keep placing matched edges at UFr and FRd and
any other unmatched edge at FR. Once you get down to 3 unmatched
edges you need to carefully line them up so that the edge-3-cycle will solve all three
edges at the same time. If you accidentally go too far an have
only 2 unmatched edges, then you'll need to ruin one of the matched ones
to create 3 unmatched pairs.
Now the cube can almost be solved like a 3x3x3. As long as you
only use face moves, the centers will remain intact and the edges will
remain paired. Pick your favorite 3x3x3 cube algorithm and get
started. About 1/4 of the time everything will be fine. The
other 3/4 of the time you will run into one or both of the following
parity problems:
1) A single edge-pair is "flipped". This is something that never
happens on a 3x3x3 - edge flips must always occur in pairs. But in
the 4x4x4 cube it is possible to swap two edge pieces, which is the
equivalent of flipping the edge-pair. The following operator flips
the UF edge pair: (R2 r2 B2) (U2 l U2 r' U2 r U2 F2 r F2 l' ) (B2 r2
R2). The real work is done by the middle sequence (U2 ... l'),
which swaps UFl and UBl but has a side effect of exchanging some centers
as well (Ufr and Ubr are exchanged with Dfl and Dbl). The prefix
and suffix sequences move UFr to UBl and also make the center swaps
harmless.
2) Two edge-pairs have been swapped. This is also impossible on a
3x3x3 cube, but happens on the 4x4x4. A nice edge pair swap
operator is (U2 u2 R2 r2 U2) r2 (U2 r2 R2 u2 U2) which swaps the UF and
UB edge pairs. This operator isn't as complicated as it looks
since U2u2 and R2r2 can be done at the same time by turning the upper or
right half of the cube. The actual edge exchange happens in the
middle r2 move, which swaps to pairs of edges and 4 pairs of centers,
but the prefix and suffix insure that the center swaps are harmless.
Depending on your 3x3x3 algorithm (specifically, if you solve corners
after edges), you may find that the entire cube is solved except for a
single pair of corners that needs to be swapped. This is actually
equivalent to case #2 above. Give the face with the two corners a
single turn, then you should be able to use standard 3x3x3 moves to
cycle the corners as necessary. You will also be able to fix two
of the edges, but two edge pairs will still need to be swapped.
The parity fix for #1 is a bit unintuitive, and I prefer algorithms
that I understand deeply enough to be able to reconstruct them without
memorization. An alternative to fixing the parity problems is to
give a single inner layer one turn. This will change the edge swap
parity back to even, allowing you to fix all of the edges with the edge-3-cycle. The only problem
is that 8 center pieces are now wrong. Fortunately it is pretty
easy to move center pieces around without disturbing edges and
corners. If you want to swap Ubr and Ubl with Fur and Fdr, you can
use:
double-center-swap: U2 b' u'd b
U2 b' u d' b
A Different Solution
I found the parity problems to be somewhat tedious to fix.
There's another approach to solving the cube that avoids the parity
problems by leaving some inner slice operations until near the
end. The process I use is as follows:
- Solve the top and bottom centers.
- Solve the top and bottom corners (use the same techniques as for
a 3x3x3 cube)
- Turn the cube so that now the two solved centers are left and
right. Use the edge-3-cycle
(or its mirror and/or inverse) to place edges from the r and l layers to
the R and L layers. If you need to make edges cross over from the
l to r layers, do (F2 R2 L2 B2 R2 L2), which leaves the R and L layers
intact but moves all edges from the r layer to the l layer and vice
versa. Once you are finished with this step both the R and L
layers should be completely solved.
- The next step is to place the edges in the l layer while leaving
R and L intact (but messing up r). The general operation I use is
to move UFl to UFr using (F2 r' F2 r2 F2 r F2)
- Solve the edges in the r layer. Usually it is possible to
turn the r layer such that one edge is correct and the other three can
be placed using the edge-3-cycle
(using conjugation). In some cases, two pairs of edges need to be
exchanged, which I usually solve by doing two conjugated edge-3-cycles.
- The only thing left to do is fix the centers. I usually use
variations of
- double-center-swap: U2
b' u'd b U2 b' u d' b (use to exchange Ubr/Ubl with Fur/Fdr)
- single-center-swap: U2
b' u' b U2 b' u b (use to exchange Ubl with Fur)
- double-center-3-cycle:
r2 u2 r2 u2 (Fdr->Bur->Ful, Bdr->Fur->Bul) This one
is actually quite useful when Ful and Bul are correct, and Fdr/Fur need
to be swapped with Bdr/Bul. Since the centers are
interchangeable, this operator will have an effect similar to a
double-center-swap.