当前位置: 首页推荐
AI龙星战赛后的规则探讨
  日期:2017年12月13日

AI龙星战赛后的规则探讨-在程序员看来,人类规则是不完美的(转自弈客围棋)

AI龙星战赛后的规则探讨

2017龙星战(接续前UEC杯)是当前历史最悠久的高水平AI棋战。在十届UEC杯历史中,法国Crazystone和日本Zen(DeepZenGo的前身)分别斩获第1、2、6、8届和第5、7、9届冠军,朝鲜银星围棋和日本程序FueGo各自在第3、4届折桂。最近两次中国绝艺在第10届UEC和第1届龙星战以压倒性优势蝉联桂冠。如果看历届冠亚军决赛榜单,还可以发现加藤英树先生和Deepmind黄博士的个人作品不动碁和Erica,以及大家熟悉的石子旋风和Darkforest等劲旅。应该说在前AlphaGo时代,这是围棋AI水平最高参赛面最广的盛会,来自各国的AI程序设计者在一年一度的聚会中结下友谊。

今年的比赛过程中场内场外出现了规则问题的热议,大概分为以下三种情况:


1、

中国绝艺预赛第2轮负于日本Maru(棋谱链接)

中国天壤预赛第3轮负于日本エスアル碁(棋谱链接)


这两局在收完单官后日本程序PASS,中国程序继续着子(在中国规则下结果不变,日本规则下每回合亏1目)导致很多回合后被判负;


2、

中国神算子预赛第7轮负于日本Aya(棋谱链接)

中国绝艺16进8比赛456手胜迷ぃ子(棋谱链接)


出现上述情况后所有非日本程序都做了针对如何响应对方程序PASS的特殊处理,但日本程序又出了新招:这两局是日本程序在收完单官后拒绝PASS,利用时间攻势继续在空里填子,直至触发30分钟包干的时限或者400手裁判强制判决(从对局历史看之前几轮这两个程序不是这样下的);


3、

韩国石子旋风16进8对日本きのあ囲碁(棋谱链接)


这局是收完单官以后日本程序PASS,韩国程序宕机,裁判裁定日本程序获胜。



此外还有几局填子棋局,因未影响最终结果且关注度较低暂且不表。


以上棋谱的共同特点是都已形成人类围棋规则下判定的终局状态,但未达成双方程序的最终确认(双方PASS)。引发争议的比赛结果均为日本程序在人类认为输定的情况下依靠规则战胜非日本程序(刚好每个参赛的非日本程序都输了一盘)。

裁判长日本棋院酒井猛九段裁决的依据是组委会十年来沿用的竞赛规则(本次比赛提前40天在网上公示),摘要如下:


1、采用1989日本规则,以服务器时间为准(计量单位精确到0.1秒)30分钟包干;


2、下列条件触发其中之一则判为终局,双方数目确定胜负:

a. 双方程序都pass(双方数目结果不一致时由裁判长裁决);

b. 一方程序认输;

c. 一方操作员认输;

d. 一方超时;

e. 对局进行到400手并且包含一步pass(程序或操作员应及时中止对局),由裁判长裁决胜负;

f. 违反规则,经对手或者裁判长指出后判负;

g. 三劫循环等重复局面出现时裁判长判和,若淘汰赛则加赛;

h. 程序非正常中断时,如果双方剩余时间之和超过40分钟则采用20分钟包干时限重赛,重赛后如果另一个程序非正常中断且剩余时间之和超过20分钟则继续采用20分钟包干重赛,若某一程序非正常中断2次则判负;

i. 因不可抗力导致对局中断由裁判长裁定,承担中断主要责任的一方被判负,不能区分时以棋局内容决定胜负;

j. 被认为不道德竞争的一方被判负并逐出所有剩余赛事,如中途人工干预对局等。

从以上条文来看裁判长的裁决是依照现有规则裁定的,结果也无可厚非。


那么为什么总是非日本AI遭遇规则负呢?这要从计算机围棋的Tromp-Taylor规则说起:

a. 围棋是19X19棋盘上黑方与白方在网格交叉点着色的游戏;

b. 每一个交叉点都被定义为黑、白或者空三色(注意不是两色);

c. 定义“到达”黑/白/空:若存在一条由全是P色的相邻点(水平或竖直)构成的从P点到C色点的路径,则认为P点可以到达C色;

d. 定义“清除”黑/白:将所有不能“到达”空色的黑/白点染为空色(即去掉没有气的棋子);

