AI智能
人类下棋需要理由——AI下棋只靠机制产生
作者:王铭琬 认识AI(人工智慧)最前线,王铭琬为你做最佳向导!2016年3月韩国棋王李世乭与AlphaGo的一战,人类败北後,世界开始认真面对AI(人工智慧)时代的来临!AI可能提高生活品质,也将可能挤压人类的生存空间,认识AI最前线的围棋AI,是思考人类如何面对AI的第一站! 一位顶尖职业棋士全力挥棒的报告书:王铭琬是世界唯一参与围棋AI开发的一流棋士,详尽叙述围棋AI的过去丶现在,并以职业棋士观点提示人类如何因应与AI共存的未来,因为此刻「未来还掌握在人类自己的手里!」 死活,围棋最基本认识之一 下围棋最基本的认识或技术,可以说就是「死活」吧!众所周知,围棋吃子的规则是把对手包围起来後,可以吃掉,从棋盘上提取(如图一丶图二) 。 这可以说是围棋唯一的规则 ,决定胜负的方法,跟象棋或日本将棋只要擒王就胜利不同。围棋是以「最後在棋盘上剩下的子较多的一方胜利」,也就是以棋盘盘面全体的总数来分胜负。 围棋虽如前所说明的是「围地更多的一方赢」,但是为了「比对手留下更多子」在棋盘上,则必须「比对方围得更大」才行,都是同样的一回事。 围棋的「围」有围对方的棋子跟围地两个意思;围棋的棋子是不会动的,自己的棋子在棋盘上越多越好,棋子在棋盘上,形成不被吃掉的形状,叫做「活」。 图三:下黑1,就做了「活」的形状。 图四:因为A跟B两个地方都被黑子所包围,根据「围住就能提取」的规则,白A丶B两个点都不能下,这样的点叫作黑棋的「眼」;黑下1确保两眼的话,白棋不可能吃到黑棋,黑棋数子到最後就可以留在盘上。 图五:要是反被下白1,黑棋最後就会遭被提取的命运。 图六:此後白1之後,黑下2围住白二子时,虽黑也同时被白包围,能提取对方的棋子时,就可以下,也就是下黑2的话,可以提掉白2子。 图七:但接下来,白再将1扑进去,黑也只好2提。 图八:到最後下白1,就能把黑子全部提掉。 图九:结果黑子全部被提掉了。图五下了白1的状况,在围棋称为「死」;必须先知道什麽是「活」,否则最後会被提掉,也无法获胜。所以「两眼活」不是规则,而是不被提取的技术。 棋子的死活,是最基本而重要的认识,图四是「活」之中,最单纯的形状。 围棋的变化非常多,关於死活也可以有无限的变化与外观;就像日本将棋有所谓「诘将棋」一样,围棋也有以「死活」为问题形式的「诘棋」,会下棋的人都知道,做诘棋题是提高棋力不可或缺的训练。 在日本将棋,电脑最擅长将死对手,对局时绝对没有看走眼的。 因此围棋AI常被认为很擅长死活,但事实上如前所介绍的,围棋AI对死活并不拿手;人脑的话,很简单地能在棋盘中认识「局部」,然後判断是「活」还是「死」,但是就算是厉害的Master,也还无法做到。 围棋AI对自己的孤子也会做活,但它不像人一般,心想「这样下就活了」,而是因为「下那里就不会输」的计算结果,并非和人一样具备「活」的概念,若硬要教它「活」,它反而没办法下得的那麽好;如果在序盘出现诘棋般的棋形的话,人类会比Master更能正确地把握状况,但这跟比赛的输赢是两回事。 电脑并非不会做诘棋,从几年前起,就有解答诘棋的电脑软体商品,不管多难的诘棋都能瞬间得出正解(只有一个问题是,围棋有所谓「劫」的现象,「劫」又有各式各样的种类,电脑还无法判别「劫」的种类,但将来大概是能解决的)。但这是专门解答诘棋的软体,诘棋是「局部问题」,也只能用局部去解决;对局用的AI是没有「局部」概念的。 从刚才一路在介绍棋子的死活,都是单方被包围的情况,实战不只单方遭到包围;也会出现双方都有危险,哪方都可能被提掉的局面,叫做「攻杀」。围棋的实战,比起单方的「死活」,「攻杀」的场面出现的次数更多,「攻杀」在实战其实比「死活」更为重要。 如第三章Crazy Stone对多贺战时所说明的,「攻杀」也是局部问题,AI至今还没完全解决不擅长攻杀的毛病,人想要胜过Mastr的话,把它诱导到难解而没有转馀地的攻杀局面,大概就有机会吧! 大小,围棋最基本认识之二 围棋的基本认识还有一个,就是「大小」。 围棋最终的目的是取得较多的「地」(阵地),自己下的一手棋能确保多少地,或是能破坏对手多少地,这是能用数字明白表示出来的;计算方法是「自己在一处着手後,与该处被对方下到後的差距」。 图十:下到黑1的话,可以确保A的1个空点(1目)。 图十一:如果被反过来下了白1的话,则谁也没能确保A的空点,A成为没有意义的点「单官」,日文里说「没意义丶不行」的用语「駄目」,就是「单官」一词的日语。 图十与图十一的差是A的一点之差,因此图十的黑1与图十一的白1叫做「一目棋」,围棋的所谓大小是这样得来的;但在实战,还要兼顾全局的「死活」的状况,许多局面无法单纯换算成数字,但若能很明显地呈现「大小」的数字的话,对於下棋的人而言,就求之不得。例如: 如图十二般的局面,A是後手三四目大的棋,已告确定,但其他着手的价值却未能确定;从经验上来看,这个局面的三四目,被认为是比其他的手还要「大」。 几乎所有下棋的人都会下A。 但在实战时,很少像这样在局部就完结的例子,大小无法很明白地用数字表现出来的情形比较多;但职业棋士事实上在脑里有个约略评估的数字,然後继续下下去的;围棋除了死活成为问题的局面以外,大半对弈的局面是以「大小」占思考的中心;以明白的数字来呈现的大小,跟死活一样,是局部完结的问题。 人类下棋需要理由——AI下棋只靠机制产生 人类常以「这手是○目」丶「这手是○○目」为理由来着手,但是AI从来不作这样的计算,和死活同样,AI的道理只有一个——因为这样下比较容易赢。 拿死活来比喻现实生活的话,是「生命安全」,而大小则可以说是「劳动代价」。没有救生索,又不知时薪多少的话,谁也不会去做打扫大厦窗户的工作。就像我们平时最在乎安全跟薪资一般,下棋的人是以死活与大小问题为中心在下棋。 死活与大小可以说是围棋最基本的单字与文法,而电脑围棋却无法认知,我一直认为这是围棋AI最大的弱点,当然也是最需改善的罩门。 AlphaGo在跟李世乭之战前,公开的棋谱的综合能力,的确非常厉害,但若还在用蒙地卡罗法的话,局部认识的机能的弱点是无法解消的,一百万美元的奖金不用说是李世乭的吧!无法辨认死活及大小,怎麽可能赢李世乭呢?我的棋士生涯,让我只能作这样的判断。 Read more…
7,038 total views