首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何简化f=x‘xyz+ xy'z + xyz'?

如何简化f=x‘xyz+ xy'z + xyz'?
EN

Stack Overflow用户
提问于 2019-04-01 09:24:47
回答 2查看 11.7K关注 0票数 1

我正在简化表达式f = x'yz + xy'z + xyz' + xyz。实际上,这可能不是这样的表达。问题是:简化投票系统的布尔表达式,系统是:三个人对多个候选人进行投票,两个或两个以上的人为了通过投票而同意(对)候选人。所以我认为答案应该是xy + yz + xz,但我不知道两者之间的过程。有人能解释吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-01 10:14:29

根据幂等/恒等律,我们有x + x = x,所以是xyz + xyz = xyz。应用这一原则,我们可以将您的表达式改写为:

代码语言:javascript
复制
 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项为真,则总体结果为true。
  • 当所有3项都为真时,结果仍为真。

用这种方式表达它的优点是,您可以一次只关注每一对输入,而不必担心第三个输入的影响。

票数 3
EN

Stack Overflow用户

发布于 2019-04-01 14:17:09

--一种不涉及逻辑推理的简单方法

编写一个真值表。对于三个输入,有2^3 =8行。

四行对应于您的和积表达式中的给定项。

卡诺图中输入表达式的八个值

组相邻1-项块如图所示。一对单元可以合并到一个更大的块中,如果它们在一个输入中有差异的话。这样,块在每个合并步骤中都会加倍其单元数,并将它们的输入计数减少一个。

每个结果块对应于最小化表达式中的一个含蓄剂项。

绘制地图和找到块可以使用一个不错的马尔堡大学的在线工具自动完成。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55451837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档