2011-04-30 74 views
2

只需簡單簡化一些問題。我正在爲具有3個輸入A,B和C的多數解碼器進行簡化。如果2或所有3個輸入都假設爲1,則其輸出Y假定爲1。選擇正確的開關函數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

採取簡單的表達式這樣的步驟是什麼?它是如何完成的?這個值是如何得到的?

回答

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 
2

順便說一句WolframAlpha做(檢查)布爾數學是偉大的在這種情況下,格式爲你的榜樣是:

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

此外,您的具體表達式實際上是在012作爲一個例子,的做法與給出的其他答案不同。

+0

關於使用WolframAlpha的不錯建議!回想起來很明顯,但我之前沒有想到這一點。 – dmc 2011-04-30 19:39:44

0

您將受益於瞭解一些基本的邏輯概念:

  • De Morgan's Laws解釋如何相與字詞或運算方面(反之亦然)轉換。這是一個非常強有力的概念值得學習,它允許一個邏輯表達式翻譯成純NAND或純NOR形式爲其中有很好的理由

  • Karnaugh map可用於在視覺上邏輯表達式翻譯成他們第一典型形成。使用卡諾圖在很多現實生活中的情況下,不切實際的,但一個真正偉大的學習技術

找到第一個規範的形式對任何邏輯表達式的一個簡單方法是生成相應的真值表,然後檢查輸入,導致輸出爲1.

對於輸出爲1的真值表中的每一行,只能相對容易地爲該行形成邏輯表達式。完整的邏輯表達式來自ORing每一行的所有表達式。這將是一個最小的表達式(可能有其他的,沒有一個會更小)。

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) 

的想法是找到基團可以是(部分地)消除以簡化等式。