論理プログラミング:B:-AC:-AからB、C:-Aへの変換


8

私が正しい場所に来たことを願っています...それは(おそらく)かなり単純な論理プログラミングの質問です。

フォームに2つの句がある場合: B:-A C:-A これらを次のように変換できます。 B,C:-A

(編集: where B,Cは結合詞です。ボトムアップ評価を行っているので、それぞれのヘッドの結合詞を含む1つの句を使用して、同じボディを持つ複数の句を表すと便利です。これは簡単なようですが、このような変換には名前があります。ただし、結果の句がHorn句ではなくなったことを知っています。)

この変換に名前があるかどうかは誰かが知っていますか。そうであれば、それを説明する場所へのポインタ(できればオンライン)を提供できます。

(n00bから)感謝します。

回答:


8

(あ⊃B)∧(あ⊃C)あ⊃(B∧C)(B⊃あ)∧(C⊃あ)(B∨C)⊃ああ⊃B⊃∧∨

あなたがやろうとしていることは、McAllesterの「静的解析の複雑性分析について」で説明されている2値化変換に関連しています。そこ変換のためのより良い名前かもしれないが、そうならば、それは「論文の著者を知られていなかったALFPのための簡潔なソルバーを(」lternating L東Fは ixed のp OINT式がボトム用ホーン節の一般化していますあなたのようなロジックプログラムをアップします)-4ページの例1では、同様の変換について説明し、それを単に「前提条件の共有の可能性を利用する」と呼びます。


1
ああ、私は研究の全分野を浅く解析し、ウィキペディアから教育を受けるのをやめなければなりません。多分それから私はそれを再発明する前にホイールが何と呼ばれるかを知ることができます。(しかし、最初に博士号を取得する必要があります)
— バドロイト

私の間違った答えてすみません。夜遅く投稿しないでください。
— デイブクラーク

私は気持ちを理解しています(両方のコメントに適用されます!)
— Rob Simmons、

2

メートルb:あ→B、メートルc:あ→C⟨メートルb、メートルc⟩:あ→B×C

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.