JPS59157760A - List processing system of parallel inference type - Google Patents

List processing system of parallel inference type

Info

Publication number
JPS59157760A
JPS59157760A JP58030722A JP3072283A JPS59157760A JP S59157760 A JPS59157760 A JP S59157760A JP 58030722 A JP58030722 A JP 58030722A JP 3072283 A JP3072283 A JP 3072283A JP S59157760 A JPS59157760 A JP S59157760A
Authority
JP
Japan
Prior art keywords
inference
processor
data
memory
list
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.)
Granted
Application number
JP58030722A
Other languages
Japanese (ja)
Other versions
JPH0554136B2 (en
Inventor
Setsuo Tsuruta
節夫 鶴田
Makoto Nomi
能見 誠
Shoji Miyamoto
宮本 捷二
Koichi Ihara
廣一 井原
Masaharu Yabushita
藪下 正治
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP58030722A priority Critical patent/JPS59157760A/en
Publication of JPS59157760A publication Critical patent/JPS59157760A/en
Publication of JPH0554136B2 publication Critical patent/JPH0554136B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Multi Processors (AREA)

Abstract

PURPOSE:To process a large quantity of list data in a high speed by searching experience rules individually when an inference request is accepted in plural processors. CONSTITUTION:An inference request message 52 and an inference data message 53 are transmitted to plural inferring processors 21 through an interpreter processor 11. When receiving the inference data message 53, each inferring processor 21 stores know facts in a fact group list. The inferring processor 21 takes out experience rules in order from the beginning of an experience rule group list. The processor 21 checks whether the fact group list coincides with experience rules or not; and if they coincide with each other, the processor 21 takes out a conclusion part of experience rules and transmits back an inference response message to the interpreter processor 11. Inferring processors 21 have a shared memory and can execute parallel processings in a high speed.

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、計算機にデータとして記憶された専門知識(
経験則)や事実をもとに推論を行う知識ベースシステム
において、大量のりストデータを関連に処理するに好適
な並列(fm論形リスト処理方式に関する。
[Detailed Description of the Invention] [Field of Application of the Invention] The present invention provides specialized knowledge (
This invention relates to a parallel (fm logical list processing method) suitable for processing a large amount of list data in relation to each other in a knowledge-based system that makes inferences based on empirical rules and facts.

〔発明の背景〕[Background of the invention]

従来の知識ベースンステムの並列推論方式′は、各プロ
セッサが共通にアクセスできるメモリ(共有メモリ)を
使用し、これに便利な方式であるが、共有メモリのアク
セスの競合処理のだめのソフトウェア、ハードウェアの
オーバヘッドが高く、10台以上の計算機の複合システ
ムでは、アクセスネックのため性能改善が期待できなか
った。従来の並列推論方式として、例えば、R,D、 
FENNELL 。
The conventional knowledge-based system parallel inference method uses memory that can be commonly accessed by each processor (shared memory), and is a convenient method for this purpose, but the software and hardware that cannot handle conflicting accesses to the shared memory The overhead is high, and in a complex system of 10 or more computers, no performance improvement could be expected due to access bottlenecks. As conventional parallel inference methods, for example, R, D,
FENNELL.

V、 R1,LESSER: Paral Iel i
sm  in ArtificiaIIntellig
ence Problom Solving : A 
Ca5e  −5tudy of Hearsay I
L  IF5.Trans、ComputlFeb、 
1977が知られている。
V, R1, LESSER: Parallel i
sm in Artificia II Intellig
ence Problom Solving: A
Ca5e -5tudy of Healthy I
LIF5. Trans, ComputlFeb,
1977 is known.

〔発明の目的〕[Purpose of the invention]

本発明の目的は、数10台のマイクロコンピュータを用
いて、LISPによって記述された知識ベースシステム
における推論を並列処理することによって、超高速にす
るためのリスト処理方式を提供することにある。
An object of the present invention is to provide a list processing method that can achieve ultra-high speed by processing inferences in a knowledge base system written in LISP in parallel using several dozen microcomputers.

〔発明の概要〕[Summary of the invention]

このような目的を達成するために本発明では、各プロセ
ッサのメモリを拡張し、共有メモリを排し、事実データ
を拡張した各プロセッサのメモリに記憶させ、新事実だ
けを全推論プロセッサに一斉送信をするようにしたこと
に特徴がある。
In order to achieve these objectives, the present invention expands the memory of each processor, eliminates shared memory, stores fact data in the memory of each expanded processor, and sends only new facts to all inference processors at once. It is distinctive in that it is made to do.

〔発明の実施例〕 以下、本発明の一実施例を、第1〜5図によシ説明する
[Embodiment of the Invention] An embodiment of the present invention will be described below with reference to FIGS. 1 to 5.

第1図と第2図は、本発明の方式を実現する装置の実施
例のシステム構成を示す。第1図は全体の概略構成図、
第2図はシステムの詳細構成図で1および2は、それぞ
れインタプリタコンピュータおよび推論コンピュータと
呼ばれるマイクロコンピュータで、例えば、第1図のよ
うな6角形の格子状バス4によって、お互いに、あるい
は、インタプリタコンピュータlと、推論データ人出力
装置と呼ばれるコンソールやディスク、あるいはプロセ
ス人出力装丁紅等の入出力装置3とが結合されている。
FIGS. 1 and 2 show the system configuration of an embodiment of an apparatus that implements the method of the present invention. Figure 1 is a schematic diagram of the overall configuration.
FIG. 2 is a detailed configuration diagram of the system. Reference numerals 1 and 2 are microcomputers called an interpreter computer and an inference computer, respectively. A computer 1 is connected to an input/output device 3, such as a console, a disk, or a process human output device called an inference data human output device.

バスの結合形態は、4角形など他の形態でも良い。The bus may be connected in other shapes such as a rectangular shape.

なお、マイクロコンピュータ1.2としてはHMC86
8000等が使用できる。
In addition, HMC86 is the microcomputer 1.2.
8000 etc. can be used.

第2図で示されるようにインタプリタコンピュータ1は
、インタプリタプロセッサ11とそのローカルメモリ1
2から構成され、推論コンピュータ2は、推論プロセッ
サ21とそのローカルメモリ22から構成される。
As shown in FIG. 2, the interpreter computer 1 includes an interpreter processor 11 and its local memory 1.
The inference computer 2 is composed of an inference processor 21 and its local memory 22.

第3図は、実施例のシステムにおける、各プロセッサ1
1または21の間、および、インタプリタプロセッサ1
1と推論データ人出カ装置3との間のメツセージの流れ
の一例を示す。
FIG. 3 shows each processor 1 in the system of the embodiment.
1 or 21, and interpreter processor 1
1 and the inferred data output device 3.

インタプリタプロセッサ11は、推論データ入出力装置
纜3を通して、推論データ51を人力し、推論結果メツ
セージ55を出力する。
The interpreter processor 11 manually inputs inference data 51 through the inference data input/output device 3, and outputs an inference result message 55.

並列推論処理を行うため、インタプリタプロセッサ11
は全ての推論プロセッサ21に対して、推論要求メツセ
ージ52、および、必要に応じて推論データメツセージ
53を、ブロードキャスト方式で送信する。
In order to perform parallel inference processing, an interpreter processor 11
transmits an inference request message 52 and, if necessary, an inference data message 53 to all inference processors 21 in a broadcast manner.

推論プロセッサ21は、推論結果を、推論応答メツセー
ジ54として返す。
The inference processor 21 returns the inference result as an inference response message 54.

第4図は、推論要求メツセージ52のフォーマットの一
例である。
FIG. 4 is an example of the format of the inference request message 52.

要求メッセージンラグ521は、推論要求メツセージ5
2であることを示すフラグである。要求メツセージ通番
522は、推論要求メツセージ52に対して付けられた
通し番号である。
The request message lag 521 is the inference request message 5
This is a flag indicating that the number is 2. The request message serial number 522 is a serial number assigned to the inference request message 52.

推論データ種別523は、推論データ525の内容を示
す。たとえば、推論データ525が既知事実(へのポイ
ンタ)62が、経験則(へのポインタ)64かを示す。
The inference data type 523 indicates the content of the inference data 525. For example, the inference data 525 indicates whether a known fact (a pointer to) 62 is a empirical rule (a pointer to) 64.

推論データ長524は、推論データの長さ、つまシ、本
メツセージで送信される既知事実62や経験則64のデ
ータ数を示す。
The inference data length 524 indicates the length of the inference data, the length, and the number of data of the known facts 62 and empirical rules 64 transmitted in this message.

第5図は、推−データメツセージ53のフォーマットの
一例である。
FIG. 5 shows an example of the format of the inference data message 53.

データメツセージフラグ531は、推論データメツセー
ジ53であることを示すフラグである。
The data message flag 531 is a flag indicating that the message is an inferred data message 53.

推論データメツセージ53は、推論に必要な推論データ
525の量が多い場合、一定量に達した推論データを、
その都度、送信することにょシ、推論要求において、推
論要求メツセージ52の機能を補うものである。対応要
求メツセージ通番532は、このような関係にある(っ
まシ、推論データメツセージ53が、一定量に堰した推
論データ536を前もって送ることにょシ、その機能を
補おうとする。)推論要求メツセージ52の通し番号5
22である。
When the amount of inference data 525 required for inference is large, the inference data message 53 sends the inference data that has reached a certain amount,
Each time it is sent, it supplements the function of the inference request message 52 in the inference request. The correspondence request message serial number 532 has such a relationship (the inference data message 53 sends a certain amount of inference data 536 in advance, and attempts to supplement its function). 52 serial number 5
It is 22.

データメツセージ通番533は、推論データメツセージ
53に対して付けられた通し番号である。
The data message serial number 533 is a serial number assigned to the inferred data message 53.

これは、対応要求メツセージ通帯532が更新される度
に、0にリセットされる。
This is reset to 0 each time the response request message pass 532 is updated.

推論データ種別534、推論データ長535、推論デー
タ536は、第4図で既に説明した、推論要求メツセー
ジ52に対するものと全く同じである。
The inference data type 534, inference data length 535, and inference data 536 are exactly the same as those for the inference request message 52 already explained in FIG.

第6図は、推論応答メツセージ54のフォーマットの一
例である。
FIG. 6 is an example of the format of the inference response message 54.

応答メツセージフラグ541は、推論応答メツセージ5
4であることを示すフラグである。応答要求メツセージ
通番542は、推論応答メツセージ54が、どの推論要
求に対応であるかを、その推論要求に対応する推論要求
メツセージ52の通帯522によって示すものである。
The response message flag 541 indicates the inference response message 5.
This is a flag indicating that the number is 4. The response request message serial number 542 indicates which inference request the inference response message 54 corresponds to by the serial number 522 of the inference request message 52 corresponding to the inference request.

応答プロセッサ番号543は、本応答メツセージの送信
元である推論プロセッサ21のID(番号)を示す。応
答メツセージ通番544は、推論応答メツセージ54に
対して付けられた通し番号であシ、推論要求に対して、
および各推論プロセッサ21に対して独立につけられる
The response processor number 543 indicates the ID (number) of the inference processor 21 that is the sender of this response message. The response message serial number 544 is a serial number assigned to the inference response message 54, and is a serial number assigned to the inference response message 54.
and is attached independently to each inference processor 21.

応答データ種別545は、応答データ547の内容(新
事実、終了情報など)を示す。応答データ長546は、
応答データ547の長さ、たとえば、新事実の個数など
を示す。
The response data type 545 indicates the contents of the response data 547 (new facts, termination information, etc.). The response data length 546 is
The length of the response data 547 indicates, for example, the number of new facts.

第7図は、インタプリタプロセッサ11のローカルメモ
リ12のマツプの一例である。
FIG. 7 is an example of a map of the local memory 12 of the interpreter processor 11.

リスト領域75ば、事実群や経験則群などのリスト、つ
まり、既知事実や経験則などのデータの記憶場所へのポ
インタとその構造(リスト構造)を示すポインタ群を宮
むエリアである。フルワード領域78は、リストによっ
てポイントされるデータ本体(例えば、既知事実データ
、経験則データ)を記憶するエリアである。
The list area 75 is an area containing a list of facts, empirical rules, etc., that is, a pointer to the storage location of data such as known facts and empirical rules, and a group of pointers indicating the structure thereof (list structure). The full word area 78 is an area for storing the data body (for example, known fact data, heuristic data) pointed to by the list.

新事実キュー76は、各推論プロセッサ21から推論応
答メツセージにより送信されてきた新事実を到着順に保
存するためのキューである。
The new fact queue 76 is a queue for storing new facts transmitted by inference response messages from each inference processor 21 in the order of arrival.

推商結果記録位置表77u、推論要求メツセージ52に
対する最初の新事実の新事実キュー76内での相対位置
(順位)を求めるだめの表である。
The speculation result record position table 77u is a table for determining the relative position (rank) of the first new fact in the new fact queue 76 for the speculation request message 52.

第8図は、推論プロセッサ21のローカルメモリ22の
マツプの一例である。
FIG. 8 is an example of a map of the local memory 22 of the inference processor 21.

事実群リスト(領域)611経験則群リスト(領域)6
3は、それぞれ、事実群や経験則群などのリスト(つま
シ、既知事実や経験則などのデータの記憶場所へのポイ
ンタと、その構造(リスト構造)を示すポインタ群)を
記憶する領域である。
Fact group list (area) 611 Empirical rule group list (area) 6
3 is an area for storing lists of facts, empirical rules, etc. (a pointer to the storage location of data such as known facts and empirical rules, and a pointer group indicating the structure (list structure)). be.

第9図は、事実群リスト61と経験則群リスト63の構
成の一例を示す。
FIG. 9 shows an example of the structure of the fact group list 61 and the empirical rule group list 63.

事実群リスト61は、既知事実(データへのポインタ)
62の一方向連鎖である。
The fact group list 61 is a list of known facts (pointers to data)
62 one-way chains.

経験則群リスト63は、経験則(データへのポインタ)
64の一方向連鎖である。さらに、各経験則64は、条
件部65と結論部66から成シ、条件部65は、条件(
条件データへのポインタ)651の一方向連鎖から成シ
、結論部66は結論(結廂データへのポインタ)661
の一方向連鎖から成る。
The empirical rule group list 63 is an empirical rule (pointer to data)
This is a one-way chain of 64. Furthermore, each empirical rule 64 consists of a condition part 65 and a conclusion part 66, and the condition part 65 has a condition (
A pointer to condition data) 651 is formed from a one-way chain, and the conclusion part 66 is a conclusion (pointer to concatenation data) 661
Consists of a unidirectional chain of.

第10図は新事実キュー76の一例の構成図である。FIG. 10 is a configuration diagram of an example of the new fact queue 76.

新事実キュー76(本体)には、新事実(へのポインタ
)761が、推論応答メツセージ54によシ新事実を受
信した順にキューされる。
New facts (pointers to) 761 are queued in the new fact queue 76 (main body) in the order in which new facts are received through the inference response message 54.

第11図は、推論結果記録位置表77の一例の構成であ
る。
FIG. 11 shows an example of the configuration of the inference result recording position table 77.

推論結果記録位置表77は、推論要求メツセージ番号7
70と、このメツセージによる推論の結果生成された新
事実の相対位置771との対の集まシである。
The inference result recording position table 77 shows the inference request message number 7.
70 and the relative position 771 of a new fact generated as a result of inference based on this message.

第12図および第13図はそれぞれ、インタプリタプロ
セッサおよび推論プロセッサの処理の流れの一例を示す
ものである。
FIG. 12 and FIG. 13 show an example of the processing flow of the interpreter processor and the inference processor, respectively.

以下に、本発明の実施例の動作の5説明を行う。Below, five explanations of the operation of the embodiment of the present invention will be given.

■単のため順方向推論について説明する。■Explain forward inference for simple reasons.

順方向推論の処理は、以下のようにして行われる。Forward inference processing is performed as follows.

(1)その条件部を既知事実が満足させる経験則を見つ
けるため、経験則群をサーチする。
(1) Search a group of empirical rules in order to find an empirical rule that makes known facts satisfy the conditional part.

(2)  該当する経験則の結論部を取シ出し、既知事
実でないかどうか、つま)新事実が見つかったかどうか
を、事実群に対して調べる。
(2) Extract the conclusion part of the applicable rule of thumb and examine the group of facts to see if it is a known fact, or in other words, whether a new fact has been discovered.

(3)  新事実を、新事実群に記憶するとともに、既
知事実として事実群に加え、(1)に戻る。
(3) Store the new fact in the new fact group, add it to the fact group as a known fact, and return to (1).

(4)新事実が見つからなくなるか、結論部が停止要求
なら処理を終了する。
(4) If no new facts are found or if the conclusion part requests a stop, the process ends.

順方向推論(以下、推論と呼ぶ。)における本発明の実
施例の動作は次のとおシである(第12図、第13図参
照)。
The operation of the embodiment of the present invention in forward inference (hereinafter referred to as inference) is as follows (see FIGS. 12 and 13).

(1)推論データ人出力装置3から、推論データ51が
人力されると(ステップ201)、インタプリタプロセ
ッサ11は、このデータから、推論要求メツセージ52
を作成しくステップ202)、各推論プロセッサ21全
部に、−M送信する(ステップ203)。まとめて推論
を行って推論効率を上げるため、椎間データメツセージ
53を何回か送信した後、推論要求メツセージ52を送
ることも許される。
(1) When the inference data 51 is manually input from the inference data output device 3 (step 201), the interpreter processor 11 generates an inference request message 52 from this data.
202) and sends -M to all inference processors 21 (step 203). In order to perform inference all at once and increase inference efficiency, it is also permissible to send inference request message 52 after transmitting intervertebral data message 53 several times.

(2)  推論プロセッサ21は、推論データメツセー
ジ53を受信する(ステップ301)と、既知事実(の
ポインタ)62を、事実群リスト61に記憶する(ステ
ップ302)。推論要求メツセージを受信すると、既知
事実(のポインタ)62を、事実群リスト61に記憶し
た上で、推論を開始する(ステップ303)。
(2) When the inference processor 21 receives the inference data message 53 (step 301), it stores the known facts (pointers thereof) 62 in the fact group list 61 (step 302). When the inference request message is received, the known facts (pointers thereof) 62 are stored in the fact group list 61, and inference is started (step 303).

(3)  推論プロセッサ21での推論は、下記の通シ
(3) The inference by the inference processor 21 is as follows.

(1)経験則群リスト63の先頭から順に、経験則64
を取シ出す(ステップ304)。
(1) Starting from the beginning of the empirical rule group list 63, the empirical rules 64
is extracted (step 304).

最後の経験則64に達したら(1いの処理を行う。When the final rule of thumb 64 is reached (process step 1).

(II)取り出した経験則64の条件部65を第1条件
651から順に取シ出し、事実かどうかをチェックする
(ステップ305)。
(II) The condition part 65 of the extracted empirical rule 64 is extracted in order from the first condition 651 and checked to see if it is true (step 305).

すなわち、事実群リスト61の先頭から順に暁知事実(
のポインタ)62を取シ出し、条件(のポインタ)65
1と一致するかどうかをチェックする。事実群リスト6
1のどの既知事実62とも、条件651が一致したけれ
ば、(1)の処理(ステップ304)に戻シ次の経験則
64を取出す。第1条件651に一致する既知事実62
があれば(つまシ第1条件651が事実なら)、条件部
65の全ての条件651を順次チェックする。
That is, the Akatsuki fact (
Extract the pointer) 62 and set the condition (pointer) 65
Check if it matches 1. fact list 6
If the condition 651 is to match any known fact 62 in 1, the process returns to step 304 (1) and the next empirical rule 64 is extracted. Known facts 62 that match the first condition 651
If so (if the first condition 651 is true), all the conditions 651 in the condition part 65 are checked one after another.

事実でない条件651があれば、(1)の処理(ステッ
プ304)に戻り次の経験則64を取出す。条件部65
の条件が全て事実なら(iii)の処理を行う。
If there is a condition 651 that is not true, the process returns to step (1) (step 304) and the next empirical rule 64 is extracted. Condition part 65
If all of the conditions are true, then process (iii) is performed.

(ri)条件部65の条件651が、全て事実であるこ
とのチェックを完了した経験則64の結論部66から全
ての結論661を取り出し新事実547を見つける(ス
テップ306)。
(ri) All the conclusions 661 are extracted from the conclusion part 66 of the rule of thumb 64, which has been checked to see that all the conditions 651 in the condition part 65 are true, and a new fact 547 is found (step 306).

すなわち、結論部66の先頭順に結論 (ポインタ)661を取シ出し、既知事実(のポインタ
)62と一致するかどうかを、事実群リスト61の全て
の既知事実62に対してチェックし、どの既知事実62
とも一致しなければ、新事実547とする。
That is, the conclusions (pointers) 661 are taken out in the order of the beginning of the conclusion section 66, and checked against all known facts 62 in the fact group list 61 to see if they match the known facts (pointers) 62. Fact 62
If it does not match, it will be treated as new fact 547.

新事実が見つからなければ、(1)の処理(ステップ3
04)に戻シ、次の経験則64を取シ出す。見つかれば
(1v)の処理(ステップ308)を行う。
If no new facts are found, process (1) (step 3)
Return to step 04) and take out the next empirical rule 64. If found, the process (1v) (step 308) is performed.

(1v)見つかった新事実(のポインタ)547とその
個数546、および新事実547を導出した経験則(の
ポインタ)64−+、m論応答メツセージ54にセット
して送信する(ステップ308)。新事実が見つからな
かった場合は、新事実の個数546を0にした推論応答
メツセージ54を返す(ステップ307)。
(1v) The discovered new fact (pointer) 547, its number 546, and the empirical rule (pointer) 64-+ from which the new fact 547 was derived are set in the m-logic response message 54 and transmitted (step 308). If no new facts are found, the inference response message 54 is returned with the number 546 of new facts set to 0 (step 307).

(4)  インタプリタプロセッサ11は、各推論プロ
セッサ21の推論応答メツセージ54を受信しくステッ
プ204)、新事実があれば、新事実キュー76に入れ
る。ただし、各推論要求メツセージ52に対する最初の
新事実761の新事実キュ−76内相対位置は、新事実
相対位置771として、推論結果記録位置表77に記録
される(ステップ205)。
(4) The interpreter processor 11 receives the inference response message 54 from each inference processor 21 (step 204), and if there is a new fact, puts it in the new fact queue 76. However, the relative position in the new fact queue 76 of the first new fact 761 for each inference request message 52 is recorded as the new fact relative position 771 in the inference result recording position table 77 (step 205).

送出した推論要求メツセージ52に対する推論応答メツ
セージ54を、全推論プロセッサ21から受信し終えた
時(ステップ206)、この推論要求に対応する新事実
761がなければ、(5)の処理(ステップ209)を
行う。
When the inference response message 54 to the sent inference request message 52 has been received from all inference processors 21 (step 206), if there is no new fact 761 corresponding to this inference request, the process of (5) is performed (step 209). I do.

この新事実があれば、新事実キュー76と推論要求対応
新事実表77をもとに、対応する新事実761全部から
推論要求メツセージ52を組立て(ステップ207)、
全推論プロセッサ21に一斉送信する(ステップ203
)。
If there is this new fact, the inference request message 52 is assembled from all the corresponding new facts 761 based on the new fact queue 76 and the inference request corresponding new fact table 77 (step 207);
Send all inference processors 21 at once (step 203
).

この新事実761の一斉送信方式としては、効率を上げ
るため、新事実761が、規定数以上あつまったら推論
データメツセージ53として、推論プロセッサ21に一
斉送信しておき、すでに送出した推論要求メツセージ5
2に対する推論応答メツセージ54を、全推論プロセッ
サ21から受信し終えた時、未送信の新事実761だけ
から推論要求メツセージ52を組立て一斉送信すること
も考えられる。ただし、この場合は、推論プロセッサ2
1は、推論要求メツセージ52処理中に受信した推論デ
ータメツセージ53中の新事実(即ち既知事実536)
を、(2)のように事実群リスト61に組込むことをし
ないで、推論要求処理が終了してから、つまシ推論応答
メツセージ54を送シ返した後に、上記の既知事実53
6を事実群リスト61に加える。
In order to improve efficiency, the new facts 761 are sent all at once to the inference processor 21 as an inference data message 53 when a specified number of new facts 761 are collected, and the inference request message 5 that has already been sent is
It is also conceivable that when the inference response messages 54 for 2 have been received from all the inference processors 21, the inference request message 52 is assembled from only the unsent new facts 761 and sent all at once. However, in this case, inference processor 2
1 is a new fact (i.e., known fact 536) in the inference data message 53 received during the inference request message 52 processing.
is not incorporated into the fact group list 61 as in (2), and after the inference request process is completed and the inference response message 54 is sent back, the above known fact 53 is added.
6 is added to the fact group list 61.

(5)インタプリタプロセッサ11は、推論終了状況情
報、および、必要に応じて、新事実キュー76の内容を
編集した推論結果メツセージ55を、推論データ人出力
装置3に出力する(ステップ209)。
(5) The interpreter processor 11 outputs the inference completion status information and, if necessary, the inference result message 55 in which the contents of the new fact queue 76 are edited to the inference data output device 3 (step 209).

第14図は、本発明の方式を実現するシステム構成の他
の実施例を示す図である。
FIG. 14 is a diagram showing another embodiment of the system configuration for realizing the method of the present invention.

1001はインタプリタプロセッサ、1002は推論プ
ロセッサと呼ばれる処理装置である。これらのプロセッ
サは、メツ卆−ジ伝送ノ(ス1061で結合されている
1001 is a processing device called an interpreter processor, and 1002 is a processing device called an inference processor. These processors are coupled by a message transmission node 1061.

1009は、コンソールタイプライタ、ディスプレー、
プロセス人出力装置などの入出力装置で、以下推論用人
出力装置と呼ぶ。インタプリタプロセッサ1001は、
推論用人出力装置1009とバス1062で結合されて
いる。
1009 is a console typewriter, display,
An input/output device such as a process human output device, hereinafter referred to as an inference human output device. The interpreter processor 1001 is
It is connected to the inference user output device 1009 via a bus 1062.

インタプリタプロセッサ1001は、メモリ1003を
持つ。メモリ1003は、インタプリタ専用メモリブロ
ック1030と知識リストブロック1041から成る。
Interpreter processor 1001 has memory 1003. The memory 1003 consists of an interpreter-only memory block 1030 and a knowledge list block 1041.

インタプリタ専用メモリブロック1030は、専用メモ
リアクセスバス1070によシ、インタプリタプロセッ
サ1001だけから読み書きされるメモリブロックであ
る。
Interpreter-only memory block 1030 is a memory block that is read and written only by interpreter processor 1001 via dedicated memory access bus 1070.

推論プロセッサ1002は、推論メモリ1004を持つ
。メモリ1004は、推論プロセッサ専用メモリブロッ
ク1040と知識リストブロック1041から成る。
Inference processor 1002 has inference memory 1004. The memory 1004 consists of a memory block 1040 dedicated to the inference processor and a knowledge list block 1041.

知識リストブロック1041は、読み込みは、バス10
71を通して各プロセッサからローカルに行われるが、
書き込みは、共通書込みバス1008を通して、インタ
プリタプロセッサ1001によシ、全部の推論プロセッ
サ1002に対して一斉に行われる。アービタ1005
は、知識リストブロック1041に対する読み込みと曹
き込みの競合処理を行う(読み込み時は書き込みが出来
ない。逆も成シ立つ。)。デュアルポートメモリ等で実
現する。
The knowledge list block 1041 is read from the bus 10.
71 locally from each processor,
Writing is performed by the interpreter processor 1001 to all inference processors 1002 simultaneously through a common write bus 1008. Arbiter 1005
performs contention processing between reading and filtration for the knowledge list block 1041 (writing cannot be performed during reading; the reverse is also true). This is realized using dual port memory, etc.

各プロセッサの知識リストブロック1041の内容はす
べて同一である。
The contents of the knowledge list block 1041 of each processor are all the same.

以下に、第14図の動作の説明を行う。The operation shown in FIG. 14 will be explained below.

コンソールタイプライタ、ディスプレー、あるいはプロ
セス人出力装置などの入出力装置(推論用人出力装置と
呼ぶ)1009から、推論コマンドが人力されると、イ
ンタプリタプロセッサ1001は、これから推論用デー
タを作成し、バス1008(の制御線)によシ全プロセ
ッサ1001.1002の知識リストブロック1041
への一斉書込み要求を出した後、バス1008 (のデ
ータ線)によシ全プロセッサ1001.1002の知識
リストブロック1041への一斉書込みを行い、必要な
推論用データを全て書込んだ後、バス1008(の制御
線)によシ推論要求を全推論プロセッサに出力する。
When an inference command is input manually from an input/output device (referred to as an inference output device) 1009 such as a console typewriter, display, or process output device, the interpreter processor 1001 creates inference data from this and sends it to the bus 1008. Knowledge list block 1041 of all processors 1001 and 1002 (control line)
After issuing a simultaneous write request to the knowledge list block 1041 of all processors 1001 and 1002 via the bus 1008 (data line), after writing all the necessary inference data, the bus The inference request is output to all inference processors via (the control line of) 1008.

なお、知識リストブロック1041に、推論要求を事実
として(つまり、データの1つとして〕書き込み、これ
を推論プロセッサ専用メモリブロック1040に格納し
た経験則に基づき駆動開始デ−タとしてもよい。また、
共通バス1008は、インタグリタプロセツ?100L
推論プロセツ?1002に対してDMAバスでおる。し
たがって、インタプリタプロセッサ1041から各推論
プロセッサ1042への伝送オーバヘッドが極めて小さ
く、性能を著しく向上できる。
Note that the inference request may be written as a fact (that is, as a piece of data) in the knowledge list block 1041, and this may be used as drive start data based on the empirical rule stored in the inference processor dedicated memory block 1040.
Is the common bus 1008 an integral processor? 100L
Reasoning process? 1002 via a DMA bus. Therefore, the transmission overhead from the interpreter processor 1041 to each inference processor 1042 is extremely small, and performance can be significantly improved.

全推論プロセッサは、知識リストブロック1041を参
照するだけで、すなわちメモリアクセスを競合すること
なく、並列に推論を行い、結果を、推論応答メツセージ
にして返す。
All inference processors perform inference in parallel by simply referencing the knowledge list block 1041, ie, without competing memory accesses, and return the results as inference response messages.

インタプリタプロセッサ1001は、全ての推論プロセ
ッサからの応答が返るか、一定時間が経過した後、推論
要求メツセージに対して返された全ての推論応答をチェ
ックし、推論が終了したと判断すれば推論結果を、推論
結果メツセージとして、推論用人出力装置1009に出
力する。推論が終了してないと判断すれば、推論応答メ
ツセージから、推論メツセージを作成し推論プロセッサ
に対する推論要求を繰返すとともに必要な情報は推論結
果として、保存する。
The interpreter processor 1001 checks all inference responses returned to the inference request message after responses have been returned from all inference processors or after a certain period of time has elapsed, and if it determines that inference has been completed, the inference processor 1001 outputs an inference result. is output to the inference user output device 1009 as an inference result message. If it is determined that the inference has not been completed, an inference message is created from the inference response message, the inference request to the inference processor is repeated, and necessary information is saved as the inference result.

第15図および第16図はそれぞれ第14図のインタプ
リタプロセッサおよび推論プロセッサでの処理の流れの
一例を示すものである。
FIGS. 15 and 16 show an example of the flow of processing in the interpreter processor and inference processor shown in FIG. 14, respectively.

第12図および第13図の処理70−との相違点につい
ては上述した通りであり、その他の点は第12図および
第13図と同じであるので、ここでは説明を省略する。
The differences from the process 70- in FIGS. 12 and 13 are as described above, and the other points are the same as those in FIGS. 12 and 13, so a description thereof will be omitted here.

〔発明の効果〕〔Effect of the invention〕

本発明によれば、マイクロコンピュータを複数台接続し
て、各プロセッサのローカルメモリにリスト形式の知識
データを分散し、これらの知識データを用いた推論処理
をメモリやバスを競合しないように並列に行う知識ベー
ス用組込み関数を持つLIMPマシンが構成できるので
、実用規模の知識ベースシステム(例えば、経験則の数
が500以上のグロダクショ/システムンなどの高知能
情報処理が、 (1)  高性能K(従来の数10倍以上)(2)フレ
キシブルかつ効率良く (3)  安価に(従来のミニコンの価格以下)作成で
きる効果がある。
According to the present invention, multiple microcomputers are connected, list-format knowledge data is distributed in the local memory of each processor, and inference processing using this knowledge data is performed in parallel to avoid memory and bus contention. Because LIMP machines can be configured with built-in functions for knowledge bases, practical-scale knowledge base systems (e.g., high-intelligence information processing such as Groduction/Systems with more than 500 rules of thumb) can be implemented using (1) High performance K. (Several ten times more than conventional minicomputers) (2) Flexible and efficient (3) It has the effect of being able to be manufactured at low cost (below the price of conventional minicomputers).

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

第1図は本発明を実現するシステムの一例の構成の概要
図、第2図は本発明を実現するシステムの一例の構成図
、第3図は第1図のシステム内のバス上のデータの流れ
を示す図、第4〜6図はそれぞれ推論要求メツセージ、
推論データメツセージ、推論応答メツセージの一例のフ
ォーマット、第7図、第8図はそれぞれインタプリタプ
ロセッサ、推論プロセッサのローカルメモリの一例のマ
ツプ、第9図は事実群リストと経験則群リストの一例の
構成図、第10図は新事実キューの一例の構成図、第1
1図は、推論結果記録位置衣の一例の構成図、第12図
および第13図はそれぞれ第2図のインタプリタプロセ
ッサおよび推論プロセッサの処理の流れの一例を示すフ
ローチャート、第14図は本発明を実現するシステムの
他の実施例の構成図、第15図および第16図はそれぞ
れインタプリタプロセッサおよび推論プロセッサの処理
の流れの一例を示すフローチャートである。 11・・・インタプリタプロセッサ、21・・・推論プ
ロセッサ、12・・・インタプリタプロセッサのローカ
ルメモ1ハ22・・・推論プロセッサのローカルメモリ
、52・・・推論要求メツセージ、53・・・推論デー
タメツセージ、54・・・推論応答メツセージ、61・
・・事実群リスト、62・・・即知事実、63・・・経
験則群リスト、64・・・経験則、65・・・条件部、
66・・・結論部、651・・・条件、661・・・結
論、76・・・新第  4  図 第  5  図 1 2  日 Z  7  図 %B   図 第  q  図 ■  10  図 6 %  jl  図 7 % rz図 第 73 図 Cプ「D 茗 I5  図 舅 16  目 手続補正j(1・ 特許庁長官殿 事件の表示 昭和58年  特 γ1 願 第30722号発明の名
称     並列推論形リス1ル処理力式補正をする者 名称(510)    株式会社 日 立 製 作 新
型  話 東 京212−111.1(大代表)補正の
対象     明細書の「発明の詳細な説明」の417
4および図面。 補正の内容 1、明細書、第7頁、第11行目の「対応であるjを「
対応する」と訂正する。 2、 同、第12頁、第18行目の「したければ」を「
しなけ九ば」と訂正する。 3、 同、第19頁、第4行目の「プロセッサ]041
Jを「プロセッサ100IJに訂正する。 4、 同、同頁、第5行目のr104.2」をrl O
O2Jと訂正する。 5、 図面中、第14図を添付図面の通り補正する。
Figure 1 is a schematic diagram of the configuration of an example of a system that implements the present invention, Figure 2 is a diagram of the configuration of an example of a system that implements the present invention, and Figure 3 shows the data on the bus in the system of Figure 1. Diagrams showing the flow, Figures 4 to 6 respectively show inference request messages,
The format of an example of an inference data message and an inference response message. Figures 7 and 8 are maps of an example of the local memory of the interpreter processor and inference processor, respectively. Figure 9 is the structure of an example of a fact group list and a heuristic rule group list. Figure 10 is a configuration diagram of an example of a new fact queue.
FIG. 1 is a block diagram of an example of an inference result recording location, FIGS. 12 and 13 are flowcharts showing an example of the processing flow of the interpreter processor and inference processor of FIG. 2, respectively, and FIG. FIGS. 15 and 16, which are block diagrams of other embodiments of the system to be realized, are flowcharts showing an example of the processing flow of the interpreter processor and the inference processor, respectively. DESCRIPTION OF SYMBOLS 11... Interpreter processor, 21... Inference processor, 12... Local memory 1 of interpreter processor 22... Local memory of inference processor, 52... Inference request message, 53... Inference data message , 54... Inference response message, 61.
...Fact group list, 62... Immediately known facts, 63... Empirical rule group list, 64... Empirical rule, 65... Condition part,
66...Conclusion part, 651...Condition, 661...Conclusion, 76...New Figure 4 Figure 5 Figure 1 2 Day Z 7 Figure %B Figure q Figure ■ 10 Figure 6 % jl Figure 7 % rz Diagram No. 73 Diagram C ``D'' Name of the person making the amendment (510) Manufactured by Hitachi Co., Ltd. New model Tokyo 212-111.1 (main representative) Subject of amendment 417 of “Detailed description of the invention” in the specification
4 and drawings. Contents of amendment 1, specification, page 7, line 11, “corresponding j is changed to “
I'll take action," he corrected. 2. Same, page 12, line 18, change “if you want to” to “
"Don't do it," he corrected. 3. Same, page 19, line 4, “Processor” 041
Correct J to "Processor 100IJ. 4. Same page, same page, 5th line r104.2" as rl O
Corrected to O2J. 5. In the drawings, Figure 14 is amended as shown in the attached drawings.

Claims (1)

【特許請求の範囲】 1、 バス結合された複数の処理装置と各処理装置に付
属したメモリから成る複合計算機システムにおいて、特
定の処理装置では推論指令を受付け、これを他の処理装
置が並列処理するように、推論要求に変換し、−介送1
ぎし、他の処理装置では、経験則データのうち予め割当
てられた部分と事実データ全部を、ポインタで結合され
た知識リストの形で上記メモリに記憶させておいて、上
記推論要求を受けた時、事実データをチェックして適用
再興な経験則を探し、適用し、新事実かどうかを調べ、
結果を返させる並列推論形リスト処理方式。 2、各プロセッサのメモリが、自分だけが読み書きでき
るメモリブロックと、自分しか読めないが、蒼き込みは
、1つの特定処理装置だけが、全メモリに一介に曹き込
むことだけができるメモリブロックを持ち、後者のメモ
リブロックに知識リストを置くことを特徴とする特許請
求範囲第1項記載の並列推論形リスト処理方式。
[Claims] 1. In a complex computer system consisting of a plurality of bus-coupled processing units and memory attached to each processing unit, a specific processing unit receives an inference command, and other processing units process the inference command in parallel. Convert it into an inference request so that - Intervention 1
However, in another processing device, a pre-assigned part of the empirical rule data and all the fact data are stored in the memory in the form of a knowledge list connected by pointers, and when the above inference request is received, , check and apply factual data, look for and apply re-emerging rules of thumb, find out whether new facts exist,
A parallel speculative list processing method that returns results. 2. The memory of each processor is divided into memory blocks that only it can read and write, and memory blocks that only it can read and write, but in blue writing, there are memory blocks that only one specific processing device can read and write into the entire memory at once. 2. The parallel speculative list processing method according to claim 1, wherein the knowledge list is placed in the latter memory block.
JP58030722A 1983-02-28 1983-02-28 List processing system of parallel inference type Granted JPS59157760A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58030722A JPS59157760A (en) 1983-02-28 1983-02-28 List processing system of parallel inference type

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58030722A JPS59157760A (en) 1983-02-28 1983-02-28 List processing system of parallel inference type

Publications (2)

Publication Number Publication Date
JPS59157760A true JPS59157760A (en) 1984-09-07
JPH0554136B2 JPH0554136B2 (en) 1993-08-11

Family

ID=12311537

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58030722A Granted JPS59157760A (en) 1983-02-28 1983-02-28 List processing system of parallel inference type

Country Status (1)

Country Link
JP (1) JPS59157760A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61166672A (en) * 1985-01-18 1986-07-28 Pentel Kk Symbol processor
JPS63156242A (en) * 1986-12-19 1988-06-29 Nippon Telegr & Teleph Corp <Ntt> Information processor
JPH0245832A (en) * 1988-08-08 1990-02-15 Nippon Telegr & Teleph Corp <Ntt> Operation expert system
US7512660B2 (en) 1997-06-10 2009-03-31 International Business Machines Corporation Message handling method, message handling apparatus, and memory media for storing a message handling apparatus controlling program

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59154550A (en) * 1983-02-24 1984-09-03 Oki Electric Ind Co Ltd Parallel processing system for logical type language

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59154550A (en) * 1983-02-24 1984-09-03 Oki Electric Ind Co Ltd Parallel processing system for logical type language

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61166672A (en) * 1985-01-18 1986-07-28 Pentel Kk Symbol processor
JPS63156242A (en) * 1986-12-19 1988-06-29 Nippon Telegr & Teleph Corp <Ntt> Information processor
JPH0245832A (en) * 1988-08-08 1990-02-15 Nippon Telegr & Teleph Corp <Ntt> Operation expert system
US7512660B2 (en) 1997-06-10 2009-03-31 International Business Machines Corporation Message handling method, message handling apparatus, and memory media for storing a message handling apparatus controlling program
US8949309B2 (en) 1997-06-10 2015-02-03 International Business Machines Corporation Message handling method, for mobile agent in a distributed computer environment

Also Published As

Publication number Publication date
JPH0554136B2 (en) 1993-08-11

Similar Documents

Publication Publication Date Title
Smith A framework for problem-solving in a distributed processing environment.
US3447135A (en) Peripheral data exchange
JPH06259384A (en) Multiprocessor
JP2002510079A (en) Method and apparatus for forcing ordered execution of reads and writes between memory interfaces
JPS602690B2 (en) Internal program data processing device
CN111338695A (en) Data processing method based on pipeline technology and related product
US4390945A (en) Self-managing variable field storage station employing a cursor for handling nested data structures
JPS59157760A (en) List processing system of parallel inference type
EP0037264B1 (en) Associative memory system
CN116383240A (en) Multi-database acceleration query method, device, equipment and medium based on FPGA
US3729716A (en) Input/output channel
JP3641837B2 (en) Data transfer method for distributed memory parallel computer
JPS6120154A (en) Memory access control device
JP3036809B2 (en) Buffer management method in microcomputer
KR930003993B1 (en) Method of transmitting data in multi-processor
JP3251198B2 (en) Data transfer device
CN115798736A (en) Multi-party combined diagnosis and treatment method and device, electronic equipment and storage medium
JP2540844B2 (en) Data transfer control method
JPH02136949A (en) Input/output controller
JPH05120237A (en) Data communication system between information processors
Guzman AHR: a parallel computer for pure lisp
JPS63208126A (en) List processor
JPS6242235A (en) Virtual stack system
JPH10307802A (en) Data transfer device by multi-buffer control in parallel computers
JPS6024644A (en) Inference processing system for knowledge engineering system