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

CSDN授权转载 作者:Stephen Wolfram 译者:赖信涛 网站: http://www.csdn.net

今年的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提出,其实只需要一条公理就够了。

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

乔治·布尔是何许人也?

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

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

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

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

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

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

逻辑的数学分析

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

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

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

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

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

上面这段看起来非常直观。”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).

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

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

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”一词广为流传。

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

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


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

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

原文发布于微信公众号 - 大数据文摘(BigDataDigest)

原文发表时间:2015-11-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏互扯程序

15个变态的Google面试题以及答案

在当前经济形势不景气的情况下,谷歌招聘新员工是一件令人振奋的事,特别是对那些在当前金融风暴中渴望找到安全港的年轻经理们和软件开发商们来说是个好消息。  

21710
来自专栏Java面试通关手册

技术面试中常见的几道智力题 来看看你会做几道?

我自己总结的Java学习的系统知识点以及面试问题,目前已经开源,会一直完善下去,欢迎建议和指导欢迎Star: https://github.com/Snailc...

71850
来自专栏苦逼的码农

我是如何学习数据结构与算法的?

数据结构与算法的地位对于一个程序员来说不言而喻。今天这篇文章不是来劝你们学习数据结构与算法的,也不是来和你们说数据结构与算法有多重要。

23410
来自专栏龙行天下CSIEM

科学瞎想系列之二十六 陀螺仪

陀螺是老师小时候最喜欢的玩具之一,一个锥形的东东用小皮鞭一抽,就能大头朝上小头朝下高速地旋转起来,冬天在冰面上玩这个玩意其乐无穷。那个时候老师就想为...

28940
来自专栏一个会写诗的程序员的博客

【欧拉猜想】是否有无穷多个不可约分的正整数解

这类问题被称为 :欧拉猜想, 其中4和5的都有正整数解, 3的被证明了无整数解,其它的都还不知道。

9830
来自专栏落影的专栏

程序员进阶之算法练习(十二)

前言 题目地址在HDU,输入对应的题号即可看到题目,在百度搜索hdu+对应的题号可以看到题解。 我简单的对题目难度进行了划分: 简单题:想法题,实现简单...

35470
来自专栏ACM算法日常

芯片测试(分治)- 例题

分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。即一种分目标完成...

11820
来自专栏程序人生 阅读快乐

算法竞赛入门经典(第2版)(算法艺术与信息学竞赛).pdf

《算法竞赛入门经典(第2版)》是一本算法竞赛的入门与提高教材,把C/C++语言、算法和解题有机地结合在一起,淡化理论,注重学习方法和实践技巧。全书内容分为12 ...

18630
来自专栏CDA数据分析师

排序在数据分析中有多重要?

说不会对数据排序的举手,所有的手都放下了。拿到数据,谁还不会排序吗?就连你在打牌时都在排序。 ? 可是这一小小的操作,在数据分析中到底有...

18960
来自专栏后端技术探索

几道趣味算法面试题

1. 几道常见趣味算法面试题 1.1 绳子计时问题 1.2 两座岛运输加锁问题 1.3 马比赛问题 1.4 高楼逃生问题 1.5...

23730

扫码关注云+社区

领取腾讯云代金券