Board Game Reinforcement Learning ที่อ้างอิงจาก AlphaZero ของ Deepmind
- หมากฮอส (Makhos / Thai Checkers)
- โอเทลโล่ (Othello / Reversi)
- Connect Four
- โอ-เอ็กซ์ (Tic-tac-toe)
- Python 2.7+ หรือ Python 3.6+
- Keras 2.1+
- Tensorflow
pip install -r requirements.txt
python run.py arena makhos human mcts,data/makhos/model-45k.h5,1000
python run.py newmodel <game> model.h5
เล่นกับตัวเอง 5,000 เกม โดยแต่ละตาที่เดินมีการซิมมูเลชั่น 100 ครั้ง และเซฟข้อมูลเกมลงไฟล์ selfplay.txt
python run.py generate <game> --model model.h5 --simulation 100 -n 5000 --file selfplay.txt --progress
ทำการเทรนโมเดล model.h5 ด้วยไฟล์ข้อมูล selfplay.txt จำนวน 3 epochs และเซฟใส่ newmodel.h5
python run.py train <game> selfplay.txt model.h5 newmodel.h5 --epoch 3 --progress
python run.py arena <game> <player1> <player2>
โดยที่
- game มีค่าเป็น
makhos
,othello
,c4
,ox
- player1 และ player2 มีค่าเป็น
human
เลือกตาเดินจากคีย์บอร์ดmcts,model.h5,1000
เลือกตาเดนถัดไปโดยใช้ policy network + value network จาก model.h5 และใช้ MCTS ที่มีจำนวนซิมมูเลชั่น 1,000 ครั้งpolicy,model.h5
เลือกตาเดินโดยใช้แต่ policy network ของ model.h5