【月谈逻辑01】用韦恩图理解命题的与或非

大家都知道思考集合问题的时候韦恩图是个好东西,实际上,对于命题的各种与或非运算,用韦恩图来理解同样会很直观。
当初学到集合的交并补运算和逻辑与或非的时候,我就注意到集合运算和逻辑运算法则完全雷同,交=与,并=或,非=补,于是我在处理逻辑与或非运算的时候,直接当成集合运算,进而用韦恩图思考,抽象的逻辑问题会变得形象很多。


现在先来喵喵集合运算跟逻辑运算之间的基情。
下面这段如果学过逻辑真值表的会比较好理解点(看不懂就略过吧,我说的不好,吧友也可以自己想想集合运算和逻辑运算的关系,欢迎补充意见~)。
对于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)
吧友试试不用韦恩图来证明这个等式,估计没学过逻辑化简的吧友死一堆脑细胞都整不出来。


现在跟我一起用牛逼的韦恩图秒杀此题,画下韦恩图就知道两者的结果都是如下的红色部分:


楼主 斩月V无月  发布于 2014-08-14 23:01:00 +0800 CST  
!b是非b的意思

楼主 斩月V无月  发布于 2014-08-14 23:02:00 +0800 CST  
我越来越不理解逻辑里的‘’或‘’了,请教下,像‘’A→B‘’等价与‘’~A或B‘这样的结论能画出类似的图来吗?’
————————————————————————————————————————
左边的圈表示A,右边表示B,1表示A真B假,2表示A真B真,3为A假B真,4为A假B假
首先,把“若A则B”理解成如下(至于为什么能这么理解之后再说)
如果A为真,那么B也要真;如果A为假,那么B可能真也可能假。(*)
按照(*)的理解,1不符合,因为1中A真B假,2符合,3和4都符合,所以“若A则B”对应的区域是2或3或4,而“非A或B”显然也是对应2或3或4。


至于为什么“若A则B”能理解成(*)呢,当我说“如果今天下雨,那么我就不外出”这句话时,我其实只是对“下雨了”这种情况断言,如果实际没有下雨,我无论是否外出我都没有说谎,所以当我说“若A则B”时,隐藏着“若非A那么B怎么样都行”的意思,所以“若A则B”理解成(*)是合理的。当然语言本身也是一种其实也是一种约定,当我说“如果今天下雨,那么我就不外出”,很可能会有人认为我还包含着潜意思“如果不下雨,我就外出”,也即认为“若A则B”是
如果A为真,那么B也为真;如A为假,那么B为假(#)

显然,从语言本身的逻辑上看,若A则B,我就是针对A为真的情况作了判断,A为假的情况我不做任何判断,而(#)强行给我加了个针对A为假的情况的判断,显然(#)这种理解不是由语言本身的逻辑而来的,而更多是一种经验。



楼主 斩月V无月  发布于 2014-08-15 22:11:00 +0800 CST  
然后就是~A或B了,你看,按这个图,~A或B 是 包含有~B这个部分的,就是这个让我困惑。
————————————————————————————————————
@angelycs
我画的图是从一般的韦恩图中找出满足“若A则B”的区域,而你这个图是我那图中取出满足的区域(2,3,4),也就是说,你这个图所有区域都是满足的,已经去掉了我图里的区域1(~B且A),所以你这个图的~B相当于是(~B且~A),也就是我图的区域4.
这两种画法思路稍有不同,但结果都是一样的,我的画法是先画出两命题所有可能的关系,然后根据“若A则B“这个命题找出满足的关系;而你的图是直接根据”若A则B”画出A与B的关系,所以你图所有区域都是符合“若A则B”关系,已经包含了A和B的一些关系限制,故~B已经包括了~A。

楼主 斩月V无月  发布于 2014-08-16 14:21:00 +0800 CST  
换个角度看,F(A,B)这个运算看成是描述A,B的关系以及与空集,全集之间的关系。
比如,6楼的图中,结果为2表示(下面没特别说明为空集的都不是空集)
A=B,~A为空集;
结果为2并3表示
A包含于B,~B为空集。
结果为3表示:
A为空集,~B为空集
结果为1并3表示:
A与B没有交集,~A且~B为空集。


对于“若A则B”,表示的是
A包含于B(跟你的上图一样)(也就是6楼图的2,3,4表示的关系)
而“非A或B”,结果也是2,3,4.
好了,为什么你的下图表示的关系不一样呢?
你的下图先不看”非A或B“这个描述表示的关系,其本身就已经描述了”A和B没有交集“这个关系,自然结果就不一样。

楼主 斩月V无月  发布于 2014-08-17 18:57:00 +0800 CST  
补充楼上,在没有任何关系描述前,表示的就是1,,2,3,4,也就是各个区域都非空。

楼主 斩月V无月  发布于 2014-08-17 19:00:00 +0800 CST  
这贴竟然快两个月了。。过得好快

楼主 斩月V无月  发布于 2014-10-10 19:24:00 +0800 CST  

楼主:斩月V无月

字数:2177

发表时间:2014-08-15 07:01:00 +0800 CST

更新时间:2021-03-15 09:54:10 +0800 CST

评论数:76条评论

帖子来源:百度贴吧  访问原帖

 

热门帖子

随机列表

大家在看