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

(7) 汎用並列マシン上のMGTPと高度推論機構の開発

研究代表者:長谷川 隆三 教授
      九州大学大学院 システム情報科学研究科



[目次]

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

[研究の背景]

平成7、8年度AITEC委託研究「KLIC上のMGTP処理系」において、自動推論シス テムMGTPをKLIC上に構築し、MGTPをUNIX上で利用できる環境を整備し、第五世代 コンピュータプロジェクト技術の普及を図ってきた。
この委託研究では、それまでにPIM上で稼働していたMGTPシステムをKLICに移植 し可搬性を高めるとともに、逐次マシン上での効率的な実装を念頭にMGTPの開発 を行った。また、冗長な推論を極力抑えるために、ノンホーンマジックセット (NHM)や補題生成による探索空間の削減手法を採り入れ、その効果を実証した。 このような逐次マシンを対象とした研究開発とは別に、PIMの耐用年数と並列版 の普及という点を考慮してMGTPの並列化を並列UNIXマシンを用いて検討してきた 。そこで明らかになったのは、PVMを利用して従来の細粒度並列化を行った場合 には、PIMに匹敵するしうる並列性能は得られない、ということである。このよ うに並列版の普及という点のみならず総合性能向上という点でも、PIM/m上で開 発してきたMGTPの並列化技術を踏まえた、市販の汎用並列マシン上での並列化 技術の開発が必要になってきている。
一方、推論システムとしてのMGTPの応用として、様々な論理(失敗による否定 (NAF)、様相論理、アブダクションなど)をMGTPの上で扱うための拡張が行われ てきている。これらは、いずれもMGTPをメタプログラミングシステムとして動作 させるという方法に基づいている。通常この方式で問題となるオーバヘッドにつ いても、MGTPの場合比較的小さいため(2〜3倍程度)、重大な障害とはなって いない。むしろ、問題記述が極めて簡易であるなど、実用的なメリットが認めら れ、法的推論や組合せ最適化問題における探索など、メタ的な推論を必要とする 分野への適用の期待が高まっている。


[研究の目的]

上記背景のもと本研究では、主として以下の項目i、ii、iiiに関する研究開発 を行う。
  1. 汎用並列マシン上のMGTP:汎用並列マシン上での並列実装方式の確立を目 指す。 並列環境下においては、プロセッサ間通信をできる限り抑えることが重要な課 題である。特に、通信速度がCPU速度に比べ相対的にPIM/mより遅い汎用並列マ シンでは、この問題が顕在化する可能性がある。この課題を解決するため、動 的かつ最適なプロセッサ割り当て方式を設計し、実装を行う。

  2. MGTPの高度推論機構:各種知識処理システムで使用される推論機構を効率 よくMGTP上で実装する方式を確立し、知識プログラミングシステムとしての機能 充実を図る。また、MGTPにおける探索制御手法とヒューリスティクス導入手法を 検討し、これらをMGTPに組み込む方式を開発する。本研究の対象分野としては、 法的推論、データベース探索、組合せ最適化問題、制約充足問題などを念頭に おいている。

  3. MGTPのGUIシステム:MGTPの普及促進を図るため、WWWブラウザを利用した MGTPのGUI(Graphical User Interface)システムを作成する。これによって、プラ ットホームを選ばないネットワーク透過なGUIシステムを構築し、MGTPの利便 性を高める。


