This is probably stupid but cubing methods form a category

edward_9x

Veteran
Joined
May 31, 2023
Messages
316
Location
Inside your monitor
(NEW POST)
1749632096840.png

This is probs all you need to know, but:

(OLD POST BELOW)
Objects are sets of states in the cube group (actually they might always be generated subgroups). Morphisms f:A->B are called steps, and represent sets of move sequences such that any one of these sequences takes all cubes from state set A to B. (so literally "alg sets") (so basically they're the same kind of thing as the objects, except they have a direction too). These sets are actually finite because, say, (one jperm) = (another j perm). We only care about the effect on the cube
Composition as I currently defined it is like a "cartesian product" where instead of forming tuples you form all unique possible concatenations of the selected steps. So the set of all ZZ-VH solutions is EPLL o COLL o ZZF2L o EOLine = <R,U,L,D,F,B>. ZZ-c LSLL would be PLL o OCLS = TTLL o TSLE = ZZ1LLSLL. etc
Maybe you can define it with actual cartesian products to avoid the "vanishes to <R,U,L,D,F,B> problem". Because currently when you compose, say, PLL o OLL o F2L o Cross, you get that it's equal to <R,U,L,D,F,B>. Maybe a solution should be to see stuff as a list of steps done in order rather than a list of moves/"an action on the cube" only.
Associativity law works because concatenating move sequences is associative, and the cube forms a group.
Identity elements work, they're just sets that contain only {[]} (where []=RR'=UU'=... is the solved cube).
Methods themselves and their variants form subcategories. For example here is a small bit of ZZ
1749552855293.png

<R,U,L,D,F,B> is the initial object and {[]} is the terminal object
Maybe this has some application. Or not.

EDIT: Maybe it should be <R,U,L,D,F,B,x,y,z> because Roux exists and it moves the centres around
 
Last edited:
Let's call the basic Rubik's cube category (specifically, a groupoid) with individual cube states as objects and individual moves as morphisms.

Basically you're thinking of a slightly higher abstraction, macro level with objects as subsets of cube states and morphisms as "strategies" that transform one subset to another (usually peforming a reduction of the subset, like LL -> PLL). You could define a functor between the original Rubik's cube category and this. Pretty interesting!

Also just some of my highly speculative intuition, possibly BS: Maybe one could think of the topos of all Rubik's cube method methods where objects could be sheaves over some base category encoding method stages of cube solving. (Not sure what the local data of the sheaves would be here. Maybe tracking information about pieces?)

This thread warrants a @xyzzy ping since i'm far from qualified. Don't mind me:D
 
Last edited:
More simply & intuitively, different methods can easily be categorized by their general approach to solving the cube. CFOP & ZZ & Petrus & ZBRoux generally solve the first two layers which are held at the bottom and the last layer is the last step. Roux only slightly deviates from this by solving the first two layers minus the DF/DB edges. Waterman & Corners First methods on the other hand take an entirely different approach and have essentially nothing in common with the CFOP/ZZ/Petrus/ZBRoux cluster.
 
Let's call the basic Rubik's cube category (specifically, a groupoid) with individual cube states as objects and individual moves as morphisms.

Basically you're thinking of a slightly higher abstraction, macro level with objects as subsets of cube states and morphisms as "strategies" that transform one subset to another (usually peforming a reduction of the subset, like LL -> PLL). You could define a functor between the original Rubik's cube category and this. Pretty interesting!

Also just some of my highly speculative intuition, possibly BS: Maybe one could think of the topos of all Rubik's cube method methods where objects could be sheaves over some base category encoding method stages of cube solving. (Not sure what the local data of the sheaves would be here. Maybe tracking information about pieces?)

This thread warrants a @xyzzy ping since i'm far from qualified. Don't mind me:D
do you think the original definition is better or the new one?
the original one: morphisms are sets
the new one: morphisms encode ordered lists of substeps
i think the first version's actually nicer
 
I wonder how big the Hamiltonian circuit be for a 4D 2^4 ?

Movecount would be in the millions I suppose.

Unless I am missing something, move count is already in millions for the 2x2x2. According to this site, Hamiltonian circuit for the 2x2x2x2 would have about a billion times as many moves than the 3x3x3 (43,252,003,274,489,856,000 moves for the 3x3x3).
 
a) Sets of what, and b) What's a substep (as compared to a step) again?
Sets of cubes in G, duh. A morphism would be the set of all cubes (aka sequences. To the cube group they're the exact same thing, it only cares about the "net effect") that take any cube from A to any cube from B. Just the original definition from the post
The new definition is the one where a morphism is encoded as a list of sets of cubes/sequences. (So basically the same thing but split into steps) (ok whatever it's actually encoded as a 3-tuple (A, B, (S1, S2, ..., Sn)) but these are details)
Also I guess "substep" is just the word I used, nothing special about "sub"
 
Back
Top