布尔代数入门 布尔代数是计算机的基础
没有它,就不会有计算机
布尔代数发展到今天,已经非常抽象,但是它的核心思想很简单
本文帮助你理解布尔代数,以及为什么它促成了计算机的诞生
我依据的是《编码的奥妙》的第十章
这是一本好书,强烈推荐
一、数理逻辑的起源 19 世纪早期,英国数学家乔治·布尔(George Boole,1815-1864)突发奇想:人的思想能不能用数学表达
此前,数学只用于计算,没有人意识到,数学还能表达人的逻辑思维
两千年来,哲学书都是用文字写的
比如,最著名的三段论: 所有人都是要死的, 苏格拉底是人, 所以,苏格拉底是要死的
乔治·布尔认为,这种推理可以用数学表达,也就是说,哲学书完全可以用数学写
这就是数理逻辑的起源
二、集合论 乔治·布尔发明的工具,叫做"集合论"(Set theory )
他认为,逻辑思维的基础是一个个集合(Set),每一个命题表达的都是集合之间的关系
比如,所有人类组成一个集合 R,所有会死的东西组成一个集合 D
所有人都是要死的 集合论的写法就是: R X D = R 集合之间最基本的关系是并集和交集
乘号(X)表示交集,加号(+)表示并集
上面这个式子的意思是,R 与 D 的交集就是R
同样的,苏格拉底也是一个集合 S,这个集合里面只有苏格拉底一个成员
苏格拉底是人 // 等同于 S X R = S 上面式子的意思是,苏格拉底与人类的交集,就是苏格拉底
将第一个式子代入第二个式子,就得到了结论
S X (R X D) = (S X R) X D = S X D = S 这个式子的意思是,苏格拉底与会死的东西的交集,就是苏格拉底,即苏格拉底也属于会死的东西
三、集合的运算法则 前面的三段论比较容易,一眼就能看出结论
但是,有些三段轮比较复杂,不容易立即反应过来
请看下面这两句话
"鸭嘴兽是卵生的哺