This project solve a rubik's cube using different graph search strategies:
- Depth First Search
- Breadth First Search
- Depth Limited Search
- Uniform Cost Search
- Greedy
- A* Search
The project show how efficient are the different search strategies and how those strategies can improve using heuristics.
For simplicity, an entropy measure is used as the heuristic. It favours those cube configurations near a solved cube.
JSON format is used to represent a cube.
First clone the git repository to your machine and then execute this command in terminal:
pip install -r requirements.txt
To execute the cube solver run in the root directory this command:
python3 -m src.Search.Search
To try the performed tests, run in the root directory this command:
python3 -m pytest
If matplotlib doesn't show the solution visually, please install tkinter executing this command:
sudo apt-get install python3-tk
Elena Hervás Martín Enrique Cepeda Villamayor Sergio Jimenez Del Coso
Project done for Intelligent systems practices.