this is ai generated from chat raw notes were deleted due to lack of coherent thoughts
rubik complexity spec (t, k, p)
1. basic explanation: mapping to a cube
we define a cube state in terms of moves and layers. each move corresponds to a generator of the rubik’s cube group. for an cube:
- each face can be denoted .
- for higher , inner slices are indexed: e.g., is the outer top layer, the second layer, etc.
thus, any cube state is a group element obtained by multiplying a sequence of such moves.
the complexity number measures how “far” a state is from another in a structured way:
- = number of moves.
- = number of distinct layers touched.
- = permutation distance (minimal move distance between states).
we define:
this gives a complexity vector.
2. what the complexity number tells
- : how long the solution path is (move count).
- : how widespread the effect is across cube layers.
- : true “distance” in the rubik’s group.
this allows us to compare states without reference to a specific solving method.
3. creating and finding states
using :
- given , we can enumerate all possible states.
- given a state, we can measure its .
- we can constrain design: e.g., only 3 moves using 2 faces.
4. mathematical theory (group-theoretic expansion)
let be the group generated by legal moves of the rubik’s cube.
- each state .
- identity = solved cube.
move count
for a sequence with , the move count is:
layer spread
let be the set of unique layers touched by . then:
permutation distance
for two states , define:
that is, the minimal move length required to transform into .
complexity vector
finally:
this is well-defined for any cube.
5. use cases
- designing training problems: set constraints.
- measuring puzzle difficulty independent of solving method.
- exploring reachable subsets of cube space.
- evaluating ai/llm solvers with structured difficulty levels.
flowchart TD A[Input Constraints<br>t, k, p] --> B[Generator] B --> C[Enumerated States] C --> D[Filtered Outputs<br>Target States]
cayley graph snippet
graph LR A[Identity] -- R --> B A -- U --> C B -- U --> D C -- R --> D
3×3 cube matrix representation
representing cube faces as matrices of stickers:
a move acts as a permutation matrix on this state vector. for example, flatten all stickers into a vector , then:
matrix multiplication flow
flowchart LR X[Start State Vector v] --> Y[Apply Move Matrix P] Y --> Z[New State v']