[論文レビュー] Unfolding Partiality and Disjunctions in Stable Model Semantics
この論文では、既存の通常(非論理的選言を含まない)プログラム用の安定モデルソルバをコアエンジンとして使用して、部分的かつ非論理的選言的安定モデルを実装する2段階の変換手法を提示する。まず、線形的でモジュラーなプログラム変換により、部分的安定モデルを全安定モデルに展開する。次に、生成・テストアプローチを用いて、非論理的選言的安定モデル計算を通常プログラムの解法に還元する。このアプローチにより、smodelsのような最適化されたエンジンを活用して非論理的選言的かつ部分的安定モデルの効率的推論が可能となり、dlvのような最先端のシステムと同等の性能を発揮する。
The paper studies an implementation methodology for partial and disjunctive stable models where partiality and disjunctions are unfolded from a logic program so that an implementation of stable models for normal (disjunction-free) programs can be used as the core inference engine. The unfolding is done in two separate steps. Firstly, it is shown that partial stable models can be captured by total stable models using a simple linear and modular program transformation. Hence, reasoning tasks concerning partial stable models can be solved using an implementation of total stable models. Disjunctive partial stable models have been lacking implementations which now become available as the translation handles also the disjunctive case. Secondly, it is shown how total stable models of disjunctive programs can be determined by computing stable models for normal programs. Hence, an implementation of stable models of normal programs can be used as a core engine for implementing disjunctive programs. The feasibility of the approach is demonstrated by constructing a system for computing stable models of disjunctive programs using the smodels system as the core engine. The performance of the resulting system is compared to that of dlv which is a state-of-the-art special purpose system for disjunctive programs.
研究の動機と目的
- 通常のプログラムの安定モデル意味論の既存実装を用いて、部分的かつ非論理的選言的安定モデルの効率的計算を可能にすること。
- 理論的に重要である一方で、部分的かつ非論理的選言的安定モデルのための効率的実装が不足しているという問題に取り組むこと。
- モジュラーで効率的かつ構造を保全する翻訳手法を開発し、デバッグや解析のためのプログラムの直感的解釈を維持すること。
- smodelsをコアエンジンとして用いた実装の妥当性と性能を示し、dlvと比較すること。
提案手法
- まず、部分的安定モデルを全安定モデルに写像する線形的かつモジュラーなプログラム変換を用い、全安定モデルソルバを用いた部分的推論を可能にする。
- 次に、生成・テストアプローチを用いて、非論理的選言的プログラムの全安定モデルを、通常プログラムに還元することで計算する。これによりコアエンジンの効率性を活用する。
- 変換はモularityと構造を保ち、プログラム部品の独立的コンパイルやデバッグが容易になる。
- クエリ翻訳を用いることで、部分的モデル上のクエリ応答をサポートし、全安定モデルエンジンの有用性を拡張する。
- lparseおよびsmodelsとの統合を実装し、非論理的選言的および部分的論理プログラムを処理するための最小限のコード変更で実現する。
- 性能評価には、合成されたQBFインスタンスおよび計画問題を用い、拡張されたシステム(GnT2)をdlvおよびsmodelsと比較する。
実験結果
リサーチクエスチョン
- RQ1部分的安定モデルは、単純で線形的なプログラム変換により、全安定モデルソルバを用いて効果的に捉えることができるか?
- RQ2非論理的選言的安定モデル計算は、効率的かつモジュラーな方法で、通常プログラムの安定モデル計算に還元できるか?
- RQ3得られたシステムは、dlvのような最先端のシステムと同等の性能を達成するか?
- RQ4翻訳はどの程度プログラムの構造を保ち、デバッグおよびクエリ応答を支援するか?
主な発見
- 部分的モデルのための提案された変換は、多項式時間還元を実現し、正しさとモularityを両立させ、全モデルソルバを部分的推論に活用可能にする。
- 非論理的選言的プログラムのための生成・テストアプローチは、QBFに変換する際、探索空間をO(2^v)からO(2^√(v/2))に削減し、スケーラビリティを著しく向上させる。
- 拡張されたシステム(GnT2)は、類似ツールで報告された以前の記録を上回る大きなQBFインスタンス(最大3500変数)を処理でき、性能向上を示した。
- 計画問題においては、GnT2は通常プログラムのsmodelsより2〜4倍遅いが、非論理的選言的推論の追加の複雑さを考慮すると依然として競争力がある。
- 大規模なQBFインスタンスにおいて、GnT2の性能はdlvよりも安定しており、問題サイズの増大に伴いdlvの性能劣化が顕著に顕在した。
- この手法により、非論理的選言的および部分的安定モデル計算のコアエンジンとして、効率的な通常プログラムソルバを活用することが成功裏に実現され、本手法の妥当性と効率性が裏付けられた。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。