# Program that finds good algorithms and removes rubbish algs



## Leibniz (Jul 16, 2016)

I have been working on a web app that takes in a bunch of algorithms generated from something like cube explorer and ranks them based on how good it thinks they are, fingertrick-wise. It is called Alg Sort and it's entirely based on common triggers such as R U R' U' and R U' R'. Basically it just tries to find the algorithms that contain the most triggers.

*Where to find it*
program
code
zip file (attachment)

*How it works*
The basic idea is that algorithms are sorted by the number of moves that are not part of a common trigger (e.g. F (R U R' U') F' has two: F and F'). This is usually a pretty good indication of the number of awkward moves and regrips. If that doesn't cut it, algorithms can be sorted by number of non-triggers first, then by the number of F,D,L... moves, then by length, and so on. The order in which the program sorts is completely customisable and might have to be tweaked on a case-by-case basis.

*How to use it*
Let's say you want to find a good 3-gen COLL algorithm. You can then let Cube Explorer generate some RUF, RUD, and RUL algorithms (or whatever group you prefer) for the case. Paste the output into the Alg Sort input area and click sort. The best algorithms will appear at the top. Now you may find there are too many F or D moves. In that case, you can just click a button that will make the program minimise the number of F and D moves in the output. Want to completely give up on RUL? Maybe you want an algorithm with a long trigger like a Sune or a Niklas in it? Or is the main priority that you get a short algorithm? You can customise all these options and sort again.

*Results*
On the handful of cases I have tested it with, it actually does a pretty good job identifying fast algorithms. I have even found some new ones that are not on AlgDB yet (but really should be). Examples:
U case COLL
Pi case COLL
Antisune COLL
G Perm
V Perm
https://alg.cubing.net/?type=alg&alg=R_U-_(R_U_R-)_F2_U_(R_U_R-_U-)_R-_U-_F2_R2_U-_R2-&setup=x2
*What this app is not*
This is NOT a web app that will instantly give you the best algorithm every time. Nor is there any guarantee that the results will match what people already use. What it is, is a tool you can use to quickly find some promising algorithms and do in seconds or minutes what you might otherwise spend hours on. If you are, for example, learning an obscure algorithm set that not too many people use, or developing an entirely new method, this does a lot of work for you.


----------

