我使用了我训练的一个b6c96网络
s348704256-d44283458
该网络可以在仅visits=1,也就是计算量低到不能再低,仅靠原始策略,在任何计算设备几乎都能秒出的情况下,战胜业余2段棋手。

网络的输入版本inputsVersion=7。
先全部初始化为0,再根据如下规则填入1。

feature 含义
0 是否在棋盘上,19x19则全为1,小棋盘则只有左上角的size × size部分为1
1 如果是要下棋的这一方的子,就为1
2 如果是对手方的子,就为1
3 所在连接形的总气为1的棋子,包括自己方和对手方的
4 所在连接形的总气为2的棋子,包括自己方和对手方的
5 所在连接形的总气为3的棋子 ,包括自己方和对手方的
6 把因为劫禁掉的地方设为1,包括循环劫
7-13 全部留空
14 自己和对手的所有允许被征死的棋子
15 与14保持一致
16 与14保持一致
17 那些自己下了之后就可以将对手方征死的点
18 下棋方的“pass也活安全区”设为1
19 对手方的“pass也活安全区”设为1

对3、4、5“连接形的气”的补充说明图,棋子上方的数字表示“所在连接形的总气”:
在这里插入图片描述
| 7 | 为某种循环劫准备的,实际这里留空,我不太懂superKo和koRecap的区别,先留坑
| 8 | 别的格式用了,这个格式没用
|9,10,11,12,13|本来是之前5手棋的one-hot编码,但这里由于不保留历史的原因,全部为空
14、15、16在实际中由于不保留历史的缘故,完全一致。原本应该是:
| 14 | 本回合,自己和对手的所有允许被征死的棋子
| 15 | 1回合前,自己和对手的所有允许被征死的棋子
| 16 | 2回合前,自己和对手的所有允许被征死的棋子
如图展示了所有的feature14(4个)和feature17(2个)。
在这里插入图片描述

对于18、19的“pass也活安全区”的补充说明图,右边是棋盘状态,左边是对应的“安全区”:
在这里插入图片描述
输入篇到此结束。接下来是更重要的神经网络结构篇。

b6c96的神经网络结构如下:
b6c96-all

其中,ordinary_block(红色气球)是这样的:
在这里插入图片描述

gpool_block(蓝色气球)是这样的:

gpool_block

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