zl程序教程

您现在的位置是:首页 >  IT要闻

当前栏目

乔治·布尔二百周年:数理逻辑奠基者其人其事

2023-03-09 22:05:12 时间

今年的11月2日是乔治·布尔诞辰200周年纪念日。在现今的电子世界中,我们经常会听到一个叫“布尔”变量的词——只有两个值,1或0,TRUE或者FALSE——就是以他的名字命名的。有些人可能会想,“这是个多么无聊的发明啊!谁会有需求用到这种变量啊。”但历史总是惊人地相似,其实,布尔类型变量只是乔治布尔对逻辑学贡献的一个副产品。


乔治·布尔出名前,数学和逻辑学已单独发展了二百多年。他通过布尔代数这一概念,将两个学科结合在了一起。数理逻辑领域创建后,一系列新探索都被带动起来,例如通用计算。


乔治·布尔发明布尔变量最初的目标,是想通过一系列数学公理来重现经典逻辑的运算结果。他从研究经典代数开始,例如x,y变量,加减乘除这种。


一开始,他发现经典代数和逻辑的相似之处很多。例如,p and p(在这里,and表示“与”运算)和q and p是一样的,就像q*p = p*q。但是如果深入追究,就发现还是有所不同的。比如p*p=p^2,但是p and p还是p。这就存在歧义,乔治·布尔的想法是:仍然使用经典代数的符号,但是添加了一些额外的公理,就能表示出绝大多数逻辑学的结果了。


乔治·布尔用数学语言正式地描述了这套理论。但是几十年来,这些理论又不断被修正,从上个世纪的经验中,更加简单的形式逐渐被发现。之后,也就是16年前,Stephen Wolfram(即本文作者)结束了这漫长的进化历史。之前的工作已经证明了一套至简的公理体系是完全可行的,Stephen提出,其实只需要一条公理就够了。

0?wx_fmt=png

Stephen认为这条公理相当简单,它暗示着数学和逻辑神秘的含义。根据乔治·布尔的理论,这条公理仅仅是他思想的一个最低版本:通过数学公理系统,加以类似代数的转换,可以计算出所有逻辑的结果。


乔治·布尔是何许人也?

那么乔治·布尔到底是谁呢?他有是如何做出这些成就的?


乔治·布尔于1815年,出生在英国的一个平静的小镇林肯郡,离伦敦大约有120英里。他的父亲热衷于科学和数学,做着一点鞋匠生意。乔治·布尔是一个自学奇才,14岁的时候,就凭在报纸上发表的希腊诗译作在当地小有名气。16岁时,被当地一所学校聘为教师,那时他已经开始读微积分的书了,并开始数理逻辑相关的工作。


乔治·布尔19岁时开始创业,在当地建了一所像模像样的小学,直到三十岁之前,都以此为生。他结识了一些剑桥牛津这样高学历的人,也去过职业学院(类似于现在的社区大学)。但是大多数情况下,他更喜欢自己看书自学。


他是一名认真的教师,宣讲有关各种认知和发现的重要性,不赞同死记硬背,并且以通俗的方法证明知识(例如数学)的实用性(如果他活在今天,一定会对计算机痴迷不已)。


乔治·布尔23岁的时候,开始发表有关数学的论文。早期的论文都是和当时的一些热点问题相关的,例如变分法。可能是他对教育的兴趣和探索,使他想要创造不同的公理。不久之后,他成了“操作演算”的先驱:通过操作符号,而不是明确的代数表达,来研究微积分。


不久之后,乔治·布尔就能和英国最著名的数学家讨论问题,并从中学习。他也考虑过是不是去剑桥拿个大学学位,但是得知他必须暂时停止自己的研究,去学习本科课程的时候,便放弃了这一想法。


逻辑的数学分析

逻辑学作为一个学科,有着古老的历史,亚里士多德之后被广为推广。中世纪之后,逻辑学教育成了死记硬背的典型,人们通过记忆特殊的符号和像 “bArbArA”、“cElArEnt”这种三段论来学习。在许多方面上,逻辑学并没有改变许多。19世纪人们致力于将逻辑学变得更正式化,但问题是不知道如何去做。也有人想,是不是可以用数学或者哲学的方法呢?


