[論文レビュー] A Compiler for Ordered Logic Programs
この論文では、規則間の明示的な優先関係を備えた順序付き論理プログラムを、答え集合意味論下での標準拡張論理プログラムに変換するコンパイラPLPを提示する。優先関係を $s\prec t$ のような原子論理式としてオブジェクトレベルで符号化することにより、元のプログラムにおける優先される答え集合が、変換後の出力における安定モデルに対応するように保証し、dlv や smodels といった既存のシステムとの統合を可能にする。これにより、新しい推論アルゴリズムの開発を必要としない。
This paper describes a system, called PLP, for compiling ordered logic programs into standard logic programs under the answer set semantics. In an ordered logic program, rules are named by unique terms, and 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. Since the result of the translation is an extended logic program, existing logic programming systems can be used as underlying reasoning engine. In particular, PLP is conceived as a front-end to the logic programming systems dlv and smodels.
研究の動機と目的
- 既存の論理プログラミングシステム(dlv, smodels)を、その根幹的なアルゴリズムを変更せずに、順序付き論理プログラムの推論に利用可能にする。
- 非単調推論における規則および規則集合の間の優先関係を、宣言的かつ拡張可能な方法で表現する。
- 動的および文脈依存的な優先関係、すなわち優先関係同士の優先関係やデフォルト優先関係をサポートする。
- 実用的で効率的かつ標準の論理プログラミングスタックとシームレスに統合できるフロントエンドコンパイラを開発する。
提案手法
- コンパイラは、順序付き論理プログラムを、補助原子とデフォルト否定を用いて優先制約を符号化した標準拡張論理プログラムに変換する。
- 規則名を導入することで、$s\prec t$ のような優先文が、規則 $s$ が規則 $t$ より優先されることを表現できるようにする。
- 変換により、変換後のプログラムの答え集合が、元の順序付きプログラムの優先される答え集合と正確に一致するように保証する。
- 集合順序付きプログラムは、規則集合に名前を割り当て、$m\prec m'$ を用いてこれらの集合間の優先関係を表現することでサポートする。これにより、複雑な優先階層を実現できる。
- コンパイラはPrologで実装され、標準的な構文とECLiPSeのプリントフォーマット機能を活用して、読みやすい出力を生成する。
- コンパイラはモジュラー構造を採用しており、グランドング、プリントフォーマット、dlvおよびsmodels向けのシステム固有インターフェースの各処理を別々のファイルに分離している。
実験結果
リサーチクエスチョン
- RQ1論理プログラムにおける優先情報は、基盤となる意味論や推論エンジンを変更せずに、オブジェクトレベルで表現可能か?
- RQ2順序付き論理プログラムを、優先される答え集合が保持される標準論理プログラムにどのようにコンパイルできるか?
- RQ3動的および文脈依存的優先関係(優先関係同士の優先関係やデフォルト優先関係を含む)をサポートする場合、コンパイルプロセスにどのような影響を与えるか?
- RQ4dlv や smodels といった既存の論理プログラミングシステムを、フロントエンドコンパイラを通じて順序付き論理プログラムの推論にどの程度再利用可能か?
- RQ5変換後のプログラムの性能は、元の順序付き論理プログラムのサイズおよび複雑さに対してどのようにスケーリングするか?
主な発見
- PLPコンパイラは、順序付き論理プログラムを標準拡張論理プログラムに正しく変換し、変換後のプログラムの答え集合が元のプログラムの優先される答え集合と完全に一致することを確認した。
- 本システムは、個々の規則間、規則集合間、さらには優先関係同士の優先関係に対しても対応可能であり、複雑な推論階層を実現できる。
- 変換プロセスは効率的であり、出力プログラムのサイズは入力に対して多項式時間で増加するため、実世界の問題サイズに対してもスケーラブルである。
- 本手法により、dlv や smodels を推論バックエンドとして完全に再利用可能となり、独自の推論アルゴリズムの開発が不要になる。
- 本システムは約300行のPrologで実装されており、dlv や smodels が利用可能な任意のプラットフォームで動作可能(ECLiPSe Prologがインストール済みである限り)である。
- TheoryBaseシステムのベンチマークを用いた評価により、本手法が意味的同等性を保持しており、複雑な非単調推論タスクに対しても効果的にスケーリングすることが確認された。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。