Z3やBoolectorなどのSMTソルバーは、複雑なヒューリスティックセットを使用して問題を解決します。ただし、これにより、特定の問題に対するそのようなソルバーのパフォーマンスの予測も非常に困難になります。私の質問はこうして:
質問
量指定子なしのビットベクトル(QFBV)の理論における特定のSMTソルバーのパフォーマンスを理解または洞察する方法はありますか?
これには、ソルバーが「行き詰まっている」/進行しない場所を理解するのに役立つ視覚化ツールも含まれます。
用途
同じ問題の異なるエンコーディングがソルバーのパフォーマンスにどのように影響するかを事前に理解します(ここでの最新技術は、「いくつかの異なるエンコーディングを試してみて、十分に高速であることを期待する」ことはできません)。
時間の制約のために特定の問題がSMTソルバーで解決できない場合は、問題を別の方法で表現して解決できるようにします。
ソルバーのパフォーマンスにまったく影響を与えない、またはソルバーのパフォーマンスに悪影響を与えることのない、ドメイン固有の問題の単純化に時間を費やすことを避けます。
既存の研究
私はこのトピックについての研究を見つけようとしましたが、私は多くを見つけることができませんでした。私はまだSAT / SMTソルバーの分野での経験があまりないので、何かを見逃したことをお詫びします。
SATzilla:機械学習技術を使用して問題から抽出された機能に基づいて、最高のパフォーマンスのソルバーを予測します。
これは、SMTではなくSATにのみ適用され、ソルバーのパフォーマンスの理由を説明しません。
Z3公理プロファイラー Z3インスタンス化グラフの視覚化とマッチングループの分析
これは数量化された理論にのみ焦点を当てているように見えます。