Skip to main content

A reinforcement learning environment based off the board game Risk

Project description

A reinforcement learning environment based off the board game Risk. Designed with reinforcement learning in mind, this project aims to streamline research for economy-based games.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Dependencies

  • numpy <= 1.14

  • pygame <= 1.9

User installation

The easiest way to install this package is through PyPi

pip install rlrisk

Otherwise you can manually install this package by cloning the repository to your local computer

git clone https://github.com/civrev/RLRisk

Then navigate to that directory and run setup.py

python setup.py install

Working with RLRisk

RLRisk was a project concieved to streamline research by coding an environment already friendly to reinforcement learning techniques. As such working with RLRisk is extremely easy.

The Environment

The environment is the standard Wolrd Domination game rules for Risk by Hasbro. You can find these rules here: https://www.hasbro.com/common/instruct/risk.pdf

The environment is located in the file risk.py and is implemented using the class Risk(). The class is flexible enough to be initiallized with extremely custom rules, but for the most common game of Risk you can create a Risk object using only a list of players

from rlrisk.agents import *
from rlrisk.environment import *

players = [BaseAgent(), AggressiveAgent()]
env = Risk(players)
results = env.play()

Agents

RLRisk comes with 3 agents, the BaseAgent, Human, and AggressiveAgent classes. All new agents must be subclasses of the BaseAgent class, but looking at the BaseAgent will show you that the framework of agents for RLRisk is very straight forward. It takes in the information it need to make a decision, and then it outputs a decision.

Final Remarks

This is my Senoir Project for my B.S. in Computer Science at the University of North Georgia (Graduating May, 2018)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

rlrisk-1.0.2.2-py3-none-any.whl (984.3 kB view details)

Uploaded Python 3

File details

Details for the file rlrisk-1.0.2.2-py3-none-any.whl.

File metadata

File hashes

Hashes for rlrisk-1.0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0726bc79b6c0bee8376e76bb1aabc58f1846a5b5456275355cb16496008aadb2
MD5 68a19d8360ce6740bb0d8276f1a923c8
BLAKE2b-256 01c6be7fc2ee8512f751b4b3db26042b21b5133fcb4d2ff80d0a09b6d22a480c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page