返回列表 发帖

从《有远神》一文 探讨围棋AI分析的研究规范(中)

本帖最后由 天马行空 于 2021-2-16 21:18 编辑

作者:崔灿CGF55258  2021-02-11


上一篇了解了AI“吻合度”相关知识与研究规范之后,我们再回过头来看看《有远神》一文,究竟都有哪些问题。


如果忽略20B权重过低的计算量,以及不同权重、计算量下的吻合度直接拿来对比这两点,40B胖权100K计算量下的数据虽然达不到稳定,也算是可以接受。至于能否“验证结论的正确性”,我们后面将会看到结果。


实际上,只要AI的计算量足够,“一选吻合度”就可以与前面讨论的吻合度划等号。如果局面真的是“差之毫厘谬以千里”,第二、三选点必定过不了前面提到的“计算量不低于最高值20%”那一关。至于“复杂度”,先把结论放在这里——如果说“吻合度”的缺陷尚可自圆其说,那么“复杂度”的问题则是致命的。该文所有基于“复杂度”构建的理论及其推论,全部是空中楼阁。这一指标根本无法作为判定任何“好坏”的依据,理由下篇将会专门阐述。


根据前面的测试,不同权重相同计算量的分析结果大致相同。至于20K吻合度低于100K的“反常现象”,尽管这一段的局面的确称得上“复杂”,但主要原因还是计算量不够。哪怕计算量达到每步100K,20B权重的黑方一选吻合度即升之73.8,与该文40B胖权的数据并无显著差异(详见下图)。


20B权重100K计算量下的数据



至于218-258所谓的“对局双方AI附体”,让我们看一下这四十步棋,到底是怎么回事儿。


周小松VS陈子仙 218-258全过程(白243粘)



这一段双方杀的天昏地暗,但过程中充斥着大量必然的下法。左边从黑218开始的进行,应该是周小松的既定路线,可惜黑棋前两步打吃都不被AI认可。除了《有远神》一文已经提到的218之外,KataGo认为220应在224位单拐,那样的话局面仍然呈胶着态势。


需要注意的是,图中40B胖权的胜率并不靠谱。此时AI的计算(右下小图)是黑11之后,白12继续从上面行棋,将黑左上一块吃掉。这样黑棋在右上先手定型,再解消右下的劫争,白棋补活左下角后棋局进入收官,最终黑棋小胜。然而——


白12可以直接提劫(这步棋AI怎么都看不见,必须手动摆上去),胜率瞬间回到五五开。黑11还有其他几种下法,白棋也都是置之不理,先打右下的劫。

这个局面非常有趣。右边的劫争和上边的对杀,最后一定是双方各取其一。然而上边无论是黑杀白还是白杀黑,吃成什么样子是决定胜负的关键——不但关系到局部的目数,还影响转换之后,左下黑棋动手劫杀白角的结果。之后的变化繁多,无法一一赘述。根据笔者的研究,右下小图白16应该继续打劫,再往后没能找到黑棋获胜的道路,各种变化都通向白胜半子的结局。

实战黑棋220断打,让胜率和目差瞬间大幅倾向白棋(不过白233又送了回去,详见后面的解说)。之后222至234基本没什么好想的。白棋除了225和233之外,也没有其他选择的余地,而这两步棋恰恰都偏离了AI的推荐。

下一个偏离吻合的是黑236,AI认为这步棋有更简明的下法,好在后面黑棋都下对的话,不影响最终的胜果。在236冲之后,237至250可以说是一本道。251是个分歧点——白棋是像实战那样打右下的劫争,还是直接在左上角开劫。AI更倾向于后者,但两种结果其实没什么差别,在黑棋不犯错的情况下,都是白棋不行。

通过以上分析,可见周陈二人这四十步棋,与上篇中柯洁那盘开局中刀的棋有些相似——大量的必然下法让吻合度显得很高,其中的失误也就没那么显眼了。


可能有人会说,着法是否必然,在不同水平棋手的眼中是不一样的。高手认为理所当然的下法,在低手那里可不一定,《有远神》文末作者说自己“棋力低微”,根据吻合度作出那样的判断情有可原。不过,这位“棋力低微”的作者在文中用了大段笔墨,对双方的几处“不吻合”进行了分析,下来就来欣赏一下。

首先是黑218。


实际上黑1挡的逻辑是,由于白2只能断,黑棋已经可以还原实战结果了。然而黑3飞才是最佳下法。之后图中的进行,相当于将实战白227变成另一个方向断打(比那个结果还好,因为白8不能贴,还要防黑棋枷吃),后面的事情没有那么复杂,黑9可以拐打之后二路点,白棋直接崩溃(见下图)。


这里周小松显然是没注意到黑3的好手。因为就算没看见黑11,本图至白10的结果,黑棋在逻辑上已经必然优于实战了(实战白227就算换个方向打吃,接下来也不会小尖)。

其次是白233。


