Z3定时可变性

Z3定时可变性,z3,Z3,我在Z3中遇到了一些极端的时间变化,相同的查询有时需要几秒钟,有时需要几个小时——所讨论的更加极端(并且没有对变量名称进行任何更改)。这些查询只涉及整数和布尔变量。这仅仅是使用随机化的启发式的正常结果吗?我对这种情况的经验:这一切都取决于!这可能是一个简单的效率问题,也可能是更根本的问题。这可能是因为您自己的编码效率很低,或者z3缺少一个启发式案例,将其发送到错误的路径。(我发现把Int和Bool混合在一起通常是可以的,只要你不想用一些时髦的算术来编写布尔逻辑。) 既然你没有告诉我们你的具体问题

我在Z3中遇到了一些极端的时间变化,相同的查询有时需要几秒钟,有时需要几个小时——所讨论的更加极端(并且没有对变量名称进行任何更改)。这些查询只涉及整数和布尔变量。这仅仅是使用随机化的启发式的正常结果吗?

我对这种情况的经验:这一切都取决于!这可能是一个简单的效率问题,也可能是更根本的问题。这可能是因为您自己的编码效率很低,或者z3缺少一个启发式案例,将其发送到错误的路径。(我发现把
Int
Bool
混合在一起通常是可以的,只要你不想用一些时髦的算术来编写布尔逻辑。)

既然你没有告诉我们你的具体问题,那就不可能猜测了。但是如果你把它提炼成足够小的东西来展示这个问题,你至少应该提交一张罚单,至少让开发人员看一看并提出一种或另一种观点。你的例子越小越好。当然,你也可以把它贴在这里