Boolean logic 布尔代数简化

Boolean logic 布尔代数简化,boolean-logic,Boolean Logic,有没有可能简化这个布尔函数 (!A*!B*!C) + (!A*!B*C*!D) + (A*!B*!C*D) + (A*!B*C*!D) + (A*B*!C*!D) 我想到了这个: (!B*(!A*(!C+!D))+A*(C XOR D)) + (A*B*!C*!D) 看起来很凌乱,但术语较少。我想到了这个: (!B*(!A*(!C+!D))+A*(C XOR D)) + (A*B*!C*!D) 看起来很混乱,但术语较少。看看真值表: A B C D X 0 0 0 0 1 0 0 0 1

有没有可能简化这个布尔函数

(!A*!B*!C) + (!A*!B*C*!D) + (A*!B*!C*D) + (A*!B*C*!D) + (A*B*!C*!D) 
我想到了这个:

(!B*(!A*(!C+!D))+A*(C XOR D)) + (A*B*!C*!D)
看起来很凌乱,但术语较少。

我想到了这个:

(!B*(!A*(!C+!D))+A*(C XOR D)) + (A*B*!C*!D)

看起来很混乱,但术语较少。

看看真值表:

A B C D X
0 0 0 0 1
0 0 0 1 1
0 0 1 0 1
0 0 1 1 0
0 1 0 0 0
0 1 0 1 0
0 1 1 0 0
0 1 1 1 0
1 0 0 0 0
1 0 0 1 1
1 0 1 0 1
1 0 1 1 0
1 1 0 0 1
1 1 0 1 0
1 1 1 0 0
1 1 1 1 0
看起来您可以将表中X=1的三个部分简化为三项之和:

!A*!B*!(C*D) + A*!B*(C^D) + A*B*!C*!D
注意,我在第二项中使用了XOR(^)。如果不能使用XOR,则需要稍微扩展第二项

通过分解出
,您可以进一步减少术语的数量!B
A
表示其中两个术语,例如

!B*(!A*!(C*D) + A*(C^D)) + A*B*!C*!D
或:


看看真值表:

A B C D X
0 0 0 0 1
0 0 0 1 1
0 0 1 0 1
0 0 1 1 0
0 1 0 0 0
0 1 0 1 0
0 1 1 0 0
0 1 1 1 0
1 0 0 0 0
1 0 0 1 1
1 0 1 0 1
1 0 1 1 0
1 1 0 0 1
1 1 0 1 0
1 1 1 0 0
1 1 1 1 0
看起来您可以将表中X=1的三个部分简化为三项之和:

!A*!B*!(C*D) + A*!B*(C^D) + A*B*!C*!D
注意,我在第二项中使用了XOR(^)。如果不能使用XOR,则需要稍微扩展第二项

通过分解出
,您可以进一步减少术语的数量!B
A
表示其中两个术语,例如

!B*(!A*!(C*D) + A*(C^D)) + A*B*!C*!D
或:


是的,你会怎么做?是的,你会怎么做?