JPH0432927A - Fast inference device - Google Patents

Fast inference device

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
node
inference
discrimination network
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
Application number
JP2133400A
Other languages
Japanese (ja)
Inventor
Osamu Araki
修 荒木
Tetsuji Maeda
哲司 前田
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2133400A priority Critical patent/JPH0432927A/en
Publication of JPH0432927A publication Critical patent/JPH0432927A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To speed up a fact data deleting process in a discrimination network by collating a rule that an inference engine performs during inferring with fact data by tracking the discrimination network in a rule storage area with the fact data in a real data storage area. CONSTITUTION:The fact data reaching an alpha storage node are stored by a process in the discrimination network when the fact data are added. At this time, the fact data and the position of the alpha storage node are stored in a storage node table 301. Then when a process for deleting the fact data is started, the storage node table 301 is referenced without tracking the discrimination network from the head node and thus the alpha storage node which is stored is accessed directly and deleted. Further, a beta storage node following the alpha storage node is deleted by retrieving the storage contents by tracking only storage nodes until it becomes evident that the nodes are not stored. Consequently, the deletion of the fact data in the discrimination network is speeded up.

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、ルールや事実の知識を用いた推論を高速に行
う高速推論装置に関するものである。
DETAILED DESCRIPTION OF THE INVENTION Field of Industrial Application The present invention relates to a high-speed inference device that performs inference at high speed using knowledge of rules and facts.

従来の技術 従来、事実を表現するデータ (以降事実データと呼ぶ
)と規則(以降ルールと呼ぶ)の照合を行って推論を実
行する推論装置は、事実データとルールの照合処理を数
多く行わなければならなかった。従って、ルールや事実
データが膨大である場合や、リアルタイム処理が要求さ
れるような場合に、推論に時間がかかりすぎるという問
題があった。
Conventional technology Conventionally, inference devices that perform inference by comparing data representing facts (hereinafter referred to as fact data) and rules (hereinafter referred to as rules) have to perform a large number of processes to compare fact data and rules. did not become. Therefore, there is a problem that inference takes too much time when there is a huge amount of rules and factual data or when real-time processing is required.

これを解決するために、ルールの条件部を弁別ネットワ
ークに展開して高速に照合を行う方式がよく知られてい
る。弁別ネットワークは、チャールズ・エル・フォーギ
ーによる”ア・ファスト・アルゴリズム・フォー・ザ・
メニー・パターン/メニ、−オブジェクト・パターン・
マツチ・プロプレム”アーティフィシャル・インテリジ
ェンス、1982年(Chales L、 Forgy
+ ”Rete : AFast Algorithm
  for  the Many Pattern/M
any 0bject  Pattern Match
 Problem *Artificial  Int
elligence、  Vol、 19. pp。
To solve this problem, a well-known method is to expand the condition part of a rule into a discrimination network and perform high-speed matching. Discrimination networks are based on Charles El Forgy's “A Fast Algorithm for the
Many Patterns / Meni, -Object Patterns
“Matsuchi Proprem” Artificial Intelligence, 1982 (Chales L, Forgy
+”Rete: AFast Algorithm
for the Many Pattern/M
any 0bject Pattern Match
Problem *Artificial Int
intelligence, Vol. 19. pp.

17−37. 1982.)に記載された構成が一般に
知られている。
17-37. 1982. ) is generally known.

以下、第10図、第11図、および第12図を参照しな
がら、弁別ネットワークを用いて推論を行う従来の推論
装置を簡単に説明する。
Hereinafter, a conventional inference device that performs inference using a discrimination network will be briefly described with reference to FIGS. 10, 11, and 12.

第10図において、推論装置701は、推論を行う推論
エンジン2とルール記憶領域3と事実データ記憶領域4
とから構成されている。ルールは、条件を表す部分(条
件部)とその条件部が満たされたときに実行される実行
部とから構成される。
In FIG. 10, an inference device 701 includes an inference engine 2 that performs inference, a rule storage area 3, and a fact data storage area 4.
It is composed of. A rule is composed of a part expressing a condition (condition part) and an execution part that is executed when the condition part is satisfied.

第11図は、従来の推論装置の推論の処理フローチャー
トである。推論が開始されると(ステップ70)、推論
エンジンはまずルール条件部と事実データとの照合を行
う (ステップ71〜72)。次に、照合でルール条件
を満たしたルールと事実データの組み合わせの中から優
先度の最も高い組み合わせを一つ選択しくステップ73
)、ルールの実行部の処理を行う (ステップ74)。
FIG. 11 is a flowchart of inference processing performed by a conventional inference device. When inference is started (step 70), the inference engine first compares the rule condition part with fact data (steps 71-72). Next, step 73 selects one combination with the highest priority from among the combinations of rules and fact data that satisfy the rule conditions in the comparison.
), the processing of the rule execution part is performed (step 74).

実行部の処理によって、事実データを削除したり追加し
たシすることもできる。
It is also possible to delete or add fact data through the processing of the execution unit.

ルールの実行部処理が終わると照合(ステップ71)に
戻る。ルールと事実データの照合が成立しなくなるまで
照合とルール実行部実行のサイクルを繰り返す(ステッ
プ72.75)。
When the rule execution section processing is completed, the process returns to verification (step 71). The cycle of matching and execution of the rule execution unit is repeated until the rules and fact data are no longer matched (steps 72 and 75).

第12図は、従来の推論装置の弁別ネットワークの例を
示す概念図である。
FIG. 12 is a conceptual diagram showing an example of a discrimination network of a conventional inference device.

弁別ネットワークとは、ルールを照合に都合のよいネッ
トワークの形式に変換したものである。
A discrimination network is one in which rules are converted into a network format convenient for matching.

弁別ネットワークを用いた照合処理とは、追加または削
除された事実データが弁別ネットワークの先頭ノードか
ら各ノードの指示に従って処理を行って弁別ネットワー
クをたどることである。弁別ネットワークの終端までた
どりつくことが、あるルール条件部が成立したことを意
味する。
Verification processing using a discrimination network means that added or deleted fact data follows the discrimination network by processing according to instructions from each node from the top node of the discrimination network. Reaching the end of the discrimination network means that a certain rule condition part has been satisfied.

弁別ネットワークは、次の2点により従来の照合よりも
高速な照合を実現している。第1に、ルール条件部の共
通部分を共通のテストノードで表現して事実データに対
する冗長な条件のチエツクを避けていること。第2に、
現在の事実データの照合状況を弁別ネットワーク内の記
憶ノードに記憶しているため、照合処理は事実データの
変化分のみで済むということである。
The discrimination network achieves faster matching than conventional matching due to the following two points. First, common parts of rule condition parts are expressed as common test nodes to avoid redundant condition checks on fact data. Second,
Since the current fact data comparison status is stored in the storage node in the discrimination network, the comparison process only needs to be performed for changes in the fact data.

弁別ネットワークの各ノードは、ノードで行われる処理
によって先頭ノード、テストノード、記憶ノード、結合
ノード、終端ノードの5種類に分類できる。先頭ノード
は、事実データが最初に処理が行われるルートノードで
ある。テストノード紘、ルール条件部内で行われる条件
の一つに対応している。テストノードをたどる事実デー
タは、事実データの値をチエツクして成立するならば次
のノードへたどり、そうでなければたどらない。
Each node of the discrimination network can be classified into five types, ie, a head node, a test node, a storage node, a connection node, and a terminal node, depending on the processing performed at the node. The head node is the root node where fact data is first processed. Test node Hiro corresponds to one of the conditions performed within the rule condition section. Fact data that follows a test node is traced to the next node if the value of the fact data is checked and holds true, otherwise it is not traced.

記憶ノードは、たどりついた事実データを記憶するノー
ドである。たどっている事実データが追加の場合には、
記憶ノードに記憶され、削除の場合には記憶ノードから
削除する。記憶ノードには、テストノードと結合ノード
の間にあるα記憶ノードと、結合ノードの次にあるβ記
憶ノードとがある。結合ノードでは、たどってきた事実
データの値の関係をチエツクし、成立する場合には事実
データを結合して次のノードをたどる。従って、α記憶
ノードには結合していない事実データが記憶され、β記
憶ノードには結合された事実データが記憶される。終端
ノードは、弁別ネットワークの終端である。終端ノード
にたどりついた事実データが存在するとき、たどりつい
た事実データによっであるルールの条件部のすべてが満
たされたことになる。
The storage node is a node that stores the arrived fact data. If the factual data being traced is additional,
It is stored in the storage node, and in the case of deletion, it is deleted from the storage node. The storage nodes include an α storage node located between the test node and the combination node, and a β storage node located next to the combination node. At the join node, the relationship between the values of the fact data that has been traced is checked, and if the relationship is established, the fact data are joined and the next node is traced. Therefore, uncombined fact data is stored in the α storage node, and combined fact data is stored in the β storage node. The terminal node is the terminal end of the discrimination network. When there is fact data that has arrived at the terminal node, it means that all of the conditional parts of a rule are satisfied by the fact data that has arrived.

発明が解決しようとする課題 しかしながら、従来の弁別ネットワークを使った推論で
は、一般的に効率は向上するが、推論中に事実データの
追加または削除が頻繁に起る場合に、効率が悪くなると
いう欠点があった。
Problems to be Solved by the Invention However, although efficiency generally improves in inference using conventional discrimination networks, efficiency decreases when factual data is frequently added or deleted during inference. There were drawbacks.

また、事実データの作成を行うごとに新たな記憶領域を
確保する方法では、記憶領域の容量が膨大となシ、メモ
リ利用効率が低下し、性能効率も低下する。そのため、
記憶領域の管理が煩雑になるという課題があった。
Furthermore, in the method of allocating a new storage area each time fact data is created, the capacity of the storage area becomes enormous, resulting in lower memory usage efficiency and lower performance efficiency. Therefore,
There was a problem in that storage area management became complicated.

本発明は、以上のような弁別ネットワークの効率上の欠
点および記憶領域の管理の方法の欠点に鑑み、第1の目
的は、弁別ネットワーク内の事実データ削除処理の高速
化を行うことである。また、第2の目的は、事実データ
記憶領域の記憶処理の高速化を行うことである。更に、
第3の目的は、弁別ネットワーク内の事実データ追加処
理の高速化を行うことである。
The first object of the present invention is to speed up the process of deleting factual data within the discrimination network in view of the above-described shortcomings in efficiency of the discrimination network and shortcomings in the storage area management method. The second purpose is to speed up the storage processing of the fact data storage area. Furthermore,
The third purpose is to speed up the process of adding fact data within the discrimination network.

課題を解決するための手段 この目的を達成するために、本発明の第1の発明は、弁
別ネットワークを記憶するルール記憶領域と、事実や推
論状況を表現する事実データを記憶する事実データ記憶
領域と、弁別ネットワークと事実データの照合によって
推論を行う推論エンジンと、事実データと弁別ネットワ
ーク内の記憶ノードとの対応を記憶する記憶ノードテー
ブルとを設けるように構成されている。
Means for Solving the Problems To achieve this object, the first invention of the present invention provides a rule storage area for storing a discrimination network and a fact data storage area for storing factual data representing facts and inference situations. , an inference engine that performs inference by collating the discrimination network and fact data, and a storage node table that stores the correspondence between the fact data and storage nodes in the discrimination network.

また、本発明の第2の発明は、弁別ネットワークを記憶
するルール記憶領域と、事実や推論状況を表現する事実
データを記憶する事実データ記憶領域と、弁別ネットワ
ークと事実データの照合によって推論を行う推論エンジ
ンと、事実データ記憶領域の空き領域と使用領域を管理
する記憶領域管理部とを設けるように構成されている。
Further, the second invention of the present invention provides a rule storage area for storing a discrimination network, a fact data storage area for storing fact data representing facts and inference situations, and performing inference by collating the discrimination network and fact data. It is configured to include an inference engine and a storage area management unit that manages free areas and used areas of the factual data storage area.

更に、本発明の第3の発明は、弁別ネットワークを記憶
するルール記憶領域と、事実や推論状況を表現する事実
データを記憶する事実データ記憶領域と、弁別ネットワ
ークと事実データの照合によって推論を行う推論エンジ
ンと、事実データの作成時に照合を開始する弁別ネット
ワークのノードを見つけ出す推論前処理部と、事実デー
タを作成するルールの実行部に対して照合開始ノードを
記憶する入力ノードテーブルとを設けるように構成され
ている。
Furthermore, the third invention of the present invention provides a rule storage area for storing a discrimination network, a fact data storage area for storing fact data expressing facts and inference situations, and performing inference by collating the discrimination network and fact data. An inference engine, an inference preprocessing unit that finds a node of a discrimination network to start matching when creating fact data, and an input node table that stores the matching start node for the rule execution unit that creates fact data are provided. It is composed of

作用 本発明は、上記構成により、第1の発明においては、推
論中に推論エンジンが行うルールと事実データとの照合
処理は、事実データ記憶領域の事実データがルール記憶
領域の弁別ネットワークをたどる処理によって行われ、
事実データを削除する処理が起動されたとき、弁別ネッ
トワークの先頭ノードからたどる処理を行わずに記憶ノ
ードテーブルを参照することで、従来よりも弁別ネット
ワーク内の事実データの削除処理が高速になり、推論の
高速化の効果がある。
Effects of the present invention With the above configuration, in the first invention, the process of matching rules and fact data performed by the inference engine during inference is a process in which the fact data in the fact data storage area follows the discrimination network in the rule storage area. carried out by
When the process of deleting fact data is started, by referring to the storage node table without performing the process of tracing from the first node of the discrimination network, the process of deleting fact data in the discrimination network becomes faster than before. It has the effect of speeding up inference.

