44. 数学能取代人类语言吗?

数学不能取代人类的自然语言,永远不能。如果我们强行用数学去完全代替自然语言,会引起灾难性的后果。下面我们就详细讨论这个问题。

44.1. 数学与抽象化

首先,数学描述的是抽象的数学对象之间的关系。数学对象可以包括数、集合、映射等等。而数学描述的是数学对象之间的关系本身,而不是每个数学对象都各自代表什么。因此,数学符号、数学运算、数学规律的语义都只局限于数学世界。如果我们想用数学模型(可以是自己建的模型)去解释现象,那么我们需要建立起数学模型和现象之间的关系:这种对应关系本身一般不是数学(虽然严格来讲,也可以用映射的方法来实现),但正是它给数学模型赋予了数学本身以外的意义,比如去解释物理现象。如果没有这种对应,那么 \(F=ma\) 就只代表三个(变)量之间的关系,只有我们用自然语言给 \(F\) 赋予了“一个物体所受的合力”的意义,给 \(m\) 赋予了“同一个物体的质量”的意义,给 \(a\) 赋予了“同一个物体的加速度”时,这个式子才有物理意义。如果我们不对数学符号赋义,那么会怎样呢?看看希尔伯特是怎么说的:“(在公理化几何学中),我们必定可以用‘桌子、椅子、啤酒杯’来代替‘点、线、面’”。

那为什么会产生这种现象呢?这是因为在数学对象里,连“最不抽象”的自然数都要经过两次抽象化过程才能得到,而那些以自然数为基础抽象出来的概念,抽象层次就更高了。

  • 产生自然数所需的两次抽象化。我们要产生“1+1=2”,首先就需要两个相等的对象,而在经验世界中并没有两个完全相等的对象。因此,我们必须先产生某种概念,比如面对一些彼此不同的苹果,去抽离掉它们之间彼此不同的细节,得到共性,并把这个共性当作苹果的概念。这样,“苹果”这个抽象概念就可以指代不同的苹果了。有了“苹果”的抽象概念,我们就可以在脑海里想象彼此相同的苹果了,这样我们才有了相等的对象,我们才有了“一个苹果和另一个苹果放在一起组成了一个整体(或者说可以从整体的角度来看)”这种意向(到这里还不是数学)。同时,我们也可以产生“一个梨子和另一个梨子放在一起组成了一个整体”这种意向,“我的手指点了一次之后又点了一次,动作组成了一个整体”等意向。之后,我们再把作为概念的“苹果”和“梨子”等细节再次抽象掉,我们才产生了“1+1=2”:到这里我们才有了数学,它和苹果梨子那些(初级)抽象概念都不再有关了。

  • 随便说一句,在“1+1=2”里,同一律并不被遵守:两个 1 不能指向相同的对象。我们绝不能说:一个苹果加上它自己等于两倍的它自身,但事实上这才是符合同一律的表述。

  • 因此,如果忽略以上两次抽象化的过程去理解“1+1=2”,就可以得出荒谬的结果,比如“(现实中)一个苹果的质量加上另一个苹果的质量,等于一个苹果质量的两倍(哪个苹果的两倍)”?那现实中的一个苹果的什么加上另一个苹果的什么等于两倍的某个苹果的什么呢?所以在“1+1=2”中(以苹果为例),数字指向的不是经验世界中的苹果,而是“苹果的概念在想象直观中的具象化”,而这些被想象出来的具象,是彼此相等的。比如虽然我们可以说“一只动物加一只动物等于两只动物”,但要是我们说“一只蚂蚁加一只大象等于两只动物”(套用计算机术语来说,这里有两次隐性的类型转换),“一架飞机加上一只苍蝇等于两个飞行物体”,我们大概会觉得很可笑,因为这和我们在理解数学时,在想象的直观中使用的两个完全相等的对象,相差太远。

通过以上讨论,我们可以知道,要产生数学,我们首先需要产生某些其他抽象概念。而如果没有自然语言,那些抽象概念则并不能很有效地产生(当然也可以产生,比如猫知道那些外表不同的老鼠都是老鼠)。

