逻辑表达式简化

时间:2013-09-25 09:01:11

标签: math logic

(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?我们做错了吗?

3 个答案:

答案 0 :(得分: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

编辑:上述用于派生给定表达式的方法是真值表和Karnaugh map。请检查两者之间的对应关系,以及如何使用布尔简化来解决从K-Map生成的输出函数。

答案 1 :(得分: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))(再次通过分歧)

T(通过解决条款 - 认为“阅读”)

要解释这个“阅读”的含义: 这个合取范式中的所有子句都是真实的,因为每个析取都包含至少一对phi¬phi形式。

答案 2 :(得分:0)

这不仅仅是S还是G?

假设它们重叠你想要S或G(没有与S交叉)或不是G.这导致整个S(包括与G的交点)和G没有与S的交点,即S& G总和

如果我错了,请纠正我。