软件那些事儿

85.电脑原理03:布尔和布尔代数


Listen Later

1 翠花,上干货

开始之前,先讲一句干货,以满足一下在后台留言的一些同学,每一期都有人留言说讲的不通俗,没有干货,作为一个负责任的播主,还是听取听众的意见,先把干货端出来,这次音频的内容是讲布尔代数很重要。就这样,布尔代数很重要,只需要知道布尔代数很重要就可以了,至于为啥重要,根本没必要知道,好了,干货结束了,想听干货的同学可以换个电台了,接下来的时间开始吐槽。

2 布尔变量无处不在

如果听众中有程序员或者计算机系的学生,一定知道几乎所有常用的编程语言中,不管是C还是C++,还是Java,还是Python,Ruby,在这些编程语言里,常用的数据类型中,一定有个非常重要的类型叫布尔类型。布尔类型里面就是两个值,一个是0,一个是1,或者一个是True,一个是False。有些同学可能会觉得,这简直太无聊了,谁会搞这个发明呢?有这种想法的人并不奇怪,搞出这个发明的人叫乔治•布尔,他发明了一种数学,叫布尔代数。布尔代数发明以后的接近100年中,几乎所有的地球人也是这个想法,谁会用这种发明呢?因此,布尔同学这么出名,并不是因为布尔代数,而是因为微积分以及差分方程这两个数学的分支,只是到了最近,尤其是在1937年一位伟大的计算机先驱香农发现了布尔代数的巨大作用,布尔代数这才开始传播到朋友圈里,然后每个人都开始谈论布尔代数,就好像他们一直以来就很懂一样。

说起来有点讽刺,布尔先生在代数,微积分以及连续数学方面取得的成就当然也是无可比拟的,但是和他在布尔代数方面所取得的成就比起来,还是要黯然失色许多,但是,这么伟大的成就,竟然被埋没了接近100年才被人所发现。

有这样一种可能,在计算机领域,所有的量都可以转换为简单的枚举,只是今天人的认识,还不够深入,有一些已经实现了,有一些还没有实现。不过呢,我认识水平也是非常的有限,不敢对未来做出判断。作为我这个公众号——软件那些事儿——我也只敢光讲一讲布尔先生的生平事迹,对我来说,这些故事已经非常非常的精彩了,尤其是布尔代数如何从默默无闻到现在在计算机领域的无所不能,这个故事起码给我无限的感慨,如果没有香农慧眼识珠,布尔代数也许还要被埋没多少年也不一定,我们这个世界上绝大多数的人都没有什么眼光和远见,大部分人只是跟跟风,发发朋友圈。

布尔先生还算不错了,毕竟他生前也算风光,另一个非常非常悲惨的数学家,就是创立了现代集合论,也就是今天我们微积分的基础,或者说是实数理论的基础,这个人的名字叫康托尔。他提出了集合的等势概念,包括无穷,可数无穷等一系列概念,并且给出了严格的证明。他运气不太好,像布尔代数无人问津,他的无穷概念有人问津。他的理论被喷子盯上了,当时数学界的网红叫克罗内克,由众多的粉丝,当然,他的理论在今天来看是错误的,但是当时来看,他是正确的。现在,我们仍然可以看到克罗内克的名字,就是在线性代数的课本上,我们会学到一个叫克罗内克积的东西,就是这个当年喜欢攻击别人的数学家。克罗内克发动了一波又一波的喷子大军,在媒体,报纸杂志上对康托尔口诛笔伐。

结果康托尔同学的心理素质不是很好,而且反击的手法也不够简单粗暴有效,喷子们对康托尔采取的是谩骂和讥讽,结果康托尔同学竟然公开发论文,对他的理论进行严格证明,,使用了归纳反证法来论证他的理论是正确的,然后让喷子们来找出逻辑漏洞。人家是喷子,哪管什么逻辑漏洞,反正也看不懂啥叫归纳反证法,继续喷。康托尔最后患上了严重的抑郁症,最后精神失常了,最后在一个精神病医院很凄惨的死去了。然后,又过了很多年,喷他的人也都死了以后。后人才发现,康托尔是正确的,然后我们整个现代的数学大厦的根基,康托尔的集合的理论功不可没。好了,我又跑题了,强行拐弯拐回来,继续讲布尔先生。

3 布尔的生平

国内喜欢找一些人当励志的典型,但是励志的典型并不多,尤其是中国几千年延续到今天所采用的都是皇帝说了算,很难找到励志的典型,尤其是中国除了四大发明,也确实没啥可以拿得出手的东西,而且四大发明这个说法,只广泛的影响了中国,你去问一个外国人,90%的可能,他们不知道啥叫四大发明。本文的主角,布尔先生,也算是个励志的典型,和上一次所说的法拉第,是为数不多的穷小子成为世界顶级科学家的人之一。

法拉第的老爸是铁匠,布尔的老爸是鞋匠。他所受的正规教育也非常的少,标准的小学生水平,但是,他一直自学数学,完全凭兴趣爱好来学习数学。他是一个老师,大家不要怀疑为啥一个小学毕业生还能当老师呢?难道没有教师资格认证考试么?有没有我不知道,反正,这个学校是布尔自己的学校,非常非常小的一个学校,类似于现在的补习班的规模,最初的老师就是他自己一个人,教几个小孩,最后这个学校成了一个规模不大的中学,老师仍然不多,学校的规模依然不大。布尔就这么一个数学爱好者吧,他生前的公认是个老师,后来由于交友广泛,外加老师当的不错,就去大学当老师了,科克大学的老师。

他自认为自己不是学术精英,而是一个自学成才的老师。这个评价并不是可以的谦虚,应该还算是比较公道的一个自我评价,因为他生前布尔代数并没有像今天这么火热,而是无人问津的一个科学,而他擅长的领域,微积分以及连续数学,差分方程领域,他又不是开创者,因此,我猜测这个自我评价应该还是很严谨的。因为布尔的传记里,对布尔的评价就是一个严谨并且极其认真,工作非常努力的一个人。布尔这个人其实人生的大部分时间都是单身,痴迷于研究数学和教别人数学,因此在40岁的时候,才脱单,结婚了,娶了一个比他小17岁的女孩为妻,然后他们两个人共同生活了9年,在49岁的时候,布尔冒着大雨去教课,结果淋病了,得了肺炎,就去世了。布尔的生平,很多信息都是他的妻子和他的姐姐整理出来的。

再多说一句,布尔虽然只和他的妻子生活了9年,但是,在这9年中,他们生了5个女儿,然后,他的5个女儿每一个都是非常有影响力的人,如果自己没有影响力,自己的后代就有影响力,就是布尔的孙子孙女辈,布尔的妻子非常的长寿,布尔去世52年以后,她才去世。

布尔的大女儿生的两个孩子,如果年龄稍大的中国人应该知道,老大儿子和女儿,应该喊布尔外祖父,这两个人的中国名字叫韩丁和寒雪,是毛泽东的崇拜者,也是中国绿卡获得的第一人,两人都有在中国长期生活的经历,在70年代,是中国家喻户晓的“老朋友”。周恩来多次接见他们,寒雪在中国逝世,寒雪的子女目前都在中国的大学里当教授,大家有兴趣可以搜搜看看。他们都还健在,对于他们的选择,我们也不能说啥,是非常非常靠谱的,非常非常坚定的共产主义者。寒雪是美国的核物理专家,依然放弃美国的事业,来到中国北京养奶牛,她们两口子为了共产主义在中国养了一辈子牛,而且,对母牛的血统非常的执着,一定要是从革命圣地延安引进的母牛,这位有理想的老人去世了,她最大的担忧是怕她的农场被拆迁了,她养的那些牛就没有地方可去了。她最大的遗憾是现在的人都忙着赚钱,都不去革命了!我都不好评价什么。寒雪的老师是费米,他的同学是杨振宁,

布尔的后代好多牛人,包括流体力学,四纬几何的重要贡献者,还有作家,牛氓的作者伏尼契也是布尔的后代。现在人工智能特别的流行,深度学习之父的名字叫杰弗里•辛顿,按照辈份的话,是布尔的重孙辈。

4 跑个题

好像又跑题了,又不是干货了,既然跑题了,我就谈一下干货这个事儿。我觉得想听干货的人,脑袋是有问题的人,只想走个捷径,最好是把一门科学几句话讲出来,类似于考试的划重点,其实,我挺瞧不起天天嚷着让我讲干货的人,爱听不听,别给我提意见。一门科学,比如说本文所讲的布尔代数,是离散数学的一个分支,离散数学又是当代数学最重要的一个分支,或者不能说最重要,我个人认为的最重要吧,离散数学是计算机科学的数学基础,所以我觉得非常重要。如果仔细划分的话,数理逻辑,集合论,图论和近世代数是离散数学的四个分支,其中数理逻辑是基于布尔运算的。我认为任何有用的知识,都不太可能在60秒之内学会的。因为有个关注者,希望我能做一个60秒的版本,而且说,如果一个想法不能在60秒之内讲清楚,这个想法就不值得去了解。

