Rubik’s Group and the solution to the cube

The main technical point here is that we can move any three edge cubies to any three edge cubicles, and the same for corners. I don’t mean that we can do this without affecting the rest of the cube. Just take any three cubies and pick three places you want them to be, and there’s a maneuver that puts them there, possibly doing a bunch of other stuff to other cubies. I’ll let you play with your cubes and justify this assertion yourself.

A slightly less important point is that we only need to consider even permutations of corners or edges. We know that the edge and corner permutations are either both even or both odd. If they’re odd, twist one side and now they’re both even.

Now, let’s solve the edge group. The maneuver
has effect , flipping two edge cubies, while the maneuver
has effect , performing a cycle of three edges. This is all we need, because -cycles are enough to generate all even permutations, and one 3-cycle gives us all of them. Similarly, being able to flip two edges gives us all edge flips with zero total flipping.

How does this work? First, forget the orientation of the edges and just consider which places around the cube they’re in. This is some even permutation from the solved state, so it’s made up of a bunch of cycles of odd length and pairs of cycles of even length. Consider an odd-length cycle . If we compose this with the -cycle , we get . This is again an odd-length cycle, but two shorter. If we keep doing this we can shrink any odd cycle down to a -cycle. On the other hand, we have the composition , so we can build a pair of -cycles from -cycles. We can use these to shrink a pair of even-length cycles into a pair of odd-length cycles, and then shrink those into -cycles. In the end, every even permutation can be written as a product of -cycles.

And now since we can move any three cubies anywhere we want, one -cycle gives us all of them. Let’s pick three — say , , and — and a maneuver that sends to , leaves alone, and sends to . Such a maneuver will always exist, though it may mess up other parts of the cube. Now conjugate by . We know what conjugation in symmetric groups does: it replaces the entries in the cycle notation. So the maneuver has the effect , and we can do something similar to make any -cycle we might want. So we can make any even edge permutation we want, and adding a twist makes the odd permutations.

The same sort of thing works for edge flips. Take any pair of edges you want to flip, move them to and , flip them with , and move them back where they started. We can make any flips we need like this.

Together what this says is that the edge group of the Rubik’s cube lives in the wreath product of and : twelve copies of for the flips, permuted by the action of . Specifically, the edge group is the subgroup with total flip zero. We call this group , and we know as a subgroup of order .

A very similar argument gives us the corner group. The maneuver
has the effect , twisting two corners in opposite directions, while
has the effect , performing a -cycle on the corners. Conjugations now give us all -cycles, and these make all even corner permutations, and turning one more face makes all corner permutations. Conjugations also can give us all corner twists with zero total twist. This gives the corner group as a subgroup of order .

Putting these two together we get the entire Rubik’s Group as a subgroup of order . Here it’s a subgroup because we can only use maneuvers with the edge and corner permutations either both even or both odd, not one of each.

This result gives us an algorithm to solve the cube!

First, pick the colors of the face cubies to be on each side.

Then write out the maneuver that will take the scrambled cube to the solved one in cycle notation. If the edge and corner permutations are odd, twist one side and start again — now they’ll both be even.

Now write the edge permutation as a product of -cycles, and make each -cycle by conjugating by an apropriate maneuver.

Do the same for the corner permutation, using as the basic piece.

Write down how each edge and each corner needs to be flipped or twisted. Make these flips and twists by conjugating and .

That’s all there is to it. It’s far from the most efficient algorithm, but it exploits to the hilt the group theory running through the Rubik’s Cube. You should be able to apply the same sort of analysis to all sorts of similar puzzles. For example, the cube is just the corner group on its own. The Pyraminx uses a simpler, but similar group. The Megaminx is more complicated, but not really that different. It’s just group theory underneath the surface.

Share this:

Like this:

Related

Nice treatment. I made some comments in this direction to a high-school student who e-mailed me from Turkey. He wanted to do a project on how to use group theory to solve Rubik’s Cube. They teach group theory in high school? Who knew? Anyway, I asked for feedback, but I haven’t heard anything.

There’s also the question of where the magic operators e_F, e_3, c_T, and c_3 come from.

e_F is a conjugate of [UD^{-1}RUD^{-1}, FUD^{-1}LUD^{-1}B].
e_3 can be seen as a commutator in the group that includes movement of the whole cube in space.
c_T is [R^{-1}D^2R, B^{-1}U^2B].
c_3 is [R^{-1}DR, U].

The idea is that if we consider the support of an operator to be the set of pieces that are not fixed, then it’s immediate that operators with disjoint support commute, and only a little more tricky to see that operators whose supports intersect very little have simple commutators. I don’t know if this has been formalized anywhere.

I (or was it Jim Saxe?) used something like this for an “f_T” operator that twists one face-center ninety degrees clockwise and another face-center ninety degrees anticlockwise. You can’t conjugate it by anything except whole-cube moves, but that’s enough to solve the face centers, almost. You also need a magic one-hundred-eighty-degree face-center process we got from Singmaster.

By the way, in the paragraph that begins “Together” you use S_12 three times, and you should use S_{12}.

[…] Construction of Root Systems (setup) Now that we’ve proven the classification theorem, we know all about root systems, right? No! All we know is which Dynkin diagrams could possibly arise from root systems. We don’t know whether there actually exists a root system for any given one of them. The situation is sort of like what we found way back when we solved Rubik’s magic cube: first we established some restrictions on allowable moves, and then we showed that everything else actually happened. […]

[…] first permutation to move everything back where it started from. In fact, this is a lot like what we saw way back with the Rubik’s cube, when dealing with the edge group. We can effect whatever […]

About this weblog

This is mainly an expository blath, with occasional high-level excursions, humorous observations, rants, and musings. The main-line exposition should be accessible to the “Generally Interested Lay Audience”, as long as you trace the links back towards the basics. Check the sidebar for specific topics (under “Categories”).

I’m in the process of tweaking some aspects of the site to make it easier to refer back to older topics, so try to make the best of it for now.