输入顺序对约束求解器性能的影响

问题描述 投票:0回答:1

输入(布尔和算术方程)的顺序对约束求解器(如Gecode)和SMT求解器(如microsoft Z3)是否重要?如果是的话,如果我可以利用Gecode中的分支函数来利用一些已知的启发式方法,那么这两个软件中哪一个的性能会更好?

(注:我不知道在Gecode中是否有类似于分支()的功能,在Z3中是否存在)

z3 solver constraint-programming gecode
1个回答
0
投票

理论上讲,不,顺序应该不重要。断言的顺序不应该有区别。但在实践中,它们可能会有影响,因为启发式方法可能最终会在死胡同里花费大量时间。SMT求解器通常以黑盒的形式工作,也就是说,除非你知道它们的确切内部结构,否则很难看到它们的进展情况。然而,你可以把verbosity调高(使用z3的 -v 标志),并可以查看输出结果,看看是否发现任何分歧行为。

与任何一般的 "SMT求解器的性能 "问题一样,它不可能抽象地回答。每一个问题实例都有特定的特点,可能有不同的编码方式来使求解器更容易。如果你发布具体问题,你可以得到更好的建议。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.