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. Please see algorithms detailed here.
We use two metrics to evaluate the performance of an AI:
- Average Length: Average length the snake has grown to (max: 64).
- Average Steps: Average steps the snake has moved.
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.6+ with Tkinter installed.
pip install -r requirements.txt
python run.py [-h]
Run unit tests:
python -m pytest
See the LICENSE file for license rights and limitations.


