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