Discussions on the mathematics of the cube

Some "F2L" computer analyses

I have done some "restricted" God's algorithm calculations for solving two layers of Rubik's Cube, given that the four edges of the face layer are already solved. I say it's a "restricted" calculation because it only considers certain moves or sequences of moves. For convenience, I will consider the two layers to be solved are the bottom layer (generally referred to as the D layer), and the layer above that (typically referred to by speedcubers as the E layer).

Given that four edges of the D layer are taken to be solved, the remaining four edges being considered (those that belong in the E layer) must be distributed among 8 possible edge locations. So the number of configurations for those four edges is 8*7*6*5*(24) = 26880 (including orientations). The four corner cubies being considered (those that belong in the D layer) have 8*7*6*5*(34) = 136080 configurations (including orientations). This makes for a total of 26880*136080 = 3,657,830,400 configurations.

Efficient test for equivalence of bandaged 4x4x4s ?

I know that bandaged cube (regardless of their size) are often ignored, which gave me my niche to live in...

I tried to write a program to generate all valuable bandagings of a 4x4x4. Here valuable means:
1. No single gluing can be added without restricting at least one turn which was possible before.
2. From every set of equivalent bandagings, which are transformable into each other by turning and/or generating symmetries, at most one is in the final list.
3. No bandagings which could be realized by a 2x2x2 or a 3x3x3.

Only the 108 bondings between the surface cubies are considered.

New hex-axes search 2x faster than triple-axes search

One interesting option in Kociemba's Cube Explorer is the Triple Search option.
This option searches along three axes at once, instead of just one.

How much does Triple Search help? For random cubes, when searching for a length
20 solution, it helps tremendously. I implemented my own Kociemba solver with
single-axis search, triple-axis search, and a new "six-axis" search, and compared
the amount of time needed to find length 20 or better solutions for 3,000 random
cubes. This program was single-threaded (Kociemba's cube explorer is multi-threaded),
runs only from the command line, and is brand new code (so it has not been heavily

Pattern Sub-Groups

I've been fooling around with symmetric Rubik cube patterns: "Cross" patterns, involving corners only; "Check" patterns, involving edges only; and "Dots" patterns, involving edges and corners.

By rotating the eight corners a quarter turn about one of the cube axes a cube state with a cross on four faces is produced. A second such state may be produced by rotating about a different cube axes:

    R U B R U R D R U' D B' U' B' D' B' R' D' B'
    R B D R B R F R B' F D' B' D' F' D' R' F' D'

By recursively forming binary products from these two generators a group of 24 cube states is produced composed of all the different pure cross patterns plus the identity element. This Cross group is composed of five conjugate classes:

Hexadecimal Sudo-Kube puzzle



I have constructed the following puzzle based on a 4x4x4 Eastsheen cube. It is labelled with hexadecimal digits 0,1,2,...,9,A,B,C,D,E,F on each face of each cubbie (I have turned the labels at an angle of 45 degrees to avoid having positional information due to label orientations). The goal of the puzzle is to have each label eaxctly once per face and once per row (in all 3 dimensions). This is the only constraint that must be satisfied. It seems possible that a single puzzle has more than one valid solved configuration, but I have not fund more than one so far. I wrote a computer program which generates the instance to be solved "randomly" and outputs the labelling of a scrambled puzzle. This last step is necessary to avoid knowing the solved configuration which would reduce the puzzle to returning each cubbie to its correct place... The puzzle is really difficult because the solved configuration is not known !!!

Hexadecimal Sudo-Kube puzzle



I have constructed the following puzzle based on a 4x4x4 Eastsheen cube. It is labelled with hexadecimal digits 0,1,2,...,9,A,B,C,D,E,F on each face of each cubbie (I have turned the labels at an angle of 45 degrees to avoid having positional information due to label orientations). The goal of the puzzle is to have each label eaxctly once per face and once per row (in all 3 dimensions). This is the only constraint that must be satisfied. It seems possible that a single puzzle has more than one valid solved configuration, but I have not fund more than one so far. I wrote a computer program which generates the instance to be solved "randomly" and outputs the labelling of a scrambled puzzle. This last step is necessary to avoid knowing the solved configuration which would reduce the puzzle to returning each cubbie to its correct place... The puzzle is really difficult because the solved configuration is not known !!!

Using GAP to produce solutions to Pentultimate

I recently got started using GAP, and wrote a C++ program that generates legal scrambles in cyclic-notation for GAP, and some GAP code that gives solutions to them using the "PreimageRepresentative" function. On short scrmables, it can produce the reverse turns to solve it (likely optimal). But for a random scramble of say 500 turns it produces solutions over 14000 turns (in the analog of QTM or 'word-length' in the freegroup). This is not satisfactory to me because I can solve it by hand using less than 1000 turns doing centers-first.



You can play with this puzzle here (it doesn't physically exist yet):
http://users.skynet.be/gelatinbrain/Applets/Magic%20Polyhedra/dodeca_f6.htm

Independent proof of 26-move upper bound for half-turn metric

Starting over Thanksgiving break, I decided to let my H-coset solver
run on my personal machines on a bunch of the H cosets, starting with
the most symmetrical ones and moving down to the less symmetrical ones.
My H-coset solver uses the Kociemba two-phase algorithm, but for all
19B elements of an H-coset in parallel, rather than for a single cube
position. (It's just the Kociemba two-phase algorithm augmented with
a 19B-element bit table, roughly.)

As of today, I have completed 4,748 such cosets, using a depth of at
least 16 for phase 1 and proving that each element of most of these

Symmetry of Cayley Graphs of Subgroups of the Cube Group G

Normally, we think of Rubik's cube symmetry in terms of a particular position x.  The symmetry of x can be defined as Symm(x), where Symm(x) is the set all symmetries m in M such that xm=x, and where M is the group of 48 symmetries of the cube.  By the closure property, Symm(x) is a subgroup of M, and there are 98 possible such subgroups.  I wish to expand this definition of symmetry to encompass an entire subgroup of the Cube group G.

The primary motivation for the expanded definition is to provide a standard mechanism to deal with the symmetry of subgroups of the Cube group G such as H=<U,R>.  I'm probably going to make things more complicated than they need to be.  However, I don't recall seeing a general discussion of group symmetries before, neither on Cube-Lovers nor on this forum.

Optimal solver for QTM

I have written an optimal solver console program for the quarter turn metric in C which compiles under Linux and Windows. The target subgroup for the pruning table is the permutations of <U,D,R2,F2,L2,B2> which have an even corner parity, lets call it H'. I experimented with another type of pruning table which does not store the distance to H' for each coset element but the moves which reduce the distance to H'. Because there are 12 possible moves in QTM, a 16bit word is enough for each coset element - a move reduces the distance to H' by one or increases it by one. The table fits in about 583 MB of RAM.