🐍 AI for the Snake Game. Implemented and performed comparisons between 4 different types of solvers, i.e Path, Greedy, Hamilton and DQN Solvers.
The project focuses on the artificial intelligence of the Snake game. The snake’s goal is to eat the food continuously and fill the map with its bodies as soon as possible.
We use two metrics to evaluate the performance of an AI:
Test results (averaged over 1000 episodes):
Solver | Demo (optimal) | Average Length | Average Steps |
---|---|---|---|
Hamilton | ![]() |
63.93 | 717.83 |
Greedy | ![]() |
60.15 | 904.56 |
DQN (experimental) |
![]() |
24.44 | 131.69 |
Requirements: Python 3.5+ (64-bit) with Tkinter installed.
$ pip3 install -r requirements.txt
# Use -h for more details
$ python3 run.py [-h]
Run unit tests:
$ python3 -m pytest -v