1

我只是好奇如何确定简化的布尔表达式是 SOP 形式还是 POS 形式。例如这个问题: 问题

这个表达式的答案是:NOT BD/⌝BD,这是 SOP 形式 谁能解释为什么?

4

2 回答 2

1

我认为这应该是一个“哲学”论点。⌝B.D是要求和的元素数变为 1 的特殊情况。

你可以想到⌝B.D = ⌝B.D + ⌝B.B + ⌝D.D + 0.(anything)它是一个 SOP。

于 2016-12-05T11:07:03.433 回答
0

术语:

首先理论,你可以在维基百科上进一步研究(DNFCNF):

  • 乘积之和= DNF(析取范式)= 析取(+)连词(·)~ “析取不在任何括号内,而仅作为根运算符”

  • sums of sums = CNF (Conjunctive normal form) = conjuction of disjunctions ~ "the conjunction is not inside a bracket, but only as root operator(s)"

  • Full/Complete CNF/DNF = 项(乘积/总和)包含所有直接或否定形式的给定变量;然后这些术语是 maxterms/minterms。

找到正确的圈子:

可以看到,卡诺图中的四个圆圈与原函数中的四个乘积对应的顺序相同(从上到下,从左到右)。

给定作为 SOP 的功能:

该函数现在是产品总和的形式,因为您可以从字面上看到,有四个产品。

它也是maxterms之和的形式,因为这四个部分包含直接或否定形式的所有变量。

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

例如第一项:¬a·¬b·¬c·d~ 如果变量a,bc是逻辑零且 on​​lyd为真,则函数的输出为逻辑1

作为 SOP 的最小化功能:

您可以看到,可以对 maxterms 进行分组并创建product :的最小总和f(a,b,c,d) = ¬b·d,因为包含了所有单元格,其中b是逻辑的0d逻辑1的。

最小化的函数确实是一个 SOP/DNF,因为它确实只包含一个乘积——the——并且该乘积内部¬b·d没有+(析取)运算符。

给定函数的卡诺图 - SOP

作为 POS 的最小化功能:

当您意识到将函数循环并写为和的乘积时,您可能会感到惊讶,这会产生相同的最小形式:f(a,b,c,d) = (¬b)·(d),因为恰好有两个术语:(¬b橙色圆圈)和d(红色圆圈)。

两者都是只有一个操作数的和。因此,最小化函数是sum 的乘积

给定函数的卡诺图 - POS

结论:

最小化函数f(a,b,c,d) = ¬b·d既是 SOP 又是 POS。您可以使用wolframalpha.com检查正确的解决方案。

于 2016-12-09T14:59:05.923 回答