How many possibilities are there for the Last Layer?

But that's for the whole cube, we want the last layer. Wiki already covers the whole cube's explanation.
 
As others have indicated, the total number of last layer arrangements with respect to the first two layers is 4!*4!*(1/2)*(2^3)*(3^3) = 62208. There are four corners and four edges, so each of those sets of cubies can be arranged 4! or 24 ways. But the parity of the corners and the parity of the edges must be the same (if the first two layers are assumed solved) so that reduces the number of permutations by a factor of 2. There are 2^3 or 8 possible edge orientations, and 3^3 or 27 possible corner orientations. So 24*24*(1/2)*8*27 = 62208.

If you want to reduce this by cases that can be considered equivalent by use of AUF and/or symmetry, you need to partition the 62208 cases into classes of elements that are equivalent via applying an "AUF" and/or applying conjugation by elements of a symmetry group. Similarly antisymmetry may be used by also considering inverses of a position. It can be a lot of work to do this manually. It is easier to let a computer do it. The following GAP code will do this.

Code:
U := (1,10,7,4)(2,11,8,5)(3,12,9,6)(13,19,17,15)(14,20,18,16);
mir := (1,4)(2,6)(3,5)(7,10)(8,12)(9,11)(15,19)(16,20);
TwUFLURF := (1,2,3)(4,6,5);
FlUFUR := (13,14)(15,16);
swc01 := (1,4)(2,5)(3,6);
swc12 := (4,7)(5,8)(6,9);
swe01 := (13,15)(14,16);
swe12 := (15,17)(16,18);
PLLAa := swc12*swc01;
PLLJa := swc12*swe01;
PLLUa := swe12*swe01;
GPLL := Group (U,PLLUa,PLLAa,PLLJa);
GLL := Group (U,TwUFLURF,FlUFUR,PLLUa,PLLAa,PLLJa);

MkList2 := function (G)
  local g, L;
  L := [];
  for g in G do
    Add (L, g);
  od;
  return L;
end;

NrSubClasses := function (G, M, x, antisym)
  local count, p, g, h, i, j, m, L, L2, pmax;
  count := 0;
  pmax := Order(x);
  L := [];
  L := Set (MkList2 (G));
  i := 0;
  for g in G do
    i := i + 1;
    if g in L then
      count := count + 1;
      L2 := Set ([ g ]);
      j := 1;
      for m in M do;
        p := 1;
        while p <= pmax do;
          h := (m^-1)*g*m*(x^p);
          AddSet (L2, h);
          if antisym then
            h := (m^-1)*(g^-1)*m*(x^p);
            AddSet (L2, h);
          fi;
          p := p + 1;
        od;
      od;
      SubtractSet (L, L2);
    fi;
  od;
  return count;
end;

The function NrSubClasses takes a group (such as the last layer group of 62208 elements), a symmetry group, a group element (such as U) that is considered to generate an equivalent state, and a true/false arg as to whether or not antisymmetry should be used to treat states as equivalent. For the first argument, GLL can be used for the last layer group, and GPLL can be used for the group of last layer permutations (cubies correctly oriented). For the second argument, use Group (U) to consider rotational symmetry, Group(U,mir) to consider both rotational symmetry and symmetry of reflection, or Group ( () ) if you don't want symmetry to be used at all. For the 3rd argument, use U if you want to reduce the cases by considering AUF moves, else use the identity element (). (GAP might have built-in functions to allow you to do this even faster/easier, but I'm not sure.)
Code:
gap> NrSubClasses (GPLL,Group(U),U,false);
22
gap> NrSubClasses (GPLL,Group(U,mir),U,true);
14
gap> NrSubClasses (GLL,Group( () ),U,false);
15552
gap> NrSubClasses (GLL,Group(U,mir),(),false);
8020
gap> NrSubClasses (GLL,Group(U,mir),U,true);
1212
The first example calculates the number of PLLs. Since "solved" or "PLL skip" is included, it's 22 instead of 21.
The 2nd example calculates the number of PLLs with reflections and inverses considered equivalent, the 13 letter PLLs plus PLL skip makes 14.
The third example only uses AUF to divide the number of last layer cases by 4, so the result is 62208/4 = 15552.
The 4th example calculates the number of distinct last layer cases considering symmetry (but not considering AUF or antisymmetry).
The 5th example calculates the number of distinct last layer cases considering AUF, symmetry, and antisymmetry.
 
Last edited:
But that's for the whole cube, we want the last layer. Wiki already covers the whole cube's explanation.

Tim posted the math, and it follows the same logic Wiki and I gave.

Corners can be positioned in 4! ways, and oriented in 3^3 ways (the final corner is constrained by the others). The edges can be positioned in 4! ways and oriented in 2^3 ways (last one constrained by the others). Divide the results by 2 because of PLL parity. 4!*3^3*4!*2^3/2 = 62,208. If you don't care whether the U face is adjusted correctly, then divide by 4. It starts getting slightly complicated if you want to reduce it without regards to colors or reflections, as some cases are identical.

Oops!! I posted before I saw the long post before this. I might delete this post.
 
Last edited:
I don't understand why you're laughing about that. I suppose for the same reason noncubers think it's funny when they tell us that they used to peel the stickers off?
cheers!

cant you do 57 olls and 21 positions for each oll? but then theres more i believe...

There are 4 T-perms for example.
 
rahulkadukar, you're forgetting PLL skips. So your number should be higher. Although your above number is already higher than Bruce's.

Btw, when I got annoyed earlier in this thread... all I'd like to ask you guys is to have some faith in yourselves. I sincerely believe you *are* able to figure things out on your own, you do *not* have be spoonfed everything. It saddens me when people waste this opportunity. And this particular question is rather easy combinatorics, not rocket science. For that we have Bruce.

Btw, did you know that the letter set difference between "rocket science" and "Bruce (hisLastName)" is "IT-bug"?
 
Last edited:
I don't know why. Came up with that last night when I went to bed and was almost asleep. For some reason I noticed the letter sets are very similar. And yes, that "bug" is really nice. The letters even appear in that order. I had found the "IT" first and then checked the other direction. Imagine my delight when I saw the result. Also note I intentionally wrote it exactly like above, with rocket science first and the "-" standing for "minus" so that it all fits perfectly. I know, I know, I rejoice in the weirdest things.
 
Last edited:
Well 57 OLL X 21 PLL = 1197

1197 + 57 (When LL is oriented already OLL skip) = 1254

1254 cases for 1 Look LL

rahulkadukar's formula also ignores the fact that the you can apply a PLL from four different angles with respect to the angle the OLL is applied. So it's roughly 4x too low. The 1212 number considers mirrors and inverses as equivalent, thus getting back roughly a factor of 4 reduction. So for the actual number of cases not considering mirrors and inverses equivalent, I get:
Code:
gap> NrSubClasses (GLL,Group(U),U,false);
3916

Btw, did you know that the letter set difference between "rocket science" and "Bruce (hisLastName)" is "IT-bug"?

Uhm, why do you calculate letter set differences? o_O

I suppose maybe my username possibly got Stefan into thinking about letter set differences...?

I don't think I've thought about the similarity between "rocket science" and my name before. :)
 
Back
Top