JPH0432927A - 高速推論装置 - Google Patents
高速推論装置Info
- Publication number
- JPH0432927A JPH0432927A JP2133400A JP13340090A JPH0432927A JP H0432927 A JPH0432927 A JP H0432927A JP 2133400 A JP2133400 A JP 2133400A JP 13340090 A JP13340090 A JP 13340090A JP H0432927 A JPH0432927 A JP H0432927A
- Authority
- JP
- Japan
- Prior art keywords
- fact data
- inference
- node
- storage area
- 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
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
産業上の利用分野
本発明は、ルールや事実の知識を用いた推論を高速に行
う高速推論装置に関するものである。
う高速推論装置に関するものである。
従来の技術
従来、事実を表現するデータ (以降事実データと呼ぶ
)と規則(以降ルールと呼ぶ)の照合を行って推論を実
行する推論装置は、事実データとルールの照合処理を数
多く行わなければならなかった。従って、ルールや事実
データが膨大である場合や、リアルタイム処理が要求さ
れるような場合に、推論に時間がかかりすぎるという問
題があった。
)と規則(以降ルールと呼ぶ)の照合を行って推論を実
行する推論装置は、事実データとルールの照合処理を数
多く行わなければならなかった。従って、ルールや事実
データが膨大である場合や、リアルタイム処理が要求さ
れるような場合に、推論に時間がかかりすぎるという問
題があった。
これを解決するために、ルールの条件部を弁別ネットワ
ークに展開して高速に照合を行う方式がよく知られてい
る。弁別ネットワークは、チャールズ・エル・フォーギ
ーによる”ア・ファスト・アルゴリズム・フォー・ザ・
メニー・パターン/メニ、−オブジェクト・パターン・
マツチ・プロプレム”アーティフィシャル・インテリジ
ェンス、1982年(Chales L、 Forgy
+ ”Rete : AFast Algorithm
for the Many Pattern/M
any 0bject Pattern Match
Problem *Artificial Int
elligence、 Vol、 19. pp。
ークに展開して高速に照合を行う方式がよく知られてい
る。弁別ネットワークは、チャールズ・エル・フォーギ
ーによる”ア・ファスト・アルゴリズム・フォー・ザ・
メニー・パターン/メニ、−オブジェクト・パターン・
マツチ・プロプレム”アーティフィシャル・インテリジ
ェンス、1982年(Chales L、 Forgy
+ ”Rete : AFast Algorithm
for the Many Pattern/M
any 0bject Pattern Match
Problem *Artificial Int
elligence、 Vol、 19. pp。
17−37. 1982.)に記載された構成が一般に
知られている。
知られている。
以下、第10図、第11図、および第12図を参照しな
がら、弁別ネットワークを用いて推論を行う従来の推論
装置を簡単に説明する。
がら、弁別ネットワークを用いて推論を行う従来の推論
装置を簡単に説明する。
第10図において、推論装置701は、推論を行う推論
エンジン2とルール記憶領域3と事実データ記憶領域4
とから構成されている。ルールは、条件を表す部分(条
件部)とその条件部が満たされたときに実行される実行
部とから構成される。
エンジン2とルール記憶領域3と事実データ記憶領域4
とから構成されている。ルールは、条件を表す部分(条
件部)とその条件部が満たされたときに実行される実行
部とから構成される。
第11図は、従来の推論装置の推論の処理フローチャー
トである。推論が開始されると(ステップ70)、推論
エンジンはまずルール条件部と事実データとの照合を行
う (ステップ71〜72)。次に、照合でルール条件
を満たしたルールと事実データの組み合わせの中から優
先度の最も高い組み合わせを一つ選択しくステップ73
)、ルールの実行部の処理を行う (ステップ74)。
トである。推論が開始されると(ステップ70)、推論
エンジンはまずルール条件部と事実データとの照合を行
う (ステップ71〜72)。次に、照合でルール条件
を満たしたルールと事実データの組み合わせの中から優
先度の最も高い組み合わせを一つ選択しくステップ73
)、ルールの実行部の処理を行う (ステップ74)。
実行部の処理によって、事実データを削除したり追加し
たシすることもできる。
たシすることもできる。
ルールの実行部処理が終わると照合(ステップ71)に
戻る。ルールと事実データの照合が成立しなくなるまで
照合とルール実行部実行のサイクルを繰り返す(ステッ
プ72.75)。
戻る。ルールと事実データの照合が成立しなくなるまで
照合とルール実行部実行のサイクルを繰り返す(ステッ
プ72.75)。
第12図は、従来の推論装置の弁別ネットワークの例を
示す概念図である。
示す概念図である。
弁別ネットワークとは、ルールを照合に都合のよいネッ
トワークの形式に変換したものである。
トワークの形式に変換したものである。
弁別ネットワークを用いた照合処理とは、追加または削
除された事実データが弁別ネットワークの先頭ノードか
ら各ノードの指示に従って処理を行って弁別ネットワー
クをたどることである。弁別ネットワークの終端までた
どりつくことが、あるルール条件部が成立したことを意
味する。
除された事実データが弁別ネットワークの先頭ノードか
ら各ノードの指示に従って処理を行って弁別ネットワー
クをたどることである。弁別ネットワークの終端までた
どりつくことが、あるルール条件部が成立したことを意
味する。
弁別ネットワークは、次の2点により従来の照合よりも
高速な照合を実現している。第1に、ルール条件部の共
通部分を共通のテストノードで表現して事実データに対
する冗長な条件のチエツクを避けていること。第2に、
現在の事実データの照合状況を弁別ネットワーク内の記
憶ノードに記憶しているため、照合処理は事実データの
変化分のみで済むということである。
高速な照合を実現している。第1に、ルール条件部の共
通部分を共通のテストノードで表現して事実データに対
する冗長な条件のチエツクを避けていること。第2に、
現在の事実データの照合状況を弁別ネットワーク内の記
憶ノードに記憶しているため、照合処理は事実データの
変化分のみで済むということである。
弁別ネットワークの各ノードは、ノードで行われる処理
によって先頭ノード、テストノード、記憶ノード、結合
ノード、終端ノードの5種類に分類できる。先頭ノード
は、事実データが最初に処理が行われるルートノードで
ある。テストノード紘、ルール条件部内で行われる条件
の一つに対応している。テストノードをたどる事実デー
タは、事実データの値をチエツクして成立するならば次
のノードへたどり、そうでなければたどらない。
によって先頭ノード、テストノード、記憶ノード、結合
ノード、終端ノードの5種類に分類できる。先頭ノード
は、事実データが最初に処理が行われるルートノードで
ある。テストノード紘、ルール条件部内で行われる条件
の一つに対応している。テストノードをたどる事実デー
タは、事実データの値をチエツクして成立するならば次
のノードへたどり、そうでなければたどらない。
記憶ノードは、たどりついた事実データを記憶するノー
ドである。たどっている事実データが追加の場合には、
記憶ノードに記憶され、削除の場合には記憶ノードから
削除する。記憶ノードには、テストノードと結合ノード
の間にあるα記憶ノードと、結合ノードの次にあるβ記
憶ノードとがある。結合ノードでは、たどってきた事実
データの値の関係をチエツクし、成立する場合には事実
データを結合して次のノードをたどる。従って、α記憶
ノードには結合していない事実データが記憶され、β記
憶ノードには結合された事実データが記憶される。終端
ノードは、弁別ネットワークの終端である。終端ノード
にたどりついた事実データが存在するとき、たどりつい
た事実データによっであるルールの条件部のすべてが満
たされたことになる。
ドである。たどっている事実データが追加の場合には、
記憶ノードに記憶され、削除の場合には記憶ノードから
削除する。記憶ノードには、テストノードと結合ノード
の間にあるα記憶ノードと、結合ノードの次にあるβ記
憶ノードとがある。結合ノードでは、たどってきた事実
データの値の関係をチエツクし、成立する場合には事実
データを結合して次のノードをたどる。従って、α記憶
ノードには結合していない事実データが記憶され、β記
憶ノードには結合された事実データが記憶される。終端
ノードは、弁別ネットワークの終端である。終端ノード
にたどりついた事実データが存在するとき、たどりつい
た事実データによっであるルールの条件部のすべてが満
たされたことになる。
発明が解決しようとする課題
しかしながら、従来の弁別ネットワークを使った推論で
は、一般的に効率は向上するが、推論中に事実データの
追加または削除が頻繁に起る場合に、効率が悪くなると
いう欠点があった。
は、一般的に効率は向上するが、推論中に事実データの
追加または削除が頻繁に起る場合に、効率が悪くなると
いう欠点があった。
また、事実データの作成を行うごとに新たな記憶領域を
確保する方法では、記憶領域の容量が膨大となシ、メモ
リ利用効率が低下し、性能効率も低下する。そのため、
記憶領域の管理が煩雑になるという課題があった。
確保する方法では、記憶領域の容量が膨大となシ、メモ
リ利用効率が低下し、性能効率も低下する。そのため、
記憶領域の管理が煩雑になるという課題があった。
本発明は、以上のような弁別ネットワークの効率上の欠
点および記憶領域の管理の方法の欠点に鑑み、第1の目
的は、弁別ネットワーク内の事実データ削除処理の高速
化を行うことである。また、第2の目的は、事実データ
記憶領域の記憶処理の高速化を行うことである。更に、
第3の目的は、弁別ネットワーク内の事実データ追加処
理の高速化を行うことである。
点および記憶領域の管理の方法の欠点に鑑み、第1の目
的は、弁別ネットワーク内の事実データ削除処理の高速
化を行うことである。また、第2の目的は、事実データ
記憶領域の記憶処理の高速化を行うことである。更に、
第3の目的は、弁別ネットワーク内の事実データ追加処
理の高速化を行うことである。
課題を解決するための手段
この目的を達成するために、本発明の第1の発明は、弁
別ネットワークを記憶するルール記憶領域と、事実や推
論状況を表現する事実データを記憶する事実データ記憶
領域と、弁別ネットワークと事実データの照合によって
推論を行う推論エンジンと、事実データと弁別ネットワ
ーク内の記憶ノードとの対応を記憶する記憶ノードテー
ブルとを設けるように構成されている。
別ネットワークを記憶するルール記憶領域と、事実や推
論状況を表現する事実データを記憶する事実データ記憶
領域と、弁別ネットワークと事実データの照合によって
推論を行う推論エンジンと、事実データと弁別ネットワ
ーク内の記憶ノードとの対応を記憶する記憶ノードテー
ブルとを設けるように構成されている。
また、本発明の第2の発明は、弁別ネットワークを記憶
するルール記憶領域と、事実や推論状況を表現する事実
データを記憶する事実データ記憶領域と、弁別ネットワ
ークと事実データの照合によって推論を行う推論エンジ
ンと、事実データ記憶領域の空き領域と使用領域を管理
する記憶領域管理部とを設けるように構成されている。
するルール記憶領域と、事実や推論状況を表現する事実
データを記憶する事実データ記憶領域と、弁別ネットワ
ークと事実データの照合によって推論を行う推論エンジ
ンと、事実データ記憶領域の空き領域と使用領域を管理
する記憶領域管理部とを設けるように構成されている。
更に、本発明の第3の発明は、弁別ネットワークを記憶
するルール記憶領域と、事実や推論状況を表現する事実
データを記憶する事実データ記憶領域と、弁別ネットワ
ークと事実データの照合によって推論を行う推論エンジ
ンと、事実データの作成時に照合を開始する弁別ネット
ワークのノードを見つけ出す推論前処理部と、事実デー
タを作成するルールの実行部に対して照合開始ノードを
記憶する入力ノードテーブルとを設けるように構成され
ている。
するルール記憶領域と、事実や推論状況を表現する事実
データを記憶する事実データ記憶領域と、弁別ネットワ
ークと事実データの照合によって推論を行う推論エンジ
ンと、事実データの作成時に照合を開始する弁別ネット
ワークのノードを見つけ出す推論前処理部と、事実デー
タを作成するルールの実行部に対して照合開始ノードを
記憶する入力ノードテーブルとを設けるように構成され
ている。
作用
本発明は、上記構成により、第1の発明においては、推
論中に推論エンジンが行うルールと事実データとの照合
処理は、事実データ記憶領域の事実データがルール記憶
領域の弁別ネットワークをたどる処理によって行われ、
事実データを削除する処理が起動されたとき、弁別ネッ
トワークの先頭ノードからたどる処理を行わずに記憶ノ
ードテーブルを参照することで、従来よりも弁別ネット
ワーク内の事実データの削除処理が高速になり、推論の
高速化の効果がある。
論中に推論エンジンが行うルールと事実データとの照合
処理は、事実データ記憶領域の事実データがルール記憶
領域の弁別ネットワークをたどる処理によって行われ、
事実データを削除する処理が起動されたとき、弁別ネッ
トワークの先頭ノードからたどる処理を行わずに記憶ノ
ードテーブルを参照することで、従来よりも弁別ネット
ワーク内の事実データの削除処理が高速になり、推論の
高速化の効果がある。
次に、第2の発明においては、記憶領域管理部は、事実
データが追加されたときは未使用領域から領域を確保し
て使用領域として事実データを書き込み、また、事実デ
ータが削除されたときは事実データの記憶された領域を
単に使用領域から未使用領域とする。このように、未使
用領域を利用することで事実データ記憶領域のメモリ利
用効率が向上するので、推論装置が動作する環境である
オペレーティングシステムやハードウェアに対する必要
な記憶領域の制約を緩和でき、しかも、記憶領域の無駄
のない利用は、事実データ記憶領域の記憶処理の高速化
、推論の高速化の効果がをする。
データが追加されたときは未使用領域から領域を確保し
て使用領域として事実データを書き込み、また、事実デ
ータが削除されたときは事実データの記憶された領域を
単に使用領域から未使用領域とする。このように、未使
用領域を利用することで事実データ記憶領域のメモリ利
用効率が向上するので、推論装置が動作する環境である
オペレーティングシステムやハードウェアに対する必要
な記憶領域の制約を緩和でき、しかも、記憶領域の無駄
のない利用は、事実データ記憶領域の記憶処理の高速化
、推論の高速化の効果がをする。
更に、第3の発明においては、推論中にルールの実行部
を実行したときの事実データの追加処理は、弁別ネット
ワークの先頭ノードからたどらずに、入力ノードテーブ
ルに記憶されたノードから照合処理を行うので、無駄な
照合処理を省くことができる。このように、弁別ネット
ワーク内の事実データ追加処理の高速化、推論の高速化
の効果がある。
を実行したときの事実データの追加処理は、弁別ネット
ワークの先頭ノードからたどらずに、入力ノードテーブ
ルに記憶されたノードから照合処理を行うので、無駄な
照合処理を省くことができる。このように、弁別ネット
ワーク内の事実データ追加処理の高速化、推論の高速化
の効果がある。
実施例
以下、図面と共に本発明の実施例について説明する。
まず、第1図、第2図、第3図、および第4図をか照し
ながら、本発明の第1の実施例について説明する。
ながら、本発明の第1の実施例について説明する。
第3図に示すように、高速推論装置1は、ルールの弁別
ネットワークを記憶するルール記憶領域3と、事実や推
論状況を表現する事実データを記憶する事実データ記憶
領域4と、弁別ネットワークと事実データの照合によっ
て推論を行う推論エンジン2と、事実データと弁別ネッ
トワーク内の記憶ノードとの対応を記憶する記憶ノード
テーブル301とで構成される。
ネットワークを記憶するルール記憶領域3と、事実や推
論状況を表現する事実データを記憶する事実データ記憶
領域4と、弁別ネットワークと事実データの照合によっ
て推論を行う推論エンジン2と、事実データと弁別ネッ
トワーク内の記憶ノードとの対応を記憶する記憶ノード
テーブル301とで構成される。
第1図は、ルールの例である。ルールの意味をまず説明
する。
する。
ルールA101は、農夫が左岸にいてかつキャベツが左
岸にいるならば、農夫とキャベツは共に川を渡って右岸
へ移るというルールがある。ルールB102は、農夫が
左岸にいてかつ山羊が左岸にいるならば、農夫と山羊は
、共に川を渡って右岸へ移るというルールである。ルー
ルClO3は、農夫が右岸にいるならば、農夫は川を渡
って左岸に移るというルールである。ルールの実行部の
処理は、例えば、右岸へ移るという処理は、左岸にいる
という事実データを削除して、右岸にいるという事実デ
ータを追加する処理である。
岸にいるならば、農夫とキャベツは共に川を渡って右岸
へ移るというルールがある。ルールB102は、農夫が
左岸にいてかつ山羊が左岸にいるならば、農夫と山羊は
、共に川を渡って右岸へ移るというルールである。ルー
ルClO3は、農夫が右岸にいるならば、農夫は川を渡
って左岸に移るというルールである。ルールの実行部の
処理は、例えば、右岸へ移るという処理は、左岸にいる
という事実データを削除して、右岸にいるという事実デ
ータを追加する処理である。
これらのルールは、第2図に示す弁別ネットワークに変
換されて高速推論装置1のルール記憶領域3に記憶され
る。
換されて高速推論装置1のルール記憶領域3に記憶され
る。
推論実行は、従来例と同様に第11図に示すフローチャ
ートの処理が行われる。事実データとの照合は、第2図
に示すように事実データが先頭ノード201からネット
ワークのリンクをたどっていくことで行われる。事実デ
ータの内容を調べるノードであるテストノードは、ルー
ル条件部内で行われる条件の一つに対応しておシ、事実
データの値をチエツクして成立するならば次のノードへ
事実データがたどり、そうでなければたどらない。主体
は農夫であるかとか、場所は左岸であるかとかのチエツ
クをノード202〜ノード208が行っている。事実デ
ータが終端ノード217にたどりついたときは、ルール
Aの条件部が満たされていることを示す。終端ノード2
18および終端ノード219の場合は、それぞれルール
BおよびルールCの条件部である。終端ノードには、ど
のルールの条件部が満たされたかを示す情報と、そのル
ールの実行部とが記憶されている。照合処理後、終端ノ
ードまでたどシついた照合の成立する事実データの中か
ら一つを選択して、終端ノードに記憶されたルール実行
部の処理を行う。
ートの処理が行われる。事実データとの照合は、第2図
に示すように事実データが先頭ノード201からネット
ワークのリンクをたどっていくことで行われる。事実デ
ータの内容を調べるノードであるテストノードは、ルー
ル条件部内で行われる条件の一つに対応しておシ、事実
データの値をチエツクして成立するならば次のノードへ
事実データがたどり、そうでなければたどらない。主体
は農夫であるかとか、場所は左岸であるかとかのチエツ
クをノード202〜ノード208が行っている。事実デ
ータが終端ノード217にたどりついたときは、ルール
Aの条件部が満たされていることを示す。終端ノード2
18および終端ノード219の場合は、それぞれルール
BおよびルールCの条件部である。終端ノードには、ど
のルールの条件部が満たされたかを示す情報と、そのル
ールの実行部とが記憶されている。照合処理後、終端ノ
ードまでたどシついた照合の成立する事実データの中か
ら一つを選択して、終端ノードに記憶されたルール実行
部の処理を行う。
事実データ記憶領域4に、農夫が左岸にいることを示す
事実データと、キャベツが左岸にいることを示す事実デ
ータとが記憶されている。これらの事実データとルール
記憶領域3の弁別ネットワークとの照合が次のように行
われる。農夫が左岸にいる事実データは、先頭ノードか
らテストノード202をたどる。そこでは、主体が農夫
か否かのチエツクが行われる。事実データの主体は農夫
なので成立し、次に2つのノード205および206の
内の片方のノード205をたどる。テストノード205
は、場所が左岸であるかのチエツクであるので成立し、
αメモリノード209をたどる。α記憶ノードに到達す
ると、記憶ノードテーブル301の該当する箇所にα記
憶ノードのポインターを記憶する。
事実データと、キャベツが左岸にいることを示す事実デ
ータとが記憶されている。これらの事実データとルール
記憶領域3の弁別ネットワークとの照合が次のように行
われる。農夫が左岸にいる事実データは、先頭ノードか
らテストノード202をたどる。そこでは、主体が農夫
か否かのチエツクが行われる。事実データの主体は農夫
なので成立し、次に2つのノード205および206の
内の片方のノード205をたどる。テストノード205
は、場所が左岸であるかのチエツクであるので成立し、
αメモリノード209をたどる。α記憶ノードに到達す
ると、記憶ノードテーブル301の該当する箇所にα記
憶ノードのポインターを記憶する。
この場合、農夫が左岸にいる事実データの識別番号1番
の箇所に記憶する。この事実データは、次の結合ノード
213をたどるが、結合できないので次のノードをたど
らない。
の箇所に記憶する。この事実データは、次の結合ノード
213をたどるが、結合できないので次のノードをたど
らない。
ノード206.203、および204をたどるが、いず
れもチエツクが成立しないのでこの事実データの照合処
理は終了する。
れもチエツクが成立しないのでこの事実データの照合処
理は終了する。
キャベツが左岸にいることを示す事実データも、同様の
処理を行うとα記憶ノード211を記憶ノードテーブル
に記憶する。また、この事実データは、結合ノード2】
3で農夫が左岸にいることを示す事実データと結合され
て、β記憶ノード215をたどり終端ノード217にた
どりつく。これは、ルールAの条件部が全て満たされて
いるということである。このように記憶ノードテーブル
301には、照合処理中に事実データがα記憶ノードに
記憶されるときに、そのα記憶ノードのポインターを記
憶する。
処理を行うとα記憶ノード211を記憶ノードテーブル
に記憶する。また、この事実データは、結合ノード2】
3で農夫が左岸にいることを示す事実データと結合され
て、β記憶ノード215をたどり終端ノード217にた
どりつく。これは、ルールAの条件部が全て満たされて
いるということである。このように記憶ノードテーブル
301には、照合処理中に事実データがα記憶ノードに
記憶されるときに、そのα記憶ノードのポインターを記
憶する。
ここでルールA101の実行部を実行すると、農夫が右
岸にいる事実データの削除が起る。従来の事実データの
削除処理は、追加処理同様の弁別ネットワークをたどる
処理を行い、記憶ノードにたどりついたときに、記憶さ
れた事実データを削除していた。しかし、削除する事実
データの識別番号から記憶ノードテーブルを参照するこ
とによって、事実データが記憶されたα記憶ノードを直
接知ることができる。例えば、農夫が左岸にいる事実デ
ータを削除する場合は、記憶ノードテーブル301の内
容を参照してαノード209にこの事実データが記憶さ
れていることが分る。このα記憶ノードの記憶内容から
事実データを削除した後は、αノードから下位ノードを
たどってβ記憶ノードを事実データが存在しなくなるま
で探索しては削除する処理を続ける。これらにより、事
実データの追加照合のときに、記憶ノードテーブルに登
録するだけで弁別ネットワーク内の事実データの削除処
理がかなり高速化できるので、推論全体の高速化の効果
がある。
岸にいる事実データの削除が起る。従来の事実データの
削除処理は、追加処理同様の弁別ネットワークをたどる
処理を行い、記憶ノードにたどりついたときに、記憶さ
れた事実データを削除していた。しかし、削除する事実
データの識別番号から記憶ノードテーブルを参照するこ
とによって、事実データが記憶されたα記憶ノードを直
接知ることができる。例えば、農夫が左岸にいる事実デ
ータを削除する場合は、記憶ノードテーブル301の内
容を参照してαノード209にこの事実データが記憶さ
れていることが分る。このα記憶ノードの記憶内容から
事実データを削除した後は、αノードから下位ノードを
たどってβ記憶ノードを事実データが存在しなくなるま
で探索しては削除する処理を続ける。これらにより、事
実データの追加照合のときに、記憶ノードテーブルに登
録するだけで弁別ネットワーク内の事実データの削除処
理がかなり高速化できるので、推論全体の高速化の効果
がある。
次に、第1図、第2図、第5図、第6図、および第7図
を参照しながら本発明の第2の実施例について説明する
。
を参照しながら本発明の第2の実施例について説明する
。
第5図に示すように、高速推論装置1は、弁別ネットワ
ークを記憶するルール記憶領域3と、事実や推論状況を
表現する事実データを記憶する事実データ記憶領域4と
、弁別ネットワークと事実データの照合によって推論を
行う推論エンジン2と、事実データ記憶領域のあき領域
と使用領域を効率的に管理する記憶領域管理部401と
から構成される。記憶領域管理部401は、キュー管理
テーブル402とバッジ−テーブル403とから構成さ
れる(第6図参照)。
ークを記憶するルール記憶領域3と、事実や推論状況を
表現する事実データを記憶する事実データ記憶領域4と
、弁別ネットワークと事実データの照合によって推論を
行う推論エンジン2と、事実データ記憶領域のあき領域
と使用領域を効率的に管理する記憶領域管理部401と
から構成される。記憶領域管理部401は、キュー管理
テーブル402とバッジ−テーブル403とから構成さ
れる(第6図参照)。
第1図は、ルールの例である。ルールの意味をまず説明
する。
する。
ルールA101は、農夫が左岸にいてかつキャベツが左
岸にいるならば、農夫とキャベツは共に川を渡って右岸
に移るというルールである。ルールB102は、農夫が
左岸にいてかつ山羊が左岸にいるならば、農夫と山羊は
、共に川を渡って右岸へ移るというルールである。ルー
ルClO3は、農夫が右岸にいるならば、農夫は川を渡
って左岸へ移るというルールである。これらのルールの
実行部の処理は、例えば、右岸へ移るという処理は左岸
にいるという事実データを削除して右岸にいるという事
実データを追加する処理である。
岸にいるならば、農夫とキャベツは共に川を渡って右岸
に移るというルールである。ルールB102は、農夫が
左岸にいてかつ山羊が左岸にいるならば、農夫と山羊は
、共に川を渡って右岸へ移るというルールである。ルー
ルClO3は、農夫が右岸にいるならば、農夫は川を渡
って左岸へ移るというルールである。これらのルールの
実行部の処理は、例えば、右岸へ移るという処理は左岸
にいるという事実データを削除して右岸にいるという事
実データを追加する処理である。
これらのルールは、第2図に示す弁別ネットワークに変
換されて高速推論装置1のルール記憶領域3に記憶され
る。
換されて高速推論装置1のルール記憶領域3に記憶され
る。
推論実行は、従来と同様に第11図に示すフローチャー
トの処理が行われる。
トの処理が行われる。
事実データとの照合は、第2図および第6図に示すよう
に、事実データが先頭ノード201からネットワークの
リンクをたどっていくことで行われる。事実データの内
容を調べるノードであるテストノードは、ルール条件部
内で行われる条件の一つに対応しており、事実データの
値をチエツクして成立するならば次のノードへ事実デー
タがたどり、そうでなければならない。主体は農夫であ
るかとか、場所は左岸であるかとかのチエツクをノード
202〜ノード208が行っている。事実データが終端
ノード217にたどりついたときは、ルールAの条件部
が満たされていることを示す。終端ノード218、終端
ノード219の場合は、それぞれルールB、ルールCの
条件部である。終端ノードには、どのルールの条件部が
満たされたかを示す情報とそのルールの実行部とが記憶
されている。照合処理後、終端ノードまでたどりついた
照合の成立する事実データの中から一つを選択して、終
端ノードに記憶されたルール実行部の処理を行う。
に、事実データが先頭ノード201からネットワークの
リンクをたどっていくことで行われる。事実データの内
容を調べるノードであるテストノードは、ルール条件部
内で行われる条件の一つに対応しており、事実データの
値をチエツクして成立するならば次のノードへ事実デー
タがたどり、そうでなければならない。主体は農夫であ
るかとか、場所は左岸であるかとかのチエツクをノード
202〜ノード208が行っている。事実データが終端
ノード217にたどりついたときは、ルールAの条件部
が満たされていることを示す。終端ノード218、終端
ノード219の場合は、それぞれルールB、ルールCの
条件部である。終端ノードには、どのルールの条件部が
満たされたかを示す情報とそのルールの実行部とが記憶
されている。照合処理後、終端ノードまでたどりついた
照合の成立する事実データの中から一つを選択して、終
端ノードに記憶されたルール実行部の処理を行う。
事実データは、第6図に示すように、事実データ記憶領
域4内の事実データテーブル404と文字列テーブル4
07とに記憶されている。
域4内の事実データテーブル404と文字列テーブル4
07とに記憶されている。
事実データテーブル404内の1行が、事実データの一
つを記憶する領域(事実データ領域と呼ぶ)であり、先
頭のポインター領域405には管理のだめのポインター
が書き込まれ、データ領域406には事実データの内容
データが書き適寸れる。ポインター領域405は事実デ
ータ領域へのポインターを書き込むことによって事実デ
ータ領域同士をポインターで張り、キュー形式で管理す
る。データ領域406のデータ型が数値の場合は数値が
直接書き込まれているが、文字列の場合は文字列テーブ
ル407に取られたデータ実体のポインターが書き込ま
れている。記憶領域管理部401のキーー管理テーブル
402は、使用中キュー、削除キュー、オ・よびフリー
キューの3つの領域を用いて事実データテーブル404
の事実データ領域を次のように管理する(第7図(a)
参照)。
つを記憶する領域(事実データ領域と呼ぶ)であり、先
頭のポインター領域405には管理のだめのポインター
が書き込まれ、データ領域406には事実データの内容
データが書き適寸れる。ポインター領域405は事実デ
ータ領域へのポインターを書き込むことによって事実デ
ータ領域同士をポインターで張り、キュー形式で管理す
る。データ領域406のデータ型が数値の場合は数値が
直接書き込まれているが、文字列の場合は文字列テーブ
ル407に取られたデータ実体のポインターが書き込ま
れている。記憶領域管理部401のキーー管理テーブル
402は、使用中キュー、削除キュー、オ・よびフリー
キューの3つの領域を用いて事実データテーブル404
の事実データ領域を次のように管理する(第7図(a)
参照)。
システム立ち上げ時の初期状態のときは、事実データ領
域は、すべてフリーキューにつながっている。即ち、キ
ュー管理テーブル402のフリーキューには、事実デー
タテーブル404の先頭行の領域のポインターが書き込
まれており、その先頭行の領域のポインター領域405
には、次の行の領域のポインターが書き込まれていると
いうようにして全ての事実データの領域がつながってい
る。次に、事実データ作成が行われると、フリーキュー
の先頭の事実データ領域に事実データの内容が書き込ま
れ、この領域は使用中キューにつながれる。
域は、すべてフリーキューにつながっている。即ち、キ
ュー管理テーブル402のフリーキューには、事実デー
タテーブル404の先頭行の領域のポインターが書き込
まれており、その先頭行の領域のポインター領域405
には、次の行の領域のポインターが書き込まれていると
いうようにして全ての事実データの領域がつながってい
る。次に、事実データ作成が行われると、フリーキュー
の先頭の事実データ領域に事実データの内容が書き込ま
れ、この領域は使用中キューにつながれる。
事実データが削除されると、事実データ記憶領域は、削
除キューにつながれる。事実データの追加処理のとき、
フリーキューがない場合は、削除キー−の領域から事実
データ領域を確保して行う。
除キューにつながれる。事実データの追加処理のとき、
フリーキューがない場合は、削除キー−の領域から事実
データ領域を確保して行う。
削除キューになにもつながれていない場合は、フリーキ
ューの事実データ領域を確保して使う。
ューの事実データ領域を確保して使う。
人間の知識を表す事実データやルールの表現形式には、
一般に数値よシも文字列が多く用いられる。また、これ
らの文字列は、事実データ内でもルール内でも繰り返し
用いられる。このため、文字列の現れる度に文字列領域
を取らずに、同じ文字列は一つの文字列領域で一元的に
管理すれば、メモリ領域を経済的に使うことが可能であ
る。
一般に数値よシも文字列が多く用いられる。また、これ
らの文字列は、事実データ内でもルール内でも繰り返し
用いられる。このため、文字列の現れる度に文字列領域
を取らずに、同じ文字列は一つの文字列領域で一元的に
管理すれば、メモリ領域を経済的に使うことが可能であ
る。
実施例では、文字列の実体を文字列テーブル407に取
シ、記憶領域管理部401にハツシュテーブル403を
設けることにより、ハツシングによる高速な文字列−元
管環を実現している。
シ、記憶領域管理部401にハツシュテーブル403を
設けることにより、ハツシングによる高速な文字列−元
管環を実現している。
事実データが推論中に作成され、事実データに含まれる
文字列を事実データテーブル404のデータ領域406
に記憶するとき、次の処理を行う。
文字列を事実データテーブル404のデータ領域406
に記憶するとき、次の処理を行う。
まず、その文字列が文字列テーブル407にすでに記憶
されているか否かをハツシュテーブル403で調べ、記
憶されているときはその文字列のポインターをかえし、
記憶されていないときは、文字列テーブル407に記憶
してそのポインターを返す(第7図(b)参照)。
されているか否かをハツシュテーブル403で調べ、記
憶されているときはその文字列のポインターをかえし、
記憶されていないときは、文字列テーブル407に記憶
してそのポインターを返す(第7図(b)参照)。
これらにより、事実データを記憶する領域を無駄なく利
用でき、事実データの記憶処理の高速化や推論の高速化
に効果がある。
用でき、事実データの記憶処理の高速化や推論の高速化
に効果がある。
次に、第1図、第2図、第8図、および第9図を参照し
ながら本発明の第3の実施例について説明する。
ながら本発明の第3の実施例について説明する。
第8図および第9図に示すように、高速推論装置1は、
弁別ネットワークを記憶するルール記憶領域3と、事実
や推論状況を表現する事実データを記憶する事実データ
記憶領域4と、弁別ネットワークと事実データの照合に
よって推論を行う推論エンジン2と、事実データの作成
時に照合を開始する弁別ネットワークのノードを見つけ
出す推論前処理部602と、事実データを作成するルー
ルの実行部に対して照合開始ノードを記憶する入力ノー
ドテーブル601とから構成される。
弁別ネットワークを記憶するルール記憶領域3と、事実
や推論状況を表現する事実データを記憶する事実データ
記憶領域4と、弁別ネットワークと事実データの照合に
よって推論を行う推論エンジン2と、事実データの作成
時に照合を開始する弁別ネットワークのノードを見つけ
出す推論前処理部602と、事実データを作成するルー
ルの実行部に対して照合開始ノードを記憶する入力ノー
ドテーブル601とから構成される。
第1図は、ルールの例である。ルールの意味を1ず説明
する。
する。
ルールA101は、農夫が左岸にいてかつキャベツが左
岸にいるならば、農夫とキャベツは共に川を渡って右岸
へ移るというルールである。ルールB102は、農夫が
左岸にいてかつ山羊が左岸にいるならば、農夫と山羊は
、共に川を渡って、右岸へ移るというルールである。ル
ールClO3は、農夫が右岸にいるならば、農、夫は川
を渡って左岸へ移るというルールである。これらのルー
ルの実行部の処理は、例えば、右岸へ移るという処理は
左岸にいるという事実データを削除して右岸にいるとい
う事実データを追加する処理である。
岸にいるならば、農夫とキャベツは共に川を渡って右岸
へ移るというルールである。ルールB102は、農夫が
左岸にいてかつ山羊が左岸にいるならば、農夫と山羊は
、共に川を渡って、右岸へ移るというルールである。ル
ールClO3は、農夫が右岸にいるならば、農、夫は川
を渡って左岸へ移るというルールである。これらのルー
ルの実行部の処理は、例えば、右岸へ移るという処理は
左岸にいるという事実データを削除して右岸にいるとい
う事実データを追加する処理である。
これらのルールは、第2図に示す弁別ネットワークに変
換されて高速推論装置1のルール記憶領域3に記憶され
る。
換されて高速推論装置1のルール記憶領域3に記憶され
る。
推論前に推論前処理部602は、次の処理を行う。
終端ノード217.218、および219の各ルール実
行部の事実データ作成関数を参照し、事実データを作成
する。そのとき、現時点では変数のように不定であるが
推論時に初めて確定する値がある。
行部の事実データ作成関数を参照し、事実データを作成
する。そのとき、現時点では変数のように不定であるが
推論時に初めて確定する値がある。
ここでは、それを不定値と呼ぶことにする。その事実デ
ータを、弁別ネットワーク231の照合処理の容量でα
メモリノードに達するまでの各テストノードが成立する
かを順に調べる。不定値の値のチエツクを行うノード以
下はたどらない。不定値でない確定値のバリューのチエ
ツクで成立するノードは、さらに次のノードをたどる。
ータを、弁別ネットワーク231の照合処理の容量でα
メモリノードに達するまでの各テストノードが成立する
かを順に調べる。不定値の値のチエツクを行うノード以
下はたどらない。不定値でない確定値のバリューのチエ
ツクで成立するノードは、さらに次のノードをたどる。
この処理の結果、事実データはどのノードにもたどりつ
かないか、不定値の比較を行うテストノードにたどり着
くか、またはαメモリノードにたどシ着くかである。た
どりついたノードのポインターをルールと事実データ追
加関数毎に入力ノードテーブル601に書き込む。例え
ば、ルールAの2番目の実行部である農夫が右岸にいる
事実データ追加する関数の場合、先頭ノード201にた
どυつくのでこのポインターを入力ノードテーブルに記
憶する。
かないか、不定値の比較を行うテストノードにたどり着
くか、またはαメモリノードにたどシ着くかである。た
どりついたノードのポインターをルールと事実データ追
加関数毎に入力ノードテーブル601に書き込む。例え
ば、ルールAの2番目の実行部である農夫が右岸にいる
事実データ追加する関数の場合、先頭ノード201にた
どυつくのでこのポインターを入力ノードテーブルに記
憶する。
推論実行は、従来と同様に第11図に示すフローチャー
トの処理が行われる。
トの処理が行われる。
事実データとの照合は、第2図および第9図に示すよう
に、事実データが先頭ノード201からネットワークの
リンクをたどっていくことで行われる。事実データの内
容を調べるノードであるテストノードは、ルール条件部
内で行われる条件の一つに対応しており、事実データの
値をチエツクして成立するならば次のノードへ事実ノー
ドがたどり、そうでなければたどらない。主体は農夫で
あるかとか、場所は左岸であるとかのチエツクをノード
202〜208が行っている。事実データが終端ノード
217にたどりついたときは、ルールAの条件が満たさ
れていることを示す。終端ノード218または終端ノー
ド219の場合は、それぞれルールBまたはルールCの
条件部である。終端ノードにはどのルールの条件部が満
たされたかを示す情報とそのルールの実行部とが記憶さ
れている。照合処理後、終端ノード壕でたどりついた照
合の成立する事実データの中から一つを選択して、終端
ノードに記憶されたルール実行部の処理を行う。ただし
、ルールの実行部の処理で事実データの追加が行われ、
ルール条件部との照合を行うとき、弁別ネットワークの
先頭ノードからたどらずに、入力ノードテーブル601
に記憶したノードからたどる照合処理を行う。
に、事実データが先頭ノード201からネットワークの
リンクをたどっていくことで行われる。事実データの内
容を調べるノードであるテストノードは、ルール条件部
内で行われる条件の一つに対応しており、事実データの
値をチエツクして成立するならば次のノードへ事実ノー
ドがたどり、そうでなければたどらない。主体は農夫で
あるかとか、場所は左岸であるとかのチエツクをノード
202〜208が行っている。事実データが終端ノード
217にたどりついたときは、ルールAの条件が満たさ
れていることを示す。終端ノード218または終端ノー
ド219の場合は、それぞれルールBまたはルールCの
条件部である。終端ノードにはどのルールの条件部が満
たされたかを示す情報とそのルールの実行部とが記憶さ
れている。照合処理後、終端ノード壕でたどりついた照
合の成立する事実データの中から一つを選択して、終端
ノードに記憶されたルール実行部の処理を行う。ただし
、ルールの実行部の処理で事実データの追加が行われ、
ルール条件部との照合を行うとき、弁別ネットワークの
先頭ノードからたどらずに、入力ノードテーブル601
に記憶したノードからたどる照合処理を行う。
これらにより、弁別ネットワークの無駄な照合の処理を
省いて照合の高速化が実現できる。
省いて照合の高速化が実現できる。
以上で述べた実施例の説明を要約すれば、次のようにな
る。
る。
推論中に推論エンジンが行うルールと事実データとの照
合処理は、事実データ記憶領域の事実データがルール記
憶領域の弁別ネットワークをたどる処理によって行われ
る。先ず、事実データの追加が行われたとき、弁別ネッ
トワーク内の処理でα記憶ノードに達すると事実データ
を記憶する処理が行われる。このとき、この事実データ
とα記憶ノードの位置を記憶ノードテーブルに記憶する
。
合処理は、事実データ記憶領域の事実データがルール記
憶領域の弁別ネットワークをたどる処理によって行われ
る。先ず、事実データの追加が行われたとき、弁別ネッ
トワーク内の処理でα記憶ノードに達すると事実データ
を記憶する処理が行われる。このとき、この事実データ
とα記憶ノードの位置を記憶ノードテーブルに記憶する
。
次に、この事実データを削除する処理が起動されたとき
、弁別ネットワークの先頭ノードからたどる処理を行わ
ずに記憶ノードテーブルを参照することで、記憶されて
いるα記憶ノードに直接アクセスして削除できる。α記
憶ノード以下のβ記憶ノードについても、記憶ノードの
みをたどって記憶内容を探索して削除することを、記憶
ノードに記憶されていないことが判明するまで続ける。
、弁別ネットワークの先頭ノードからたどる処理を行わ
ずに記憶ノードテーブルを参照することで、記憶されて
いるα記憶ノードに直接アクセスして削除できる。α記
憶ノード以下のβ記憶ノードについても、記憶ノードの
みをたどって記憶内容を探索して削除することを、記憶
ノードに記憶されていないことが判明するまで続ける。
このように、事実データが弁別ネットワークをたどる処
理を大幅に削減することによって、従来よりも弁別ネッ
トワーク内の事実データの削除処理が高速になり、推論
の高速化の効果がある。
理を大幅に削減することによって、従来よりも弁別ネッ
トワーク内の事実データの削除処理が高速になり、推論
の高速化の効果がある。
1だ、推論中に推論エンジンが行うルールと、事実デー
タとの照合処理は、事実データ記憶領域の事実データが
ルール記憶領域の弁別ネットワークをたどる処理によっ
て行われる。記憶領域管理部は、事実データ記憶領域を
未使用領域と使用領域とに分けて次の管理を行う。事実
データが追加されたときは、未使用領域から領域を確保
して使用領域とし、事実データを書き込む。事実データ
が削除されたときは、事実データの記憶された領域を単
に使用領域から未使用領域とする。このように、未使用
領域を利用することで事実データ記憶領域のメモリ利用
効率が向上するので、推論装置が動作する環境であるオ
ペレーティングシステムやハードウェアに対する必要な
記憶領域の制約を緩和できる。また、記憶領域の無駄の
ない利用は、事実データ記憶領域の記憶処理の高速化、
推論の高速化の効果がある。
タとの照合処理は、事実データ記憶領域の事実データが
ルール記憶領域の弁別ネットワークをたどる処理によっ
て行われる。記憶領域管理部は、事実データ記憶領域を
未使用領域と使用領域とに分けて次の管理を行う。事実
データが追加されたときは、未使用領域から領域を確保
して使用領域とし、事実データを書き込む。事実データ
が削除されたときは、事実データの記憶された領域を単
に使用領域から未使用領域とする。このように、未使用
領域を利用することで事実データ記憶領域のメモリ利用
効率が向上するので、推論装置が動作する環境であるオ
ペレーティングシステムやハードウェアに対する必要な
記憶領域の制約を緩和できる。また、記憶領域の無駄の
ない利用は、事実データ記憶領域の記憶処理の高速化、
推論の高速化の効果がある。
更に、推論エンジンが行うルールと事実データとの照合
処理は、事実データ記憶領域の事実データがルール記憶
領域の弁別ネットワークをたどる処理によって行われる
。推論前処理部は、推論の実行前に、全てのルール実行
部に対し、事実データ追加の処理があるかを調べる。そ
れぞれの事実データ追加処理に対して、追加処理で作成
された事実データが弁別ネットワークの少なくともどの
ノードまでたどれるかを調べ、入力ツートチ−フルにそ
のノードを記憶する。推論中にルールの実行部を実行し
たときの事実データの追加処理は、弁別ネットワークの
先頭ノードからたどらずに、入力ノードテーブルに記憶
されたノードから照合処理を行うので、無駄な照合処理
を省くことができる。このように、弁別ネットワーク内
の事実データ追加処理の高速化および推論の高速化の効
果がある。
処理は、事実データ記憶領域の事実データがルール記憶
領域の弁別ネットワークをたどる処理によって行われる
。推論前処理部は、推論の実行前に、全てのルール実行
部に対し、事実データ追加の処理があるかを調べる。そ
れぞれの事実データ追加処理に対して、追加処理で作成
された事実データが弁別ネットワークの少なくともどの
ノードまでたどれるかを調べ、入力ツートチ−フルにそ
のノードを記憶する。推論中にルールの実行部を実行し
たときの事実データの追加処理は、弁別ネットワークの
先頭ノードからたどらずに、入力ノードテーブルに記憶
されたノードから照合処理を行うので、無駄な照合処理
を省くことができる。このように、弁別ネットワーク内
の事実データ追加処理の高速化および推論の高速化の効
果がある。
発明の効果
以上のように本発明は、第1の発明によれば、弁別ネッ
トワーク内の事実データの削除処理が、追加処理の負担
をほとんどかけることなく高速化でき、推論の高速化が
可能となる。
トワーク内の事実データの削除処理が、追加処理の負担
をほとんどかけることなく高速化でき、推論の高速化が
可能となる。
また、第2の発明によれば、事実データ記憶領域を小容
量化できるので、推論装置が動作する環境であるO8や
ハードウェアに対する必要な記憶領域の制約を緩和でき
る。しかも、記憶領域の無駄のない利用は、事実データ
記憶領域の記憶処理の高速化、推論の高速化が可能とな
る。
量化できるので、推論装置が動作する環境であるO8や
ハードウェアに対する必要な記憶領域の制約を緩和でき
る。しかも、記憶領域の無駄のない利用は、事実データ
記憶領域の記憶処理の高速化、推論の高速化が可能とな
る。
更に、第3の発明によれば、弁別ネットワーク内の事実
データ追加処理の高速化および推論の高速化が可能とな
る。
データ追加処理の高速化および推論の高速化が可能とな
る。
第1図は、本発明による高速推論装置の実施例における
ルールの例を示す概念図、第2図は、本発明による高速
推論装置の実施例における弁別ネットワークを示す概念
図、第3図は、本発明による高速推論装置の第1の実施
例における高速推論装置のブロック図、第4図は、本発
明による高速推論装置の第1の実施例における高速推論
装置の構成ブロック図、第5図は、本発明による高速推
論装置の第2の実施例における高速推論装置のブロック
図、第6図は、本発明による高速推論装置の第2の実施
例における高速推論装置の構成ブロック図、第7図(a
)、及び(b)は、本発明による高速推論装置の第2の
実施例における記憶領域管理部の処理を示すそれぞれフ
ローチャート、第8図は、本発明による高速推論装置の
第3の実施例における高速推論装置のブロック図、第9
図は、本発明による高速推論装置の第3の実施例におけ
る高速推論装置の構成ブロック図、第10図は、従来の
推論装置の一般的な構成を示すブロック図、第11図は
、従来の推論装置の推論の処理を示すフローチャート、
第12図は、従来の推論装置の弁別ネットワークの例を
示す概念図である。 1・・・高速推論装置、2・・推論エンジン、3・・・
ルール記憶領域、4・・・事実データ記憶領域、301
・・・記憶ノードテーブル、401・・・記憶領域管理
部、402・・・キュー管理テーブル、403・・ハツ
シュテーブル、404・・・事実データテーブル、40
5・・・ポインター領域、406・・・データ領域、4
07・・・文字列テーブル、601・・・入力ノードテ
ーブル、602・・・推論前処理部、701・・・推論
装置。 代理人の氏名 弁理士 粟 野 重 孝 ほか1名第 図 第 図 第 図 第 図 第 図 第 図 第 図 第 図
ルールの例を示す概念図、第2図は、本発明による高速
推論装置の実施例における弁別ネットワークを示す概念
図、第3図は、本発明による高速推論装置の第1の実施
例における高速推論装置のブロック図、第4図は、本発
明による高速推論装置の第1の実施例における高速推論
装置の構成ブロック図、第5図は、本発明による高速推
論装置の第2の実施例における高速推論装置のブロック
図、第6図は、本発明による高速推論装置の第2の実施
例における高速推論装置の構成ブロック図、第7図(a
)、及び(b)は、本発明による高速推論装置の第2の
実施例における記憶領域管理部の処理を示すそれぞれフ
ローチャート、第8図は、本発明による高速推論装置の
第3の実施例における高速推論装置のブロック図、第9
図は、本発明による高速推論装置の第3の実施例におけ
る高速推論装置の構成ブロック図、第10図は、従来の
推論装置の一般的な構成を示すブロック図、第11図は
、従来の推論装置の推論の処理を示すフローチャート、
第12図は、従来の推論装置の弁別ネットワークの例を
示す概念図である。 1・・・高速推論装置、2・・推論エンジン、3・・・
ルール記憶領域、4・・・事実データ記憶領域、301
・・・記憶ノードテーブル、401・・・記憶領域管理
部、402・・・キュー管理テーブル、403・・ハツ
シュテーブル、404・・・事実データテーブル、40
5・・・ポインター領域、406・・・データ領域、4
07・・・文字列テーブル、601・・・入力ノードテ
ーブル、602・・・推論前処理部、701・・・推論
装置。 代理人の氏名 弁理士 粟 野 重 孝 ほか1名第 図 第 図 第 図 第 図 第 図 第 図 第 図 第 図
Claims (3)
- (1)弁別ネットワークを記憶するルール記憶領域と、
事実や推論状況を表現する事実データを記憶する事実デ
ータ記憶領域と、弁別ネットワークと事実データの照合
によって推論を行う推論エンジンと、事実データと弁別
ネットワーク内の記憶ノードとの対応を記憶する記憶ノ
ードテーブルとを有する高速推論装置。 - (2)弁別ネットワークを記憶するルール記憶領域と、
事実や推論状況を表現する事実データを記憶する事実デ
ータ記憶領域と、弁別ネットワークと事実データの照合
によって推論を行う推論エンジンと、事実データ記憶領
域の空き領域と使用領域を管理する記憶領域管理部とを
有する高速推論装置。 - (3)弁別ネットワークを記憶するルール記憶領域と、
事実や推論状況を表現する事実データを記憶する事実デ
ータ記憶領域と、弁別ネットワークと事実データの照合
によって推論を行う推論エンジンと、事実データの作成
時に照合を開始する弁別ネットワークのノードを見つけ
出す推論前処理部と、事実データを作成するルールの実
行部に対して照合開始ノードを記憶する入力ノードテー
ブルとを有する高速推論装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2133400A JPH0432927A (ja) | 1990-05-23 | 1990-05-23 | 高速推論装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2133400A JPH0432927A (ja) | 1990-05-23 | 1990-05-23 | 高速推論装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0432927A true JPH0432927A (ja) | 1992-02-04 |
Family
ID=15103863
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2133400A Pending JPH0432927A (ja) | 1990-05-23 | 1990-05-23 | 高速推論装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0432927A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013512496A (ja) * | 2009-11-27 | 2013-04-11 | コリア インスティテュート オブ サイエンス アンド テクノロジー インフォメイション | 規則推論器及びこれを含むワイルドパターン規則の動的な具体化方法 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6198438A (ja) * | 1984-10-19 | 1986-05-16 | Nec Corp | フアイルの空き領域管理方法 |
| JPH01150938A (ja) * | 1987-12-07 | 1989-06-13 | Nec Corp | ネットワークにコンパイルされたルールの照合方式 |
| JPH0256637A (ja) * | 1988-08-23 | 1990-02-26 | Sony Tektronix Corp | 照合処理方法 |
-
1990
- 1990-05-23 JP JP2133400A patent/JPH0432927A/ja active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6198438A (ja) * | 1984-10-19 | 1986-05-16 | Nec Corp | フアイルの空き領域管理方法 |
| JPH01150938A (ja) * | 1987-12-07 | 1989-06-13 | Nec Corp | ネットワークにコンパイルされたルールの照合方式 |
| JPH0256637A (ja) * | 1988-08-23 | 1990-02-26 | Sony Tektronix Corp | 照合処理方法 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013512496A (ja) * | 2009-11-27 | 2013-04-11 | コリア インスティテュート オブ サイエンス アンド テクノロジー インフォメイション | 規則推論器及びこれを含むワイルドパターン規則の動的な具体化方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Pratt | Computing permutations with double-ended queues, parallel stacks and parallel queues | |
| CN111444291A (zh) | 一种基于流处理引擎和规则引擎的实时数据告警方法 | |
| JPH01147725A (ja) | パターン・マツチング最適化方法 | |
| Smith | Probabilistic noninterference through weak probabilistic bisimulation | |
| Fahlman et al. | Cancellation in a Parallel Semantic Network. | |
| Chida et al. | On lookaheads in regular expressions with backreferences | |
| Mears et al. | Lightweight dynamic symmetry breaking | |
| KR102582779B1 (ko) | 뉴로 심볼릭 기반 릴레이션 임베딩을 통한 지식완성 방법 및 장치 | |
| EP0318985A2 (en) | Interrogating device and method | |
| CN106682514A (zh) | 基于子图挖掘的系统调用序列特征模式集生成方法 | |
| JPH076034A (ja) | プロダクション・ルール濾過機構とこの機構を含むエキスパート・システム用推論エンジン | |
| Kosaraju | Real-time simulation of concatenable double-ended queues by double-ended queues (preliminary version) | |
| Meinke | Cge: A sequential learning algorithm for mealy automata | |
| CN105843859B (zh) | 数据处理的方法、装置和设备 | |
| CN116629330B (zh) | 一种算子检测方法、装置以及计算机设备 | |
| CN114064802B (zh) | 一种提升区块链交易吞吐量的树形区块链生成方法及设备 | |
| Donnell | Object/rule integration in CLIPS | |
| CN110162531B (zh) | 一种分布式并发数据处理任务决策方法 | |
| CN118051438A (zh) | 一种基于图神经网络的智能合约漏洞检测方法 | |
| CN115334019B (zh) | 可编程交换机处理sat问题的数据处理方法及可编程交换机 | |
| JPH02210541A (ja) | 弁別ネットワークの処理方法 | |
| Ding et al. | The performance optimization of CLIPS | |
| Franco | A* Tie-Breaking Strategies in Fast Downward | |
| JPS633334A (ja) | 前向き推論方式 | |
| Beach et al. | Eclipse: A C-based Inference Engine Embedded in a Lisp Interpreter |