算法帝国里的牛人们:布尔

微信公号大数据文摘编辑,转载请保留

上一篇中我们提到了大牛莱布尼茨。他率先建立了人类思维可被分解为最基本的用二元判定来表示的单位结构。莱布尼茨说,这些二元选择可以被一个接一个地堆叠成任意长度,形成越来越复杂的思想或算法。

如果说莱布尼茨在构建统治人类生活的机器上迈出了第一步,那么与莱布尼茨相差了将近两个世纪的乔治·布尔就是那个继往开来、乘势而上的人。正是由于布尔发明的计算系统和创新的代数形式,网页才得以工作,我们才能上传照片到Facebook,在博客里码字。统治我们生活的复杂算法要是不能遵循人类的逻辑,那就一无是处了。比如,要跳转到谷歌邮箱得满足两个条件:if(如果)用户正确输入了密码 and(且)if(如果)在提示的情况下,正确破解了那不规则、难以读取的密码。标记为垃圾邮件的信件谷歌邮箱将 not(不会)显示给你,因为这些邮件是群发到上千万个用户邮箱的,and(且)not(不是)来自Groupon之类的团购网站or(或)与收件人已经互发过邮件的受信邮箱。正是由于这些修饰符if(如果)、and(与)、or(或)、not(非),计算机科学和算法才得以发展。

17岁的布尔在草坪上散步时,突然灵光一现,想到某些代数符号可以用来定义一门逻辑语言,一门思维语言,即解构人类理智内在工作机制的一种方法。这个革命性的理念对布尔以及世界来说都十分重要,他开始思索这个突发奇想的强大力量。科学已经证实潜意识或许是人类最有力的工具,但在布尔之前还没人就此建立理论,布尔称其为“无意识”。

1815年,布尔生于英格兰的林肯。他的父亲约翰是一名鞋匠,但是爱好广博,喜欢数学、天文学和光学仪器制作。因为他没钱送儿子去读书,布尔就开始自学。布尔的自学能力很强,才十几岁就已经能用四种语言读写了,还在当地的学校教书。

布尔20多岁时开始攻克高等数学难题,并从1841年起在期刊杂志上发表文章。四年后,他被任命为爱尔兰科克城的皇后学院(现称科克大学)的首届数学系教授。1854年,17岁的布尔在草坪散步时突发奇想有了收获,他发表了An Investigation of the Laws of Thought, on Which Are Founded theMathematical Theories of Logic and Probabilities一书。这是莱布尼茨很早以前就有的想法,但是布尔(而非莱布尼茨)却成功地将这个想法转变为可利用的方法。

布尔在书中开篇这样写道:

本书以探索人类理性思维运动的基本规律为目的。

这个英国人试图定义一种将人类推理活动分解成可书写的一系列数学表达式的思维语言,创造代表人类思维闸门、可用来进行加减乘除普通运算的符号:if(如果)、and(与)、or(或)、not(非)。哪怕仅写过一小段最基础的计算机代码的人对这些修饰符都应该很熟悉。布尔代数赋予了计算机电路内涵与思想。没有它,执行那些无穷复杂的算法——这些算法现在每天都在改变着世界——就无法完成了。

布尔的理论发表后并未一鸣惊人。那个时候,英国几乎没有人熟悉逻辑论,数学家也是如此。而且没有可以读取算法的机器或计算机,也就没什么明显的方法验证我们现在称为布尔代数的理论了。但并不是说没有人做过这方面的尝试,阿达·洛芙莱斯就是其中最重要的一位。在当时那个不允许女性上学的年代,她是一位数学学者,还被认为是世界上第一位计算机迷。1842年,洛芙莱斯在为查尔斯·巴贝奇的分析机(分析机指一部巴贝奇未能完成的计算器)写说明时,设计了几组不同的输入。理论上讲,这些输入会启动机器执行特定的计算和任务。这样洛芙莱斯就成了首次为机器编写算法(程序)的人。她的算法没有用到布尔符号,所以她也没有找到表示人类思维流程的方法。她写道,她希望设备能“感知”发现正确的决定和方法。1979年,洛芙莱斯逝世100多年以后,美国国防部用她的名字Ada命名了新的计算机语言。

尽管巴贝奇、洛芙莱斯等人都曾试图实现机械计算机,布尔代数却没能在着手打造电子时代的工程师和物理学家中流行起来,虽然它在20世纪初就被尊为数学定理。随着技术的发展,科学家试着构建越来越多的先进电路,工程师这才发现他们缺了什么东西——可以控制并充分利用他们正在构建的电子电路的数学工具。

