布尔表达式与布尔函数
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
定义8.6 布尔表达式 a1∧a2∧…∧an 称为n个 变元的极小项,其中ai为变元xi或xi’ . 布尔表达 式 a1∨a2∨…∨an 称为n个变元的极大项, 其中 ai为变元 xi 或 xi’ . 说明: n个变元的极小项和极大项各有2n个, 分别用 . m0 , m1 ,, m2n 1和 M 0 , M1,, M 2 1来表示
n
n
n
∨, ∧, ’ 在电路中的应用 电路设计中的三种基本门如下:
x x' 反相器 x
x
y 或门
x∨ y
x y 与门
ห้องสมุดไป่ตู้
x∧ y
使用反相器, 或门和与门可以构造组合电路, 如:
x∧ y (x∧y)∨(x’∧y) x' x'∧y 输出电路
y
x y
例8.6 求布尔代数 <{0, 1, a, b}, ∨, ∧, ’, 0, 1>上布 尔函数 f(x1, x2)= [ (a∧x1)∨(b∨x1)’ ]∧(x1∨x2)的主析 取范式和主合取范式. 解: 主析取范式为 f(x1, x2)= [ (a∧x1)∨(b∨x1)’ ]∧(x1∨x2) = [(a∧x1)∧(x1∨x2) ]∨[ (b’∧x1’)∧(x1∨x2) ] = [(a∧x1 ∧x1)∨(a∧x1∧x2)]∨ [(b’∧x1’∧x1)∨(b’∧x1’∧x2)] = (a∧x1 )∨(a∧x1∧x2)∨(b’∧x1’∧x1)∨(b’∧x1’∧x2)
说明: 1) 从主析取范式和主合取范式的定义可以看出, < B, ∨, ∧, ’, 0, 1> 的不同的n元主析取范式和主 因为在主析取范式和主 合取范式分别是 | B |2 个, a0 , a1 , , a2n 1各有|B|种取值可能. 合取范式中, 2 2 个, | B | B | 这表明, B上不同的n元布尔函数至多是 因此并非所有的Bn到B的函数都是布尔函数. 2) 当主析取范式中 a0 , a1 , , a2n 1 均取0时, 该式 因此0的主析取范式常简单的规定为0, 的值为0, 它表示函数 f(x1, x2, …, xn)= 0. 当主合取范式中 a0 , a1 , , a2n 1 均取1时, 该式 的值为1, 因此1的主合取范式常简单的规定为1, 它表示函数 f(x1, x2, …, xn)= 1.
= (a∧x1)∨(b’∧x1’∧x2) = ( (a∧x1)∧(x2∨x2’ ) )∨(b’∧x1’∧x2)
= (a∧x1∧x2)∨(a∧x1∧x2’ )∨(a∧x1’∧x2) (b’=a)
主合取范式为:
f(x1, x2)= [ (a∧x1)∨(b∨x1)’ ]∧(x1∨x2)
=[ (a∧x1)∨(b’∧x1’ ) ]∧(x1∨x2)
(a0 m 0 ) (a1 m1 ) (a 2 n 1 m 2 n 1 ) (a0 M 0 ) (a1 M 1 ) (a 2n 1 M 2 n 1 )
其中: ai为布尔常元, mi和Mi分别是极小项与极 大项, 且两式对x1, x2, …, xn的一切取值均与 f(x1, x2, …, xn)等值.
主析取范式和主合取范式的求法: 1) 将布尔常元看作变元做同样的处理; 2) 利用德摩根律将运算符号 ’ 深入到每个变 元 常元)上. 3) ( 利用分配律展开 . 4) 构成极小项或极大项缺少变元x时, 用添加合 取项(x∨x’)或析取项(x∧x’)来处理. 5) 计算合并常元、变元和表达式.(可随时 进行)
§8.2 布尔表达式与布尔函数
8.2.1 布尔表达式与布尔函数
定义8.4 设 < B, ∨, ∧, ’, 0, 1 > 是布尔代数, B上的 布尔表达式递归定义如下 (1) 布尔常元和布尔变元 (取值于布尔代数B的常元和 变元)是布尔表达式. 通常布尔常元用a, b, c表示, 布尔 变元用x, y, z表示. (2) 如果e1, e2为布尔表达式, 那么(e1’), ( e1∨e2), ( e1∧e2) 也都是布尔表达式.
定义8.5 布尔表达式 f (x1, x2,…, xn)所定义的函数 n f : B B 称为布尔函数. 例8.5 设 < {0, 1, a, b}, ∨, ∧, ’, 0, 1> 是一个布尔 代数, (a,b互为补元)其上有表达式 f(x1, x2)=( x1’∨a)∧x2 f(x1, x2, x3)=( x1∧x2∧x3)’∨(x1∧x2’ ∧x3’) 则: f(1, b)= (1’∨a)∧b= a∧b= 0 f(a, b, 0)= (a∧b∧0)’∨(a∧b’ ∧0’) = 0’∨(a∧a)= 1
= [ (a∧x1)∨b’ )∧( (a∧x1)∨x1’ ]∧(x1∨x2)
= [(a∨b’ )∧(b’∨x1)∧(a∨x1’ )∧(x1∨x1’)]∧(x1∨x2) = [(a∨b’ )∧(b’∨x1)∧(a∨x1’ )]∧(x1∨x2)
= a∧(a∨x1)∧(a∨x1’ )∧(x1∨x2)
(b’=a)
(3) 除有限次使用 (1) (2)生成的表达式是布尔表达式 外, 再没有别的布尔表达式. 为了省略括号, 约定 ’ 的运算优先级高于∨和∧的 运算优先级, 并约定表达式最外层括号省略.
例8.4 设 < {0, 1, 2, 3 }, ∨, ∧, ’, 0, 1 > 是一个 布尔代数, 那么 ((2∨3)’∧(x∨y)∧(x∨z)’) 0∧x, (1∨x’)∧y, 都是布尔表达式, 并分别是含有一个变元、两个 变元、三个变元的布尔表达式. 通常用 f(x1, x2,…, xn), g(x1, x2,…, xm)等表示 含有n个变元或m个变元的布尔表达式. 当给定布尔表达式并确定其中变元的取值 后, 该表达式对应于一个确定的B中的元素, 该元 素就是布尔表达式的值.
= a∧ (a∨(x1∧x1’ ))∧(x1∨x2) = a∧ a∧(x1∨x2) = a∧(x1∨x2) = (a∨x1∨x2)∧( a∨x1∨x2’ )∧( a∨x1’∨x2) ∧( a∨x1’∨x2’ )∧(x1∨x2 ) = (x1∨x2)∧(a∨x1∨x2’)∧(a∨x1’∨x2)∧(a∨x1’∨x2’)
n
极小项和极大项满足以下性质:
(i j) (2) m0 m1 m2 1 1, M 0 M1 M 2 1 0
n n
(1) mi m j 0, M i M j 1
定义8.7 布尔表达式 f(x1, x2, …, xn)的主析取范式 和主合取范式分别指下列布尔表达式: