布尔代数在逻辑推理中的应用
广州市轻工职业技术学校 杨光电
【摘要】布尔代数采用数学方法研究抽象思维的规律,比较枯燥,学生不容易掌握,在向学生介绍布尔代数的时候,穿插逻辑推理,可以提高学生的兴趣,使学生更容易理解布尔代数的真谛,让生活实际和理论知识结合起来,进一步提高学生的综合素质。
本文用通俗化的语言介绍了布尔代数的与、或、非三种基本逻辑关系,并用逻辑推理的方式解释了几个常用定理,最后还用一个布尔代数进行逻辑推理的小故事来加深读者的理解。
【关键词】布尔代数 逻辑推理 与或非逻辑 摩根定律
布尔代数又称为逻辑代数,是《电子线路》中的重要章节,通过对布尔代数的学习,可以为分析和设计数字逻辑电路的设计打下基础,但是现在课本上对布尔代数的介绍大多运用数学推导和真值表的验证,比较抽象,学生不易理解,其实布尔代数不光可以用在电子线路中,还和我们平时的日常生活息息相关,笔者认为在向学生介绍布尔代数的时候,穿插逻辑推理,一方面可以使学生更容易理解布尔代数的真谛,起到抛砖引玉的作用,为数字逻辑电路的分析和设计打下坚实的基础,另一方面也可以扩大学生的知识面,让生活实际和课本知识起到相得益彰的作用,进一步提高学生的综合素质。
一、 与、或、非的逻辑含义及其应用。
布尔代数只有0和1两个逻辑变量,在数字电路中常常表示电平的高或低,脉冲的有和无等现象,在日常生活中可以用来表示某个事件的“真”或“假”,“是”或者“否”,逻辑变量的二值0和1不表示数量的大小,而是表示两种对立的逻辑状态。
与逻辑的符号为“ ”,其代数表达式为:Y=A B ,它表示只有当A 和B 两个事件同时都为真时Y 才是真,也就是说只有当A 和B 两个条件都满足的时候,Y 为真才可以出现,例如:假设A 表示宿舍的卫生9分以上,B 表示宿舍的纪律分8分以上,Y 表示宿舍可以被评为文明宿舍。
那么与逻辑表达式Y=A B 则表示只有一个宿舍的卫生分9分以上(A )并且纪律分在8分以上(B),这两个条件同时满足,才可以被评为文明宿舍。
与逻辑可以表示两个条件是“并且”的关系,如果要让Y 为真,那么A 和B 两个条件要同时满足缺一不可。
或逻辑的符号为“+”,其代数表达式为Y=A+B ,它表示只要A 和B 两个事. . .
件中的其中一个为真时,Y 就可以为真,也就是说只要A 和B 两个条件里其中一个得到满足,那么Y 为真就可以出现。
假设A 、B 、Y 还是代表上述的事件,那么或逻辑Y=A+B 关系式表示,只要宿舍的卫生分在9分以上(A )或者宿舍的纪律分在8分以上(B),这两个条件里只要满足其中一个条件那么该宿舍就可以被评为文明宿舍。
或逻辑可以表示两个条件是“或者”的关系,如果要让Y 为真,只要A 或者B 两个条件中的其中一个得到满足即可。
从以上两个例子可以看出,在相同的两个条件下,要使结果Y 为真,或逻辑比与逻辑要宽松。
非逻辑的表达式为Y= A ,在这里我们可以假设:Y 表示甲是男人,A 表示甲是女人,那么A 表示甲不是女人,可以看出Y 和A 不能同时发生,如果A (甲是女人)成立那么Y (甲是男人)就不可能成立,而A 不成立(也就是说甲不是女人),则Y (甲是男人)一定成立。
二、 用逻辑推理解释布尔代数的几个常用定理。
《电子线路》课本对定理的证明常用严格的数学推导或真值表证明,学生感觉比较抽象,其实我们可以用日常生活中的逻辑推理来解释这些定理,使我们更容易理解这些定理。
①、摩根第一定律公式: = + ,在这里我们假设A 表示甲考试及格,B 表示乙考试及格,很明显 表示甲考试不及格, 表示乙考试不及格,
而A B 按照与逻辑的含义则表示甲考试及格并且乙考试也及格,也就是说甲和乙他们两人考试都及格了。
那么 则表示甲和乙两人考试都及格的这句话是错的。
如果甲和乙考试都及格这句话错了( )就包括或者甲考试不及格( )或者乙考试不及格( )或者A 和B 考试都不及格( )这三
种情况即 = + + = + (1+ )= + ②、摩根第二定律公式: = ,假设A 和B 用回证明摩根第
一定律时的含义,那么A+B 就表示或者甲考试及格或者乙考试及格,总之他们之间一定有一个及格,而 表示前面这句话错了即甲考试及格或者乙考试及格,两人之间有一个及格的这句话是错的,这也就等于说甲考试不及格并且乙考试也不及格,也就是说他们两个考试都不及格。
即 = ③、与或表达式的化简:很多同学对Y=A+ B 和Y=A+B 这两个等式是相互等效的数学推导不容易理解。
我们用逻辑推理来解释:如果Y 表示某同学可以被评为文明学生,A 表示某同学的操行分在90分以上,表示某同学的A+B A B A B A B A B A B A B A B A A B
B A+B A+B A B A A A B . . A B
. A B . . A B
. . . . .
.
操行评分没有在90分以上,B 表示某同学的操行分没有被扣分。
Y=A+ B 表示如果某同学的操行分在90分以上(A )或者(+)[操行分没有90分并且操行分没有被扣分( B )]这两个条件中的其中一个可以得到满足的话,Y(某同学被评为文明学生)就成立。
Y=A+B 表示如果操行分在90分以上(A )或者(+)操行分没有被扣分(B )两个条件的其中一个条件可以得到满足的话Y(被评为文明学生)就成立。
细心体会以上两句话,我们不难发现其实A+ B 所表达的含义与A+B 是相同的即A+ B=A+B ,而 (操行分达不到90分)这个条件是多余的,可以消去。
三、 布尔代数在逻辑推理中的应用。
布尔代数不光是分析和设计数字逻辑电路的基础,也可以解决实际生活中的一些推理问题,下面笔者就布尔代数分析法在日常逻辑推理中的一些应用提出自己的看法,
[问题]已知课室的玻璃是被甲乙丙丁四个男生中的某个同学打烂的,于是我就去班上询问,甲说:“玻璃是丙打烂的”,乙说:“我没有打烂玻璃”,丙说:“我也没有打烂玻璃”,丁说:“玻璃是甲打烂的”。
当四个人的话音刚落,一个知道内情同学站起来说:“老师,他们四个同学中,只有一个同学说的是真话,其余同学都是说假话,您以前上课说可以用布尔代数分析推理问题,可否现场分析:哪位同学说真话,哪位同学打烂玻璃?”
[分析]四位同学都有打烂玻璃或没有打烂玻璃的可能,由此作如下规定:甲打烂
玻璃用A 表示,甲没有打烂玻璃用
表示。
同理乙丙丁三位同学也可能有B, ,C, ,D, 。
(解)据题意:四个同学中,只有一个同学说真话,其他同学都是说假话。
所以本题有四种可能:
1、假设甲同学说真话,乙、丙、丁三个同学都是说假话。
甲说的是:玻璃是丙打烂的,因为玻璃是他们四个同学中其中一位打烂的,如果丙打烂了玻璃,则其他同学就没有可能再打烂玻璃,所以其布尔代数表达式为: C ,而乙同学说的是我没有打烂玻璃也就是 ,如果甲同学讲的是真话,那么乙同学讲的势必也是真话,如此,四个同学中就有两个同学说真话了,肯定不符合题意中“四个同学中,只有一个同学说真话,其他同学都是说假话”的规定,因此这种假设不能成立。
A A A A A A B D C A B D B . . . . .
. .
2、假设乙同学说真话,甲、丙、丁三个同学都是说假话。
乙说的是:“我没有打烂玻璃”,也就是 ,甲说玻璃是丙打烂的,也就是C ,丙说:“我没有打烂玻璃”,也就是 ,而C+ =1,即甲和丙两个同学中一定有一个人是讲真话,就像扔一个硬币,甲猜是正面,丙猜是反面,那么甲和丙这两个人中肯定有一个人是猜中的。
这样讲真话的就不止乙同学一个,不符合题意中“四个同学中,只有一个同学说真话,其他同学都是说假话”的规定,因此这种假设也不能成立。
3、假设丁同学说真话,甲、乙、丙三个同学都是说假话。
丁说的是:“玻璃是甲打烂的”,因为玻璃是他们四个同学中其中一位打烂的,如果确实是甲打烂了玻璃,则其他同学没有可能再打烂玻璃,所以其布尔代数表达式为:A 。
甲说:玻璃是丙打烂的,即C ,如果丁说的是真话,那么甲就肯定说假话,暂时没有发现丁同学说真话有什么破绽,再往下分析,乙说的是:“我没有打烂玻璃”,也就是 ,如果丁同学说真话,那么乙同学也势必也说真话,这就不符合题意中“四个同学中,只有一个同学说真话,其他同学都是说假话”的规定,因此这种假设同样不能成立。
4、既然甲乙丁三位同学都没有说真话的可能,那么我们基本可以判定只有丙同学说真话。
我们来验证一下:丙说:“我没有打烂玻璃”,就是 ,甲说的是:玻璃是丙打烂的,就是C ,如果假设丙说的是真话,那么甲就是在说假话,暂时没有发现丙同学说真话有什么破绽。
再往下分析,乙说的是:“我没有打烂玻璃”,也就是 ,我们把乙说的话当作是假话,并不会和假设丙同学说真话相矛盾,再继续往下看,丁说的是:“玻璃是甲打烂的”,也就是A 。
如果当他说的是假话也不会和假设丙说真话相矛盾。
根据以上分析,丙同学说的是真话,玻璃是乙同学打烂的。
(思考题)亲爱的读者,如果甲、乙、丙、丁四个同学中,只有一个同学说的假话,其他同学说的是真话,那么玻璃是谁打烂的(答案:玻璃是甲同学打烂的)
布尔代数不光是《电子线路》中数字组合逻辑电路分析和设计的基础,更和我们平时的日常逻辑推理息息相关,如果我们在向学生介绍布尔代数的时候,不光用课本上的数学推理和真值表证明的方法,同时介绍一下布尔代数在逻辑推理中的应用,不仅可以提高学生对课程的兴趣,使学生更好地掌握布尔代数的内容,而且也可以扩宽学生的知识面,让同学们的综合素质得到进一步的提高。
B C C B C D B C B . . .
参考文献:
张龙兴.电子技术基础[M].高等教育出版社,2000
陈进元,屈宛玲.离散数学[M].北京大学出版社,1987 易天龙.浅谈逻辑代数分析推理问题[J].电子报,2007。