许多变量中的大量多项式

时间:2017-06-28 20:19:04

标签: z3

我在大约100或200个变量中有20到200个多项式。所有都有与此类似的形式

X(6)(1)(1)* Y(1)(1)^ 2 + X(6)(2)(1)* Y(1)(1)* Y(2)(1) + X(6)(2)(2)* Y(2)(1)^ 2 + X(6)(3)(1)* Y(1)(1)* Y(3)(1)+ X (6)(3)(2)* Y(2)(1)* Y(3)(1)+ X(6)(3)(3)* Y(3)(1)^ 2 + X(6 )(4)(1)* Y(1)(1)* Y(4)(1)+ X(6)(4)(2)* Y(2)(1)* Y(4)(1) + X(6)(4)(3)* Y(3)(1)* Y(4)(1)+ X(6)(4)(4)* Y(4)(1)^ 2 + X (6)(5)(1)* Y(1)(1)* Y(5)(1)+ X(6)(5)(2)* Y(2)(1)* Y(5)( 1)+ X(6)(5)(3)* Y(3)(1)* Y(5)(1)+ X(6)(5)(4)* Y(4)(1)* Y (5)(1)+ X(6)(5)(5)* Y(5)(1)^ 2

这是单数。括号只是变量的索引。所以这是20个变量中的3次多项式。并且所有系数都是+ -1。

Z3能否在合理的时间内解决以下问题,或者我甚至不必在这里尝试Z3? 是否存在实数x,使得50个这样的多项式为零,并且50在x中为非零。

提前致谢

2 个答案:

答案 0 :(得分:0)

没有尝试就不可能说。 Z3有一个非线性实数算术的决策程序,所以在理论上;是的,它可以回答这些问题。但是如何快速,"是任何人的猜测。如果您真的尝试并报告您所发现的内容,社区将不胜感激!

答案 1 :(得分:0)

现在我尝试了。因此,只有80个多项式必须消失而且没有必须非零的问题才能正常工作。大约需要半个小时左右。这很可能是由于"简单"在这种情况下的答案,意味着很多零。

但是只要我添加一个多项式并要求它非零,就会变得更糟。 1天后仍然没有结果。但由于我不知道是否有一个肯定的答案,Z3可能不得不尝试一切,所以我认为这是预期的。

还有一个问题:假设问题没有答案,意味着Z3最终会输出"非sat"。有没有什么方法Z3可以在搜索过程中输出任何进展,所以我至少可以有一些最坏的情况时间?