QFBV SMTソルバーのパフォーマンスについて


9

Z3やBoolectorなどのSMTソルバーは、複雑なヒューリスティックセットを使用して問題を解決します。ただし、これにより、特定の問題に対するそのようなソルバーのパフォーマンスの予測も非常に困難になります。私の質問はこうして:

質問

量指定子なしのビットベクトル(QFBV)の理論における特定のSMTソルバーのパフォーマンスを理解または洞察する方法はありますか?

これには、ソルバーが「行き詰まっている」/進行しない場所を理解するのに役立つ視覚化ツールも含まれます。

用途

  • 同じ問題の異なるエンコーディングがソルバーのパフォーマンスにどのように影響するかを事前に理解します(ここでの最新技術は、「いくつかの異なるエンコーディングを試してみて、十分に高速であることを期待する」ことはできません)。

  • 時間の制約のために特定の問題がSMTソルバーで解決できない場合は、問題を別の方法で表現して解決できるようにします。

  • ソルバーのパフォーマンスにまったく影響を与えない、またはソルバーのパフォーマンスに悪影響を与えることのない、ドメイン固有の問題の単純化に時間を費やすことを避けます。

既存の研究

私はこのトピックについての研究を見つけようとしましたが、私は多くを見つけることができませんでした。私はまだSAT / SMTソルバーの分野での経験があまりないので、何かを見逃したことをお詫びします。

  • SATzilla:機械学習技術を使用して問題から抽出された機能に基づいて、最高のパフォーマンスのソルバーを予測します。

    これは、SMTではなくSATにのみ適用され、ソルバーのパフォーマンスの理由を説明しません。

  • Z3公理プロファイラー Z3インスタンス化グラフの視覚化とマッチングループの分析

    これは数量化された理論にのみ焦点を当てているように見えます。

回答:


3

短い答えはノーです、私たちはそれを理解していません。長い答えは「はい」です。限界はありますが、それらの限界はあまり役に立ちません。最悪の場合の実行時間が指数関数的であることは明らかです。これはあまり役に立ちません。なぜなら、いくつかの/多くの実際的な状況では、それはかなり高速に実行されるように見えるためです。そして、その理由は本当にわかりません。

QFBVはもちろんのこと、SATソルバーでもこれが当てはまる理由はわかりません。QFBVソルバーがしばしば高速である理由を理解することは、SATソルバーがしばしば高速である理由を理解することと少なくとも同じくらい難しいようで、これはすでに現在の理解レベルを超えています。このサイトでさらに検索すると、後者のトピックを理解しようとする現在の試みの要約を見つけることができます。


ご回答有難うございます!それは事実かもしれないけれども、私はすでに持っていました。一般的なルールを見つけようとしない調査があるかどうか知っていますか?その代わりに、sat / smtソルバーのパフォーマンスが遅い理由を視覚化します(または別の方法で、ユーザーが問題のどの部分が与えているかを理解するのに役立ちますおよびSMTソルバーtouble)
bennofs
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.