2013-09-25 126 views
0

(S or (G and not S)) or not G。這是如何簡化?邏輯表達式簡化

((S or G) and (S or not S)) or not G ==>(S or not S)是同義反復,這樣抵消了,給我們

(S or G) or not G ==>G or not G是同義反復再這樣,我們所剩下的只是帶有S?我們做錯了什麼?

+0

http://www.wolframalpha.com/input/?i=(S+or+(G+and+not+S))+or+not+G – georg

+0

這是一個編程的情況,或者你只是有一個簡化這個表達式的問題。如果您的語言L包含邏輯符號或¬,那麼這對於任何簡化(可能是一種正常形式)來說都很流行。 – Tom

+0

@ thg435哦真棒,謝謝! – WUBWUBS

回答

2

boolean邏輯兩個變量SG可以採取如下可能的值,其輸出歸結爲值1

S G 
--- 
0 0 
0 1 
1 0 
1 1 

輸出:

(S || (G && !S)) || !G 
    0  0  1  1 = 1 
    0  1  1  0 = 1 
    1  0  0  1 = 1 
    1  1  0  0 = 1 

Solving boolean logic

EDIT:上述方法用於導出給定表達式是真值表和Karnaugh map。請檢查兩者之間的對應關係,以及如何使用布爾簡化來解決由K-Map生成的輸出函數。

+0

第二種方法看起來很有前途。你能否詳細說明它是如何區分的(並且如果你喜歡,它是如何相似的)與你給出的真值表方法。也許你可以說出解決這兩種方法?爲什麼「輸出」位工作的解釋也不錯!例如,每個步驟都使用布爾代數的公理。 – Tom

+0

@Tom方法1&2分別被稱爲真值表方法和[卡諾圖(Karnaugh map)](http://en.wikipedia.org/wiki/Karnaugh_map),K-map給出了一個圖形表示,將常見的文字分組在一起。我們如回答中所述並使用代數[布爾公理](http://en.wikipedia.org/wiki/Boolean_algebra_(logic)#Axioms)推導文字'輸出(S,G)'的函數,我們簡單地將函數。兩種方法之間都有對應關係,這在上面的wiki網頁中有明確的解釋。 –

+0

然後將它添加到您的答案。你沒有向我解釋,你向OP解釋! – Tom

0

這不僅僅是S或G嗎?

假設它們重疊,你想要S或G(不與S交點)或不是G.其中導致整個S(包括與G的交點)和G沒有與S的交點S即爲S & G總。

糾正我,如果我錯了。

+0

相交?這與這個邏輯表達式有什麼關係? AFAIK十字路口只涉及集? – WUBWUBS

+0

邏輯和集合有什麼區別? – Tom

1

對於命題邏輯(PL)(又名邏輯沒有量詞,關係和身份)語言和少量非邏輯謂詞,真值表是可以的。問題是n個非邏輯術語(所有命題變量與PL),你需要2^n個評估。

假設經典邏輯,另一種方式是分配到一個正常的形式,那麼你通常可以「讀出」每一個估值是真實的。

(S or (G and ¬S)) or ¬G

((S or G) and (S or ¬S)) or ¬G(由分配律)

(((S or G) or ¬G) and ((S or ¬S) or ¬G))(由distibutivity再次)

T(通過的決議clauses-認爲 「讀書客」)

解釋這「讀取」相當於: 這個連接範式中的所有子句都是真正的評估,因爲每個析取包含在至少有一對形式phi¬phi