I was wondering how people are able to simplify Cubing algorithms. Is there a piece of software or something that brute forces possibilities. Or is there an actual method to this?


closed as primarily opinion-based by dcfyj, JonMark Perry, Gamow, Techidiot, Rand al'Thor Feb 13 '17 at 19:42

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.


First of all, I'll talk only about finding Last-Layer algorithms, like OLLs and PLLs. Most of the other algorithms (like F2L algorithms) can be easily found by hand. Most of the people don't even learn any F2L algorithms, they just solve them intuitively.

So, to answer your question: Both approaches are used!

  • Generate algorithms with software-support: The most used software is Cube Explorer. It allows you to specify the position and/or orientation of the pieces and finds all possible solutions to them. You can restrict the solutions to certain moves and many other features. Though most of the features are a little hidden, so I suggest watching Daniel Sheppard's introduction video. Notice that most of the generate algorithms are pretty hard to execute, because move-optimal solutions seem pretty random and use quite strange move combinations. So after finding a list of algorithms, you have to try them and figure out if they are useful or not.

  • Also it is possible to generate algorithms without computers. Most of the approaches use commutators and conjugates. Commutators is a mathematical concept used in group theory. And conjugates is just a modification of commutators. With the help of them you can generate algorithms to swap three pieces or twist two pieces. You can learn this technique in this video. It is a pretty cool method. You can basically solve the complete cube just by using this mathematical concept. One example would be the A-permutation. The common algorithm R' F R' B2 R F' R' B2 R2 is just a combination of a commutator R F R' B2 R F' R' B2 and the conjugate R2 (R F R' B2 R F' R' B2) R2. This method has its downsides though. If you want to move more than 3 pieces for instance, then you would have to combine two or three commutators and the algorithm ends up pretty long. Or the algorithms generated are not really finger friendly, ...

  • Another good approach is just to play with the cube. I'm pretty sure that most of the algorithms found in 1980s were found this way. For instance solve the first two layers of the cube, then bring one of the F2L pairs to the unsolved layer and try to solve the first two layers in a different way. If you remember the orientation and position of the pieces before and after, you can figure out what effect this sequence of moves has and you have an algorithm. Most of the OLL algorithms have this structure. For instance the OLL algorithm (R U R') (U' R' F R F'). The first part destroys one F2L slot, and the second part solves it differently. Or just combine two OLLs. For instance the common algorithms R U R' U' R' F R2 U' R' U' R U R' F' for the T-permutation is just a combination of the common OLL algorithms R U R' U' R' F R F' and F R U' R' U' R U R' F'. There are endless possibilities.

Not the answer you're looking for? Browse other questions tagged or ask your own question.