人类下棋需要理由——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在跟李世乭之战前,公开的棋谱的综合能力,的确非常厉害,但若还在用蒙地卡罗法的话,局部认识的机能的弱点是无法解消的,一百万美元的奖金不用说是李世乭的吧!无法辨认死活及大小,怎麽可能赢李世乭呢?我的棋士生涯,让我只能作这样的判断。 形势判断的重要性远大於「算棋」 就如前面所介绍的一样,结果深层学习带着AlphaGo飞越人类的头顶。 围棋比想像的还要宽广,AlphaGo拥有游刃有馀的计算能力,棋盘广大到让它即使怀着缺陷,却依然能悠悠踏步,有转圜馀地,回避自己的缺陷。 Master看来对算棋更有信心,棋风比AlphaGo更为强悍,AlphaGo尽量不去踩自己的弱点而造成陷阱;Master对付自己的弱点,像是随便踢开脚边的小石头,一点都不会令人担心。 原来下棋必须要有「死活」与「大小」的概念,这个前提是错误的;「死活」与「大小」若是人类下棋的语言,如果能「以心传心」的话,就不需要多说话;我终於想通了,围棋AI并非无法认识「死活」与「大小」,而是没有必要用局部的概念去认识而已! 图十三:Master持白棋,对於黑1,白棋放着右上七子不管,2丶4丶6埋着头连下上边,接着8丶10低位渡过,对黑棋也不是具有威胁性的手段,黑11罩,白七子被吃了,但从结果而言,形势其实白棋并不坏,这虽不能说是到了惊异的判断程度,但要是我,因为无法正确地算出大小,也就无法这麽简单地舍弃这七子。 经过长期深层学习训练後,累积三千万局数据收集对局(现在说不定又多好几倍)与无数自我对战学习的经验,作每秒一百万局的高度模拟;当电脑拥有这样的能力时,把棋盘当作一个整体来处理,其实正是非常符合围棋的本质的方法。 人类因为无法这样处理,只能就解析「局部」得到的资讯,再根据这些资讯来作综合判断,除此之外别无其他方法。今後围棋AI下的棋,对人类而言,虽然非常具有参考价值,但人类遭遇未知局面时,必须对於各个「局部」赋予意义後,再作全体的判断,人类的这种思考倾向是无从改变的。 以人类可能达到的围棋水平而言,AI的表现告诉我们,比起堆积意义的「算棋」,无从捉摸的「形势判断」是重要太多了,而从棋盘全体直接判断形势,正好成了AI的最强项,其正确性与速度,把人类远远抛在後面。 就像有人相信世界是以有理数(算棋)来构筑的,但後来发现丶有理数不过是浮在无理数(形势判断)之海上的藻屑而已,而人类终究无法测量海有多深,只能对着眼前的藻屑望洋兴叹。 Read more…

 6,820 total views

我們這個年代的英雄 – 林海峰

【我們這個年代的英雄】 撰文—程拓之 在李世石之前統治世界棋壇十餘年的石佛李昌鎬曾說他最尊敬的棋手 就是林海峰 而作品風靡全球華人的武俠巨匠金庸也曾說林海峰是他心中最接近郭靖的人 民國41年 圍棋之神吳清源回台,跟一位十歲小神童在中山堂下了一局讓六子的指導棋。當時台灣有兩個神童 大神童沈君山 小神童就是林海峰,這局棋連白崇禧、周至柔都前去觀戰,最後林海峰輸了一目 吳先生沒有給出極高的評價,只是淡淡地說 有希望 要送去日本就早一點,(沒辦法 整個圍棋史上要找人跟吳先生拼神童 也很難啊) 不過林海峰很爭氣 雖然剛到日本時小孩心性 調皮愛玩 但稍微長大後 就顯露出穩重堅毅的個性 他破了當時日本棋院最年輕的入段紀錄 (從院生正式晉升為日本棋院初段職業棋士) 隨後一路上竄 創下好幾次最快升段或最佳戰績的紀錄 很快地林海峰升到了八段 同時進入最大兩個比賽~名人戰與本因坊戰的循環圈 在那個普遍篤信40歲才能成熟的年代 沒人相信23歲的毛頭小伙子會拿到棋壇最高桂冠~名人 所以雖然他來勢洶洶 圍棋月刊新年特刊上還是拿「林海峰奪得名人」 做為新年囈語的笑話 沒想到林海峰硬是以六勝一敗的佳績擊敗循環圈其他前輩 取得名人挑戰權 讓整個日本棋界開始擦眼鏡 懷疑是否看錯了 當時名人頭銜是在「剃刀」坂田榮男手中 坂田什麼人? 如果昭和年代的棋聖是吳清源 那麼亞聖大概就是坂田 他在吳因傷引退之後接掌了武林至尊之位 45歲巔峰的他前一年才拿下全日本八個棋賽中的七個 所以他自信滿滿地當著林海峰的面說 不可能有23歲的名人 之後的結果 跌碎了全日本人的眼鏡 林海峰4勝2敗 擊敗坂田榮男 成為當時史上最年輕的名人 但繼續讓人更掉了下巴的是 雖然坂田強勢回擊 用剃刀把循環圈群雄全部剃光頭 Read more…

 2,676 total views