A rubik's cube methods and states map

Beautiful work (this is the first time I've actually looked at your map-I downloaded the large image of v2.1). I think this image alone is enough to explain to those who only know how to solve the cube using the beginner's layer-by-layer method just how much more out there there is to learn. I bet Kirjava has had this chart floating around in his brain for a while but just never thought to do what you did. My hat's off to you!

I'm not a speedsolver, but just seeing this map makes me want to post it on my wall, just as szalejot said! So beautiful.

I also personally would make it as a "must read / watch / examine it" for everyone who claims to invent a new method. :P
 
Nice work! Great way to depict the multitude of possible methods there are.

This kind of data is ideal for representation in an ontology. Once expressed an ontology, it could be visualised using a number of alternative tools (some with interactivity). It would also be possible to implement a range of queries on the data. For example, to find all possible sub-steps to solve from a particular state, or all possible sub-steps that could be used to reach a particular state. If other metadata such as move counts, cube rotations, *-gen, visibility of unsolved pieces were added, it could be used to to suggest methods that are optimised according to your specific preferences.
 
This kind of data is ideal for representation in an ontology. Once expressed an ontology, it could be visualised using a number of alternative tools (some with interactivity). It would also be possible to implement a range of queries on the data. For example, to find all possible sub-steps to solve from a particular state, or all possible sub-steps that could be used to reach a particular state. If other metadata such as move counts, cube rotations, *-gen, visibility of unsolved pieces were added, it could be used to to suggest methods that are optimised according to your specific preferences.

This would be interesting, one thing that is totally lacking is interactivity. Even if I would like it I had no idea of how to do it. What do you mean with "tools", do you have something practical in mind that could represent such graphs giving maybe some interactivity to manipulate them? Not that I have time for that yet, but i'm curious.
 
For representing the data itself as an ontology I would recommend using Protégé. Its an ontology editor with some basic ontology visualisation plugins. Once you have your data represented as an ontology there are quite a lot of tools available for querying and visualising the data. See: http://wiki.opensemanticframework.or...Ontology_Tools

If you're not comfortable ontologies you could generalise the data as a directed graph, and use any of the available graph visualisation software. If you choose this approach the format of the data you need to create would be dependent on the visualisation tool you're using. The D3 library has a few nice examples of interactive graph visualisation in JavaScript. See: http://d3js.org/
 
For representing the data itself as an ontology I would recommend using Protégé. Its an ontology editor with some basic ontology visualisation plugins. Once you have your data represented as an ontology there are quite a lot of tools available for querying and visualising the data. See: http://wiki.opensemanticframework.or...Ontology_Tools

If you're not comfortable ontologies you could generalise the data as a directed graph, and use any of the available graph visualisation software. If you choose this approach the format of the data you need to create would be dependent on the visualisation tool you're using. The D3 library has a few nice examples of interactive graph visualisation in JavaScript. See: http://d3js.org/


Ouch, there's so much out there ... ! It looks to me ontology approach is more generic and powerful but requires also some basic "knowledge" and effort.
Some examples of the graphs produced by D3 lib are really impressive!

Thank you very much.
 
A rubik's cube methods and states map - Version 2.2

Ok, here is the update, graph is at version 2.2 now.

I added many minor methods/variations (some have been signaled to me), one method I thought of (maybe I will publish it), many labels, and I tried to compact some arrows (still work to do there). Many other improvements would be possible.
(I left out "bubbles" graph, it also got the new nodes and is at v2.2 but last changes are not so useful).

Links:
https://www.dropbox.com/s/yksxfdb7x6oinxl/MethodsStepsGraphV2.2_big.png
https://www.dropbox.com/s/ftzvddiw4lu8gdt/MethodsStepsGraphV2.2_med.png

Changes for V2.2:
Code:
Many new labels
Human Kociemba better labelling
compacted F2L transitions (removed double F2L)
Collapsed some arrows

Methods/variants Added:
BLL super-beginner: Beginner EO (Dane man)
BLL 3-looks
BLL 4-looks
zz-r	
OL4C
SVOLL (sune variant OLL)
MCPOP (belt-like)
LL perm 1st
Noperm OLL
diaper
ZBLBL
Skipper F2L (SF2L)
JJLS
fixed zagorec method, added parity on E
Cuboid nodes
square-1 for 3x3
2-color (EasyNaiveBeginner)
VW+CPLL
Aw method or 23CCLLP5EO5EL3E
PP2SCE or The X method
22LL
FOPP
Pet Rock
NMM
2LL (30 kirjava / 18 generated)
STYP (2x2)
some uncommon LS+LL combinations
IdealSolution (very old)
CMLBCLL
MCOECP
 
Ok, here is the update, graph is at version 2.2 now.

With this update, your map is still really awesome ! You did a beautifull work ! Did you already find some ideas for the next update ? What about putting the F2L step a little more on the top or adding an arrow called "God's algorithm" just between the scrambled and the solve state ? Will you share the original file too ?
 
>V 2.2

Dude this is awesome. And to see that you have the ideal solution made me smile. Perhaps the oldest published solution has finally received it's recognition. :D

I've got a few more new methods that I'm developing, but I'm still working on them. We'll see what happens.

Thanks for this tool though, it's great for exploration.
 
Did you already find some ideas for the next update ?

Well, there are still some sub methods that are popping up, some that could be detailed better with algorithms or split, and some that I may have missed on threads.
I already have something noted down:

Code:
2look CMLL
OLC alias
Boomerang nodes + corners parity state
god's alg
BLE
Missing all Edg perm only state
some other....
Additional cleaning on arrows would be nice, I would also like to fix colors on sub methods nodes and add a legend.
Another idea that is floating somewhere is to add another layer to the drawing for arrows of main/full methods, this would allow to generate a second image dedicated to them, but I don't know yet if this idea will make it.


What about putting the F2L step a little more on the top or adding an arrow called "God's algorithm" just between the scrambled and the solve state ?
Good idea, and for sure that state should go up, but before that I would like to collapse some arrows.

Will you share the original file too ?
This may happen in the future if I decide to stop updating. I could release svgs of the cubes states but there's no point as they can be easily generated by VisualCube.

I think you should add more end nodes / solved states. That might decrease the level of the chaos there. :)
I thought about that but the most "solved" states are all logically close to the solved one while entry points are spread around. At the moment I prefer to collapse arrows go get rid of chaos, then maybe I will also duplicate end nodes.
After your good feedback I felt sorry when I noticed your "Boomerang" method nodes were still missing, I added that to the todo list :).
 