由于微信后台包括喜马拉雅骂我的人已经太多了,每天都有,集中在口音和没有干货上,还有不爱祖国上,我一般是不回复的,如果喷我两三次,我就把它拉黑。我个人觉得数理逻辑也好,人工智能也好,甚至学习一种系鞋带的方法,60秒都不太够。人生说长不长,说短不短,反正到时间了,咱们都不太可能活着和这个世界说再见。那么着急干啥呢,如果有人对布尔代数感兴趣,可以买一本数理逻辑研究一下,里面的公式非常的多,60秒远远不够,仔细研究的话,600天也不是很够。我这个节目里,只能讲其中的一点点,对计算机的原理有点帮助就行,我也没打算把数理逻辑讲清楚,首先我没有这个能力,因为数理逻辑仍然在进化,虽不能说突飞猛进,但是依然慢慢吞吞的影响着这个世界。

5 布尔代数和逻辑和人工智能

还有人建议我讲人工智能,可能觉得这玩意先进,其实,人工智能并没有多么神奇,就是基于布尔代数的一些运算,等我讲完电脑原理以后,会涉及到人工智能的发展历史,其实如果追本溯源的话,布尔代数就是试图模拟人脑的思维。人类想制造出人工智能,早在几千年前就开始尝试了,因为人类对大脑的理解非常的不够,包括今天,也没有搞定大脑是如何运行的。如果人类能理解大脑的话,早就反编译一个大脑出来了,逆向工程造一个大脑帮我们想问题。但是,搞不定,于是才退而求其次,打算研究一下逻辑,按照大脑的工作方式来研究大脑。早在亚里士多德的年代,亚里士多德就已经开始研究大脑了,他觉得大脑和逻辑有密切的联系。证据就是亚里士多德逻辑学基础的三段论法,这个我就不展开了。

再后来包括莱布尼兹,和牛顿独立发明了微积分的那个家伙,也曾经试图对大脑的思考方式进行研究,他在逻辑学上也有重大的贡献,但是,后来没搞定。再后来就是布尔同学的《逻辑的数学分析》《思维的规律》这两本书的出现,算是搞定了如何用数学把逻辑定义出来。但是,当时的人根本没有注意到这个伟大的成果,很可能布尔同学自己也没有注意到这方面的巨大应用,所以,在布尔代数上,他花费的精力并不是特别多。

我们只看看书名的话,《思维的规律–逻辑与概率数学理论的基础》,因为内容看不懂啊,所以,只看书名的话,我们就知道,布尔同学起码已经意识到了,如果用数学来描述大脑的工作方式,也许,我们就真的可以了解大脑的思维,现在来看,可能觉得这有点不靠谱,但是,人类总是这样啊,总觉得这事儿能搞定。既然大脑的思维方式能用数学搞定,那制造出一个大脑,还不简单啊!实际上,就是不简单!

我个人认为,我们离搞清楚大脑的原理还有很大的路要走,离人工智能有更远的路要走,可能人工智能会在围棋上赢人类。但是,我们如何告诉人工智能以下的事情呢?为什么我们去健身房,经常是跑步5分钟,自拍1小时,还要把照片美颜一下发到朋友圈里呢?这个人工智能很难想明白啊。为什么人类去吃个日本料理会拍个照片,去沙县小吃吃个5块钱的炒河粉就不拍照片呢?为什么发生了矛盾,男人之间是撸起袖子干一架,而女人是在背后散播谣言?这个事情在完全搞明白之前,我觉得人工智能还是需要走很长的一段路的。

6 布尔代数和传统代数的区别

