离散数学-代数结构 南京大学计算机科学与技术系 布尔代数 离散数学-代数结构 南京大学计算机科学与技术系
内容提要 布尔函数 布尔代数 布尔代数的抽象定义 布尔代数的性质 有限布尔代数 布尔代数与数字逻辑电路设计
布尔函数 令B={0, 1}, Bn={(x1, …, xn)| xiB, i =1, …, n}, 从Bn到B 的函数称为n度布尔函数, f : BnB。 取值范围为B的变元称为布尔变元 ,xB。 n度布尔函数的个数:22n (22 , 24 , 28, …) 三种说法 含n个命题变量的命题逻辑表达式 n度布尔函数 f : BnB 有n个输入和一个输出的逻辑电路
一个逻辑电路设计的例子 举重比赛中三个裁判中两个或者两个以上判定为成功则该次成绩有效, 设计一个电子打分器, 输出一个结果: “成功”或”失败”。 x y z f(x,y,z) 布尔函数: f(x,y,z)=1 iff. x,y,z 至少有两个为1。 00001111 00110011 01010101 00010111 相应的布尔表达式: (xyz) (xyz) (xyz) (xyz)
回顾:命题表达式的主析取范式 求 (pq) r 的主析取范式 (¬p r) (q r) (p¬q¬r ) (析取范式) (¬p ¬q r) (¬p q r) (p q r) (p ¬q¬r ) (¬p ¬q r) (¬p q r) (p¬q¬r) (p q r) 001 011 100 111 ¬p r ¬p (¬q q) r (¬p ¬q r ) (¬p q r ) q r ( p q r ) (¬p q r )
集合{0, 1}上的运算 布尔和 1+1=1, 1+0=1, 0+1=1, 0+0=0 布尔积 11=1, 1 0=0, 01=0, 00=0 补 0=1, 1=0
布尔函数上的运算 布尔和 (f+g)(x1, …, xn)= f(x1, …, xn)+g(x1, …, xn) 布尔积 补函数 f (x1, …, xn)= f(x1, …, xn)
布尔恒等式(1) 等 式 名 称 x+(y+z)=(x+y)+z x (yz)=(xy) z 结合律 x+y = y+x 等 式 名 称 x+(y+z)=(x+y)+z x (yz)=(xy) z 结合律 x+y = y+x xy = yx 交换律 x+(yz)=(x+y)(x+z) x (y+z)=xy +x z 分配律 x+0 = x x1 = x 同一律 x + x =1 x x =0 补律
布尔恒等式(2) 等 式 名 称 x+(xy)=x x (x+y)=x 吸收律 x+x = x xx = x 幂等律 x+1 = 1 等 式 名 称 x+(xy)=x x (x+y)=x 吸收律 x+x = x xx = x 幂等律 x+1 = 1 x0 = 0 支配律 x = x 双重补律 (x y) = x + y (x+y) = x y 德摩根律
布尔代数的抽象定义 一个布尔代数是一个集合B,它有二元运算和、一元运算 以及特殊元素0和1,且x, y, zB, 下列性质成立: x(yz)=(xy)z x(yz)=(xy)z 结合律 xy =yx xy= yx 交换律 x(yz)=(xy)(xz) x(yz)=(xy) (xz) 分配律 x0 = x x1 = x 同一律 x x =1 x x =0 补 律 a,b分别是◦和*的单位元蕴含两者之一:a是全下界,0是上确界运算,b是全上界,*是下确界运算;a是全上界,0是下确界运算,b是全下界,*是上确界运算;
布尔代数举例 ({0, 1}, +, , , 0, 1)为布尔代数 n度布尔函数全体也构成一个布尔代数 ({0, 1}, +, , , 0, 1)为布尔代数 n度布尔函数全体也构成一个布尔代数 布尔和 布尔积 补函数 全取0的函数、全取1的函数 A的幂集也构成一个布尔代数((A), ⋂, ⋃, , , A) a,b分别是◦和*的单位元蕴含两者之一:a是全下界,0是上确界运算,b是全上界,*是下确界运算;a是全上界,0是下确界运算,b是全下界,*是上确界运算;
布尔代数举例 Bn={(x1, …, xn)| xiB, i =1, …, n}构成布尔代数 x= (a1 , …, an), y=(b1 , …, bn), aiB, biB x y = (c1 , …, cn), where ci=aibi x y = (d1 , …, dn), where di=aibi x= (e1 , …, en), where ei=ai a,b分别是◦和*的单位元蕴含两者之一:a是全下界,0是上确界运算,b是全上界,*是下确界运算;a是全上界,0是下确界运算,b是全下界,*是上确界运算;
布尔代数的性质 结合律、交换律、分配律、同一律、补律 蕴含:支配律、吸收律、幂等律、双重补律、德摩根律 证明支配律: xB, x1=1, x0=0 x1= 1(x 1)= (x x)(x 1)= x (x 1)= x x=1 x0= 0(x 0) =(x x) (x 0)= x (x 0)= x x=0
布尔代数的性质 证明吸收律 证明幂等律 x (xy)= (x1) (xy)= x (1y) = x1 = x x x= x (x0) = x (应用同一律、吸收律) 吸收律 幂等律 x x = x ( x (xx) ) = x (两次应用吸收律)
布尔代数的性质 引理:x, y, zB, 若 xz=yz 且 xz = yz ,则 x = y 证明双重补律 x = x(xz) = x (yz) = (x y) (x z ) //吸收律/分配律 y = y(y z ) = y (xz) = (y x) (y z ) 证明双重补律 x x =1= x x x x =0= x x x = x
布尔代数的性质 证明德摩根律: x, yB, (xy)= x y; 根据补元的唯一性,只需证明x y是xy的补元。 (xy) (x y)= (x x y )(y x y ) =1 (xy) (x y)= (x y x ) (x y y ) =0
布尔代数的性质 结合律 交换律 分配律 同一律 补律 支配律 吸收律 幂等律 双重补律 德摩根律 格 布尔代数:有补的分配格
格中的原子 定义:设L是格,L中有最小元(全下界)0,给定元素a0, 若xL, 有: 0≺x≼a x=a 则称a是L中的原子 (原子是覆盖最小元的那些元素。) 设a, b是格L中的原子,若ab, 则ab=0 假设a b0, 注意:ab≼a且ab≼b,由原子的定义: ab=a, ab=b, a=b, 矛盾。
格中的原子 a a a c c b b b d 原子 c d d e e (1) (2) (3)
有限布尔代数的表示定理 任一有限布尔代数B 同构于 B中所有的原子构成的集合A的幂集代数系统P(A)。 即(B, , , ', 0, 1) (P(A), ⋂, ⋃, , , A) 备注(关于无限布尔代数) 2N,即无限的0/1序列x0, x1, x2, … 这一无限布尔代数有原子 2N的一个子代数:周期序列(Periodic sequence) 这个布尔代数没有原子
有限布尔代数(示例) {2,3,5} 30 {2,3} 6 {2,5} {3,5} 10 15 {3} 3 {5} {2} 5 2 1
有限布尔代数基数是2的整数次幂 任何有限布尔代数的基数为2n, n是自然数。 等势的有限布尔代数均同构 设B是有限代数系统,A是B中所有原子的集合。 则:BP(A), |B|=|P(A)|=2|A| 等势的有限布尔代数均同构
有限布尔代数(举例) 与含n个元素的集合的幂集代数系统同构的布尔代数记为Bn n=0 n=2 n=1 n=3 001 111 110 011 101 010 100 000 11 10 01 00 n=0 n=1 1 n=2 n=3
Hasse Diagrams of Isomorphic Lattices 111 110 001 011 101 010 100 000 {2,3,5} {2,3} {5} {3,5} {2,5} {3} {2} {a,b,c} {a,b} {c} {b,c} {a,c} {b} {a}
Bn as Product of n B’s B1, ({0,1}, , , 1, 0, ’), is denoted as B. For any n≥1, Bn =BB...B, where BB...B is given the product partial order.
Hasse Diagram of Bn n=0 n=2 n=1 n=3 1 11 10 01 001 00 100 000 111 110 101 011 10 01 010 n=0 001 00 100 n=2 000 n=1 n=3
Examples Dn is the poset of all positive divisors of n with the partial order “divisibility”. 30 6 6 15 10 D20 is not a Boolean algebra 2 3 3 5 2 1 1 D30 D6
Dn as Boolean Algebra Let n=p1p2...pk, where the pi are distinct primes. Then Dn is a Boolean algebra. Let S={p1, p2, ... pk}, and for any subset T of S, aT is the product of the primes in T. Note: any divisor of n must be some aT. And we have aT|n for any T. For any subsets V,T, VT iff. aV|aT, and aVaT=GCD(aV, aT) and aVaT=LCM(aV, aT). f: P(S)Dn given by f(T)= aT is an isomorphism from P(S) to Dn.
Proof of Non-Boolean Algebra If n is a positive integer and p2|n, where p is a prime number, then Dn is not a Boolean algebra. Proof Since p2|n, n= p2q for some positive integer q. Note that p is also an element of Dn, then if Dn is a Boolean algebra, p must have a complement p’, which means GCD(p, p’)=1 and LCM(p, p’)=n. So, pp’=n, which leads to p’=pq. So, GCD(p, pq)=1, contradiction.
下列格是否构成布尔代数? 24 8 4 6 2 3 12 1
布尔代数与数字逻辑电路设计 一个有n个输入、一个输出的逻辑电路对应于一个用 含n个布尔变量的布尔代数表达式定义的布尔函数 f : BnB。 布尔函数的表达式:{和、积、补}是函数完全的。 用门电路元件(并、交、否)搭出所需的逻辑电路。 电路极小化:卡诺图
作业 教材内容:[屈婉玲] 11.2节 课后习题: pp. 262—263 13—14 16—19 p. 219 13—14 16—19