Sunday, July 02, 2017

[bxdyitot] Solving the 1x1x1x1 Rubik's cube

How many buttons or input gestures should a user interface have for specifying discrete rotations of a 4D hypercube onto itself?

This question has an element of aesthetics to it.  In 3 dimensions, 2 buttons are sufficient (e.g., 180 degree rotation around an edge plus 60 degree rotation around a vertex), but for convenience we probably want 6: 3 possibilities of orthogonal axes through the center of each face, times 2 possibilities for clockwise or counterclockwise 90 degree rotation.

Incidentally, it is curious that the rotation group of a cube can generated as the composition of 2 operations, but general rotations in 3-space require 3 parameters as SO(3) is a 3 dimensional Lie group.  The cube is simpler than the sphere.

In 4 dimensions, we probably want 32 operations for convenience.  4 axes, and in each of the 2 planes orthogonal to a given axis, a clockwise or counterclockwise 90 degree rotation or zero rotation.  There are 3*3-1=8 possible single and double rotations for a given axis, not counting zero rotation in both planes.

It might be simpler.  If a double rotation can be conveniently done as a sequence of two single rotations, then we only need 16 buttons: 4 axes, times 2 ways to select which plane, times 2 directions to rotate.  "Conveniently done" probably means that the (hypothetical) decomposition of a double rotation into two single rotations is "the obvious" one, and the two single rotations of the decomposition commute.  I don't know whether this is true, but it should be easy to find out.

What is the minimal number of buttons?  SO(4) is a 6-dimensional Lie group, so the answer is 6 or less.  What is the group structure of the chiral hyperoctahedral group?  There are 192 rotated states of a hypercube, analogous to the 24 rotated states of a cube.

Inspiration was for a game: given an initial and target depictions of a hypercube, rotate the initial state to match the target as quickly as possible.

One possible depiction is a collection of square slices arranged in a square array like sudoku.  This suggests a simple sliding-block puzzle in the style of the 15-puzzle, though the tiles don't actually side, they jump around the grid as the hypercube rotates.

A 120-cell has 7200 rotations for a much harder puzzle, if only there were a nice way to depict it.