推論エンジンにとって統一がなぜそれほど重要なのですか?


17

私は自動定理証明 / SMTソルバー / 証明アシスタントを自分で学んでおり、ここからプロセスに関する一連の質問を投稿しています

私は統一アルゴリズムについて読み続けています。

  • それは何で、なぜ推論エンジンにとってそれほど重要なのですか?
  • なぜコンピューターサイエンスにとってこれほど重要なのですか?

回答:


11

統一は、コンピュータサイエンスの基本概念であるため、おそらく私たちはそれを当たり前のこととさえ思っているでしょう。ルール、方程式、またはパターンがあり、それを何らかのデータに適用する場合は常に、統一を使用してデータにルールを特化します。または、2つの一般的で重複するルールを組み合わせたい場合、統一により最も一般的な組み合わせルールが提供されます。統一は中核です

  • 定理証明者および証明アシスタントには、高次統合に基づくものが含まれます。
  • Prologの実装(解像度として)。
  • 型推論アルゴリズム。
  • 計算言語学/自然言語処理。
  • プログラミング言語のセマンティクスの基礎として使用できる、Maudeなどの用語書き換えシステム。
  • 演ductiveデータベース。
  • エキスパートシステムまたはより一般的には人工知能。
  • コンピューター代数システム。
  • 関数型言語でのパターンマッチング(少なくとも部分的に...マッチングのみ)。
  • いくつかの解析アプローチ。
  • 特にセマンティックWebに関係する一部のクエリ言語。

8

Isabelle / HOLなどの証明アシスタントは、論理計算の構文レベルで動作します。モーダスポネンズルール(MP)があると想像してください

PQP  Q

そして証明の目標

abcdab cd

私たち人間はすぐにこれが法的なポネンに続くことを理解しますが、機械は構文的に(あなたがするapply rule mpかどうかに関わらず)ルールを決めるために目標に一致する必要がapply simpあり、これが統一の目的です。アルゴリズムの発見は、φ P = Bφ Q = C D、ルールをインスタンス化し、それを適用します。φφP=abφQ=cd

simp今のようなアシスタントの方法の良いところは、あなたの目標が

abcda d

PQPPPQ


Γ={φ1φn}

Γψ

次を意味します。

Γψ

Γψψ

PQφ


3

2

エンジン推論することは重要ではないと思います。ただし、型の推論には統一アルゴリズムが非常に役立ちます。これらは、2つの非常に異なる種類の推論です。

ので、型推論はコンピュータサイエンスに重要なタイプは、コンピュータ科学の重要な部分であるプログラミング言語の理論に重要です。型も論理に近く、自動定理証明で集中的に使用されます。すべてではありませんが、多くの証明アシスタントおよびSMTソルバーに統合アルゴリズムの実装があります。

推論エンジンは人工知能に関連しています。これも重要ですが、非常に異なっています。(学習とロジックの間のリンクを見てきましたが、これはフェッチされたようです。)


最初の文は有効ではないと思います。私の答えをご覧ください。
ラファエル

1
私も最初の文に同意しません。解像度(統一の専門化)は、Prologの中核です。Prologは、エキスパートシステムや他の推論エンジンの最も一般的な実装言語の1つです。
デイブクラーク

@Raphael and Dave:それでは、統合アルゴリズムは推論エンジンで直接使用されるということですか?
-jmad

@jmad:統合アルゴリズムがあるかどうかはわかりません。また、「推論エンジン」と呼ばれるシステムの種類もわかりません。論理および/または正式なセマンティクスがポップアップする場所であればどこでも統一が広く使用されていることを知っています。リストについては、デイブの回答を参照してください。
ラファエル

@Raphael:それは私が対処したかった問題です。推論エンジンは、型と論理について知っている推論に関するものではないようです。
-jmad
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.