必胜策略,围棋之道
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
必胜策略,围棋之道
在职业围棋圈,一部分棋手自称“求道派”。“道”者,终极真理是也。与“棋道”如影随形,“围棋上帝”、“围棋之神”也是棋手和棋迷常挂在嘴边的两个概念。在上一章节我们讲到,围棋之多变如恒河沙数,非人力所能及。思及此,棋迷朋友可能会诘问,围棋的终极真理是否存在,“围棋上帝”到底会怎样下棋。笔者将在本文解答这两个问题。(本文部分内容参考了笔者的其它回答)
1、小学生的游戏围棋,终究还是个游戏。欲知围棋之道,我们可以先从研究一个简单的游戏入手。抢三十,一个酒桌上的小游戏,也是一道小学奥数题。它的规则是这样的:甲和乙从1开始轮流报数,每次可以报1、2或3个数。比如甲报1,2;乙报3,4,5,甲报6,乙报7,8. 报出“30”这个数字的玩家获胜。抢三十的诀窍,说来也不难,只需用到一点逆向思维。如果甲想抢到30,一定不能以29收尾,否则乙下回合可以直接抢到30。同理,甲也不能以28或27收尾,不然乙也能直接抢到30. 不过,若是甲以26收尾,则乙在下一回合必然抢不到30. 不仅如此,乙下一回合必然以27,28,29三者之一收尾。这样一来,轮到甲的时候,甲必然能抢到30. 因此,甲抢到26就可以保证获胜。同理,想要抢到26,甲必须抢到2
2、18、14、10、6、2. 我们以下
图示意:以红色的30为最终目标,橙色的26、22等数是兵家必争之地,而白色的27、28、29等数,只能过站,不可以停留。甲玩家只需一路占领2、6、10、14、18、22、26这一串等差数列,即可将胜利收入囊中。小结一下。抢三十这个游戏,先手方(即先报数的甲玩家)有必胜策略,而且可以用数学语言精确地描述:先手方先报1,2;之后,
若后手方报n个数(n=1,2或3),则先手方立即回以4-n个数。最终,先手方总能抢到30. 在博弈论(Game Theory)中,数学家把像22、26这些游戏中的“兵家必争之地”,称作必胜局面(Winning Position)。换句话说,抢到必胜局面的一方,即可稳操胜券。相应的,像27,28,29这样的节点,在此停留就会失败,被称为必败局面(Losing Position).
这个策略说来容易,却隐藏着许多变化。举个例子。甲报1,2,乙报3,4;这是一个回合。每一个回合,甲都会占领一个新
的必胜节点。七个回合结束以后,甲才能抢到30. 每一个回合中,乙可以报一个、两个或三个数,各有三种选择。根据乘法原理,六个回合中,乙共有3*3*3*3*3*3*3=3^7=2187
种策略的组合。只不过,乙的变化再多,也逃不出甲的手掌心。那么,如果甲和乙抢的不是三十,而是每次可以报1-299个数字,报出1,000,000者为胜呢?依样画葫芦,我
们仍可以为先手方找到必胜策略:先手方只需先报100。然后,若后手方报n个数(n=1,2,...,299),先手方立即回以
300-n个数。先手方总能抢到
100,400,700,1000,...999700,1000000这一串数,即“必胜节点”,从而获胜。我们来看这一套必胜策略包含的变化。后手方每次有299种选择,先手方每次也只有一种回应。3330个回合之后,先手方就能获胜。因此,总变化数是299^3330。数字虽大,终究有限。因此,这个无聊的游戏,就算是上帝来和笔者玩,只要笔者拿到先手,就输不出去。这就是抢三十这类游戏的“终极真理”了。
2、完全信息游戏与策梅洛定理抢三十这一类游戏,我们能够运筹帷幄、立于不败之地的关键是,我们知道对手所有可能的选择,我们了解游戏中所有的信息。像这样的游戏,我们称之为完全信息游戏(Perfect Information Game) 【反例:斗地主不是完全信息游戏,因为看不到对手的牌】。另一方面,抢三十也是一个有限游戏(Finite Game),即它总是在有限个回合内完成。对于所有的完全信息有限游戏,我们都可以画出它们的游戏树(Game Tree)。就像图论中的树一样,一个完整的游戏树包含有一个起始节点,代表游戏中某一个局面,接着下一层的子节点是原来父节点局面下一步的各种可能性,以此类推。游戏树逐层扩展,直到游戏结束。上图是抢三十游戏树的一部分。19这个节点只与20、21、22这三个节点连接,意味着若甲报出19,则乙只能报到20、21或22. 其它节点间的连接关系同理。抢
三十游戏相对简单,在于它只有一个终局局面,或者说游戏树的末端节点,也就是30。我们很容易从这唯一的最终节点逆推出必胜策略。但是对于拥有不止一个终局局面的游戏,推理最优策略就不那么容易。这时,就轮到游戏树出场亮相了。接下来,我们再介绍一个游戏为例。井字棋
(Tic-Tac-Toe),又称XO棋,是一种简单的棋。对局双方轮流在3x3的棋盘上落子,在横、竖或对角线方向上连成三个的一方获胜。如下图,是从空枰开始的井字棋游戏树。如果能完整地画出一个游戏的游戏树,那么我们就像掌握了抢三十的秘笈一样,只需按图索骥。比如说,对于井字棋游戏的一个残局,下图的游戏树给出了双方所有的应对可能性。此残局的初始局面,由画“X”一方先行。X方有三种选择,而每一种选择下,O方也有两种应对。标有蓝色分数的棋局是终局节点,+1表示X方获胜,-1表示O方获胜,0表示平局。很明显,X方不能选择棋盘右边的两个点,否则O方可以一击绝杀。因此,X方只能走在棋盘左边。这样一来,即使O方选择正确,X方也能保证平局。游戏树第二层和第三层的部分节点标有黑色数字。这些节点并非终局,但我们可以简单推理出双方都走对情况下的棋局结果,标上+1,-1或0。同理,我们可以逐层往上标记,直到残局的初始局面,也就是游戏树的起始节点。图中,起始节点的值是0,因此我们得到结论,此残局若双方应对无误,结果是平局;X方
应走在棋盘左中的一点。井字棋完整游戏树,来自Wikipedia 更进一步,如果我们画出井字棋的完整游戏树(如上图),我们就可以用同样的方法,逆推出游戏树中每一个节点最终会走向何种结果,最终推出双方的最优策略,以及在最优策略下谁胜谁负。事实上,如果从空枰开局,双方不犯错的情况下,井字棋会以平局收场。所有的二人完全信息有限游戏,如果没有运气成分(例如飞行棋掷骰子),在理论上我们都可以用同样的方法,画出游戏树,从结果逆推到开局。数学家恩斯特·策梅洛(Ernst Zermelo)将这个结果总结为策梅洛定理(Zermelo's Theorem),表述如下:若二人完全信息有限游戏不涉及随机成分,则要么先行方有必胜策略,要么后行方有必胜策略,要么双方均拥有必不败策略(即若双方都不犯错,游戏将会是平局)。策梅洛定理的严格证明,其实和前文井字棋部分所述类似。在确定游戏树之后,从所有终局局面出发,可以推断出任意局面的胜负性(即此局面何方有必胜策略,或者双方均有不败策略),直至初始局面。在数学上,这种推理的方法,被称为反向数学归纳法(Backward Induction)。策梅洛定理适用于大部分为人熟知的棋类游戏,比如国际象棋、五子棋、黑白棋、西洋跳棋等,但不适用于涉及运气成分的飞行棋,也不适用于多方混战的中国跳棋。3、围棋,有限游戏?读到这里,性急的读者可能已经脱口而出,“那么,围棋当然也适用策梅