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

(15) MGTPにおける推論制御と探索問題への適用

  
研究代表者: 井上 克已 助教授
神戸大学工学部



[目次]

  1. 研究の背景
  2. 研究の目的
  3. 研究内容
  4. 研究体制/研究方法
  5. 想定されるソフトウェア成果

[研究の背景]

 MGTP (Model Generation Theorem Prover) は ICOT において開発されたモデル 生成型定理証明システムである。MGTP はフルの一階述語論理における充足可能性 の判定や、節集合の極小モデルの計算を、ボトムアップ型の前向き推論により行う。 フルの一階述語論理を扱えるという点において、MGTP は Prolog では扱えない non-Horn 節をケース分割により取り扱うことができる。

 ところが、Horn 節によるプログラミング手法が開発され、各種の応用プログラム が書かれている Prolog と比べると、MGTP における non-Horn 節プログラミングの ための技法はまだ十分開発されているとは言えない。

 第1に、MGTP を高速な定理証明器としてではなく、もう一つの重要な側面である、 論理プログラミング分野における選言付論理プログラミング (disjunctive logic programming) のボトムアップ処理系として捉えた場合、各種のプログラミング 技法の整備は必須課題となる。特に、ケース分割により構成される木を用いて、 各種の探索問題が自然に実現できるように、探索方式を整備することが望まれる。

 第2に、定理証明器としての MGTP においても、公平な (fair) 戦略を実装して いるとは現状では言えない。例えば、有限のモデルと無限のモデルを持つような 充足可能である節集合では、探索の仕方によっては無限の枝を探索し続けてしまい、 停止しない状況に陥ることがある。これは MGTP が提供している3つの制御戦略が いずれも深さ優先探索を仮定しているためである。

 第3に、提案者は過去2年間における再委託研究において、MGTP 上でさまざまな 高次推論体系を実現する処理系を開発してきた。MGTP のケース分割による推論に 着目し、選言付論理プログラミング処理系によるモデル生成エンジンとして MGTP を 使用することで、失敗による否定(非単調推論)・アブダクション・アクション言語 などの高次推論処理系を実現している。このような MGTP 上の応用は、MGTP の 有効性を実証したものと捉えることができるが、適用できる問題のクラスには制限が ある。応用においても、組合せ問題の幾つかは解けるが、コストが付く場合の最適化 問題をうまく解くことはできない。例えば、失敗による否定を用いて、与えられた グラフのハミルトン閉路を求めるためのプログラムを書いて MGTP で計算できる。 しかし、この問題においてグラフの各枝にコストが付いた巡回セールスマン問題に 対しては、決定問題・最適化問題ともにうまい解法を実現することはできない。 同様に、アブダクションにおいて実用上必要となる、コスト付きアブダクションや 確率アブダクションなどの計算も、現在の処理系では全解を求めて比較評価する 以外には計算の方法を持っていない。

 このように、MGTP の適用範囲を拡大し、実際の応用問題に使用するためには、 コストや確率に基づいて探索を行う機能が必要となる。


[研究の目的]

 本研究では、MGTP における推論の制御と各種の探索方式の整備を目的とし、 その応用としてコストや確率の情報を持つ組合せ問題や最適化問題などの探索問題 を解くために MGTP に改良を加える。

 上記目的のために、MGTP を使った探索プログラミングの手法を幾つか開発する。 具体的には、問題の表現方式として、コストを付加したコスト付 non-Horn 節を MGTP への入力節のシンタックスとする汎用の論理型プログラミング言語を考える。 探索問題や最適化問題はこのプログラミング言語上で宣言的に記述され、コストが 最小または最大となるモデルを発見することで問題が解けるように、MGTP の推論 方式を拡張する。

 こうしたコストに基づく最適解探索機能を本研究により開発する拡張 MGTP の上で 実現できれば、提案者が開発してきたMGTP 上のアブダクティブ論理プログラミング 処理系 (ALP-MGTP) や、アクション言語処理系 (Action-MGTP) と併合することで、 将来的にはより高度な問題解決が行えるようになると期待される。

 MGTP は既に国際的にもよく知られたモデル生成型の定理証明器であり、かつ 選言付論理プログラミング処理系でもある。本研究の遂行により、その適用範囲は さらに拡大され、MGTP 型探索プログラミング環境が一層整備される。本研究は このように、高度な知識処理システム実現のための知識表現およびプログラミング システムの実現と実用化に大きく寄与するものと考える。


[研究内容]

 本研究においては、MGTP の推論制御機能の充実と探索問題への応用を図る。 研究内容は、以下の流れに沿ったプログラム開発を行う。

(1) MGTP における推論の流れは証明木によって表すことができる。この証明木を 探索する際、既存の MGTP では3つの戦略のいずれもが深さ優先探索によって 探索を進めていくので、証明木が無限長の枝をもつ場合などには停止性が保証 されない。そこで、MGTP の探索戦略を今までの深さ優先探索から、DFID (Depth-First Iterative-Deepning, 反復深化深さ優先) 探索に変更する   ことにより、推論の効率化を図り MGTP の停止性を向上させる。

