Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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
Logic 为什么非线性实数运算是可判定的,而非线性整数运算不是?_Logic_Z3 - Fatal编程技术网

Logic 为什么非线性实数运算是可判定的,而非线性整数运算不是?

Logic 为什么非线性实数运算是可判定的,而非线性整数运算不是?,logic,z3,Logic,Z3,我知道非线性整数算法基本上是希尔伯特的第十个问题,并且被证明是不可判定的。然而,Z3解算器能够为非线性实数运算提供完整的解决方案。我只是好奇这两个问题之间的根本区别是什么,这样就有了一个确定的非线性实数算法 似乎Z3的非线性多项式实数算法的实现有一个很好的例子。我没有很强的正规方法/数学背景。这一问题背后的任何直觉都是值得赞赏的 考虑到你知道非线性实数运算是可判定的,而非线性整数运算不是,你最好希望有更好的直觉和一些例子来帮助你理解QF_NRA与QF_NIA的不同之处 我举了几个例子。我再给出一

我知道非线性整数算法基本上是希尔伯特的第十个问题,并且被证明是不可判定的。然而,Z3解算器能够为非线性实数运算提供完整的解决方案。我只是好奇这两个问题之间的根本区别是什么,这样就有了一个确定的非线性实数算法


似乎Z3的非线性多项式实数算法的实现有一个很好的例子。我没有很强的正规方法/数学背景。这一问题背后的任何直觉都是值得赞赏的

考虑到你知道非线性实数运算是可判定的,而非线性整数运算不是,你最好希望有更好的直觉和一些例子来帮助你理解QF_NRA与QF_NIA的不同之处

我举了几个例子。我再给出一个:考虑方程y= x2。如果x和y是实数,那么y是x的平方根的正负(假设x是非负的)。然而,如果你说x和y必须是整数,那么y=x2可能有解,也可能没有解,这取决于x的值


最基本的事实是,如果你的变量是实数,那么有很多数学问题很容易解决,但是如果你的变量必须是整数,那么要困难得多,在可能的情况下,他们甚至可能没有解决方案。

在实际中解决y=x**2这样的问题背后的直觉是什么?你可以使用二次方程解决所有形式为y=ax^2+bx+c的问题。整数没有等价物。基本上,整数问题通常更难,因为你要求解相同的方程,但增加了结果必须是整数的限制。通常情况下,相同的技术不适用于reals.Late to party,但值得注意的是,线性规划是一个$O(n^4)$问题,而整数线性规划是NP完全问题。