我只是好奇如何确定简化的布尔表达式是 SOP 形式还是 POS 形式。例如这个问题: 问题
这个表达式的答案是:NOT BD/⌝BD,这是 SOP 形式 谁能解释为什么?
我只是好奇如何确定简化的布尔表达式是 SOP 形式还是 POS 形式。例如这个问题: 问题
这个表达式的答案是:NOT BD/⌝BD,这是 SOP 形式 谁能解释为什么?
我认为这应该是一个“哲学”论点。⌝B.D
是要求和的元素数变为 1 的特殊情况。
你可以想到⌝B.D = ⌝B.D + ⌝B.B + ⌝D.D + 0.(anything)
它是一个 SOP。
乘积之和= 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。
可以看到,卡诺图中的四个圆圈与原函数中的四个乘积对应的顺序相同(从上到下,从左到右)。
该函数现在是产品总和的形式,因为您可以从字面上看到,有四个产品。
它也是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
,b
和c
是逻辑零且 onlyd
为真,则函数的输出为逻辑1
。
您可以看到,可以对 maxterms 进行分组并创建product :的最小总和f(a,b,c,d) = ¬b·d
,因为包含了所有单元格,其中b
是逻辑的0
和d
逻辑1
的。
最小化的函数确实是一个 SOP/DNF,因为它确实只包含一个乘积——the——并且该乘积内部¬b·d
没有+
(析取)运算符。
当您意识到将函数循环并写为和的乘积时,您可能会感到惊讶,这会产生相同的最小形式:f(a,b,c,d) = (¬b)·(d)
,因为恰好有两个术语:(¬b
橙色圆圈)和d
(红色圆圈)。
两者都是只有一个操作数的和。因此,最小化函数是sum 的乘积。
最小化函数f(a,b,c,d) = ¬b·d
既是 SOP 又是 POS。您可以使用wolframalpha.com检查正确的解决方案。