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
ひとこと要約

本稿では、2段階のアルゴリズムを提示する。最初の段階では、SATソルバを用いて多項式サイズのスコーレム関数を効率的に生成する。この段階は、論理和分解ベンチマークの97%、算術ベンチマークの72%で成功を収める。最初の段階に失敗した場合には、CEGARに基づく2段階目の段階が、正しいが多項式的でないサイズの関数を構築する。理論的保証により、標準的な複雑性仮定のもとでは、このような困難さは避けられないことが示されている。

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.

研究の動機と目的

  • 標準的な複雑性仮定のもとでのブール関数合成の本質的理論的困難さを理解すること。
  • 最悪ケースでは非効率的であるが、実世界のベンチマークの大部分を効率的に解ける実用的アルゴリズムを開発すること。
  • アルゴリズムの最初の段階が正しさを保証する十分な構造的条件を同定すること。
  • 多様なベンチマークスイート上で、最先端のツールと比較して提案されたアルゴリズムの性能を評価すること。

提案手法

  • 段階1は、NPオракル(SATソルバ)を多項式回呼び出して、多項式サイズの候補スコーレム関数を生成する。
  • 段階1の出力の正しさは、近似的なモデルカウンターを用いて、誤検出の割合(goodness ratio)を推定することで検証する。
  • 段階1は、ROBDDに類似した表現に関連する十分条件を満たす入力構造を持つ場合に成功し、正しさが保証される。
  • 段階1に失敗した場合には、段階2はCEGARに基づくアプローチを用い、SATソルバと誤検出の分析を繰り返し用いて候補関数を段階的に改善する。
  • 段階2は、段階1の候補関数から正しく、しかし最悪ケースでは指数的サイズの関数を構築する。
  • 理論的分析により、P = NPでない限り、または多項式階層が崩壊しない限り、または非一様な指数時間仮説が成り立たない限り、ブール関数合成は超多項式時間または超多項式サイズのスコーレム関数を必要とする。

実験結果

リサーチクエスチョン

  • RQ1どのような複雑性理論的仮定のもとで、ブール関数合成が超多項式時間または超多項式空間を要する、証明可能な困難さを示すか?
  • RQ2最初の段階が効率的で、実世界の多数のベンチマークを解けるような2段階のアルゴリズムを設計できるか?
  • RQ3入力仕様のどのような構造的性質が、最初の段階の候補スコーレム関数の正しさを保証するか?
  • RQ4提案されたアルゴリズムの性能は、多様なベンチマークカテゴリにおいて、最先端のツールと比較してどの程度優れているか?
  • RQ5近似的なモデルカウンターを用いて、段階1の候補スコーレム関数の品質を効率的に検証できるか?

主な発見

  • 段階1は、算術ベンチマークの48個中35個(72.9%)、論理和分解ベンチマークの68個中66個(97.1%)、およびすべての5個の要因分解ベンチマークを解決した。
  • 段階2が開始された13のベンチマークでは、goodness ratioが0.002未満であったため、段階2の開始時点で高品質な候補が得られていた。
  • goodness ratioが低い13のベンチマークでは段階2が正常に完了したが、goodness ratioが0.9を超える27のQBFEvalベンチマークでは失敗し、継続的な誤検出が確認された。
  • bfssは、Cadetが解けなかった231のベンチマーク、parSynが解けなかった94のベンチマーク、RSynthが解けなかった231のベンチマーク、AbsSynthe-Skolemが解けなかった92のベンチマークを解決した。
  • 論理和分解および要因分解ベンチマークにおいて、bfssは時間的および解決インスタンス数の両面でCadet、parSyn、AbsSynthe-Skolemを上回った。
  • 理論的結果により、P = NPでない限り、または多項式階層が崩壊しない限り、または非一様な指数時間仮説が成り立たない限り、ブール関数合成は超多項式時間または超多項式サイズのスコーレム関数を必要とする。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。