Discussions on the mathematics of the cube

More details about my new program


On 02/23/2016, I posted a message about a new program I had developed that had succeeded in enumerating the complete search space for the edges only group. It was not a new result because Tom Rokicki had solved the same problem back in 2004, but it was important to me because the problem served as a testbed for some new ideas I was developing to attack the problem of the full cube. I am now in the process of adapting the new program to include both edges and corners. In this message, I will include some additional detail about my new program that was not included in the first message.

Pattern databases for the 5x5 sliding puzzle

In 2002, Korf and Felner [1] used pattern databases to solve optimally 50 random instances of the 5x5 sliding puzzle. They used a static 6+6+6+6 partition of tiles (described below), along with its reflection in the main diagonal. In a 2004 paper by Felner, Korf and Hanan [2], the authors describe in a footnote the way they handled the empty tile as 'not trivial'; the empty tile was taken into account when precomputing the database, but then the tables were compressed by discarding the information about the empty location. The authors do not provide the distribution of values from the pattern databases, but do provide maximum values and the number of nodes generated when solving random instances of the 5x5 sliding puzzle.

A cubic graph with cubic diameter

The Fifteen puzzle is sometimes generalized to a sliding puzzle on an arbitrary simple connected graph G with n vertices in the following way. n − 1 movable pieces numbered 1, 2, ... (n − 1) are placed on vertices of the graph G. At most one piece is placed on each vertex. One vertex of G is left unoccupied. A move consists in choosing a vertex v adjacent to the currently unoccupied vertex v0 and 'sliding' the piece at v along the edge (v; v0). The aim is to restore the order so that piece numbered i occupies vertex numbered i, for i = 1 .. n − 1. In the case of the Fifteen Puzzle, the underlying graph G is the 4 × 4 grid graph, and a degree-2 vertex is left unoccupied in the goal configuration.

Is there a way to evenly distribute face turns for 12 flip?

Back in Jan 1995 Mike Reid found this process for the 12 flip:

R3 U2 B1 L3 F1 U3 B1 D1 F1 U1 D3 L1 D2 F3 R1 B3 D1 F3 U3 B3 U1 D3 24q

This process has 24 q turns, so I'm wondering could there be a 24 q turn process that evenly distributes the turns so that each side turns 4 q? The idea just seemed elegant to me, 6 faces each turning 4 q turns.


Super Group Cosets of the Centers Subgroup

Continuing my work with the 3x3x3 super group, I have written a coset solver for cosets of the pure center cubie subgroup. This subgroup is made up of the 2048 even parity center cubie configurations composed with the identity edge and corner configurations. The super group may be partitioned into cosets of the pure centers subgroup, g * [CTR] , where g is an element of the super group and [CTR] is the centers subgroup. The centers subgroup is a normal subgroup of the super group, g * [CTR] = [CTR] * g, and the standard cube group is the quotient group of the super group and the centers subgroup.

Finally hitting depth 13 consistently with my 5x5x5 solver

It finally occurred to me why my hash table was sometimes not finding the shortest solutions 100% of the time. When I upgraded my computer to one with 128 GB of RAM, I had enough to load more positions into RAM. The number of hash table entries exceeded 4.2 billion, which is more than 32 bits. I never adjusted all of my access code to use 64-bit indices which were now necessary. All I had to do was change the data type, and, lo and behold, it found a 13-move solution to this arrangement, which previously it was reporting required 14 moves!

A very happy day for me.

Super Cube States at Depth

Super Cube States at Depth

I've been working with the super cube group (the 3x3x3 cube with center cubie orientation). There are two earlier threads here dealing with this group, Lower bounds for the 3x3x3 Super Group and Supergroup knowledge. Neither of these contain any states at depth information. To test my model I have performed a breadth first states at depth enumeration of the group out to depth 10 in the qtm. Can anybody confirm these numbers for me?

Revisiting Korf's 3x3x3 Counts And Identifying Duplicate Positions

A while ago I generated a corners database for the 3x3x3 subset of positions that are applicable to the 5x5x5 cube. I used a move generator that generated 27 moves at depth 1 instead of the commonly reported 18. My move generator also spawned the middle slice turns along with the familiar turns of the outer faces. The total positions reported for the corners database agreed in the end.

Recently I decided to implement the Korf move generator. In my mind, it is really more akin to a 2x2x2 move generator, since every move sequence that is generated can also be played out on a 2x2x2 cube. (Contrast that to some 5x5x5 moves which clearly have no counterpart of smaller cubes.) My move generator started with the solved cube, counted nodes as a function of depth, and placed each unique cube in a hash table, flagging all of the duplicate positions that came next.

5x5x5 Solving Programs: The list is growing

As of June 5, 2016, there are 3 different 5x5x5 solving programs that I know of: one is a robot that solves a physical 5x5x5 cube, one is a java program, and mine is written in C running under Windows 10. I know this forum caters specifically to those interested in "numbers" associated with the various cubes, and I do have some nodes-per-depth data that might be of interest to the group. As for those who might wish to submit test scrambles or other queries to the 5x5x5 programs, my guess is that this is outside of the domain of interest here. So as to not "step on any toes," I have a separate discussion board set up so as to not distract anyone from here. If you'd like more info about that, you can email me at edwardtrice at mail dot com.

New 3x3x3 Corners Data Including Centers

I think almost everyone here is familiar with the Corner Distance data that is used for pruning brute force searches for the 3x3x3 cube. This database features using one cubie as a "reference point" about which to orient the cube, and the relative disposition of the other corners is determined after hunting for that fixed frame of reference.

I decided to create a database that:

A. requires no single point of reference
B. contains all 24 possible rotated states of the cube's corner arrangements
C. measures the distance the corners are from the solved state with respect to the fixed centers