JPH10143370A - 知識格納・照合方法 - Google Patents
知識格納・照合方法Info
- Publication number
- JPH10143370A JPH10143370A JP8303294A JP30329496A JPH10143370A JP H10143370 A JPH10143370 A JP H10143370A JP 8303294 A JP8303294 A JP 8303294A JP 30329496 A JP30329496 A JP 30329496A JP H10143370 A JPH10143370 A JP H10143370A
- Authority
- JP
- Japan
- Prior art keywords
- node
- marker
- frame
- condition
- rule
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
ルール数やフレーム数が増加しても速度があまり低下し
ないルールベースシステムを実現することが可能な知識
格納・照合方法を提供する。 【解決手段】 本発明は、フレーム知識とルール知識を
意味ネットマシンにおけるノードとリンクを用いて意味
ネットマシンに格納し、クラス条件、定数条件そして変
数条件をそれぞれ満足するか否かのチェックをマーカの
伝搬によって行う。
ないルールベースシステムを実現することが可能な知識
格納・照合方法を提供する。 【解決手段】 本発明は、フレーム知識とルール知識を
意味ネットマシンにおけるノードとリンクを用いて意味
ネットマシンに格納し、クラス条件、定数条件そして変
数条件をそれぞれ満足するか否かのチェックをマーカの
伝搬によって行う。
Description
【0001】
【発明の属する技術分野】本発明は、知識格納・照合方
法に係り、特に、事実知識とルール知識により表現され
た知識を格納し、さらに、格納された当該知識からの推
論によって診断、計画等を行う際に照合を行うルールベ
ースシステムにおける知識・照合方法に関する。
法に係り、特に、事実知識とルール知識により表現され
た知識を格納し、さらに、格納された当該知識からの推
論によって診断、計画等を行う際に照合を行うルールベ
ースシステムにおける知識・照合方法に関する。
【0002】
【従来の技術】ルールベースシステムは、事実をクラス
と属性名−属性値ペアの集合で構成されるフレームによ
り記述した事実知識(フレーム知識とも言う)と、規則
や前提・帰結関係を“if〜then〜”形式で記述し
たルール知識から構成される知識ベースを用い、ルール
知識に基づいてフレーム知識を書き換えることを繰り返
して演繹的推論を行うシステムである。
と属性名−属性値ペアの集合で構成されるフレームによ
り記述した事実知識(フレーム知識とも言う)と、規則
や前提・帰結関係を“if〜then〜”形式で記述し
たルール知識から構成される知識ベースを用い、ルール
知識に基づいてフレーム知識を書き換えることを繰り返
して演繹的推論を行うシステムである。
【0003】即ち、ルール知識の“if”部に合致する
フレームあるいはフレームの組が存在する場合、当該ル
ール知識の“then”部に記述された命令に従ってフ
レーム知識を書き換えていくことにより推論を行う。ど
のルールについても当該ルールの“if”部に合致する
フレームあるいは、フレームの組が存在しなくなった時
点で推論を終了する。
フレームあるいはフレームの組が存在する場合、当該ル
ール知識の“then”部に記述された命令に従ってフ
レーム知識を書き換えていくことにより推論を行う。ど
のルールについても当該ルールの“if”部に合致する
フレームあるいは、フレームの組が存在しなくなった時
点で推論を終了する。
【0004】以下、ルールベースシステムについて、よ
り具体的に説明する。ルールベースシステムにおいて、
事実を表すフレーム知識は、どれかのクラスに属する。
クラスは、フレームが有する属性名の集合を規定するも
のであり、同一のクラスに属するフレームは全て同一の
属性名の集合を持つ。
り具体的に説明する。ルールベースシステムにおいて、
事実を表すフレーム知識は、どれかのクラスに属する。
クラスは、フレームが有する属性名の集合を規定するも
のであり、同一のクラスに属するフレームは全て同一の
属性名の集合を持つ。
【0005】フレーム知識は、また、属性名集合に含ま
れる個々の属性名に対してその値(以下、当該値を属性
値と記す)を持つ。属性名と当該属性名に対する属性値
の組を「属性名−属性値ペア」と呼ぶ。図7は、フレー
ム知識の概念図である。同図のフレーム知識500、5
20、540は、名前501、521、541と当該フ
レームが属するクラス502、522、542と零
(0)個以上の属性名−属性値ペア503、504、5
05、523、524、525、543、544、54
5から構成される。また、個々の属性名−属性値ペア
は、属性名511と当該属性名に対応する属性値51
4、属性名512と当該属性名512に対応する属性値
515、以下同様にそれぞれの属性名と属性名に対応す
る属性値から構成される。
れる個々の属性名に対してその値(以下、当該値を属性
値と記す)を持つ。属性名と当該属性名に対する属性値
の組を「属性名−属性値ペア」と呼ぶ。図7は、フレー
ム知識の概念図である。同図のフレーム知識500、5
20、540は、名前501、521、541と当該フ
レームが属するクラス502、522、542と零
(0)個以上の属性名−属性値ペア503、504、5
05、523、524、525、543、544、54
5から構成される。また、個々の属性名−属性値ペア
は、属性名511と当該属性名に対応する属性値51
4、属性名512と当該属性名512に対応する属性値
515、以下同様にそれぞれの属性名と属性名に対応す
る属性値から構成される。
【0006】フレーム知識はこのような構成により、命
題、状況等の事実知識を属性名−属性値ペアの集合とし
て表すことができる。一方、規則や前提・帰結関係を表
すルール知識は、“if〜then〜”形式で表現され
る。ルール知識において“if”に続く部分を条件部、
“then”に続く部分を命令部と呼ぶ。ルール知識の
条件部は、複数の条件要素から構成される。個々の条件
要素は1個のクラス条件、任意個(零個も含む)の定数
条件、任意個(零個も含む)の変数条件から成り、各条
件すべてを満足するフレーム知識が存在するときに、諸
条件要素は、当該フレーム知識により満足される。ルー
ル知識の条件のすべての条件要素について、それぞれ満
足するフレームが存在する場合に、当該ルールは満足さ
れる。
題、状況等の事実知識を属性名−属性値ペアの集合とし
て表すことができる。一方、規則や前提・帰結関係を表
すルール知識は、“if〜then〜”形式で表現され
る。ルール知識において“if”に続く部分を条件部、
“then”に続く部分を命令部と呼ぶ。ルール知識の
条件部は、複数の条件要素から構成される。個々の条件
要素は1個のクラス条件、任意個(零個も含む)の定数
条件、任意個(零個も含む)の変数条件から成り、各条
件すべてを満足するフレーム知識が存在するときに、諸
条件要素は、当該フレーム知識により満足される。ルー
ル知識の条件のすべての条件要素について、それぞれ満
足するフレームが存在する場合に、当該ルールは満足さ
れる。
【0007】ルール知識の一例を以下に示す。 ルール1 IF [{学生(学生−学部“工学”)(学生−氏名?X)
(学生−学科?Y)}{研究室(研究室−分野“人工知
能”)(研究室−学科?Y)(研究室−科目1成績?
Z)}{成績(成績−氏名?X)(成績−科目1?
Z)}] THEN [生成せよ{人工知能研究室(人工知能研究室−氏名?
X)}] 上記の「ルール1」は、この例のルールの名前を示す。
(学生−学科?Y)}{研究室(研究室−分野“人工知
能”)(研究室−学科?Y)(研究室−科目1成績?
Z)}{成績(成績−氏名?X)(成績−科目1?
Z)}] THEN [生成せよ{人工知能研究室(人工知能研究室−氏名?
X)}] 上記の「ルール1」は、この例のルールの名前を示す。
【0008】“IF”の直後の大かっこ、即ち、[]で
囲まれた部分が条件部であり、条件部中、中かっこ即ち
{}で囲まれた部分がそれぞれ条件要素である。条件要
素の開き中かっこ“{”の直後に記述してあるものは、
当該条件要素のクラスの条件であり、当該記述と同一ク
ラスを持ったフレームによって満足される。クラス条件
の後の小かっこ、即ち()で囲まれた部分は、定数条件
または、変数条件である。かっこ内の右側の項が“工
学”、“人工知能”等のシンボルになっているものが定
数条件であり、かっこ内の右側の項が?X,?Y,?Z
等の変数となっているものが変数条件である。また、か
っこ内の左側に記述されたものは、当該定数条件また
は、当該変数条件における属性名である。定数条件は、
当該定数条件と同一の属性名について、該定数条件のシ
ンボルと同一のシンボルを属性値としてもつフレームに
より満足される。また、変数条件は、同一の名前の変数
を含むすべての変数条件について、それぞれの属性名に
対応する属性名がすべてにわたって同一であるようなフ
レームの組によって満足される。条件要素は、該条件要
素に含まれるクラス条件、定数条件、変数条件のすべて
を満足するフレームによって満足され、ルールに含まれ
る条件要素をそれぞれ満足するフレームの組によって当
該ルールは満足される。
囲まれた部分が条件部であり、条件部中、中かっこ即ち
{}で囲まれた部分がそれぞれ条件要素である。条件要
素の開き中かっこ“{”の直後に記述してあるものは、
当該条件要素のクラスの条件であり、当該記述と同一ク
ラスを持ったフレームによって満足される。クラス条件
の後の小かっこ、即ち()で囲まれた部分は、定数条件
または、変数条件である。かっこ内の右側の項が“工
学”、“人工知能”等のシンボルになっているものが定
数条件であり、かっこ内の右側の項が?X,?Y,?Z
等の変数となっているものが変数条件である。また、か
っこ内の左側に記述されたものは、当該定数条件また
は、当該変数条件における属性名である。定数条件は、
当該定数条件と同一の属性名について、該定数条件のシ
ンボルと同一のシンボルを属性値としてもつフレームに
より満足される。また、変数条件は、同一の名前の変数
を含むすべての変数条件について、それぞれの属性名に
対応する属性名がすべてにわたって同一であるようなフ
レームの組によって満足される。条件要素は、該条件要
素に含まれるクラス条件、定数条件、変数条件のすべて
を満足するフレームによって満足され、ルールに含まれ
る条件要素をそれぞれ満足するフレームの組によって当
該ルールは満足される。
【0009】例として挙げたルールに関しては、第1番
目に条件要素は、クラスが「学生」であり、属性「学生
−学部」の値が“工学”であり、属性「学生−氏名」の
値が第3番目の条件要素を満足するフレーム属性「成績
−氏名」の値と同一であり、属性「学生−学科」の値が
第2番目の条件要素を満足するフレームの属性「研究室
−学科」の値と同一であるようなフレームがある場合に
該フレームによって満足される。以下同様に、第2番目
の条件要素は、クラスが「研究室」であり、属性「研究
室−分野」の値が“人工知能”であり、属性「研究室−
学科」の値が第1番目の条件要素を満足するフレームの
属性「学生−学科」の値と同一であり、属性「研究室−
科目1成績」の値が第3番目の条件要素を満足するフレ
ームの属性「成績−科目1」の値と同一であるようなフ
レームが存在するときに、当該フレームによって満足さ
れる。第3番目の条件は、クラスが「成績」であり、属
性「成績−氏名」の値が第1番目の条件要素を満足する
フレームの属性「学生−氏名」の値と同一であり、属性
「成績−科目1」の値が第2番目の条件要素を満足する
フレームの属性「研究室−科目1成績」の値と同一であ
るようなフレームが存在する場合に、該フレームによっ
て満足される。
目に条件要素は、クラスが「学生」であり、属性「学生
−学部」の値が“工学”であり、属性「学生−氏名」の
値が第3番目の条件要素を満足するフレーム属性「成績
−氏名」の値と同一であり、属性「学生−学科」の値が
第2番目の条件要素を満足するフレームの属性「研究室
−学科」の値と同一であるようなフレームがある場合に
該フレームによって満足される。以下同様に、第2番目
の条件要素は、クラスが「研究室」であり、属性「研究
室−分野」の値が“人工知能”であり、属性「研究室−
学科」の値が第1番目の条件要素を満足するフレームの
属性「学生−学科」の値と同一であり、属性「研究室−
科目1成績」の値が第3番目の条件要素を満足するフレ
ームの属性「成績−科目1」の値と同一であるようなフ
レームが存在するときに、当該フレームによって満足さ
れる。第3番目の条件は、クラスが「成績」であり、属
性「成績−氏名」の値が第1番目の条件要素を満足する
フレームの属性「学生−氏名」の値と同一であり、属性
「成績−科目1」の値が第2番目の条件要素を満足する
フレームの属性「研究室−科目1成績」の値と同一であ
るようなフレームが存在する場合に、該フレームによっ
て満足される。
【0010】“THEN”の直後の大かっこに囲まれた
部分は、命令部であり、本例では、クラスが「人工知能
研究室」であり、属性「人工知能研究室−氏名」の値と
して条件要素部における変数?Xの値と同一の値を持つ
フレームを生成する命令が記述されている。命令部に
は、フレームの生成、削除、更新等のフレーム操作命令
が一般的に記述されるが、他に入出力命令や周辺機器操
作命令等が記述される場合もある。
部分は、命令部であり、本例では、クラスが「人工知能
研究室」であり、属性「人工知能研究室−氏名」の値と
して条件要素部における変数?Xの値と同一の値を持つ
フレームを生成する命令が記述されている。命令部に
は、フレームの生成、削除、更新等のフレーム操作命令
が一般的に記述されるが、他に入出力命令や周辺機器操
作命令等が記述される場合もある。
【0011】ルールベースシステムは、フレーム及びル
ールの集合に基づいて、ルールの条件部を満足するフレ
ームあるいは、フレームの組が存在した場合に、当該ル
ールの命令部を実行する、という動作を繰り返すことに
より推論を行う。この推論動作は認知実行サイクルと呼
ばれる。図8に認知実行サイクルのフローチャートを示
す。同図において、ステップ601では、照合処理、ス
テップ602では、終了判定処理、ステップ603で
は、競合解消処理、ステップ604では、ルール実行処
理が行われる。
ールの集合に基づいて、ルールの条件部を満足するフレ
ームあるいは、フレームの組が存在した場合に、当該ル
ールの命令部を実行する、という動作を繰り返すことに
より推論を行う。この推論動作は認知実行サイクルと呼
ばれる。図8に認知実行サイクルのフローチャートを示
す。同図において、ステップ601では、照合処理、ス
テップ602では、終了判定処理、ステップ603で
は、競合解消処理、ステップ604では、ルール実行処
理が行われる。
【0012】推論を開始すると、照合処理(ステップ6
01)において、すべてのルールに関して、個々のルー
ルを満足するフレームまたは、フレームの組が存在する
かどうか調べる。あるルールについて該ルールを満足す
るフレームまたは、フレームの組が存在した場合には、
当該ルールの名前と当該ルールを満足したフレームまた
は、フレームの組を併せてインスタンシェーションとし
て競合集合に登録する。
01)において、すべてのルールに関して、個々のルー
ルを満足するフレームまたは、フレームの組が存在する
かどうか調べる。あるルールについて該ルールを満足す
るフレームまたは、フレームの組が存在した場合には、
当該ルールの名前と当該ルールを満足したフレームまた
は、フレームの組を併せてインスタンシェーションとし
て競合集合に登録する。
【0013】照合処理(ステップ601)が終了した時
点で、競合集合には、満足されたルールと当該ルールを
満足したフレームまたは、フレームの組からなるインス
タンシェーションがすべて登録されていることになる。
もし、競合集合が空であれば、満足されるルールはひと
つも存在しないことになる。終了判定処理(ステップ6
02)において、競合集合が空かどうかを調べ、空なら
ば、推論を終了し、空でないならば、競合解消処理(ス
テップ603)に移行する。
点で、競合集合には、満足されたルールと当該ルールを
満足したフレームまたは、フレームの組からなるインス
タンシェーションがすべて登録されていることになる。
もし、競合集合が空であれば、満足されるルールはひと
つも存在しないことになる。終了判定処理(ステップ6
02)において、競合集合が空かどうかを調べ、空なら
ば、推論を終了し、空でないならば、競合解消処理(ス
テップ603)に移行する。
【0014】競合解消処理(ステップ603)では、競
合集合に登録されたすべてのインスタンシェーションの
中から、ルール実行処理(ステップ604)において実
行するために、どれかひとつのインスタンシェーション
を選択する。どのような基準で実行の対象となるインス
タシェーションを選択するかは個々のシステムによって
異なる。インスタンシェーション選択の基準は、競合解
消戦略と呼ばれる。
合集合に登録されたすべてのインスタンシェーションの
中から、ルール実行処理(ステップ604)において実
行するために、どれかひとつのインスタンシェーション
を選択する。どのような基準で実行の対象となるインス
タシェーションを選択するかは個々のシステムによって
異なる。インスタンシェーション選択の基準は、競合解
消戦略と呼ばれる。
【0015】インスタンシェーションを選択すると、ル
ール実行処理(ステップ604)において、選択された
インスタンシェーションに含まれるルールの命令を実行
する。ルール命令部の実行が終了したら照合処理(ステ
ップ601)に戻る。前述のとおり、ルール命令部に
は、一般にフレームの生成、削除、更新等の命令が記述
されており、ルール実行によりフレームの集合の一部が
変更されるため、照合処理(ステップ601)では、一
般に前回の照合とは異なった競合集合が得られることに
なる。
ール実行処理(ステップ604)において、選択された
インスタンシェーションに含まれるルールの命令を実行
する。ルール命令部の実行が終了したら照合処理(ステ
ップ601)に戻る。前述のとおり、ルール命令部に
は、一般にフレームの生成、削除、更新等の命令が記述
されており、ルール実行によりフレームの集合の一部が
変更されるため、照合処理(ステップ601)では、一
般に前回の照合とは異なった競合集合が得られることに
なる。
【0016】上記の認知実行サイクルの繰り返しによ
り、推論が進行し、終了判定処理(ステップ602)に
おいて終了と判定された場合に、推論が終了することに
なる。推論結果の取り出し方はシステムによって様々で
ある。命令部に入出力命令を記述したルールを用意し、
推論の最終段階で当該ルールが実行されるようにしたシ
ステムや、認知実行サイクルが終了した後に特定のフレ
ームを取り出して表示させるシステム等がある。
り、推論が進行し、終了判定処理(ステップ602)に
おいて終了と判定された場合に、推論が終了することに
なる。推論結果の取り出し方はシステムによって様々で
ある。命令部に入出力命令を記述したルールを用意し、
推論の最終段階で当該ルールが実行されるようにしたシ
ステムや、認知実行サイクルが終了した後に特定のフレ
ームを取り出して表示させるシステム等がある。
【0017】一方、ルールベースシステムとは異なった
表現の知識に基づいて推論を行う方法として、「意味ネ
ット」があり、これを並列的に高速に処理する装置とし
て、意味ネットマシンが従来から提案されている。しか
し、これが扱う知識は、本発明が前提とする事実知識、
ルール知識とは本質的に異なる概念知識及び概念の包含
関係知識であるし、また、本発明が対象とする照合処理
ではなく、概念間の性質の継承関係を導く推論をその処
理対象としている。
表現の知識に基づいて推論を行う方法として、「意味ネ
ット」があり、これを並列的に高速に処理する装置とし
て、意味ネットマシンが従来から提案されている。しか
し、これが扱う知識は、本発明が前提とする事実知識、
ルール知識とは本質的に異なる概念知識及び概念の包含
関係知識であるし、また、本発明が対象とする照合処理
ではなく、概念間の性質の継承関係を導く推論をその処
理対象としている。
【0018】意味ネットでは、概念は、他の概念との包
含関係を表す有向グラフによって表現される。例えば、
図9に示すように、「馬」という概念が「ほ乳類」とい
う概念に包含される概念であり、また、「鰐」という概
念が「はちゅう類」という概念に包含される概念である
場合、「ほ乳類」とラベルのついたノード302から
「馬」とラベルのついたノード304へ向かって、「は
ちゅう類」とラベルのついたノード303から「鰐」と
ラベルのついたノード305へ向かって、それぞれ包含
関係を表すリンク310が張られる。また、「ほ乳類」
という概念と「はちゅう類」という概念が共に「脊椎動
物」に包含されるとすると、「脊椎動物」とラベルのつ
いたノード301から「ほ乳類」とラベルのついたノー
ド302と「はちゅう類」とラベルのついたノード30
3の両方に包含関係を示すラベル310が貼られる。
含関係を表す有向グラフによって表現される。例えば、
図9に示すように、「馬」という概念が「ほ乳類」とい
う概念に包含される概念であり、また、「鰐」という概
念が「はちゅう類」という概念に包含される概念である
場合、「ほ乳類」とラベルのついたノード302から
「馬」とラベルのついたノード304へ向かって、「は
ちゅう類」とラベルのついたノード303から「鰐」と
ラベルのついたノード305へ向かって、それぞれ包含
関係を表すリンク310が張られる。また、「ほ乳類」
という概念と「はちゅう類」という概念が共に「脊椎動
物」に包含されるとすると、「脊椎動物」とラベルのつ
いたノード301から「ほ乳類」とラベルのついたノー
ド302と「はちゅう類」とラベルのついたノード30
3の両方に包含関係を示すラベル310が貼られる。
【0019】意味ネットの概念は、原則として当該概念
を包含する概念の性質を継承することを前提としてい
る。従って、継承関係を検出するには、包含関係を示す
リンクを辿って行けばよいことになる。意味ネットで
は、リンクをたどるためにマーカを使う。例えば、「ほ
乳類」の性質である「ほ乳」を継承する概念を探すに
は、「ほ乳類」とラベルのついたノード302にマーカ
をセットし、当該マーカを包含関係を示すリンクに沿っ
て伝搬させる。当該マーカは「馬」とラベルのついたノ
ード304に到達するため「馬」が「ほ乳」という性質
を継承する概念となる。また、同様に、「脊椎動物」の
性質である「脊椎を持つ」を継承する概念を探すには、
「脊椎動物」とラベルのついたノード301にマーカを
セットし、包含関係を示すリンク上を伝搬させる。マー
カは、「ほ乳類」とラベルのついたノード302及び、
「はちゅう類」にラベルが付いたノード303を通り、
「馬」とラベルのついたノード304と「鰐」とラベル
のついたノード305に到達する。これにより、「ほ乳
類」、「はちゅう類」、「馬」、「鰐」を「脊椎を持
つ」という性質を継承する概念として見い出すことがで
きる。
を包含する概念の性質を継承することを前提としてい
る。従って、継承関係を検出するには、包含関係を示す
リンクを辿って行けばよいことになる。意味ネットで
は、リンクをたどるためにマーカを使う。例えば、「ほ
乳類」の性質である「ほ乳」を継承する概念を探すに
は、「ほ乳類」とラベルのついたノード302にマーカ
をセットし、当該マーカを包含関係を示すリンクに沿っ
て伝搬させる。当該マーカは「馬」とラベルのついたノ
ード304に到達するため「馬」が「ほ乳」という性質
を継承する概念となる。また、同様に、「脊椎動物」の
性質である「脊椎を持つ」を継承する概念を探すには、
「脊椎動物」とラベルのついたノード301にマーカを
セットし、包含関係を示すリンク上を伝搬させる。マー
カは、「ほ乳類」とラベルのついたノード302及び、
「はちゅう類」にラベルが付いたノード303を通り、
「馬」とラベルのついたノード304と「鰐」とラベル
のついたノード305に到達する。これにより、「ほ乳
類」、「はちゅう類」、「馬」、「鰐」を「脊椎を持
つ」という性質を継承する概念として見い出すことがで
きる。
【0020】上述のマーカ伝搬による継承の検出処理を
並列的に高速に処理する装置として意味ネットマシンが
いくつか発明されている(参考文献:Dan Moldovan, Wi
ng Lee, Changhwa Lin, Minhwa Chung共著、"SNAP:Para
llel Processing Applied toAI",IEEE COMPUTER, 1992
年3月等)。意味ネットマシンは、上述の意味ネットを
直接的に格納でき、マーカ伝搬を直接的に処理できるこ
とを特徴としている。マーカは、ノードから出るリンク
が複数ある場合には、当該複数のリンク上を同時並列的
に伝搬するため、意味ネットマシンは一般に並列処理を
行うことができ、継承関係の検出を高速に行うことがで
きる。また、意味ネットマシンでは、個々のノード、リ
ンク、制御機構には蓄積プログラム式コンピュータが使
われるため、ノードやリンクは単にラベルや名前を格納
するだけでなく、数値を格納し、マーカが到着したり、
通過した際に演算や制御等の処理を行うことができるよ
うになっている。また、マーカも伝搬するリンクの選択
などの制御機能や数値を格納したり、計算できる演算機
能を持つ。
並列的に高速に処理する装置として意味ネットマシンが
いくつか発明されている(参考文献:Dan Moldovan, Wi
ng Lee, Changhwa Lin, Minhwa Chung共著、"SNAP:Para
llel Processing Applied toAI",IEEE COMPUTER, 1992
年3月等)。意味ネットマシンは、上述の意味ネットを
直接的に格納でき、マーカ伝搬を直接的に処理できるこ
とを特徴としている。マーカは、ノードから出るリンク
が複数ある場合には、当該複数のリンク上を同時並列的
に伝搬するため、意味ネットマシンは一般に並列処理を
行うことができ、継承関係の検出を高速に行うことがで
きる。また、意味ネットマシンでは、個々のノード、リ
ンク、制御機構には蓄積プログラム式コンピュータが使
われるため、ノードやリンクは単にラベルや名前を格納
するだけでなく、数値を格納し、マーカが到着したり、
通過した際に演算や制御等の処理を行うことができるよ
うになっている。また、マーカも伝搬するリンクの選択
などの制御機能や数値を格納したり、計算できる演算機
能を持つ。
【0021】図10に、意味ネットマシンの概念的構成
図の一例を示す。同図において意味ネットマシンは、意
味ネットマシン全体の動作を制御する全体制御部40
1、ノード410、リンク420及びマーカ430を有
する。各ノード410は、記憶部411、演算部41
2、制御部413から構成され、記憶部411には、ラ
ベルをはじめ数値、記号、プログラムを格納することが
できる。また、演算部412、制御部413によりマー
カがノードに達した際に、ノード410の記憶部411
に格納された数値や記号やプログラムとマーカの記憶部
431に格納された数値や記号やプログラムとを用いて
演算や処理を行い、ノードの記憶部411やマーカの記
憶部431の内容を追加、削除、変更をすることができ
る。
図の一例を示す。同図において意味ネットマシンは、意
味ネットマシン全体の動作を制御する全体制御部40
1、ノード410、リンク420及びマーカ430を有
する。各ノード410は、記憶部411、演算部41
2、制御部413から構成され、記憶部411には、ラ
ベルをはじめ数値、記号、プログラムを格納することが
できる。また、演算部412、制御部413によりマー
カがノードに達した際に、ノード410の記憶部411
に格納された数値や記号やプログラムとマーカの記憶部
431に格納された数値や記号やプログラムとを用いて
演算や処理を行い、ノードの記憶部411やマーカの記
憶部431の内容を追加、削除、変更をすることができ
る。
【0022】リンク420は、記憶部421、演算部4
22、制御部423から構成され、記憶部421にはリ
ンク420の名前をはじめ数値、記号、プログラムを格
納することができる。また、演算部422、制御部42
3によりマーカがリンクを通過する際に、リンクの記憶
部421に格納された数値や記号やプログラムとマーカ
の記憶部431に格納された数値や記号やプログラムと
を用いて演算や処理を行い、リンクの記憶部421やマ
ーカ430の記憶部431の内容を追加、削除、変更を
することができる。
22、制御部423から構成され、記憶部421にはリ
ンク420の名前をはじめ数値、記号、プログラムを格
納することができる。また、演算部422、制御部42
3によりマーカがリンクを通過する際に、リンクの記憶
部421に格納された数値や記号やプログラムとマーカ
の記憶部431に格納された数値や記号やプログラムと
を用いて演算や処理を行い、リンクの記憶部421やマ
ーカ430の記憶部431の内容を追加、削除、変更を
することができる。
【0023】マーカ430は、記憶部431、演算部4
32、制御部433から構成され、記憶部431に格納
されたプログラムに従って、リンク上を伝搬する。記憶
部431には、伝搬を制御するプログラムだけでなく、
数値や記号、ノードに到達したリンクを通過する際に起
動されるプログラム等を格納することもできる。また、
演算部432、制御部433により、マーカの伝搬途中
あるいはノードやリンクに到達した際に、マーカ430
の記憶部431、ノード410の記憶部411、リンク
420の記憶部421に記憶された記号や数値に対して
演算を行ったり、プログラムの相互作用により、伝搬経
路を変更したりできる。
32、制御部433から構成され、記憶部431に格納
されたプログラムに従って、リンク上を伝搬する。記憶
部431には、伝搬を制御するプログラムだけでなく、
数値や記号、ノードに到達したリンクを通過する際に起
動されるプログラム等を格納することもできる。また、
演算部432、制御部433により、マーカの伝搬途中
あるいはノードやリンクに到達した際に、マーカ430
の記憶部431、ノード410の記憶部411、リンク
420の記憶部421に記憶された記号や数値に対して
演算を行ったり、プログラムの相互作用により、伝搬経
路を変更したりできる。
【0024】但し、図10はあくまでも概念的構成図で
あり、装置が同図と完全に同一に構成されているわけで
はない。複数のノード及びリンクが1台の蓄積プログラ
ム式コンピュータ内に仮想的に構成される場合もある
し、マーカが蓄積プログラム式コンピュータ内のデータ
として仮想的に構成される場合もある。
あり、装置が同図と完全に同一に構成されているわけで
はない。複数のノード及びリンクが1台の蓄積プログラ
ム式コンピュータ内に仮想的に構成される場合もある
し、マーカが蓄積プログラム式コンピュータ内のデータ
として仮想的に構成される場合もある。
【0025】
【発明が解決しようとする課題】しかしながら、上述の
従来の技術における認知サイクルの中で、照合処理(ス
テップ601)は、システム中に存在するすべてのルー
ルについて、システム中に存在するすべてのフレームに
わたり、ルールを満足するか否かを調べる必要があるた
め、非常に時間がかかる処理である。照合の結果を保存
し次回の照合に利用することで照合の時間を短縮するR
ETEアルゴリズム等も用いられているが、当該アルゴ
リズムを用いてさえも照合が認知実行サイクルのうちの
90%以上もの処理時間を占めると報告されている。特
に、ルール数、フレーム数の増加と共に、処理時間も増
加するため、大規模なルールベースシステムでは、推論
速度が著しく低下するという問題がある。
従来の技術における認知サイクルの中で、照合処理(ス
テップ601)は、システム中に存在するすべてのルー
ルについて、システム中に存在するすべてのフレームに
わたり、ルールを満足するか否かを調べる必要があるた
め、非常に時間がかかる処理である。照合の結果を保存
し次回の照合に利用することで照合の時間を短縮するR
ETEアルゴリズム等も用いられているが、当該アルゴ
リズムを用いてさえも照合が認知実行サイクルのうちの
90%以上もの処理時間を占めると報告されている。特
に、ルール数、フレーム数の増加と共に、処理時間も増
加するため、大規模なルールベースシステムでは、推論
速度が著しく低下するという問題がある。
【0026】また、意味ネットマシンは並列的に高速に
意味ネットを処理できるが、従来の意味ネット表現であ
る概念の包含関係は、本発明が対象とするフレーム知識
及びルール知識とは異なった形態の知識であるし、加え
て継承関係を求める処理はルールベース型システムにお
ける照合処理とは異なっている。即ち、従来の意味ネッ
トマシンにおける意味ネットの処理方法では、本発明が
対象とするルールベース型システムを直接は処理できな
いという問題がある。
意味ネットを処理できるが、従来の意味ネット表現であ
る概念の包含関係は、本発明が対象とするフレーム知識
及びルール知識とは異なった形態の知識であるし、加え
て継承関係を求める処理はルールベース型システムにお
ける照合処理とは異なっている。即ち、従来の意味ネッ
トマシンにおける意味ネットの処理方法では、本発明が
対象とするルールベース型システムを直接は処理できな
いという問題がある。
【0027】本発明は、上記の点に鑑みなされたもの
で、従来の概念知識の包含関係しか格納できず、継承関
係しか処理できなかった意味ネットマシンに、フレーム
知識及びルール知識を格納させ、ルールベースシステム
の認知実行サイクルにおける照合を処理させ、並列的に
高速に処理して従来のルールベースシステムにおける推
論が遅いという問題を解決し、ルール数やフレーム数が
増加しても速度があまり低下しないルールベースシステ
ムを実現することが可能な知識格納・照合方法を提供す
ることを目的とする。
で、従来の概念知識の包含関係しか格納できず、継承関
係しか処理できなかった意味ネットマシンに、フレーム
知識及びルール知識を格納させ、ルールベースシステム
の認知実行サイクルにおける照合を処理させ、並列的に
高速に処理して従来のルールベースシステムにおける推
論が遅いという問題を解決し、ルール数やフレーム数が
増加しても速度があまり低下しないルールベースシステ
ムを実現することが可能な知識格納・照合方法を提供す
ることを目的とする。
【0028】
【課題を解決するための手段】図1は、本発明の原理を
説明するための図である。本発明は、フレームにより表
現された事実知識と、if〜then〜形式で表現され
たルール知識とを用いて照合、競合解消、ルール実行か
らなる認知実行サイクルによって推論を行うルールベー
スシステムにおいて、記憶機能を持つノード、あるノー
ドから他のノードに向かって接続され、名前や数値を格
納可能なリンク、及びプログラム可能であり、該プログ
ラムに記述されたリンクに沿ってノード間を伝搬すると
共に、ノードやリンクに格納された数値に基づいて計算
を行って計算結果を格納することが可能なマーカから構
成される意味ネットマシンを用いて、知識の格納及び照
合を行う知識格納・照合方法において、フレーム知識と
ルール知識を意味ネットマシンにおけるノードとリンク
を用いて当該意味ネットマシンに格納し(ステップ
1)、クラス条件、定数条件そして変数条件をそれぞれ
満足するか否かの照合をマーカの伝搬によって行う(ス
テップ2)。
説明するための図である。本発明は、フレームにより表
現された事実知識と、if〜then〜形式で表現され
たルール知識とを用いて照合、競合解消、ルール実行か
らなる認知実行サイクルによって推論を行うルールベー
スシステムにおいて、記憶機能を持つノード、あるノー
ドから他のノードに向かって接続され、名前や数値を格
納可能なリンク、及びプログラム可能であり、該プログ
ラムに記述されたリンクに沿ってノード間を伝搬すると
共に、ノードやリンクに格納された数値に基づいて計算
を行って計算結果を格納することが可能なマーカから構
成される意味ネットマシンを用いて、知識の格納及び照
合を行う知識格納・照合方法において、フレーム知識と
ルール知識を意味ネットマシンにおけるノードとリンク
を用いて当該意味ネットマシンに格納し(ステップ
1)、クラス条件、定数条件そして変数条件をそれぞれ
満足するか否かの照合をマーカの伝搬によって行う(ス
テップ2)。
【0029】本発明は、フレーム知識とルール知識を格
納する際に(ステップ1)、個々のフレーム、個々のク
ラス、個々のルール、個々の条件要素、条件要素に含ま
れる個々の変数がそれぞれ相互に異なった一意な名前を
設定し、個々のフレームについて、該フレームの名前
(以下フレーム名と記す)をフレームノードに格納し、
フレームから指し示される個々のシンボル値をそれぞれ
シンボルノードに格納し、フレームが属するクラスにつ
いて、該クラスの名前をクラスノードに格納し、フレー
ムノードと、該フレームが指し示すシンボルを格納した
シンボルノードとの間に、該フレームが該シンボルを指
し示す際の属性名を名前とする双方向性の属性リンクを
張り、フレーム名を格納したノードと該フレームが属す
るクラスを格納したノードの間に双方向性リンクのクラ
スリンクを張り、個々のルールについて、該ルールの名
前をルールノードに格納し、個々のルールの条件要素の
それぞれについて、該条件要素の名前を条件要素ノード
に格納し、ルールの名前を格納したルールノードと、該
ルールが持つ条件要素の名前を格納した条件要素ノード
との間に双方向性のルールリンクを張り、条件要素ノー
ドと、条件要素が関わるクラスの名前を格納したクラス
ノードとの間に双方向性の条件要素リンクを張る。
納する際に(ステップ1)、個々のフレーム、個々のク
ラス、個々のルール、個々の条件要素、条件要素に含ま
れる個々の変数がそれぞれ相互に異なった一意な名前を
設定し、個々のフレームについて、該フレームの名前
(以下フレーム名と記す)をフレームノードに格納し、
フレームから指し示される個々のシンボル値をそれぞれ
シンボルノードに格納し、フレームが属するクラスにつ
いて、該クラスの名前をクラスノードに格納し、フレー
ムノードと、該フレームが指し示すシンボルを格納した
シンボルノードとの間に、該フレームが該シンボルを指
し示す際の属性名を名前とする双方向性の属性リンクを
張り、フレーム名を格納したノードと該フレームが属す
るクラスを格納したノードの間に双方向性リンクのクラ
スリンクを張り、個々のルールについて、該ルールの名
前をルールノードに格納し、個々のルールの条件要素の
それぞれについて、該条件要素の名前を条件要素ノード
に格納し、ルールの名前を格納したルールノードと、該
ルールが持つ条件要素の名前を格納した条件要素ノード
との間に双方向性のルールリンクを張り、条件要素ノー
ドと、条件要素が関わるクラスの名前を格納したクラス
ノードとの間に双方向性の条件要素リンクを張る。
【0030】また、本発明は、クラス条件、定数条件及
び変数条件をそれぞれ満足するか否かの照合を行う際に
(ステップ2)、マーカを、個々の条件要素ノードを出
発点として、該条件要素ノードから出る条件要素リンク
を伝搬させて、クラスノードに至らしめ、該クラスノー
ドから出るクラスリンクのすべてについて、該マーカを
複写して伝搬させて個々のマーカをそれぞれのフレーム
ノードに至らしめ、フレームノードに至ったマーカに該
フレームノードのフレーム名を格納させ、マーカの出発
点である条件要素が持つ、個々の定数条件について、該
マーカを該定数条件が関わる属性名を名前として持つ属
性リンクに沿って伝搬させてシンボルノードに至らし
め、シンボルノードが定数条件を満足する場合には、マ
ーカを該マーカの伝搬元であるフレームノードへ伝搬さ
せて、該フレームノードに至らしめ、該シンボルノード
が該定数条件を満足しない場合には、該マーカを消滅さ
せ、フレームノードへ戻ってきたマーカを、該マーカの
出発点である条件要素が持つ個々の変数条件について、
まず、該変数条件の関わる属性の名前を持つ属性リンク
に沿って伝搬させて、シンボルノードに至らしめ、次
に、該変数条件の変数と同一の変数を持つ他の条件要素
におけるすべての変数条件について、該変数条件の関わ
る属性の名前をもつ属性リンクに沿って伝搬を試み、該
伝搬の試みが該すべての変数条件について成功した場合
には、マーカに該変数の値として該シンボルノードのシ
ンボル値を格納し、該マーカを伝搬させて、該伝搬元で
あるフレームノードに至らしめ、伝搬の試みがすべての
変数条件について一つでも成功しなかった場合には、マ
ーカを消滅させ、伝搬によりフレームノードに戻ってき
たマーカを該フレームノードに繋がったクラスリンクを
伝搬させ、さらに、条件要素リンクを伝搬させて、該マ
ーカの出発点となった条件要素ノードに至らしめ、続い
て、該条件要素ノードに繋がったルールリンクを伝搬さ
せて、ルールノードに至らしめ、ルールノードにつなが
ったすべての条件要素ノードから1個以上のマーカが到
達した場合には、該到達したすべてのマーカをそのまま
残し、そうでない場合には、該ルールノードに到達した
すべてのマーカを消滅させ、ルールノードに残ったマー
カに、該マーカの間で該マーカが格納する変数につい
て、同一変数に同一の値が格納されているかをチェック
し、チェックがすべての変数について成功するマーカに
ついて、新たなマーカであるインスタンシェーションマ
ーカを生成させ、該チェックに関わったすべてのマーカ
に関する情報を該インスタンシェーションマーカに格納
し、すべてのマーカが伝搬と処理を終了した際に、イン
スタンシェーションマーカを収集して、照合結果とす
る。
び変数条件をそれぞれ満足するか否かの照合を行う際に
(ステップ2)、マーカを、個々の条件要素ノードを出
発点として、該条件要素ノードから出る条件要素リンク
を伝搬させて、クラスノードに至らしめ、該クラスノー
ドから出るクラスリンクのすべてについて、該マーカを
複写して伝搬させて個々のマーカをそれぞれのフレーム
ノードに至らしめ、フレームノードに至ったマーカに該
フレームノードのフレーム名を格納させ、マーカの出発
点である条件要素が持つ、個々の定数条件について、該
マーカを該定数条件が関わる属性名を名前として持つ属
性リンクに沿って伝搬させてシンボルノードに至らし
め、シンボルノードが定数条件を満足する場合には、マ
ーカを該マーカの伝搬元であるフレームノードへ伝搬さ
せて、該フレームノードに至らしめ、該シンボルノード
が該定数条件を満足しない場合には、該マーカを消滅さ
せ、フレームノードへ戻ってきたマーカを、該マーカの
出発点である条件要素が持つ個々の変数条件について、
まず、該変数条件の関わる属性の名前を持つ属性リンク
に沿って伝搬させて、シンボルノードに至らしめ、次
に、該変数条件の変数と同一の変数を持つ他の条件要素
におけるすべての変数条件について、該変数条件の関わ
る属性の名前をもつ属性リンクに沿って伝搬を試み、該
伝搬の試みが該すべての変数条件について成功した場合
には、マーカに該変数の値として該シンボルノードのシ
ンボル値を格納し、該マーカを伝搬させて、該伝搬元で
あるフレームノードに至らしめ、伝搬の試みがすべての
変数条件について一つでも成功しなかった場合には、マ
ーカを消滅させ、伝搬によりフレームノードに戻ってき
たマーカを該フレームノードに繋がったクラスリンクを
伝搬させ、さらに、条件要素リンクを伝搬させて、該マ
ーカの出発点となった条件要素ノードに至らしめ、続い
て、該条件要素ノードに繋がったルールリンクを伝搬さ
せて、ルールノードに至らしめ、ルールノードにつなが
ったすべての条件要素ノードから1個以上のマーカが到
達した場合には、該到達したすべてのマーカをそのまま
残し、そうでない場合には、該ルールノードに到達した
すべてのマーカを消滅させ、ルールノードに残ったマー
カに、該マーカの間で該マーカが格納する変数につい
て、同一変数に同一の値が格納されているかをチェック
し、チェックがすべての変数について成功するマーカに
ついて、新たなマーカであるインスタンシェーションマ
ーカを生成させ、該チェックに関わったすべてのマーカ
に関する情報を該インスタンシェーションマーカに格納
し、すべてのマーカが伝搬と処理を終了した際に、イン
スタンシェーションマーカを収集して、照合結果とす
る。
【0031】このように、本発明の知識格納・照合方法
及びシステムにおけるマーカ伝搬動作では、マーカがク
ラスリンク上を伝搬してフレームノードに到達すること
により、当該マーカの出発点である条件要素の中のクラ
ス条件のみを満足するフレームのみを選択することがで
きる。即ち、マーカの出発点に条件要素のうち少なくと
もクラス条件を満足するフレームノードのみに当該マー
カが到達する。
及びシステムにおけるマーカ伝搬動作では、マーカがク
ラスリンク上を伝搬してフレームノードに到達すること
により、当該マーカの出発点である条件要素の中のクラ
ス条件のみを満足するフレームのみを選択することがで
きる。即ち、マーカの出発点に条件要素のうち少なくと
もクラス条件を満足するフレームノードのみに当該マー
カが到達する。
【0032】続く定数条件に関するマーカ伝搬により、
定数条件をどれか一つでも満足しないマーカは消滅する
ため、当該マーカの出発点の条件要素の定数条件を全て
満足するフレームのみを選択することができる。即ち、
マーカの出発点の条件要素のうちクラス条件とすべての
定数条件を満足するフレームノードにのみ、当該マーカ
が残ることになる。
定数条件をどれか一つでも満足しないマーカは消滅する
ため、当該マーカの出発点の条件要素の定数条件を全て
満足するフレームのみを選択することができる。即ち、
マーカの出発点の条件要素のうちクラス条件とすべての
定数条件を満足するフレームノードにのみ、当該マーカ
が残ることになる。
【0033】さらに、変数条件に関するマーカ伝搬によ
り、個々の変数条件についてそれぞれの変数条件を満足
して対となる相手フレームを持つことでフレームを選択
することができる。満足して対となる相手フレームを持
たない変数条件を一つでも持つマーカはこの伝搬により
消滅する。これにより、マーカの出発点の条件要素のう
ち、クラス条件とすべての定数条件を満足し、かつ、個
々の変数条件についてそれぞれの変数条件を満足して対
となる相手フレームを持つフレームノードにのみマーカ
が残ることになる。
り、個々の変数条件についてそれぞれの変数条件を満足
して対となる相手フレームを持つことでフレームを選択
することができる。満足して対となる相手フレームを持
たない変数条件を一つでも持つマーカはこの伝搬により
消滅する。これにより、マーカの出発点の条件要素のう
ち、クラス条件とすべての定数条件を満足し、かつ、個
々の変数条件についてそれぞれの変数条件を満足して対
となる相手フレームを持つフレームノードにのみマーカ
が残ることになる。
【0034】但し、マーカの残ったフレームノードが必
ずしも当該マーカの出発点の条件要素を満足していると
は限らない。例えば、同一のルールに属する二つの条件
要素にそれぞれ二つの変数条件が含まれ、それぞれの変
数条件の変数が当該二つの条件要素間で同一の場合、一
方の変数条件に関する変数条件を満足するフレームの対
と他方の変数条件に関する変数条件を満足するフレーム
の対とが同一の場合にのみ、当該条件要素は満足され
る。マーカが変数条件に関する伝搬を完了してフレーム
ノードに残っているということは、変数条件を満足して
対となる相手フレームを持つことを意味するが、一方の
変数条件に関し、対となるフレームと他方の変数条件に
関して対になるフレームが同一のフレームであることを
保証するものではない。
ずしも当該マーカの出発点の条件要素を満足していると
は限らない。例えば、同一のルールに属する二つの条件
要素にそれぞれ二つの変数条件が含まれ、それぞれの変
数条件の変数が当該二つの条件要素間で同一の場合、一
方の変数条件に関する変数条件を満足するフレームの対
と他方の変数条件に関する変数条件を満足するフレーム
の対とが同一の場合にのみ、当該条件要素は満足され
る。マーカが変数条件に関する伝搬を完了してフレーム
ノードに残っているということは、変数条件を満足して
対となる相手フレームを持つことを意味するが、一方の
変数条件に関し、対となるフレームと他方の変数条件に
関して対になるフレームが同一のフレームであることを
保証するものではない。
【0035】上記伝搬の後、フレームノードに残ったマ
ーカをルールノードに伝搬させ、他の条件要素ノードか
ら到着したマーカが格納する変数値と、当該マーカが格
納する当該変数値との一致を調べることにより、上述の
フレーム対の同一性を保証することができる。もしも、
フレーム対が同一でない場合には、それぞれのマーカの
いずれかの変数は、それぞれ異なったフレームが持つ異
なった属性値と一致していることになり、二つのマーカ
の格納する変数値は一致しないことになる。従って、ふ
たつのマーカで対応する変数の変数値が同一の場合に
は、フレーム対の同一性が保証されることになる。条件
要素が二つに限らず、それ以上の個数の場合にも、同様
の考え方により、マーカ相互の間で、それぞれ対応する
変数の変数値が同一の場合には、フレーム対の同一性が
保証される。フレームの同一性が保証されず、マーカの
出発点の条件要素が満足されない場合には、当該マーカ
は消滅する。
ーカをルールノードに伝搬させ、他の条件要素ノードか
ら到着したマーカが格納する変数値と、当該マーカが格
納する当該変数値との一致を調べることにより、上述の
フレーム対の同一性を保証することができる。もしも、
フレーム対が同一でない場合には、それぞれのマーカの
いずれかの変数は、それぞれ異なったフレームが持つ異
なった属性値と一致していることになり、二つのマーカ
の格納する変数値は一致しないことになる。従って、ふ
たつのマーカで対応する変数の変数値が同一の場合に
は、フレーム対の同一性が保証されることになる。条件
要素が二つに限らず、それ以上の個数の場合にも、同様
の考え方により、マーカ相互の間で、それぞれ対応する
変数の変数値が同一の場合には、フレーム対の同一性が
保証される。フレームの同一性が保証されず、マーカの
出発点の条件要素が満足されない場合には、当該マーカ
は消滅する。
【0036】以上の動作により、ルールノードに残った
マーカは、当該マーカの出発点の条件要素を満足し、当
該条件要素を満足するフレームの名前を格納しており、
条件要素を満足した際の変数の変数値も格納しているこ
とになる。さらに、上述の処理により対応する変数の変
数値が一致するマーカの組を作れば、これらはインスタ
ンシェーションに必要な情報を全て含むことになる。こ
れらのマーカの組と、当該組に含まれるマーカが格納す
る情報に基づいて、インスタンシェーションマーカが生
成されるので、当該インスタンシェーションマーカを収
集することにより、ルールベースシステムにおける競合
集合を得ることができ、照合処理を行うことができる。
マーカは、当該マーカの出発点の条件要素を満足し、当
該条件要素を満足するフレームの名前を格納しており、
条件要素を満足した際の変数の変数値も格納しているこ
とになる。さらに、上述の処理により対応する変数の変
数値が一致するマーカの組を作れば、これらはインスタ
ンシェーションに必要な情報を全て含むことになる。こ
れらのマーカの組と、当該組に含まれるマーカが格納す
る情報に基づいて、インスタンシェーションマーカが生
成されるので、当該インスタンシェーションマーカを収
集することにより、ルールベースシステムにおける競合
集合を得ることができ、照合処理を行うことができる。
【0037】これまで主に、任意の一つのマーカの伝搬
動作に着目して説明したが、この伝搬動作はすべての条
件要素ノードに最初に配置されたマーカがすべて同時並
列的に行う。マーカ伝搬が同時並列的に行われるため、
システム中のルール数やフレーム数が増加しても、本発
明における照合処理のステップ数は増加しない。
動作に着目して説明したが、この伝搬動作はすべての条
件要素ノードに最初に配置されたマーカがすべて同時並
列的に行う。マーカ伝搬が同時並列的に行われるため、
システム中のルール数やフレーム数が増加しても、本発
明における照合処理のステップ数は増加しない。
【0038】
【発明の実施の形態】本発明における知識の格納方法及
び照合方法を説明する。まず、ルールベース型システム
中の個々のフレームが互いに異なる一意な名前を持ち、
同様に当該システム中の個々のクラスにも、互いに異な
る一意な名前を持つようにする。さらに、当該システム
中の個々のルール、ルールに含まれる個々の条件要素及
び変数にも、互いに異なる一意の名前を持つようにす
る。多くのルールベース型システムでは、上述の各要素
は既に名前を持っており、それらの名前がそのまま利用
できる。また、要素に名前を付与しないシステムにおい
ても、各要素は、必ず個々に識別子を持っており、当該
識別子から容易に名前を生成することができる。
び照合方法を説明する。まず、ルールベース型システム
中の個々のフレームが互いに異なる一意な名前を持ち、
同様に当該システム中の個々のクラスにも、互いに異な
る一意な名前を持つようにする。さらに、当該システム
中の個々のルール、ルールに含まれる個々の条件要素及
び変数にも、互いに異なる一意の名前を持つようにす
る。多くのルールベース型システムでは、上述の各要素
は既に名前を持っており、それらの名前がそのまま利用
できる。また、要素に名前を付与しないシステムにおい
ても、各要素は、必ず個々に識別子を持っており、当該
識別子から容易に名前を生成することができる。
【0039】図2は、本発明のフレーム知識の意味ネッ
トマシンへの格納方法の概念図である。同図に示す構成
は、フレーム名前を格納するノードであるフレームノー
ド101、シンボルを格納するノードであるシンボルノ
ード102、クラスの名前を格納するノードであるクラ
スノード103、フレームの名前が格納されたフレーム
ノード101と当該フレームノード101が持つ属性値
のシンボルを持つシンボルノード102との間を結び、
当該属性値に対応する属性名を名前として持つ双方向性
のリンクである属性リンク111、フレームの名前を格
納したフレームノードと当該フレームが属するクラスの
名前を格納したクラスノードとの間を結ぶ双方向性リン
クであるクラスリンク112から構成される。
トマシンへの格納方法の概念図である。同図に示す構成
は、フレーム名前を格納するノードであるフレームノー
ド101、シンボルを格納するノードであるシンボルノ
ード102、クラスの名前を格納するノードであるクラ
スノード103、フレームの名前が格納されたフレーム
ノード101と当該フレームノード101が持つ属性値
のシンボルを持つシンボルノード102との間を結び、
当該属性値に対応する属性名を名前として持つ双方向性
のリンクである属性リンク111、フレームの名前を格
納したフレームノードと当該フレームが属するクラスの
名前を格納したクラスノードとの間を結ぶ双方向性リン
クであるクラスリンク112から構成される。
【0040】本発明のフレーム知識格納方法では、ひと
つのフレームは、当該フレームの名前を格納したフレー
ムノード101、当該フレームが属するクラスの名前を
格納したクラスノード102、当該フレームノード10
1と当該クラスノード102を結ぶクラスリンク11
2、当該フレームが持つ属性名−属性値ペアに含まれる
個々の属性値のシンボルをそれぞれ格納した個々のシン
ボルノード102、当該フレームノード101と当該個
々のシンボルノード102を結び対応する属性名を名前
として持つ個々の属性リンク111として意味ネットマ
シン上に格納される。
つのフレームは、当該フレームの名前を格納したフレー
ムノード101、当該フレームが属するクラスの名前を
格納したクラスノード102、当該フレームノード10
1と当該クラスノード102を結ぶクラスリンク11
2、当該フレームが持つ属性名−属性値ペアに含まれる
個々の属性値のシンボルをそれぞれ格納した個々のシン
ボルノード102、当該フレームノード101と当該個
々のシンボルノード102を結び対応する属性名を名前
として持つ個々の属性リンク111として意味ネットマ
シン上に格納される。
【0041】ここで、一つのクラス及び一つのシンボル
はそれぞれ一つのノードに格納される。即ち、一つのク
ラスに複数のフレームが属する場合でも、当該クラスの
クラスノード103は一つだけしか作られない。当該ク
ラスに属するすべてのフレームノード101がクラスリ
ンク112によって該一つのクラスノード103と結ば
れることになる。シンボルについても同様である。
はそれぞれ一つのノードに格納される。即ち、一つのク
ラスに複数のフレームが属する場合でも、当該クラスの
クラスノード103は一つだけしか作られない。当該ク
ラスに属するすべてのフレームノード101がクラスリ
ンク112によって該一つのクラスノード103と結ば
れることになる。シンボルについても同様である。
【0042】図3は、本発明におけるルール知識の意味
ネットマシンへの格納方法の概念図である。同図に示す
構成は、ルールの名前を格納したノードであるルールノ
ード201、条件要素の名前を格納したノードである条
件要素ノード202、クラスノード103、ルールの名
前を格納したルールノード201と当該ルールに含まれ
る条件要素の名前を格納した条件要素ノード202間を
結ぶ双方向性リンクであるルールリンク211、条件要
素の名前を格納した条件要素ノードと諸条件要素のクラ
ス条件に記述されたクラスの名前を格納したクラスノー
ド103との間を結ぶ双方向性リンクである属性要素リ
ンク212より構成される。
ネットマシンへの格納方法の概念図である。同図に示す
構成は、ルールの名前を格納したノードであるルールノ
ード201、条件要素の名前を格納したノードである条
件要素ノード202、クラスノード103、ルールの名
前を格納したルールノード201と当該ルールに含まれ
る条件要素の名前を格納した条件要素ノード202間を
結ぶ双方向性リンクであるルールリンク211、条件要
素の名前を格納した条件要素ノードと諸条件要素のクラ
ス条件に記述されたクラスの名前を格納したクラスノー
ド103との間を結ぶ双方向性リンクである属性要素リ
ンク212より構成される。
【0043】本発明のルール知識格納方法では、一つの
ルールは、当該ルールの名前を格納したルールノード2
01、該ルールに含まれる個々の条件要素について該条
件要素を格納した個々の条件要素ノード202、当該ル
ールノードと当該個々の条件要素ノード202とを結ぶ
個々のルールリンク211、個々の条件要素ノード20
2と諸条件要素のクラス条件に記述されたクラスノード
103とを結ぶ条件要素リンク212、として意味ネッ
トマシン上に格納される。
ルールは、当該ルールの名前を格納したルールノード2
01、該ルールに含まれる個々の条件要素について該条
件要素を格納した個々の条件要素ノード202、当該ル
ールノードと当該個々の条件要素ノード202とを結ぶ
個々のルールリンク211、個々の条件要素ノード20
2と諸条件要素のクラス条件に記述されたクラスノード
103とを結ぶ条件要素リンク212、として意味ネッ
トマシン上に格納される。
【0044】本発明では、上述のようにしてフレーム知
識及びルール知識を格納した意味ネットマシン上で、次
に説明するようにマーカを伝搬させることでルールベー
スシステムにおける照合処理を行う。まず、マーカをす
べての条件要素ノードに配置する。以下では、当該配置
されたマーカのうちのひとつのマーカのみに注目してマ
ーカの伝搬動作を説明するが、すべてのマーカに対し
て、以下に説明するものと同様の動作を行わせる。
識及びルール知識を格納した意味ネットマシン上で、次
に説明するようにマーカを伝搬させることでルールベー
スシステムにおける照合処理を行う。まず、マーカをす
べての条件要素ノードに配置する。以下では、当該配置
されたマーカのうちのひとつのマーカのみに注目してマ
ーカの伝搬動作を説明するが、すべてのマーカに対し
て、以下に説明するものと同様の動作を行わせる。
【0045】次に、条件要素ノードに配置されたマーカ
を、配置された条件要素ノードから出る条件要素リンク
に沿って伝搬させる。条件要素リンクは、条件要素ノー
ドとクラスノードを結んでいるため、当該マーカは、ク
ラスノードに到達することになる。続いて、クラスノー
ドに到達したマーカを当該クラスノードから出るクラス
リンクを伝搬させてフレームノードに到達させる。この
際、クラスノードから出るクラスリンクが複数本ある場
合には、当該マーカをクラスリンクの数だけ複写して、
個々のマーカをそれぞれのクラスリンクに独立に伝搬さ
せる。マーカがフレームノードに至ったら、当該マーカ
に当該フレームノードのフレーム名を格納する。これま
でのマーカの伝搬により、マーカが到達したフレームノ
ードは、当該マーカの出発点である条件要素の中のクラ
ス条件を満足するフレームに対応するフレームノードで
ある。
を、配置された条件要素ノードから出る条件要素リンク
に沿って伝搬させる。条件要素リンクは、条件要素ノー
ドとクラスノードを結んでいるため、当該マーカは、ク
ラスノードに到達することになる。続いて、クラスノー
ドに到達したマーカを当該クラスノードから出るクラス
リンクを伝搬させてフレームノードに到達させる。この
際、クラスノードから出るクラスリンクが複数本ある場
合には、当該マーカをクラスリンクの数だけ複写して、
個々のマーカをそれぞれのクラスリンクに独立に伝搬さ
せる。マーカがフレームノードに至ったら、当該マーカ
に当該フレームノードのフレーム名を格納する。これま
でのマーカの伝搬により、マーカが到達したフレームノ
ードは、当該マーカの出発点である条件要素の中のクラ
ス条件を満足するフレームに対応するフレームノードで
ある。
【0046】フレームノードにマーカが至り、当該マー
カに当該フレームノードのフレーム名を格納した後、当
該マーカを当該マーカの出発点の条件要素が持つ定数条
件について、当該定数条件が関わる属性名を名前として
持つ属性リンクに沿って伝搬させる。
カに当該フレームノードのフレーム名を格納した後、当
該マーカを当該マーカの出発点の条件要素が持つ定数条
件について、当該定数条件が関わる属性名を名前として
持つ属性リンクに沿って伝搬させる。
【0047】そして、マーカが属性リンクに伝搬してシ
ンボルノードに至った際に、当該マーカに当該シンボル
が定数条件の右項に記述されたと同一のシンボルである
かどうかをチェックさせ、もしも同一でなければ、当該
マーカを消滅させる。当該チェックによりマーカが消滅
しなかった場合には、当該マーカを当該シンボルノード
に到達した際に伝搬してきた属性リンクを逆伝搬させ、
当該マーカが到達していたフレームノードに戻す。当該
マーカの出発点である条件要素が複数の定数条件を持つ
場合には、全ての定数条件について同様の動作を行わ
せ、どの定数条件のチェックにおいても消滅しなかった
マーカのみがフレームノードに残るようにする。
ンボルノードに至った際に、当該マーカに当該シンボル
が定数条件の右項に記述されたと同一のシンボルである
かどうかをチェックさせ、もしも同一でなければ、当該
マーカを消滅させる。当該チェックによりマーカが消滅
しなかった場合には、当該マーカを当該シンボルノード
に到達した際に伝搬してきた属性リンクを逆伝搬させ、
当該マーカが到達していたフレームノードに戻す。当該
マーカの出発点である条件要素が複数の定数条件を持つ
場合には、全ての定数条件について同様の動作を行わ
せ、どの定数条件のチェックにおいても消滅しなかった
マーカのみがフレームノードに残るようにする。
【0048】マーカが当該マーカの出発点である条件要
素のすべての定数条件のチェックを完了してフレームノ
ードに残った場合、当該フレームノードに対応するフレ
ームは、該マーカの出発点である条件要素のうちクラス
条件とすべての定数条件とを満足することになる。
素のすべての定数条件のチェックを完了してフレームノ
ードに残った場合、当該フレームノードに対応するフレ
ームは、該マーカの出発点である条件要素のうちクラス
条件とすべての定数条件とを満足することになる。
【0049】なお、ここで、どの定数条件のチェックに
おいても消滅しなかったマーカのみをフレームノードに
残るようにする方法については、本発明では特に規定す
るものではない。ひとつのマーカを用いて、上述の属性
リンク伝搬、チェック、属性リンク逆伝搬の動作をそれ
ぞれの定数条件について逐次的に繰り返させる方法や、
フレームノードにマーカを定数条件の数だけ複写して個
々のマーカに各々の定数条件について属性リンク伝搬、
チェック、属性リンク逆伝搬の動作を行わせ、すべての
マーカがフレームノードに戻った場合のみ、どれか一個
のマーカを残して他を消滅させ、そうでない場合は、当
該マーカを全て消滅させる方法等が考えられる。
おいても消滅しなかったマーカのみをフレームノードに
残るようにする方法については、本発明では特に規定す
るものではない。ひとつのマーカを用いて、上述の属性
リンク伝搬、チェック、属性リンク逆伝搬の動作をそれ
ぞれの定数条件について逐次的に繰り返させる方法や、
フレームノードにマーカを定数条件の数だけ複写して個
々のマーカに各々の定数条件について属性リンク伝搬、
チェック、属性リンク逆伝搬の動作を行わせ、すべての
マーカがフレームノードに戻った場合のみ、どれか一個
のマーカを残して他を消滅させ、そうでない場合は、当
該マーカを全て消滅させる方法等が考えられる。
【0050】定数条件のチェックが全て済みフレームノ
ードにマーカが残ったら、当該マーカを、当該マーカの
出発点である条件要素の変数条件について、当該変数条
件が関わる属性名を持つ属性リンクに沿って伝搬させ、
シンボルノードに到達させる。続いて、当該変数条件が
関わる変数名と同一の変数名を持つ他の変数条件に関
し、当該マーカを該他の変数条件が関わる属性名を持つ
属性リンクに沿ってシンボルノードからフレームノード
に向かって伝搬させ、フレームノードに至らせる。もし
も、当該他の変数条件が関わる属性名を持つ属性リンク
が当該シンボルノードから出ていない場合には、当該マ
ーカを消滅させる。マーカが消滅せずに、フレームノー
ドに至ったら、当該フレームノードに至る伝搬経路を2
回逆伝搬させて、定数条件のチェック完了時に当該マー
カがあったフレームノードに到達させると同時に、経由
したシンボルノードのシンボル値を、該変数条件が関わ
る変数名と対応をとってマーカ内に格納する。マーカの
出発点である条件要素が変数条件を複数含む場合には、
個々の変数条件についてマーカに上述の動作をさせ、す
べての変数条件に関する伝搬においてマーカが一切消滅
することがない場合にのみ、定数条件のチェック完了前
に当該マーカがあったフレームノードに当該マーカが残
るようにする。
ードにマーカが残ったら、当該マーカを、当該マーカの
出発点である条件要素の変数条件について、当該変数条
件が関わる属性名を持つ属性リンクに沿って伝搬させ、
シンボルノードに到達させる。続いて、当該変数条件が
関わる変数名と同一の変数名を持つ他の変数条件に関
し、当該マーカを該他の変数条件が関わる属性名を持つ
属性リンクに沿ってシンボルノードからフレームノード
に向かって伝搬させ、フレームノードに至らせる。もし
も、当該他の変数条件が関わる属性名を持つ属性リンク
が当該シンボルノードから出ていない場合には、当該マ
ーカを消滅させる。マーカが消滅せずに、フレームノー
ドに至ったら、当該フレームノードに至る伝搬経路を2
回逆伝搬させて、定数条件のチェック完了時に当該マー
カがあったフレームノードに到達させると同時に、経由
したシンボルノードのシンボル値を、該変数条件が関わ
る変数名と対応をとってマーカ内に格納する。マーカの
出発点である条件要素が変数条件を複数含む場合には、
個々の変数条件についてマーカに上述の動作をさせ、す
べての変数条件に関する伝搬においてマーカが一切消滅
することがない場合にのみ、定数条件のチェック完了前
に当該マーカがあったフレームノードに当該マーカが残
るようにする。
【0051】なお、ここで、どの変数条件に関わる伝搬
においても消滅しなかったマーカのみをフレームノード
に残るようにする方法については、本発明は特に規定す
るものではない。定数条件に関わる伝搬の場合と同様
に、一つのマーカのみを用いて伝搬を逐次的に繰り返え
させる方法や、フレームノードにてマーカを変数条件の
数だけ複写して、個々のマーカに各々の変数条件につい
て伝搬を行わせ、すべてのマーカがフレームノードに戻
った場合のみどれか一個のマーカを残して他を消滅さ
せ、そうでない場合は、当該マーカをすべて消滅させる
方法等が考えられる。
においても消滅しなかったマーカのみをフレームノード
に残るようにする方法については、本発明は特に規定す
るものではない。定数条件に関わる伝搬の場合と同様
に、一つのマーカのみを用いて伝搬を逐次的に繰り返え
させる方法や、フレームノードにてマーカを変数条件の
数だけ複写して、個々のマーカに各々の変数条件につい
て伝搬を行わせ、すべてのマーカがフレームノードに戻
った場合のみどれか一個のマーカを残して他を消滅さ
せ、そうでない場合は、当該マーカをすべて消滅させる
方法等が考えられる。
【0052】マーカが、変数条件に関わる伝搬を完了し
た後に、フレームノードに残っている場合、当該フレー
ムノードに対応するフレームは、当該マーカの出発点で
ある条件要素について、クラス条件とすべての定数条件
を満足し、かつ、個々の変数条件についてそれぞれの変
数条件を満足して対となる相手フレームを持つことを意
味する。
た後に、フレームノードに残っている場合、当該フレー
ムノードに対応するフレームは、当該マーカの出発点で
ある条件要素について、クラス条件とすべての定数条件
を満足し、かつ、個々の変数条件についてそれぞれの変
数条件を満足して対となる相手フレームを持つことを意
味する。
【0053】上記伝搬を完了した時点で、マーカがフレ
ームノードに残っている場合、当該マーカを、該マーカ
が伝搬してきたクラスリンク及び条件要素リンク上を逆
伝搬させ、当該マーカの出発点である条件要素ノードに
至らせる。引き続いて、当該マーカを当該条件要素ノー
ドに繋がったルールリンクに沿って伝搬させ、ルールノ
ードに至らせる。
ームノードに残っている場合、当該マーカを、該マーカ
が伝搬してきたクラスリンク及び条件要素リンク上を逆
伝搬させ、当該マーカの出発点である条件要素ノードに
至らせる。引き続いて、当該マーカを当該条件要素ノー
ドに繋がったルールリンクに沿って伝搬させ、ルールノ
ードに至らせる。
【0054】ルールノードに到達したマーカは、他のマ
ーカが伝搬を完了して、当該ルールノードに到達するの
を待たせ、伝搬の完了を確認した後に、当該ルールノー
ドにルールリンクでつながったすべての条件要素ノード
からマーカが当該ルールノードに到達しているかどうか
をチェックさせる。当該ルールノードにおいてマーカが
到着していない条件要素ノードがひとつでもある場合に
は、当該ルールノードに到着したマーカをすべて消滅さ
せる。当該ルールノードにすべての条件要素からマーカ
が到着している場合には、マーカに、当該マーカが格納
する変数と、他の条件要素ノードから到着したマーカが
格納する変数の間で、同一の変数に同一の値が格納され
ているかをチェックさせる。同一変数が同一の値を持っ
ている他のマーカの存在を確認できた場合にのみ、当該
同一変数に同一の値を持っているマーカの組に関し、当
該組に属するマーカが関わるフレームによってそれぞれ
対応する条件要素が満足されることになる。この場合に
は、当該フレームの組、変数と変数の値の集合、当該マ
ーカが到達しているルールのルール名等を格納したイン
スタンシェーションマーカを生成する。
ーカが伝搬を完了して、当該ルールノードに到達するの
を待たせ、伝搬の完了を確認した後に、当該ルールノー
ドにルールリンクでつながったすべての条件要素ノード
からマーカが当該ルールノードに到達しているかどうか
をチェックさせる。当該ルールノードにおいてマーカが
到着していない条件要素ノードがひとつでもある場合に
は、当該ルールノードに到着したマーカをすべて消滅さ
せる。当該ルールノードにすべての条件要素からマーカ
が到着している場合には、マーカに、当該マーカが格納
する変数と、他の条件要素ノードから到着したマーカが
格納する変数の間で、同一の変数に同一の値が格納され
ているかをチェックさせる。同一変数が同一の値を持っ
ている他のマーカの存在を確認できた場合にのみ、当該
同一変数に同一の値を持っているマーカの組に関し、当
該組に属するマーカが関わるフレームによってそれぞれ
対応する条件要素が満足されることになる。この場合に
は、当該フレームの組、変数と変数の値の集合、当該マ
ーカが到達しているルールのルール名等を格納したイン
スタンシェーションマーカを生成する。
【0055】ここで、ルールノードに到達したマーカが
当該ルールノードに到着すべき他のマーカの到着を待つ
ための方法については、本発明は本質的に規定するもの
でない。いくつかの意味ネットマシンではマーカは全く
同時に伝搬するため明示的に他のマーカの到着を待つ必
要はないし、マーカの伝搬時間がマーカによって異なる
意味ネットマシンではこの目的のために同期機構を持っ
ている。
当該ルールノードに到着すべき他のマーカの到着を待つ
ための方法については、本発明は本質的に規定するもの
でない。いくつかの意味ネットマシンではマーカは全く
同時に伝搬するため明示的に他のマーカの到着を待つ必
要はないし、マーカの伝搬時間がマーカによって異なる
意味ネットマシンではこの目的のために同期機構を持っ
ている。
【0056】以上説明したマーカの伝搬動作が完了する
と、ルールが満足される場合には、当該ルールの名前を
格納したノード上にインスタンシェーションマーカが存
在することになる。また、当該インスタンシェーション
マーカは、当該満足されたルールのルール名、当該ルー
ルを満足するフレームの組、変数、変数の値等を含んで
いる。
と、ルールが満足される場合には、当該ルールの名前を
格納したノード上にインスタンシェーションマーカが存
在することになる。また、当該インスタンシェーション
マーカは、当該満足されたルールのルール名、当該ルー
ルを満足するフレームの組、変数、変数の値等を含んで
いる。
【0057】すべての伝搬が終了した後、生成されたイ
ンスタンシェーションマーカを意味ネットマシン全体に
わたって収集することにより、競合集合を得ることがで
き、ルールベースシステムの照合処理の結果を得ること
ができる。
ンスタンシェーションマーカを意味ネットマシン全体に
わたって収集することにより、競合集合を得ることがで
き、ルールベースシステムの照合処理の結果を得ること
ができる。
【0058】
【実施例】以下、本発明の実施例を図面と共に説明す
る。最初に、本実施例における知識格納方法及び照合方
法の概要について説明する。図4は、本発明の一実施例
の知識格納方法及び照合方法の概要動作のフローチャー
トである。
る。最初に、本実施例における知識格納方法及び照合方
法の概要について説明する。図4は、本発明の一実施例
の知識格納方法及び照合方法の概要動作のフローチャー
トである。
【0059】同図において、ステップ701において条
件要素リンク処理を行い、ステップ702において、ク
ラスリンク伝搬処理を行い、ステップ703において、
フレーム名格納処理を行う。ステップ704からステッ
プ706の処理は、すべての定数条件に対して行われる
処理であり、ステップ704において、定数条件が関わ
る属性リンク伝搬処理を行い、ステップ705におい
て、シンボル値のチェック処理を行い、合致した場合に
は、ステップ706の処理に移行し、失敗した場合に
は、マーカが消滅する。ステップ706において、定数
条件が関わる属性リンク逆伝搬処理を行う。
件要素リンク処理を行い、ステップ702において、ク
ラスリンク伝搬処理を行い、ステップ703において、
フレーム名格納処理を行う。ステップ704からステッ
プ706の処理は、すべての定数条件に対して行われる
処理であり、ステップ704において、定数条件が関わ
る属性リンク伝搬処理を行い、ステップ705におい
て、シンボル値のチェック処理を行い、合致した場合に
は、ステップ706の処理に移行し、失敗した場合に
は、マーカが消滅する。ステップ706において、定数
条件が関わる属性リンク逆伝搬処理を行う。
【0060】以下のステップ707からステップ711
の処理は、すべての変数条件に対して行なわれる。ステ
ップ707において、変数条件が関わる属性リンク伝搬
処理を行い、ステップ708において、同一変数名を持
つ他の変数条件が関わる属性リンク伝搬処理を行い、ス
テップ709において、同一変数名を持つ他の変数条件
が関わる属性リンク逆伝搬処理を行い、ステップ710
において、シンボル値格納処理を行い、ステップ711
において、変数条件が関わる属性リンク逆伝搬処理を行
う。
の処理は、すべての変数条件に対して行なわれる。ステ
ップ707において、変数条件が関わる属性リンク伝搬
処理を行い、ステップ708において、同一変数名を持
つ他の変数条件が関わる属性リンク伝搬処理を行い、ス
テップ709において、同一変数名を持つ他の変数条件
が関わる属性リンク逆伝搬処理を行い、ステップ710
において、シンボル値格納処理を行い、ステップ711
において、変数条件が関わる属性リンク逆伝搬処理を行
う。
【0061】次に、ステップ712において、クラスリ
ンク逆伝搬処理を行い、ステップ713において、条件
要素リンク逆伝搬処理を行い、ステップ714におい
て、ルールリンク逆伝搬処理を行い、ステップ715に
おいて、変数の突合処理を行い、失敗した場合には、マ
ーカが消滅する。突合処理が成功した場合にはステップ
716において、インスタンシェーションマーカを生成
する。
ンク逆伝搬処理を行い、ステップ713において、条件
要素リンク逆伝搬処理を行い、ステップ714におい
て、ルールリンク逆伝搬処理を行い、ステップ715に
おいて、変数の突合処理を行い、失敗した場合には、マ
ーカが消滅する。突合処理が成功した場合にはステップ
716において、インスタンシェーションマーカを生成
する。
【0062】前述の図7に示したフレーム知識と従来の
技術の項で示したルール知識に対する本発明の知識格納
方法及び照合方法を以下に説明する。図5は、本発明の
一実施例のフレーム知識及びルール知識の格納状態を示
す。同図において、フレームノード701は、名前「学
生1」を持つフレームに対応するフレームノードであ
る。フレームノード702は、名前「成績1」を持つフ
レームに対応するフレームノードである。フレームノー
ド703は、名前「研究室1」を持つフレームに対応す
るフレームノードである。
技術の項で示したルール知識に対する本発明の知識格納
方法及び照合方法を以下に説明する。図5は、本発明の
一実施例のフレーム知識及びルール知識の格納状態を示
す。同図において、フレームノード701は、名前「学
生1」を持つフレームに対応するフレームノードであ
る。フレームノード702は、名前「成績1」を持つフ
レームに対応するフレームノードである。フレームノー
ド703は、名前「研究室1」を持つフレームに対応す
るフレームノードである。
【0063】クラスノード711は、クラス「学生」に
対応するクラスノードである。クラスノード712は、
クラス「成績」に対応するクラスノードであり、クラス
ノード713は、クラス「研究室」に対応するクラスノ
ードである。シンボルノード721は、シンボル“山田
太郎”を格納するシンボルノード、シンボルノード72
2は、シンボル“工学”を格納するシンボルノード、シ
ンボルノード723は、シンボル“情報工学”を格納す
るシンボルノード、シンボルノード724は、シンボル
“優”を格納するシンボルノード、シンボルノード72
5は、シンボル“可”を格納するシンボルノード、シン
ボルノード726は、“人工知能”を格納するシンボル
ノードである。
対応するクラスノードである。クラスノード712は、
クラス「成績」に対応するクラスノードであり、クラス
ノード713は、クラス「研究室」に対応するクラスノ
ードである。シンボルノード721は、シンボル“山田
太郎”を格納するシンボルノード、シンボルノード72
2は、シンボル“工学”を格納するシンボルノード、シ
ンボルノード723は、シンボル“情報工学”を格納す
るシンボルノード、シンボルノード724は、シンボル
“優”を格納するシンボルノード、シンボルノード72
5は、シンボル“可”を格納するシンボルノード、シン
ボルノード726は、“人工知能”を格納するシンボル
ノードである。
【0064】クラスリンク731は、フレームノード7
01とクラスノード711を接続する。クラスリンク7
32は、フレームノード702とクラスノード712を
接続する。クラスリンク733は、フレームノード70
3とクラスノード713を接続する。
01とクラスノード711を接続する。クラスリンク7
32は、フレームノード702とクラスノード712を
接続する。クラスリンク733は、フレームノード70
3とクラスノード713を接続する。
【0065】属性リンク741は、属性「学生−氏名」
に対応する属性リンクであり、属性リンク742は、属
性「学生−学部」に対応する属性リンクであり、属性リ
ンク743は、属性「学生−学科」に対応する属性リン
ク、属性リンク744は、属性「成績−氏名」に対応す
る属性リンク、属性リンク745は、属性「成績−科目
1」に対応する属性リンク、属性リンク746は、属性
「成績−科目2」に対応する属性リンク、属性リンク7
47は、属性「研究室−分野」に対応する属性リンク、
属性リンク748は、属性「研究室−学科」に対応する
属性リンク、属性リンク749は、属性「研究室−科目
1成績」に対応する属性リンクである。
に対応する属性リンクであり、属性リンク742は、属
性「学生−学部」に対応する属性リンクであり、属性リ
ンク743は、属性「学生−学科」に対応する属性リン
ク、属性リンク744は、属性「成績−氏名」に対応す
る属性リンク、属性リンク745は、属性「成績−科目
1」に対応する属性リンク、属性リンク746は、属性
「成績−科目2」に対応する属性リンク、属性リンク7
47は、属性「研究室−分野」に対応する属性リンク、
属性リンク748は、属性「研究室−学科」に対応する
属性リンク、属性リンク749は、属性「研究室−科目
1成績」に対応する属性リンクである。
【0066】条件要素ノード751は、本実施例の「ル
ール1」の第1行目の条件要素(「条件要素1」と名前
を付けることにする)に対応する条件要素ノード、ルー
ルノード781は、ルールに対応するルールノードであ
る。条件要素リンク761は、クラスノード711と条
件要素ノード751を結合させる条件要素リンクであ
り、条件要素リンク762は、クラスノード712と条
件要素ノード753を結合させる条件要素リンクであ
り、条件要素リンク763は、クラスノード713と条
件要素ノード752を結合させる条件要素リンクであ
る。
ール1」の第1行目の条件要素(「条件要素1」と名前
を付けることにする)に対応する条件要素ノード、ルー
ルノード781は、ルールに対応するルールノードであ
る。条件要素リンク761は、クラスノード711と条
件要素ノード751を結合させる条件要素リンクであ
り、条件要素リンク762は、クラスノード712と条
件要素ノード753を結合させる条件要素リンクであ
り、条件要素リンク763は、クラスノード713と条
件要素ノード752を結合させる条件要素リンクであ
る。
【0067】ルールリンク771は、ルールノード78
1と条件要素ノード751を結合させるルールノード、
ルールリンク773は、ルールノード781と条件要素
ノード752を結合させるルールノードである。図6
は、本発明の一実施例の「条件要素1」に対応する条件
要素ノード751に配置されるマーカの伝搬動作を示す
フローチャートである。
1と条件要素ノード751を結合させるルールノード、
ルールリンク773は、ルールノード781と条件要素
ノード752を結合させるルールノードである。図6
は、本発明の一実施例の「条件要素1」に対応する条件
要素ノード751に配置されるマーカの伝搬動作を示す
フローチャートである。
【0068】ステップ801において、条件要素リンク
伝搬処理を行い、ステップ802においてクラスリンク
伝搬処理を行い、ステップ803においてフレーム名格
納処理を行い、ステップ804においては「学生−学
部」に対応する属性リンクの伝搬処理を行い、ステップ
805においてシンボル“工学”のチェック処理を行
い、ステップ806においては「学生−学部」に対応す
る属性リンクの逆伝搬処理を行い、ステップ807にお
いて、「学生−氏名」に対応する属性リンクの伝搬処理
を行い、ステップ808において「成績−氏名」に対応
する属性リンクの伝搬処理を行い、ステップ809にお
いて「成績−氏名」に対応する属性リンクの逆伝搬処理
を行い、ステップ810において当該マーカがいるシン
ボルノードのシンボル値を変数値として格納する処理を
行い、ステップ811において「学生−氏名」に対応す
る属性リンクの逆伝搬処理を行い、ステップ812にお
いて、「学生−学科」に対応する属性リンクの伝搬処理
を行い、ステップ813において「研究室−学科」に対
応する属性リンクの伝搬処理を行い、ステップ814に
おいて「研究室−学科」に対応する属性リンクの逆伝搬
処理を行い、ステップ815において該マーカが居るシ
ンボルノードのシンボル値を変数値として格納する処理
を行い、ステップ816において「学生−学科」に対応
する属性リンクの逆伝搬処理を行い、ステップ817に
おいてクラスリンクの逆伝搬処理を行い、ステップ81
8において条件要素リンク逆伝搬処理を行い、ステップ
819においてルールリンクの伝搬処理を行い、ステッ
プ820においてルールリンクに到着した他のマーカと
の変数突合処理を行い、ステップ821においてインス
タンシェーション生成処理を行う。
伝搬処理を行い、ステップ802においてクラスリンク
伝搬処理を行い、ステップ803においてフレーム名格
納処理を行い、ステップ804においては「学生−学
部」に対応する属性リンクの伝搬処理を行い、ステップ
805においてシンボル“工学”のチェック処理を行
い、ステップ806においては「学生−学部」に対応す
る属性リンクの逆伝搬処理を行い、ステップ807にお
いて、「学生−氏名」に対応する属性リンクの伝搬処理
を行い、ステップ808において「成績−氏名」に対応
する属性リンクの伝搬処理を行い、ステップ809にお
いて「成績−氏名」に対応する属性リンクの逆伝搬処理
を行い、ステップ810において当該マーカがいるシン
ボルノードのシンボル値を変数値として格納する処理を
行い、ステップ811において「学生−氏名」に対応す
る属性リンクの逆伝搬処理を行い、ステップ812にお
いて、「学生−学科」に対応する属性リンクの伝搬処理
を行い、ステップ813において「研究室−学科」に対
応する属性リンクの伝搬処理を行い、ステップ814に
おいて「研究室−学科」に対応する属性リンクの逆伝搬
処理を行い、ステップ815において該マーカが居るシ
ンボルノードのシンボル値を変数値として格納する処理
を行い、ステップ816において「学生−学科」に対応
する属性リンクの逆伝搬処理を行い、ステップ817に
おいてクラスリンクの逆伝搬処理を行い、ステップ81
8において条件要素リンク逆伝搬処理を行い、ステップ
819においてルールリンクの伝搬処理を行い、ステッ
プ820においてルールリンクに到着した他のマーカと
の変数突合処理を行い、ステップ821においてインス
タンシェーション生成処理を行う。
【0069】同図のフローチャートの伝搬処理及び逆伝
搬処理において、伝搬可能なリンクが存在しない場合に
は、当該マーカは消滅するものとし、また、伝搬可能な
リンクが複数存在する場合には、当該マーカは複写され
て、各リンクを伝搬するものとする。また、フローチャ
ート中のシンボルのチェック処理及び変数の突合処理に
おいて、チェック及び突合処理において、チェック及び
突合が失敗した場合には、当該マーカは消滅するものと
する。
搬処理において、伝搬可能なリンクが存在しない場合に
は、当該マーカは消滅するものとし、また、伝搬可能な
リンクが複数存在する場合には、当該マーカは複写され
て、各リンクを伝搬するものとする。また、フローチャ
ート中のシンボルのチェック処理及び変数の突合処理に
おいて、チェック及び突合処理において、チェック及び
突合が失敗した場合には、当該マーカは消滅するものと
する。
【0070】「条件要素2」及び「条件要素3」に対応
した条件要素ノードの配置されるマーカも、それぞれの
条件要素のクラス条件、定数条件、変数条件に従った処
理の流れを持つ。以下、特に、「条件要素1」に対応す
る条件要素ノード751に配置されたマーカ(該マーカ
を『マーカ1』と呼ぶことにする)の動作を中心とし
て、本発明の実施例における照合動作を詳細に説明す
る。
した条件要素ノードの配置されるマーカも、それぞれの
条件要素のクラス条件、定数条件、変数条件に従った処
理の流れを持つ。以下、特に、「条件要素1」に対応す
る条件要素ノード751に配置されたマーカ(該マーカ
を『マーカ1』と呼ぶことにする)の動作を中心とし
て、本発明の実施例における照合動作を詳細に説明す
る。
【0071】『マーカ1』は、図6に示した処理の流れ
に従って、まず、条件要素リンクを伝搬して、該条件要
素が関わるクラス「学生」に対応するクラスノード71
1に到達する。続いて、クラスリンク伝搬処理(ステッ
プ802)によりクラスリンク731を伝搬し、名前
「学生1」のフレームに対応するフレームノード701
に到達する。『マーカ1』は、フレーム名格納処理(ス
テップ803)により、当該フレームノードのフレーム
名「学生1」を格納した後、「学生−学部」に対応する
属性リンク742を伝搬し、シンボル“工学”を格納し
たシンボルノード722に到達する。シンボル“工学”
のチェック処理(ステップ805)において、『マーカ
1』が到達したノードがシンボル“工学”であるか否か
がチェックされ、当該チェックに成功するので、『マー
カ1』は消滅せずに次に進む。
に従って、まず、条件要素リンクを伝搬して、該条件要
素が関わるクラス「学生」に対応するクラスノード71
1に到達する。続いて、クラスリンク伝搬処理(ステッ
プ802)によりクラスリンク731を伝搬し、名前
「学生1」のフレームに対応するフレームノード701
に到達する。『マーカ1』は、フレーム名格納処理(ス
テップ803)により、当該フレームノードのフレーム
名「学生1」を格納した後、「学生−学部」に対応する
属性リンク742を伝搬し、シンボル“工学”を格納し
たシンボルノード722に到達する。シンボル“工学”
のチェック処理(ステップ805)において、『マーカ
1』が到達したノードがシンボル“工学”であるか否か
がチェックされ、当該チェックに成功するので、『マー
カ1』は消滅せずに次に進む。
【0072】『マーカ1』は、「学生−学部」に対応す
る属性リンク742を逆伝搬して「学生1」に対応する
フレームノードに戻り、次に「学生−氏名」に対応する
属性リンク741を伝搬してシンボル“山田太郎”に対
応するシンボルノード721に至り、さらに「成績−氏
名」に対応する属性リンク744を伝搬して「成績1」
に対応するフレームノード702に至る。
る属性リンク742を逆伝搬して「学生1」に対応する
フレームノードに戻り、次に「学生−氏名」に対応する
属性リンク741を伝搬してシンボル“山田太郎”に対
応するシンボルノード721に至り、さらに「成績−氏
名」に対応する属性リンク744を伝搬して「成績1」
に対応するフレームノード702に至る。
【0073】続いて、「成績−氏名」に対応する属性リ
ンク744を逆伝搬して“山田太郎”に対応するシンボ
ルノード721に戻り、変数値を格納する処理(ステッ
プ810)において、変数名「?X」の変数値として
“山田太郎”を格納する。当該『マーカ1』は、変数値
を格納した後、「学生−氏名」に対応する属性リンク7
41を逆伝搬し、「学生1」に対応するフレームノード
701に戻る。以後、「?X」を含む変数条件に対する
動作を「?Y」を含む変数条件について行う。即ち、
「学生−学科」に対応する属性リンク743を伝搬して
“情報工学”を持つシンボルノード723に至り、次に
「研究室−学科」に対応する属性リンク748を伝搬し
て「研究室1」に対応するフレームノード703に至
り、「研究室−学科」に対応する属性リンク748を逆
伝搬した後に、シンボルノード723が格納するシンボ
ル“情報工学”を変数名「?Y」の変数値として『マー
カ1』内に格納し、「学生−学科」に対応する属性リン
ク743を逆伝搬して「学生1」に対応するフレームノ
ード701に戻る。
ンク744を逆伝搬して“山田太郎”に対応するシンボ
ルノード721に戻り、変数値を格納する処理(ステッ
プ810)において、変数名「?X」の変数値として
“山田太郎”を格納する。当該『マーカ1』は、変数値
を格納した後、「学生−氏名」に対応する属性リンク7
41を逆伝搬し、「学生1」に対応するフレームノード
701に戻る。以後、「?X」を含む変数条件に対する
動作を「?Y」を含む変数条件について行う。即ち、
「学生−学科」に対応する属性リンク743を伝搬して
“情報工学”を持つシンボルノード723に至り、次に
「研究室−学科」に対応する属性リンク748を伝搬し
て「研究室1」に対応するフレームノード703に至
り、「研究室−学科」に対応する属性リンク748を逆
伝搬した後に、シンボルノード723が格納するシンボ
ル“情報工学”を変数名「?Y」の変数値として『マー
カ1』内に格納し、「学生−学科」に対応する属性リン
ク743を逆伝搬して「学生1」に対応するフレームノ
ード701に戻る。
【0074】ここで、本実施例においては、これまで、
マーカが伝搬すべきリンクがすべて存在したため、処理
は順次進んできたが、もしも伝搬すべきリンクが存在し
ない場合には、その時点でマーカは消滅し、該マーカに
関しては処理が終了することになる。また、マーカが伝
搬可能なリンクが複数存在した場合には、該マーカは該
伝搬可能なリンクの数だけ複写され、それぞれのマーカ
が、図6のフローチャートに沿って互いに独立に処理を
継続する。
マーカが伝搬すべきリンクがすべて存在したため、処理
は順次進んできたが、もしも伝搬すべきリンクが存在し
ない場合には、その時点でマーカは消滅し、該マーカに
関しては処理が終了することになる。また、マーカが伝
搬可能なリンクが複数存在した場合には、該マーカは該
伝搬可能なリンクの数だけ複写され、それぞれのマーカ
が、図6のフローチャートに沿って互いに独立に処理を
継続する。
【0075】フレームノード701に戻った『マーカ
1』は、クラスリンク731の逆伝搬処理817及び条
件要素リンク逆伝搬処理818により、該マーカ1の出
発点である「条件要素1」に対応する条件要素ノード7
51に到達し、次に、ルールリンク771を伝搬してル
ールノード781に到達する。『マーカ1』は、当該ル
ールノード781に到達した時点で、当該マーカ内に、
フレーム名として「学生1」を、変数名「?X」に対応
する変数値として“山田太郎”を、変数名「?Y」に対
応する変数値として、“情報工学”をそれぞれ格納して
いることになる。
1』は、クラスリンク731の逆伝搬処理817及び条
件要素リンク逆伝搬処理818により、該マーカ1の出
発点である「条件要素1」に対応する条件要素ノード7
51に到達し、次に、ルールリンク771を伝搬してル
ールノード781に到達する。『マーカ1』は、当該ル
ールノード781に到達した時点で、当該マーカ内に、
フレーム名として「学生1」を、変数名「?X」に対応
する変数値として“山田太郎”を、変数名「?Y」に対
応する変数値として、“情報工学”をそれぞれ格納して
いることになる。
【0076】「条件要素2」に対応する条件要素ノード
752に配置されたマーカ(該マーカを『マーカ2』と
呼ぶ)及び、「条件要素3」に対応する条件要素ノード
753に配置されたマーカ(該マーカを『マーカ3』と
呼ぶ)も、上述した『マーカ1』の動作と同時並行的
に、それぞれの処理の流れに従って、伝搬、定数条件に
おけるシンボルのチェック、変数値の格納等の動作を行
う。
752に配置されたマーカ(該マーカを『マーカ2』と
呼ぶ)及び、「条件要素3」に対応する条件要素ノード
753に配置されたマーカ(該マーカを『マーカ3』と
呼ぶ)も、上述した『マーカ1』の動作と同時並行的
に、それぞれの処理の流れに従って、伝搬、定数条件に
おけるシンボルのチェック、変数値の格納等の動作を行
う。
【0077】これらのマーカの動作により、本実施例で
は、ルールノード781には、上述の『マーカ1』の他
に、『マーカ2』、『マーカ3』も到達することにな
る。また、該ルールノード781に到達した『マーカ
2』は、フレーム名として「成績1」を、変数名「?
Y」に対応する変数値として“情報工学”、変数名「?
Z」に対応する変数値として、“優”をそれぞれ格納し
ている。また、該ルールノード781に到達した『マー
カ3』は、フレーム名として「研究室1」を、変数名
「?X」に対応する変数値として、“山田太郎”を、変
数名「?Z」に対応する変数値として、“優”をそれぞ
れ格納している。
は、ルールノード781には、上述の『マーカ1』の他
に、『マーカ2』、『マーカ3』も到達することにな
る。また、該ルールノード781に到達した『マーカ
2』は、フレーム名として「成績1」を、変数名「?
Y」に対応する変数値として“情報工学”、変数名「?
Z」に対応する変数値として、“優”をそれぞれ格納し
ている。また、該ルールノード781に到達した『マー
カ3』は、フレーム名として「研究室1」を、変数名
「?X」に対応する変数値として、“山田太郎”を、変
数名「?Z」に対応する変数値として、“優”をそれぞ
れ格納している。
【0078】これらすべてのマーカが到着すると、マー
カは変数突合処理(ステップ820)を行う。『マーカ
1』は、該マーカが格納する変数「?Y」の値と『マー
カ2』の格納する変数「?Y」の合致をチェックする。
本実施例では、該変数の値は、両者とも“情報工学”で
あるため、該チェックは成功する。該チェックが成功し
た場合、『マーカ1』は、『マーカ2』と変数が合致し
たという情報を格納すると共に、該マーカに格納されて
おらず、『マーカ2』が格納している変数である「?
Z」に関し、変数名と変数値とを格納する。続いて、
『マーカ1』は、『マーカ3』との間で、該マーカに格
納された変数「?X」と変数「?Z」について変数値の
合致をチェックする。本実施例では、変数「?X」の変
数値は、両者とも“山田太郎”であり、変数「?Z」の
変数値は、両者共“優”であるので、このチェックは成
功する。
カは変数突合処理(ステップ820)を行う。『マーカ
1』は、該マーカが格納する変数「?Y」の値と『マー
カ2』の格納する変数「?Y」の合致をチェックする。
本実施例では、該変数の値は、両者とも“情報工学”で
あるため、該チェックは成功する。該チェックが成功し
た場合、『マーカ1』は、『マーカ2』と変数が合致し
たという情報を格納すると共に、該マーカに格納されて
おらず、『マーカ2』が格納している変数である「?
Z」に関し、変数名と変数値とを格納する。続いて、
『マーカ1』は、『マーカ3』との間で、該マーカに格
納された変数「?X」と変数「?Z」について変数値の
合致をチェックする。本実施例では、変数「?X」の変
数値は、両者とも“山田太郎”であり、変数「?Z」の
変数値は、両者共“優”であるので、このチェックは成
功する。
【0079】当該チェックが成功した場合、『マーカ
1』は、『マーカ3』と変数が合致したという情報を格
納する。この動作より、該ルールノード781に関する
ルールが含むすべての変数に対する変数値の合致が確認
されることになる。ルールに含まれるすべての変数に対
する変数値の合致が確認された場合、『マーカ1』は、
インスタンシェーション生成処理(ステップ821)に
より、インスタンシェーションマーカを生成する。当該
インスタンシェーションマーカには、変数の変数値が合
致するマーカの組、つまり、『マーカ1』、『マーカ
2』、『マーカ3』が格納する情報が複写されて格納さ
れる。また、当該インスタンシェーションマーカが生成
されるルールノードにあるルール名も格納される。即
ち、当該インスタンシェーションマーカには、ルール名
「ルール1」、フレーム名「学生1」、フレーム名「研
究室1」、フレーム名「成績1」、変数「?X」の値が
“山田太郎”であること、変数「?Y」の値が“情報工
学”であること、変数「?Z」の値が“優”であるこ
と、等が格納されている。
1』は、『マーカ3』と変数が合致したという情報を格
納する。この動作より、該ルールノード781に関する
ルールが含むすべての変数に対する変数値の合致が確認
されることになる。ルールに含まれるすべての変数に対
する変数値の合致が確認された場合、『マーカ1』は、
インスタンシェーション生成処理(ステップ821)に
より、インスタンシェーションマーカを生成する。当該
インスタンシェーションマーカには、変数の変数値が合
致するマーカの組、つまり、『マーカ1』、『マーカ
2』、『マーカ3』が格納する情報が複写されて格納さ
れる。また、当該インスタンシェーションマーカが生成
されるルールノードにあるルール名も格納される。即
ち、当該インスタンシェーションマーカには、ルール名
「ルール1」、フレーム名「学生1」、フレーム名「研
究室1」、フレーム名「成績1」、変数「?X」の値が
“山田太郎”であること、変数「?Y」の値が“情報工
学”であること、変数「?Z」の値が“優”であるこ
と、等が格納されている。
【0080】ここで、本実施例では、変数突合処理(ス
テップ820)及びインスタンシェーション生成処理
(ステップ821)は、『マーカ1』のみが処理し、
『マーカ2』及び『マーカ3』は何もしない。但し、こ
こで説明した変数突合処理(ステップ820)及びイン
スタンシェーション生成処理(ステップ821)の動作
は、あくまで一実施例における動作であり、当該動作
は、本発明において本質的に規定されるものではない。
ルールノードに到達したマーカから、互いに同一変数の
変数値が合致するマーカの組を見つけ出すことができ、
見つかった1組のマーカに対し、当該マーカの組の情報
を格納したインスタンシェーションマーカが1個生成さ
れるような処理であれば、どのような方法でも構わな
い。
テップ820)及びインスタンシェーション生成処理
(ステップ821)は、『マーカ1』のみが処理し、
『マーカ2』及び『マーカ3』は何もしない。但し、こ
こで説明した変数突合処理(ステップ820)及びイン
スタンシェーション生成処理(ステップ821)の動作
は、あくまで一実施例における動作であり、当該動作
は、本発明において本質的に規定されるものではない。
ルールノードに到達したマーカから、互いに同一変数の
変数値が合致するマーカの組を見つけ出すことができ、
見つかった1組のマーカに対し、当該マーカの組の情報
を格納したインスタンシェーションマーカが1個生成さ
れるような処理であれば、どのような方法でも構わな
い。
【0081】なお、本発明は、上記の実施例に限定され
ることなく、本実施例の他に、マーカでは、変数突合や
インスタンシェーションマーカ生成を行わずに、ルール
ノードにプログラムを格納して該処理を行わせる方法等
が考えられる。また、マーカが変数突合やインスタンシ
ェーションマーカ生成を行う場合でも、『マーカ1』の
みが行うという動作は、あくまでも本実施例におけるも
のであり、本発明により本質的に規定されるものではな
い。
ることなく、本実施例の他に、マーカでは、変数突合や
インスタンシェーションマーカ生成を行わずに、ルール
ノードにプログラムを格納して該処理を行わせる方法等
が考えられる。また、マーカが変数突合やインスタンシ
ェーションマーカ生成を行う場合でも、『マーカ1』の
みが行うという動作は、あくまでも本実施例におけるも
のであり、本発明により本質的に規定されるものではな
い。
【0082】他に、『マーカ2』のみが処理を行う方
法、すべてのマーカが処理を行った後、重複して生成さ
れたインスタンシェーションマーカを削除する方法等が
考えられる。以上の動作により、本実施例では、ルール
ノード781上に「ルール1」を満足するフレームの情
報を格納したインスタンシェーションマーカが照合の結
果として得られる。
法、すべてのマーカが処理を行った後、重複して生成さ
れたインスタンシェーションマーカを削除する方法等が
考えられる。以上の動作により、本実施例では、ルール
ノード781上に「ルール1」を満足するフレームの情
報を格納したインスタンシェーションマーカが照合の結
果として得られる。
【0083】なお、本発明は、上記の実施例に限定され
ることなく、特許請求の範囲内で種々変更・応用が可能
である。
ることなく、特許請求の範囲内で種々変更・応用が可能
である。
【0084】
【発明の効果】上述のように、本発明によれば、フレー
ム知識とルール知識を意味ネットマシン上に格納し、当
該意味ネットマシンのノード及びリンク上にマーカを伝
搬させることにより、照合処理を行う。マーカは、最初
に条件要素の数だけ配置され、さらに、伝搬処理におい
て伝搬可能なリンクが複数ある場合には、該伝搬可能な
リンクの数だけ複写され、これらマーカがすべて独立的
並列的に動作するため、照合処理は、並列的に処理され
ることになる。ルール数の増加は一般に、条件要素数の
増加を招き、従来の方法では、照合処理に要する時間を
増加させるが、本発明の照合方法では、条件要素数が増
加しても、独立的並列的に動作するマーカが増加するこ
とにより、照合処理に要する時間は略一定に保たれる。
ム知識とルール知識を意味ネットマシン上に格納し、当
該意味ネットマシンのノード及びリンク上にマーカを伝
搬させることにより、照合処理を行う。マーカは、最初
に条件要素の数だけ配置され、さらに、伝搬処理におい
て伝搬可能なリンクが複数ある場合には、該伝搬可能な
リンクの数だけ複写され、これらマーカがすべて独立的
並列的に動作するため、照合処理は、並列的に処理され
ることになる。ルール数の増加は一般に、条件要素数の
増加を招き、従来の方法では、照合処理に要する時間を
増加させるが、本発明の照合方法では、条件要素数が増
加しても、独立的並列的に動作するマーカが増加するこ
とにより、照合処理に要する時間は略一定に保たれる。
【0085】また、フレーム数が増加した場合にも、従
来の照合方法では、照合処理に要する時間は増加する
が、本発明の知識格納方法及び照合方法では、フレーム
数の増加によってクラスリンクが増加し、マーカがクラ
スリンクを伝搬する際に多数複写されるため、独立的並
列的に動作するマーカ数が増加し、照合処理に要する時
間は略一定に保たれる。
来の照合方法では、照合処理に要する時間は増加する
が、本発明の知識格納方法及び照合方法では、フレーム
数の増加によってクラスリンクが増加し、マーカがクラ
スリンクを伝搬する際に多数複写されるため、独立的並
列的に動作するマーカ数が増加し、照合処理に要する時
間は略一定に保たれる。
【0086】このように、本発明の知識格納方法及び照
合方法によれば、照合処理が高速でルール数やフレーム
数の増加が照合処理の速度を低下させないルールベース
システムを実現できる。
合方法によれば、照合処理が高速でルール数やフレーム
数の増加が照合処理の速度を低下させないルールベース
システムを実現できる。
【図1】本発明の原理を説明するための図である。
【図2】本発明のフレーム知識の意味ネットマシンへの
格納方法の概念図である。
格納方法の概念図である。
【図3】本発明におけるルール知識の意味ネットマシン
への格納方法の概念図である。
への格納方法の概念図である。
【図4】本発明の一実施例の知識格納方法及び照合方法
の概要動作のフローチャートである。
の概要動作のフローチャートである。
【図5】本発明の一実施例のフレーム知識及びルール知
識の格納状態を示す図である。
識の格納状態を示す図である。
【図6】本発明の一実施例の「条件要素1」に対応する
条件要素ノード751に配置されるマーカの伝搬動作を
示すフローチャートである。
条件要素ノード751に配置されるマーカの伝搬動作を
示すフローチャートである。
【図7】フレーム知識の概念図である。
【図8】認知実行サイクルのフローチャートである。
【図9】従来の意味ネットの一例を示す図である。
【図10】意味ネットマシンの概念的構成図の一例であ
る。
る。
101 フレームノード 102 シンボルノード 103 クラスノード 111 属性リンク 112 クラスリンク 201 ルールノード 202 条件要素ノード 211 ルールリンク 212 条件要素リンク 301 「脊椎動物」とラベルのついたノード 302 「ほ乳類」とラベルのついたノード 303 「はちゅう類」とラベルのついたノード 304 「馬」とラベルのついたノード 305 「鰐」とラベルのついたノード 310 包含関係を示すラベル 401 全体制御部 410 ノード 411 ノードの記憶部 412 ノードの演算部 413 ノードの制御部 420 リンク 421 リンクの記憶部 422 リンクの演算部 423 リンクの制御部 430 マーカ 431 マーカの記憶部 432 マーカの演算部 433 マーカの制御部500,520,540 フレ
ーム知識 501,521,541 名前 502,522,542 クラス 503,504,505,523,524,525,5
43,544,545属性名−属性値ペア 511,512,513,531,532,533,5
51,552,553属性名 514,515,516,534,535,536,5
54,555,556属性値 701 名前「学生1」を持つフレームに対応するフレ
ームノード 702 名前「成績1」を持つフレームに対応するフレ
ームノード 703 名前「研究室1」を持つフレームに対応するフ
レームノード 711 クラス「学生」に対応するクラスノード 712 クラス「成績」に対応するクラスノード 713 クラス「研究室」に対応するクラスノード 721 シンボル“山田太郎”を格納するシンボルノー
ド 722 シンボル“工学”を格納するシンボルノード 723 シンボル“情報工学”を格納するシンボルノー
ド 724 シンボル“優”を格納するシンボルノード 725 シンボル“可”を格納するシンボルノード72
6 シンボル“人工知能”を格納するシンボルノード 731,732,733 クラスリンク 741 属性「学生−氏名」に対応する属性リンク 742 属性「学生−学部」に対応する属性リンク 743 属性「学生−学科」に対応する属性リンク 744 属性「成績−氏名」に対応する属性リンク 745 属性「成績−科目1」に対応する属性リンク 746 属性「成績−科目2」に対応する属性リンク 747 属性「研究室−分野」に対応する属性リンク 748 属性「研究室−学科」に対応する属性リンク 749 属性「研究室−科目1成績」に対応する属性リ
ンク 751 条件要素1に対応する条件要素ノード 752 条件要素2に対応する条件要素ノード 753 条件要素3に対応する条件要素ノード 761,762,763 条件要素リンク 771,772,773 ルールリンク 781 ルールノード
ーム知識 501,521,541 名前 502,522,542 クラス 503,504,505,523,524,525,5
43,544,545属性名−属性値ペア 511,512,513,531,532,533,5
51,552,553属性名 514,515,516,534,535,536,5
54,555,556属性値 701 名前「学生1」を持つフレームに対応するフレ
ームノード 702 名前「成績1」を持つフレームに対応するフレ
ームノード 703 名前「研究室1」を持つフレームに対応するフ
レームノード 711 クラス「学生」に対応するクラスノード 712 クラス「成績」に対応するクラスノード 713 クラス「研究室」に対応するクラスノード 721 シンボル“山田太郎”を格納するシンボルノー
ド 722 シンボル“工学”を格納するシンボルノード 723 シンボル“情報工学”を格納するシンボルノー
ド 724 シンボル“優”を格納するシンボルノード 725 シンボル“可”を格納するシンボルノード72
6 シンボル“人工知能”を格納するシンボルノード 731,732,733 クラスリンク 741 属性「学生−氏名」に対応する属性リンク 742 属性「学生−学部」に対応する属性リンク 743 属性「学生−学科」に対応する属性リンク 744 属性「成績−氏名」に対応する属性リンク 745 属性「成績−科目1」に対応する属性リンク 746 属性「成績−科目2」に対応する属性リンク 747 属性「研究室−分野」に対応する属性リンク 748 属性「研究室−学科」に対応する属性リンク 749 属性「研究室−科目1成績」に対応する属性リ
ンク 751 条件要素1に対応する条件要素ノード 752 条件要素2に対応する条件要素ノード 753 条件要素3に対応する条件要素ノード 761,762,763 条件要素リンク 771,772,773 ルールリンク 781 ルールノード
Claims (3)
- 【請求項1】 フレームにより表現された事実知識と、
if〜then〜形式で表現されたルール知識とを用い
て、照合、競合解消、ルール実行からなる認知実行サイ
クルによって推論を行うルールベースシステムにおい
て、 記憶機能を持つノード、あるノードから他のノードに向
かって接続され、名前や数値を格納可能なリンク、及び
プログラム可能であり、該プログラムに記述されたリン
クに沿ってノード間を伝搬すると共に、ノードやリンク
に格納された数値に基づいて計算を行って計算結果を格
納することが可能なマーカから構成される意味ネットマ
シンを用いて、知識の格納及び照合を行う知識格納・照
合方法において、 フレーム知識とルール知識を前記意味ネットマシンにお
けるノードとリンクを用いて該意味ネットマシンに格納
し、 クラス条件、定数条件そして変数条件をそれぞれ満足す
るか否かの照合をマーカの伝搬によって行うことを特徴
とする知識格納・照合方法。 - 【請求項2】 前記フレーム知識と前記ルール知識を格
納する際に、 個々のフレーム、個々のクラス、個々のルール、個々の
条件要素、該条件要素に含まれる個々の変数がそれぞれ
相互に異なった一意な名前を設定し、 前記個々のフレームについて、該フレームの名前(以下
フレーム名と記す)をノード(以下、フレームノードと
記す)に格納し、 前記フレームから指し示される個々のシンボル(以下、
シンボル値と記す)をそれぞれノード(以下、シンボル
ノードと記す)に格納し、 前記フレームが属するクラスについて、該クラスの名前
をノード(以下、クラスノードと記す)に格納し、 前記フレーム名を格納したフレームノードと、該フレー
ムが指し示すシンボルを格納したシンボルノードとの間
に、該フレームが該シンボルを指し示す際の属性名を名
前とする双方向性リンク(以下、属性リンクと記す)を
張り、 前記フレームの名前を格納したフレームノードと該フレ
ームが属するクラスを格納したクラスノードの間に双方
向性リンク(以下、クラスリンクと記す)を張り、 前記個々のルールについて、該ルールの名前をノード
(以下、ルールノードと記す)に格納し、 前記個々のルールの条件要素のそれぞれについて、該条
件要素の名前をノード(以下、条件要素ノードと記す)
に格納し、 前記ルールの名前を格納した前記ルールノードと、該ル
ールが持つ条件要素の名前を格納した前記条件要素ノー
ドとの間に双方向性リンク(以下、ルールリンクと記
す)を張り、 前記条件要素ノードと、前記条件要素が関わるクラスの
名前を格納したクラスノードとの間に双方向性リンク
(以下、条件要素リンクと記す)を張る請求項1記載の
知識格納・照合方法。 - 【請求項3】 前記クラス条件、定数条件及び変数条件
をそれぞれ満足するか否かの照合を行う際に、 前記マーカを、個々の条件要素ノードを出発点として、
該条件要素ノードから出る条件要素リンクを伝搬させ
て、クラスノードに至らしめ、該クラスノードから出る
クラスリンクのすべてについて、該マーカを複写して伝
搬させて個々のマーカをそれぞれのフレームノードに至
らしめ、 前記フレームノードに至ったマーカに該フレームノード
のフレーム名を格納させ、 前記マーカの出発点である条件要素が持つ、個々の定数
条件について、該マーカを該定数条件が関わる属性名を
名前として持つ属性リンクに沿って伝搬させてシンボル
ノードに至らしめ、 前記シンボルノードが前記定数条件を満足する場合に
は、前記マーカを該マーカの伝搬元であるフレームノー
ドへ伝搬させて、該フレームノードに至らしめ、該シン
ボルノードが該定数条件を満足しない場合には、該マー
カを消滅させ、 前記フレームノードへ戻ってきたマーカを、該マーカの
出発点である条件要素が持つ個々の変数条件について、 まず、該変数条件の関わる属性の名前を持つ属性リンク
に沿って伝搬させて、シンボルノードに至らしめ、 次に、該変数条件の変数と同一の変数を持つ他の条件要
素におけるすべての変数条件について、該変数条件の関
わる属性の名前をもつ属性リンクに沿って伝搬を試み、 該伝搬の試みが該すべての変数条件について成功した場
合には、前記マーカに該変数の値として該シンボルノー
ドのシンボル値を格納し、該マーカを伝搬させて、該伝
搬元であるフレームノードに至らしめ、 前記伝搬の試みがすべての変数条件について一つでも成
功しなかった場合には、前記マーカを消滅させ、 前記伝搬により前記フレームノードに戻ってきたマーカ
を該フレームノードに繋がったクラスリンクを伝搬さ
せ、さらに、条件要素リンクを伝搬させて、該マーカの
出発点となった条件要素ノードに至らしめ、続いて、該
条件要素ノードに繋がったルールリンクを伝搬させて、
ルールノードに至らしめ、 前記ルールノードにつながったすべての条件要素ノード
から1個以上のマーカが到達した場合には、該到達した
すべてのマーカをそのまま残し、そうでない場合には、
該ルールノードに到達したすべてのマーカを消滅させ、 前記ルールノードに残ったマーカに、 該マーカの間で該マーカが格納する変数について、同一
変数に同一の値が格納されているかをチェックし、 前記チェックがすべての変数について成功するマーカに
ついて、新たなマーカを生成させ(以下、インスタンシ
ェーションマーカと記す)、該チェックに関わったすべ
てのマーカに関する情報を該インスタンシェーションマ
ーカに格納し、 すべてのマーカが前記伝搬と処理を終了した際に、前記
インスタンシェーションマーカを収集して、照合結果と
する請求項1、2記載の知識格納・照合方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8303294A JPH10143370A (ja) | 1996-11-14 | 1996-11-14 | 知識格納・照合方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8303294A JPH10143370A (ja) | 1996-11-14 | 1996-11-14 | 知識格納・照合方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH10143370A true JPH10143370A (ja) | 1998-05-29 |
Family
ID=17919229
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8303294A Pending JPH10143370A (ja) | 1996-11-14 | 1996-11-14 | 知識格納・照合方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH10143370A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6763516B2 (en) | 2000-01-31 | 2004-07-13 | Fujitsu Limited | Convention checking apparatus, convention checking system, convention checking method, and storage medium on which is recorded a convention checking program |
| CN110046282A (zh) * | 2019-02-26 | 2019-07-23 | 维正知识产权服务有限公司 | 数据相关性示图生成方法及存储介质、硬件设备 |
-
1996
- 1996-11-14 JP JP8303294A patent/JPH10143370A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6763516B2 (en) | 2000-01-31 | 2004-07-13 | Fujitsu Limited | Convention checking apparatus, convention checking system, convention checking method, and storage medium on which is recorded a convention checking program |
| CN110046282A (zh) * | 2019-02-26 | 2019-07-23 | 维正知识产权服务有限公司 | 数据相关性示图生成方法及存储介质、硬件设备 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Wilkins | Domain-independent planning representation and plan generation | |
| EP0314650B1 (en) | Method for optimized rete pattern matching in pattern-directed, rule-based artificial intelligence production systems | |
| Yang | A theory of conflict resolution in planning | |
| JPH0341519A (ja) | 知識処理システム | |
| KR19990077006A (ko) | 유전자 프로그래밍방법 및 시스템 | |
| Cooper et al. | The Hamiltonian cycle and travelling salesman problems in cP systems | |
| Chan et al. | Exploratory design using constraints | |
| US4956791A (en) | Merging pattern-matching networks including retes | |
| Xue et al. | Embedding decision diagrams into generative adversarial networks | |
| JPH10143370A (ja) | 知識格納・照合方法 | |
| JP2005115498A (ja) | ソフトウェア開発前処理方法、ソフトウェア制御方法、ソフトウェア開発方法並びにソフトウェア開発装置 | |
| Kabanza | Synthesis of Reactive Plans for Multi-Path Environments. | |
| Capkovic | Modelling and control of discrete event dynamic systems | |
| JPH05341999A (ja) | 実時間で状態を表わす網状判断回路網 | |
| van de Ven et al. | Boosting local search using machine learning: a study on improving local search by graph classification in determining capacity of shunting yards | |
| Krause et al. | AutoGRAMS: Autonomous Graphical Agent Modeling Software | |
| CN114943505B (zh) | 服务流程重合判别模型的构建方法及服务流程融合方法 | |
| JP2001117774A (ja) | 適応化機構を備えたプロダクションシステム | |
| Dusi et al. | Quick Subset Construction | |
| Lehmann et al. | Solving planning problems by partial deduction | |
| JPH05204646A (ja) | 知識処理システム | |
| JPH07334371A (ja) | 推論装置 | |
| Molina et al. | Combining Reinforcement Learning and Causal Models for Robotic Applications | |
| Angelova et al. | Implementation of the reducing operators over generalized nets in GN IDE | |
| JPH10143535A (ja) | 類似度計算方法および類似概念検索方法 |