【问题标题】:simplifying the boolean expression (a*'b*'c) + ('a*'b*c) + ('a*b*'c) + (a*'b*c)简化布尔表达式 (a*'b*'c) + ('a*'b*c) + ('a*b*'c) + (a*'b*c)
【发布时间】:2015-06-12 17:34:23
【问题描述】:

我在试图简化的布尔表达式的最后一部分遇到了很多麻烦。到目前为止,我得到了(乘法是 AND,加法是 OR):

(a * 'b * 'c) + ('a * 'b * c) + ('a * b *'c) + (a * 'b * c)

(a * 'b * 'c) + (a * 'b * c) + ('a * 'b * c) + ('a * b * 'c)

a(('b * 'c) + ('b * c)) + ('a * 'b * c) + ('a * b * 'c)

a('b(c + 'c)) + ('a * 'b * c) + ('a * b * 'c)

a('b(1)) + ('a * 'b * c) + ('a * b * 'c)

(a * 'b) + ('a * 'b * c) + ('a * b * 'c)

然而,我从 wolfram alpha 得到的答案是

(a * 'b) + ('b * c) + ('a * b * 'c)

我只是不知道如何完成最后一步。任何帮助将不胜感激

【问题讨论】:

  • 如果 * 是 AND 什么是 bc,例如?我认为您对 *s 被解释为标记这一事实感到困扰......并且这是否定'x或x'?
  • 修正了格式,'x 是否定的
  • 提示:利用x = x + x * y这一事实,将(a * 'b)扩展为(a * 'b) + (a * 'b * c)
  • 谢谢,成功了!该规则有名称吗?
  • Wikipedia 称之为“吸收”。

标签: boolean boolean-logic circuit-diagram


【解决方案1】:

您的四个术语(其中任何一个都使整个表达式为真)是:

1/ a  b' c'
2/ a' b' c
3/ a' b  c'
4/ a  b' c

我们试图做的是消除不相关的项目,因此我们寻找两个项目相同的对。

要获得 Alpha 的结果,首先组合 14。共同点是ab',所以c 是真还是假都无关紧要。而且,由于我们已将它们组合在一起,因此表达式不再需要 12

然后组合24。那里的共性是b'c 所以a 没有效果。同样,将这两者结合起来意味着最终表达式中不再需要它们。

所以124 消失了。 3 和任何其他子表达式之间没有两项共同点,因此无法进一步简化。

这给了我们:

a^b'  v  b'^c  v  a'^b^c'

【讨论】: