2009-03-20 6 views
7

私は大学レベルのコースの1つでこのようなことをしていることを覚えていることができますし、何らかの種類の式があることを覚えていますが、私の心はそれを超えて失敗しています。論理ステートメントを減らすには?

文を考える:(OR BまたはD)AND(OR C)

私はこれがに減少させることができることをかなり確信している:(AまたはBまたはDまたはc)

しかし、私はそれをどのように証明するかについて覚えていません。

多分それは一連のロジックテーブルでしたか?

答えて

10

"(a OR b OR d)AND(a OR c)"を "c = true、a、b、 d = false "であり、後者は" false "である。だから減量が正しいかどうかを証明することはできません。

一般に、ブール式のサイズを減らす方法はたくさんありますし、最適化したいものの質問もあります(合計サイズ?平均条件数評価?)。 Karnaughマップは、少数の変数に対してのみ機能します。大きなブール式を小さなものに減らすことは、例えば次のような重要な進歩的なトピックである。自動論理回路設計。

+0

素敵:

y = a | b&c | c&d; 

POSは同じコスト(論理図を実装するためのゲート数)を持っています! +1 – Learning

+0

これを行うにはそのプログラムも利用できますか? – Dave

+0

チェックアウトhttp://babbage.cs.qc.edu/courses/Minimize/ –

3

カルノーマップでは、キーはすべての可能な入力を「描画」し、その出力を示すことです。次に、出力を変更しない入力をフィルタリングしてマップを縮小することができます。一度最適化されると、そこからロジックを生成することができます。

4

Aカルノー図は、ここではあなたの友達です:

http://en.wikipedia.org/wiki/Karnaugh_map

あなたは一種の上記の式から、逆にそれを構築する必要がありますが、それを減少させることができるならば、それはあなたを伝えるための良いツールですさらに。

2

(OR BまたはD)AND(AまたはC)

trueの場合、この意味は、すべてが本当です!

=> OR {(BまたはD)および(C)}

=> OR(B AND C)OR(D及びC)

iは結果を考える(OR bのOR d)またはc)間違っているが、間違っているときに私に手を差し伸べる。

0

はい、あなたはそれを証明できます。

以下の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(???)):(

1

または{(BまたはD)そして、C}

推論:。 「A」は、その文が真であれば、他の は、あなたが例のためにとC(満たす後半(最初の文の一部を満たすために)Bまたはd必要があります! a

1

Karnaugh maps

これは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|

(something)は長方形ではないため、2つの式が必要です。これは、どのように接近したいかによって、ANDまたはORを組み合わせて使用​​できます。この例ではORを使用しますが、これは簡単な式を提供するためです。

この場合、隣り合う2つのXを2つずつグループ化することで、cd行全体を埋めることができるので、cdは式の1つになります。また、2つを右にして正方形を形成することもできます。この正方形は、aとdの両方が正方形内で変化するため、式bcを表します。

最終的な発現がOR((C AND D)OR(B AND D))、又は+のCD + BDあります。ずっといいよね?

1

SOP最小限形式:

y = (a|c)&(a|b|d); 
関連する問題