【问题标题】:Multiplying out negated terms in boolean algebra?在布尔代数中乘以否定项?
【发布时间】:2010-12-27 09:04:29
【问题描述】:

我现在只是在学习布尔代数。我读到对于 XOR 我们可以重新排列表达式

  1. (A + B) 。 ¬(A + B)

  2. = A.¬A + A.¬B + B.¬A + B.¬B

  3. = A.¬B + B.¬A

我可以理解这一点,但我不确定如何继续乘以类似的表达式

  • (A + B)。 (¬A + ¬B)。

如果我只是尝试天真地乘以所有项,这些项将使我得到与 XOR 相同的结果,但真值表是不同的。否定项的乘法规则是什么?

【问题讨论】:

  • 这是mathoverflow.com的好问题
  • 谢谢。不知道那个网站。这些溢出站点现在似乎像野火一样涌现!
  • 一直以来,我以为人们在讽刺这个网站,直到现在我才点击它。
  • 为了方便讨论,我冒昧地给你的公式编号。它们现在被编号为“1”、“2”、“3”和“子弹”(我可以用降价来做到最好)。

标签: boolean algebra


【解决方案1】:

你认为真值表不一样?

尝试自己评估。

【讨论】:

  • 噢!我不确定我是如何说服自己他们是不同的。所以基本上它不应该有任何区别,那么如果否定适用于整个括号表达式或单个组件?
  • 哦不,差别很大。这就是德摩根的全部意义所在。如果将“not”移动到括号中,则必须反转括号内的连词。
  • 是的,我以为我之前做类似的事情给自己惹了麻烦。我将在 Wolfram Alpha 的帮助下尝试重新审视该示例!
【解决方案2】:

你需要DeMorgan's Law

【讨论】:

    【解决方案3】:

    您的第一个表达式不是异或,请尝试进行此替换:

     Z = A+B 
    

    【讨论】:

    • 我不知道替换会有什么好处,但我相信你对第一个表达式不是 XOR 是正确的。
    • 在第一个表达式中进行替换时会得到什么?
    • 啊,我明白了……你在证明 (1) 总是错误的。是的,这可能是问题的一部分。
    • 很好看。我认为这实际上是我正在使用的书中的一个错字。他最初将其声明为 (A + B) 。 ¬(A.B) 但随后从 (A + B) 开始。 ¬(A + B) 在相乘的例子中。
    • 对我来说听起来像是一个错字。 \bar{(A+B)} == ¬(A+B)
    【解决方案4】:

    你可以把这种东西扔给 Wolfram Alpha。这是我所做的:

    http://www.wolframalpha.com/input/?i=truth+table+(a+or+b)+and+(not+a+or+not+b)

    请点击链接查看结果!该真值表看起来像您认为的那样吗?

    【讨论】:

      【解决方案5】:

      我不清楚这里的答案。我相信您输入 #1 的方式有误。这是一个矛盾:

      1. (A + B) * -(A + B)
      2. (A + B) * -A * -B
      3. -A * -B * A + -A * -B * B
      4. 0

      如果 #1 改为 (A + B) * (-A + -B)

      1. (A + B) * (-A + -B)
      2. -A * (A + B) + -B * (A + B)
      3. -A * A + -A * B + -B * A + -B * B
      4. -A * B + -B * A

      这就是你在 OR 上分配 AND 的方式。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-07-22
        • 2012-12-11
        • 2012-10-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-08
        相关资源
        最近更新 更多