围棋中的数学原理

2017 年 8 月 5 日 算法与数学之美 学习板块

围棋一向被誉为是人类大脑智慧的专利,围棋的走法,几乎和宇宙中原子数量相同,甚至更多,每回合有250种可能,一盘棋可以长达150个回合,共有1后面再加360个0种下法,这样的计算量,对计算机来说叫暴力计算,非常残忍而且很难实现(对数字不敏感的直接看下面的GIF图更直观。但正是因为这种深度和复杂,所以几乎每个中国人都听到的话就是,围棋可以锻炼数学思维和逻辑能力。别急,至少让我们先看看围棋中有哪些数学原理。很认真的。


围棋的思维图


围棋,起源于中国,可以说是最早产生的一种棋类。相传围棋为尧所造,已经有4000年的历史。最初围棋可能与天文有联系,后来逐步变为纯粹的策略游戏。围棋的规则很简单,可以理解为双方抢占棋盘上的空间,对弈双方谁围起的空间越大谁就获得胜利。这与如今的市场经济体系是有相似之处的。


博弈论是二人在平等的对局中各自利用对方的策略变换自己的对抗策略,从而达到取胜目的理论与方法。其最早期的研究对象就是象棋,桥牌,赌博等。所以也可以用博弈论中的方法来研究围棋。

在围棋的一些基本概念,如死活,围空,实地与势中都蕴含着数学的原理。我们来细细看过。


有一句棋彦叫“多子围空方胜扁”,其意思是用多颗棋子围空的时候,棋型要尽量走成方形,也就是要有立体感,要把棋子的效率最大化,这样能围城大空。扁的棋型所占目数少,子效很低,弹性小。这其实是一个约束条件下的最优化数学问题。


下棋时我们总是希望用尽量少的子围出尽量大的空。当所用的子数一样时,围空越大越好。可以近似的把这个问题抽象为一个条件极值问题:矩形周长C为定值,求矩形面积S的最大值。

即求:

构造拉格朗日函数,

则可以列出方程:

解得:

由于空的最大值在区间内一定存在,所以易得:

就是最大值取得的条件,也就是说矩形为正方形时围空的效率最高。有经验的棋手布局时就会注意这一点,将子下得高低错落有致,这样易于高效的围出空来,不至于下出扁平的臃肿的所谓“愚形”。


当然,关于围空效率的问题,还有很多的棋彦,比如“金角银边草肚皮”,“莫压四路,休爬二路”,“七子沿边活也输”等等,这些道理都较易明白,这里就不再赘述了。


死活棋中的数学原理


围棋的死活是最基本的一项规则,可能也是唯一的规则了,所以死活的研究对于每一个棋手都是非常重要的。在下围棋时的计算主要就是死活和目数。对于一块棋的死活的计算,最一开始我们利用较多的就是穷举法,将可能的走法试一遍,来判断棋的死活。当然这种方法最适用于简单的死活,比如一些初学者做的死活题,因为此时可能性不多,能够穷举出来。对于一些复杂的死活问题,化归的思想是非常有用和自然的,如果能够试法将复杂问题转化为自己已经知道结论的简单问题,就能对自己的分析起到指导意义。比如我们一看到若干步之后能够构造出经典的活棋形式,就可以断定这片棋是活棋。

在对杀的过程中往往要判断自己单个眼内的内气是否满足需求。眼中内气的求法可用数列通项的递推方法来计算。若大小为n的眼位有an口气,则大小为n+1的眼有an+1口气,an+1与an满足的关系是

通过逐项相消的方法,可求得an的通项公式为

我们可以将该结论进行验证,

结果均与人们平时所熟悉数据的一致。当然n≥7时的大眼是公活的,讨论其气数在实战中意义不大,但是,这样的分析问题的方法却是值得借鉴的,因为这种递推的方法有助于我们化繁为简,加快计算速度。



围棋盘上格点数为19×19的数学原理


纵横十九道,迷煞多少人。围棋的规则现在已经基本定型。围棋的发展经理了一个漫长的过程。如今棋盘为19×19,也是经历了历史的演变。当然,围棋盘为什么是现在这个样子一直还是有争议的。但我们可以通过实地与外势的平衡来分析这个问题。


围棋盘上三路线被称为地线,在地线上行棋容易将低路上的空地围住。四路线被称为势,虽然不能完全控制住低路,但是对高路的围空很有帮助。我们可以看一个极端的例子。对于N路棋盘(一般最小的棋盘为九路,即N≥9),若地线全部被黑棋占领,势线全部被白棋占领(如下图所示),

则双方的围空效率之差为

其中,

这一项当N≥9时单调递减,

这一项也单调递增,所以整个式子是单调递增的。将N=18和N=19代入式子中,我们得到

可见N=19时|△λ| 取得最小值,即在十九路棋盘上行棋,双方的效率基本一致,使得取地与取势没有明显的优劣之分,这大大的拓宽了围棋的战术。所以围棋使用十九路棋盘不是没有道理的。


围棋是异常复杂与有趣的。它本身就是双方博弈的一种典型情况。围棋的道理与现实生活其实是紧密相关的,比如弃子、脱先、以及取势取地。这些特殊境况下的决策其实我们都会遇到。当然,很多情况下每个人找到的“最大的一手棋”都是不一样的,或者更本就没有这样的一手棋,但是我们必须要通过仔细的推理,判断来进行下去。


对于围棋的研究还是挺有实际意义的。围棋中无论是大问题还是小问题,我们可以尝试将这些问题抽象成数学问题,看清它的本质,这样对我们理解棋理甚至理解这个世界都是有好处的。



高质量延伸阅读


☞  哈尔莫斯:怎样做数学研究

☞  扎克伯格2017年哈佛大学毕业演讲

☞  线性代数在组合数学中的应用

☞  你见过真的菲利普曲线吗?

☞  支持向量机(SVM)的故事是这样子的

☞  深度神经网络中的数学,对你来说会不会太难?

☞  编程需要知道多少数学知识?

☞  陈省身——什么是几何学

☞  支付宝人脸识别的技术高大上,似乎是技术背后,的那个人做了场演讲

☞  曲面论

☞  曲面论(第二讲)

☞  曲面论(第三讲)

☞  自然底数e的意义是什么?

☞  如何向5岁小孩解释什么是支持向量机(SVM)?

☞  华裔天才数学家陶哲轩自述

☞  代数,分析,几何与拓扑,现代数学的三大方法论


登录查看更多
1

相关内容

数学是关于数量、结构、变化等主题的探索。
【经典书】机器学习高斯过程,266页pdf
专知会员服务
228+阅读 · 2020年5月2日
《强化学习》简介小册,24页pdf
专知会员服务
270+阅读 · 2020年4月19日
干货书《数据科学数学系基础》2020最新版,266页pdf
专知会员服务
318+阅读 · 2020年3月23日
【强化学习】深度强化学习初学者指南
专知会员服务
179+阅读 · 2019年12月14日
解耦强化学习的值函数学习
CreateAMind
6+阅读 · 2019年9月5日
视频 | 计算机科学中的数学 01
遇见数学
15+阅读 · 2018年4月14日
【原理】学懂GAN的数学原理,让它不再神秘
GAN生成式对抗网络
3+阅读 · 2017年11月26日
【直观详解】支持向量机SVM
机器学习研究会
18+阅读 · 2017年11月8日
GAN的数学原理
算法与数学之美
14+阅读 · 2017年9月2日
【原理】GAN的数学原理
GAN生成式对抗网络
8+阅读 · 2017年8月30日
PCA的基本数学原理
算法与数学之美
11+阅读 · 2017年8月8日
大学数学不好,或许是数学教材的锅?
算法与数学之美
15+阅读 · 2017年8月1日
Arxiv
3+阅读 · 2018年6月24日
Arxiv
11+阅读 · 2018年4月25日
VIP会员
相关资讯
解耦强化学习的值函数学习
CreateAMind
6+阅读 · 2019年9月5日
视频 | 计算机科学中的数学 01
遇见数学
15+阅读 · 2018年4月14日
【原理】学懂GAN的数学原理,让它不再神秘
GAN生成式对抗网络
3+阅读 · 2017年11月26日
【直观详解】支持向量机SVM
机器学习研究会
18+阅读 · 2017年11月8日
GAN的数学原理
算法与数学之美
14+阅读 · 2017年9月2日
【原理】GAN的数学原理
GAN生成式对抗网络
8+阅读 · 2017年8月30日
PCA的基本数学原理
算法与数学之美
11+阅读 · 2017年8月8日
大学数学不好,或许是数学教材的锅?
算法与数学之美
15+阅读 · 2017年8月1日
Top
微信扫码咨询专知VIP会员