Skip to content

Artificial intelligence for the Snake game.

License

Notifications You must be signed in to change notification settings

linearbqaautomation/snake

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Snake

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. Originally, the project was written in C++. It has now been rewritten in Python for a user-friendly GUI and the simplicity in algorithm implementations.

Algorithms >

Experiments

We use two metrics to evaluate the performance of an AI:

  1. Average Length: Average length the snake has grown to (max: 64).
  2. 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

Installation

Requirements: Python 3.5+ (64-bit) with Tkinter installed.

pip install -r requirements.txt
python run.py [-h]

Run unit tests:

python -m pytest -v

License

See the COPYING file for license rights and limitations.

About

Artificial intelligence for the Snake game.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%