加藤英树谈围棋AI的过去.现在与未来(3)
http://koubokukei.blogspot.tw/2017/11/blog-post_3.html
使用蒙地卡罗法来模拟
大桥:
到深度学习出现为止,电脑围棋是以蒙地卡罗法为主流吧。
星合:
何谓蒙地卡罗法?
加藤:
蒙地卡罗原本是摩纳哥非常有名赌场的名字,也是这样,欧美国家有把使用乱数进行运算
的算法的名字前面加上蒙地卡罗的习惯。
大桥:
换句话说,在围棋程式中为了表示这也是一种使用乱数的手法,所以才会称为蒙地卡罗围
棋程式吧。
加藤:
2006年几乎是可以称为蒙地卡罗革命的一年,因为在这一年中围棋软件的写法发生了
重大变化。在这以前,程式师得先做出“空三角是恶形”之类的程式出来,然后去进行局
部死活搜寻。至于判断形势的评价函数也得是人类自己人工硬做出来的。然而这样的程式
,还是无法写出判断“厚势”之类感觉的评价判断。好比说,厚势最终相当于多少的实地
,这是无法判断出来的。
星合:
现在的围棋AI反而是非常会判断厚势的威力呢。这到底是发生了什么变化啊?
加藤:
这个问题问的很好。1990年时德国的马克思.朴朗克研究所的布留克曼博士想到了“
既然途中进行判断很困难,那就干脆让程式下到完来看结果就好了”的作法。换句话说,
就是使用模拟,让程式去算双方如果顺势走到最后会出现什么结果。在某个局面下,将数
个可能的候补落点分别利用乱数的方法算一千次的模拟,然后选出胜率最高的落点当作次
一手。这就是原始的蒙地卡罗法。
星合:
就是一种地毯式搜索的模拟对吗?
加藤:
不是喔,详细的内容这里就省略不谈,但它是用乱数去随机选择落点来下。也是这样,一
开始跑出来的结果非常不正确。这个模拟的适切性、可以模仿出多少实际真正会出现的手
顺,对于棋力的强弱有决定性的影响。此外,搜寻树也是一般在讨论蒙地卡罗法时一个很
重要的因素。所谓的搜寻树是指在某个局面下,先把很有力的落点集中到好比十个点。然
后再针对这十个落点进行模拟。前述的乱数模拟因为很不正确,所以才会用搜寻树来集中
模拟并且获得比较正确的结果。
大桥:
这些搜寻模拟分枝看起来很像树木,所以也被称为蒙地卡罗搜寻树。
加藤:
将蒙地卡罗搜寻树导入围棋AI之中的,就是创作出狂石(Crazy Stone)这套围棋程式
的雷米.库隆先生。在2007年狂石参加了电脑奥林匹亚竞赛的九路围棋项目,结果夺
下冠军,而让蒙地卡罗法一夕成名。
星合:
这就是蒙地卡罗革命了吧?
加藤:
是的。不过,由于19路棋盘实在太广大了,所以使用这个方法还是无法打败人类。所以
雷米.库隆先生又使用了新的手法。星合小姐有在阿骂爽等网络商店买过东西吗?
星合:
有啊。特别是有“推荐给你的商品”的指示非常便利。
加藤:
就是这种手法。它是利用了买某种商品的人也会买另一种商品的属性来表示出推荐商品。
这个手法将之应用在围棋程式上,就像是下了某一著之后,就会跟着出现另一著的情形。
大桥:
好比说打吃必粘这种情形。
加藤:
靠着这个手法,就让围棋程式达到了业余初段以上的水准。这样就知道雷米.库隆先生有
多伟大了吧。