[研究内容]

  1. 汎用並列マシン上のMGTP並列化

    従来、MGTPのOR並列化に関して、図(a)に示すようなPEを循環割り付けする方 式がPIM上で採用され、簡易な割に(通信を含めた見かけ上の)稼働率が高く、 幅優先探索に適しているなどのメリットもあった。この方式は分岐サブタスク が生じた時点でただちにほかのPEに投げる、というものであり、確率的割り付 け方式などの方式も同じ原理に基づいている。 しかしながら、これらは、プロセッサ間通信のコストに対する配慮がなされて おらず、最悪の場合、MGTP証明木のノード数に比例した通信量が生じる。これ は、UNIXマシンの分散環境をサポートするPVMシステム上においては、著しい 性能劣化(2桁以上の速度低下)を引き起こし、事実上、並列分散化を不可能 なものにしている。
    (a)循環割り付け   (b)N逐次割り付け   (c)N逐次タスクスタック

    この問題を解決するために、図(b)に示すように逐次アルゴリズムを使用PE台数 に応じてN本並行動作させる、N逐次方式と呼ぶ方式を考案した。この方式は、 サブタスクの発生時点ではなく、暇なPEからの要求があったときのみタスクを 投げ、各PEでは深さ優先探索を行うことを特徴とする。
    図(a)は、使用PE数が3の場合の、循環割り付けによるタスクの割当を示してい る。木の各枝は、MGTPにおける探索枝を表しており、ノードに付けられた番号 はそのノードの探索を割り当てられたPEの番号を表す。一つの(親)ノードか ら分岐する三つのノードの内、再左子ノードは親ノードと同じPEに割り当てら れるが、その他の子ノードは、循環的に割り当てられる。
    一方、図(b)のN逐次方式では、まず、1番PEが親ノードに割り付けられる。三 つの子ノードが生じると、最左子ノードを引続き1番PEが実行する。ここで、 2、3番PEからのタスク分与要求があれば、残りの子ノードがそれぞれのPEに 割り付けられる。その後、各PEではそれぞれ担当したノード以下を深さ優先的 に処理することに専念し、通信はしばらく起こらない。そして、いずれかのPE が先に受け持ちタスクを完了したときは、ほかのPEにタスクの分与を要求する ことにより、負荷の分散を図る。
    各PEは、図(c)のようなタスクスタックを一つずつ保持する。こうして、各PEは サブタスクが生じたとき自スタックにこれを一旦pushし、現在処理中のタスク を完了後にpop-topして残りを処理するという逐次的処理を行う。一方、他PEか らのタスク分与要求に対しては、スタックの底からpop-bottomによってタスク を取り出して与える。
    すでに我々は、このN逐次方式をPIM上のMGTPに対して実験的に実装し、Loveland の例題(SYN009-1)において、従来の循環割り付け方式では2万回近く要していた タスク割当回数を100回程度に削減できることを確認している。
    本研究においては、共有メモリ/分散メモリ型の汎用並列マシン上におけるN逐 次方式の実装とその評価検討を行い、効率的な並列分散化方式を確立することを 目的とする。本方式は、MGTP以外にも適用可能であり、知的バックトラックのよ うな逐次性の強いアルゴリズムの並列化に特に適していることから、一般の知識 処理プログラムに対する汎用の並列分散化機構を提供することを目指す。

  2. MGTP上に各種推論システムを構築するための機構

    本研究では、以下に述べるような推論機能・機構をMGTPに導入することを検討す る。

    (a) ルール間優先順位に基づく推論機構:法的推論における論証では、いわゆる法 律の条文を形式化した規則と、個々の事例における事実が一階述語論理の範囲 で記述されるほか、規則間に優先順位が設けられ、これに基づいて複数の論証 の間での優劣が問題にされることがある。たとえば、

    r1 (X): t(X) → u(X).
    r2 (X): t(X) → ¬u(X).
    f1: true → t(a)

    というMG節集合は充足不能であるが、

    p1 (X) : t(X) → r1 (X)>r2(X).

    という優先規則(r1 (X)>r2(X) は、ルールr1(X)r2 (X) に優先されることを表す)が追加されていれば、 A:{t(a),u(a)}なるモデルがあって充足可能となる。 p1(X) の代わりに

    p2(X): t(X) → r1(X)<r 2(X).

    なら、B:{t(a),¬u(a)} なるモデルがある。見方を変えると、優先規則がない場合、 A,Bの対立する帰結集合が矛盾して全体として一定の結論が得られないのだが、 優先規則が加わると、A,Bの間に優劣が定まり、全体としては優位な方の帰結 を選ぶことができる、ということである。
    法的推論においては、対立するA,Bの論証がそれぞれある規則と事実の集合に 基づいてなされるとき、AとBとで使われた規則の優先順位によって勝負を判定 する、という具合に用いられる。
    ここでは一つの実装方式として、MGTP上でNAFを実現する際に用いられた技法 の適用が考えられる。たとえば、規則 r1(X),r2(X) に優先順位が与えられる可能性がある場合、

    p(X) → Kr1 (X);Kr2(X)

    のように、予め r1(X) を適用可能とする場合と r2(X) を適用可能とする場合に場合分けを行うような規則を導入する。 Kr1(X) の場合の論証課程で、 rn(X)>r1(X) のような優先順位が実際に加えられると、この論証は成立しない(勝てない)ことが わかる。これは、

    KR(X),R'(X)>R(X) → false.

    のようなスキーマによりモデル候補を棄却することで実現される。このような、 MGTP実行時における論証検査機構の実装のほか、静的に定まる規則間優先順位 を予め適切なMGTP入力節で表現しておく(コンパイルする)ための記述変換ツ ールの実装についても検討を行う。

    
    
    (b) 探索制御機能の拡張:組み合わせ最適化問題や、一般の探索問題などを扱う 際、解の候補を動的に選別/棄却する等の機能が不可欠である。このため、MGTP に対して、(イ)個別に探索される複数の解候補(モデル候補)を比較するため、 枝分かれの際に各分枝に評価値を付与する機構、(ロ)モデル候補間の通信機 構、(ハ)評価関数に基づくモデル候補棄却規則の導入、などの拡張を行う。 これらの機能の組み合わせにより、α-β法などのアルゴリズミックな探索技 法の記述を行うことができるようになる。

    (c) ヒューリスティック探索の機構:上記、探索制御のほか、遺伝的アルゴリズム (GA)の手法の導入を検討する。我々は、GAの計算機構が、MGTPと同様に閉包計 算を基本とするという点にまず着目した。
    ただし、我々は、一般の定理証明システムにおいて従来アドホックに行われて いた証明探索技法(項に対する重みづけと、それに基づく削除/整列化戦略な ど)を、より系統的に扱うことを目的としており、その枠組としてMGTPの推論 機構自体との相性が良さそうなGAを導入するのである。
    具体的には、たとえば、MGTPのモデル候補中の帰結アトムを個体とみなし、こ れに対する、(1)染色体、遺伝子のデザイン、(2)交配、突然変異の定義、(3) 適応度関数の定義、をユーザが与えるものとする。これらは、所与の問題の意 味を良く理解しているユーザが、MGTPの試行を通じて得ることのできる「解へ の近さ」に関する直観をコーディングし、これに基づいて探索を絞り込むため の機構を(あくまでヒューリスティックではあるが)形式化したものにほかな らない。
    我々は、定理証明のベンチマークであるTPTP問題集から、condensed detachment と呼ばれるクラスの問題を選び、すでにいくつかの予備実験を行っている。そ の結果、極めて簡単な遺伝子設計と適応度関数を与えた場合でも、半数あまり の例題で、これまで有効とされていたアドホックな探索技法より短い証明が得 られた。
    本研究では、より複雑な遺伝子コーディング設計のための支援(たとえば、ア トムではなくモデル候補を個体とみなす、など)、を検討し、MGTPへの付加モ ジュールおよび支援ツールの開発を行う。

  3. MGTPのGUIシステム

    現在あるMGTPウインドウマネージャ(Tcl/Tkで記述)をベースとして、WWWブラ ウザで稼働するMGTPのGUIシステムを開発する。本システムは、(1)問題の入力 (テキストによる入力、ファイル名による指定)、(2)MGTPの起動/実行中断/ 実行再開、(3)各種オプション指定(KLIC-MGTPが提供する諸機能の他、今回作成 するルール間優先順位機能、探索制御機能、並列分散化機能、ヒューリスティ ック探索機能などを利用するか否か)、(4)推論の説明や冗長推論の除去、など の機能を有する。(4)については、推論過程を記号的にトレースする機能や推論 図などによる図的表示機能を実装する。
    また、本システムを利用してMGTPのホームページを作成する。ホームページで は、MGTPの宣伝・配布・普及を行うが、GUIシステムを用いてホームページ上で MGTPを利用できる環境を提供する。これによって、利用者はMGTPを試用してか らダウンロードすることもできるようになる。


