https://github.com/evanzhoudev/bestalgfinder
A way to find the best algorithm for a specific case on the Rubik's cube
https://github.com/evanzhoudev/bestalgfinder
Last synced: about 2 months ago
JSON representation
A way to find the best algorithm for a specific case on the Rubik's cube
- Host: GitHub
- URL: https://github.com/evanzhoudev/bestalgfinder
- Owner: EvanZhouDev
- Created: 2022-12-12T00:08:26.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-12-12T00:40:54.000Z (over 3 years ago)
- Last Synced: 2025-03-10T05:55:24.724Z (about 1 year ago)
- Language: JavaScript
- Homepage:
- Size: 10.7 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Best Algorithm Finder
A simple way to find the best algorithms for any case available on the AlgDB database.
## Made Possible By:
### Trangium's Movecount Coefficient Calculator:
Website: https://trangium.github.io/MovecountCoefficient/
Source: https://github.com/trangium/trangium.github.io/blob/master/algSpeed.js
### AlgDB.net
Website: http://algdb.net
## Background
On the Rubik's cube, there are thousands of cases that you can run into in specific steps. Each one of these cases has dozens of recognized algorithms. This program can help you pick out the best algorithm(s) for a specific case.
## Installation instructions:
TL;DR
Run the following:
```bash
git clone https://github.com/EvanZhouDev/BestAlgFinder.git
cd ./BestAlgFinder/
npm install
```
1. Clone the repository ```git clone https://github.com/EvanZhouDev/BestAlgFinder.git```
2. ```cd``` into the new folder ```cd ./BestAlgFinder/```
3. Install dependancies: ```npm install```
4. It is ready to use!
## How to Use:
1. ```cd``` into wherever you put your clone
2. Run ```node findBestAlg.js ${CASE} ${AMOUNT}```
### CASE Parameter
The first parameter, CASE, is what algorithm we are looking at. It follows the AlgDB format.
Here are some examples:
- Y Perm: ```pll/y```
- Na Perm: ```pll/na```
- OLL 1: ```oll/oll1```
- and so on...
If you want to know the path, then go the case on AlgDB and copy the part after "http://algdb.net/puzzle/333..." in the URL.
### AMOUNT Parameter
The second parameter, AMOUNT, is the top how many algorithms it will display and further analyze. Look at the next section for further explanation.
## Interpreting the Output
After you run the command, you will see 3 main sections.
### Ranking based on Algorithm Coefficient
The script automatically scrapes AlgDB for the requested algorithm and ranks them based on the Algorithm's 'coefficient.' The lower the better, and it should vary directly with the time it takes to do the algorithm. The amount listed will be the AMOUNT parameter.
### Ranking based on Votes
The script also automatically looks at what people have voted to be their favorite algorithm on AlgDB. The second section ranks it based on that. The mroe votes the better. The amount listed will be the AMOUNT parameter.
### Overall Best
The last section looks at the overlap between the first two sections. In theory, the algorithms listed under there should be the 'best' algorithms. If you do not see any overlap, increase the AMOUNT parameter.
*The calculation for these "overall best" algorithms may be subject to change*