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

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

研究代表者:井上克已 助教授
      豊橋技術科学大学工学部
     (現・神戸大学 工学部電気電子工学科 助教授)




−アクション言語処理系の開発−

[目次]

  1. 研究体制
  2. 2年目の研究内容
  3. 想定されるソフトウェア成果

[研究体制]

       氏名        所属
研究代表者 井上 克已  豊橋技術科学大学工学部情報工学系助教授
          (現・神戸大学 工学部電気電子工学科 助教授)
研究協力者 山本 友和  豊橋技術科学大学大学院工学研究科情報工学専攻M2
研究協力者 鍋島 英知  豊橋技術科学大学大学院工学研究科情報工学専攻M1
研究協力者 佐藤 貴之  豊橋技術科学大学工学部情報工学課程B4
研究協力者 長谷川隆三  九州大学大学院システム情報科学研究科教授


[2年目の研究内容]

2年目の研究では、状態変化が記述できる言語(これをアクション言語と呼ぶ) の処理系を MGTP 上に実現することを目指す。また、1年目の研究成果である ALP 処理系についても、さらなる高速化と最適化のためにversion up を行な うが、これも本研究の一部とする。

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

研究の実施方法は以下の通りである。

[1] アクション言語処理系の ALP 処理系(Prolog 版)上での実現
[2] MGTP 上の ALP 処理系の高速化
[3] [2] を用いたアクション言語処理系の高速化
[4] 報告書、ソフトウェア、マニュアル等の整備

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

[2] の ALP 処理系の効率化では、1年目に開発した処理系のさらなる高速 化を行なう。具体的には、アブダクションの高速化(マジックセット法などの 技術の導入)や、NAF 計算における探索木の枝刈り、KLIC 版のMGTP の使用な どを考えている。

[3] では、[2] で高速化した ALP 処理系を用いて、[1] のアクション 言語処理系を高速化する。

[4] では、アクション言語処理系のマニュアルや説明書を整備する。

なお、当初の2年計画時における2年目の計画から、今回の計画における変更 点は次の通りである:

「当初は KLIC 版 ALP 処理系、Prolog 版アクション言語処理系、KLIC 版アクション言語処理系の3処理系を、2年目のアウトプットに予定していた。 今回もこれらの処理系の整備を目標とするが、KLIC 版に関しては、KLIC 版 MGTP がうまく行くかどうかを慎重にテストする必要があるため、上の [2] の高速化の一手段としての検討にとどめている。もし KLIC 版で十分な性能が 得られれば、最終的に提供するソフトウェアとしては、KLIC 版アクション言 語処理系という形を取ることになる。要するに、3処理系に分けて考えずに、 最も性能の良いものを提供する。」

[想定されるソフトウェア成果]

(1)作成されるソフトウェア名称

[a] ALP-MGTP: アブダクティブ論理プログラムの処理系 (改良版)

(Bottom-up Abductive Logic Programming System with MGTP)

[b] Action-MGTP: アクション言語の処理系
(Bottom-up Proof Procedure for Action Language with MGTP)

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

[a] ALP-MGTP: アブダクティブ論理プログラムの処理系 (改良版)

1年目の成果である MGTP を用いた ALP 処理系の改良版である。よって 機能、役割ともに1年目の成果物と同じである。

(機能) ALP の信念集合をボトムアップに計算する。この信念集合はALP に記述されたデフォルト式や仮説生成を含む、もっとも好ましい可能世界に対 応したモデルである。また ALP に対する質問応答が可能であり、与えられた 質問に対して条件となる仮説を付けて解を返す。

(役割) ALP を NAF の計算方法となる「井上・越村・長谷川方式」、ア ブダクションの計算方法となる Skip 方式、ならびにそれらの結合方式に従っ て、一階述語論理式に変換し、この変換式を MGTP への入力としモデル構築を 行う。ある観測式の説明を求めるアブダクション機能も同様にして MGTP 上の 処理に変換し、その結果を逆変換することで、ユーザに説明を提示する。

(特徴) ALP は失敗による否定 (NAF) と仮説を同時に記述できる論理プロ グラムの拡張クラスであり、論理プログラミング分野においては、その知識表 現言語としての機能の高さにより、現在非常に期待されている。また最も広い クラスにおいては、論理否定や選言も記述可能である。本ソフトウェアは、こ のようにアブダクションと非単調推論(デフォルト推論)を同時に行える言語 の処理系である。本ソフトウェアはボトムアップ方式であるため、選言を含む すべての有限なクラスに適用可能であり、また MGTP の高速性を利用して、効 率的な ALP 処理系が実現されている。

[b] Action-MGTP: アクション言語の処理系

(機能) 状態変化が記述可能であるアクション言語で記述された知識ベー スに対し、さまざまな質問応答を可能にする。この言語上では、フレーム問題 に対する慣性の法則などの常識規則が記述でき、さらにプランニング問題も解 ける。