[研究体制/研究方法]

(1) 研究体制

   氏 名 所  属
研究代表者長谷川隆三九州大学大学院システム情報科学研究科
研究協力者藤田博九州大学大学院システム情報科学研究科
研究協力者越村三幸九州大学大学院システム情報科学研究科
研究協力者井上勝二九州大学大学院システム情報科学研究科
研究協力者高井真志九州大学大学院システム情報科学研究科
研究協力者中田健浩九州大学大学院システム情報科学研究科
研究協力者中山英俊九州大学大学院システム情報科学研究科
研究協力者永重務九州大学大学院システム情報科学研究科
研究協力者新田克己東京工業大学
研究協力者井上克已神戸大学工学部


(2) 研究の方法

実装・開発については九大のメンバーを中心に進めるが、法的推論への適用や探索 制御については、新田先生、井上先生と適宜連絡をとりながら研究開発を進める。 また、年2回程度、全員が集まるミーティングを予定している。


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

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

並列メタ推論システムMGTP

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

本研究で開発されるソフトウェア群と既存のソフトウェア群を結合したMGTP処理 系を総称して「並列メタ推論システムMGTP(仮称)」と呼ぶことにする。本シス テムは、一階論理式の充足可能性判定、及び充足可能な場合には、そのモデルを 枚挙する(MGTPの)基本的な機能の他に次のような機能・特徴を有する。

(1)並列分散化機能:深さ優先探索を行う逐次アルゴリズムを使用PE台数分走行 させることにより通信量を大幅に削減し、汎用並列マシン上でのMGTPの高速実行 を行う機能。知的バックトラックやフォールディングアップといった逐次実行で 探索空間削減の効果のある機構に対しても、その効果を保持しつつ並列化を可能 とする。

(2)ルール間優先順位に基づく推論機能:ルール間に導入された優先度に基づい て推論を行う機能。ルールAがBより優先度が高い場合、一つの論証でAとBの両方 が用いられることはなく、Aが用いられる論証ではBは用いられない。これにより 論証間の優劣を判定することができ、法的推論などで必要とされる論駁が可能と なる。

(3)探索制御機能:解の候補を動的に選別/棄却するためのモデル候補間通信や 解の評価関数の記述に基づく探索制御を行う機能。これによって、α-β法や mini-max法などのアルゴリズミックな探索制御が可能となる。

(4)ヒューリスティック探索機能:MGTPのモデル探索過程にGA的ヒューリスティ ック探索制御を導入し、準最適解(モデル候補)を求める機能。解空間の生成は MGTP入力節で与え、準最適解の探索制御はGAに基づく。ユーザはGAの枠組(遺伝 子のデザインや交配などの定義)を用いて、探索ヒューリスティクスを指示する。

(5)GUI機能:前提やルールを対話的に追加・削除したり、推論を一時中断/再開 する機能。これによって対話的推論が可能となる。また、論理的帰結に至った推 論過程を説明する機能や帰結に関連しない(冗長な)推論を削除する機能も有す る。

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

本システムは、推論部とGUI部の二つの部分からなる。上記(2)で述べた機能の内、 推論部は基本機能と(1)〜(4)の機能を、GUI部は(5)の機能を提供する。GUI部は、 ユーザからの指示を内部データに変換し、推論部に渡す。この指示に基づいて推 論部で推論が行われる。推論結果は、GUI部を通してユーザに表示される(図1 参照)。

