1

给定以下 F(A,B,C) 的布尔表达式: F(A,B,C) = A' + B + C' 关于上述表达式,下列哪项陈述是正确的?

(i) 它是一个 SOP 表达式 (ii) 它是一个 POS 表达式 (iii) 它是一个 sum-of-minterms 表达式 (iv) 它是一个 product-of-maxterms 表达式

这个问题的典型答案是 i),ii) 和 iv)

我的问题是为什么 iii) 不是答案之一?我画了 K-map,发现它可以推导出这样一个 minters 表达式

4

1 回答 1

2

布尔表达式中的一组文字仅在其中包含所有文字(给定函数的变量或其否定)时才形成最小项或最大项。

minterm 是函数所有文字的乘积,maxterm 是函数所有文字的总和。

在 K-map 中,一个 minterm 或一个 maxterm 只标记一个单元格。在真值表中,maxterm 或 minterm 只匹配一行。

以下真值表对应于给定函数:

 index | a | b | c || f(a,b,c) | term matching the row/K-map cell
-------|---|---|---||----------|----------------------------------
   0   | 0 | 0 | 0 ||     1    | minterm: m0 = (¬a⋅¬b⋅¬c)
   1   | 0 | 0 | 1 ||     1    | minterm: m1 = (¬a⋅¬b⋅c)
   2   | 0 | 1 | 0 ||     1    | minterm: m2 = (¬a⋅b⋅¬c)
   3   | 0 | 1 | 1 ||     1    | minterm: m3 = (¬a⋅b⋅c)
-------|---|---|---||----------|----------------------------------
   4   | 1 | 0 | 0 ||     1    | minterm: m4 = (a⋅¬b⋅¬c)
   5   | 1 | 0 | 1 ||     0    | MAXTERM: M5 = (¬a + b + ¬c)
   6   | 1 | 1 | 0 ||     1    | minterm: m6 = (a⋅b⋅¬c)
   7   | 1 | 1 | 1 ||     1    | minterm: m7 = (a⋅b⋅c)

真值表(和您的 K-map)中只有一个 maxterm,并且唯一一个将函数的输出确定为逻辑 0 的 maxterm。即使只有一个,它也是一个有效的 maxterms 乘积表达式。它也是与原始表达式相同的布尔表达式,因此它也是一个有效的 maxterms 表达式。

但是,这不是最小项的有效总和,因为没有:

f(a,b,c) = ∏(5) = M5 = (¬a + b + ¬c)

为了使原始表达式也是最小项的总和,它需要分别标记K-map 中的每个真/一个单元格,如下所示:

f(a,b,c) = ∑(0,1,2,3,4,6,7) = m0 + m1 + m2 + m3 + m4 + m6 + m7 =
         = (¬a⋅¬b⋅¬c)+(¬a⋅¬b⋅c)+(¬a⋅b⋅¬c)+(¬a⋅b⋅c)+(a⋅¬b⋅¬c)+(a⋅b⋅¬c)+(a⋅b⋅c)

如您所见,即使这两个布尔表达式彼此等价,原始表达式(在等式左侧)也不会写成 sum-of-minterms 表达式(在等式右侧)。

(¬a+b+¬c) = (¬a⋅¬b⋅¬c)+(¬a⋅¬b⋅c)+(¬a⋅b⋅¬c)+(¬a⋅b⋅c)+(a⋅¬b⋅¬c)+(a⋅b⋅¬c)+(a⋅b⋅c)

只是任何产品都不是最小项,因此原始表达式可以是 sum 的 product 和 products 的和的形式,但不是有效的 sum-of-minterms。

f(a,b,c) = (¬a + b + ¬c) = (¬a) + (b) + (¬c)

在图片(使用乳胶创建)中,您可以看到表达式——它的最小 DNF 和最小 CNF 是相同的——以及与之等效的最小项的总和。

具有等效表达式的 K-maps。

于 2016-03-07T15:43:40.690 回答