Skip to content

A rubik solver using graph traversal techniques. The NxNxN cube is represented by an input json. Project developed for intelligent systems practices.

Notifications You must be signed in to change notification settings

EnriqueCepeda/RubikSolver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

A rubik solver using graph traversal techniques. The NxNxN cube is represented by an input json. Project developed for intelligent systems practices.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages