特定の関数の可能な限り単純な積和式を合成するよう求める質問があります。基本的に、関数は AB == CD の場合は 1、それ以外の場合は 0 で、次のようになります。
(!A && !B && !C && !D) || (!A && B && !C && D) || (A && !B && C && !D) || (あいうえお)
どの用語も 1 ビットしか違わないため、それらをグループ化してそのように単純化する方法がわかりません。以下のようにカルノー図を作成しましたが、複数の 1 をグループ化できないため、役に立たないようです。
\ AB 00 01 11 10
CD +---+---+---+---+
00 | 1 | 0 | 0 | 0 |
+---+---+---+---+
01 | 0 | 1 | 0 | 0 |
+---+---+---+---+
11 | 0 | 0 | 1 | 0 |
+---+---+---+---+
10 | 0 | 0 | 0 | 1 |
+---+---+---+---+
だから私の質問は、上記の式はすでに最も単純な積和式ですか?