Solver 变量和函数

类型

变量名

初始化

 功能

int

incremental

static BoolOption opt_incremental(_cat, "incremental", "Use incremental SAT solving", false);

incremental(opt_incremental)

Use incremental SAT solving

 vec<lbool>

model

vec() : data(NULL), sz(0), cap(0) {}

If problem is satisfiable, this vector contains the model

 vec<Lit>

conflict

vec() : data(NULL), sz(0), cap(0) {}

If problem is unsatisfiable,this vector represent the final conflict clause expressed in the assumptions.

 uint64_t

 solves

0

目前没发现什么用处

 uint64_t 

starts

统计重启次数?

 Heap<VarOrderLt>

 order_heap

 

根据变量活性排序的优先队列

 vec<Lit>

trail 

 cap增大

一次决策的文字序列 ,按分配顺序存储

 vec<int> 

trail_lim 

 

每一次决策的文字数量的序列 

 OccLists<Lit, vec<Watcher>, WatcherDeleted>

watches

 索引是文字的否,内容是子句中关联的文字

bcp传播时,用于关联文字数大于2的子句

 OccLists<Lit, vec<Watcher>, WatcherDeleted>

watchesBin

 

bcp传播时,用于关联文字数等于2的子句 

 vec<VarData>

 vardata

reason = CRef_Undef,  level = 0;

存储每个变量的原因和级别

 vec<lbool>

 assigns

l_Undef;

赋值

 vec<double>

 activity 

rnd_init_act ? drand(random_seed) * 0.00001 : 0

活性

 vec<char>

 seen

 0

冲突分析时,标记是否被查看过

 vec<unsigned int>

 permDiff

 0

包含当前冲突号...用于计算LBD的数量

 vec<char> 

 plarity

 sign = true     "\001"

 每个变量的首选极性

 vec<char>

decsion 

 ""

 在决策启发式中声明变量是否适合选择。

 uint64_t

dec_vars

 0

 

 bool

 

certifiedUNSAT

 

BoolOption opt_certified(_certified, "certified", "Certified UNSAT using DRUP format", false);

certifiedUNSAT(opt_certified)

 

 

 vec<CRef>

clauses 

 

 子句列表

 uint64_t

 

propagations

 0

 总传播次数

int64_t

 

simpDB_props

 0

 未赋值个数

 vec<CRef>

learnts 

 

 学习字句列表

 bool

remove_satisfied 

true 

是否扫描学习子句在implify函数中

 double

smp_garbage_frace 

0.20 

 垃圾处理参数

 int

 simpDB_assigns

 -1

 赋值个数

 vec<Lit>

 assumptions

 

 提供给用户的当前假设集

 

 

 

 

 

 

 

 

posted on 2020-10-10 18:55  QzZq  阅读(333)  评论(0)    收藏  举报

导航