決定不能性に対処するためにあなたが述べる動機は、決定可能だが難しい問題にも当てはまります。NP困難またはPSPACE困難な問題がある場合は、通常、何らかの形の近似(用語の広義)を使用して解決策を見つける必要があります。
近似の異なる概念を区別することは有用です。
(ε 、δ)
近似の異なる概念の例を次に示します。2つの大きな数値を乗算するような計算を実行し、乗算が正しいかどうかを確認するとします。計算を再度繰り返さずに正確性を確認するために実際に使用される多くの発見的手法があります。正しい記号を取得するために記号が乗算されたことを確認できます。番号に正しいパリティがあるかどうかを確認できます(偶数/奇数のプロパティ)。9をキャストするなど、より洗練されたチェックを使用できます。。これらのすべてのテクニックには共通の特性があり、間違いを犯した場合にそれを伝えることができますが、正しい答えが得られたかどうかを保証することはできません。このプロパティは、元の計算が間違っていることを証明できるかもしれませんが、正しいことを証明できないため、論理的な近似と見なすことができます。
上記のすべてのチェックは、抽象解釈と呼ばれる手法の例です。抽象解釈により、数値近似や確率近似とはまったく異なる論理近似の概念が完全に厳密になります。単一の計算の分析で説明した問題は、プログラムの分析のより複雑なケースにまで及びます。抽象解釈に関する文献は、プログラムについての、そして最近では論理についてのおおよその論理的推論のための技術とフレームワークを開発しました。次の参照が役立つ場合があります。
- 簡単な概要であるPatrick Cousotによる要約の抽象解釈。
- 彼のコースの一部としてのパトリック・クソットによる抽象化の概要。花のボケのプロパティを決定するための抽象化の非常に良い例があります。ブーケの類推には固定小数点が含まれ、数学的に完全に正確にすることができます。
- すべての深さと詳細が必要な場合は、Patrick Cousotによる抽象解釈のコース。
- 論理プログラムへの抽象的な解釈と適用、Patrick CousotおよびRadhia Cousot、1992。ご要望に応じて、論理プログラムに適用されます。また、最初のセクションでは、9のキャストアウト手順を抽象解釈として形式化します。
このすべては通常、コンピュータープログラムに関する理由に適用されています。論理の決定手順を研究するために、抽象解釈からのアイデアを適用することに関するかなり最近の研究がありました。焦点はモーダルロジックではなく、命題論理と数量化子のない1次理論の充足可能性です。(私はこの分野で働いているので、以下の論文は私のものです)
- Staalmarckの方法の一般化アーディティヤタクールとトーマス担当者、2012年までには、プログラム解析における問題にStaalmarckの方法の一般化を提供します。
- 抽象的なドメインと決定手順の組み合わせの縮小積、Patrick Cousot、Radiaa Cousot、およびLaurent Mauborgne、2011。決定できない問題がある場合は特に興味深いです。
- Satisfiability Solversは静的アナライザーです。LeopoldHallerとDaniel Kroeningの2012年の私の論文です。格子ベースの近似ビューを適用して、既存のソルバーを特徴付けます。代わりに、トピックに関する私のスライドを見ることができます。
さて、上記の論文はいずれも、決定不能な充足可能性問題への攻撃に関する特定の質問に答えることはありません。これらの論文が行うことは、数値的または確率的ではない論理的問題の近似指向の見方をすることです。この見方は、プログラムに関する理由に広く適用されており、あなたが求めていることを正確に扱っていると思います。
モーダルロジックに適用するには、開始点として、JonssonとTarskiの代数的セマンティクス、またはLemmonとScottの後のセマンティクスを使用することをお勧めします。これは、抽象解釈がラティスと単調関数の観点から定式化されているためです。そのため、演算子を使用したブール代数は扱いやすい便利なセマンティクスです。Kripkeフレームから始めたい場合は、JonssonとTarskiの双対定理(Stone双対と呼ばれることもあります)を適用して代数表現を導出できます。その後、論理的近似に抽象解釈の定理を適用できます。