传统代数就是我们上街买个菜,然后算一下给多少钱,或者时间一分等于60秒,60分钟等于1小时,传统的数学给我们的感觉,是连续的,所以,我们才能在谈恋爱的时候说出我永远爱你这种肉麻的话,永远有多远我们不知道,但是,肯定是连续的。布尔代数的出现,一下子改变了这种状态,类似于量子力学的出现,把我们对世界的的认识从连续的状态一下子扩展到离散的状态,比如说我们在炉子边上烤火,能量并不是连续的,而是一份一份的能量过来,能量是可以分成一块一块的不可细分的单位。在布尔代数里,更是这样,什么东西都是可以量子化的,从连续的,变成一个一个的。就像前面我说的,当你对你女朋友说永远爱她的时候,这个永远是可以分成一个一个的不可细分的小永远,最后才组成了一个大永远。这就是布尔代数的方法,因此,这门课的名字叫离散数学,万物都是离散的,否则为啥不叫整体数学呢?

只有把万物都想像成离散的,从连续的变成一个一个不连续的,也就是全都量子化,才能用到布尔代数里的运算,布尔代数里最重要的三个运算,与或非。说来很奇怪,我们的计算机,无论多么复杂,无论多么的智能,最后就是做这三个运算,与或非。在计算机中,只需要两个数字,0和1来表示布尔代数中的两个值。布尔代数的伟大在于,把数学和逻辑结合在了一起,而且只要两个状态就可以,在电脑中,就是高电平和低电平,电压高一点还是低一点。同样,我们也可以用继电器来表示这两个状态,当弹簧弹开的时候,代表数字0,当弹簧片闭合的时候,代表数字1。就是这么简单直接粗暴。

7 布尔代数的运算

布尔代数的三个基本的运算,与或非。比如我们有一个集合代表所有的人类,用数字1来表示,有一个集合M代表所有的男人,有一个集合F代表所有的女人,这时候,M + F = 1。因此在布尔代数里的加号和数字1和传统代数里的加号以及数字1表示的意义并不相同。这一点,以后我可能会用到公式,希望大家明白这一点。

还是上面这个例子,M代表所有的男人,F代表所有的女人,那M和F的并集就是0,因为人就是分为女人和男人,不可能一个人同时是女人又同时是男人,当然现在科技发达了,凡事都有可能,但是在布尔代数里,我们认为是不可能的,公式是这样写的 M X F = 0。在这里,乘号和数字0的意义和传统代数里的意义也不同。

我为什么要强调呢,那是因为上一次节目里,我画了一个电磁铁的电路图,有个互联网思维的哥们跑过来跟我说我说错了,电磁铁画错了,一段导线缠在一个铁棍上通电,怎么可能产生磁力呢?不管怎么说了,这件事情是我做公众号以来收到的最好的留言。

好了,电脑的数学基础就稍微的讲一点点,布尔代数,然后,接下来就用继电器去实现这个布尔代数的理论。至于用布尔代数和基于布尔代数的电路能不能实现人工智能,这个我也不好说。有时候我老婆在看包,我就问她,别看了,直接买下来吧,然后她说不用,这个时候,基于我经常判断错,她说的不买有时候是买,我就会确认以下,到底买不买?她会说:废话!这个时候,我就更疑惑了,这个废话,是说买还是不买呢?

我想知道的是,你人工智能这么牛,又会开车又会下棋,什么时候,人工智能可以帮我判断一下,我老婆要买包,到底买还是不买呢?

好了,这期就到这里,下期再见!

...more
View all episodesView all episodes
Download on the App Store

软件那些事儿By 刘延栋

  • 4.9
  • 4.9
  • 4.9
  • 4.9
  • 4.9

4.9

51 ratings


More shows like 软件那些事儿

View all
一席 by 一席

一席

104 Listeners

枫言枫语 by 枫影JustinYan、自力hzlzh

枫言枫语

24 Listeners

津津乐道 by DAO

津津乐道

119 Listeners

疯投圈 by 黄海、Rio

疯投圈

109 Listeners

声东击西 by ETW Studio

声东击西

314 Listeners

科技乱炖 by DAO

科技乱炖

24 Listeners

忽左忽右 by JustPod

忽左忽右

440 Listeners

What's Next|科技早知道 by 声动活泼

What's Next|科技早知道

176 Listeners

硅谷101 by 硅谷101

硅谷101

184 Listeners

硅谷101|中国版 by 泓君Jane

硅谷101|中国版

53 Listeners

商业就是这样 by 商业就是这样

商业就是这样

272 Listeners

半拿铁 | 商业沉浮录 by 潇磊&刘飞

半拿铁 | 商业沉浮录

291 Listeners

脑放电波 by 托马斯白

脑放电波

10 Listeners

硬地骇客 by skoowoo

硬地骇客

17 Listeners

42章经 by KaiQu

42章经

9 Listeners