2

簡単な単純化に問題があるだけです。3 つの入力 A、B、C を持つ多数決デコーダの簡略化を行っています。その出力 Y は、2 つまたは 3 つすべての入力が 1 の場合は 1 と見なされます。それ以外の場合、Y は 0 と見なされます。正しいスイッチング関数 Y=f(A,B,C) を選択します。

したがって、真理値表を作成した後、正準積和が次のようになることがわかりました

NOT(A).B.C + A.NOT(B).C + A.B.NOT(C) + A.B.C

これを単純化すると、どうやら Y = A * B + B * C + A * C になります。

このような表現を単純化するには、どのような手順を踏む必要がありますか? それはどのように行われますか?この場合、この値はどのように取得されましたか?

4

4 に答える 4

5

まず、ブール式について次のことに注意してください。

A= A + A

さて、それを見てください

NOT(A).B.C + A.NOT(B).C + A.B.NOT(C) + A.B.C
= NOT(A).B.C + A.NOT(B).C + A.B.NOT(C) + A.B.C + A.B.C + A.B.C
= (NOT(A)+A).B.C + A.(NOT(B)+B).C + A.B.(NOT(C)+C)
= B.C + A.C + A.B
于 2011-04-30T13:42:53.447 に答える
2

ちなみにWolframAlphaは、ブール演算を行う (チェックする) のに最適です。この場合、例の形式は次のようになります。

~A && B && C || A && ~B && C || A && B && ~C || A && B && C

また、あなたの特定の表現は実際には例としてこのページにあり、他の回答とは異なる方法で行われています。

于 2011-04-30T14:41:11.920 に答える
0

別の説明。

(1):

(not(A) and B and C ) or (A and not(B) and C) or (A and B and not C) or (A and B and C).

私達はことを知っています:

A = A or A.

したがって、(1) を (2) に書き換えることができます。

(not(A) and B and C ) or (A and B and C) or
(A and not(B) and C) or (A and B and C) or
(A and B and not C) or (A and B and C)

また、次のこともわかっています。

(A and B) or (A and not B) = A and (B or not B) = A

したがって、(2) を (3) に書き換えることができます。

(B and C) or (A and C) or (A and B)

アイデアは、式を単純化するために (部分的に) 削除できるグループを見つけることです。

于 2011-04-30T18:46:45.443 に答える
0

いくつかの基本的なロジックの概念を理解しておくと役立ちます。

  • ド・モルガンの法則は、AND された用語を OR された用語に変換する方法 (およびその逆) を説明しています。これは学ぶ価値のある非常に強力な概念です。これにより、論理式を純粋な NAND または純粋な NOR 形式に変換することができます。これには十分な理由があります。

  • カルノー マップを使用して、論理式を最初の正規形に視覚的に変換できます。Karnaugh マップを使用することは、多くの現実のケースでは実用的ではありませんが、非常に優れた学習手法です

任意の論理式の最初の正規形を見つける簡単な方法の 1 つは、適切な真理値表を生成し、出力が 1 になる入力を調べることです。

出力が 1 である真理値表の各行について、その行のみの論理式を比較的簡単に作成できます。完全な論理式は、各行のすべての式の OR から得られます。これは最小限の表現になります (他にもあるかもしれませんが、これ以上最小限の表現はありません)。

于 2011-04-30T18:32:11.193 に答える