一:三段论
亚里士多德认为:逻辑是与真理相关的某种事物,逻辑是在追求真理的一种方法,因此逻辑被人们认为是一种哲学形式。
亚里士多德逻辑学的基础是三段论:
所有男人都必有一死;
苏格拉底是男人;
因此,苏格拉底必有一死。
在三段论中,首先假设前两个条件是正确的,依此推断出第三个条件也是正确的。
二:传统代数与布尔代数
大多数人都是通过逻辑思考问题,如果我们找到了一种数学方法来描述逻辑,那么我们就可以用数学描述大脑的工作了。这在当时非常先进。
传统的代数,是处理数字的,比如豆腐的重量,苹果的数量,火车行驶的距离等等。
布尔将代数从数的概念中抽离出来,使其更加抽象。布尔代数,计算的不是数,而是类,后来被称为集合。
如:我们可以使用M代表公猫,使用F代表母猫。在布尔代数中,也有+和x。我们知道了在传统代数中,如何乘除,那么在类中如何乘除呢?
其实,在布尔代数中,没有实际意义上的乘和除。
+代表两个集合的并集,为了区别传统代数,使用U表示并集。
x代表两个集合的交集;为了区别传统代数,使用∩表示交集。
在布尔代数中,1代表全集,0表示空集。
布尔代数,与传统代数最大的区别就是这样一个表达式:
FXF=F 即F与F的交集还是F,而在传统代数FXF=F^2。
再次说明:布尔将代数从数的概念中抽离出来,使其更加抽象。布尔代数,计算的不是数,而是类,后来被称为集合。
三:布尔代数的应用
假设你现在进入了一家宠物店。
对店员说:“我想要一只公猫,已经绝育的,白色褐色都可以,或者一只母猫,已绝育,除了白色任何颜色都可以,或者,只要是黑猫都可以。”
M:公猫 N:绝育 W:白色 T:褐色 F:母猫 B:黑色
店员于是列出了你的集合:
(M X N X (W+T)) + (F X N X(1-W))+B:
为了便于自然语言的交流:我们将并集换成OR,将交集换成AND,1-换为NOT
(M AND N AND (W OR T))
OR
(F AND N AND NOT W)
OR B
当然,为了更简便,我们可以使用数字来代替。
此时,店员拿出来了一只未绝育的褐色公猫
(1 X 0 X(0+1)) + (0 X 0 X (1-0))+0
化简:0+0+0=0 显然,不符合要求(默认0未NO,1未YES)
根据此计算标准,店员又拿出一只猫:灰色母猫,绝育
带入公式,等于1.符合要求。
终于选好了一只猫,那么,选猫的时候,能不能不计算,使用电路来表示呢?
两个开关串联,是 与 AND
两个开关并联,是 或 OR
(M AND N AND (W OR T))
OR
(F AND N AND NOT W)
OR B
这样,这个式子就可以使用开关电路来表示了。AND串联,OR并联。只要按照店员的连接方式,就可以将电路连接好,灯泡亮,则选择成功,灯泡不亮,则失败。