文中给出了KataGo的界面,说“实战只比推荐低3、4个点”,那是因为此时小尖的计算量太少了。只要摆上这步棋再算一会儿,就会发现不是低三四个点,而是30个点(从白73.8即黑26.2,到黑58.9!见下图。为了规范比较,让计算量到达与该文图中AI推荐的贴一致)。


当然,站在人类棋手的角度,这里换任何一个人来下,都会是陈子仙实战的选择。因为AI推荐变化中的白5是绝妙的一手,极其难以发现!


按照正常思路,左图白5必须要提掉黑二子,不然右边白棋会阵亡。这样的话,上边扛不住黑6的打击,因此白1贴无法成立。然而有了白A和黑B的交换,白棋再从C位跨时黑棋就不能冲了。需要注意的是,如果黑10之后白棋再从A位点,黑棋可以像右面那样二路小尖,但白棋先点时黑棋不能那么下(见右图,白3愚形补住上边之后,A、B必得其一,黑棋不行)。


图十六



即便有了右上的交换,白1跨下之后的变化依然极度复杂。原因是白5不能直接团在6位做活,那样会让黑9位拐成为先手,随后即可左上一路渡过杀白角,盘踞半个棋盘的黑棋大龙围困自解。白7不能在8位挤也是同理,之后白棋必须要在与黑右上对杀之前,交换到白11——这个局面令人十分烧脑的地方是:白棋左上角其实可以死,但必须要通过打劫将黑棋右上提光。这样转换之后,白棋才能打赢当年右下遗留的劫争!

这里的变化理解起来有一定难度,有兴趣的棋友可以在棋盘上摆一摆。如果黑12不粘(右图),之后14、16就不能松气,否则上边将形成双活。白17仍然不可着急扑劫,必须先在右上通过收气制造劫材。之后拔掉右上黑四子,让黑棋局部无劫可寻,再去打右下的劫。和左图的道理是一样的。

以上几图及其种种分支变化,决非人力所为。没有围棋AI的辅助,要想在棋盘上摆清楚都几乎不可能,更不要说是在对局中了。因此,陈子仙实战未能下对是情理之中,这里的“不吻合”的确不应受到任何指摘。不过,我们来看看《有远神》一文此处是怎么说的。


既然作者也知道“变化复杂”,是哪儿来的自信打出最后一句话的呢?文中附图又是一个不成立的变化,根本没有什么打劫,黑20夹的时候白棋可以一路飞,一击毙命(见下图,对杀黑棋差一气)。


最后是黑236。


为什么AI推荐的下法形成打劫,黑棋胜率却比实战高?KataGo的最后一步棋是什么意思?如果能理解前面白233时那个复杂变化的逻辑,这两个问题也就有了答案。


右上黑棋开劫之后,白棋只能万劫不应,否则被黑棋提回来后无劫可寻。因此劫争的结果必然是黑方吃掉左上白角,形成转换。但在右上扑劫之前,黑棋一定要尽可能的削减白棋左上“残骸”的劫材,这样在转换之后,黑棋才能打赢左下角的劫争!

黑1之后的下法,与“开劫之前先制造劫材”的技巧有些类似。只不过一般的制造劫材是将劫材做大,而图中的黑棋是为了消灭对方未来的劫材。另外,右上白18不补的话,黑棋动手局部也是打劫。黑1至11的过程中,白棋也无法直接去吃右边黑棋,那样的话右上黑角毫发无伤,白棋输的更多。

当然,白棋的败局在233时已经铸成。AI是觉得黑236选择上面这个变化比较简明,实战黑棋的下法并没有改变胜负结果,只是让局面更为复杂化。所以AI没有看走眼,周小松这步棋也不能说下错。不过,《有远神》一文作者的围棋水平到底如何呢?看上去应该不会太低,图文分析的头头是道,结果是不但论断似是而非,文字解说与变化图更是漏洞百出……哦对,这些分析都是40B胖权100K计算量(有的地方还不止)AI的参谋,这再一次印证了上篇中的观点——这种程度的计算量,用来下结论是不够的。20B权重20K的“分析”质量就更不用说了。


再来贴一下这张图。或许“棋力低微”真不是作者的自谦之词,如果说之前的局面过于复杂,AI的计算量不高导致了误算,那么下面这段文字分析,AI表示无论如何也不背锅。


消劫后胜负非常细微——这要看“细微”采用的是什么标准了。但结果不可能是和棋,而是铁定的白胜1子。见下图。


至于陈祖德九段古谱精解大系中的解说,先贴一下原文:


从书中解说可以看出,陈老并没有将之后的小官子推演到底,而是通过点目作出的判断。与目数判断的误差相比,图中还有一个更严重的问题,那就是白13根本抢不到上边的“先手”官子。因为黑14可以在19位破掉白棋下边眼位,盘踞中央的白大龙将全部阵亡。不过,笔者看完那一时期的新闻后,觉得这些疏漏完全可以理解。



与在病榻前用磁性棋盘棋子推演的陈老相比,《有远神》一文作者手里有围棋AI,有可以直接显示点目结果的围棋软件MultiGo,与笔者使用的工具完全相同。下面再贴一遍刚才那张图。