20世纪30年代后期,一个叫克劳德·香农的麻省理工学院研究生把莱布尼兹的二进制计算数制和包括and(与)、or(或)、not(非)、not-or(或非)和if(如果)在内的布尔运算符结合了起来。香农发现所有的表达式都可以写进电子电路,而且能够解决几乎所有的数学难题、存储数据、编辑包括图像和文字在内的任何信息。香农一生成就很高,被誉为信息论之父。

这就是计算机电路和语言诞生的真正过程,而随之出现的便是现代算法及机器对人类智能的模仿。

如果您希望参加“大数据文摘读书群”,请在公号后台给我们留言:

读书,您的微信号,喜欢什么类型的书,您推荐哪些书

摘自:《算法帝国》,人民邮电出版社

如果说《改变未来的九大算法》是为弥散程序员气质的业余技术控洗髓内修的白话算法书,《算法帝国》就是为抱负征服世界雄心的程序员易筋外修的演义励志书,一路读来心中满盈释然和暗合之悦。搞了小半辈子算法,一直到听过凯文—斯拉文(KevinSlavin)的TED演讲“算法如何塑造我们的世界”,才有意识地去感知周遭世界一行一止中算法的开合有度。本书大开大阖,从70年代华尔街的勃兴开始,以本世纪华尔街和硅谷的权力更替收尾,世界易帜,算法仍旧。书名直译为《算法如何控制我们的世界》,对于潜志算法的我们,是控制还是被控制?书尾赫然写道:“你很有可能统治世界,如果没有机器人抢在你前头的话。”

——吴甘沙英特尔中国研究院院长

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

原文发表时间:2014-07-27

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序员的知识天地

自学Python找不到工作?吃鸡半小时,编程五分钟,劝你还是放弃吧

Python发展可以说是如日中天,更多的人选择学习Python,也更多的人开始关注它,从这些关注度来看,我发现关注度最高的还是Python的就业前景是怎么样的,...

14330
来自专栏非著名程序员

2018 互联网人恋爱调查报告:程序员最稳定,产品经理 X 生活频次奇高

今天在浏览新闻的时候,突然间看到了,今年双 11, 百度发布了一份《2018 互联网人恋爱调查报告》。是专门对泛西二旗地区的互联网从业人员的恋爱状况进行了调查。...

13820
来自专栏CSDN技术头条

2016年开源方面的热门趋势

题记:本文将对人工智能项目与容器方面最为热门和最新的语言进行简单的介绍,并讨论开源编程方面的热门趋势。 ? 技术总是不断发展的,就算中间或有曲折,整体方向还是向...

208100
来自专栏java一日一条

不拼颜值的编程世界你靠什么上位?

随着功能需求的逐步升级,编程语言的更新换代也变得越来越频繁,近年来编程语言的种类更是已经突破了600大关。在前浪不断被拍在沙滩上的编程语言世界里,斑斑却发现每一...

8820
来自专栏PPV课数据科学社区

【学习】7 个你不可不知的大数据定义

在大多数人根本不知道大数据(Big Data)到底是什么的时候,不可否认的是,大数据已经在 21 世纪掀起一场惊涛骇浪。根据研究机构 IDC(国际数据资...

38050
来自专栏怀英的自我修炼

Java漫谈10

原来的计划是这次谈谈Java中String的另一个特征——final,不过因为还在整理思路,就放在下一次聊,这次我想聊一聊Java被斯坦福除名之后,我知道这个消...

390120
来自专栏杨建荣的学习笔记

大话UML中类之间的关系 (r4笔记第83天)

关于uml的内容在大学的时候学习过,感觉是花拳绣腿的一些知识,想用但是限于自己的认知和经验,实在是很难运用,到了工作的时候,感觉不需要这些工作也照样能做得很出色...

34180
来自专栏镁客网

那些年,不能错过的最佳VR音乐MV

22640
来自专栏LET

我的面试心得:面试官视角

15760
来自专栏编程

你应当如何学习C加加以及编程

Javascript是世界上最受误解的语言,其实C++何尝不是。坊间流传的错误的C++学习方法一抓就是一大把。我自己在学习C++的过程中也走了许多弯路,浪费了不...

24490

扫码关注云+社区

领取腾讯云代金券