e. 从全空状态开始黑方先行轮流“下棋”;

f. 定义“下棋”:“虚手”(定义为不改变任何颜色)或是不重现曾出现过的染色状态的“落子”(这里定义了打劫和禁全同);

g. 定义“落子”:首先将一个空点染为己方颜色,然后全盘“清除”对方颜色,再然后全盘“清除”己方颜色(这里定义了提子和禁着点,并允许块子自尽);

h. 连续两手“虚手”则判定为终局;

i. 某一方的点数等于此方颜色的点数加上只能“到达”这一颜色(无法到达对手颜色)的空色点数(这里允许在任何时刻计点,即使未封闭边界);

j. 点数多为胜,点数持平为和。

这是一个严谨的完美逻辑规则,规避了人类各种规则的差异与争论,每个术语都有清晰明确的定义,加上贴点方法即可判断任意围棋局面的胜负。但注意这是一个“蜂窝煤”规则,即不允许己方空内有对方的死子,否则判别计数就会失准。

AlphaGo Zero论文中提到,它所采用的全部人类经验即是修正Tromp-Taylor规则(补充禁着点信息即不许块子自尽),加上中国式贴点方法与722手自动终局,以及旋转与镜像对称。

在人类棋手看来,计算机围棋的规则或是不完美的:提掉空内死子的进程不符合人类审美,如果双方都决定不pass则没有机制干预对局终止,会继续形成相互填子状态;


在程序员看来,人类规则是不完美的:双方棋手认可的去掉死子过程不够严谨(我亲眼见过几次业余5段以上水平的选手双方认可终局时空中可以出棋的情况,还见过双方对对方空中自己棋的死活认识不一致也同意终局了),对循环局面、块子自尽、单方虚手造成的点数变化等描述不统一,造成对于同一盘面的计分结果裁定不唯一等。

在AI围棋比赛中采用人类规则,尤其是与“Tromp-Taylor”规则有冲突的日本规则(双方提光死子所花手数不同),就会造成电脑对终局局面判断的困惑,以及对盘角曲四、不提三目等棋型的判别混淆(因为人类的围棋术语有一些不能转化成为计算机能懂的完美逻辑)。

是不是电脑一定做不到采用日本规则呢?其实是可以做到的,但这就需要追加一些补丁去实现判断什么时候应该pass(中国程序一般用最简单的逻辑即对方pass我就pass其实是不理想的,有两个副作用:一个是有可能损一目,一个是有可能在未终局时双方pass导致胜负无法裁定),以及对盘角曲四、不提三目等棋型的特殊规定。这是长期采用日本规则的日本围棋AI的入门必修课,却非基于中国规则的AI短时间可以弥补。

另一方面讲,基于完美逻辑Tromp-Taylor规则的电脑程序为什么要迁就人类的规定去追加这些补丁呢?难道人类每换一种规则,电脑就要重新追加一次补丁吗?长时间按照完美逻辑规则训练出的神经网络是没办法打补丁的,难道推倒重新训练吗?时间肯定来不及了。


其实人类围棋规则中还包含一些约定俗成的礼仪判例:如包干赛制单官收完后不得在对方空内落子搅局以逼迫对方超时等等。既然人类要求AI按照人类规则计算胜负,是否可以在选手提出申诉的时候引入针对人类认定的终局局面的裁判长仲裁呢?至于是日本规则还是中国规则,按裁判长的要求就是了。

也许这样就可以避免基于人类审美的胜负争端,避免留下令人类观众嗟呀不已的不符合人类审美的棋谱,避免造成人类选手对对手有意利用AI围棋规则与人类规则差异获胜的不符合人类礼仪规范的质疑了吧?规则制定的初衷难道不是希望让AI下出符合人类审美的高水平围棋着法吗?

十年前由学术机构日本电气通信大学认知科学研究系主办时采用上述规则尚可理解,此次比赛的主办方改为日本围棋将棋频道,支持方包括日本棋院等围棋机构,修改规则以让AI下出能够符合人类审美的棋谱势在必行了吧?

最后说一句,某年某月,人类试图统一世界围棋规则的时候,没准还需要借助高水平AI判断,以及基于完美逻辑的Tromp-Taylor规则呢。

返 回

围棋江湖网 联系方式   Email: news@wqjh.net  
Copyright @ 2013 围棋江湖 All Rights Reserved   晋ICP备13004281号