图中变化完全按照AI推荐进行。转换之后,很快就只剩下两目左右官子,并且没有变数,不存在任何难度。并且AI显示的目差也清楚的说明了白胜1子的结果。这个局面的计算量同样只有100K左右,与《有远神》一文的标准相同。在这样的情况下,作者的居然得出了“可能是和棋”的结论,究竟是什么原因,笔者就不妄加揣测了。

另外,该文还说“278时AI认为296是第一候选”,所以“实战296找劫本身是可以成立的”,只是“微小的目数差别”导致了不吻合。请问什么叫“本身是可以成立的”?一步棋能要么能成立,要么不成立,时机的选择本身就是着法能否成立的一部分。至于“微小的目数差别”,难道作者忘记了自己前面列的表格中,黑296这步棋的胜率大跳水么?


为什么278时可以在1位尖寻劫,而实战296时不行?因为这个时候没有黑A(实战278)与白B的损劫交换,也没有白C(实战281)与黑D的“便宜目数劫材”交换,这两处的交换黑棋总共亏损了5目之多。我们刚才已经看到,黑296时白棋消劫是白胜1子的结局,那么此时黑1小尖,白棋消劫自然无法获胜。


黑296正确的下法是在1位寻劫。如果白2消劫,黑棋粘住是先手,之后后可劫杀左下白角,不用再像前面那样为了连络而落后手了(参见白胜1子那个变化)。白2应劫的话,黑7以下就可以肆无忌惮的使用左上的损劫,最终黑方多一枚劫材将白棋打爆(黑棋上边已经无关紧要,右边两块白棋将全部阵亡)。

《有远神》一文说打劫过程中“有些”劫材属于这也可那也可。这句话倒是没错,但与“有些劫材不属于这也可那也可”在逻辑上是一致的。实际上,无论是打劫过程中的失误,还是双方在打劫之前那四十步棋里的不吻合,前文各处的分析已经提到了具体原因。这些问题手基本都可以用“局面过于复杂”来解释,并不会对周陈二人有任何的贬低。如果没有围棋AI,笔者再怎么闷头研究,也无法在这种局面下做到不出错——没有人能做到这一点,无论是古今哪一位围棋高手。

然而该文作者是怎么做的呢?与AI吻合就是“神乎其技”,不吻合则是“人类的心理承受能力不够”,“绝非坏棋”,“AI看走眼了”以及“匪夷所思的错误”。这让笔者想起之前遇到的一位古棋支持者,看到AI在古棋规则下第一步推荐小飞挂角,于是对施襄夏《弈理指归》中的“起手六三最佳”赞不绝口;而“应手九三”并不在AI推荐范围之内,则是“看来AI的进化还不够”。《辩论七律》里的一段话,很好的总结了这一类说辞的荒谬之处。


《有远神》文末的一句话说的很好:“棋艺方面最好就事论事。”笔者衷心希望所有的棋艺研究文章都能做到这一点,能让“就AI论事”的风气早日消散。

题外话:就在本文收尾之际,弈客上又出现了一篇分析清代棋手的文章。无论是文笔风格,还是运用的研究方法,都与《有远神》一文极为相似。不知道为什么,古棋支持者们特别喜欢用个例来推论总体。经常拿一盘棋,棋局中的某一片段,甚至几步棋的“吻合”,来“证明”古代棋手棋力高强,或是“全面超越如今的某高手”。暂且不论上一篇提到的围棋AI研究规范问题,这种论证方式相当于什么呢?《有远神》一文在弈客发表那天,笔者午饭时刷到了两条篮球新闻:


然而只要是看球的人,都知道这个赛季乌布雷有多坑,以及库里是个怎样级别的射手。不看球也没关系,查一下两人本赛季平均数据就可以了。当然,数据有时不能完全体现真实情况,在内线“吃饼”的简单分数,和面对双人包夹的得分难度不可同日而语。这种时候需要具体情况具体分析,不同球迷的眼中可能会有不同的结论。但任何一个有基本常识的人,都不会因为一场比赛(甚至一节比赛),就对某位球员的水平下定论。

围棋AI的出现,大大缩短了职业与业余之间的距离。不过看着AI指点江山,没有想象的那么简单。这里不是说爱好者不能写技术方面的文章,但一个最基本的原则是:有几分证据说几分话。看不懂AI给出的变化,可以让AI多跑一些时间,多用AI摆一摆各种分支,或是在遣词造句方面留些余地,而不是拿着AI的胜率或数据随意下结论。学术研究中的“证明”是一件很严谨的事情,逻辑与观点要经得起推敲,一知半解之处绝不以讹传讹,自欺欺人。一些古棋爱好者散布这种质量的“论证”文章,只会让有一定水平的棋友将“古棋支持者”与“民科”划等号。正所谓“低级红”只会产生负面宣传效果,让中国古代围棋的正名变得更为困难罢了。
附件: 您需要登录才可以下载或查看附件。没有帐号?注册

返回列表