This is the final project for CS 467: Machine Learning by JimmyJHickey and BAndrewss.
We created a Connect 4 game. There are four different types of players that can participate: Human, Random, and Minimax and Neural Network players to play it.
-
Have Python 3 installed.
-
Navigate to the /src directory in a terminal or cmd.
-
Run the game.py file with 2 arguments.
python3 game.py *arg1 arg2*
-
These arguments specify which type of player will be player 1 and 2 respectively. These are the options:
human- a human playerrandom- a random playermini_easy- a minimax player of depth 3mini_medium- a minimax player of depth 5mini_hard- a minimax player of depth 6net_random- neural network player trained against random datanet_easy- neural network player consisting of one layer of 4 nodesnet_medium- neural network player consisting of 100 | 100 nodesnet_hard- neural network player consisting of 1000 | 1000 nodes
game.pycontains the game and game board logic.players.pycontains all of the different player base logic.supervised_net.pycontains all of the neural network training logic.minimax.pycontains all of the minimax logic.settings.pycontains all of the shared data for players and game.
All of the data that was used to train neural networks is stored in /data.
All of the trained neural network data is stored in /trained_networks.
Both the proposal and final paper were written in LaTeX. The TeX and the PDFs that were created are in /Reports.
The Jupyter Notebook used for the presentation is in /src so it works correctly with our Python. It is best viewed on the Github. (www.github.com/JimmyJHickey/Machine-Learning-Connect-Four)