布尔代数是用来组合和化简真/假表达式的系统。如果你想化简像 AB+AB 这样的逻辑表达式,主要工具就是补元律、分配律、吸收律以及德摩根定理等规则。
在一种常见记号中,x+y 表示 OR(或),xy 表示 AND(与),x 表示 NOT x(非 x)。有些教材把 NOT 写成 x′,但底层规则是一样的。
布尔代数是什么意思
普通代数处理的是数字。布尔代数处理的是命题或二元变量,它们只能取两个值:真/假,或 1/0。
这会改变运算规则。在布尔代数中,
x+x=xandxx=x
这两个恒等式表达的是同一个意思:重复一个条件不会产生新的结果。如果一个开关已经打开,那么“开 OR 开”并不会改变任何东西。
你真正会用到的布尔代数定律
这些是在化简布尔表达式时最常出现的定律。
恒等律
x+0=x,x⋅1=x
加上 false 不会改变结果,而与 true 做 AND 也不会改变结果。
零律
x+1=1,x⋅0=0
如果一个 OR 表达式里已经包含 true,那么整个结果就是真。如果一个 AND 表达式里包含 false,那么整个结果就是假。
幂等律
x+x=x,x⋅x=x
重复同一个变量不会改变表达式。
补元律
x+x=1,x⋅x=0
一个变量和它的相反情况在 OR 中覆盖了所有可能,但在 AND 中永远不会同时成立。
交换律与结合律
x+y=y+x,xy=yx
(x+y)+z=x+(y+z),(xy)z=x(yz)
这些定律让你可以在不改变结果的前提下重新排列或重新分组各项。
分配律
x(y+z)=xy+xz
x+yz=(x+y)(x+z)
第二种形式可能不那么直观,但它是标准的布尔恒等式,在因式分解时经常会出现。
吸收律
x+xy=x,x(x+y)=x
当一个表达式看起来比实际更长时,这两条尤其有用。
德摩根定理
x+y=xy,xy=x+y
它们说明了否定如何跨过 OR 和 AND 传播。当 NOT 穿过括号时,OR 和 AND 会互换角色。
例题:化简 AB+AB
从下面开始:
F=AB+AB
提取公共因子 A:
F=A(B+B)
现在使用补元律:
F=A⋅1
再使用恒等律:
F=A
所以 AB+AB=A。直观地看,如果 A=1,那么要么 B=1,要么 B=1,因此其中一项必定为真。如果 A=0,两项都为假。整个表达式只取决于 A。
布尔代数中的常见错误
一个常见错误是把普通代数的习惯直接带入布尔代数。例如,x+x=2x 并不是布尔规则。在这里,正确结果是 x。
另一个错误是在没有确认记号含义时就套用定律。在很多教材中,+ 表示 OR,而不是算术加法;把变量并排写在一起表示的是 AND。
学生还常常误用德摩根定理:只把每个变量取反,却忘了把 OR 和 AND 对调。这两部分都不能漏掉。
布尔代数用在哪里
布尔代数是数字逻辑的核心,其中变量表示开/关或真/假状态。它被用来化简电路设计、写出更简洁的软件逻辑条件,以及分析搜索筛选条件或数据库查询。
如果变量不是二元的,或者运算是普通算术,那么布尔定律就不能直接套用。正是“只有两个取值”这一条件,才使这个系统成立。
试着做一个类似的化简
试着化简 (A+B)(A+B)。如果你认真使用上面的定律,它会比一开始看起来化简得更多。如果你想再进一步,可以列出真值表,检查化简后的形式是否与原式在每一行都一致。