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

(26) KL1による並列仮説推論システム

研究代表者:伊藤英則 教授
      名古屋工業大学知能情報システム学科




[目次]

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

[研究の背景]

知識ベースシステムは,人工知能(AI)の基礎的研究テーマであると同時に, AIの実用化や知識情報処理システム構築のための要素技術として不可欠な研究課 題である.

同システムで用いられている推論機構としては,現在のところ比較的単純な演繹 的推論処理が中心となっている.しかしながら,この演繹的推論だけでは,発想, 常識,また,曖昧・不完全な知識の取り扱いなど,人間のより豊かな知能の実現に 対して限界がある.そのため,知識ベースシステムの高機能化のために,演繹的推 論以外にも,仮説に基づく推論,帰納的推論,デフォルト推論,不確かな知識の利 用など,より高度で複雑な推論機能を用いることにより,柔軟で知的な処理を行な うことが期待されている.

そこで提案者は,特に知識ベースシステムの推論処理の高機能化として仮説推論 に着目し,その推論処理の高速化について検討し,1)無矛盾性の検査の効率化(※ 1),2)最適な説明の効率的な探索方法(※2)の2方面から仮説推論の高速化を提案 してきた.

また,実用化に耐える規模の知識ベースシステムが要求する計算能力にこたえる ためには並列処理が欠かせないものと考える.これまでの研究開発をベースに,仮説 推論処理を並列化することにより,高度な知識処理能力を備えたより大規模な知識 ベースシステムが実現できる.

※1 プログラム解析に基づく仮説推論の高速化技法, 情報処理学会論文誌, 第35巻10号, 2019-2028頁 (1994年10月)
※2 コストに基づく仮説推論における最適解探索の一方法, 情報処理学会論文誌, 第36巻10号, 2380-2390頁 (1995年10月)


[研究の目的]

本研究では,プロセス間通信ライブラリPVM (Parallel Virtual Machine)を用 いた分散メモリ並列実装のKLIC(以下,KLIC+PVMと記す)を用いて並 列仮説推論システムを実現する.

本研究で提案する並列仮説推論システムはその試作システムが既に,並列計算機 AP1000上で動作している(※3).その研究開発をベースにアルゴリズムの中 枢をKL1に移植し,KLIC+PVMの同動作環境が持つ並列実行特性に適した 負荷分散,プロセッサ間通信などの方法を検討し,同システムを作成する.

今まで特定の並列計算機上でしか動作していなかったシステムに汎用性を持たせ るものである.本並列仮説推論システムは,高度な知識処理を備えた大規模な知識 ベースシステムの実用化・高速化に大きく寄与するものと考える.

※3 PARCAR: コストに基づく並列仮説推論システム、 並列処理シンポジウム JSPP'96, 169-176頁 (1996年6月)


[研究内容]

本研究では,UNIX計算機ネットワーク上で動作する並列仮説推論システムを 製作する.仮説推論の推論処理技術に並列ヒューリスティック探索が持つ探索制御 技術を導入することにより,効率的な並列仮説推論システムを実現する.

ソフトウェア開発は以下の流れで行われる.

(1)仮説推論処理機構を考慮にいれたヒューリスティック探索の並列化の検討
まず,仮説推論処理のメカニズムについて調査・研究を行い,同処理の並列 性について検討を行う.同時にヒューリスティック探索の並列化について調 査し,両者の親和性について検討する.

(2)並列仮説推論システムのアルゴリズム作成
次に,(1)の検討結果から,仮説推論処理に適した並列ヒューリスティック探 索を開発し,その探索技術を仮説推論の推論処理機構に導入することにより, 並列仮説推論システムのアルゴリズムを作成する.

(3)並列アルゴリズムの特性解析
作成されたアルゴリズムに対し定量的な解析を行い,その並列効果,計算量的 特性を明らかにする.

(4)KLIC+PVMの動作環境の整備,同環境の特性調査
KLIC+PVMの動作環境を整備し,KL1プログラムの並列実行環境を整 える.この時,様々なテストプログラムを走らせ,並列実行指定(プラグマ)や プロセス・ストリーム,プロセスネットワーク通信,同期処理などに関する特 性を調べることにより,同環境の並列実行特性を調査する.

(5)UNIX計算機ネットワーク上に並列仮説推論システムを実装
(3)の結果から得られた考察をもとにアルゴリズムを改良し,並列実行性能が高 められたアルゴリズムを完成する.(4)の結果から同アルゴリズムの実装方法を 決定する.そして,KLIC+PVM環境で効率良く動作する並列仮説推論シ ステムを実装する.

本研究で作成する並列仮説推論システムの要求する動作環境として,KLIC+ PVMを採用した理由は以下のとおりである.

現在,多くの計算機メーカーにおいて並列計算機が開発・製造されているが, 各々の並列計算機の性能は独自のアーキテクチャに依存する部分が多く,すべて の並列計算機上で高性能を発揮できる並列推論システムを一般的に開発すること は難しい.さらに,これらの並列計算機に対する設備投資費は大変高価であり, 並列処理を行うソフトウェア開発の普及・発達を困難なものにしている.

一方で,近年,インターネットに代表されるように計算機をとりまくネットワー ク環境が発達・普及し,多くの研究開発施設で複数のコンピュータがLAN接続され るようになってきた.このような計算機ネットワーク環境を用いて手軽に並列・ 分散処理を実現するものに,PVM(Parallel Virtual Machine)というソフトウェ アがある.

また,プログラム言語KL1は,記号論理に基づいた強力な知識表現能力を持っ た並列論理型言語GHC(Guarded Horn Clause)を基に設計されており,推論処理 の並列化の実装に最もふさわしい並行プログラミング言語である.

以上により,本研究では,KLIC+PVMを用いて並列仮説推論システムを実 現する.


