如何将表达式从SOP转换为POS,然后再转换回布尔代数?


9

如何在布尔代数中将乘积和(SOP)表达式转换为乘积(POS)形式,反之亦然?

例如:F = xy'+ yz'


8
实际上,这是数字逻辑的主题。这等效于说我如何将由一堆或门馈入一个或门组成的电路更改为一个由一堆或门馈入和一个门组成的电路。
克里斯·斯特拉顿

1
什么是SOP和POS?
AndrejaKo 2011年

3
SOP =产品总和。POS =总和的乘积,例如(x + y)(〜x +〜y)。逻辑“或”为和,而“与”为乘积。
Eryk Sun

当然,这是在本科数字逻辑课程中讲授的,但是tyblu是对的,它属于数学SE。@TheLameProgrammer,查找卡诺图(K图)和德摩根定理。
Eryk Sun

2
...使用德摩根定律?同样,问题中提供的示例也不是规范的SOP,因为所有变量都应以所有术语出现,对吗?
vicatcu 2011年

Answers:


15

我认为最简单的方法是将其转换为k-map,然后获取POS。在您的示例中,您具有:

  \ xy
 z \  00    01    11    10
    +-----+-----+-----+-----+
 0  |     |  x  |  x  |  x  |
    +-----+-----+-----+-----+
 1  |     |     |     |  x  |
    +-----+-----+-----+-----+

在这种情况下,排除左列将得到(x + y),排除两个底部中间的框将得到(z'+ y'),得到的答案是(x + y)(z'+ y')


但是它应该是F =(x + y)(y'+ z')。
Eryk Sun

哎呀,你是对的。自从我完成了k-map已经有一段时间了,所以我读错了。我已经解决了答案。
FryGuy 2011年

5

F = xy'+ yz'SOP形式

也可以使用简单布尔代数技术将其保存为:

适用分配律:-F =(xy ')+ y '

F =(xy' + y)xy '+ z')转换为POS形式。


4

另一种方法就是对给定表达式进行补充:

如:xy'+ yz'

赞美:
(xy'+ yz')'

=(xy')'。(yz')'{使用De Morgans Law的(a + b)'= a'.b'}

=(x'+ y)(y'+ z)

也是POS形式...!


6
这给出了一个POS,但这与给定的表达式完全相反。
Nirmal Seneviratne

2

两次使用德摩根定律。

一次适用法律:

F' = (xy' + yz')'
   = (xy')'(yz')'
   = (x'+y)(y'+z)
   = x'y' + x'z + yy' + yz
   = x'y' + x'z + yz

再次申请:

F=F''
 =(x'y'+x'z+yz)'
 =(x'y')'(x'z)'(yz)'
 =(x+y)(x+z')(y'+z')
 =(x+y)(y'+z')

使用wolframalpha.com验证答案

xy'+ yz'

(x + y)(y'+ z')

编辑:答案可以简化一个更一步的布尔代数法共识



1

它以最小/产品总和[SOP]和最大/产品总和[POS]的术语表示,因此我们可以使用卡诺地图(K map)。

对于SOP,我们将1配对并在SOP中编写配对方程式,而将其配对为0并以POS形式写入方程即可将其转换为POS。

例如,对于SOP,如果我们写 Xÿž 然后为pos我们写 X+ÿ+ž


0

请参阅“合取范式:从一阶逻辑转换”中的过程。

此过程涵盖了一阶逻辑的更一般情况,但命题逻辑是一阶逻辑的子集。

通过忽略一阶逻辑来简化,它是:

  • 消除影响
  • 通过应用德摩根定律向内移动否定
  • 在连接词上分布析取

显然,如果您的输入已经在DNF(又名SOP)中,那么显然第一步和第二步都不适用。


0

令x = ab'c + bc'

x'=(ab'c + bc')'

根据德摩根定理,x'=(a'+ b + c')(b'+ c)

x'= a'b'+ a'c + bb'+ bc + c'b'+ c'c

x'= a'b'+ a'c + bc + c'b'

再次使用DeMorgan定理,x =(a'b'+ a'c + bc + c'b')'

x =(a + b)(a + c')(b'+ c')(c + b)


欢迎来到电气工程StackExchange。如果您为旧问题提供了新的答案,则应明确说明您在以前的答案中添加了哪些内容,或者在先前的答案中不正确的内容。顺便问一下,您的第二行不是POS形式的吗?OP并未要求简化方程式,因此其余答案可能会造成混淆。
Joe Hass

这是对的。
Nirmal Seneviratne
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.