論理的な文を削減するには?
-
21-08-2019 - |
質問
私は大学レベルのコースの一つにこのような何かをやって覚えていて、そこに式のいくつかの種類があったが、私の心はそれを超えて私を失敗しているということができますかなり確信してます。
(AまたはBまたはD)AND(AまたはC)文を考えます (AまたはBまたはDまたはC)
私は、これはに減らすことができることをかなり確信しています
しかし、私は、私はそれを証明して行くだろうか覚えていないことができます。
多分それが論理テーブルのシリーズでしたか?
解決
あなたは減らすことはできません "(OR BまたはD)AND(OR C)" を "(OR BまたはDまたはC)" 前者はC =真、B、D」に満足していないので、 =後者であるのに対し、「偽。だから、どちらかの減少が正しいことを証明することはできません。)
一般的に、そこにサイズの論理式を削減する多くの方法があり、それはまた、あなたが最適化するために、何をしたいの問題である(合計サイズ?状態の評価の平均数?)。カルノー図は、変数の数が少ないためにのみ動作します。小さなものに大きなブールformulaesを減らすことは、例えばで鍵となる高度なトピックです自動論理回路設計ます。
他のヒント
カルノーはにマップしますか?論理式の減少?
カルノー図は、あなたの友人がここにあります:
http://en.wikipedia.org/wiki/Karnaugh_mapする
あなたは一種の上記の式から、逆にそれを構築する必要がありますが、それをさらに低減することができるならば、それはあなたを伝えるための良いツールだ。
カルノーマップ、キーはすべての可能な入力を「描く」ことであり、その出力を示しています。そして、あなたは、このようにマップを縮小出力に違いはありません入力をフィルタリングするために開始することができます。それが最適化されたら、それから、あなたのロジックを生成することができます。
(AまたはBまたはD)および(AまたはC)
この意味で真であるとき、すべてが本当です!
=> Aまたは{(BまたはD)および(C)}
=> A OR(B AND C)OR(DおよびC)
私は思うの結果(AまたはBまたはDまたはc)間違っているが、私の手を与えるときに間違っています。
Aまたは{(BまたはD)およびc}
推論: 「A」場合、その文は真です。 他に、あなたはBまたはD必要があります(文の最初の部分を満たすために)およびc(例について満たし後半に!
カルノーを使用すると、にマッピングします:
これはOR 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演算または我々はそれにアプローチする方法に応じて、一緒に論理和のいずれかである2つの式を、必要とします。それは単純な表現を与えるため、私たちは、この例ではOR使用します。
このケースでは、グループ2つのXさんより2との相互の隣にCD全体のラインを埋めることができ、そのCDは、表現のいずれかになります。また、グループ彼らの右に2と互いの上部にある2つの正方形を形成することができます。 AおよびDの両方が正方形内で変化するので、この正方形は、式BCを表す。
の最終式がされるようにのOR((C AND D)OR(B AND D))の、または[ A + CD + BDする。非常に良く、それはないですか?
SOP最小限形式ます:
y = a | b&c | c&d;
POSは(論理図を実装するゲート数)を同じコストを有する
y = (a|c)&(a|b|d);
はい、あなたはそれを証明することができます。あなたは(OR bまたはDまたはC)
にそれを減らすことはできません以下の3行目を見てください。あなたの低下は、適切な答えを生成するために失敗します。
ちょうどそれを通じ実行します:
A B C D
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(???)):(