首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >非线性算法的Z3支持

非线性算法的Z3支持
EN

Stack Overflow用户
提问于 2013-08-05 18:10:17
回答 1查看 1.7K关注 0票数 3

我知道Z3对非线性空间有一些支持,但我想知道扩展了什么?是否可以指定哪些类别的非线性算法是支持的,而不(或可能给出时间)?提前知道这些将有助于我提前完成任务。

似乎不支持与电源相关的内容,如下所示

代码语言:javascript
复制
def pow2(x): 
    k=Int('k')
    return Exists(k, And(k>=0,2**k==x))


prove(pow2(7))
failed to prove
EN

回答 1

Stack Overflow用户

发布于 2013-08-08 16:14:44

Z3支持非线性多项式实算法。因此,不支持先验函数(如正弦和余弦)和指数函数(如2^x)。实际上,对于指数,Z3可以处理可以简化为数字的指数。这是一个示例

代码语言:javascript
复制
x = Real('x')
y = Real('y')
solve(y == 3, x**y == 2)

在本例中,y In x**y在预处理步骤中被重写为3。经过预处理,调用了非线性多项式实算法的nlsat求解器。关于非线性整数算法,请参见这个相关员额

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18064822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档