关于围棋的复杂性,我最近要写一个关于人类用了哪些智慧方法去处理的文章,所以在此不细表,只简单说说围棋与象棋的比较。
大家凭借经验感觉,说了很多围棋与象棋的差异,并用来“证明”围棋复杂。其实围棋与象棋类棋的最大也是最核心的区别,在前面只有偶尔提到,那就是象棋类棋有“将”。
“将”在象棋模型中是个“恒定的无穷大量”,而围棋类棋中不存在如此“定义”的量。很多人以为如果模型中有这样“无穷大量”必定很难很复杂,其实正相反。其实很简单正因为有此“无穷大量”,所以其它量均可以此为基础进行“微扰”分析,这种问题是自然界最简单的问题之一,用数学的话说是“可重整化模型”。人类早就1960年代后在数学和物理中普遍运用此方法,典型的理论是相变理论。例如你把磁铁放在火里烧,就能够退磁,“重整化群理论”就可以计算出相变点在何处;又比如我们自然界的粒子(如电子,质子和中子)为什么会有质量,现代物理认为宇宙早期就经过了“相变”,粒子通过Higgs机制获得质量,这也可用“重整化群理论”计算出质子等应当有多少质量(精确到一百亿分之一,这是人类迄今最精确的理论,真疯狂啊)。
象棋类棋因为有“将”此类变量,所以人类知道如何去解决它,所以也就会教计算机去学,所以计算机就能打败人。楼主曾说棋盘大并不是复杂性的表现,很对。因为围棋与象棋的本质区别是“将”变量,所以并不是棋盘大小决定的。例如如果把象棋的棋盘扩大一倍,计算机只要快一两个量级(大约十年时间)就可以了,但围棋就不是如此简单的了,几乎是指数增长模式。
从上面分析我们可以看到象棋类游戏和围棋类游戏是根本不同的数学问题,象棋类问题是自然界最简单问题的一种,是人类为数不多的可解类型的问题。而围棋类的数学模型根本没有,我曾给它定义成“强关联的少体体系”,人类社会的问题(例如股票,交通,甚至管理)几乎都是这类问题,也是目前没有基本数学方法的问题。反映在计算机下棋上,就是人类会写好的象棋的“优化函数程序”,也就教会了计算机怎么去判断形势,而围棋类棋,人类根本不知道如何去写“优化函数”,所以计算机根本就不知道怎么面对复杂情况,所以也就到不了1d水平。从根本上说不是计算机速度问题,而是人类根本不知道如果把握此类topic的问题。
这牵扯到人类对自己智慧的理解。人类自己知道如何凭经验和创造性处理各种复杂问题(其实动物也会一些),但是“只知其然,不知其所以然”,并不知道如果去建立如此能力(没有数学模型)。但人脑对简单重复性的多次操作,并不强,容易出错,而计算机在这方面很强,不会出错。生活中人类可以克服这个问题,因为人类可以多次检查修改,但棋赛中就不行,所以计算机可以在象棋类中赢最强的人。
最后说说前面提到的围棋水平问题。我个人认为围棋水平必定要的1d以上才开始真正的“知道”什么是围棋(肯定有很多板砖等我了)。这是很现实的问题,例如你不可能与一个小学生谈论物理和数学的不同的美,因为他们根本就不懂什么是物理什么是数学,当然这并不妨碍他们去思考应用题(兼有物理和数学思考)和他们思考的乐趣。围棋比象棋更为复杂!所以奖金当然高!