Search a Rubik's Cube for short algorithms that solve a scramble or reach a target pattern.
A document to walk you through installing it and getting it running. New to notation? Reference here. Source on GitHub.
Download the binary for your platform from the latest GitHub release:
rubik-alg-finder-macosrubik-alg-finder-linuxrubik-alg-finder-windows.exeOn macOS, you may need to right-click and choose "Open" the first time, since the binary is unsigned.
# Print what a given scramble looks like
./rubik-alg-finder show --scramble "R U R' U'"
# Solve a scramble (up to 6 moves by default, use "--depth 4" for up to 8)
./rubik-alg-finder solve --scramble "F R U R' U' F'"
# Find an algorithm that swaps the UF and UB edges
./rubik-alg-finder find --edges "0:2 2:0"
# Same, but only using U, R and F moves, searching up to 5 moves
./rubik-alg-finder find --edges "0:2 2:0" --moves "U R F" --depth 5
show displays an unfolded net of the cube.
solve uses a meet-in-the-middle search to undo a scramble of up
to about 12 moves in a reasonable amount of time. find locks any
edges/corners into a pattern and searches for the shortest move sequence that
produces it.