Code:
2look CMLL
OLC alias
Boomerang nodes + corners parity state
god's alg
BLE
Missing all Edg perm only state
some other....

Why not add an arrow called "Solve as a 2x2x2 cube" just between the scrambled and the Corners-solved state ? Or add all 2x2x2 methods between this states (I found [WIKI]Category:2x2x2_beginner_methods[/WIKI], [WIKI]Category:2x2x2_speedsolving_methods[/WIKI] and [WIKI]Category:2x2x2_methods[/WIKI] in the wiki) ?
 
Why not add an arrow called "Solve as a 2x2x2 cube" just between the scrambled and the Corners-solved state ? Or add all 2x2x2 methods between this states (I found [WIKI]Category:2x2x2_beginner_methods[/WIKI], [WIKI]Category:2x2x2_speedsolving_methods[/WIKI] and [WIKI]Category:2x2x2_methods[/WIKI] in the wiki) ?

2x2x2 Methods are already there. Lower right part of graph mainly contains all the methods that you linked, even if it is not explicitly mentioned as "2x2x2 solve". The arrow going directly there can make it ...
 
Why not add an arrow called "Solve as a 2x2x2 cube" just between the scrambled and the Corners-solved state ? Or add all 2x2x2 methods between those states (I found [WIKI]Category:2x2x2_beginner_methods[/WIKI], [WIKI]Category:2x2x2_speedsolving_methods[/WIKI] and [WIKI]Category:2x2x2_methods[/WIKI] in the wiki) ?
2x2x2 Methods are already there. Lower right part of graph mainly contains all the methods that you linked, even if it is not explicitly mentioned as "2x2x2 solve". The arrow going directly there can make it ...
Oh, sorry, I was just looking at the other Corners-solved state (the one without the centers).
After the cross, some people do 3 corners of the first layer then 3 edges (keyhole) then the last first layer corner and then the last edge with the standart layer by layer method. I don't see the last transition on the map...
 
Oh, sorry, I was just looking at the other Corners-solved state (the one without the centers).
Well, I took some "questionable" freedom on this state (as in other duplicate/similar states). Many 2x2x2 methods should link directly to the corners only state without centers, but for simplicity they are linked to the other one. This is the reason such states are linked by a double arrow with a "centers" node explaining how to pass from one to another. Double linked states are frequently treated as "same" in this graph even if they are not exactly identical.

