[英]Find the Simplified Sum of Products of a Boolean expression
只是簡單的簡化有一些問題。 我正在對具有 3 個輸入 A、B 和 C 的多數解碼器進行簡化。 它的 output Y 如果 2 或所有 3 個輸入都假定為 1,則 Y 假定為 1。否則,Y 假定為 0。 Select 其正確切換 function 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
像這樣簡單的表達采取了哪些步驟? 它是如何完成的? 在這種情況下,這個值是如何得到的?
首先,請注意對於 Boolean 表達式:
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
順便說一句, WolframAlpha非常適合做(檢查)Boolean 數學,在這種情況下,您的示例格式為:
~A && B && C || A && ~B && C || A && B && ~C || A && B && C
此外,您的具體表達實際上在此頁面上作為示例,與給出的其他答案不同。
您將受益於理解一些基本的邏輯概念:
德摩根定律解釋了如何將 ANDed 項翻譯成 ORed 項(反之亦然)。 這是一個非常強大的概念,值得學習,它允許將邏輯表達式轉換為純 NAND 或純 NOR 形式,這是有充分理由的
卡諾 map可用於將邏輯表達式可視化地轉換為其第一個規范形式。 使用卡諾 map 在許多現實生活案例中是不切實際的,但卻是一種非常棒的學習技術
為任何邏輯表達式找到第一個規范形式的一種直接方法是生成適當的真值表,然后檢查導致 output 為 1 的輸入。
對於真值表中 output 為 1 的每一行,您可以相對容易地僅為該行形成邏輯表達式。 完整的邏輯表達式來自對每一行的所有表達式進行 ORing。 這將是一個最小的表達式(可能還有其他表達式,沒有一個會更小)。
另一種解釋。
我們有(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)
這個想法是找到可以(部分)消除的組以簡化方程。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.