introduction
AlphaGo is the first computer program to defeat a professional human Go player, the first to defeat a Go world champion, and is arguably the strongest Go player in history.
What is in this repo?
This is a refactor of AppliedDataSciencePartners/DeepReinforcementLearning part of the article How to build your own AlphaZero AI using Python and Keras
The purpose of the refactor
- Make experimentation easier
- Add more documentation
- Explain the algorithms
- Improve performance
How to run it?
- Install Python 3.6.*
- Do not install a newer version it will not compile
- Install libraries in requirements.txt
- Execute main.py
Road map
- Improve documentation
- Fix jupyter notebook
- Add unit test
- Add profiler instrumentation
- Learning vs MCTS
- Memory usage
- Add Dependency Injector
- Add simple games to make it easier to understand
- Change logger to Resource provider
- Make logger less intrusive
- Improve log data
- Consider the use of sampling to reduce the size
- Add stats to a DB (remove some logs)
- Update to tensorflow 2
- Add capacity to migrate models to TensorFlow.js
- Add online demos
- Use TensorFlow.js models in online games
- Player VS NPC
- NPC VS NPC
- Interactive learning process
- Config
- Make config adjustable by game
- Parameters can vary from game to game, having all in one config makes it difficult for experimentation
- Use defaults
- Make config adjustable by game