Python 如何在Z3py中激活部分模式?

Python 如何在Z3py中激活部分模式?,python,z3,z3py,pysmt,Python,Z3,Z3py,Pysmt,我正在使用Z3的Python绑定,我很好奇部分模式是否会加速我的模型。然而,在Python中似乎没有实现这一点的方法。(set_param(…)似乎没有参数) 我考虑迁移到,因为它声称支持Z3的部分模式,但我更愿意保留Z3Py 附加问题:部分模式真的对我有好处吗?我正在模拟阵列中的计算机内存,希望Z3忽略从未引用过的条目。这就是设置部分模型的方法: from z3 import * print get_param('model.partial') set_param('model.partia

我正在使用Z3的Python绑定,我很好奇部分模式是否会加速我的模型。然而,在Python中似乎没有实现这一点的方法。(
set_param(…)
似乎没有参数)

我考虑迁移到,因为它声称支持Z3的部分模式,但我更愿意保留Z3Py


附加问题:部分模式真的对我有好处吗?我正在模拟阵列中的计算机内存,希望Z3忽略从未引用过的条目。

这就是设置部分模型的方法:

from z3 import *

print get_param('model.partial')
set_param('model.partial', True)
print get_param('model.partial')
这张照片是:

false
true

关于你的奖金问题:我怀疑部分模型会给你带来任何好处。SMT解决方案通常会在
sat
的情况下找到模型,然后根据需要完成模型。“找到模型“部分通常是代价高昂的行动,而不是完成模型。但这当然取决于你的特殊问题;因此,尝试一下不会有什么坏处。

以下是设置部分模型的方法:

from z3 import *

print get_param('model.partial')
set_param('model.partial', True)
print get_param('model.partial')
这张照片是:

false
true
关于你的奖金问题:我怀疑部分型号会给你买任何东西。SMT解算器通常在
sat
的情况下找到模型,然后根据需要完成模型。“找到模型”部分通常是代价高昂的操作,而不是完成模型。但这当然取决于你的特殊问题;所以试一下也没什么坏处