/Blackjack-Reinforcement-Learning

Developing an optimal playing strategy for the popular game Blackjack using various Reinforcement Learning algorithms.

Primary LanguagePythonMIT LicenseMIT

A Comparison Of Reinforcement Learning Algorithms Using Blackjack

By Miri, Nabil; Nagisetty, Vineel; and Parsons, Steve: all students at Memorial University of Newfoundland

Game Screenshot

Table of Contents

  • Introduction
  • Usage
  • Report

Introduction

In this project, we aim to develop an optimal playing strategy for the popular game Blackjack. The game is commonly played at casinos worldwide. The rules are straightforward and it serves as an interesting model to compare reinforcement learning algorithms. Which reinforcement learning algorithm produces the best results with minimal parametric tweaking? This is the question that we aim to answer.

Usage

Windows

  • A pre-built .exe of the Blackjack game, which is retrieving from the static policies generated can be found in the python/dist/ directory.

Source Code

  • The model of the game is found in the Source Code/ directory in the Model.py file.
  • The view generated is found in the Source Code/ directory in the View.py file.
  • The AI agent is found in the Source Code/ directory in the Controller.py file.

Reproduce Results

  • To reproduce the results shown in the report, please execute the ResultDataWriter.py file, and input your choice of parameters.

Report

The final report for this project is found here.