旧版与Z3的新版本

时间:2013-09-26 15:40:03

标签: z3 smt

我有一个可以通过旧版Z3(版本2.18)非常有效地解决的实例。它会在几秒钟内返回SAT。 但是,当我在当前版本的Z3(版本4.3.1)上尝试时。 10分钟后它不会返回任何结果。

以下是有关该实验的一些细节。可以有人给出一些建议吗?

  • 有4000个Bool变量和200个Int变量

  • 所有约束都在命题逻辑中,比较整数,如< B'/ p>

  • 平台:打开suse linux 12.3@thinkpad T400s

  • 去年Z3 v2.18作为Linux二进制文件下载(我现在找不到链接)

  • Z3 v4.3.1作为源代码下载,我使用默认设置在笔记本电脑上编译

smt文件中有大约50,000行,所以我不能在这里发布。如果有兴趣的话,我很乐意通过电子邮件发送文件。 感谢。

1 个答案:

答案 0 :(得分:1)

Z3是一系列求解器。默认配置从版本更改为版本。 进步永远不会是单调的。也就是说,新版本可以解决更多问题,但可能会更慢并且在某些问题上失败。

备注:作者已通过电子邮件将其基准发送给Z3作者。

在“正在进行中”分支中,我设法使用

重现Z3 2.19性能
            (set-option :smt.auto-config false)

Here是有关如何下载“正在进行中的工作”分支的说明。

为了获得相同的行为,我们还必须更换                 (检查-SAT) 同                 (check-sat-using smt)

BTW,在正式版中,我们必须使用

            (set-option :auto-config false)

而不是

            (set-option :smt.auto-config false)