A robot trying to escape from a maze using GA
Haskell Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Robot in a Maze

A. About

This is a homework for the Machine Learning Course that I am taking right now at my University.

The homework uses genetic algorithms in order to enable a robot to find its way out of a randomly generated maze.

The assignment is done in Haskell.

B. Usage

Run make run to build and start the application. The GUI is pretty simple to use.

The GUI shows a maze and each robot as it tries to go out of the maze. It is very funny to watch how the robot gets stuck then a random mutation evolves it to a new strategy and so on.

The application will also dump several informations to a file. Use ./plot.sh to plot them nicely or to learn what is dumped.

The maze was generated with Sidewinder's algorithm. The maximum fitness is somewhere around 100 * (n^2 - t) + 50 * t + 20 * n where n is the size of the maze and t is the length of the escape path.

C. Extra

For another example of GUI (lGTK = Lens and GTK) see https://github.com/divipp/lgtk/tree/master/lgtkdemo/LGtk/Demos/Maze