[研究体制/研究方法]

(1) 研究体制
       氏名      所属
研究代表者 伊藤 英則  名古屋工業大学知能情報システム学科教授
研究協力者 世木 博久  名古屋工業大学知能情報システム学科助教授
研究協力者 加藤 昇平  名古屋工業大学知能情報システム学科博士課程2年

(2) 研究の方法

提案者は既に,分散メモリ並列計算機AP1000上で並列仮説推論を行う試作 システムを作成している.本提案で行う研究開発は,上記の研究開発で得た経験, 並列化のノウハウが活かされた方法で実施され,KLIC+PVM上で高速に動作 する並列仮説推論システムの正式なソフトウェア化が実現される.


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

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

並列仮説推論システム (仮称)

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

機能:
本並列仮説推論システムが持つ機能は,与えられた観測を説明する最小コストの 仮説集合を効率的に求めるものである.

本システムが対象とする知識ベースは常に成り立つ事実の知識と事実と矛盾する 可能性を有する仮説の知識から構成され,仮説の知識に対しては,好ましさの基準 であるコストが与えられているものである.知識ベースに観測が与えられ,事実の みからでは観測を証明できない場合に,事実と矛盾しないような仮説の知識(説明と 呼ばれる)を用いて観測を証明する.このとき観測の証明する最小コストの仮説集合 を並列推論を行い効率的に求める.

仮説推論の高速化を実現するために,並列ヒューリスティック探索が持つ探索制 御技術を仮説推論の推論機構に導入し,仮説推論の探索空間を複数のプロセッサへ 分散し推論処理を並列化している.

役割:
本ソフトウェアの果たす役割としては,より高度な知識処理を実現する大規模知 識ベースシステムの核となる推論機構を提供している点が挙げられる.

また,ほとんどの知識情報処理システムは,内部に探索処理部を持ち,その処理 能力はシステムの性能を左右する大きな鍵となるものである.その探索処理の最適 化は,実現するシステムを意識して行われるべきであり,本ソフトウェアでも仮説 推論処理に適したヒューリスティック探索の並列化が実現される.このように,並 列探索アルゴリズムの応用の一例,ならびに,その応用方法を提案するといった役 割も持つ.

また,並列実装版KLICを用いた一つの並列推論処理系を実現するという役割 もある.

特徴:
本並列仮説推論システムではトップダウンで推論処理が行われるので,対象とな る探索空間に存在する分岐が推論処理の並列性に直結する.この分岐の制御はKL 1がもつ並列制御手法である並列実行指定(プラグマ)により実現される.

演繹推論の並列化に関しては,代表的な演繹推論機構であるPrologのOR 並列化が挙げあれるが,Prologが形成する探索空間が深さ優先のSLD反駁 であるのに対して,仮説推論ではコスト最小の説明が要求されるため,幅優先で反 駁木が形成される.このため探索の並列性はより高く,探索空間の分散が容易に行 なえる.各プロセッサは割り当てられた部分空間に対して最良優先探索に基づいた 推論処理をおこなう点も本システムの特徴である.

また,KLIC+PVMの提供する計算機ネットワーク環境により,並列推論処 理を手軽に実現する点も本ソフトウェアの大きな特徴である.

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

本並列仮説推論システムは,大まかに,以下から構成される.

入力インタフェース:
述語論理ホーン節集合で表現された知識ベースを仮説推論処理内部で扱われる データ構造に変換する.

推論実行部:
最良優先SLD反駁,サブゴールに対する無矛盾性検査処理から成る.

処理粒度調整・同期フラグ制御部:
効率的な負荷分散を実現するために,各々の計算機(WS)で実行される「推論実 行部」の反復回数を制御し,WS間で同期を取るためのフラグを管理する.

プロセッサ間通信処理部:
PVMのプロセス間通信ライブラリを用いてWS間で負荷分散を実行する.各WSとの メッセージの送受信を行う.

解判定・出力部:
得られた解の最適性(最小コストを持つかどうか)をチェックする.最適解のコ スト, 説明となる仮説集合,証明される観測の変数情報を出力する.

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

本システムにおける並列推論処理のプログラムはKL1を用いてコーディングさ れる.また,KLICを用いてKL1版プログラムをCのソースへコンパイルする ことにより,PVMによる一般WS上での並列実行が可能になり,並列仮説推論シ ステムが実現される.

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

使用予定言語: KL1, C 
動作環境: ネットワーク接続されたUNIXワークステーション 
必要とされるソフトウェア・パッケージ: KLIC, PVM 

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

数千行を予定。

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

仮説推論は,不完全な知識を適切に扱い推論を行う高次推論の一形式であり,そ の応用分野は,診断・計画問題,自然言語処理など多岐にわたる.その推論処理は 知識ベースシステムの高機能化を実現するものであり,人工知能の実用化や知識情 報処理システム構築のための要素技術として利用価値がたいへん高い.

本並列仮説推論システムは記号論理による強力な知識表現能力,その並列処理に よる高速な推論速度を利用者に提供するものであり,上記の応用分野を中心とした 一般知識ベースシステムの中心的な推論処理機構として利用される.

また,KLIC+PVMの提供する計算機ネットワーク環境により,利用者は, 各自の研究開発環境内に現存する計算機資源を有効に利用して,並列推論処理を手 軽に活用することが出来る.

さらに,その環境上に繋げられた複数の計算機の計算能力をフルに稼働させ,並 列仮説推論処理をシステムの推論機構に用いることで,単体のワークステーション の計算能力では対応し切れなかったような,高度な知識処理,大規模知識処理シス テムの実現が可能になる.

(9)添付予定資料

ソフトウェア仕様書,ユーザマニュアル


www-admin@icot.or.jp