研究上の成果
ALP処理系の性質
今回開発した「ALP処理系(Prolog 版)」の特徴としては以下の点が挙げられる。 扱うプログラムのクラスの広さ一つの処理系で扱えるプログラムのクラスが過 去に提案されたいかなる手続きよりも広い。最も一般的なクラスである、「ア ブダクティブ選言付き拡張プログラム(abductive extended disjunctive program)」においては、失敗による否定(NAF)とアブダクションのための仮定 可能リテラルを扱えること以外に、従来の論理プログラムにはない、論理否定 (classical negation)とヘッドの選言(disjunction)が記述可能である。すな わち各ルールは、
と表すことができる( は正または負
のリテラルであり仮定可能リテラルであってもよい)。さらに各ルールは値域
限定性の条件の下で変数を含んでいてもよい。不動点意味論に基づくボトムアッ
プ計算MGTPにおける分岐計算のためのプログラム変換の正当性(健全性と完全
性)は、Inoue and Sakamaによる不動点意味論 [1]により保証されている。
モジュラ変換ALP処理系の「一階述語コンパイラ」では、ALPの各ルールに対し て、一つずつMGTP節に変換する。すなわち、変換方式はモジュラ(modular)で ある。これより、プログラムサイズの線形オーダーの時間で変換が可能であり、 変換によるオーバーヘッドが極めて少ない。
ALP処理系の性能評価
まずALP処理系を、アブダクションの例題である論理回路設計問題で評価した ところ、これに関しては所望の結果を得ることができた。次に、NAFの処理速 度を評価するために、最近提案されたベンチマーク問題やグラフ理論のNP完全 問題に適用した。また処理系に最適化を加える前後の結果と、海外で提案され ている他の方式を比較した。
この結果の一部を表1に示す。このプログ ラムは安定モデルを持たない例であり、時間は安定モデルを持たないことがわ かるまでの時間である。表中のConstantsはエルブラン領域の要素の数である。
s(X) <- p(X), q(X). s(X) <- p(X), r(X). s(X) <- q(X), r(X). p(X) <- not q(X). q(X) <- not r(X). r(X) <- not p(X).
比較対象システムは以下の通りである。いずれもアブダクション機能は持たな い。NLPとDLではヘッドの選言も扱えない。DLはReiterのデフォルト論理が扱 える。
DeRes | Cholewinski, Marek,Mikitiuk, and Truszczynski, 1995 | 命題DL |
Smodels | Niemela and Simons, 1995 | 命題NLP |
SLG | Chen and Thone, 1994 | 一階NLP |
Dislog | Seipel and Thone, 1994 | 一階NDP |
ALP(改良前と改良後)の実行時間は、MGTPの戦略IIを用いた時間であり、これ は3つの戦略の中でもっとも高速であった時間である。改良前ではMGTPでの分 岐数が爆発し計算が1時間以内に終了しない(*印)のに対し、改良後では安定 モデルを持つかどうかを判定するのに時間がほとんどかかっていない。これは、 最適化においてNAFについて導入した負節が有効であったためである。また、 他のシステムと比較してもまったく遜色が見られない。
ソフトウェアとしての成果
ソフトウェア構成の概要
ALP処理系のプログラム構成を図1に示す。 ALP処理系は、ALPからMGTPの入力節への変換器である「一階述語コンパイラ」、 推論エンジンとなるモデル生成型定理証明器MGTP、そしてMGTPの出力を処理系 の枠組に変換するモジュールから構成される。このモジュールでは、安定モデ ルや信念モデルの処理に対するものと、問合せや観測への解代入や説明計算の 処理に対するものの2つを用意した。
ソフトウェアの特長
ALP処理系では、ALPの信念集合をボトムアップに計算するほか、 ALPに対する質問応答が可能であり、 与えられた質問に対して条件となる仮説(すなわち説明)を付けて解を返す 「アブダクション機能」を有する。その他の機能もかなり豊富である。 以下に機能をまとめる。
残された課題
今回実現したALP処理系では、安定モデル計算の効率化のための各種の最適化 を行っている。これにより、計算時間の短縮からもかなりの効率化が認められ た。とくにDislogやDeReSなど汎用性のあるシステムと比較すると、かなり良 好な結果が得られた。しかし、その他の専用システム、特にSmodelsやSLGでは、 いくつかの例題において本ALP処理系よりもまだかなり速い結果を出している。 よって、NAFの処理においてさらなる効率化が必要である。
またアブダクションの計算における効率化では、「太田・井上・長谷川・中島」 による、枝刈りルールによる効率化が提案されている。しかしこの方法は Abductive Horn Programに対するものであり、NAFの入ったプログラムについ ては考慮されていない。よってALPに対する枝刈りルールの整備も課題である。
また本システムの推論エンジンであるMGTPのさらなる効率化の必要性も感じら れた。
なお本研究は2年計画のものであり、2年目の計画として予定しているテーマ として、状態変化が記述・推論できるアクション言語の処理系の開発も残され ている。ALP処理系の機能をフルに発揮させるためにも、アクション言語への 応用は必須である。
成果についての自己評価
ALPに対する一階述語コンパイラの変換方式の理論的正当性については保証さ れていたので、今回それを素直にインプリメントした。そして今年度の研究目 標であった「ALPのProlog処理系」が無事実現され、豊富な機能を有し、正し く動作するものが出来た。しかし、1995年以降発表され始めた海外の他のシス テムとの比較に至って、論文通りの実現だけでは限界を感じた。そこで当初予 定よりも大幅に評価・改良に時間を費やすことになった。その結果には概ね満 足している。まだ一部の問題で本ALP処理系のサブシステムよりも速いものが ある以上、改良をさらに続ける必要があると思っている。MGTP本体もまだ改良 の余地は多い。