布尔代数
基本规律
设有两个函数
F1=f1(A1, A2, …An)
F2=f2(A1, A2, …An)
如果对应于A1, A2, …An的任何一组取值
F1和F2的值都相等,则称F1= F2,
即F1和F2有相同的真值表
这个函数大概就是长成这样:
运算符是之前逻辑运算里的
下面讨论一些基本定理
这几个好理解,还可以结合集合进行记忆
这个对于异或同或也成立,但只限于相同运算之间
这个对于异或同或也成立,不解释
在布尔运算中加与乘是对偶的特别要注意画红线的式子的应用。
可以推广到横线下的所有运算符置反(与变或,或变与),变量置反,要注意运算顺序不变(由于与运算优先级高于或运算),比如
吸收律
关于对偶式的事等会再说,一个式子成立则其对偶式也一定成立
包含律(冗余律):
证明:在BC前添加(A加A反)然后展开,然后提取AB,A反C就很显然了.据此可以将这个式子推广到
反函数与对偶函数
反函数
求一个函数的反函数过程如下
0,1式子中一般不会出现,因为很容易化掉,变量要置反,还要考虑运算的顺序
比如我要得到下面这个函数的反函数
将运算符,变量取反后为(别忘了考虑运算顺序):
面对一个比较复杂的式子是可以采取一下策略:
1.不改变括号将内部所有东西置反,注意在原来高优先级运算外套括号
2.整理括号
比如要化简
第一步结果为
整理括号后为
对偶函数
求一个函数的对偶函数过程如下:
与求反函数不同的是变量不置反,由此我们可以得到一个函数的反函数与对偶函数之间的关系,即反函数的所有变量置反后为原函数的对偶函数,对偶函数的所有变量置反后为原函数的反函数。
由此我们可以解释为什么一个式子成立其对偶式一定也成立,式子两边同时取反,然后将所有变量置反(原式子成立,输入输出同时置反当然也成立)
卡诺图
引入
先看道例题:
这种逻辑运算的化简真的要人命,不知从何入手,一顿操作下来有时甚至无法确定是否化到最简了,没关系,有种普适的方法,不用脑子,只要画个图,圈几个圈即可,这就是要讲的卡诺图。
最小项
定义:n变量逻辑函数中,m为包含n个因子的乘积项,且n个变量均以原变量或反变量的形式在m中仅出现一次,则m为该组变量的最小项。最小项的个数为2n。最小项可以编号,记作mi。
看不懂没关系。
看例子好理解一点
每个变量有正负两种情况,所以有8个最小项,然后我们规定头上有横线的对应的数字为0这样就得到了最小项点的编码,并将这个编码的值作为编号m的下标。
最小项有以下的性质:
应该看得懂吧,不细讲了。
逻辑相邻
逻辑相邻:两个最小项之间只有一个因子不同
比如最小项
ABC与A非BC
A非B非C非与A非B非C
对于三变量最小项来说一共有三个最小项与之逻辑相邻
具有逻辑相邻的两个最小项有个重要性质:
具有逻辑相邻性的两个最小项可以通过并项法合并成一项并消去一对相异因子
比如:
ABC+A非BC=BC(消去了相异项A)
最小项表达式
定义
任一逻辑函数都可化成唯一的最小项表达式
一般的做法是在某项前添加缺失项的正非对
比如
这个就是最小项表达式的简记法,那个上标3表示最小项变量个数,小括号里的是最小项对应的编号
从求最小项的表达式的反函数看其一重要性质
要求下面这个式子的反函数
可以通过之前的方法全部置反然后展开,但是这样太麻烦了。
其实最小项表达式的反函数就是缺失的其他最小项的表达式,比如上面的式子的反函数为:
为什么呢?
首先我们要知道一个事实,一个函数与其反函数在输入相同的情况下,其输出是相反的,而最小项只有当输入与其编号二进制对应时输出才为1,最小项表达式中最小项们之间的连接是或,有一个为真就为真,那,输入当前表达式包含的最小项结果为零,输入其他时为1的表达式是什么呢,不就是不属于当前表达式的其他最小项组成的表达式吗
卡诺图
长这样
解释一下图中的东西,方格中的数字是最小项的编号,由坐标可以得到最小项的编码。
图一般是这样画的,以三变量为例,
1.先确定最小项的个,8,AB为一组,C为另一组
2.画8个格子和斜线,写下AB,C
3.排列编号,C无所谓0,1,AB的排列有讲究,第一位表示A,1是A,0是A非,第二位是B,而且要保证相邻点的两个数之间是逻辑相邻的(这就是为什么01后面是11)
4.在格子中填下坐标对应的最小项编号
要注意的一个点是,三变量的左右是贯通的,就是4和0相同,5和1相同
上下的话由于本来就相邻不用卷,由此可以得到4变量的卡诺图上下贯通,左右贯通,给张图:
这样就会有一些有趣的东西。比如我说这四个角上的格子其实可以组成一个2x2的正方形。
然后一般个数超过4的我们就不用正规的卡诺图处理了,或者用电脑处理
卡诺图用于化简逻辑表达式
这部分用文字表达不太方便,采用视频笔记的形式。
给出步骤便于快速复习:
1.标记最小项表达式中的最小项在卡诺图中的位置,标记无关项在卡诺图中的位置,记得区分
2.画圈,先是找最大的圈(这些圈满足2n个,要连续,长宽必须是2的倍数),再找小圈,直到把所有最小项标记都包括进去,无关项用于辅助画圈,随意标记或不标记。
3.找出每个圈的相同部分,相加得到结果
画圈原则:
1.能大就大
2.能少就少
3.同一个格子可以重复使用
电路图与逻辑表达式的相互转化
电路图转逻辑表达式
1.在每个图示的输出部分做上标记
2.从最终输出开始往回写表达式,然后逐步替换标记直到全部为最初输入
比如写出下面这个的逻辑表达式
逻辑表达式转电路图
从最内层开始,与运算,再把结果输入到或运算中