约束求解公开课笔记

两种计算思维

约束求解

约束模型分为:

  1. SAT问题,电路SAT,Max SAT
  2. (非)线性规划,二次规划,0-1规划,整数(非)线性规划,混合整数(非)线性规划
  3. 一阶逻辑可满足性问题,QBF,SMT,MaxSMT,OMT

SAT问题

如何识别问题的约束:包含三个方面,1)事实、规则 2)必须做的 3)不能违反的

SAT应用

SMT = SAT + 很多理论

应用:硬件验证,字级别验证,软件验证,线性规划

规划方式

CSP模型

求解器:求解一个约束模型的程序

分支启发式

分支策略:

分支限界方法(主流)

约束传播

域传播

不完备算法:局部搜素

CNF

合取范式Conjunctive Normal Form

### SAT Input File DIMACS format
c example //注释行
p cnf 变量数 字句数 //定义一个cnf