1847年,乔治·布尔的朋友Augustus de Morgan就此问题在学术上与别人起了冲突。这让乔治·布尔迅速开始这项工作,去论证他先前的想法:如果使用数学来表达逻辑。他的成果——The Mathematical Analysis of Logic(中译名《逻辑的数学分析》)——在同年发布。

0?wx_fmt=png

此书不长,只有86页。但是很好地解释了乔治·布尔使用代数形式来表达逻辑的思想。在代数中可以使用变量,而不仅仅是简单的数字这一思想,起源于Hamilton在1843年四元数代数的发明,乔治·布尔也受此影响(1832年Galois在无限值和聚合领域也做过类似工作)。


乔治·布尔出现的150年之前,有个叫Gottfried Leibniz的人也尝试过用代数表达逻辑,但是没有什么成果。直到1847乔治·布尔成功以后,这个想法才又被人想起。


乔治·布尔的书在今天依然是非常易懂的。下面是一个例子,是展示他的代数公式是如何表达经典逻辑的结果的。

spacer.gif0?wx_fmt=png

上面这段看起来非常直观。”And”用xy的乘法来表示,”not”用1-x表示,”or”用x+y-2xy表示。此外,还有像x^2=x这种额外的规则。但是如果仔细研究,这里面还是有问题的:x和y到底是什么呢?今天我们可以把它们叫做“布尔变量”,并且知道它们的值可以离散为1和0。但乔治·布尔再当时不是这么做的,他没有去从具体的离散或者非离散的值想,而且似乎是去讨论了代数表达式和方程,甚至用到了级数展开,来罗列所有逻辑变量值可能的组合。


