Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的布尔逻辑_Java_Boolean Logic - Fatal编程技术网

Java中的布尔逻辑

Java中的布尔逻辑,java,boolean-logic,Java,Boolean Logic,我在布尔逻辑中遇到了一个问题,在这个问题中,必须将布尔值分配给三个变量中的每一个,从而使每个方程彼此不相等 问题具体说明: !b && (c || !d) != !(b || !c && d) 我试着用猜测和检查的方法来解决这个问题,但我还没有一点运气。有没有办法用代数方法解决这个问题?我在Java工作。这是一个有点诡计的问题。在应用双重否定:时,将摩根定律应用于左边的表达式。 !!(!b && (c || !d)) !(b || !(c ||

我在布尔逻辑中遇到了一个问题,在这个问题中,必须将布尔值分配给三个变量中的每一个,从而使每个方程彼此不相等

问题具体说明:

!b && (c || !d) != !(b || !c && d)

我试着用猜测和检查的方法来解决这个问题,但我还没有一点运气。有没有办法用代数方法解决这个问题?我在Java工作。

这是一个有点诡计的问题。在应用双重否定:

时,将摩根定律应用于左边的表达式。
!!(!b && (c || !d))
!(b || !(c || !d))
!(b || !c && d)

换句话说,没有这样的组合,因为两者在逻辑上是等价的。

您可以使用一些布尔逻辑规则:

!(a || b) = !a && !b
!(a && b) = !a || !b
将其应用于右侧:

!(b || !c && d) = !b && !(!c && d) = !b && (c || !d)

对于这类问题,一个非常简单的解决方案通常是检查公式中似乎最“强大”的值。这里我要说的是
b
。 因此,让我们看一下
b==true
b==false
的示例

不过,首先,让我们再添加一些括号,以便清楚地知道是什么:

  !b && (c || !d) != !(b || !c && d)
= (!b && (c || !d)) != !(b || (!c && d))
如果
b==true
,则:

   (!true && (c || !d)) != !(true || (!c && d))
=> (false && (c || !d)) != !(true || (!c && d))
=> false != !true
=> false != false
=> false
   (!false && (c || !d)) != !(false || (!c && d))
=> (true && (c || !d)) != !(!c && d)
=> (c || !d) != (c || !d)
=> false
如果
b==false
,则:

   (!true && (c || !d)) != !(true || (!c && d))
=> (false && (c || !d)) != !(true || (!c && d))
=> false != !true
=> false != false
=> false
   (!false && (c || !d)) != !(false || (!c && d))
=> (true && (c || !d)) != !(!c && d)
=> (c || !d) != (c || !d)
=> false

所以这永远无法实现。

拿出好的旧真理表。这个问题似乎离题了,因为它是理论性的。这更合适还是不适合SAT?我刚想在评论中提到德·摩根定律(+1),这很有帮助。非常感谢。