我正在努力简化表达式f = x'yz + xy'z + xyz' + xyz
。其实,可能不是这个表情。问题是:简化投票系统的布尔表达式,系统是:三个人对多个候选人投票,两个或更多人应该同意(真)候选人才能通过。所以我认为答案是xy + yz + xz
,但我无法弄清楚两者之间的过程。谁能解释一下?
问问题
8841 次
2 回答
3
根据幂等/恒等律,我们有x + x = x
,等等xyz + xyz = xyz
。应用这个原则,我们可以将你的表达式改写为:
f = x'yz + xy'z + xyz' + xyz
=> f = x'yz + xy'z + xyz' + xyz + xyz + xyz --OR with xyz twice without affecting the value
=> f = x'yz + xyz + xy'z + xyz + xyz' + xyz --Rearrange
=> f = yz (x + x') + xz (y + y') + xy(z' + z) --Group
=> f = yz + xz + xy --Since x+x' = 1
也就是说,正如图表清楚地显示的那样,您可以简单地对每对输入进行“与”运算,然后将它们“或”在一起以获得相同的结果。通过这样做,您可以确保:
- 如果 3 个输入中的任何 2 个为真,则您的总体结果为真
- 当所有3个都为真时,结果仍然为真
用这种方式表达的好处是你可以一次只关注每一对输入,而不用担心第三个输入的影响。
于 2019-04-01T10:14:29.590 回答