次に、第2の発明においては、記憶領域管理部は、事実
データが追加されたときは未使用領域から領域を確保し
て使用領域として事実データを書き込み、また、事実デ
ータが削除されたときは事実データの記憶された領域を
単に使用領域から未使用領域とする。このように、未使
用領域を利用することで事実データ記憶領域のメモリ利
用効率が向上するので、推論装置が動作する環境である
オペレーティングシステムやハードウェアに対する必要
な記憶領域の制約を緩和でき、しかも、記憶領域の無駄
のない利用は、事実データ記憶領域の記憶処理の高速化
、推論の高速化の効果がをする。
Next, in the second invention, the storage area management section secures an area from an unused area and writes the fact data as a used area when fact data is added, and when fact data is deleted. simply changes the area where fact data is stored from a used area to an unused area. In this way, by using unused space, the memory usage efficiency of the factual data storage area is improved, so it is possible to alleviate the constraints on the required storage area for the operating system and hardware that are the environment in which the inference device operates. The efficient use of the storage area has the effect of speeding up the storage processing of the fact data storage area and speeding up the inference.

更に、第3の発明においては、推論中にルールの実行部
を実行したときの事実データの追加処理は、弁別ネット
ワークの先頭ノードからたどらずに、入力ノードテーブ
ルに記憶されたノードから照合処理を行うので、無駄な
照合処理を省くことができる。このように、弁別ネット
ワーク内の事実データ追加処理の高速化、推論の高速化
の効果がある。
Furthermore, in the third invention, when the execution part of the rule is executed during inference, additional processing of fact data is performed by performing collation processing from the node stored in the input node table, without tracing from the top node of the discrimination network. Therefore, unnecessary verification processing can be omitted. In this way, there is an effect of speeding up the process of adding fact data within the discrimination network and speeding up the inference.

実施例 以下、図面と共に本発明の実施例について説明する。Example Embodiments of the present invention will be described below with reference to the drawings.

まず、第1図、第2図、第3図、および第4図をか照し
ながら、本発明の第1の実施例について説明する。
First, a first embodiment of the present invention will be described with reference to FIGS. 1, 2, 3, and 4.

第3図に示すように、高速推論装置1は、ルールの弁別
ネットワークを記憶するルール記憶領域3と、事実や推
論状況を表現する事実データを記憶する事実データ記憶
領域4と、弁別ネットワークと事実データの照合によっ
て推論を行う推論エンジン2と、事実データと弁別ネッ
トワーク内の記憶ノードとの対応を記憶する記憶ノード
テーブル301とで構成される。
As shown in FIG. 3, the high-speed inference device 1 includes a rule storage area 3 that stores a discrimination network of rules, a fact data storage area 4 that stores fact data representing facts and inference situations, and a discrimination network and facts. It is composed of an inference engine 2 that performs inference by collating data, and a storage node table 301 that stores the correspondence between fact data and storage nodes in the discrimination network.

第1図は、ルールの例である。ルールの意味をまず説明
する。
FIG. 1 is an example of rules. Let me first explain the meaning of the rules.

ルールA101は、農夫が左岸にいてかつキャベツが左
岸にいるならば、農夫とキャベツは共に川を渡って右岸
へ移るというルールがある。ルールB102は、農夫が
左岸にいてかつ山羊が左岸にいるならば、農夫と山羊は
、共に川を渡って右岸へ移るというルールである。ルー
ルClO3は、農夫が右岸にいるならば、農夫は川を渡
って左岸に移るというルールである。ルールの実行部の
処理は、例えば、右岸へ移るという処理は、左岸にいる
という事実データを削除して、右岸にいるという事実デ
ータを追加する処理である。
Rule A101 is that if the farmer is on the left bank and the cabbage is on the left bank, both the farmer and the cabbage will cross the river and move to the right bank. Rule B102 is a rule that if the farmer is on the left bank and the goat is on the left bank, the farmer and the goat will both cross the river and move to the right bank. Rule ClO3 is a rule that if the farmer is on the right bank, he crosses the river and moves to the left bank. For example, the process of moving to the right bank is a process of deleting fact data that the user is on the left bank and adding fact data that the user is on the right bank.

これらのルールは、第2図に示す弁別ネットワークに変
換されて高速推論装置1のルール記憶領域3に記憶され
る。
These rules are converted into a discrimination network shown in FIG. 2 and stored in the rule storage area 3 of the high-speed inference device 1.

推論実行は、従来例と同様に第11図に示すフローチャ
ートの処理が行われる。事実データとの照合は、第2図
に示すように事実データが先頭ノード201からネット
ワークのリンクをたどっていくことで行われる。事実デ
ータの内容を調べるノードであるテストノードは、ルー
ル条件部内で行われる条件の一つに対応しておシ、事実
データの値をチエツクして成立するならば次のノードへ
事実データがたどり、そうでなければたどらない。主体
は農夫であるかとか、場所は左岸であるかとかのチエツ
クをノード202〜ノード208が行っている。事実デ
ータが終端ノード217にたどりついたときは、ルール
Aの条件部が満たされていることを示す。終端ノード2
18および終端ノード219の場合は、それぞれルール
BおよびルールCの条件部である。終端ノードには、ど
のルールの条件部が満たされたかを示す情報と、そのル
ールの実行部とが記憶されている。照合処理後、終端ノ
ードまでたどシついた照合の成立する事実データの中か
ら一つを選択して、終端ノードに記憶されたルール実行
部の処理を行う。
The inference execution is performed by the process shown in the flowchart shown in FIG. 11, as in the conventional example. The comparison with the fact data is performed by the fact data tracing the network links from the first node 201 as shown in FIG. The test node, which is a node that examines the content of fact data, checks the value of fact data in response to one of the conditions performed in the rule condition part, and if it is true, the fact data is traced to the next node. , otherwise it will not be traced. Nodes 202 to 208 check whether the subject is a farmer and whether the location is on the left bank. When the fact data reaches the terminal node 217, it indicates that the condition part of rule A is satisfied. Terminal node 2
18 and terminal node 219 are the condition parts of rule B and rule C, respectively. The terminal node stores information indicating which rule's condition part is satisfied and the execution part of that rule. After the matching process, one is selected from among the fact data that have reached the terminal node and the matching is established, and the processing is performed by the rule execution unit stored in the terminal node.

