围棋基本规则:
中国规则:无气自提,禁止全局同形,地大者胜
无气自提:
气:每颗子的上下左右空着的地方,都是这颗子的气,如:
而且要把上下左右相连的,同样颜色的子看成一个整体来统计气的数量
无气自提:走一步后,使对方一片棋子处于完全无气状态,这片棋子要被移出棋盘‘
当某一个格点已经没有气了,哪怕它是空的,也不允许走到这里了,这里叫做禁着点
当一方走到没有气的地方,能提掉对方的棋子时,允许它走到这里并提掉对方棋子
禁止全局同形:双方下每一步棋后,棋子上黑子、白字和空格的分布,不能和以前任何一步完全一样
胜负的计算:中国规则:黑棋赢棋,需要额外多占3.75个子,黑棋占地要184.25子以上,才算赢,有分数子,是因为有些位置黑与白都不愿意占据
围棋的必胜策略
要么使先走的人必然获胜,要么使后走的人必然获胜(博弈论思想)
AlphaGO的算法
基于DeepMind公司的论文
算法构建了三个深度策略网络,一个深度估值网络
输入:当前棋盘状态。
输出:下一步的走法。
训练数据:KGS Go SERVER上的三亿个样本。
网络设置:13层深度网络
以训练的为基础训练了
1、网络结构、输入输出与完全一样
2、一开始初始化网络参数
3、参数更新策略,自己和自己下棋,不断下下去直到分出胜负。
为了避免对局网络过于相似的过拟合,应用了如下策略:
1、将监督学习的网络复制作为增强学习的初始网络
2、将当前版本的网络与之前的某个随机的版本对局,得到棋局的结果
3、根据器具结果利用REINFORCE算法更新参数最大化期望结果
4、每500此迭代就复制当前网络参数到对手池中用于第二步。
接下来我们要训练一个,来预测估值函数
可以利用训练更好的
利用minibatch进行参数更新
z是奖励函数
最终是利用和进行下棋
下棋方法:蒙特卡洛树搜索
ZL是利用不断相互走棋后对胜利的预测
V(SL)是当前局面胜利的概率
Q(s,a)在s状态下采用行为a胜率的估计
at是最终决定的走棋方式