游戏树搜索与神经网络入门:从围棋到手写数字识别
1. 游戏树搜索相关要点
1.1 战术模式与重采样注意事项
构建良好的战术模式列表需要一定的围棋战术知识。若想了解更多可用于重采样的战术模式,可查看开源MCTS围棋引擎Fuego(http://fuego.sourceforge.net/ )或Pachi(https://github.com/pasky/pachi )的源代码。在实现重采样时要谨慎,如果采样策略的逻辑计算缓慢,就无法执行足够多的采样,可能会抵消更复杂策略带来的优势。
1.2 礼貌的围棋AI:适时认输
开发游戏AI不仅要追求最佳算法,还要为人类对手创造有趣的体验。让人类玩家获得获胜的满足感是其中一部分乐趣。例如,之前实现的随机围棋AI(RandomAgent)就很让人抓狂,人类玩家领先之后它仍会继续下到棋盘满为止。更好的做法是让AI能优雅地认输。可以在基本的MCTS实现基础上添加友好的认输逻辑。MCTS算法在选棋过程中会计算估计胜率,在同一回合内可比较这些胜率来选棋,也可比较同一局游戏不同时间点的胜率。当最佳选择的胜率足够低(如10%)时,就让AI认输。
1.3 树搜索算法概述
- 通用树搜索 :树搜索算法会评估许多可能的决策序列以找到最佳方案,在游戏和一般优化问题中都会用到。
- 极小极大树搜索 :适用于游戏的树搜索变体是极小极大树搜索,在这种搜索中,两个目标相反的玩家交替行动。不过,完整的极小极大树搜索仅适用于极其简单的游戏(如井字棋),对于复杂游戏(如国际象棋或围棋),需要缩小搜索树的规
超级会员免费看
订阅专栏 解锁全文
2

被折叠的 条评论
为什么被折叠?