事実データ記憶領域4に、農夫が左岸にいることを示す
事実データと、キャベツが左岸にいることを示す事実デ
ータとが記憶されている。これらの事実データとルール
記憶領域3の弁別ネットワークとの照合が次のように行
われる。農夫が左岸にいる事実データは、先頭ノードか
らテストノード202をたどる。そこでは、主体が農夫
か否かのチエツクが行われる。事実データの主体は農夫
なので成立し、次に2つのノード205および206の
内の片方のノード205をたどる。テストノード205
は、場所が左岸であるかのチエツクであるので成立し、
αメモリノード209をたどる。α記憶ノードに到達す
ると、記憶ノードテーブル301の該当する箇所にα記
憶ノードのポインターを記憶する。
Fact data storage area 4 stores fact data indicating that the farmer is on the left bank and fact data indicating that the cabbage is on the left bank. These fact data are compared with the discrimination network in the rule storage area 3 as follows. The fact data that the farmer is on the left bank traces the test node 202 from the first node. There, a check is made to see if the subject is a farmer. This is true because the subject of the fact data is a farmer, and then one of the two nodes 205 and 206, 205, is traced. Test node 205
is valid because it checks whether the location is on the left bank,
The α memory node 209 is traced. When the α storage node is reached, the α storage node pointer is stored in the corresponding location of the storage node table 301.

この場合、農夫が左岸にいる事実データの識別番号1番
の箇所に記憶する。この事実データは、次の結合ノード
213をたどるが、結合できないので次のノードをたど
らない。
In this case, the information is stored in the identification number 1 of the fact data that the farmer is on the left bank. This fact data follows the next join node 213, but does not follow the next node because it cannot be joined.

ノード206.203、および204をたどるが、いず
れもチエツクが成立しないのでこの事実データの照合処
理は終了する。
Nodes 206, 203, and 204 are traced, but since no check is established for any of them, this fact data matching process ends.

キャベツが左岸にいることを示す事実データも、同様の
処理を行うとα記憶ノード211を記憶ノードテーブル
に記憶する。また、この事実データは、結合ノード2】
3で農夫が左岸にいることを示す事実データと結合され
て、β記憶ノード215をたどり終端ノード217にた
どりつく。これは、ルールAの条件部が全て満たされて
いるということである。このように記憶ノードテーブル
301には、照合処理中に事実データがα記憶ノードに
記憶されるときに、そのα記憶ノードのポインターを記
憶する。
When similar processing is performed for the fact data indicating that the cabbage is on the left bank, the α storage node 211 is stored in the storage node table. Also, this fact data is the connection node 2]
3 is combined with the factual data indicating that the farmer is on the left bank, and the β storage node 215 is traced to the terminal node 217. This means that all the conditional parts of rule A are satisfied. In this way, the storage node table 301 stores the pointer of the α storage node when fact data is stored in the α storage node during the collation process.

ここでルールA101の実行部を実行すると、農夫が右
岸にいる事実データの削除が起る。従来の事実データの
削除処理は、追加処理同様の弁別ネットワークをたどる
処理を行い、記憶ノードにたどりついたときに、記憶さ
れた事実データを削除していた。しかし、削除する事実
データの識別番号から記憶ノードテーブルを参照するこ
とによって、事実データが記憶されたα記憶ノードを直
接知ることができる。例えば、農夫が左岸にいる事実デ
ータを削除する場合は、記憶ノードテーブル301の内
容を参照してαノード209にこの事実データが記憶さ
れていることが分る。このα記憶ノードの記憶内容から
事実データを削除した後は、αノードから下位ノードを
たどってβ記憶ノードを事実データが存在しなくなるま
で探索しては削除する処理を続ける。これらにより、事
実データの追加照合のときに、記憶ノードテーブルに登
録するだけで弁別ネットワーク内の事実データの削除処
理がかなり高速化できるので、推論全体の高速化の効果
がある。
If the execution part of rule A101 is executed here, the fact data that the farmer is on the right bank will be deleted. In the conventional fact data deletion process, a process similar to the addition process follows a discrimination network, and when a storage node is reached, the stored fact data is deleted. However, by referring to the storage node table from the identification number of the fact data to be deleted, it is possible to directly know the α storage node in which the fact data is stored. For example, when deleting the fact data that a farmer is on the left bank, it can be seen that this fact data is stored in the α node 209 by referring to the contents of the storage node table 301. After deleting the fact data from the storage contents of the α storage node, the processing of tracing the lower nodes from the α node, searching the β storage node until no fact data exists, and deleting it is continued. As a result, when additional verification of fact data is performed, the process of deleting fact data in the discrimination network can be considerably speeded up simply by registering it in the storage node table, which has the effect of speeding up the overall inference.

次に、第1図、第2図、第5図、第6図、および第7図
を参照しながら本発明の第2の実施例について説明する
Next, a second embodiment of the present invention will be described with reference to FIGS. 1, 2, 5, 6, and 7.

第5図に示すように、高速推論装置1は、弁別ネットワ
ークを記憶するルール記憶領域3と、事実や推論状況を
表現する事実データを記憶する事実データ記憶領域4と
、弁別ネットワークと事実データの照合によって推論を
行う推論エンジン2と、事実データ記憶領域のあき領域
と使用領域を効率的に管理する記憶領域管理部401と
から構成される。記憶領域管理部401は、キュー管理
テーブル402とバッジ−テーブル403とから構成さ
れる(第6図参照)。
As shown in FIG. 5, the high-speed inference device 1 includes a rule storage area 3 for storing a discrimination network, a fact data storage area 4 for storing fact data representing facts and inference situations, and a rule storage area 3 for storing a discrimination network and a fact data storage area 4 for storing fact data representing facts and inference situations. It is composed of an inference engine 2 that performs inference by comparison, and a storage area management unit 401 that efficiently manages free areas and used areas of the fact data storage area. The storage area management unit 401 is composed of a queue management table 402 and a badge table 403 (see FIG. 6).

第1図は、ルールの例である。ルールの意味をまず説明
する。
FIG. 1 is an example of rules. Let me first explain the meaning of the rules.

ルールA101は、農夫が左岸にいてかつキャベツが左
岸にいるならば、農夫とキャベツは共に川を渡って右岸
に移るというルールである。ルールB102は、農夫が
左岸にいてかつ山羊が左岸にいるならば、農夫と山羊は
、共に川を渡って右岸へ移るというルールである。ルー
ルClO3は、農夫が右岸にいるならば、農夫は川を渡
って左岸へ移るというルールである。これらのルールの
実行部の処理は、例えば、右岸へ移るという処理は左岸
にいるという事実データを削除して右岸にいるという事
実データを追加する処理である。
Rule A101 is a rule that if the farmer is on the left bank and the cabbage is on the left bank, both the farmer and the cabbage cross the river and move to the right bank. Rule B102 is a rule that if the farmer is on the left bank and the goat is on the left bank, the farmer and the goat will both cross the river and move to the right bank. Rule ClO3 is a rule that if the farmer is on the right bank, he crosses the river and moves to the left bank. For example, the process of moving to the right bank is a process of deleting fact data that the user is on the left bank and adding fact data that the user is on the right bank.

これらのルールは、第2図に示す弁別ネットワークに変
換されて高速推論装置1のルール記憶領域3に記憶され
る。
These rules are converted into a discrimination network shown in FIG. 2 and stored in the rule storage area 3 of the high-speed inference device 1.

推論実行は、従来と同様に第11図に示すフローチャー
トの処理が行われる。
The inference execution is performed by the process shown in the flowchart shown in FIG. 11 as in the conventional case.

事実データとの照合は、第2図および第6図に示すよう
に、事実データが先頭ノード201からネットワークの
リンクをたどっていくことで行われる。事実データの内
容を調べるノードであるテストノードは、ルール条件部
内で行われる条件の一つに対応しており、事実データの
値をチエツクして成立するならば次のノードへ事実デー
タがたどり、そうでなければならない。主体は農夫であ
るかとか、場所は左岸であるかとかのチエツクをノード
202〜ノード208が行っている。事実データが終端
ノード217にたどりついたときは、ルールAの条件部
が満たされていることを示す。終端ノード218、終端
ノード219の場合は、それぞれルールB、ルールCの
条件部である。終端ノードには、どのルールの条件部が
満たされたかを示す情報とそのルールの実行部とが記憶
されている。照合処理後、終端ノードまでたどりついた
照合の成立する事実データの中から一つを選択して、終
端ノードに記憶されたルール実行部の処理を行う。
The comparison with the fact data is performed by the fact data tracing the network links from the head node 201, as shown in FIGS. 2 and 6. The test node, which is a node that examines the contents of the fact data, corresponds to one of the conditions performed in the rule condition part, and if the value of the fact data is checked and is true, the fact data is traced to the next node. It must be so. Nodes 202 to 208 check whether the subject is a farmer and whether the location is on the left bank. When the fact data reaches the terminal node 217, it indicates that the condition part of rule A is satisfied. The terminal nodes 218 and 219 are the condition parts of rule B and rule C, respectively. The terminal node stores information indicating which rule's condition part is satisfied and the execution part of that rule. After the matching process, one is selected from among the fact data that have reached the terminal node and the matching is established, and the processing is performed by the rule execution unit stored in the terminal node.

事実データは、第6図に示すように、事実データ記憶領
域4内の事実データテーブル404と文字列テーブル4
07とに記憶されている。
The fact data is stored in the fact data table 404 and the character string table 4 in the fact data storage area 4, as shown in FIG.
It is stored in 07.

事実データテーブル404内の1行が、事実データの一
つを記憶する領域(事実データ領域と呼ぶ)であり、先
頭のポインター領域405には管理のだめのポインター
が書き込まれ、データ領域406には事実データの内容
データが書き適寸れる。ポインター領域405は事実デ
ータ領域へのポインターを書き込むことによって事実デ
ータ領域同士をポインターで張り、キュー形式で管理す
る。データ領域406のデータ型が数値の場合は数値が
直接書き込まれているが、文字列の場合は文字列テーブ
ル407に取られたデータ実体のポインターが書き込ま
れている。記憶領域管理部401のキーー管理テーブル
402は、使用中キュー、削除キュー、オ・よびフリー
キューの3つの領域を用いて事実データテーブル404
の事実データ領域を次のように管理する(第7図(a)
参照)。
One row in the fact data table 404 is an area for storing one piece of fact data (referred to as a fact data area), a pointer for management is written in the first pointer area 405, and a data area 406 is used to store the fact data. Data content The data can be written and sized appropriately. In the pointer area 405, by writing pointers to the fact data areas, the fact data areas are connected with pointers and managed in a queue format. If the data type of the data area 406 is a numeric value, the numeric value is directly written, but if it is a character string, a pointer to the data entity taken in the character string table 407 is written. The key management table 402 of the storage area management unit 401 uses three areas: an in-use queue, a deletion queue, and a free queue to create a fact data table 404.
The fact data area of is managed as follows (Figure 7 (a)
reference).

システム立ち上げ時の初期状態のときは、事実データ領
域は、すべてフリーキューにつながっている。即ち、キ
ュー管理テーブル402のフリーキューには、事実デー
タテーブル404の先頭行の領域のポインターが書き込
まれており、その先頭行の領域のポインター領域405
には、次の行の領域のポインターが書き込まれていると
いうようにして全ての事実データの領域がつながってい
る。次に、事実データ作成が行われると、フリーキュー
の先頭の事実データ領域に事実データの内容が書き込ま
れ、この領域は使用中キューにつながれる。
In the initial state when the system is started up, all fact data areas are connected to free queues. That is, in the free queue of the queue management table 402, a pointer to the area of the first row of the fact data table 404 is written, and the pointer area 405 of the area of the first row is written.
In this way, all fact data areas are connected, with a pointer to the next line area being written. Next, when fact data is created, the contents of the fact data are written in the fact data area at the head of the free queue, and this area is connected to the busy queue.

事実データが削除されると、事実データ記憶領域は、削
除キューにつながれる。事実データの追加処理のとき、
フリーキューがない場合は、削除キー−の領域から事実
データ領域を確保して行う。
When factual data is deleted, the factual data storage area is linked to a deletion queue. When processing additional factual data,
If there is no free queue, a fact data area is secured from the deletion key area.

削除キューになにもつながれていない場合は、フリーキ
ューの事実データ領域を確保して使う。
If nothing is connected to the deletion queue, the fact data area of the free queue is secured and used.

人間の知識を表す事実データやルールの表現形式には、
一般に数値よシも文字列が多く用いられる。また、これ
らの文字列は、事実データ内でもルール内でも繰り返し
用いられる。このため、文字列の現れる度に文字列領域
を取らずに、同じ文字列は一つの文字列領域で一元的に
管理すれば、メモリ領域を経済的に使うことが可能であ
る。
The expression format of factual data and rules representing human knowledge includes
In general, character strings are often used instead of numbers. Additionally, these strings are used repeatedly both within the factual data and within the rules. Therefore, if the same character string is centrally managed in one character string area, instead of taking up a character string area each time a character string appears, it is possible to use the memory area economically.

実施例では、文字列の実体を文字列テーブル407に取
シ、記憶領域管理部401にハツシュテーブル403を
設けることにより、ハツシングによる高速な文字列−元
管環を実現している。
In the embodiment, by storing the actual character string in a character string table 407 and providing a hash table 403 in the storage area management unit 401, a high-speed character string-to-source chain ring is realized by hashing.

事実データが推論中に作成され、事実データに含まれる
文字列を事実データテーブル404のデータ領域406
に記憶するとき、次の処理を行う。
Fact data is created during inference, and character strings included in the fact data are stored in the data area 406 of the fact data table 404.
When storing the data, the following processing is performed.

まず、その文字列が文字列テーブル407にすでに記憶
されているか否かをハツシュテーブル403で調べ、記
憶されているときはその文字列のポインターをかえし、
記憶されていないときは、文字列テーブル407に記憶
してそのポインターを返す(第7図(b)参照)。
First, check whether the character string is already stored in the character string table 407 in the hash table 403, and if it is stored, return the pointer of the character string,
If it is not stored, it is stored in the character string table 407 and its pointer is returned (see FIG. 7(b)).

これらにより、事実データを記憶する領域を無駄なく利
用でき、事実データの記憶処理の高速化や推論の高速化
に効果がある。
As a result, the area for storing fact data can be used without waste, which is effective in speeding up the storage processing of fact data and speeding up inference.

次に、第1図、第2図、第8図、および第9図を参照し
ながら本発明の第3の実施例について説明する。
Next, a third embodiment of the present invention will be described with reference to FIGS. 1, 2, 8, and 9.

第8図および第9図に示すように、高速推論装置1は、
弁別ネットワークを記憶するルール記憶領域3と、事実
や推論状況を表現する事実データを記憶する事実データ
記憶領域4と、弁別ネットワークと事実データの照合に
よって推論を行う推論エンジン2と、事実データの作成
時に照合を開始する弁別ネットワークのノードを見つけ
出す推論前処理部602と、事実データを作成するルー
ルの実行部に対して照合開始ノードを記憶する入力ノー
ドテーブル601とから構成される。
As shown in FIGS. 8 and 9, the high-speed inference device 1
A rule storage area 3 that stores a discrimination network, a fact data storage area 4 that stores fact data representing facts and inference situations, an inference engine 2 that performs inference by collating the discrimination network and fact data, and creates fact data. It consists of an inference preprocessing unit 602 that finds the node of the discrimination network at which to start matching, and an input node table 601 that stores the matching start node for the rule execution unit that creates fact data.

第1図は、ルールの例である。ルールの意味を1ず説明
する。
FIG. 1 is an example of rules. First, explain the meaning of the rules.

ルールA101は、農夫が左岸にいてかつキャベツが左
岸にいるならば、農夫とキャベツは共に川を渡って右岸
へ移るというルールである。ルールB102は、農夫が
左岸にいてかつ山羊が左岸にいるならば、農夫と山羊は
、共に川を渡って、右岸へ移るというルールである。ル
ールClO3は、農夫が右岸にいるならば、農、夫は川
を渡って左岸へ移るというルールである。これらのルー
ルの実行部の処理は、例えば、右岸へ移るという処理は
左岸にいるという事実データを削除して右岸にいるとい
う事実データを追加する処理である。
Rule A101 is a rule that if the farmer is on the left bank and the cabbage is on the left bank, both the farmer and the cabbage cross the river and move to the right bank. Rule B102 is a rule that if the farmer is on the left bank and the goat is on the left bank, the farmer and the goat will both cross the river and move to the right bank. Rule ClO3 is a rule that if the farmer is on the right bank, the farmer and her husband cross the river and move to the left bank. For example, the process of moving to the right bank is a process of deleting fact data that the user is on the left bank and adding fact data that the user is on the right bank.

これらのルールは、第2図に示す弁別ネットワークに変
換されて高速推論装置1のルール記憶領域3に記憶され
る。
These rules are converted into a discrimination network shown in FIG. 2 and stored in the rule storage area 3 of the high-speed inference device 1.

推論前に推論前処理部602は、次の処理を行う。Before inference, the inference preprocessing unit 602 performs the following processing.

終端ノード217.218、および219の各ルール実
行部の事実データ作成関数を参照し、事実データを作成
する。そのとき、現時点では変数のように不定であるが
推論時に初めて確定する値がある。
The fact data creation function of each rule execution unit of the terminal nodes 217, 218 and 219 is referred to, and fact data is created. At that time, there are values that are undefined at the moment, such as variables, but are determined only at the time of inference.

ここでは、それを不定値と呼ぶことにする。その事実デ
ータを、弁別ネットワーク231の照合処理の容量でα
メモリノードに達するまでの各テストノードが成立する
かを順に調べる。不定値の値のチエツクを行うノード以
下はたどらない。不定値でない確定値のバリューのチエ
ツクで成立するノードは、さらに次のノードをたどる。
Here, we will call it an indefinite value. The fact data is α
Each test node up to the memory node is sequentially checked to see if it holds true. Do not follow the node that checks for an unspecified value. A node that is established by checking the value of a definite value that is not an indefinite value further traces the next node.

この処理の結果、事実データはどのノードにもたどりつ
かないか、不定値の比較を行うテストノードにたどり着
くか、またはαメモリノードにたどシ着くかである。た
どりついたノードのポインターをルールと事実データ追
加関数毎に入力ノードテーブル601に書き込む。例え
ば、ルールAの2番目の実行部である農夫が右岸にいる
事実データ追加する関数の場合、先頭ノード201にた
どυつくのでこのポインターを入力ノードテーブルに記
憶する。
As a result of this processing, the factual data either does not reach any node, reaches a test node that performs a comparison of undefined values, or reaches an α memory node. The pointer of the node reached is written into the input node table 601 for each rule and fact data addition function. For example, in the case of the second execution part of rule A, which is a function that adds data about the fact that the farmer is on the right bank, the first node 201 is reached, so this pointer is stored in the input node table.

推論実行は、従来と同様に第11図に示すフローチャー
トの処理が行われる。
The inference execution is performed by the process shown in the flowchart shown in FIG. 11 as in the conventional case.

事実データとの照合は、第2図および第9図に示すよう
に、事実データが先頭ノード201からネットワークの
リンクをたどっていくことで行われる。事実データの内
容を調べるノードであるテストノードは、ルール条件部
内で行われる条件の一つに対応しており、事実データの
値をチエツクして成立するならば次のノードへ事実ノー
ドがたどり、そうでなければたどらない。主体は農夫で
あるかとか、場所は左岸であるとかのチエツクをノード
202〜208が行っている。事実データが終端ノード
217にたどりついたときは、ルールAの条件が満たさ
れていることを示す。終端ノード218または終端ノー
ド219の場合は、それぞれルールBまたはルールCの
条件部である。終端ノードにはどのルールの条件部が満
たされたかを示す情報とそのルールの実行部とが記憶さ
れている。照合処理後、終端ノード壕でたどりついた照
合の成立する事実データの中から一つを選択して、終端
ノードに記憶されたルール実行部の処理を行う。ただし
、ルールの実行部の処理で事実データの追加が行われ、
ルール条件部との照合を行うとき、弁別ネットワークの
先頭ノードからたどらずに、入力ノードテーブル601
に記憶したノードからたどる照合処理を行う。
The comparison with the fact data is performed by the fact data tracing the network links from the head node 201, as shown in FIGS. 2 and 9. The test node, which is a node that examines the contents of the fact data, corresponds to one of the conditions performed in the rule condition part, and if the value of the fact data is checked and is true, the fact node traces to the next node. Otherwise I can't follow it. Nodes 202 to 208 check whether the subject is a farmer and whether the location is on the left bank. When the fact data reaches the terminal node 217, it indicates that the condition of rule A is satisfied. In the case of the terminal node 218 or 219, this is the condition part of rule B or rule C, respectively. The terminal node stores information indicating which rule's condition part is satisfied and the execution part of that rule. After the collation process, one is selected from among the fact data arrived at at the terminal node where the collation is established, and is processed by the rule execution unit stored in the terminal node. However, factual data is added during the processing of the rule execution part,
When performing matching with the rule condition part, the input node table 601 is used instead of tracing from the first node of the discrimination network.
Verification processing is performed starting from the node stored in .

これらにより、弁別ネットワークの無駄な照合の処理を
省いて照合の高速化が実現できる。
With these, it is possible to eliminate wasteful matching processing in the discrimination network and realize faster matching.

以上で述べた実施例の説明を要約すれば、次のようにな
る。
The explanation of the embodiments described above can be summarized as follows.

推論中に推論エンジンが行うルールと事実データとの照
合処理は、事実データ記憶領域の事実データがルール記
憶領域の弁別ネットワークをたどる処理によって行われ
る。先ず、事実データの追加が行われたとき、弁別ネッ
トワーク内の処理でα記憶ノードに達すると事実データ
を記憶する処理が行われる。このとき、この事実データ
とα記憶ノードの位置を記憶ノードテーブルに記憶する
The matching process between rules and fact data performed by the inference engine during inference is performed by a process in which the fact data in the fact data storage area follows the discrimination network in the rule storage area. First, when fact data is added, when the α storage node is reached in the processing within the discrimination network, processing to store the fact data is performed. At this time, this fact data and the position of the α storage node are stored in the storage node table.

次に、この事実データを削除する処理が起動されたとき
、弁別ネットワークの先頭ノードからたどる処理を行わ
ずに記憶ノードテーブルを参照することで、記憶されて
いるα記憶ノードに直接アクセスして削除できる。α記
憶ノード以下のβ記憶ノードについても、記憶ノードの
みをたどって記憶内容を探索して削除することを、記憶
ノードに記憶されていないことが判明するまで続ける。
Next, when the process to delete this fact data is started, by referring to the memory node table without performing the process of tracing from the first node of the discrimination network, the stored α memory node can be directly accessed and deleted. . As for the β storage nodes below the α storage node, searching for and deleting the storage contents by tracing only the storage nodes is continued until it is determined that the storage contents are not stored in the storage nodes.

このように、事実データが弁別ネットワークをたどる処
理を大幅に削減することによって、従来よりも弁別ネッ
トワーク内の事実データの削除処理が高速になり、推論
の高速化の効果がある。
In this way, by significantly reducing the process by which fact data follows the discrimination network, the process of deleting fact data in the discrimination network becomes faster than in the past, which has the effect of speeding up inference.

1だ、推論中に推論エンジンが行うルールと、事実デー
タとの照合処理は、事実データ記憶領域の事実データが
ルール記憶領域の弁別ネットワークをたどる処理によっ
て行われる。記憶領域管理部は、事実データ記憶領域を
未使用領域と使用領域とに分けて次の管理を行う。事実
データが追加されたときは、未使用領域から領域を確保
して使用領域とし、事実データを書き込む。事実データ
が削除されたときは、事実データの記憶された領域を単
に使用領域から未使用領域とする。このように、未使用
領域を利用することで事実データ記憶領域のメモリ利用
効率が向上するので、推論装置が動作する環境であるオ
ペレーティングシステムやハードウェアに対する必要な
記憶領域の制約を緩和できる。また、記憶領域の無駄の
ない利用は、事実データ記憶領域の記憶処理の高速化、
推論の高速化の効果がある。
1. The process of matching rules and fact data performed by the inference engine during inference is performed by a process in which the fact data in the fact data storage area follows the discrimination network in the rule storage area. The storage area management section divides the fact data storage area into an unused area and a used area and performs the following management. When factual data is added, an area is secured from the unused area and used as a used area, and the factual data is written therein. When fact data is deleted, the area where the fact data is stored is simply changed from a used area to an unused area. In this way, by using the unused area, the memory usage efficiency of the fact data storage area is improved, so that the constraints on the necessary storage area for the operating system and hardware that are the environment in which the inference device operates can be relaxed. In addition, the efficient use of storage area means faster storage processing of fact data storage area,
It has the effect of speeding up inference.

更に、推論エンジンが行うルールと事実データとの照合
処理は、事実データ記憶領域の事実データがルール記憶
領域の弁別ネットワークをたどる処理によって行われる
。推論前処理部は、推論の実行前に、全てのルール実行
部に対し、事実データ追加の処理があるかを調べる。そ
れぞれの事実データ追加処理に対して、追加処理で作成
された事実データが弁別ネットワークの少なくともどの
ノードまでたどれるかを調べ、入力ツートチ−フルにそ
のノードを記憶する。推論中にルールの実行部を実行し
たときの事実データの追加処理は、弁別ネットワークの
先頭ノードからたどらずに、入力ノードテーブルに記憶
されたノードから照合処理を行うので、無駄な照合処理
を省くことができる。このように、弁別ネットワーク内
の事実データ追加処理の高速化および推論の高速化の効
果がある。
Furthermore, the process of matching rules and fact data performed by the inference engine is performed by a process in which the fact data in the fact data storage area follows the discrimination network in the rule storage area. Before the inference is executed, the inference preprocessing unit checks all rule execution units to see if there is a process for adding fact data. For each fact data addition process, it is checked to which node in the discrimination network the fact data created by the addition process can be traced, and that node is stored in the input-to-touchful. When executing the rule execution part during inference, additional processing of fact data is performed from the node stored in the input node table without tracing from the top node of the discrimination network, eliminating unnecessary matching processing. be able to. In this way, there is an effect of speeding up the process of adding fact data within the discrimination network and speeding up the inference.

発明の効果 以上のように本発明は、第1の発明によれば、弁別ネッ
トワーク内の事実データの削除処理が、追加処理の負担
をほとんどかけることなく高速化でき、推論の高速化が
可能となる。
Effects of the Invention As described above, according to the first invention, the process of deleting fact data in a discrimination network can be sped up with almost no additional processing burden, and inference can be sped up. Become.

また、第2の発明によれば、事実データ記憶領域を小容
量化できるので、推論装置が動作する環境であるO8や
ハードウェアに対する必要な記憶領域の制約を緩和でき
る。しかも、記憶領域の無駄のない利用は、事実データ
記憶領域の記憶処理の高速化、推論の高速化が可能とな
る。
Further, according to the second invention, since the capacity of the fact data storage area can be reduced, it is possible to alleviate the constraints on the necessary storage area for the O8 and hardware that are the environment in which the inference device operates. Moreover, efficient use of the storage area enables faster storage processing of the fact data storage area and faster inference.

更に、第3の発明によれば、弁別ネットワーク内の事実
データ追加処理の高速化および推論の高速化が可能とな
る。
Furthermore, according to the third invention, it is possible to speed up the process of adding fact data within the discrimination network and speed up the inference.

【図面の簡単な説明】[Brief explanation of the drawing]

第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名第 図 第 図 第 図 第 図 第 図 第 図 第 図 第 図
FIG. 1 is a conceptual diagram showing an example of rules in an embodiment of a high-speed inference device according to the present invention, FIG. 2 is a conceptual diagram showing a discrimination network in an embodiment of a high-speed inference device according to the present invention, and FIG. FIG. 4 is a block diagram of a high-speed inference device in the first embodiment of the high-speed inference device according to the present invention, and FIG. 5 is a block diagram of the configuration of the high-speed inference device in the first embodiment of the high-speed inference device according to the present invention. , a block diagram of a high-speed inference device in a second embodiment of the high-speed inference device according to the present invention, FIG. 6 is a block diagram of a high-speed inference device in a second embodiment of the high-speed inference device according to the present invention, FIG. (a
) and (b) are flowcharts showing the processing of the storage area management unit in the second embodiment of the high-speed inference device according to the present invention, and FIG. Block diagram of high-speed inference device, No. 9
10 is a block diagram showing a general configuration of a conventional inference device, and FIG. 11 is a block diagram showing a general configuration of a conventional inference device. A flowchart showing the inference processing of the inference device,
FIG. 12 is a conceptual diagram showing an example of a discrimination network of a conventional inference device. 1...High-speed inference device, 2...Inference engine, 3...
Rule storage area, 4...Fact data storage area, 301
. . . Storage node table, 401 . . . Storage area management unit, 402 . . . Queue management table, 403 .
5... Pointer area, 406... Data area, 4
07...Character string table, 601...Input node table, 602...Inference preprocessing unit, 701...Inference device. Name of agent: Patent attorney Shigetaka Awano and one other person

Claims (3)

【特許請求の範囲】[Claims] (1)弁別ネットワークを記憶するルール記憶領域と、
事実や推論状況を表現する事実データを記憶する事実デ
ータ記憶領域と、弁別ネットワークと事実データの照合
によって推論を行う推論エンジンと、事実データと弁別
ネットワーク内の記憶ノードとの対応を記憶する記憶ノ
ードテーブルとを有する高速推論装置。
(1) a rule storage area for storing a discrimination network;
A fact data storage area that stores fact data expressing facts and inference situations, an inference engine that performs inference by collating the fact data with a discrimination network, and a storage node that stores the correspondence between fact data and storage nodes in the discrimination network. A high-speed inference device having a table.
(2)弁別ネットワークを記憶するルール記憶領域と、
事実や推論状況を表現する事実データを記憶する事実デ
ータ記憶領域と、弁別ネットワークと事実データの照合
によって推論を行う推論エンジンと、事実データ記憶領
域の空き領域と使用領域を管理する記憶領域管理部とを
有する高速推論装置。
(2) a rule storage area for storing the discrimination network;
A fact data storage area that stores fact data expressing facts and inference situations, an inference engine that makes inferences by collating the fact data with a discrimination network, and a storage area management unit that manages free space and used area of the fact data storage area. A high-speed inference device having
(3)弁別ネットワークを記憶するルール記憶領域と、
事実や推論状況を表現する事実データを記憶する事実デ
ータ記憶領域と、弁別ネットワークと事実データの照合
によって推論を行う推論エンジンと、事実データの作成
時に照合を開始する弁別ネットワークのノードを見つけ
出す推論前処理部と、事実データを作成するルールの実
行部に対して照合開始ノードを記憶する入力ノードテー
ブルとを有する高速推論装置。
(3) a rule storage area for storing the discrimination network;
A fact data storage area that stores fact data that expresses facts and inference situations, an inference engine that performs inference by collating fact data with a discrimination network, and a pre-inference process that finds the node of the discrimination network that starts collation when creating fact data. A high-speed inference device that has a processing unit and an input node table that stores a matching start node for a rule execution unit that creates fact data.
JP2133400A 1990-05-23 1990-05-23 Fast inference device Pending JPH0432927A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2133400A JPH0432927A (en) 1990-05-23 1990-05-23 Fast inference device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2133400A JPH0432927A (en) 1990-05-23 1990-05-23 Fast inference device

Publications (1)

Publication Number Publication Date
JPH0432927A true JPH0432927A (en) 1992-02-04

Family

ID=15103863

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2133400A Pending JPH0432927A (en) 1990-05-23 1990-05-23 Fast inference device

Country Status (1)

Country Link
JP (1) JPH0432927A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013512496A (en) * 2009-11-27 2013-04-11 コリア インスティテュート オブ サイエンス アンド テクノロジー インフォメイション Rule inference and method for dynamic implementation of wild pattern rules including the same

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6198438A (en) * 1984-10-19 1986-05-16 Nec Corp Control method for file idle area
JPH01150938A (en) * 1987-12-07 1989-06-13 Nec Corp System for collating rule compiled in to network
JPH0256637A (en) * 1988-08-23 1990-02-26 Sony Tektronix Corp Collation processing method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6198438A (en) * 1984-10-19 1986-05-16 Nec Corp Control method for file idle area
JPH01150938A (en) * 1987-12-07 1989-06-13 Nec Corp System for collating rule compiled in to network
JPH0256637A (en) * 1988-08-23 1990-02-26 Sony Tektronix Corp Collation processing method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013512496A (en) * 2009-11-27 2013-04-11 コリア インスティテュート オブ サイエンス アンド テクノロジー インフォメイション Rule inference and method for dynamic implementation of wild pattern rules including the same

Similar Documents

Publication Publication Date Title
US4849905A (en) Method for optimized RETE pattern matching in pattern-directed, rule-based artificial intelligence production systems
CN109656798B (en) Vertex reordering-based big data processing capability test method for supercomputer
CN104915717A (en) Data processing method, knowledge base reasoning method and related device
Meinke Cge: A sequential learning algorithm for mealy automata
Mears et al. Lightweight dynamic symmetry breaking
Arge The I/O-complexity of ordered binary-decision diagram manipulation
Chida et al. On lookaheads in regular expressions with backreferences
KR102582779B1 (en) Knowledge completion method and apparatus through neuro symbolic-based relation embeding
Kosaraju Real-time simulation of concatenable double-ended queues by double-ended queues (preliminary version)
Govada et al. Distributed multi-class rule based classification using RIPPER
CN111190711B (en) BDD combined heuristic A search multi-robot task allocation method
Chao et al. Multiple-weighted marked graphs
JPH0432927A (en) Fast inference device
CN113568987A (en) Training method and device for knowledge graph embedded model and computer equipment
CN110162531B (en) Distributed concurrent data processing task decision method
Donnell Object/rule integration in CLIPS
CN111062804A (en) Guarantee ring identification method and device
Syzdykov Local search in non-deterministic finite automata with extensions
JPS6211901A (en) Information erasing system in network
JPH02210541A (en) Processing method for discriminating network
Beach et al. Eclipse: A C-based Inference Engine Embedded in a Lisp Interpreter
Ding et al. The performance optimization of CLIPS
JPS633334A (en) Forward reasoning system
Tam et al. Improving GENET and EGENET by new variable ordering strategies
Abrahamson et al. A grammar characterization of logarithmic-space computation