[論文レビュー] Logic Programs with Compiled Preferences
本稿では、答え集合意味論の下で、順序付き論理プログラム(規則に名前が付与され、$s \prec t$ のような原子で優先順位が表現される)を、標準的な拡張論理プログラムに直接変換する手法を提示する。変換により、変換後のプログラムの答え集合が元のプログラムの優先順位付き答え集合と正確に一致し、dlv や smodels などの既存のシステムで利用可能になる。
We describe an approach for compiling preferences into logic programs under the answer set semantics. An ordered logic program is an extended logic program in which rules are named by unique terms, and in which preferences among rules are given by a set of dedicated atoms. An ordered logic program is transformed into a second, regular, extended logic program wherein the preferences are respected, in that the answer sets obtained in the transformed theory correspond with the preferred answer sets of the original theory. Our approach allows both the specification of static orderings (as found in most previous work), in which preferences are external to a logic program, as well as orderings on sets of rules. In large part then, we are interested in describing a general methodology for uniformly incorporating preference information in a logic program. Since the result of our translation is an extended logic program, we can make use of existing implementations, such as dlv and smodels. To this end, we have developed a compiler, available on the web, as a front-end for these programming systems.
研究の動機と目的
- 論理プログラムにおける優先順位を、メタレベルの意味論を避けるために一様かつオブジェクトレベルの方法で符号化する。
- dlv や smodels などの既存の答え集合プログラミングシステムを、優先順位付き答え集合の推論に利用可能にする。
- 静的順序、規則集合間の優先順位、文脈依存的優先順位を含む、柔軟な優先順位処理をサポートする。
- 順序付き論理プログラムを標準的な拡張論理プログラムに変換する実用的なフロントエンドコンパイラを開発する。
- 優先順位処理がモジュラーで拡張可能かつ、下位の意味論に依存しないことを示す。
提案手法
- 規則名 $s$ と $t$ を用いて $s \prec t$ のような形の原子として優先順位をオブジェクトレベルのプログラム内に表現する。
- 文法的コンパイル手順を用いて、元の順序付き論理プログラムを標準的な拡張論理プログラムに変換する。
- より優先順位の低い答え集合をブロックする追加の規則を用いて優先順位制約を符号化し、結果として生成されるのは優先順位の高い拡張のみとなるようにする。
- 元の優先順位の意味論を変換後のプログラムに正確に保持するためのグランドリングおよび翻訳プロセスを用いる。
- 現在の実装では名前付き規則のみをサポートし、変数を含む規則については別途グランドリングによる処理を実施する。
- dlv や smodels のフロントエンドとしてコンパイラを統合し、標準的な答え集合ソルバで実行可能にする。
実験結果
リサーチクエスチョン
- RQ1規則間の優先順位を、メタレベルではなく論理プログラム内に直接符号化する方法は何か?
- RQ2順序付き論理プログラムを標準的な拡張論理プログラムにマッピングする変換を定義できるか?その際、答え集合が元の優先順位付き答え集合と正確に一致するようにする。
- RQ3静的順序、動的優先順位、規則集合間の優先順位といった異なるタイプの優先順位を、一様に処理する方法は何か?
- RQ4このアプローチは、効率的に実装可能であり、既存の答え集合プログラミングシステムとどの程度統合可能か?
- RQ5この変換の形式的性質、特に優先順位付き答え集合の正しさと完全性に関してはどのようなものか?
主な発見
- 変換により、元の順序付き論理プログラムの優先順位付き答え集合が正確に生成され、意味論的正しさが保証される。
- 本アプローチは、静的および動的優先順位、規則集合間の優先順位を含む、一様なオブジェクトレベルの符号化によりサポートされる。
- dlv や smodels のフロントエンドコンパイラとしての実装により、優先順位を考慮した論理プログラムの実用的デプロイと実行が可能になる。
- 従来のアプローチが別個の還元や優先順位付き答え集合選択を必要としたのに対し、本手法はメタレベルのフィルタリングや複数の意味論を必要としない。
- 本手法は柔軟かつ拡張可能であり、ユーザーが同じフレームワーク内で独自の優先順位意味論を定義可能である。
- プロトタイプ実装はオンラインで公開されており、動的および集合ベースの優先順位処理をサポートしており、変数を含む規則のグランドリングも対応している。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。