(役割) アクション言語で書かれた問題領域知識を、MGTP の入力節集合に コンパイルする。アクション言語上の知識ベースに対する質問応答もMGTP へ の入力に変換され、後処理として MGTP での結果をアクション言語に翻訳しユー ザに提示する。

(特徴) 更新操作などにより動的に変化する知識ベースや、アクション実 行によって状態が変化する問題領域を扱うための宣言的言語の処理系である。 過去の計画プログラムとの違いは、フレーム問題を扱えること、論理プログラ ミングの枠内で計算すること、すべての問題領域知識が宣言的に記述されるた めに知識の見通しが非常によいこと、などが挙げられる。この形式においては、 フレーム問題に対して慣性の常識則で対処するため、非単調推論を実現しなけ ればならず、上記 ALP-MGTP の技術を活かすことで効率良い処理系が実現され る。

(3)ソフトウェアの構成/構造

[a] ALP-MGTP: アブダクティブ論理プログラムの処理系 (改良版)

(構成)本システムは、1年目に開発した ALP-MGTP を高速化したソフトウェ アである。改良点は、アブダクションに対する高速化(枝刈りルールの導入、 ゴール情報の伝播等)や、MGTP の高速化(KLIC 版の使用等)、さらに NAF に関して層状論理プログラムの否定計算の高速化等の技術を取り入れ、高速化 を図る予定である。

[b] Action-MGTP: アクション言語の処理系
(構成)本システムは MGTP を推論エンジンとして利用することで アク ション言語を実現するものである。ソフトウェアはアクション言語から ALP-MGTP への入力節への変換器である Action モジュール(一階述語コンパ イラ)、モデル生成型定理証明器 MGTP、および MGTP からの結果をアクショ ン言語に翻訳するプログラムとからなる。なお、ソフトウェアには例題やマニュ アルも付加する。

(4)参考とされたICOTフリーソフトウェアとの関連

[a] ALP-MGTP (改良版), [b] Action-MGTP ともに:

ALP-MGTP (1年目の成果物), KLIC (予定), MGTP (KLIC 版予定)

(5)使用予定言語および動作環境/必要とされるソフトウェア・パッ ケージ/ポータビリティなど

[a] ALP-MGTP (改良版), [b] Action-MGTP ともに:

(Prolog 版) SICStus Prolog 2.1#9
特別なユーティリティプログラムは使用しない。
Prolog のインタプリタ・コンパイラで動作。
(KLIC 版; 予定) KLIC, UNIX

(6)ソフトウェアの予想サイズ(新規作成分の行数)

[a] ALP-MGTP (改良版):  約 1,500 KB (新規分約 1,000 行)
[b] Action-MGTP :     約 1,700 KB (新規分約 3,000 行)

以上マニュアルと例題を含む。

(7)ソフトウェアの利用形態

[a] ALP-MGTP (改良版)

(利用形態) ALP のシンタックスでプログラムを書くことで、問合せ評価や信念 モデル集合の計算が可能である。ALP のシンタックスは Prolog に準拠した形 態になる。Prolog との違いはホーン節に限らず、ノンホーン節(ヘッドの選 言)、統合的制約、仮説アトムの宣言などの拡張節が記述可能なことである。 問合せ式の書き方は Prolog に準ずるが、答の形式は仮説集合付きで返される。 またいくつかのユーティリティ述語により、モデル集合の計算などの付加機能 をサポートする。
(ポイント) アブダクションや非単調推論を行わせるために、ALP を書いてその 意図したモデルを確認するのに適している。単純なシンタックスであることか ら ALP を使ってAIプログラムのプロトタイピングを行うのに非常に適して いる。AIや論理プログラミングの研究者のための研究用、大学・大学院の学 生のためのアブダクションや非単調推論の教育用、らに一般に知的システム構 築用ツールとして広く使うことができる。

[b] Action-MGTP
(利用形態) アクション言語で書いたプログラムに対して、あるアクション列の 実行後に成立する性質についての問合せや、ある性質を成立させるために必要 なアクション列の計算(すなわちプランニング)が可能である。言語のシンタッ クス は Prolog よりさらに高級なレベルで記述され、前提条件・アクション・ 効果の3つ組で各アクションルールを表現し、状態記述や制約と合わせて問題 領域を表現する。
(ポイント) アクション言語のシンタックスは ALP よりさらに簡単であり、知識 ベースの更新操作やロボットの動作、さらにオートマトンや計算機科学の基礎 も含むような、ダイナミック に状態が遷移する問題領域を記述するのに適し ている。また、常識ルールの慣性の法則は暗黙的に適用されるため、アクショ ンプログラムには意識して含める必要はない。さらに、非決定性を持つアクショ ンや並行実行アクションなどの最新の研究トピックスも可能な限りカバーして 行く予定である。AIや論理プログラミングの研究者や学生のための教育研究 用を始め、ロボット・プログラミングのプロトタイプシステム作成などにも広 く利用することができる。

(8)添付予定資料

基礎解説書(推論方式の原理等研究内容の説明を含む)、
ソフトウェア仕様書兼ユーザマニュアル。


www-admin@icot.or.jp