https://github.com/guillaume-chevalier/csgames-2019-ai
Our team's solution for the Artificial Competition of the Computer Science Games 2019 (a programming contest). Deep Reinforcement Learning.
https://github.com/guillaume-chevalier/csgames-2019-ai
Last synced: 8 months ago
JSON representation
Our team's solution for the Artificial Competition of the Computer Science Games 2019 (a programming contest). Deep Reinforcement Learning.
- Host: GitHub
- URL: https://github.com/guillaume-chevalier/csgames-2019-ai
- Owner: guillaume-chevalier
- Created: 2019-03-23T14:02:46.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-03-24T00:10:15.000Z (over 6 years ago)
- Last Synced: 2025-02-08T16:14:21.939Z (10 months ago)
- Language: Python
- Homepage: http://csgames.org/
- Size: 20.5 MB
- Stars: 2
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Artificial Intelligence
This is our team's code for the competition at the CS Games 2019.
Solution: Deep Reinforcement Learning.
- Inputs to the ML pipeline: featurized game state, action to do, predicted resulting game state.
- Outputs to the ML pipeline: probability to win the game by doing that move.
Because the action is an input to the deep reinforcement learning algorithm, one must try every actions (with all of their guessed resulting game state) and choose the one that maximizes the probability to play the game.
Ironically enough, we manually did a simulated annealing by changing the random value in the choice of the best action throughout training by stopping training, changing the value in the code, and resuming training (the random that is added in the function that choose which action to take).
Our algorithm is all coded in [this file](competition/agent/data_builder.py). You need the pickles (.pkl) and the json files (.json) in the subfolders for the algorithm to work, because it has been trained.
We may have failed submitting the solution properly on time at the end of the competition by submitting a corrupted zip file by error. Anyways, this is our solution.
Enjoy!