平成7年度 委託研究ソフトウェアの提案

(8)高度問題解決のための推論プログラムの開発

研究代表者:井上 克已 助教授
      豊橋技術科学大学 工学部 情報工学系




[目次]

  1. 研究の背景
  2. 研究の目的
  3. 研究の内容
  4. ソフトウェア成果


[研究の背景]

人工知能(AI)における重要なテーマの一つに、人間が行う常識的な推論や それを越える高次推論の自動化と高速化が挙げられている。このような不完全 な知識の計算機による処理を目指して、この十年間で論理をベースとした知識 表現の理論研究が大きく発展したが、高次推論の体系の効率的実現のための研 究はほとんどなされておらず、理論と現実とのギャップが大きくなったことが 問題点として挙げられている。

この点に関して提案者は ICOT 在籍時の末期から後継プロジェクトにおけるタ スクグループ活動を通して、モデル生成型定理証明器 MGTP 上でさまざまな高 次推論体系を実現する手法の開発に寄与してきた。とくに、知識の追加により 元の理論の定理が棄却されてしまう推論(非単調推論)や、観測結果からその 原因を説明するために仮説を生成する推論(アブダクション)に関して、理論 的基礎と MGTP による計算手続きを提案した。

また MGTP の観点から言えば、MGTP は定理証明分野における高速なプルーバ としての成果以外に、論理プログラミング分野において、選言付き論理プログ ラミング (disjunctive logic programming) のボトムアップ処理系として国 際的に評価されている。後者における MGTP の側面ではとくに、失敗による否 定 (negation as failure; NAF) の計算のための「井上・越村・長谷川の方法」 が、論理プログラムの安定モデル (stable model) の代表的な計算方式として、 昨年出版された Journal of Logic Programming の10周年記念論文のほか、 多くの研究者により紹介されている。しかしながら、この方式およびアブダク ションの MGTP による計算方式(IJCAI-93 で発表)を実現したソフトウェア に関しては、これまで未整備だったため、IFS としては未だに登録されておら ず、国内外の数多くの研究者からの問合せに対して十分対応できていなかった。

このように、(1) 高速な MGTP の整備が整いつつあり、(2) 非単調推論とアブ ダクションを MGTP で計算させる理論がほぼ整い、(3) 国際的にもプログラム の公開を希望する声が多いことなどから、高次推論プログラムを整理してソフ トウェアとして提供する必要性は非常に大きいといえる。

さらに、提案者の最新の研究では、ダイナミックに環境や知識が変化する問題 領域においては、信念や状態の変化を伴う推論方式について、上記の非単調推 論やアブダクションを応用することで取り扱うことができることがわかってき た。したがって、上記の高次推論に加えてこうした高度な知識表現をサポート する言語を処理するプログラムも MGTP 上で実現できるのではないかと考えら れる。


[研究の目的]

本研究においては、これまでの提案者の研究成果をさらに拡張し、高次推論の より効率的な手続きを確立し、高次推論の真の実用化に寄与することを目的と する。

これまでに得られた結果の拡張としては、アブダクションと非単調推論の自然 な統一を目指す。このために、アブダクティブ論理プログラミング(Abductive Logic Programming; 以下 ALP と記す)の処理系を MGTP 上に実現する。ALP は Imperial College の Kowalski 教授のグループにより提案され、デフォル トの否定である NAF 以外に、アブダクションのための仮説を導入することが できるもので、非単調推論とアブダクションを同時に扱うことができる論理プ ログラミングの拡張されたクラスである。ALP の計算手続きとしてはまだ限定 されたクラスに対するものしか存在していないが、MGTP のボトムアップ計算 の特徴を活かせば、かなり広いクラスに対して健全かつ完全な手続きを得るこ とができる。しかもこの ALP の処理系を作ることで、NAF およびアブダクショ ンの MGTP 上での計算プログラムを同時に提供することができ、したがってこ れまでからの国内外からの希望にも答えることができる。

また本研究では新たな技術として、状態変化が記述できる言語(これをアクショ ン言語と呼ぶ)の処理系を MGTP 上に実現することも目指す。状態変化を扱う ことはAIにとって古典的な問題であり、かなり古くから研究されてきたが、 最近ロボット・プランニングなどでも脚光を浴びている。この問題に正面から 取り組もうとすると、非単調推論やアブダクションの技術が必要になる。した がって上記 ALP 処理系の応用プログラムとして、あるいはさらなる発展系と して、こうしたアクション言語を実現させることを目標とする。


[研究の内容]

高度問題解決のための推論プログラムを開発するにあたり、以下の開発研究を 実施する。
[1] ALP 処理系(Prolog 版)の作成
(a) 失敗による否定 (NAF) の計算の MGTP 上での実現
(b) アブダクションの計算の MGTP 上での実現
(c) (a) と (b) の自然な結合により ALP の計算を MGTP 上で実現
(d) (c) の効率化の検討と改良
[2] ALP 処理系(KLIC 版)の作成
[3] アクション言語処理系(Prolog 版)の作成
(a) アクション言語の ALP 処理系 [1] 上での実現
(b) アクション言語の MGTP 上での実現と改良
[4] アクション言語処理系(KLIC 版)の作成

まず、[1],[3] で Prolog 版を作る理由は、海外の研究者からの問合せが Prolog プログラムを望むものが多いということ、学生へのプログラミング教 育が Prolog から始められること、などによる。

[1a] では、「井上・越村・長谷川」の方式に基づき、NAF を含む論理プログ ラムである一般論理プログラム、選言付き論理プログラム、拡張論理プログラ ム、選言付き拡張プログラムなどのクラスにおける安定モデルあるいは解集合 (answer set) を求める手続きをインプリメントする。これは各種のプログラ ムを MGTP の入力節へ変換するような「一階述語コンパイラ」により行われ、 MGTP 上のボトムアップなモデル生成を通して得られたモデルを解集合の形に 戻す方式で行う。

[1b] では、アブダクションを行うための(NAF を含まない)プログラムを Skip 方式と呼ばれる変換方式により MGTP の入力節に変換する。したがって これも一階述語論理へのコンパイラの作成が中心になる。

[1c] で NAF とアブダクションを同時に変換するが、これは一階述語コンパイ ラの拡張であり、上記2つのソフトウェアを融合したものとなる。

[1d] の効率化では、マジックセット法などの技術の導入により、トップダウ ン的探索とボトムアップ的探索を融合する。

[2] では [1] のように a,b,c とは分けずに、[1] で得られたソフトウェアを 直接 KL1 で書き換える。

[3a] ではアクション言語をまず ALP の形に変換し、[1] の ALP 処理系上で 実行させる。ここでは非単調な常識規則である慣性の法則(law of inertia) を NAF を使ったルールで表現し、ある状態におけるある性質の推定をアブダ クションで表現する。ALP においてアクションの表現は McCarthy and Hayes の状況計算(situation calculus)の形式を踏襲し、アクションの列はリスト により表現する。

[3b] では ALP の表現形式を介さずに直接 MGTP の入力節に変換することで高 速化を図る。

[4] では [3] の KL1 による書き換えを行う。

以上のように、各種の高次推論体系から MGTP の入力節となる一階述語論理へ のコンパイラを作成し、MGTP 上でボトムアップ計算を行うという、共通した 手法を用いていることが、本研究の特徴である。すなわち、プログラミング技 法としては、MGTP 節への変換を変形させることで、さまざまな知識表現が扱 えることに本研究の汎用性がある。

このようにして、従来の一階述語論理上の演繹推論を越える論理体系に対する、 より効率的で新規的な手法が示される。

[ソフトウェア成果]

(1)作成されるソフトウェア名称
[1] 1年目終了時
[1-a] ALP-MGTP: アブダクティブ論理プログラムの処理系 (Prolog 版)
(Bottom-up Proof Procedure for Abductive Logic Programming with MGTP --Prolog Version)
[2] 2年目終了時
[2-a] ALP-MGTP: アブダクティブ論理プログラムの処理系 (KLIC 版)
(Bottom-up Proof Procedure for Abductive Logic Programming with MGTP --KLIC Version)
[2-b] Action-MGTP: アクション言語の処理系 (Prolog/KLIC 版)
(Bottom-up Proof Procedure for Action Language with MGTP)

(2)そのソフトウェアの機能/役割/特徴

[1-a] ALP-MGTP: アブダクティブ論理プログラムの処理系 (Prolog 版)
(機能) ALP の信念集合をボトムアップに計算する。この信念集合は ALP に記述されたデフォルト式や仮説生成を含む、もっとも好ましい可能世界 に対応したモデルである。また ALP に対する質問応答が可能であり、与えら れた質問に対して条件となる仮説を付けて解を返す。
(役割) ALP を「井上・越村・長谷川方式」、Skip 方式、ならびにそ れらの結合方式に従って、一階述語論理式に変換し、この変換式を MGTP への 入力としモデル構築を行う。ある観測式の説明を求めるアブダクション機能も 同様にして MGTP 上の処理に変換し、その結果を逆変換することで、ユーザに 説明を提示する。
(特徴) ALP は失敗による否定 (NAF) と仮説を同時に記述できる論理 プログラムの拡張クラスであり、論理プログラミング分野においては、その知 識表現言語としての機能の高さから、現在非常に注目されている。また最も広 いクラスにおいては、論理否定や選言も記述可能である。本ソフトウェアは、 このようにアブダクションと非単調推論(デフォルト推論)を同時に行える言語 の処理系である。これまでに ALP の部分的なクラスにおいては、トップダウ ン処理系が提案されているが非効率であった。本ソフトウェアはボトムアップ 方式であるため、選言を含むすべての有限なクラスに適用可能であり、また MGTP の高速性と、その上でのノンホーン・マジックセット法が使えるため、 効率的な ALP 処理系が実現される。
[2-a] ALP-MGTP: アブダクティブ論理プログラムの処理系 (KLIC 版)
上記 [1-a] ALP-MGTP (Prolog 版) の KLIC verison である。
[2-b] Action-MGTP: アクション言語の処理系 (Prolog/KLIC 版)
(機能) 状態変化が記述可能であるアクション言語で記述された知識ベー スに対し、さまざまな質問応答を可能にする。この言語上では、フレーム問題 に対する慣性の法則などの常識規則が記述でき、さらにプランニング問題も解 ける。
(役割) アクション言語で書かれた問題領域知識を、MGTP の入力節集 合にコンパイルする。アクション言語上の知識ベースに対する質問応答もMGTP への入力に変換され、後処理として MGTP での結果をアクション言語に翻訳し ユーザに提示する。
(特徴) 更新操作などにより動的に変化する知識ベースや、アクション 実行によって状態が変化する問題領域を扱うための宣言的言語の処理系である。 過去の計画プログラムとの違いは、フレーム問題を扱えること、論理プログラ ミングの枠内で計算すること、すべての問題領域知識が宣言的に記述されるた めに知識の見通しが非常によいこと、などが挙げられる。この形式においては、 フレーム問題に対して慣性の常識則で対処するため、非単調推論を実現しなけ ればならず、上記 ALP-MGTP の技術を活かすことで効率良い処理系が実現され る。


www-admin@icot.or.jp