布尔代数.docx
- 文档编号:7115469
- 上传时间:2023-01-19
- 格式:DOCX
- 页数:10
- 大小:33.88KB
布尔代数.docx
《布尔代数.docx》由会员分享,可在线阅读,更多相关《布尔代数.docx(10页珍藏版)》请在冰豆网上搜索。
布尔代数布尔代数第五章布尔代数布尔代数最初是作为对逻辑思维法则的研究出现的。
英国哲学家GeorgeBoole于1847年的论文“逻辑之数学分析”及“思维法则之研究”中引入了布尔代数。
本世纪30年代C.E.Shannon发表了“继电器和开关电路的符号分析”一文,为布尔代数在工艺技术中的应用开创了道路。
50年代苏联科学家把布尔代数发展成为接点网络实用中的通用理论,从而使布尔代数成为计算机科学中的重要基础理论。
从逻辑上讲,布尔代数是一个命题演算系统;从抽象代数观点讲,布尔代数是一个代数系统;从集合的观点讲,它是一个集合代数;从工程技术的观点讲,布尔代数是电路代数,电子线路的设计离不开它;5.1布尔代数的基本定义和性质定义5.1.1给定一个具有三个运算的代数结构,其中,是S上的二元运算,是S上的一元运算,0,1S。
若对于x,y,zS
(1)xy=yx,xy=yx(交换律)
(2)x(yz)=(xy)z,x(yz)=(xy)z(结合律)(3)x(yz)=(xy)(xz),x(yz)=(xy)(xz)(分配律)(4)x0=x,x1=x(同一律)(5)xx=1,xx=0(有补律)则称称为布尔代数(BooleanAlgebra),分别称为它的并(布尔和),交(布尔积)和补运算,0和1分别称为它的零元和么元。
一个布尔代数通常记为。
例5.1.1二值(元)布尔代数,其中B=0,111=10=01=1,00=0,1=011=1,10=01=00=0,0=1例5.1.2集合代数例5.1.3*命题代数定理5.1.1在一个布尔代数中,0和1都是唯一的;定理5.1.2在一个布尔代数中,任一元素的补元是唯一的;证明(利用同一律,有补律和分配律)定理5.1.3在一个布尔代数中中,则对xS,(x)=x定理5.1.4条件同上,则0=1,1=0;定理5.1.5条件同上,则对xS,xx=x,xx=x(幂等律)证明(利用同一律,有补律和分配律)定理5.1.6条件同上,则对xS,x1=1,x0=0(零一律)证明(同定理5.1.5)定理5.1.7条件同上,则对x,yS,x(xy)=x,x(xy)=x(吸收律)证明(同定理5.1.5)定理5.1.8条件同上,则对x,yS,(xy)=xy,(xy)=xy(Demorgan律)证明(同定理5.1.5)定理5.1.9条件同上,若对x,y,zS,xy=xz,xy=xz,则y=z(消去律)证明(利用集合中类似证明方法)定理5.1.10条件同上,则对x,yS,xy=xxy=y证明(利用吸收律)对偶原理:
在布尔代数中,若P是某个已经得到证明的定理,将定理中的条件和结论
(1)与互换;
(2)0与1互换则由此而得的新定理仍然成立;5.2格定理5.2.1设为一个布尔代数,则集合=|xy=xxSyS称为S上的偏序关系。
注xyxy=yxy=x定理5.2.2设为一个布尔代数,以及S上的偏序关系,则对x,y,zS
(1)xyx,xyy;
(2)xxy,yxy;(3)xzyz=xyz;xyxz=xyz;(4)xyxy=0;(5)0x,x1;证明(利用定义及吸收律)定义5.2.2给定偏序集,若其中S的任两个元素组成的集合均有上确界(最小上界)和下确界(最大下界),则称此偏序集为一个格(Lattice)。
有一些偏序集不是格:
例5.2.1设S=0,1,a,b,c,d,=,则a,b无上确界,c,d无下确界;定义5.2.3设是一个格,在S上定义两个二元运算:
对x,yS,xy=GLB(x,y),xy=LUB(x,y)(其中GLB(x,y)和LUB(x,y)分别为集合x,y在偏序集中的下确界和上确界)。
格记为;推论运算,分别满足交换律和结合律;定义5.2.4设是一个格,若,相互满足分配律,则称之为一个分配格(DistributiveLattice)。
定义5.2.5设是一个格,若S中有最大元和最小元,则称之为有界格(BoundedLattice)。
且分别用0和1表示一个有界格中的最小元和最大元;注在一个有界格中,对xS,0x1;定义5.2.6设是一个有界格,xS,存在yS使xy=1,xy=0则称x和y互为补元(Complement)显然0和1互为补元;定义5.2.7每个元素都有补元的有界格称为有补格(ComplementedLattice)。
定义5.2.8任一个有补分配格是一个布尔代数;将x的补元记为x,称为有补格的补运算;5.4布尔代数的原子表示定义5.4.1设为布尔代数,a是S中的一个非零元。
若对xS,有ax=a或ax=0,则称a是此布尔代数的一个原子(Atom);注1)若a是布尔代数的一个原子,则对xS,有ax或ax=0;2)若a为的原子且xa,则x=a或x=0;例5.4.11)设S=a,b,c,则a,b,c是布尔代数的所有原子;2)设S是一个无限集,则对aS,a是此布尔代数的一个原子;定理5.4.1若a和b为布尔代数的两个原子,且ab0,则a=b;(其逆否命题:
若a,b为布尔代数的两个不同原子,则ab=0)定理5.4.2若为有限布尔代数,xS,x0,则存在原子aS,使ax。
证明(构造性证明方法)定理5.4.3设为布尔代数,若a为原子,则对xS,ax或ax两式有且仅有一式成立;定理5.4.4设为有限布尔代数,a,a1,a2,an为其原子,则aa1a2an存在i1,2,n,a=ai。
定理5.4.5设为有限布尔代数,a1,a2,an为其所有原子,yS,则y=0yai=0,i1,2,n。
定理5.4.6(原子表示定理)设为有限布尔代数,x为S中非零元,且设a1,a2,an为满足ax的所有原子,则x=a1a2an且如不计原子的出现顺序则这样的表示方式是唯一的。
证明(记y=a1a2an求证y=x)定理5.4.7(Stone表示定理)为有限布尔代数,A为其所有原子的集合,则。
证明(作函数f:
SP(A),f(x)=,ifx=0;f(x)=a|aAax(即所有满足ax的原子集合)ifx0;推论有限布尔代数的基数一定为2的幂次;5.5布尔代数Br2用Bn表示具有n个元素的布尔代数。
特别地当S2=0,1,二元布尔代数为B2=;我们考虑下列代数结构:
设r是一个自然数,Br2=B2B2B2=;其中0r=,1r=,且=,Sr2;定理5.5.11)Br2是一个布尔代数,2)布尔代数与Br2同构;3)任一有限布尔代数都同构于一个布尔集合代数;5.6布尔表达式及其范式定理布尔代数可用于逻辑电路的设计。
具有若干输入和某种逻辑功能的组合线路可以用一个定义在电路代数上的电路函数表示,而一个电路函数则可以用布尔表达式来表示。
定义5.6.1设为布尔代数,则S中的元素称为布尔常元;取值于S中的变元称为布尔变量(BooleVariable)。
定义5.6.2设为布尔代数,x1,x2,xn为布尔变元,则由这n个布尔变元产生的布尔表达式(BooleExpression)可递归定义如下:
1)S中的任何元素和变元为一个布尔表达式;2)若F和G都是布尔式,则F,FG,FG也是布尔式;3)只有有限次使用1)或2)构造而成的符号串才是一个布尔式;(a)为了简便起见,规定的运算优先级低于例5.6.1在布尔代数中,布尔式有01,1(x1)(x2x3),(x1x3)1。
(b)任一n元布尔式都可定义为是一个从Sn到S的一个函数;例5.6.2在布尔代数中,f(x,y)=(xy)(x(xy)是一个二元布尔函数。
(c)两个布尔式相等:
布尔表达式f(x1,x2,xn)的值是将S中的元素作为xi(i=1,2,n)的值代入表达式以后计算出来的表达式的值;若对n个布尔变元的任意指派(即给每个变元取上S中的元素),两个布尔表达式的值均相等,则称这两个布尔表达式是相等或等价的。
定义5.6.3设x1,x2,xn为n个布尔变元,则n元布尔式(其中=xiif=1,=xiif=0,i=1,2,n)称之为由x1,x2,xn产生的n元小项(极小项,Minterm),用表示它;相应地可定义由x1,x2,xn生成的n元大项(极大项,Maxterm):
=(=xiif=0,=xiif=1)注1)关于x1,x2,xn有2n个不同的小项(大项);m0,m1,(m000,m001,m111)M0,M1,(M000,M001,M111)2)任何两个不同小项的布尔积()为0,任何两个不同大项的布尔和()为1;所有不同小项的布尔和为1;所有不同大项的布尔积为0;3)大项(小项)的补是一个小项(大项);例5.6.3xyz,xyz为三元小项;xyz,xyz为三元大项;而xyyz不是三元小项,xyxz不是三元大项;定义5.6.4形为(0m0)(1m1)()的布尔表达式称为主析取范式(PrincipalDisjunctiveNormalForm);形为(0M0)(1M1)()的布尔表达式称为主合取范式(PrincipalConjunctiveNormalForm);其中i(i=0,1,2n-1)为布尔常元。
注不同的主析(合)取范式有|S|2个。
定理5.6.1(范式定理)在布尔代数中每个n元布尔表达均可表示成:
f(x1,x2,xn)=k(ckmk)其中k=12nf(x1,x2,xn)=l(dlMl)其中l=12n其中ck=f(1,2,n),dl=f(1,2,n)例5.6.4在布尔代数中,f(x,y)=(xy)(x(xy)的主析取范式为例5.6.5在布尔代数中,f(x,y)=(xy)(x(xy)的主合取范式为定义5.6.5在布尔代数中,一个S上的n元函数,如果能表示成n元布尔表达式,则称之为布尔函数。
特别地当S=0,1时,即二值布尔代数S上的n元布尔式均是布尔函数。
其中二值布尔式的主析(合)取范式就是小(大)项的布尔和(积)。
如何求一个二值布尔式的主析取范式和主合取范式:
1)列表法当f(1,2,n)=1,则对应小项在f的主析取范式中出现;当f(1,2,n)=0时,则对应小项在f的主析取范式中不出现;当f(1,2,n)=0,则对应大项在f的主合取范式中出现;当f(1,2,n)=1,则对应大项在f的主合取大项范式中不出现;注同一布尔式的主合取范式中大项的项数和主析取范式中小项的项数之和等于2n。
2)布尔代数性质法例5.6.6在二值布尔代数中,求下列布尔式的主析(合)取范式:
(1)(xy)z
(2)xy注若f的主析取范式为g,则f的主析取范式就是2n个小项中不在g中出现的小项的布尔和h,且h就是f的主合取范式;反之,若f的主合取范式为g,则f的主合取范式就是2n个大项中不在g中出现的大项的布尔积h,且h就是f的主析取范式;布尔式的范式定理与布尔式的简化在电子线路中的应用:
二值布尔代数可用于逻辑电路的设计。
具有若干输入和某种逻辑功能的组合线路可以用一个定义在电路代数上的电路函数表示,而一个电路函数则可以用二值布尔式来表示。
但是,表示同一种逻辑功能的电路函数可以有许多种,那么用其中最简单的电路函数来设计组合线路,是一个经济、可靠、简便的方法。
例5.6.7在二值布尔代数中,下列布尔式是等价的:
f(x,y,z)=(xyz)(xyz)(xyz)(xyz)(xyz)g(x,y,z)=y(xz)另外,布尔代数的应用极为广泛,其中最明显的是在计算机技术中分析、综合、设计逻辑电路中的应用。
我们将若干个开关的串联与并联构成的电路称为开关电路。
整个开关电路从功能上可看作是一个开关,把电路接通记为1,把电路断开记为0。
一个具有n个独立开关组成的开关电路称为n元开关电路,可以写成一个二值n元布尔式。
例5.6.8设计一个包含3个开关的电路,使得当且仅当有两个或两个以上的开关接通时,信号灯亮(或设计一个为三人进行秘密表决的电路,要求信号在两人或两人以上按下开关表示同意时亮,其他情况不亮)。
开关是一种具有一个输入和一个输出的器件。
对于多输入单输出的情形则可以用逻辑门电路来实现。
逻辑门电路可以用来作与、或、非等逻辑运算,一个逻辑门的输出可以用为另一个逻辑门的输入。
这样得到的逻辑电路可以用一个布尔式表示。
通过对逻辑电路所对应的布尔式进行化简,我们就能分析电路有功能,并简化电路,既降低成本又提高可靠性。
例5.6.9设计一个半加器:
能对两个一位的二进制数进行算术加法的自动装置。
设a是被加数,b是加数,x,y分别是的和a+b的第二位和第一位的二进制数码。
设计结果如下
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 布尔 代数
![提示](https://static.bdocx.com/images/bang_tan.gif)