Skip to content

使用aphla-zero算法的五子棋程序,娱乐练习

Notifications You must be signed in to change notification settings

zhangyongmao/Aphla-zero

Repository files navigation

Aphla-zero 五子棋实现

程序思想:网络输入为棋盘状态,输出有两个,一个是预测下一步每种走法的概率,一个是当前情况的胜率

前者用来作为进行MCTS搜索的先验概率,指导搜索将原本很大的搜索空间减小,后者用于搜索到叶子节点时判断胜率更新树节点的胜率

代码结构:

game.py 构建游戏规则

mcts.py 定义蒙罗卡罗树搜索部分

network.py 构建神经网络部分,并建立进行自我对战收集数据和处理数据部分

train.py 训练部分

环境要求:

numpy Tensorflow 2.0

提示:棋盘参数4 * 4,3步胜的情况,蒙罗卡罗树搜索400步,一局自我对战需要大约10多秒钟,需要上千局才能让aphla-zero学到保证先手必胜的走法

训练过程loss函数几乎不变,保持在3.6左右,走法概率输出的loss大约为 2.6 ,预测胜率的loss大约为 0.97 ,但是实际与人下棋模拟过程中的效果不错

About

使用aphla-zero算法的五子棋程序,娱乐练习

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages