見つける:テーブルを考える不可欠プライムインプリ
私は関数Fのプライムインプリカントを見つけることを試みたが(W、X、Y、Z)= SUM(0、2、5、7、8、 10,12,13,14,15)。私はxzという本質的な主張を持っています。もっと本質的な主張があるのだろうかと思っていたのですが?私はそれらを見つける方法を理解するのに困っている。
見つける:テーブルを考える不可欠プライムインプリ
私は関数Fのプライムインプリカントを見つけることを試みたが(W、X、Y、Z)= SUM(0、2、5、7、8、 10,12,13,14,15)。私はxzという本質的な主張を持っています。もっと本質的な主張があるのだろうかと思っていたのですが?私はそれらを見つける方法を理解するのに困っている。
プライムインプリカントは最小DNF(論理和の正規形; SOP =積の和)または最小CNF(結合標準形; POS =積の積)の論理項であり、もはや出力関数にとって重要な意味を持ちません。
a\b 0 1
+---+---|
0 | 0 | 0 |
1 | 0 |(1)|
+---+---+
あなたはリテラルの価値観の位置に最小項としてDNF形式で出力機能を記述できます:a=1
、b=1
(中括弧で 『丸で囲んだ』
はこれを簡単に例を検討しますK-マップ):それ
y = a*b
があるプライムインプリカント、理由リテラル(変数または変数の否定)のいずれかを削除しても、それ以上出力関数を暗黙にすることはありません!
ここでは2つの変数しかないので、右側の出力関数定義y = a*b
からa(aまたはその否定)またはb(bまたはその否定)を削除できます。 yから取り外しb
は*を= Bもし希望のいずれか円つの位置a=1
にゼロ、b=0
:
a\b 0 1
+---+---|
0 | 0 | 0 |
1 |(0 1)|
+---+---+ wrong_output_function: y1 = a
又は位置a=0
でゼロ不要円1 、 b=1
a(aまたはその否定)を削除することによって:
a\b 0 1
+---+---|
0 | 0 |(0)|
1 | 0 |(1)|
+---+---+ wrong_output_function: y2 = b
この例では、出力関数をDNFで表現することを選択することにより、すべての文字列とNO の文字列に丸めたいので、これら2つのブール式y1とy2はすべて間違っています。あなたの例については
:
最小限DNFの形を見つけるためにあなたが最大のグループ(用語)可能性を見つけるしたいと思い、それらはの妥当性を脅かすことなく、それらの変数の少なくとも可能な数を持っていますこの場合、いずれのグループにもゼロを加える(出力関数の含意)。
ここではグループの一部が重なっていることがわかりますが、グループは定義によって最小限のフォームしか持たないため、これは問題ありません。あなたが選択したグループをもっと大きくすることはできないので、このK-mapは最小です。
あなたは、例えば、円のために赤いものは、個別に緑色の円で捕捉できなかったが、以前のカルノー図に見られるように、あなたは自分のグループを大きくすることができますので、その場合には、それらは、プライムインプリカントではないでしょう。したがって、このKマップは非プライムなimplicantsがあるので、最小限ではありません。
注:あなたの関数でインデックスがあるため、変数の異なる順列の、私のK-マップのインデックスと一致していません。私のKマップは、元のKマップスタイルの変数の位置と一致します。出力関数はそれに基づいています。