“我们现在的策略是蒙特卡洛树搜索,由于围棋的可能性太多,完全树搜索是不可能做到的。”黄士杰打开代码文件夹,为孟繁岐介绍现在的进度情况。
前面说到,围棋有361!种下法,这个数量就是一个树型的结构。
从最初的一個节点,分为361个子节点,每个子节点又各自拥有360个子节点,如此循环往复。
第二层树有十几万种情况,第三层树就有四千六百万种情况了。
而这个无敌巨大的树,竟然有三百多层。
别说完全遍历,就是遍历上百层也是很难处理的。
“这个数字太过庞大了,即便我们通过种种方式,预先排除了不合法的情况,余下的合理可能性仍旧太过夸张。一个天文数字的百分1.2,仍旧是天文数字。”戴密斯介绍道。
一百倍的差距,在这里都是杯水车薪。
树每向下搜索一层,就代表着可以多往后考虑一步。
由此可以看出,每多考虑一步的代价都是成倍增长的。
蒙特卡洛搜索树就是阿尔法狗目前两板斧中的走子演算。
如果只是使用深度神经网络为基础的策略网络,那么模型只具备在当前局面下落子的能力,实力仅仅只有elo2000分左右,远逊于高端棋手。
蒙特卡洛搜索树,赋予了它长远思索的能力。
它可以从当前的局面开始自我左右互博,黑白两边随机落子,直到有一方取胜,分出胜负为止。
那么此时就具备了一组后续对弈的棋谱,虽然机器不理解这一系列落子的原因,但最终的胜负代表着这两种下法的好坏。
赢的那一组顺序,此后被随机到的可能性就会变大,虽然这两组可能都是臭棋,但好歹也还是分出了一名胜者不是?
不断重复上述过程,那么能够导致最后获胜的那些落子位置的得分就会越来越高,直到进行了数十万次模拟。
模型才会根据那个得分最高的位置落子,真正下了一步棋,这便是走子演算。
你下一步棋,想了一分多钟,想了大概十几步。
阿尔法狗下一步棋,想了一分多钟,已经在自己脑中自行对弈了后续十几万种可能了。
光是下一步棋的思考量,就比人类一辈子能下总盘数还要多。
柯洁一年4000盘网棋就已经被人津津乐道,可见人的上限,一辈子也就十来万盘。
这种模拟搜索有两点好处,一是可持续运行。
这种算法在对手思考对策的时候自己也可以思考对策。
在对方思考落子的过程中,蒙特卡洛搜索树也可以继续进行演算,对手的下的这步棋,很可能也在之前演算的高分落子选择内。
另一点,蒙特卡洛搜索树是完全可并行的算法。
这也就意味着海量的设备可以极大地增强阿尔法狗的威力,继续拓展它能力的极限。
本章未完 点击下一页继续阅读