(2) DFID 探索を用いた応用として、これまでの MGTP では取り扱われていない コストのついた探索問題を解決するために MGTP を拡張する。
拡張 MGTP では、入力節のシンタックスとして、選言肢にコストを付加した コスト付 non-Horn 節を採用し、これを汎用の論理型プログラミング言語と して考える。探索問題や最適化問題はこのプログラミング言語上で宣言的に 記述される。この応用として、最短経路問題を始めとして、巡回セールスマン 問題などのグラフの組合せ最適化問題を解く。

(3) 上記最適化問題を効率良く解くためには、コスト最小(最大)の最適解を発見 できる探索方式を実現するだけでは不十分である。そこで、MGTP 上の推論 制御方式として既に提案してきた Non-Horn Magic Set (NHM) 法(注*)を 併用する。NHM を用いることで、ゴール(目標述語)に関係するボトムアップ 推論のみに絞ることができ、そこで発生するサブゴールに対して、コストに 基づいて BFID (Best-First Iterative-Deepening; 反復深化型最良優先 [仮称]) 探索を行う。BFID 探索は IDA* (Iterative-Deepening A*) のように、DFID 探索 のメモリ効率・停止性と最良優先探索の最適性の両方の利点を兼ね備えた探索 方式として提案する。この探索方式を用いて、ゴールのコストが最小(最大)と なる推論パスを効率良く発見するための拡張 MGTP が整備される。

(4) 提案する方式に基づいて作成したソフトウェアの効率を評価するために、他の システムとの比較実験を行う。

なお、開発する拡張 MGTP は最初は Prolog によりインプリメントする。Prolog を用いる理由は以下の通りである。

(a) これまで提案者の研究室で開発してきた、モデル生成用 MGTP が Prolog で 作られており、この上で NHM, 失敗による否定、アブダクション、アクション 言語処理系がすべて実装されている。またこのためのノウハウを持っている。

(b) Prolog 版 MGTP の需要は KLIC 版に劣らずかなり大きい。
提案者が開発した失敗による否定の処理系は、Prolog 上の処理系同志の比較 対象システムとしてもよく研究で使われている。

(b) KLIC 版 MGTP については、九大グループが開発したものを現在テストして いる。現在 Tcl/tk 機能がうまく動いていないのでしばらく様子を見ている。 余裕があればこちらも試してみる予定である。

(注*)MGTP における探索制御方式としては、負節や問合せ式の情報に基づく トップダウン制御を組み合わせた NHM 方式をすでに以下の論文で提案している。

[1] 荒山 正志,井上 克已.
非ホーン節を含む演繹データベースの問合せ処理の効率化.
情報処理学会論文誌, 37(12):2295--2304, 1996.

[2] 長谷川 隆三,井上 克已,太田 好彦,越村 三幸.
上昇型定理証明の探索効率を高めるノンホーン・マジックセット.
情報処理学会論文誌,38(3):453--461, 1997.

[3] Ryuzo Hasegawa, Katsumi Inoue, Yoshihiko Ohta, and Miyuki Koshimura.
Non-Horn Magic Sets to Incorporate Top-down Inference into Bottom-up Theorem Proving.
In: Proceedings of the Fourteenth International Conference on Automated Deduction (CADE-14), Lecture Notes in Artificial Intelligence, to appear, Springer, 1997.

これらの研究では、MGTP の応用が演繹データベースや定理証明に絞られており、 一般の探索問題に対する解法を与えているわけではない。本研究においては、 NHM も用いながら、コストに基づく BFID 探索の実現を図る。


[研究体制/研究方法]

(1) 研究体制

   氏 名 所  属
研究代表者井上 克已神戸大学工学部
研究協力者羽根田博正神戸大学工学部
研究協力者関山 順一豊橋技術科学大学工学部
研究協力者鍋島 英知豊橋技術科学大学工学部
研究協力者長谷川隆三九州大学大学院システム情報科学研究科


(2) 研究の方法

  提案者は既に、モデル生成に適した Prolog 版 MGTP を開発しており、 その上での NHM 方式を実装したシステムを作成している。本提案で行う 研究開発は、これらの開発成果であるソフトウェアそのものと、開発で 得た経験やノウハウを活かした形で実施される。また学会未発表ながら、 DFID の MGTP への組み込みもそのプロトタイプ版を作成しており、目的 とする探索機能を持つ拡張 MGTP の実現は十分可能であると考える。


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

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

MGTP-BF (MGTP with best-first search;
     最良優先探索機能付 MGTP [仮称])

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

(機能)本ソフトウェアは、MGTP の持つボトムアップ型モデル生成機能 と、non-Horn 節でのケース分割機能を活かして、与えられた探索 問題を効率良く解くためのものである。
本ソフトウェアが対象とする探索問題には以下のものがある。
(a) 定理証明問題
(b) モデル生成問題とその応用
(c) 組合せ問題(コストなし)
(d) コスト付き決定問題・最適化問題
このうち、(a) については、これまで MGTP では停止性が保証されて いなかった問題の一部を扱うことができる。(b) では充足可能な節集合のモデルを有 限の極小モデルに関して計算することができる。
(c) は生成したモデルにより、制約充足問題の解を与える問題であり、各モデルにコ ストを付け、あるコスト以下(以上)のモデルが存在するかどうかの決定問題、およ び最小または最大のコストを持つモデルを生成することで最適化問題を解くものが (d) である。
本システムが対象とする知識ベースは、可能な場合分けを表現するために選言を許し た節集合から構成されるが、各選言肢にはその重みやペナルティや確率を表現するた めのコストが付加されているものとする。問題によっては、解くべきゴールの述語が 指定され、そのリテラルを含むモデルでコスト最小のものを求めることになる。

(役割)本ソフトウェアは、より高度な知識処理を実現する知識ベースシス テムの基礎となる推論制御機構と探索機能を提供している。知識情報 処理システムにとって、探索処理の処理能力はシステムの性能を左右 する大きな要因の一つである。その探索処理の最適化は、実現する システムに依存する形で行われるべきであり、本ソフトウェアでも MGTP のケース分割に適したヒューリスティック探索を実現することで、 MGTP が本来持っている高速性を損なうことなく利用している。
このように、ICOT フリーソフトウェアの主要な成果の一つである MGTP のより効率的な推論方式と、新たな応用方法を提案するという 役割も持っている。

(特徴)MGTP における推論戦略を、従来の深さ優先探索に基づくものから DFID (反復深化深さ優先) 探索に変更したことにより、MGTP の停止 性を向上させている。また、探索問題を宣言的に記述するために、コ ストを持つ一階言語を提供し、これを処理するために MGTP を拡張し ている。さらに、最適化問題を効率良く解くために、Non-Horn Magic Set (NHM) 法を併用して、ゴール(目標述語)に関係するボトムアッ プ推論のみに絞り込み、コストに基づく BFID (反復深化型最良優先) 探索 [仮称] を行う。このようにして、ゴールのコストが最小(最大) となるモデルを効率良く発見することができる。なお、DFID/BFID 探索は問題におけるコストの有無によって切替える。

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

(構成/構造)本ソフトウェアは、以下のモジュールから構成される。
(a) 入力インタフェース: コスト付一階述語論理ノンホーン節集合で表現された 知識ベースを MGTP で扱われる Prolog プログラムとデータ構造に変換するコンパイ ラ。
(b) 推論実行部: 深さ優先探索、DFID 探索、BFID 探索、NHM 法などの探索方式 を持ち、MGTP の前向き推論とケース分割を繰り返し行う。
(c) 出力インタフェース: 得られたモデル集合から、最適な解 (最小または最大 コストを持つモデルまたはリテラル) を取り出し、表示する。このとき最適解のコス ト、解の情報、オプションとして準最適ないくつかの解を表示する。
なお、本システムは、MGTP (Prolog 版) を拡張したソフトウェアであ る。従来の MGTP からの改良点は、上記 (a),(b),(c) に挙げた推論制御・探索方式の 付加、およびそれに関する入出力インタフェースであり、MGTP 自体にもかなりの変更 が加えられる。

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

ALP-MGTP, Action-MGTP (ともに提案者の委託研究成果),MGTP (KLIC 版;検討予定)

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

(動作環境) UNIX ワークステーションまたは PC

(ソフトウェア・パッケージ) SICStus Prolog ver.2.1#9 以上

(ポータビリティ) 特別なユーティリティプログラムは不要なので Prolog が動けばほぼ動作すると予想される

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

約 2,000 KB (数千行)

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

(利用形態)MGTP を使って知識処理を行うときに、推論制御や探索機能に、本ソフト ウェアが提供するものを使って、より柔軟な問題解決を行うことができる。逆に、探 索処理を含む知識処理を、MGTP への入力となる一階述語論理の節形式で宣言的に書く ことで行うことができる。
言い換えれば、non-Horn 節を用いた高級なプログラミング言語が提供され、Prolog に代わって、より効率的でより柔軟かつ自然に探索問題をプログラミングでき、MGTP の高速性を活かして効率よく問題を解くことができる。

(ポイント)定理証明、モデル生成、高次推論、組合せ最適化などの推論や探索を行 わせるために、論理形式で宣言的にプログラムを書いて意図したモデルや最適解を確 認するのに適している。単純なシンタックスであることからAIプログラムのプロト タイピングを行うのにも適している。AIや論理プログラミングの研究者のための研 究用、大学・大学院の学生のための知識プログラミングや推論・探索の教育用、さら に一般に知的システム構築用ツールとして広く使うことができる。

(8)添付予定資料

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


www-admin@icot.or.jp