図1:ソフトウェアの構成

  1. 推論部

    推論部は、図の右側の箱で示されるように幾つかのモジュールから構成される。 下の破線の箱の部分が基本となる部分で、これは、既に作成済みのツール群から なる。これと上の実線の箱の部分の新規作成モジュールとの組合せによって各種 機能を実現する。

    (a)既作成ソフトウェア
     MGTP基本推論部が推論部の核となる部分である。この 部分は、新規作成モジュールと結合することにより、新しい機能を付加できるよ うに変更する。既作成ソフトウェアで変更が必要なのはこの部分だけである。前 処理部(節変換部、NHM変換部)は、一つのコマンドとして提供され、項メモリ部 と補題生成部は、推論高速化のために基本推論部で使われており、適宜新規作成 モジュールからも利用される。

    (b)新規作成モジュール
    並列分散化モジュール、ルール間優先推論モジュー ル、探索制御モジュール、ヒューリスティック探索モジュール、からなる。並列 分散化モジュールの使用によって、共有メモリ・分散メモリのアーキテクチャの 違いは吸収され、推論部はこれに関知しなくてすむ。このモジュールだけMGTPか ら切り離しての利用が可能で、他のソフトウェアからも並列分散化ユーティリティ として利用できる。

  2. GUI部 枠組としてWWWブラウザを利用して、システムを作成する。ユーザからのルール の入力/削除や探索戦略の指示などを受け持つ入力部と推論結果や推論図を表示 する表示部からなる。


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

「KLIC上のMGTP処理系」をベースに開発を進める。

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

推論部についてはKLICを主に用いる。GUI部についてはHTMLおよびJAVAを用いる。 推論部はKLICが稼働する環境、GUI部はJAVA機能付きWWWブラウザが稼働する環境 、で利用できる。

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

7K行

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

利用の仕方には、二通りの方法が考えられる。一つは、WWWブラウザを利用して MGTPのホームページにリモートアクセスし、そのホームページのあるマシン上で MGTPを走行させるもの、もう一つは、ユーザサイトのマシンにインストールして あるMGTPをWWWブラウザを利用して起動するものである。いずれにしても、WWW ブラウザを利用したGUIなので、使用法は同じである。

(1)このシステムを単独の推論エンジンとして使用することもできるが、ユーザ の目的に応じて必要な機能モジュールと結合してカスタマイズされた推論エンジン を作成することもできる。

(2)並列分散モジュールの使用により、単に汎用並列計算機上での並列化のみなら ず、ネットワーク結合されたワークステーション群を利用した分散化も可能であ る。

(3)GUIの使用により、MGTPのホームページにアクセスした後、その場でMGTPの 試行/結果の確認ができる。また2〜3の代表的なプラットホームについては、 バイナリコードのダウンロードも可能とするので、KLICをインストールしなくて もよい。

(4)MGTPで行う論駁やヒューリスティック探索においては、ルール間優先順位や 適用度関数を推論の途中で指定したい局面が生じるが、これはGUIの機能を通じ て行うことができる。

(5)このような対話的利用の仕方とは別に、節集合を入力として与えるとその充足 可能性やモデルを出力する一つのコマンドとしても利用することができ、他の システムに組み込んで利用することも容易である。

(8) 今年度末の仕上がり状況

推論部モジュールの内、並列分散化モジュールは、今年度中にMGTP用のものを 完成させ、MGTPを用いた並列化の評価が行える段階まで開発を行う。高度推論 機構の内、ヒューリスティック探索モジュールについては、GAの一部機能を取り 込んだ試作版を作る。その他のモジュールについては、今年度中に機能検討と プログラム設計を行う。WWWブラウザを利用したGUIシステムについては、基本 機能の試作版が完成し、これを通してMGTPの操作が可能となる。

(9)添付予定資料

ユーザマニュアル(インストール法、使用例などの記述を含む)


www-admin@icot.or.jp