このブール関数を単純にすることは可能ですか
(!A*!B*!C) + (!A*!B*C*!D) + (A*!B*!C*D) + (A*!B*C*!D) + (A*B*!C*!D)
このブール関数を単純にすることは可能ですか
(!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)
見にくいですが、用語は少ないです。
真理値表を見てください:
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 の表の 3 つの部分を取り、これを 3 つの項の合計に単純化できるようです。
!A*!B*!(C*D) + A*!B*(C^D) + A*B*!C*!D
第 2 項で XOR (^) を使用していることに注意してください。XOR を使用できない場合は、第 2 項を少し拡張する必要があります。
!B
項のいずれかまたはA
2 つを因数分解することで、項の数をさらに減らすことができます。
!B*(!A*!(C*D) + A*(C^D)) + A*B*!C*!D
また:
!A*!B*!(C*D) + A*(!B*(C^D) + B*!C*!D)