z3prover,如何在c ++中随机化

时间:2017-04-01 13:15:13

标签: c++ z3

在python中,我可以使用

z3.set_param('auto_config', False,
         'smt.phase_selection', 5,
         'smt.arith.random_initial_value', True,
         'smt.random_seed', np.random.randint(0, 655350),
         'sat.phase', 'random',
         'sat.random_seed', np.random.randint(0, 655350))

让事情奏效。而在c ++中,工作从未完成。我尝试使用solver.set()设置参数,并使用Z3_global_param_set。对于布尔问题,我只能获得相同的模型。 我想要做的是为同一个求解器随机化模型的每个第一个结果。随机化结果对我目前的工作意义重大。谁能帮我?非常感谢!

简而言之,我希望每次调用solver.get_model()时都会得到一个问题的随机结果,例如(在布尔值中)

if(b0, 1, 0)+if(b1, 1, 0)+if(b2, 1, 0)>1

再次感谢您阅读我的描述。

0 个答案:

没有答案