JPH0512017A - 非単調推論型エキスパートシステム - Google Patents

非単調推論型エキスパートシステム

Info

Publication number
JPH0512017A
JPH0512017A JP3161233A JP16123391A JPH0512017A JP H0512017 A JPH0512017 A JP H0512017A JP 3161233 A JP3161233 A JP 3161233A JP 16123391 A JP16123391 A JP 16123391A JP H0512017 A JPH0512017 A JP H0512017A
Authority
JP
Japan
Prior art keywords
tag
data
working memory
inference
label
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP3161233A
Other languages
English (en)
Inventor
Akihiko Koga
明彦 古賀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP3161233A priority Critical patent/JPH0512017A/ja
Publication of JPH0512017A publication Critical patent/JPH0512017A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【目的】 問題解決のための膨大な探索空間を持つAT
MSにおいて、効率良く探索範囲を絞り込み、高速に解
を得る。 【構成】 それぞれのワーキングメモリに、該ワーキン
グメモリの内容を表す複数の記号からなる第1のタグ
を、また、推論エンジンに、上記それぞれのワーキング
メモリの内容を表す全ての記号の内で、該推論エンジン
が処理の対象とする複数の記号からなる第2のタグを付
与し、該推論エンジンは、第2のタグに含まれる記号か
らなる第1のタグを有するワーキングメモリのみを、推
論の対象とし、また、推論対象以外のワーキングメモリ
を、ラベル伝播の対象から外す。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、多くの解構成を有する
計画問題などにおいて、大量の仮説を用いて非単調推論
を行なうエキスパートシステムに係わり、特に、探索空
間の絞り込みを効率良く行ない、結論を高速に導くのに
好適な非単調推論型エキスパートシステムに関するもの
である。
【0002】
【従来の技術】従来、コンピュータを利用し、専門的知
識を有効に用いて種々の問題を解決するエキスパートシ
ステムにおいて、非単調推論に基づくものが提供されて
いる。この非単調推論に基づくエキスパートシステム
は、演繹的推論では対処できない、欠如した情報による
推論等のように、不完全な知識に基づく推論を進めるも
のであり、エキスパートシステムの適用分野を一層拡大
し、より実用に耐えるものとすることができる。非単調
推論に基づくエキスパートシステムには、TMS(Trut
h MaintenanceSystem)やATMS(Assumption-based
Truth Maintenance System)等がある。TMSは、
推論の各ステップを保存することにより、推論の制御、
仮説(真にも、偽にもなりえるデータ)の採択や破棄、
破棄されていた仮説の復活という非単調論理、仮説推論
に必要な機能を提供し、さらに、推論に使用する知識ベ
ースを状況の変化を反映させながら一貫性を保持する知
識管理のための機能を提供する。TMSで同時に扱える
仮説の組合せは1つだけであるが、ATMSは、複数の
仮説の組合せの取扱いを可能とした。ATMSは、仮説
の組合せ毎に、それぞれ1つのワーキングメモリを構成
し、それぞれのワーキングメモリは、仮説の組み合わせ
の包含関係によりラティス(格子型配列)を構成する。
例えば、あるデータDが、ある仮説の組み合わせW
{A,B,C}から導かれる時、そのデータDは、ワー
キングメモリWで成立するという。また、ATMSは、
全てのデータに、そのデータが成立する仮説の組み合わ
せ(ワーキングメモリ)の集合を関連付ける。このワー
キングメモリの集合をラベルと呼び、そして、ATMS
は、矛盾の出た仮説の組合せを記録し、それを他のワー
キングメモリが利用することにより、探索空間の絞り込
みを行い、推論の効率化を図る。
【0003】ATMSに関して、以下、さらに詳しく説
明を行う。従来のエキスパートシステムにおいて、例え
ば、計画問題に対するアプローチとしては、ドゥ・クレ
アによる論文「仮説に基づいた真理の管理機構(ATM
S:An assumption-based truth maintenance syste
m)」(1986年、学会誌アーティフィシャルインテ
リジェンスの第28巻の第127頁から第162頁(Jo
han de Kleer,An assumption-based truth maintenanc
e system,Artificial Intelligence Vol.28,1986,Els
evier Science Publishers B.V.,pp.127〜162)に記載
のエーティーエムエス(ATMS)がある。ATMSで
問題を解く場合、真にも、偽りにもなりえるデータを仮
説としてATMSに入力し、「if条件then結論」
の形のルールによる推論を行う。ATMSは、ルールの
推論によって生成されたデータに、それがどのような仮
説の組合せのもとで成立するかという情報を記録する。
ATMSを用いたエキスパートシステムでは、このよう
な推論を繰り返し、最終的に、望むデータが導出された
仮説の組合せを解とする。以下、計画問題を抽象化した
次の例題でATMSの動作を説明する。次の変数x,
y,zが用意されているとする。 x : {5, 6} y : {4, 6, 8} z : {4, 7, 8} 変数の右側に書かれている集合はそれぞれの変数が取り
得る値の集合である。いま、全ての変数に値を割当て、
xとyの和が10以上、yとzの和が12以上になるよ
うにしたい。ただし、x,y,zは全て異なる数を選ぶ
ことにする。また、xは偶数でなければならないものと
する。この問題をATMSで解く場合、まず、それぞれ
の変数に可能な値を割当てたことを表すデータを仮説と
してATMSに入力する。 (x = 5) (x = 6) (y = 4) (y = 6) (y = 8) (z = 4) (z = 7) (z = 8) これらは、全て真偽の不定なデータである。
【0004】次に、制約や目的を表す「if条件the
n結論」の形のルールを入力する。まず、制約として、
以下の三つを入力する。 (1)xが偶数でなければならないという制約 if (x = ?v) & ?v は偶数でない then 矛盾 (2)変数が複数の値を取ってはならないという制約 if (x = ?v1) & (x = ?v2) & ?v1=/=?v2 then 矛盾 if (y = ?v1) & (y = ?v2) & ?v1=/=?v2 then 矛盾 if (z = ?v1) & (z = ?v2) & ?v1=/=?v2 then 矛盾 (3)異なる変数が同じ値を取ってはならないという制
約 if (x = ?v) & (y = ?v) then 矛盾 if (x = ?v) & (z = ?v) then 矛盾 if (y = ?v) & (z = ?v) then 矛盾 これらのルールで「?v」など「?」が先頭に付いた文字
はどのようなデータにもマッチするものとする。ATM
Sでは「結論」部の記述に、特に「矛盾」を表す記号を
導入し、推論において「矛盾」を導いた時、制約を犯し
たと解釈する。次に、目的として、次のものを入力す
る。 if (x = ?v1) & (y = ?v2) & ?v1+?v2 >= 10 then 目的
1を達成したif (y = ?v1) & (z = ?v2) & ?v1+?v2 >=
12 then 目的2を達成した if 目的1を達成した & 目的2を達成した then 最
終目的を達成した そして、制約のルールを実行すると、「矛盾」というデ
ータが、以下のようにして得られる。 xが偶数でなければならないという制約に矛盾するもの {(x = 5)} 1つの変数が2つの異なる値を取ってはならないという
制約に矛盾するもの {(x = 5), (x = 6)} {(y = 4), (y = 6)} {(y = 4), (y = 8)} {(y = 6), (y = 8)} {(z = 4), (z = 7)} {(z = 4), (z = 8)} {(z = 7), (z = 8)} 2つの異なる変数が同じ値をとってはならないという制
約に矛盾するもの {(x = 6), (y = 6)} {(y = 4), (z = 4)} {(y = 8), (z = 8)} ATMSは、このような「矛盾」が成立するということ
を記録し、そして、これらの仮説の組合せを含むような
組合せを推論から除外する。すなわち、目的のルールを
実行すると、「目的1を達成した」というデータが {(x = 5), (y = 6)} {(x = 5), (y = 8)} {(x = 6), (y = 4)} {(x = 6), (y = 6)} {(x = 6), (y = 8)} で、成立するという事実が得られるが、この内{(x =
5)}を含むもの、および、{(x = 6), (y = 6)}を含むも
のは、「矛盾」を導出するので除外され、 {(x = 6), (y = 4)} {(x = 6), (y = 8)} だけが記録される。同様に「目的2を達成した」という
データは、 {(y = 4), (z = 8)} {(y = 6), (z = 7)} {(y = 6), (z = 8)} {(y = 8), (z = 4)} {(y = 8), (z = 7)} で成立することが記録される。そして、データ「最終目
的を達成した」には、「目的1を達成した」に対応付け
られている仮説の組合せと「目的2を達成した」に対応
付けられている仮説の組合せの内矛盾を導出しない組合
せ、 {(x = 6), (y = 4), (z = 8)} {(x = 6), (y = 8), (z = 7)} {(x = 6), (y = 8), (z = 4)} が対応付けられる。これらの仮説の組合せ(ワーキング
メモリ)の集合がラベルである。
【0005】このように、ATMSは、導出した全ての
データに、それがどのような「仮説」の組合せで成立す
るかを記録していく。この時、「仮説」の組合せを、そ
の組合せを構成する仮説の個数が少ない順に生成し、
「矛盾」を導出する「仮説」の組合せを集合として含む
ような「仮説」の組合せを、ルールの条件部の成立判定
から除去する。そのために、仮説の組合せの内、構成す
る仮説の個数の少ない組合せが矛盾すると結論された場
合は、探索空間から、解の存在範囲を大きく絞ることが
できる。このことにより、ATMSは、少ない個数の
「仮説」の組合せが矛盾を起こすような問題では、探索
すべき空間を大幅に縮小することができ、効率的な推論
を行なうことができる。また、基本的には全解探索であ
り、全ての解が請求される時に有効である。
【0006】また、ATMSは、1度実行したルールか
らデータ間の依存関係を抽出し、それを記録する。そし
て、推論の途中で、あるデータが、新たな仮説の組合せ
で成立することが分かった場合には、その仮説の組合せ
を、依存関係に従って伝播させ、全てのデータに対して
正しいラベルを計算する。例えば、 if 目的1を
達成した & 目的2を達成した then 最終目的を達成
した というルールを実行した後、 「目的1を達成
した」 「目的2を達成した」 の二つのデータがあれ
ば「最終目的を達成した」というデータを導出して良い
というデータ間の依存関係を抽出して記録する。この依
存関係を 目的1を達成した 目的2を達成した −> 最終目的
を達成した と書き、「−>」より左側に書いてあるデータの集合を、
この依存関係の条件部、また、右側に書いてあるデータ
を結論部と呼ぶ。データDに対するラベルをL(D)と
書くと、推論の途中で、例えば、「目的1を達成した」
というデータが、新たに仮説の組合せCで成立すること
が分かった場合には、「最終目的を達成した」とのデータ
に対する新しいラベルL(最終目的を達成した)は、古
いラベルL(最終目的を達成した)を用いて、次の式に
従い、自動的に再計算される。 L(最終目的を達成した)+{C}*L(目的2を達成
した) ここで、「+」は、集合の和を意味し、「*」は、集合の直
積を表す。もし、「最終目的を達成した」とのデータ
が、別の依存関係の条件部になっていれば、この再計算
は、さらに、その依存関係の結論部のラベルを更新する
ために続けられる。そして、このような再計算は、全て
のデータのラベルが正しく計算されるまで続けられる。
この過程を、「ラベルの伝播処理」と言う。ATMSは、
この「ラベルの伝播処理」により、データに変更があっ
た時にも、ルールの再実行を行わずに、変更から引き起
こされるラベルの更新を、効率よく行うことができる。
【0007】
【発明が解決しようとする課題】従来技術は、仮説の組
合せの内、構成する仮説の個数の少ない組合せが矛盾を
生じ、また、全ての解が必要な問題に対しては効率的に
働くが、計画型問題など、多くの弱い制約(仮説の組合
せの内、ごく少数を制約違反として除外する制約)から
なる場合には、全ての可能な仮説の組合せを推論して、
記録する方法では効率が悪くなってしまう。例えば、デ
ータ「目標1」を成立させる仮説の組合せが「n」個あ
り、また、データ「目標2」を成立させる仮説の組合せ
が「m」個あり、最終的な解に、この二つのデータ「目
標1」と「目標2」の成立が必要な場合には、例えば、
ルール if 目標1 & 目標2 then 解の構成要素1 で、これらが同時に成立する仮説の組合せを、データ
「解の構成要素1」に結び付ける必要がある。しかし、
弱い制約の場合には、殆ど「m*n」通りの仮説の組合
せが生成される。そして、最終的な解を得るためには、
このような組合せのためのルールを何段階も実行しなけ
ればならないので、生成される仮説の組合せは、膨大な
数になる。一般に、最終的に必要な解は数個であり、効
率良く推論を行なうためには、膨大な数の仮説の組合せ
から、推論および伝播の対象を、ごく少数に限る必要が
ある。また、仮説の組合せを限定し過ぎて、最終的な解
が得られない状況が生じた場合には、一度除外した仮説
の組合せを、再度推論の対象に戻すことも必要である。
解決しようとする問題点は、従来の技術では、推論途中
での新事実に基づく推論の変更に柔軟に対応することが
できず、弱い制約の場合には、推論の対象となる仮説の
組み合わせを十分に絞り込むことができない点である。
本発明の目的は、利用者の指示に基づき、推論およびラ
ベル伝播の対象の限定に柔軟に対応し、これら従来技術
の課題を解決し、膨大な数の仮説の組合せから、効率良
く解を導くことを可能とする非単調推論型エキスパート
システムを提供することである。
【0008】
【課題を解決するための手段】上記目的を達成するた
め、本発明の非単調推論型エキスパートシステムは、
(1)問題の解決に利用するルール群を備え、操作者が
入力した真偽が不定なデータである仮説に基づき、ルー
ルを用いて推論を行なう推論エンジンを有し、推論で得
られるデータを成立させる仮説の組合せを記録したワー
キングメモリの内で、矛盾を導出した仮説の組合せを利
用して探索空間の絞り込みを行ない、かつ、推論で得た
全てのデータに、それぞれのデータを成立させるワーキ
ングメモリの集合であるラベルを対応付け、データ相互
の依存関係を記録し、データの変更に対応して、この依
存関係に基づき、ラベルの更新を伝播する非単調推論型
エキスパートシステムにおいて、利用者の指示に基づ
き、ワーキングメモリのそれぞれに、このワーキングメ
モリの内容を表す複数の記号からなる第1のタグを、お
よび、推論エンジンに、推論の対象となる内容を表す複
数の記号からなる第2のタグを設け、推論エンジンは、
この第2のタグに含まれる記号のみからなる第1のタグ
を有するワーキングメモリのみを対象として、推論を行
なうことを特徴とする。また、(2)上記(1)に記載
の非単調推論型エキスパートシステムにおいて、推論の
途中で、利用者の指示によるワーキングメモリの第1の
タグの変更、もしくは、推論エンジンの第2のタグの変
更のいずれかに基づき、推論エンジンによる推論の範囲
を変更することを特徴とする。また、(3)上記(1)
もしくは(2)のいずれかに記載の非単調推論型エキス
パートシステムにおいて、推論エンジンは、この推論エ
ンジンの第2のタグに含まれる記号のみからなる第1の
タグを持つワーキングメモリの集合である表ラベルと、
第2のタグに含まれない記号を有する第1のタグを持つ
ワーキングメモリの集合である裏ラベルとを、それぞれ
区分けして記憶するラベル区分テーブルを備え、ラベル
の伝播は、このラベル区分テーブルの表ラベルに対して
のみ行なうことを特徴とする。
【0009】
【作用】本発明において、推論エンジンは、第2のタグ
に含まれる記号と一致する第1のタグを有するワーキン
グメモリのデータだけを推論の対象とする。従って、利
用者は、推論途中で、解を構成する可能性のあるワーキ
ングメモリを限定可能な情報を得た時は、解となる可能
性の薄いワーキングメモリのタグに、推論エンジンのタ
グに含まれていない記号を、新たに加えれることによ
り、新たな記号が加えられたワーキングメモリおよびそ
のワーキングメモリを継承しているワーキングメモリ全
てを、推論およびラベル伝播の対象から外すことがで
き、探索範囲の絞り込みを行なうことができる。また、
推論範囲を限定し過ぎたために解がなくなってしまった
場合には、利用者は、推論の対象にしたいワーキングメ
モリの第1のタグを構成する記号を、推論エンジンのタ
グに新たに加え、推論範囲から外れていたワーキングメ
モリを推論対象にすることができる。また、データが、
どのワーキングメモリで成立するかという情報であるラ
ベルを、現在、推論対象になっている第1のタグを持つ
ワーキングメモリを蓄積する表ラベルと、推論対象にな
っていない第1のタグを持つワーキングメモリを蓄積す
る裏ラベルの二つに分けてラベル区分テーブルに記憶
し、ラベルの伝播処理を表ラベルだけに限定する。この
ことにより、ラベルの伝播を効率良く行なうことができ
る。尚、タグの切り替えに伴い、ラベル区分テーブルに
対して次のような処理を行う。 (1)タグの切り替えにより、ワーキングメモリが推論
の対象から外れた時、ワーキングメモリ内部のデータに
対して、ワーキングメモリを表ラベルから裏ラベルに移
動させる。 (2)タグの切り替えにより、ワーキングメモリが推論
の対象に入った時ワーキングメモリ内部のデータに対し
て、ワーキングメモリを裏ラベルから表ラベルに移して
伝播処理を行う。
【0010】
【実施例】以下、本発明の実施例を、図面により詳細に
説明する。図1は、本発明を施したエキスパートシステ
ム構築ツールの本発明に係わる構成の一実施例を示すブ
ロック図である。本実施例のエキスパートシステム構築
ツール1は、それぞれの仮説の組合せに対応してデータ
を格納する複数のワーキングメモリ10〜16と、各々
のワーキングメモリ10〜16に付随する第1のタグ2
0〜26と、ワーキングメモリ10〜16に含まれるデ
ータの参照や、ワーキングメモリ10〜16へのデータ
の書き出し、および、複数のワーキングメモリ10〜1
6を統合するルールなどからなるルール群2と、このル
ール群2の各ルールの解釈実行を行う推論エンジン3
と、この推論エンジン3の状態を決定するための第2の
タグ4により構成されている。ワーキングメモリ10〜
16のそれぞれは、仮説の組合せの包含関係に基づきリ
ンクされ、格子型の配列となっている。第1のタグ20
〜26は、付随するそれぞれのワーキングメモリ10〜
16の内容を示す記号の集合からなり、また、第2のタ
グ4は、推論エンジン3の推論対象とされる記号の集合
からなる。ルール群2には、「if条件then結論」
の形のルールが格納され、推論エンジン3は、利用者が
入力した仮説を「条件」部に有するルールを、このルー
ル群2から選択して実行する。さらに、推論エンジン3
は、その実行結果を「条件」部に有するルールの選択と
実行を繰り返して、推論を進め、ワーキングメモリ10
〜16のそれぞれを生成して行く。そして、推論の過程
において、ワーキングメモリ10〜16の内、矛盾する
ものは除外し、最終的に残ったワーキングメモリ内の仮
説の組合せを解とする。さらに、本実施例においては、
推論エンジン3は、第2のタグ4の内容に基づき、推論
の対象となるワーキングメモリ10〜16を選択する。
すなわち、推論エンジン3は、第2のタグ4に含まれる
第1のタグを持つワーキングメモリ内部にあるデータだ
けを推論の対象とする。このことにより、利用者は、推
論途中で、解を構成する可能性のあるワーキングメモリ
を限定可能な情報が得られた時は、可能性の薄いワーキ
ングメモリのタグに、新たに推論エンジンのタグに含ま
れない記号を加え、新たな記号が加えられたワーキング
メモリおよびそのワーキングメモリを継承しているワー
キングメモリ全てを、推論およびラベル伝播の対象から
外すことができ、最終的に解に貢献できるワーキングメ
モリ内部のデータのみを推論対象とすることができる。
すなわち、探索範囲を絞り込むことができる。また、推
論範囲を限定し過ぎたために解がなくなってしまった場
合には、利用者は、新たに推論の対象にしたいワーキン
グメモリのタグが、推論エンジン3の第2のタグ4に含
まれるように、推論エンジン3の第2のタグ4に、該当
する記号を加えることにより、推論範囲から外れていた
ワーキングメモリを推論対象にすることができる。
【0011】以下、具体的な例を用いて、エキスパート
システム構築ツール1の処理動作を説明する。利用者
は、それぞれのワーキングメモリ10〜16が、どのよ
うな問題解決に関係しているかを表す記号を、第1のタ
グ20〜26として与える。例えば、利用者に最適なワ
ークステーション構成を決定するエキスパートシステム
を構築する場合、二次記憶装置の選択として、 100M(メガバイト)ハードディスク 200Mハードディスク 500Mハードディスク 600M光磁気ディスク 1G(ギガバイト)光磁気ディスク などがあるものとする。そして、これらを一度に考察す
ると、他の選択との組合せで、いわゆる組合せ爆発を起
こすものとする。また、現状では、ほとんどの場合、ハ
ードディスクを選択すれば、問題なくワークステーショ
ンを構成できるものとする。このような場合、上述の5
つをそれぞれの仮説とし、それぞれに対してワーキング
メモリ(W)を設け、それぞれのワーキングメモリに第
1のタグを次のように付与する。 ワーキングメモリの内容 第1のタグ W1 100Mハードディスク {ハードディスク選択、二次記憶選択} W2 200Mハードディスク {ハードディスク選択、二次記憶選択} W3 500Mハードディスク {ハードディスク選択、二次記憶選択} W4 600M光磁気ディスク {光磁気ディスク選択、二次記憶選択} W5 1G光磁気ディスク {光磁気ディスク選択、二次記憶選択} これは、「ワーキングメモリW1は、「100Mのハー
ドディスク」を内容として持ち、 「ハードディスク
選択」と「二次記憶選択」を要素とするタグを持つ」こ
とを表す。また、推論の段階では、推論エンジン3の第
2のタグ4は、以下のように設定されているものとす
る。 推論エンジンの第2のタグ {ワークステーション構成、二次記憶選択、ハードディ
スク選択} この場合、ワーキングメモリW4とW5のタグ「光磁気デ
ィスク選択」は、推論エンジン3の第2のタグ4に含ま
れていないので、推論の対象から外す。このようにし
て、ハードディスクを選択した場合だけが考察されるた
め、組合せ爆発の発生を回避することができる。推論を
続け、ハードディスクだけを考察範囲にするのでは、解
となるワークステーション構成が存在しないという結論
が出た場合には、利用者は、推論エンジン3の第2のタ
グ4を、以下のように変更する。 推論エンジンの第2のタグ {ワークステーション構成、二次記憶選択、ハードディ
スク選択、光磁気ディスクの選択} このようにして、光磁気ディスクを用いたワークステー
ション構成まで、解の範囲を広げることができる。ま
た、この時、ハードディスクは全く用いないという方針
で、ワークステーション構成を行なう場合は、以下のよ
うにして、推論エンジン3のタグ4を設定すれば良い。 推論エンジンの第2のタグ {ワークステーション構成、二次記憶選択、光磁気ディ
スクの選択} また、推論のある時点で、数値演算コプロセッサの決定
を行ない、その際に、二次記憶の選択に関する推論を同
時に行なうと、組合せ爆発を起こすことが予めわかって
いる場合は、利用者は、推論エンジン3の第2のタグ4
を、 推論エンジンの第2のタグ {ワークステーション構成、数値演算コプロセッサの決
定} とすることにより、ワーキングメモリW1〜W5を全て推
論の対象から外し、爆発を抑えることができる。
【0012】以上、推論エンジン3の第2のタグ4を変
更することによる推論範囲の変更に関して述べたが、次
に、ワーキングメモリのタグを変更する場合に関して説
明を行なう。例えば、推論中に、代替案A、B、C、
D、Eがあり、また、データZが導かれたならば、最終
的な解を構成するのにほとんど寄与しないということ
が、予めわかっている場合、利用者は、もし、Zが導か
れたならば、それを導いたワーキングメモリの第1のタ
グとして、「{解にあまり寄与しない}」という記号か
らなるタグを付与しておき、かつ、推論エンジン3の第
2のタグ4としては、「解にあまり寄与しない」という
記号を含まないようにしておく。このようにしてタグを
設定しておくことにより、最初、Zが導かれたワーキン
グメモリは、推論の対象にならない。また、推論が終わ
って解が構成できなかった時は、ワーキングメモリのタ
グから、「解にあまり寄与しない」を取外して行けば、
だんだんと推論範囲が広がり、もし、解があるならば、
いつかは見つかることになる。このように、第1および
第2のタグを用いることにより、潜在的な解を失わず、
かつ、一時的に、推論範囲を限定することができる。
尚、第1および第2のタグは、本実施例で述べたものに
限るものではなく、推論範囲を限定するものであれば良
い。尚、推論エンジン3に第2のタグ4を付与するの
は、利用者が任意に行なうことができる。例えば、ルー
ルの行動部で、推論エンジン3の第2のタグ4に記号を
付け加えたり、または、取り去ったりする実行文を書く
ことにより行なう。従って、推論の途中で、推論結果な
どを参照しながら、利用者は、必要に応じて、推論エン
ジン3の第2のタグ4を変化させて行くことができる。
また、ワーキングメモリ10〜16のタグ20〜26
も、同様に変更する実行文があり、ルールの行動部から
それを発行することができる。
【0013】次に、図2の説明図、および、図3〜図8
の問題解析図(PAD/パド図、Problem An
alysis Diagram)を用いて、エキスパー
トシステム構築ツール1におけるラベルの伝播処理に関
しての説明を行なう。図2は、図1におけるエキスパー
トシステム構築ツールの本発明に係わるラベル区分テー
ブルおよびデータ依存関係テーブルの構成の一実施例を
示す説明図である。図2(a)は、データのラベルを記
録するラベル表であり、特に、各データ5に対して、そ
のデータが成立するワーキングメモリの集合が表ラベル
6と裏ラベル7に別けて記録したラベル区分テーブル8
の構成を示している。例えば、「Aの収入は(10)」
というデータに対応するラベルには、ワーキングメモリ
{W1、W2、W3、W4、W5}の集合があるが、表ラベ
ル6には、付与された第1のタグが現在の推論エンジン
の第2のタグに含まれ、推論と伝播の対象となっている
ワーキングメモリ{W1、W2、W3}の集合が記録さ
れ、また裏ラベル7には、付与された第1のタグが現在
の推論エンジンのタグに含まれないため、推論と伝播の
対象とならないワーキングメモリ{W4、W5}の集合が
記録される。図2(b)は、データの依存関係を示すデ
ータ依存関係テーブル9の構成を示している。テーブル
の各行は、条件部17と結論部18からなり、条件部1
7のデータが全て成立するワーキングメモリでは、結論
部18のデータが必ず成立することを表している。例え
ば、D1、D2、D3のデータが成立すれば、D4のデータ
が成立することが分かる。図1のエキスパートシステム
構築ツール1は、これらのラベル区分テーブル8とデー
タ依存関係テーブル9とを用いて、ラベルの伝播を効率
良く行なう。
【0014】以下、図3〜図5により、図1における推
論エンジン3の、ラベル区分テーブル8とデータ依存関
係テーブル9とを用いたラベル伝播処理動作を説明す
る。図3は、図1における推論エンジンの本発明に係わ
る処理動作の一実施例を示す問題解析図である。特に、
図1の推論エンジン3によるルールの解釈実行アルゴリ
ズムを記述したものである。尚、本実施例では、図1の
推論エンジン3は、データ駆動型であり、利用者が新た
にデータを作った場合、あるいは、ルールの実行で新た
なデータができた場合、それらのデータとマッチする条
件部を持つルールが起動されるものである。まず、照合
フェイズ301では、図1のワーキングメモリ10〜1
6内部のデータと、図1のルール群2内部のルールの条
件部とを照合し、マッチしたルールを集め、競合集合を
作成する。次に、依存関係登録フェイズ302では、照
合フェーズ301で作成した競合集合を、図2のデータ
依存関係テーブル9に登録する。そして、伝播処理フェ
イズ303では、新たに登録した依存関係から作られる
ラベルを伝播させる。図1の推論エンジン3は、これら
の三段階の動作を、新しくマッチするデータが無くなる
まで続ける。
【0015】図4は、図3における照合フェイズのアル
ゴリズムを示す問題解析図である。処理401で、変数
DEPを空集合とする。変数DEPには、このアルゴリズム
で、条件部のマッチしたルールから生成されるデータ間
の依存関係が格納される。すなわち、まず、処理402
で、照合フェイズが始まる前に生成されたデータの集合
を、変数NEWに代入する。本実施例はデータ駆動型であ
るので、変数NEWにマッチする条件部を持たないルール
は、推論から除外される。次に、処理403で、変数NE
Wに含まれるデータとマッチする条件部を持つルールの
内で、残りの条件部を満たすデータがいずれかのワーキ
ングメモリに存在するルールを探す。もし、あれば、図
2に示したデータ依存関係テーブル9の条件部17およ
び結論部18にデータを当てはめて、データ間の依存関
係を作成し、それを変数DEPに入れる。処理404で
は、そのようなルールとデータの組合せ全てに関して、
依存関係を作成し、それを変数DEPに入れる。このよう
にして得られた変数DEPは、次の依存関係登録フェイズ
に渡される。
【0016】この照合フェイズを、具体例を使って説明
する。例えば、データとして (A の値は 4) in ワーキングメモリ1 (A の値は 6) in ワーキングメモリ2 (B の値は 7) in ワーキングメモリ3 (B の値は 8) in ワーキングメモリ4 があるとする。ここで、inより右に書いてあるワーキン
グメモリ名は、そのデータが存在するワーキングメモリ
名を表すとする。さらにルール群内部のルールとして if (A の値は ?X) (B の値は ?Y) ?X > 2 ?Y は偶数 then (C の値は ?X+?Y) があるとする。この時、このルールからできる競合集合
は、 (A の値は 4) (B の値は 8) −> (C
の値は 12) (A の値は 6) (B の値は 8) −> (C
の値は 14) となる。これは、それぞれ、「(A の値は 4)と
(B の値は 8)から(C の値は 12)が導出で
きる」ことと、「(A の値は 6)と(B の値は
8)から(C の値は 14)が導出できる」ことを表
している。右向き矢印(−>)の左側のデータの集まり
をルールにマッチしたデータの集合といい、右側のデー
タをルールの結論部のデータということにする。このよ
うにして、全てのルールに対応して、それぞれの競合集
合を作り、それらの和集合を、次に説明する依存関係登
録フェイズに送る。
【0017】図5は、図3における依存関係登録フェイ
ズのアルゴリズムを示す問題解析図である。まず、処理
501で、変数RSを空集合にする。変数RSには、本
アルゴリズムの実行により、ワーキングメモリ(w)の
集合とデータ(c)の組み、 <<w1,...,wn>,c> の集合が入り、次の伝播処理フェイズに渡される。この
組みは、「データcは、ワーキングメモリw
1,...,wnを統合したワーキングメモリで成立す
る」ことを表す。次に、処理502では、照合フェイズ
301で求めた競合集合の各要素rに関して、処理50
3以下の処理を行う。まず、処理503で、変数DS
に、競合集合の各要素rの条件部にマッチしたデータの
集合を入れる。そして、処理504で、要素r自身を、
図2のデータ依存関係テーブル9に登録する。次に、処
理505で、変数DSに入っているデータが全て存在す
るためには、どのようなワーキングメモリを統合すれば
良いかを求める。すなわち、変数DSに含まれるデータ
の集合を{d1,...,dn}とし、di(i=1,
2,...,n)が存在するワーキングメモリの集合
を、Li(i=1,2,...,n)とする。ここで、
ワーキングメモリの集合(Li)のそれぞれがラベルで
ある。次に、Li(i=1,2,...,n)の直積を
作成し、それをLとする。そして、処理506と処理5
07で、Lの中の各ワーキングメモリの組みであるwに
対して、wおよびrの帰結部(データ)cとのペア<
w,c>を、変数RSに入れる。このようにして、変数
RSに格納したワーキングメモリ(w)の集合とデータ
(c)の組みの集合を、次に説明する伝播処理フェイズ
に送る。
【0018】図6は、図3における伝播処理フェイズの
アルゴリズムを示す問題解析図である。まず、処理60
1で、変数RSの各要素<w,c>に対して、処理60
2以下の処理を行う。尚、ここで、w=<w
1,...,wn>とする。処理602では、ワーキン
グメモリwi(i=1,2,...,n)の全てを統合
して、新しいワーキングメモリw’を作成し、データc
を新しいワーキングメモリw’に書き込み、このw’の
タグを、wi(i=1,2,...,n)のタグの和集
合とする。次に、処理603で、この新しいワーキング
メモリw’のタグ(第1のタグ)が、現在の推論エンジ
ンのタグ(第2のタグ)に含まれているか否かをチェッ
クする。含まれていれば、処理604で、データcの表
ラベルに、新しいワーキングメモリw’を追加し、図2
のデータ依存関係テーブル9を用いて、表ラベルの伝播
を行う。含まれていなければ、処理605で、データc
の裏ラベルに新しいワーキングメモリw’を加える。こ
の時、表ラベルへは変更がないので、表ラベルを伝播さ
せる必要はない。このようにして、処理601では、ワ
ーキングメモリwi(i=1,2,...,n)のいず
れかのタグ(第1のタグ)が、現在の推論エンジンのタ
グ(第2のタグ)に含まれていない場合は、ワーキング
メモリwi(i=1,2,...,n)を統合して、新
しく作成したワーキングメモリを、データcの裏ラベル
に登録して処理を終る。
【0019】次に、タグが変更された時の処理を記述す
る。図7は、図1におけるワーキングメモリの第1のタ
グへの記号追加処理アルゴリズムを示す問題解析図であ
る。処理701はコメントであり、この問題解析図は、
ワーキングメモリwの第1のタグに、記号Sを追加した
時の処理を記述していることを示している。すなわち、
処理702で、推論エンジンの第2のタグが、記号Sを
含むかどうか調べる。もし、記号Sを含まない場合は、
処理703以下の処理で、記号Sが付け加えられたワー
キングメモリを、推論の対象およびラベル伝播の対象か
ら外さなければならない。また、推論エンジンのタグが
Sを含む場合は、推論およびラベル伝播の対象は変わら
ないので、何もしないで処理を終る。処理703では、
処理704以下の処理を繰り返して、ワーキングメモリ
w自身、および、ワーキングメモリwを継承している全
てのワーキングメモリw’に対して、推論およびラベル
伝播の対象から外す処理を行なう。処理704では、ワ
ーキングメモリw’に含まれる全てのデータdに対し
て、ワーキングメモリwをデータdの表ラベルから裏ラ
ベルに移す処理705の処理を繰り返す。このようにし
て、ワーキングメモリの第1のタグに記号が追加された
場合、このワーキングメモリは、裏ラベルに移され、ラ
ベル伝播処理の対象外となる。
【0020】図8は、図1における推論エンジンの第2
のタグへの記号追加処理アルゴリズムを示す問題解析図
である。処理801はコメントであり、この問題解析図
は、推論エンジンの第2のタグに、記号Sを追加した時
の処理を記述するものであることを示している。処理8
02では、処理803以降の処理により、記号Sをタグ
に含む全てのワーキングメモリwについて、新たに推論
およびラベル伝播の対象になるかどうかを判定し、も
し、新たに推論およびラベル伝播の対象になるのであれ
ば、そのワーキングメモリを表ラベルに戻す処理を行
う。すなわち、処理803で、ワーキングメモリwの第
1のタグが、推論エンジンの第2のタグに含まれるかど
うか判定する。含まれない場合は、ワーキングメモリw
は、依然として、推論およびラベル伝播の対象にならな
いのでなにもしない。もし、ワーキングメモリwの第1
のタグが、推論エンジンの第2のタグに含まれるなら
ば、処理804で、ワーキングメモリwを、新たに推論
およびラベル伝播の対象にする。この処理804におい
ては、ワーキングメモリwに含まれる全てのデータdに
関して、まず、処理805により、ワーキングメモリw
を、データdの裏ラベルから表ラベルに移し、次に、処
理806により、図2のデータ依存関係テーブル9を用
いたラベルの伝播を行う。このようにして、推論エンジ
ンの第2のタグに記号が追加された場合には、追加した
記号をタグに含むワーキングメモリを表ラベルに移し、
ラベルの伝播処理の対象とする。
【0021】以上、図1〜図8を用いて説明したよう
に、本実施例のエキスパートシステム構築ツールでは、
ワーキングメモリ、および、推論エンジンに、問題解決
に関連する内容からなるタグを付与して、探索空間の絞
り込みを効率良く行なうことができる。また、推論の途
中で、新たに得たデータに対応して、柔軟に推論過程を
変更することができる。また、タグを記号の集合とする
ことにより、利用者は、より直感的な定式化が可能とな
り、エキスパートシステムの構築が容易となる。さら
に、表ラベルと裏ラベルの二つを設けることにより、タ
グを無視して、ラベルの伝播処理を効率良く行なうこと
ができる。
【0022】
【発明の効果】本発明によれば、利用者の指示に基づ
き、推論対象の限定、および、ラベル伝播を効率良く行
ない、膨大な数の仮説の組合せから、容易に解を導くこ
とができ、非単調推論型エキスパートシステムの性能を
向上させることが可能である。
【0023】
【図面の簡単な説明】
【図1】本発明を施したエキスパートシステム構築ツー
ルの本発明に係わる構成の一実施例を示すブロック図で
ある。
【図2】図1におけるエキスパートシステム構築ツール
の本発明に係わるラベル区分テーブルおよびデータ依存
関係テーブルの構成の一実施例を示す説明図である。
【図3】図1における推論エンジンの本発明に係わる処
理動作の一実施例を示す問題解析図である。
【図4】図3における照合フェイズのアルゴリズムを示
す問題解析図である。
【図5】図3における依存関係登録フェイズのアルゴリ
ズムを示す問題解析図である。
【図6】図3における伝播処理フェイズのアルゴリズム
を示す問題解析図である。
【図7】図1におけるワーキングメモリの第1のタグへ
の記号追加処理アルゴリズムを示す問題解析図である。
【図8】図1における推論エンジンの第2のタグへの記
号追加処理アルゴリズムを示す問題解析図である。
【符号の説明】
1 エキスパートシステム構築ツール 2 ルール群 3 推論エンジン 4 第2のタグ 5 データ 6 表ラベル 7 裏ラベル 8 ラベル区分テーブル 9 データ依存関係テーブル 10〜16 ワーキングメモリ 17 条件部 18 結論部 20〜26 第1のタグ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 問題の解決に利用するルール群を備え、
    操作者が入力した真偽が不定なデータである仮説に基づ
    き、上記ルールを用いて推論を行なう推論エンジンを有
    し、上記推論で得られるデータを成立させる上記仮説の
    組合せを記録したワーキングメモリの内で、矛盾を導出
    した仮説の組合せを利用して探索空間の絞り込みを行な
    い、かつ、上記推論で得た全てのデータに、該それぞれ
    のデータを成立させるワーキングメモリの集合であるラ
    ベルを対応付け、上記データ相互の依存関係を記録し、
    上記データの変更に対応して、該依存関係に基づき、上
    記ラベルの更新を伝播する非単調推論型エキスパートシ
    ステムにおいて、利用者の指示に基づき、上記ワーキン
    グメモリのそれぞれに、該ワーキングメモリの内容を表
    す複数の記号からなる第1のタグを、および、上記推論
    エンジンに、推論の対象となる内容を表す複数の記号か
    らなる第2のタグを設け、上記推論エンジンは、該第2
    のタグに含まれる記号のみからなる上記第1のタグを有
    するワーキングメモリのみを対象として、推論を行なう
    ことを特徴とする非単調推論型エキスパートシステム。
  2. 【請求項2】 請求項1に記載の非単調推論型エキスパ
    ートシステムにおいて、推論の途中で、上記利用者の指
    示による上記ワーキングメモリの第1のタグの変更、も
    しくは、上記推論エンジンの第2のタグの変更のいずれ
    かに基づき、上記推論エンジンによる上記推論の範囲を
    変更することを特徴とする非単調推論型エキスパートシ
    ステム。
  3. 【請求項3】 請求項1もしくは請求項2のいずれかに
    記載の非単調推論型エキスパートシステムにおいて、上
    記推論エンジンは、該推論エンジンの第2のタグに含ま
    れる記号のみからなる第1のタグを持つ上記ワーキング
    メモリの集合である表ラベルと、上記推論エンジンの第
    2のタグに含まれない記号を有する第1のタグを持つ上
    記ワーキングメモリの集合である裏ラベルとを、それぞ
    れ区分けして記憶するラベル区分テーブルを備え、上記
    ラベルの伝播は、該ラベル区分テーブルの表ラベルに対
    してのみ行なうことを特徴とする非単調推論型エキスパ
    ートシステム。
JP3161233A 1991-07-02 1991-07-02 非単調推論型エキスパートシステム Pending JPH0512017A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3161233A JPH0512017A (ja) 1991-07-02 1991-07-02 非単調推論型エキスパートシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3161233A JPH0512017A (ja) 1991-07-02 1991-07-02 非単調推論型エキスパートシステム

Publications (1)

Publication Number Publication Date
JPH0512017A true JPH0512017A (ja) 1993-01-22

Family

ID=15731169

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3161233A Pending JPH0512017A (ja) 1991-07-02 1991-07-02 非単調推論型エキスパートシステム

Country Status (1)

Country Link
JP (1) JPH0512017A (ja)

Similar Documents

Publication Publication Date Title
de Campos et al. Bayesian network learning algorithms using structural restrictions
Van Otterlo The logic of adaptive behavior: Knowledge representation and algorithms for adaptive sequential decision making under uncertainty in first-order and relational domains
US5438511A (en) Disjunctive unification
JPH0690667B2 (ja) オブジェクト変更処理方法
CN113609806B (zh) 一种结合子图同构的量子线路程序通用变换方法
Lecoutre ACE, a generic constraint solver
Cooper et al. The Hamiltonian cycle and travelling salesman problems in cP systems
Gieseking et al. Solving high-level Petri games
US5301260A (en) Inference processor using data consistency holder
US7433858B2 (en) Rule selection engine
JP5108252B2 (ja) インデクス更新方法及びそのシステム
JPH0512017A (ja) 非単調推論型エキスパートシステム
US20060143143A1 (en) System and method for externalized inferencing components
Chung et al. Building an influence diagram in a knowledge-based decision system
Edmonds et al. Logic, reasoning and a programming language for simulating economic and business processes with artificially intelligent agents
Mota et al. A compact timed state space approach for the analysis of manufacturing systems: key algorithmic improvements
Bakera et al. Solving μ-calculus parity games by symbolic planning
Junker Preference-based search for scheduling
Yin et al. Shaping Reward Signals in Reinforcement Learning Using Constraint Programming
Jezequel et al. Factored planning: From automata to Petri nets
Wakulicz-Deja et al. Pawlak's conflict model: Directions of development
Valkov et al. Synchronisation in Language-Level Symmetry Reduction for Probabilistic Model Checking
JP3064307B2 (ja) エキスパートシステム構築方法
HENDLER The design and implementation of marker-passing systems
JPH0689177A (ja) エキスパート・システムの状態を巻戻す方法及びシステム