私の大学レベルのコースの1つでこのようなことをしたことを覚えていると確信しており、それには何らかの公式がありましたが、私の心はそれを超えて私を失敗させています。
次のステートメントが与えられます:(a OR b OR d)AND(a OR c)
これは次のように減らすことができると確信しています:(a OR b OR d OR c)
しかし、それを証明する方法を思い出せません。
多分それは一連の論理表でしたか?
私の大学レベルのコースの1つでこのようなことをしたことを覚えていると確信しており、それには何らかの公式がありましたが、私の心はそれを超えて私を失敗させています。
次のステートメントが与えられます:(a OR b OR d)AND(a OR c)
これは次のように減らすことができると確信しています:(a OR b OR d OR c)
しかし、それを証明する方法を思い出せません。
多分それは一連の論理表でしたか?
前者は「c=true、a、b、d = false」に満足していないため、「(a OR b OR d)AND(a OR c)」を「(a OR b OR d OR c)」に減らすことはできません。 、後者はです。したがって、削減が正しいことを証明することもできません:)
一般に、ブール式のサイズを小さくする方法はたくさんあります。また、何を最適化するか(合計サイズ?条件評価の平均数?)も問題になります。カルノー図は、少数の変数に対してのみ機能します。大きなブール式を小さな式に縮小することは、自動論理回路設計などで重要な高度なトピックです。
カルノーマップ? 論理式削減?
Karnaugh マップは、ここでの友達です。
http://en.wikipedia.org/wiki/Karnaugh_map
上記の方程式から逆に構築する必要がありますが、さらに削減できるかどうかを判断するのに適したツールです。
Karnaugh マップでは、重要なのは、考えられるすべての入力を「描画」し、それらの出力を示すことです。次に、出力に影響を与えない入力を除外して、マップを縮小することができます。最適化したら、そこからロジックを作成できます。
( a または b または d ) AND ( a または c )
これは、a が true の場合、すべてが true であることを意味します。
=> または { (b または d) AND ( c) }
=> a OR ( b AND C) OR ( d and C )
結果 ( a OR b OR d OR c ) が間違っていると思いますが、間違っている場合は手を貸してください。
SOP最小形式:
y = a | b&c | c&d;
POSのコストは同じです(論理図を実装するためのゲートの数)。
y = (a|c)&(a|b|d);
a または {(b OR d) AND c}
理由: 「a」の場合、ステートメントは真です。それ以外の場合は、b または d (ステートメントの最初の部分を満たすため) と c (!a の場合の後半部分を満たすため) が必要です。
カルノー マップの使用:
これは a または b または d です。
\ab cd\ 00 01 11 10 ---+-----------+ 00 | | | X| X| X| 01 | X| X| X| X| 11 | X| X| X| X| 10 | | | X| X| X| +---------+
これは OR c です。
\ab cd\ 00 01 11 10 ---+-----------+ 00 | | | | | X| X| 01 | | | | | X| X| 11 | X| X| X| X| 10 | X| X| X| X| +---------+
それらを交差すると、次のようになります。
\ab cd\ 00 01 11 10 ---+-----------+ 00 | | | | | X| X| 01 | | | | | X| X| 11 | X| X| X| X| 10 | | | X| X| X| +---------+
明らかに、これは OR (何か) であり、(何か) は次のとおりです。
00 01 11 | X| X| 10 | | | X|
(何か) は四角形ではないため、アプローチ方法に応じて、AND または OR で結合できる 2 つの式が必要です。この例では OR を使用します。これは、より単純な式を提供するためです。
この場合、隣り合う 2 つの X をさらに 2 つグループ化して cd 行全体を埋めることができるので、cd は式の 1 つになります。正方形を形成するために、2 つを右に並べて 2 つを重ねることもできます。a と d の両方が正方形内で変化するため、この正方形は式 bc を表します。
したがって、最後の式はOR ((c AND d) OR (b AND d))またはa + cd + bdです。ずっといいですね。
はい、証明できます。( a OR b OR d OR c ) に減らすことはできません
下の3行目を見てください。あなたの削減は、適切な答えを生成できません。
実行するだけです:
ABCD
0 0 0 0 = 0
0 0 0 1 = 0
0 0 1 0 = 0
.
.
.
1 0 0 0 = 1
1 0 0 1 = 1
これまでのところ、(A OR (???)) :(