而如果我们要把数学应用到实际中去,我们事实上只有一条路:观察和测量。在日常生活中,我们可以近似认为大概差不多的苹果是相等的,当然也会认为两张面值相同的人民币纸币是相等的(更精确地说是它们承载的抽象意义是相同的):这对应了数学中最初级的应用。要更广泛、更精确地使用数学,我们就要诉诸于测量。我们发明了各种测量方法,比如用尺子去测量长度,用温度计去测量温度,用天平去测量质量,等等。这些测量方法使得我们可以把物体的某个性质和一个数字(也可以是向量、矩阵、张量)对应起来:这也就是我们说的量。而物理规律描述的则是不同量之间的数学关系。

44.2. 数学能描述什么?它可以替代自然语言吗?

所以,如果只有数学而没有自然语言,那么数学公式只会有它本身的数学意义。如果在物理学中剔除了数学之外的自然语言解释,我们会觉得很怪异,因为数学实在太“客观”了,客观到不产生意义。我们可以把“红、橙、黄、绿、蓝、靛、紫”编码成“1、2、3、4、5、6、7”,如果觉得不够精确可以编码成 RGB 值,比如(128,96,0)。事实上,对于计算机,我们就是这样做的。然而,这种方式和我们的认知方式极其不相符:不经过很多的训练,我们无法知道一个 RGB 值代表的颜色究竟看起来会是什么样的。我们事实上很容易把自然语言转换为数字:只要用 unicode 表示所有的文字和标点符号就可以了。至于文字的处理,事实上也可以化归为数学运算:这其实和计算机通过二进制数和布尔运算就能实现一切表达和运算是一样的。我们甚至可以用一个数字指代一个范畴去造一门“数字语言”:知乎用户兰兹格尔创造的托兰格语就是用一个字母代表一个范畴,事实上用字母和用数字并没有本质区别。

因此,虽然在理论上,如果我们只使用数学的话,我们仍然可以描述很多东西,但从实用的角度来说,那将是灾难性的。这样,“语言”丧失了它的直觉性,或者说,这套“语言”与我们的大脑根本不能很好地匹配(除了大脑中数学功能的那一部分)。自然语言虽然看起来有很多问题,比如经常会有模糊性甚至会产生歧义,但自然语言非常符合人的认识方式。词语的意思可以引申:这就大大缩减了人们记忆上的负担。而且,词语的本义与引申义之间,具有在人们看起来很自然的联系。比如我们说一个声音是暖的,我们事实上产生了一种类似于在温度上的暖的感觉。在自然语言的很多其他方面也是如此:正因为自然语言符合人脑的运行方式,所以我们很容易记住一句有意义的话,但很难记住一串没有规律的数字。自然语言中的模糊性事实上也有正面作用:我们可以从概念的辨析中得到新的想法,新的概念。如果一切都用数学符号来表示,这些都会变得很难。事实上,就连上数学课,老师也需要使用大量的自然语言来帮助我们去理解数学语言背后的意义。如果我们把数学书里的所有自然语言都去掉,那数学书将是极其难懂的,如果不是无法理解的话。

况且,虽然数学公式用书面表达很优美,但要用语音来表达,则经常是非常笨拙的。而语音是人类语言的重要组成部分:没有语音,人们之间的交流效率会低很多。

数学虽然是人类的一种重要认识方式,但它终归只是人类认识方式中的一种。这种认识方式虽然能“模拟”其他认识方式,但对于人脑而言,这种模拟是笨拙而低效的。这事实上是计算机的“认识方式”:计算机通过数学算法和大规模计算也可以进行模式识别,比如在一幅画里识别对象,在说话的录音中识别词语,但目前仍然不如人自己做得好。而意识事实上不知道这种识别是怎么完成的,否则人们很容易就能写出一个和媲美人脑的计算机模式识别程序。计算机这种尚不令人满意的识别,还是建立在快速运算上的。如果人脑也学计算机这样搞,那结果将是灾难性的:这就好像我们本来只需要种植已有植物就可以吃上粮食,最多再做一些育种,但如果我们非要自己用分子去组建细胞、自己造一个植物出来,在理论上也不是不可以,但是估计在人们收获之前就被饿死了。所以,我们应该想办法把大脑的所有功能用到极致,而千万不能去无限拔高一些功能的重要性,而去打压本来最适合完成一个任务的大脑功能。我们尤其不能觉得理性认识高于感性认识,于是就想要用我们觉得最完美的理性认识方式(比如数学)去替代其他所有的认识方式:那样就是越俎代庖了。

如果读者对这些问题有进一步的兴趣,请参阅《哲学的重建》,特别是“抽象化、具象化与抽象建构”和“数、直观与时空”。