Message #2092

From: Brandon Enright <>
Subject: Re: [MC4D] About the number of permutations of MC4D calculating
Date: Mon, 30 Apr 2012 19:38:05 +0000

Hash: SHA1

On Mon, 30 Apr 2012 15:31:05 -0000
"" <> wrote:

> Today I tried to calculate the number of MC4D permutations. My answer
> is a half of what posted in the website
> . Does any one want to
> check the answer? I’m pretty sure about mine. And I see no mistake in
> the website solution.??

Well, I’ve aways taken the permutation calculation as gospel but I
decided to give it a go myself and I’ve arrived at the same result.

I find the sticker-based counting of permutations to be confusing so
I’ve done it piece-based. Here are my notes.

That is, there are:

* 8 centers with 192 "permutations" available. Fixing to one cancels
all re-orientation of the tesseract
* 24 face centers that can be in any permutation
* 32 3-color edges who’s parity is tied to the parity of the face
* 16 4-color corners that can only be in an even permutation

* 8 centers with 24 orientations available (only 1 visually distinct)
* 24 face pieces with 8 orientations available (only 2 visually
distinct ones)
* 32 3-color edges with 6 orientations available
* 16 4-color edges with 12 orientations available

The calculation is further complicated in that:
* The total "flip" of the 24 face pieces is even (the 24th orientation
is determined by the previous 23)
* The orientation of the 32nd 2-color edge can only be in half (3) of
the orientations.
* The first 15 corners can be in any orientation but the last corner
can only be in 1/3 (4) orientations.

Taking all of that into account there should be:
(24! * 2^23) * ((32! / 2) * (6^31 * 3)) * ((16! / 2) * (12^15 * 4))

Which matches nicely with the website.

The only "tricky" portion of the calculation is counting the
orientations for the last 3-color and the last 4-color piece. I can
create a macro to demonstrate how to put a single 3-color piece or a
single 4-color piece in these reduced orientations if you’d like.


Version: GnuPG v2.0.17 (GNU/Linux)