After the cross, some people do 3 corners of the first layer then 3 edges (keyhole) then the last first layer corner and then the last edge with the standart layer by layer method. I don't see the last transition on the map...
This will be added, you are right. I have some notes about other minor sub-methods (X-CELL) that would need such states or similar.
 
I think you put the label for LC2E in the wrong place (at least from how I understand the method). And you've got two big red question marks on the spot where the label should be. To find the label "Finish Left + 2E (LC2E)", follow the "Solve white (Ortega)" arrow from the top right starting cube. The label found on the bottom right of that cube should go on the question marks two cubes to the right of that.

Also, you've mixed L2L4 and L2Lk. Starting from the "First Layer" cube, follow "FL + CO", then "FR + CP" to the cube with incorrect labeling. The "L2E (L2L4, LC2E)" arrow should be "L2E (L2Lk, LC2E)". The "FL + EO" arrow is from the L2L4 method (as is the "L5E" arrow further up that path).

Hope that helps. :)
 
That's the most amazing map I have ever seen !

For my part I would like you to add this (I did not come up with the concept but made the list of Algorithms for it):
http://forum.francocube.com/topic11579.html
http://www.speedcubers.de/showthread.php?tid=11824

So basically what you do is :

1.
- whatever you can start with as long as you end up with a F2L-1E (so Cross-1E, 4 Pairs; 2x2x2 to 2x2x3 and then 2 Pairs; 2 Roux Blocks+1E; and so on ...)
- CLL
- Keyhole EO
- EPLL

2.
- Cross-1E
- 3 F2L Pairs (you could start with 2x2x2 (or 1x2x3) to 2x2x3 too)
- Creating the fourth pair but not insert it
- LPCO (Last-Pair and Corner Orientation, you could do WV but I have done special list because the FD egde is free and some Algorithms become shorter)
- Keyhole EO
- PLL

I hope I haven't done any mistakes in the description (or that you found the method and it is actually in the map).
Good Luck for adding these new Substeps !

(I have already the next method in mind which I thought about some time ago)
 
I think you put the label for LC2E in the wrong place (at least from how I understand the method). And you've got two big red question marks on the spot where the label should be. To find the label "Finish Left + 2E (LC2E)", follow the "Solve white (Ortega)" arrow from the top right starting cube. The label found on the bottom right of that cube should go on the question marks two cubes to the right of that.

Also, you've mixed L2L4 and L2Lk. Starting from the "First Layer" cube, follow "FL + CO", then "FR + CP" to the cube with incorrect labeling. The "L2E (L2L4, LC2E)" arrow should be "L2E (L2Lk, LC2E)". The "FL + EO" arrow is from the L2L4 method (as is the "L5E" arrow further up that path).

Hope that helps. :)

You are right, everything fixed. But I have again a moderate amount of info to add so update will come later.
It helps :tu.
 
For my part I would like you to add this (I did not come up with the concept but made the list of Algorithms for it):
http://forum.francocube.com/topic11579.html
http://www.speedcubers.de/showthread.php?tid=11824

So basically what you do is :

1.
- whatever you can start with as long as you end up with a F2L-1E (so Cross-1E, 4 Pairs; 2x2x2 to 2x2x3 and then 2 Pairs; 2 Roux Blocks+1E; and so on ...)
- CLL
- Keyhole EO
- EPLL

2.
- Cross-1E
- 3 F2L Pairs (you could start with 2x2x2 (or 1x2x3) to 2x2x3 too)
- Creating the fourth pair but not insert it
- LPCO (Last-Pair and Corner Orientation, you could do WV but I have done special list because the FD egde is free and some Algorithms become shorter)
- Keyhole EO
- PLL

The method n. 1 is basically in the map as the F2L-1E state is present, just the node for "Keyhole EO" is missing, I already added it.
Method n. 2 (LPCO) is missing and I will add it.
 
Update to V2.3

I have a significant update.
I scanned all the The-New-Method-Substep-Concept-Idea-Thread and found out that people enjoy to try the most obscure methods. Anyway I added them all to the map.

I've also made all arrows thinner to clear some space and collapsed them. The result is that many parts are now less clumped up, but due to the mass of sub-methods other parts are now "a mess". For example i'm not happy of the amount of nodes around "3x2x2 block + EO". I hope to have time to rearrange and make space in the future.
Also many similar states are now close (all last slot state for example).