思维规律(The Laws of Thought

乔治·布尔写第一本书的时候,仍然是一名教师,并且经营着一所学校。但是也因为在数学上的成就而远近闻名。1849年,女王大学,科克大学在爱尔兰建立的时候,乔治·布尔第一个被聘为数学教授。在科克大学任教时,他开始写那本最著名的书——《思维规律的探索》(An Investigation of the Laws of Thought).

0?wx_fmt=png

此书的序言是这么写的:“本书论述的是,探索心智推理的基本规律;用微积分的符号语言进行表达,并在此基础上建立逻辑和构建方法的科学……”


乔治·布尔意思到自己在试图建立“思维科学”的微积分,就像牛顿将微积分应用到物理上那样。但是牛顿已经有空间和时间的概念可以依靠,以说明自己的微积分结构。乔治布尔必须从一个思维如何工作的基本模型上开始,毫无疑问,就是逻辑。


An Investigation of the Laws of Thought 第一部分是对乔治·布尔早期著作的一些概括,但是提供了额外的示例——比如有一章就是关于上帝是否存在及其性格的逻辑证明。书的第二部分在数学方面更加传统。他没有谈和逻辑有关的代数值的问题,转而用概率方面的传统数学来解释。这样就表明,组合事件的概率结构,同样适用于组合逻辑语句的规律。


这本书的大部分,都是数学方面的内容,用着抽象的定义,和正规的结论。但是在最后一个章节,乔治·布尔试图将经验性的问题和他的工作联系起来,研究思维的过程。他讨论了自由意志可以如何和思维规律和平共处、含糊的人类经验如何得出精确的概念、是否有人类可以辨认出,但是数学永远无法企及的真理、对人类思维的理解如何作用于教育等等。


乔治·布尔晚年生活

出版《思维规律》之后,乔治·布尔依然留在科克大学生活工作。1864年,患肺炎去世,享年49岁。期间也陆续再宽泛的数学领域发表论文,但再也没发任何和逻辑有关的东西。也可能是他有意为之。


在他的有生之年,乔治·布尔的数学成就获得的赞誉比逻辑方面要多。他还写过两本教材,一本是微分方程,出版于1859年,一本是差分方程,出版于1860年。两本都简洁优雅,深入浅出。有趣的是,尽管后来在微分方程方面有无数可以替代的书籍,但是差分方程几乎无可替代。当我们在90年代用数学实现时,乔治·布尔的书仍是重要参考,尤其是其在差分计算方面的典型事例。


乔治·布尔是个什么样的人?

乔治·布尔生活中是怎样一个人呢?关于这一方面的信息不少,有他妻子写的作品,还有他姐姐整理的他的信件和回忆录。认识他的人无一不说他严谨、条理,并极其认真。乔治·布尔非常努力,经常工作到深夜。将所有精力都放在事业上,以至于他经常看起来恍恍惚惚。他是个优秀的老师,也是个出色的讲者,虽然板书潦草无法辨认。他社交甚广,待人宽厚,造访过很多不同的人,去过很多地方。乔治·布尔在管理方面也很出色,无论是自己的学校,还是科克大学。他有强烈的正义感,不喜欢吵架,但是需要捍卫自己尊严的时候,也毫不含糊。


乔治·布尔认为自己是一个自学成才的老师,而不是什么学术精英。可能这带给他一些冒险意识,无论改造微积分还是添加代数公理,他总能相信自己的直觉,勇往直前。


乔治·布尔一生的大部分时光都是孤身一人,直到40岁的时候才结婚。他的妻子玛丽·埃佛勒斯·布尔(女权主义哲学家,译注),比他小17岁,在乔治·布尔逝世52年之后去世。关于她争取自己的权利有一个有趣的故事,后来玛丽将其写成了书——Philosophy and Fun of Algebra, Logic Taught by Love, The Preparation of the Child for Science and The Message of Psychic Science to the World.乔治和玛丽育有五个女儿,她们都颇有成就,尤其在数学方面。


(译者注:乔治·布尔的后人中,知名人物还包括老大的儿女韩丁寒春;老二儿子G.I. Taylor是流体动力学与波理论科学家;老三是四维几何重要贡献者;老四是英国第一位化学女教授;老五有个中国人更熟悉的名字伏尼契——《牛虻》的作者;布尔还有一位玄孙:Geoffrey E. Hinton——深度学习之父。 )


乔治·布尔的影响

说起来多少有些讽刺,乔治·布尔在逻辑方面的工作应该和代数、微积分和连续数学一样受到重视,但事实是没有。在乔治·布尔死后,他在逻辑方面的主要影响主要是数学化的概念和表达,就像Frege、 Peano、 Hilbert、 Whitehead、 Russell、 eventually Gödel 和 Turing这些人一样。只有在1937年香农交换网络问世时,布尔代数才被应用到实际目的中。


今天,数学和Wolfram语言(此语言作者即为本文作者)里用到了很多布尔代数计算。事实上,乔治·布尔是名字用作系统功能名次数(15)最多的人。


然而让“布尔(Bool)”这个名字如此广为人知的不是布尔代数,而是布尔变量。20实际50年代之后,基本上每一种编程语言都有布尔类型,使得“boolean”一词广为流传。

0?wx_fmt=png

这是必然的吗?从某种意义上说,是的。回望历史,所有的东西都有向着足够简单的趋势发展,然后得到广泛应用。及时一开始时是非常复杂的,后来才慢慢变得简单。事情往往都是这样,某一时刻有了关于某种技术的想法,然后凭着好奇心慢慢深入。


也可能,所有的量都可以转换为简单、正确的枚举。今天,有一些已经被实现了,有一些还没有。但是这几个世纪以来,乔治·布尔和布尔变量的故事为这种可能,以及如何从晦涩难懂到无所不能提供了榜样。



本文作者Stephen Wolfram是物理学家、数学家、软件工程师和企业家;数学软件Mathematica的发明者之一;计算型知识引擎Wolfram Alpha设计者;Wolfram语言作者;沃尔夫勒姆研究公司的创立者和首席执行官;学术上以粒子物理学、元胞自动机、宇宙学、复杂性理论、计算机代数系统上的研究成果闻名于世。


2015年11月2日,Google更改其首页的标志以纪念乔治·布尔200岁冥诞。


原文发布时间为:2015-11-12

本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“BigDataDigest”微信公众号