大家都知道思考集合问题的时候韦恩图是个好东西,实际上,对于命题的各种与或非运算,用韦恩图来理解同样会很直观。
当初学到集合的交并补运算和逻辑与或非的时候,我就注意到集合运算和逻辑运算法则完全雷同,交=与,并=或,非=补,于是我在处理逻辑与或非运算的时候,直接当成集合运算,进而用韦恩图思考,抽象的逻辑问题会变得形象很多。
现在先来喵喵集合运算跟逻辑运算之间的基情。
下面这段如果学过逻辑真值表的会比较好理解点(看不懂就略过吧,我说的不好,吧友也可以自己想想集合运算和逻辑运算的关系,欢迎补充意见~)。
对于n个命题的一个运算F(a1,a2,...,an),考虑n个集合的韦恩图(A1,A2,...,An),这里统一用小写字母表示命题,大写字母表示对应的集合。
n个命题共有2^n种真值结果,所谓的真值结果是指诸如“a1为真,a2为假,a3假,...”这样的一个结果;而n个集合的韦恩图刚好也被分成2^n个区域,某个区域表示着“在A1内,在A2外,在A3外...”!
显然,我们可以把这2^n个结果和2^n个区域建立一个对应关系,结果的ai为真那么其对应的区域就在Ai内!
那么,(a1且a2),其实是表示满足“a1为真,a2为真,...”的共2^(n-2)个结果集合,对应着韦恩图上满足“在A1内,在A2内”的区域,也就是A1交A2;
(a1或a2),是表示满足“a1为真...”或满足“a2为真...”的结果集合,对应着韦恩图上满足“在A1内”或在“A2内”的区域,也就是A1并A2;
非a1显然就是对应A1的补集。
理论说完了,看不太明白不要紧(我自己都感觉没说明白),重要的是结论:
命题的与或非运算等价于集合的交并补运算,把命题运算看成是集合运算,然后就可以亮出你的韦恩图来理解。
好了,现场实践下,求证:(非a 或 b) 且 (!b或a) = (非a且非b)或(a且b)
吧友试试不用韦恩图来证明这个等式,估计没学过逻辑化简的吧友死一堆脑细胞都整不出来。
现在跟我一起用牛逼的韦恩图秒杀此题,画下韦恩图就知道两者的结果都是如下的红色部分:
当初学到集合的交并补运算和逻辑与或非的时候,我就注意到集合运算和逻辑运算法则完全雷同,交=与,并=或,非=补,于是我在处理逻辑与或非运算的时候,直接当成集合运算,进而用韦恩图思考,抽象的逻辑问题会变得形象很多。
现在先来喵喵集合运算跟逻辑运算之间的基情。
下面这段如果学过逻辑真值表的会比较好理解点(看不懂就略过吧,我说的不好,吧友也可以自己想想集合运算和逻辑运算的关系,欢迎补充意见~)。
对于n个命题的一个运算F(a1,a2,...,an),考虑n个集合的韦恩图(A1,A2,...,An),这里统一用小写字母表示命题,大写字母表示对应的集合。
n个命题共有2^n种真值结果,所谓的真值结果是指诸如“a1为真,a2为假,a3假,...”这样的一个结果;而n个集合的韦恩图刚好也被分成2^n个区域,某个区域表示着“在A1内,在A2外,在A3外...”!
显然,我们可以把这2^n个结果和2^n个区域建立一个对应关系,结果的ai为真那么其对应的区域就在Ai内!
那么,(a1且a2),其实是表示满足“a1为真,a2为真,...”的共2^(n-2)个结果集合,对应着韦恩图上满足“在A1内,在A2内”的区域,也就是A1交A2;
(a1或a2),是表示满足“a1为真...”或满足“a2为真...”的结果集合,对应着韦恩图上满足“在A1内”或在“A2内”的区域,也就是A1并A2;
非a1显然就是对应A1的补集。
理论说完了,看不太明白不要紧(我自己都感觉没说明白),重要的是结论:
命题的与或非运算等价于集合的交并补运算,把命题运算看成是集合运算,然后就可以亮出你的韦恩图来理解。
好了,现场实践下,求证:(非a 或 b) 且 (!b或a) = (非a且非b)或(a且b)
吧友试试不用韦恩图来证明这个等式,估计没学过逻辑化简的吧友死一堆脑细胞都整不出来。
现在跟我一起用牛逼的韦恩图秒杀此题,画下韦恩图就知道两者的结果都是如下的红色部分: