Inspiration
We wanted to write a program that solves a Rubik's Cube.
What it does
The program takes in a random pattern of a Rubik's Cube and finds the minimum number of steps needed to turn it into a perfect Rubik's Cube.
How we built it
We built the program using common lisp with the pure functional programming style.
Challenges we ran into
The time complexity and space complexity are very high without using a heuristic. Writing a heuristic is challenging and a lot of people took years to figure out a good heuristic. Richard Korf, a professor at UCLA, figured out a good heuristic for this particular problem at this paper. Unfortunately, a pattern database takes a few days to compute.
Accomplishments that we're proud of
Solved a Rubik's cube for some specific patterns.
What we learned
A* searching algorithm, heuristic, functional programming in lisp.
What's next for rubiks-cube-solver
Finish up the pattern database heuristic. Write a beautiful UI.
Built With
- common-lisp
Log in or sign up for Devpost to join the conversation.