【问题标题】:Why is non-linear real arithmetic decidable while non-linear integer arithmetic is not?为什么非线性实数算术可判定而非线性整数算术不可判定?
【发布时间】:2016-11-14 05:26:11
【问题描述】:

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

似乎在 Z3 的非线性多项式实数算术实现上有一个 paper。我没有很强的形式化方法/数学背景。对此问题背后的任何直觉表示赞赏!

【问题讨论】:

  • 迟到了,但可能会注意到线性规划是一个 $O(n^4)$ 问题,而整数线性规划是 NP 完全问题。

标签: logic z3


【解决方案1】:

考虑到您知道非线性实数算术是可判定的,而非线性整数算术不是,您希望最好的办法是更好的直觉和一些示例来帮助您了解 QF_NRA 与 QF_NIA 的不同之处。

我在this answer 中举了几个例子。我再给出一个:考虑方程y = x2。如果 xy 是实数,则 y 是正负 x 的平方根(假设x 是非负数)。但是,如果您说 xy 必须是整数,那么 y = x2 可能有也可能没有一个解决方案,取决于 x 的值。

基本事实是,如果您的变量是实数,则有很多数学问题很容易解决,但如果您的变量必须是整数,则困难得多,而且在某些情况下,它们甚至可能没有解决方案。

【讨论】:

  • 在 Real 中解决诸如 y = x**2 之类的问题背后的直觉是什么?
  • 您可以使用二次方程为实数 x 解决所有形式为 y=ax^2 + bx + c 的问题。整数没有等价物。基本上整数问题通常更难,因为您要求求解相同的方程,但增加了结果必须是整数的限制。通常,相同的技术不适用于实数。
猜你喜欢
  • 2022-01-02
  • 2012-09-12
  • 2013-08-06
  • 2012-12-12
  • 1970-01-01
  • 1970-01-01
  • 2013-02-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多