質問

私は、一次ロジック文を通常の形式に変換し、解像度を実行することを読んでいます。

CNFに変換する手順の1つは、変数を標準化することです。すべての変数を変更して、各量子が独自の変数名を持つように変更します。

ほとんどの一般的な統一者は、2つの条項の最も専門的な統一です。

質問1:変数を標準化しない場合の潜在的な問題が何であるかを示す例を見つけるために検索していますが、私が見つけたすべてのオンラインリソースは、「方法」ではなく「方法」のみを説明しています。潜在的な問題の例を教えていただけますか?

質問2:最初の質問と同じ問題。 MGUを使用していない場合、より専門的なユニファイアを使用した場合はどうなりますか?潜在的な問題は何ですか?例を教えていただけますか?

心からの感謝。フェリペ

役に立ちましたか?

解決

  1. 見る この答え - これは、変数を変更せずに矛盾を導き出すことができない矛盾した一連の条項の例です。 CNFへの変換後に変数を変更するだけでは不十分であることに注意してください。変数を変更する必要があります。 毎日 解決ルールの適用。次のように表示できます。2つの異なる条項に表示される変数は、それぞれが暗黙的に普遍的に定量化されているため、それぞれに異なる意味を持ちます。条項の1つで変数を変更しない場合、変数は両方の条項で同じことを意味するという誤った仮定を立てます。

  2. MGUを使用することにより、解決ステップで最も一般的な句を導き出します。 MGUよりも専門化された統一者を使用すると、結果の句は弱くなります。これは、できる限りの知識を推測しなかったことを意味し、たとえそれが存在していても、空の句の導出を逃すことができます。例: begin {array} {c} p(x、y) lor q(y) lnot q(d) lnot p(c、d) end {array} $ y をd $に送信するMGUを使用した最初の2つの条項からのレゾルビングは、$ p(x、d)$を取得し、3番目の句を進めることができます。 $ x をd $に送信するような弱いユニファイアを取得すると、$ p(d、d)$を取得し、3番目の句でレゾルブを作成することはできません。これは、メソッドが完了しなくなったことを意味します。

ライセンス: CC-BY-SA帰属
所属していません cs.stackexchange
scroll top