有人能给出一个比最小DNF形式更短的布尔表达式的例子吗?

时间:2016-02-22 23:08:40

标签: optimization boolean-expression

通常最小的DNF会缩短布尔表达式,但我相信有些情况会延长,但我不能轻易找到它。

1 个答案:

答案 0 :(得分:1)

从表达长度的角度来看,我只比较归一化到它们的最小CNF或最小DNF怀疑的表达式,每个表达式可以通过追加正确的中性元素或它来延长任意等价而不改变它的逻辑值。

在最小CNF和更长最小DNF中的较短布尔表达式的简单示例将首先在最小CNF 中显示:

(a ∨ b) ∧ c

(u ∨ v ∨ w) ∧ z

因为作为根二进制关系的连词对于CNF很有用,但是它会强制你括号的内部与文字c(z分别)相乘以将其更改为最小DNF。

这是其中显示的等效布尔表达式最小DNF

(a ∧ c) ∨ (b ∧ c)

(u ∧ z) ∨ (v ∧ z) ∨ (w ∧ z)

您还可以使用K-maps查找并比较此布尔表达式的最小DNF和最小CNF,如下图所示(由latex生成)。这种方式也很明显,其中哪一种更容易标出。

K-maps of the two examples' minimal forms