# alpha-zero **Repository Path**: ai-studio_1/alpha-zero ## Basic Information - **Project Name**: alpha-zero - **Description**: 基于alpha-zero五子棋项目,2022计算机博弈大赛季军 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2023-06-09 - **Last Updated**: 2023-06-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 该代码主要基于Alpha Zero paper提供的伪代码 [Alpha Go Zero paper](https://www.nature.com/articles/nature24270?sf123103138=1) [Alpha Zero paper](https://science.sciencemag.org/content/362/6419/1140) 参考 [Lczero](https://lczero.org/dev/backend/nn/) 棋盘:15*15*2【stones-self, stones-opponent】 环境tensorflow2.0 ## hmolGUI.py: 定义界面主函数运行 MCTS.py:作为AI玩家,具有选择,扩展,模拟,反向传播,定义UCB(Upper Confidence Bounds) #RNG.py 神经网络策略价值网络给出当前局面,返回当前局面action概率已经当前局面胜率评分。 selfplay收集数据训练该网络,而训练更新的价值网络也会应用到MCTS中进行self-play train.py train 中run()大致流程是:收集 self_play 数据。当数据数量大于一定数目时,运行 policy_update() 函数,更新神经网络的权值。每进行一定数量的游戏,需要对当前神经网络的模型进行保存并评估。 如果评估效果非常好(与纯蒙特卡罗搜索树算法对弈10局,胜率100%),则将此模型保存为最佳模型, 并提升评估算法(纯蒙特卡罗搜索树)的算力,如将搜索次数提高1000。回到1,直到训练次数到达设定值