Mal*_*off 3 statistics encoding solver smt z3
SMTLib2指令(get-info all-statistics)
显示多个数字,例如
num. conflicts: 4
num. propagations: 0 (binary: 0)
num. qa. inst: 23
Run Code Online (Sandbox Code Playgroud)
为了测试不同的公理化和编码,我想知道这些数字中的哪一个适合宣布一个Z3运行比另一个运行更好/更有效。
从名字中猜测,我想说的是num. qa. inst
-数量化实例化的数量-是一个很好的指标(低=更好),但是其他指标呢?
数量化实例化的数量是检查公理化是否产生过多实例的好方法。您也可以使用QI_PROFILE = true。它将为每个量词生成统计信息。您可以使用:qid属性为量词命名。您也可以使用DEFAULT_QID = true,Z3将根据行号生成一个名称。生成每个实例后,QI_PROFILE_FREQ =将显示统计信息。这些选项对于检测实例化循环很有用。
“数量冲突”对于估计Z3遍历的搜索空间的大小很有用。我们可以说,如果搜索空间的大小较小,则公理化会“更好”。
干杯,狮子座