走进科学
五子棋有什么好玩的?
当你第一次听说大学有五子棋比赛,甚至还存在“五子棋协会”时,你的反应或许是:“这玩意儿有什么好比的?我四岁时就能靠五子棋打遍幼儿园无敌手。”
我的第一反应也差不多,于是我回忆着小学二年级时终结我职业生涯的十连负,点开了“○大杯五子棋竞赛规程.pdf”,才发现正式的五子棋比赛并不像之前想的那么简单。
我唯一猜对的是传统五子棋已经被计算机完美解决了(Allis, 1994)。在一个15*15的棋盘上,如果对先手的黑棋没有任何限制,存在相当多必胜下法。当然,如果执黑棋一方水平太差(例如十余年前的我),输掉是完全可能的。
当然,五子棋作为一款古老的游戏,人们早已认识到先手方有巨大优势,甚至在一本叫《五子棋:从入门到精通》的书中,作者列出了无限制五子棋的先手必胜下法(Sakata and Ikawa, 1981)。因此,为了限制先手方,人们想出了种种神奇的规则。一般来说,不加限制的五子棋称为“五目(Gomoku)”,而附加神奇规则的五子棋称为“連珠(Renju)”。
上文提到的这本书中就有一套“連珠”规则:
·黑棋先手,白棋后手,在15*15的棋盘上先后落子。
·黑方获胜条件是在任意方向连续排列五个棋子,但是不能多于五个子,否则判负。
·黑方不能下出“双三”(两个“三”的两端都没有棋子)或“双四”(两个“四”至少有一端没有棋子),否则判负。
·白方获胜条件为在任意方向连续排列至少五个棋子,超过五个也能获胜;如果黑方下出上两条规定的“禁手”,白方也获胜。
即使如此,在进行了大量的棋局后,人们发现先手方还是有巨大的优势(Sakata and Ikawa, 1981)。再增加限制只会让规则变得更加复杂,违背了五子棋作为一种规则简单的棋盘游戏的初衷。
在讲解决方案前,先讲个小故事:有人给Sein和Colt送了一个蛋糕,而Sein和Colt都很喜欢吃蛋糕,那么最公平的分配方式是什么?
答案大家都知道:先让Colt把蛋糕切成两块,然后让Sein挑选一块蛋糕就行了。
用相同的逻辑,职业連珠比赛加上了“两手交换(Swap2)”的规则。
举个例子:
Colt执黑先手,由于职业連珠的限制,第一子必须下在“天元”,即棋盘正中。Sein执白后手,根据规则只能下载在天元周围八个位置中的一个。Colt继续黑棋第二手,只能在棋盘中央5*5方块中间落子。
三子落定,起手阶段结束,棋盘上有两个黑子和一个白子。Sein面临一个选择:(1)继续执白棋,下白棋的第二手,或(2)换为执黑棋,白棋的第二手让Colt下。无论是否交换,双方的棋色就此固定,不再变动。
当棋盘上有黑白子各两个时,黑方(第三手)必须下两个子,让白方选择一个“更喜欢”的落子位置并保留。在这种情况下,棋局开始时的先手方完全不存在优势,黑方因为有禁手也受到了一定限制,因此,职业連珠的规则相当公平(Allis, 1994)。
当然,两手交换的规则对初学者有些困难,而且由于被研究得相当透彻,不太适合初学者与高手同台竞技,因此○大杯五子棋竞赛采用了“一手交换”规则,去掉了“禁手”和职业連珠的起手规定。再举个“一手交换”的例子:
Colt执黑先手,下在棋盘上的任何一点都可以。此时Sein可以选择(1)执白棋继续下,或(2)换成黑棋,让Colt执白继续。之后的流程与“幼儿园五子棋”完全相同。
“一手交换”相当富有深意:如果Colt第一手下在黑方必胜位置(如天元),那么Sein就可以要求交换,窃取胜利果实;如果Colt第一手下在“垃圾位置”,例如棋盘角落,那么Sein大可以继续执白棋,趁权力真空之机,占据天元。因此Colt的第一手必须下在一个不太好又不太差,使黑白双方势均力敌的地方。
然而优秀的制度并不一定会带来预期的结果:据○大五子棋协会成员称,历年五子棋比赛很少有人交换,先手下在必胜位置却被打得落花流水者大有人在,大多数参赛选手的水平往往停留在小学。
正文完
附录:
**过敏原信息:下文内含政治哲学内容,过敏者可以跳过**
“先让Colt把蛋糕切成两块,然后让Sein挑选一块。”
“Colt的第一手必须下在使黑白双方势均力敌的地方。”
这两个规则其实都是“最小最大规则(maximin rule)”的实际应用,该规则由约翰·罗尔斯提出。
罗尔斯老爷子认为,为了达到公平,资源的分配者应该在“无知之幕”后进行分配。在“无知之幕”后的人不知道自己的任何身份信息,如性别、国籍、出生地、年龄、受教育程度、富裕程度等等。 罗尔斯还认为,一个理性的分配者会保证分配结果中“境况最差的人被分配到尽可能多的资源”,当然,这一点仍有争议。
**过敏原信息:下文内含博弈论内容,过敏者可以跳过**
其实,在没有“禁手”或“交换”的情况下,对于任何两人参加、轮流落子的“连成一线”类游戏,先手方都不可能输。这类游戏在数学上称为“mnk博弈”,mnk博弈的规则为:
·在一个m*n的棋盘上,黑白双方轮流落子;
·第一个在水平、竖直或对角线方向连续摆放k个子的一方获胜。
例如五子棋是“15, 15, 5”博弈, ○○××井字棋是“3, 3, 3”博弈。
为什么后手方在任何mnk博弈中都不可能赢呢(理想情况下)?
继续举例:
假设后手方(Sein)有某种必胜策略,无论先手方(Colt)的第一手下在哪里,后手都能获胜。由于不考虑两名棋手的知识水平差距,Sein 和Colt都知道这种后手必胜的策略。
Colt无论在哪里放下第一个子,Sein都可以开始采用这种必胜策略。但在下第一手之后,Colt闭上了双眼,假装忘记自己下了第一个子。当Colt睁开双眼,Colt只会看到对方的第一手,在他的思维世界中,他变成了后手,那么他就可以采用后手必胜策略获胜。如果Colt在执行“后手”获胜策略过程中要求下在被遗忘的第一手的位置,那么他随便下一个子就可以了,毕竟多下一个子只会增加他的优势。
也就是说,Sein和Colt都能用这种后手必胜策略获胜,皆大欢喜,然而在逻辑上是矛盾的,因此,后手必胜的策略是不存在的,也就是说,棋盘上存在至少一个点,只要先手第一手下在这个点上,就不可能输。
如果想了解哪些mnk博弈先手方必胜,哪些博弈只能做到平手,可以看马伟基教授对mnk博弈的讨论。
**过敏原信息:下文含有职业五子棋内容,过敏者可以跳过**
在职业五子棋比赛中,起手三步是受到严格限制的,第一步必须下在天元(棋盘中央),第二步必须在以天元为中心的3*3方框中,第三步必须在棋盘中央的5*5方框中。除去对称的情况,連珠一共只有26种起手方式,分别称为:长星、峡月、恒星、水月、流星、云月、浦月、岚月、银月、明星、斜月、名月、彗星、寒星、溪月、疏星、花月、残月、雨月、金星、松月、丘月、新月、瑞星、山月、游星。
经过大量研究,疏星、瑞星起手,双方优势相同;长星、流星起手,白方有轻微优势;彗星、游星起手,白方必胜,其他二十种起手方式都对黑方有利甚至黑方必胜。
Bibliography:
L. Victor Allis (1994). Searching for Solutions in Games and Artificial Intelligence. Ph.D. thesis, University of Limburg, The Netherlands. pp. 121–154. ISBN 90-900748-8-0.
Sakata G. and Ikawa W. (1981). Five-In-A-Row (Renju). The Ishi Press, Inc., Tokyo.