This is it:
MethodsStepsGraphV2.3_med.png
MethodsStepsGraphV2.3_big.png

The full changes are here:
Code:
Version 2.3 Changes

Layout:
Much improved F2L-1+EO and related states links and distance
Moved up F2L, Cross-1 states
Moved F2L-1E state to right of F2L (close to similar states)
Moved f2l-1+EO close to F2L-1-EO+y
Moved EJF2L state, collapsed CLS state with F2L-1
Moved Heise states up
LL->* labels
More Labels
Collapsed many arrows (shown by a dot)
Shrinked down arrows
Different style for equivalent states arrows
moved zzNielsson close to zz-1 on low-right (10 edges perm state)
Linked similar square-1 and eoline states

Added states:
All Edges perm only state
Uncommond LL->EP+CO state
Unoriented F2L
Navi / CO + PLL+1 states
Pseudo Half cross (2x)
badEOline + BadEOLineRoux
Eoline on L
ZZ-1(Square-1) w/ parities states
2x2x1blocks+EO
SummerVariation
VW-CLS-CPLL
HLS setup
Petrus rotten blocks (2x)
TFL
2x2x2 Block + 2Pairs
1st Layer O w/ opp Colors
1st Layer O w/ opp Colors + EO
Oriented no E edg on D
<U,Uw,R> / <U,Uw,R->R'> (elrog odd F2L EO)
F2L-1E flipped
F2L-1+N/O Pair+2-4EO (SV)
SNAP 3+1 Crn (2x2x2)
EO + U/D color (2x)
UL/UR on D + EO (LSE 25.look)
DF/DB on D + Centers (SL6E)
LBlock+MixedRBlock (2x)
F2L-1E (D) +EO

Added Methods:
Lubix QuickStart - 2look CMLL orient
OLC alias
Boomerang nodes + corners parity state
LL CO,EO,CP,EP combinations easy algs + labels (4 looks)
CLL 2 look / ELL 2 look
KLL / KF2L Pseudo-WV (COALL)
MBLL
Added arrow for 2x2x2 full solve
Added arrow for God's alg
pcms-var (pairs + 4 D-edges)
pcms-var2 (pairs + 3 D-edges)
Centers last 
McM method
Navi method 
CO + PLL+1 (navi like)
roux F2B & 'stupidRoux' variations (F2L like)
ZZ-roux badEOline var
Block_CP_EOF2L_2GLL (roux/petrus blocks)
ZooZoo (ZZ+roux2)
ZZ-1(Square-1) method
NCR + beginner (no cube rotations)
Petrus-zz
LPCO
Roux comms (beginner)
Petrus method variant: Rotten 2x2x2 block
TFL/TF2L submethod (F2L var)
SolveOneSide
Odd_f2l_EO <U,Uw,R->R'> (elrog)
MixedRBlock (elrog)

Added Nodes:
CLL (2x2x2)
BLE
more OL4C(OLC) & OCLL-EPP nodes
CAP Cross after pairs
FRULDx252 parts
+1E std LBL  (F2L-1E -> F2L)
'StupidRoux'
rouxCfopHybrid (3rd variation), other zz-roux variations (4th,5th)
F2L w/ <URrLlM>
F2L-1 on EO
F2L-1_+EP (LPEPLL like)
2GLL 2look
VW+L5E ?pseudo?
X-CELL
EOF2L, 8EO (NCR)
EO keyhole
LPCO (WV-like)
Pair+2x2Block on U
WV/SV separation
COLS / ZBCOLS
VH3S (edge control)
VW-CLS-CPLL variation
CPEOLS
NoobHeise
U_Rw_Solve
Phasing+WV
OLS-FE
Full OLS
SV Skyler variation / setup
SNAP (2x2x2)
Add color face to EO
Anti-ZBLL
LSE 2/2.5 looks
SL6E
little changes ZZ-profane koala / ZZ-porky
JTLE nodes

Fixes:
CLS / MGLS
ZZ-d / ZZ-e / ZZ-VH / ZZ-r
L2L4/L2Lk labelling
LC2E node pos
Winter Var state fix
HLS node/state
yu-korick step 4a,4b
pet-rock
JTLE

Enjoy if you dare to open it.
 
Last edited:
Back
Top