包含:
正向包含(当前子句是否被其他子句包含):将某个子句的所有变量全部临时赋值为假,使用单监视文字判断
反向包含(当前子句是否包含其他子句):维护每个文字在子句中的出现列表
自包含解析:
有界变量消除:对某个变量执行所有可以进行的解析,并删除所有带有该变量的子句。
问题:子句数量增长速度为平方级
等价文字替换:二元蕴含图中的强连通分量
冲突检测:存在正文字到负文字的路径
现代探测技术:
非对称文字:若
以上操作被称为非对称文字消除,但为了寻找冗余,考虑用这种方法添加文字
非对称重言AT(隐藏重言消除HTE):
反向单位传播RUP:
基本方法:将C中的文字设置为false再进行单位传播
活化(Distillation):每当一个文字设置为false,进行一次单位传播
蒸馏(Vivification):使用trie减少冗余
阻塞子句:子句C中某个文字的所有解析都为重言式
覆盖文字:子句C中某个文字的所有解析中的非重言式 都包含某个文字k,则被称为覆盖文字
在预处理(模型简化)的过程中,可能会消除部分变量(有界变量消除等)或删除部分子句(阻塞子句等)
需求:当最终判断SAT可满足时,需要反推到原始模型
方法:尝试-反转
可参考内处理论文