如何最小化这个逻辑(或门CNF)?

时间:2014-04-02 16:09:51

标签: algorithm logic circuit

我在电路可满足性问题中写下OR门的真值表(这与减少3可满足性问题有关)。

我有:

a  b  c    c = (a OR b)
1  1  1    1
1  1  0    0
1  0  1    1
1  0  0    0
0  1  1    1
0  1  0    0
0  0  1    0
0  0  0    1

因此,如果我在列c =(a OR b)中取0的行,并取消a,b,c,那么我得到以下四个子句:

!a AND !b AND c
a AND !b AND !c
a AND !b and c
a AND b AND !c

我正在努力减少这些条款。我知道正确的答案是:

c OR !a
c OR !b
c OR !a or !b

如何最大限度地减少这四个条款?网上有节目吗?我使用了wolfram,但它没有输出正确的答案,所以如果有人有第二个帮助那将是惊人的

1 个答案:

答案 0 :(得分:0)

很容易看到最后一列与{​​{1}}列几乎相同,除了最后两行。 对于最后两行,它具有交换列c的值。所以我们可以写成:

c

if (a ∨ b) then c else ¬c 可以表示为CNF if c then t else f,因此上面的公式将如下所示:

(c ∨ t) ∧ (¬c ∨ f)

最后一个正是你想要的。