莱布尼茨对通用思想语言的探索


计算机科学的现代史可以说是从有史以来最著名的数学家之一戈特弗里德·莱布尼茨 ( Gottfried Leibniz ) 开始的。

他最出名的可能是与艾萨克·牛顿共同发明(或共同发现)微积分。我们大多数现代微积分符号,包括积分和微分符号,都深受莱布尼茨原始符号的启发。

但在这篇文章中,我们关心他主要是因为他关于数学可能是什么的更大梦想。

莱布尼茨对符号可以简化一个复杂的数学问题的程度感到惊讶。看看下面的例子:
“鲍勃和爱丽丝是兄弟。鲍勃比爱丽丝大 5 岁。两年前,他的年龄是她的两倍。他们几岁?”

早在发明代数之前,解决这个问题的唯一方法就是努力思考,或者尝试一些幸运的猜测。但是使用代数符号,您只需编写如下几个方程式,然后应用一些简单的规则即可获得答案。

今天,任何一个高中数学学生都可以解决这种问题,但是他们中的大多数人对他们正在做的事情没有丝毫的概念。

他们只是运用规则,然后答案就出来了。

重点不是这个问题,而是使用正确的符号(在这种情况下是代数符号)并应用一套规定的规则(算法)。
你可以只是插入一些数据,而数学似乎自己工作,几乎保证了一个正确的答案。

在这种情况下,你就是计算机,遵循一些聪明的 "程序员 "设计的一套指令,几乎不需要你的创造力或智慧,只需要费尽心思地正确应用每一个步骤。

莱布尼茨看到了这一点,并想到了这样的问题:
"如果我们能设计一种语言,就像代数或微积分一样,但它不是操作已知和未知的变量,而是一般的已知和未知的真理陈述,会怎么样?"

在他的梦想中,你会写出与一些你不知道的语句有关的已知真理的方程,通过符号的纯语法操作,你可以得出这些语句的真理。

莱布尼茨称其为Characteristica Universalis。

他把它想象成一种表达人类知识的通用语言,其方式独立于任何特定的人类语言,并适用于人类思想的所有领域。

如果这种语言存在,那么只需建造一个大型的物理设备--他可能想象的是一个巨大的风车--就能把人类目前所有的知识塞进它,让它运行,它就会输出关于数学、哲学、法律、伦理等的新定理。

简而言之,莱布尼茨要求的是思想的代数,即我们今天所说的 "逻辑"。

不过,他并不是第一个考虑推理自动化的可能性的人。

拥有一种能够可靠地产生真实语句的语言的想法是西方哲学的一个主要趋势,从亚里士多德的Syllogisms开始,一直到笛卡尔、牛顿、康德以及基本上所有曾经生活过的理性主义者的作品。

大约四个世纪前,哲学家拉蒙-鲁尔(Ramon Llull)有一个类似但更狭隘的想法,他称之为Ars Magna,这是一个逻辑系统,用于证明关于上帝和创世的陈述。

然而,莱布尼茨是第一个认为所有人类思想都可以用数学语言系统化的人,甚至更进一步,敢于梦想建造一台机器,可以应用一套规则,自动得出新知识。由于这个原因,他被广泛认为是第一位计算机科学家,而在那个时代,计算机科学甚至还不是一个概念。

banq:学数学不是解题,解题属于解决方案领域,数学是针对问题领域的描述,学数学是要学习如何有逻辑地表达问题域。问题域与解决方案域是两种不同的东西,南辕北辙。