Skip to content

An implementation of Q-Learning RL Algorithm for Atari Space Invaders using Atari Learning Environment (ALE) and OpenCV

License

Notifications You must be signed in to change notification settings

wltjr/q-space_invaders

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Q-Space Invaders

License Code Quality

Q-Learning Space Invaders using the Arcade Learning Environment (ALE)

The following papers were used as reference for the implementation:

  • Multi-agent reinforcement learning: independent versus cooperative agents link

State Space

The state space consists of the laser cannon's X coordinate, a total of 160 potential values, reduced to a range of 38 to 120, for the game playing bounds, invisible walls. There are 4 actions. The total q-table size is 160 x 4, even though only ~82 are used, with some outliers.

Action Space

The ALE Space Invaders Action Space has been reduced from 6 to the following 4 actions.

Value Meaning
0 NOOP
1 FIRE
2 RIGHT
3 LEFT
4 RIGHT-FIRE
5 LEFT-FIRE

System Requirements

The following software is required for proper operation

Atari ROM space_invaders.bin was obtained from Atari Mania

Build

Run the following commands in the root directory of the repository to compile all executables. The base project uses cmake build system with default of make.

cmake ./
make

Run

The primary executable is qsi multi-agent hedonic simulation environment. The program is implemented using GNU Argp, and has available --help menu for information on the arguments that each program accepts, which are required and are optional.

Credits

Credits and thanks for resources referenced and used in this repository, including some code and/or project structure, go to the following:

About

An implementation of Q-Learning RL Algorithm for Atari Space Invaders using Atari Learning Environment (ALE) and OpenCV

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published