简化给定的布尔表达式

问题描述 投票:-1回答:2

我一直在努力简化这个布尔表达式

'((B' + C(A + d))(A '+ B(C + d))(d' + B))

(第一个否定就是整个表达)

我得到BC'+ A'D'B + AB'+ AC'D'+ DB'但答案没有AC'D'这个词。有没有办法可以使用吸收定律或其他东西来删除这个术语?

谢谢

boolean logic boolean-logic boolean-expression digital
2个回答
0
投票

两个表达都是等价的。

表达式1:B&!C + A&!B + !A&B&!D + !B&D

表达式2:B&!C + A&!B + !A&B&!D + !B&D + A&!C&!D

当且仅当A = 1,C = 0且D = 0时,A&!C&!D为真

如果我们在表达式1中注入这些条件,我们就有了

所有B&1 + 1&!B + 0&B&1 + !B&0 = B+!B =1B

因此,当A&!C&!D=1表达的其余部分也被断言并且A&!C&!D是多余的并且可以被抑制。

它也可以用代数方法证明,但是更长。

我们使用陈述x&y+!x&z=x&y+!x&z+y&z的共识定理

我们得到了表达式1的定理

B&!C + A&!B == B&!C + A&!B + A&!C
            == B&!C + A&!B + A&!C&D + A&!C&!D
B&!C + !B&D == B&!C + !B&D + !C&D

如果我们在表达式1中注入这些冗余的额外项(为了便于阅读,在括号之间)

(B&!C + A&!B + !A&B&!D + !B&D) + A&!C&D + A&!C&!D + !C&D
   = (B&!C + A&!B + !A&B&!D + !B&D) + A&!C&!D + (A&!C&D + !C&D)
   = (B&!C + A&!B + !A&B&!D + !B&D) + A&!C&!D + !C&D

但正如B&!C + !B&D + !C&D = B&!C + !B&D感谢共识定理

我们可以抑制!C&D,我们发现了

B&!C + A&!B + !A&B&!D + !B&D = B&!C + A&!B + !A&B&!D + !B&D + A&!C&!D


0
投票

对于这样的问题,Karnaugh maps派上用场:

enter image description here

通过目视检查,很明显AB'C'AB'完全覆盖。

一个不错的在线地图生成器由University of Marburg(ThorstenThormählen教授)提供。

© www.soinside.com 2019 - 2024. All rights reserved.