elenahrvs / RubikSolver

Intelligent systems practices

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Rubik cube solver

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.

Execution instructions

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

Group formed by:

Elena Hervás Martín Enrique Cepeda Villamayor Sergio Jimenez Del Coso

Project done for Intelligent systems practices.

About

Intelligent systems practices


Languages

Language:Python 100.0%