[论文解读] Entailing Generalization Boosts Enumeration
本文提出了两种基于CDCL的命题逻辑模型枚举算法:一种使用阻塞子句避免重复模型(EnumerateIrredundant),另一种允许重复但不使用阻塞子句(EnumerateRedundant)。通过集成双重推理与蕴含检查,这些方法能将模型压缩为更短、更紧凑的形式,从而提升电路设计和知识编译等应用的效率。
Given a combinational circuit Γ with a single output o, AllSAT-CT is the problem of enumerating all solutions of Γ. Recently, we introduced several state-of-the-art AllSAT-CT algorithms based on satisfying generalization, which generalizes a given total Boolean solution to a smaller ternary solution that still satisfies the circuit. We implemented them in our open-source tool HALL. In this work we draw upon recent theoretical works suggesting that utilizing generalization algorithms, which can produce solutions that entail the circuit without satisfying it, may enhance enumeration. After considering the theory and adapting it to our needs, we enrich HALL’s AllSAT-CT algorithms by incorporating several newly implemented generalization schemes and additional SAT solvers. By conducting extensive experiments we show that entailing generalization substantially boosts HALL’s performance and quality (where quality corresponds to the number of reported generalized solutions per instance), with the best results achieved by combining satisfying and entailing generalization.
研究动机与目标
- 解决在需要唯一或最小化模型的应用中,对命题公式的所有模型进行无重复枚举的挑战。
- 通过使用双重推理与蕴含检查压缩模型,提升模型枚举的效率。
- 开发一种支持冗余模型枚举的冲突驱动子句学习机制,避免因添加阻塞子句而导致公式膨胀。
- 为两种模型枚举方法提供形式化正确性证明,包括对部分模型和投影模型的扩展。
- 通过生成更短、更紧凑的互斥积之和(DSOP)表示,使方法在知识编译和电路设计中具备实际应用价值。
提出的方法
- 以带非时间顺序回溯的冲突驱动子句学习(CDCL)作为模型枚举的核心引擎。
- 通过分析当前部分赋值的否定,利用双重推理压缩模型,实现更早的回溯与更短的模型。
- 引入阻塞子句的双重编码,以确保在基于阻塞的方法中使用模型压缩时的正确性。
- 通过在追踪路径上保存子句而非将其添加到公式中,将标准CDCL适配为支持冗余模型枚举,避免公式膨胀。
- 在搜索过程中应用逻辑蕴含检查,以检测部分赋值是否已蕴含目标公式,从而实现早期剪枝与更短的模型。
- 通过聚焦变量子集支持投影模型枚举,其正确性通过形式演算与证明系统得到证明。
实验结果
研究问题
- RQ1如何在不损失正确性的前提下,通过将模型压缩为更短、更紧凑的形式来提升模型枚举效率?
- RQ2双重推理与蕴含检查对CDCL基础枚举中模型大小的减少有何影响?
- RQ3是否可以在不使用阻塞子句的前提下实现冗余模型枚举,同时保持正确性并避免公式膨胀?
- RQ4使用阻塞子句的双重编码如何确保在无冗余情况下模型压缩过程的正确性?
- RQ5在双重推理下,最小化模型检测与投影模型枚举性能之间存在何种权衡?
主要发现
- 结合蕴含检查的双重推理方法能够发现更短的部分模型,这些模型仍能逻辑蕴含目标公式,从而减少搜索空间并提升效率。
- 所提出的基于阻塞的方法(EnumerateIrredundant)通过形式化证明的阻塞子句双重编码,正确避免了重复模型枚举。
- 冗余模型枚举方法(EnumerateRedundant)通过将子句存储在追踪路径上而非添加到公式中,避免了公式膨胀,实现了可扩展的枚举。
- 实验表明,双重模型压缩结合蕴含检查显著缩短了模型长度,支持生成最小或近似最小的DSOP。
- 该方法实现了高效的投影模型枚举,其结果与先前双重方法一致,但避免了处理两个公式的计算开销。
- 该方法适用于电路设计与知识编译,因其能生成紧凑且无冗余的DNF表示,支持多项式时间的模型计数。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。