Skip to main content
QUICK REVIEW

[论文解读] What's hard about Boolean Functional Synthesis

S. Akshay, Supratik Chakraborty|arXiv (Cornell University)|Apr 16, 2018
Formal Methods in Verification参考文献 32被引用 5
一句话总结

该论文提出了一种两阶段布尔函数合成算法,第一阶段通过SAT求解器高效生成多项式规模的Skolem函数,在析取分解基准上成功率达97%,在算术基准上成功率为72%。当第一阶段失败时,第二阶段采用CEGAR方法构建正确但可能具有指数规模的函数,理论分析表明,在标准复杂度假设下,此类困难性是不可避免的。

ABSTRACT

Given a relational specification between Boolean inputs and outputs, the goal of Boolean functional synthesis is to synthesize each output as a function of the inputs such that the specification is met. In this paper, we first show that unless some hard conjectures in complexity theory are falsified, Boolean functional synthesis must necessarily generate exponential-sized Skolem functions, thereby requiring exponential time, in the worst-case. Given this inherent hardness, what does one do to solve the problem? We present a two-phase algorithm for Boolean functional synthesis, where the first phase is efficient both in terms of time and sizes of synthesized functions, and solves an overwhelming majority of benchmarks. To explain this surprisingly good performance, we provide a sufficient condition under which the first phase must produce exact correct answers. When this condition fails, the second phase builds upon the result of the first phase, possibly requiring exponential time and generating exponential-sized functions in the worst-case. Detailed experimental evaluation shows our algorithm to perform better than state-of-the-art techniques for a majority of benchmarks.

研究动机与目标

  • 理解在标准复杂度假设下布尔函数合成的固有理论困难性。
  • 设计一种实用算法,在最坏情况不可解的前提下,仍能高效解决大量实际基准。
  • 识别输入规范中足以保证第一阶段算法正确性的结构条件。
  • 在多样化基准集上,评估所提算法与最先进工具的性能表现。

提出的方法

  • 第一阶段通过多项式次数的NP预言机(SAT求解器)调用,生成多项式规模的候选Skolem函数。
  • 算法使用近似模型计数器估计良度比率(反例占比如),验证第一阶段输出的正确性。
  • 当输入结构满足与ROBDD类表示相关的充分条件时,第一阶段成功,确保正确性。
  • 当第一阶段失败时,第二阶段采用基于CEGAR的方法,通过SAT求解和反例分析迭代精炼候选函数。
  • 第二阶段从第一阶段的候选函数构建正确Skolem函数,最坏情况下可能导致输出规模呈指数增长。
  • 理论分析表明,除非主要复杂度理论猜想不成立,否则超多项式或指数规模的Skolem函数是不可避免的。

实验结果

研究问题

  • RQ1在何种复杂度理论假设下,布尔函数合成被证明需要超多项式时间或空间?
  • RQ2能否设计一种两阶段算法,使得第一阶段高效且能解决大量实际基准?
  • RQ3输入规范的何种结构特性可保证第一阶段候选Skolem函数的正确性?
  • RQ4所提算法在各类基准类别上的性能与最先进工具相比如何?
  • RQ5近似模型计数在多大程度上可用于高效验证第一阶段候选Skolem函数的质量?

主要发现

  • 第一阶段成功解决了48个算术基准中的35个(72.9%),68个析取分解基准中的66个(97.1%),以及全部5个因式分解基准。
  • 在13个启动第二阶段的基准中,良度比率低于0.002,表明第二阶段开始时候选函数质量很高。
  • 第二阶段在13个基准上完成,且良度比率较低;但在27个QBFEval基准上失败,良度比率大于0.9,表明存在持续的反例。
  • bfss解决了Cadet无法处理的231个基准、parSyn无法处理的94个、RSynth无法处理的231个,以及AbsSynthe-Skolem无法处理的92个。
  • 在析取分解和因式分解基准上,bfss在运行时间和求解实例数量上均优于Cadet、parSyn和AbsSynthe-Skolem。
  • 理论结果表明,除非P = NP,或多项式阶层坍缩,或非均匀指数时间假设不成立,布尔函数合成必须需要超多项式时间或生成超多项式规模的Skolem函数。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。