新AI改写的第3手定式与10种战法
我们重新打造了bocch的“最强”CPU。与原来的最强对弈400局,结果是293胜83负24和,胜率76%。本文整理新AI的做法,以及用它重新审视后,定式和战法发生了哪些变化。
从评分表,到整体看棋盘的AI
以前的AI看局面时,用评分表来决定“哪一方有利”。抵达终点的棋子1颗249分,孤子扣分,能走的手多就加分,有下一手就能抵达的棋子也加分,诸如此类。各项的权重用2万6千局的数据调整过,但项目本身是人想出来的。人没有注意到的形状好坏,评分表是写不进去的。
新AI不用评分表,而是整体看棋盘,直接给出这个局面有多容易赢。这就是神经网络。我们没有教它该看什么,它和自己下了几十万局练习赛,自己学会了能赢的形状。
下练习赛,复盘输掉的局面,再和之前的自己比试。赢了就换成新的自己。这样重复了9轮,成功换代的只有4次。越强,就越难赢过之前的自己。
途中还做过把AI的“脑子”变大的实验。形势判断稍微准确了一些,但计算量重了2倍以上,能算的深度浅了1手,结果输给了原来的AI。反过来,只是把计算加快的版本,对原来的AI胜率为57%。在bocch里,算得深比看得聪明更重要。现在的最强每手用3秒,能算到15手之后。
第3手的定式有什么变化
我们用新AI的眼光,重新调查了到第3手为止的定式。第1手和第2手几乎没变,黑方依偎、白方并肩依然是主线。变化在第3手,主要发现了2点。
1. 双方守角时,按定式走依偎
这是黑方守角(6f→6e)、白方也以守角(1a→1b)应对的局面。定式的第3手是另一侧的依偎 1f→2e。新AI则选择把守角的棋子再靠一步:6e→5e。
各下100局,定式的依偎是80%,AI的手是49%。这里是定式正确的局面。开局时,先结成一团比四处铺开更容易赢。
2. 对方走到中间时,向前冲
接下来是黑方守角后,白方用 5a→3c 的候鸟跳进中间的局面。定式在这里也是依偎。新AI则用 5f→5d 的一杆枪,把棋子向前冲了2格。
结果是:定式57%,一杆枪88%。对方走到中间时,与其巩固防守,不如向前出击、一决胜负。这就是新AI的答案。根据这个结果,我们改写了最强CPU的定式表,以及游戏“学习”标签页中第3手的表。
第1手与第2手的组合=战法
在bocch里,以前都是像依偎、一杆枪那样,给每一手单独取名。但用新AI重新调查后发现,即使第1手相同,第2手不同,胜率也会完全不同。
于是我们把自己第1手和第2手的组合称为“战法”,给常见的10种取了名字。不论黑白,形状相同就用同一个名字。有了名字,就能一句话说清这盘的开局是什么,记忆和与人交流都更轻松。就像将棋里的矢仓、四间飞车一样。
下图是黑方走了2手的样子(省略了白方的手)。每种战法各让新AI之间对弈200局。
正统派:对方正确应对也很强
- 盾枪:用依偎筑起盾牌,再把它旁边的棋子用一杆枪笔直走出。即使对方以最佳应对,胜率也有47%,是10种中最高的。在旧定式中也是主线。
- 送行鸟:把依偎旁边的棋子用候鸟斜着飞出。对方随便下时是86%,以最佳应对时也有42%。
奇袭型:对不了解的对手能大胜
- 双璧:把左右两边都靠过来。对方随便下时是87%,是10种中赢得最多的。但被并肩应对就会很苦(双璧一文)。
- 先锋:先走到中间,再把边子靠过来。
- 一隅:守角之后,把另一侧的边子靠过来。
- 双刃:把依偎与另一侧的候鸟组合起来。
另类:损手定式
先用守角走出1步,再靠1步的战法。形成的形状与用1手走依偎完全相同,所以整整亏了1手。即便如此,在对方以并肩应对的局面中仍有35%的胜率,并没有想象中那么差。
不该走的战法
- 迷途:用流云跳出之后再靠拢。即使对方随便下,胜率也不到4成。
- 击龙枪:用一杆枪和正面突破,冲出两路。
- 浮浪云:用候鸟和流云,棋子变得七零八落。
击龙枪和浮浪云,即使对方随便下,胜率也在6%以下,几乎赢不了。放着边上的棋子不管、往中间跳,一定会被新AI抓住破绽。
总结
- 开局的基本是巩固附近。
- 不过,对方走到中间时,要向前冲。
- 战法中,盾枪和送行鸟是正统派。双璧很强,但被并肩应对时要换成别的手。
在游戏中,自己第2手走出战法时,它的名字会浮现在棋盘上。欢迎来和新的最强CPU一较高下。
本文是把YouTube“bocch定跡研究”第24期的内容重新整理成的文章。双璧被并肩应对时的胜率,已换成之后重新测量(第25期)的数字。