Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPH0554136B2 - - Google Patents
[go: Go Back, main page]

JPH0554136B2 - - Google Patents

Info

Publication number
JPH0554136B2
JPH0554136B2 JP58030722A JP3072283A JPH0554136B2 JP H0554136 B2 JPH0554136 B2 JP H0554136B2 JP 58030722 A JP58030722 A JP 58030722A JP 3072283 A JP3072283 A JP 3072283A JP H0554136 B2 JPH0554136 B2 JP H0554136B2
Authority
JP
Japan
Prior art keywords
inference
data
fact
processing
processing device
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.)
Expired - Lifetime
Application number
JP58030722A
Other languages
Japanese (ja)
Other versions
JPS59157760A (en
Inventor
Setsuo Tsuruta
Makoto Nomi
Shoji Myamoto
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

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

Description

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

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

従来の知識ベースシステムの並列推論方式は、
各プロセツサが共通にアクセスできるメモリ(共
有メモリ)を使用し、これに便利な方式である
が、共有メモリのアクセスの競合処理のためのソ
フトウエア、ハードウエアのオーバヘツドが高
く、10台以上の計算機の複合システムでは、アク
セスネツクのため性能改善が期待できなかつた。
従来の並列推論方式としては、例えば、R.D.
FENNELL、V.R.LESSER : Parallelism
in Artificial Intelligence Problom Solving:
A Case Study of Hearsay , IE3.
Trans. Comput.、 Feb.1977が知られている。
The parallel reasoning method of conventional knowledge-based systems is
This method uses memory that can be commonly accessed by each processor (shared memory), and is convenient for this purpose, but it requires a high software and hardware overhead to handle shared memory access contention, and requires more than 10 computers. In this complex system, no performance improvement could be expected due to the access network.
As a conventional parallel inference method, for example, RD
FENNELL, VRLESSER: Parallelism
in Artificial Intelligence Problem Solving:
A Case Study of Hearsay, IE 3 .
Trans. Comput., Feb.1977 is known.

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

本発明の目的は、数10台のマイクロコンピユー
タを用いて、LISPによつて記述された知識ベー
スシステムにおける推論を並列処理することによ
つて、超高速にするための推論方法を提供するこ
とにある。
The purpose of the present invention is to provide an ultra-high-speed inference method by parallel processing inference in a knowledge-based system written in LISP using several dozen microcomputers. be.

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

このような目的を達成するために本発明では、
各プロセツサのメモリを拡張し、共有メモリを排
し、事実データを拡張した各プロセツサのメモリ
に記憶させ、新事実だけを全推論プロセツサに一
斉送信をするようにしたことに特徴がある。
In order to achieve such an objective, the present invention
The feature is that the memory of each processor is expanded, the shared memory is eliminated, fact data is stored in the expanded memory of each processor, and only new facts are sent simultaneously to all reasoning processors.

〔発明の実施例〕[Embodiments of the invention]

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

第1図と第2図は、本発明の方式を実現する装
置の実施例のシステム構成を示す。第1図は全体
の概略構成図、第2図はシステムの詳細構成図で
ある。
FIGS. 1 and 2 show the system configuration of an embodiment of an apparatus that implements the method of the present invention. FIG. 1 is a schematic diagram of the overall configuration, and FIG. 2 is a detailed diagram of the system.

1および2は、それぞれインタプリタコンピユ
ータおよび推論コンピユータと呼ばれるマイクロ
コンピユータで、例えば、第1図のような6角形
の格子状バス4によつて、お互いに、あるいは、
インタプリタコンピユータ1と、推論データ入出
力装置と呼ばれるコンソールやデイスク、あるい
はプロセス入出力装置等の入出力装置3とが結合
されている。バスの結合形態は、4角形など他の
形態でも良い。
1 and 2 are microcomputers called an interpreter computer and an inference computer, respectively, and are connected to each other or by, for example, a hexagonal grid bus 4 as shown in FIG.
An interpreter computer 1 is coupled to an input/output device 3 called an inference data input/output device such as a console, a disk, or a process input/output device. The bus may be connected in other shapes such as a rectangular shape.

なお、マイクロコンピユータ1,2としては
HMCS68000等が使用できる。
In addition, as microcomputers 1 and 2,
HMCS68000 etc. can be used.

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

第3図は、本実施例のシステムにおける、各プ
ロセツサ11または21の間、および、インタプ
リタプロセツサ11と推論データ入出力装置3と
の間のメツセージの流れの一例を示す。
FIG. 3 shows an example of the flow of messages between each processor 11 or 21 and between the interpreter processor 11 and the inference data input/output device 3 in the system of this embodiment.

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

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

推論プロセツサ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は、推論要求メツ
セージ52であることを示すフラグである。要求
メツセージ通番522は、推論要求メツセージ5
2に対して付けられた通し番号である。
The request message flag 521 is a flag indicating that the message is an inference request message 52. The request message serial number 522 is the inference request message 5.
This is a serial number assigned to 2.

推論データ種別523は、推論データ525の
内容を示す。たとえば、推論データ525が既知
事実(へのポインタ)62か、経験則(へのポイ
ンタ)64かを示す。推論データ長524は、推
論データの長さ、つまり、本メツセージで送信さ
れる既知事実62や経験則64のデータ数を示
す。
The inference data type 523 indicates the content of the inference data 525. For example, it indicates whether the inference data 525 is a known fact (a pointer to) 62 or an empirical rule (a pointer to) 64. The inference data length 524 indicates the length of the inference data, that is, the number of data of the known facts 62 and empirical rules 64 transmitted in this message.

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

データメツセージフラグ531は、推論データ
メツセージ53であることを示すフラグである。
推論データメツセージ53は、推論に必要な推論
データ525の量が多い場合、一定量に達した推
論データを、その都度、送信することにより、推
論要求において、推論要求メツセージ52の機能
の補うものである。対応要求メツセージ通番53
2は、このような関係にある(つまり、推論デー
タメツセージ53が、一定量に達した推論データ
536を前もつて送ることにより、その機能を補
おうとする。)推論要求メツセージ52の通し番
号522である。
The data message flag 531 is a flag indicating that the message is an inferred data message 53.
The inference data message 53 supplements the function of the inference request message 52 in the inference request by transmitting the inference data that reaches a certain amount each time when the amount of inference data 525 necessary for inference is large. be. Response request message serial number 53
2 has such a relationship (that is, the inference data message 53 tries to supplement its function by sending in advance the inference data 536 that has reached a certain amount). be.

データメツセージ通番533は、推論データメ
ツセージ53に対して付けられた通し番号であ
る。これは、対応要求メツセージ通番532が更
新される度に、0にリセツトされる。
The data message serial number 533 is a serial number assigned to the inferred data message 53. This is reset to 0 each time the response request message serial number 532 is updated.

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

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

応答メツセージフラグ541は、推論応答メツ
セージ54であることを示すフラグである。応答
要求メツセージ通番542は、推論応答メツセー
ジ54が、どの推論要求に対応するかを、その推
論要求に対応する推論要求メツセージ52の通番
522によつて示すものである。応答プロセツサ
番号543は、本応答メツセージの送信元である
推論プロセツサ21のID(番号)を示す。応答メ
ツセージ通番544は、推論応答メツセージ54
に対して付けられた通し番号であり、推論要求に
対して、および各推論プロセツサ21に対して独
立につけられる。
The response message flag 541 is a flag indicating that the message is an inference response message 54. 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. 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 the inference response message 54.
This is a serial number assigned to each inference request and 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 indicates the length of the response data 547, 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 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 its structure (list structure).
This is an area containing a group of pointers indicating. The full word area 78 is an area for storing the data body (for example, known fact data, empirical rule 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.

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

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

事実群リスト(領域)61、経験則群リスト
(領域)63は、それぞれ、事実群や経験則群な
どのリスト(つまり、既知事実や経験則などのデ
ータの記憶場所へのポインタと、その構造(リス
ト構造)を示すポインタ群)を記憶する領域であ
る。
The fact group list (area) 61 and the empirical rule group list (area) 63 are lists of facts, empirical rules, etc. (that is, pointers to storage locations for data such as known facts and empirical rules, and their structures). (a group of pointers indicating a list structure).

第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 one-way chain of known facts (pointers to data) 62.

経験則群リスト63は、経験則(データへのポ
インタ)64の一方向連鎖である。さらに、各経
験則64は、条件部65と結論部66から成り、
条件部65は、条件(条件データへのポインタ)
651の一方向連鎖から成り、結論部66は結論
(結論データへのポインタ)661の一方向連鎖
から成る。
The heuristic rule group list 63 is a one-way chain of heuristic rules (pointers to data) 64. Furthermore, each empirical rule 64 consists of a condition part 65 and a conclusion part 66,
The condition part 65 contains conditions (pointer to condition data)
The conclusion part 66 consists of a one-way chain of conclusions (pointers to conclusion data) 661.

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

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

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

推論結果記録位置表77は、推論要求メツセー
ジ番号770と、このメツセージによる推論の結
果生成された新事実の相対位置771との対の集
まりである。
The inference result record position table 77 is a collection of pairs of an inference request message number 770 and a relative position 771 of a new fact generated as a result of inference using this message.

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

以下に、本発明の実施例の動作の説明を行う。 The operation of the embodiment of the present invention will be explained below.

簡単のため順方向推論について説明する。 For simplicity, forward inference will be explained.

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

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

(2) 該当する経験則の結論部を取り出し、既知事
実でないかどうか、つまり新事実が見つかつた
かどうかを、事実群に対して調べる。
(2) Take the conclusion part of the applicable rule of thumb and examine the group of facts to see if it is a known fact, that is, if 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, terminate the process.

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

(1) 推論データ入出力装置3から、推論データ5
1が入力されると(ステツプ201)、インタプリ
タプロセツサ11は、このデータから、推論要
求メツセージ52を作成し(ステツプ202)、各
推論プロセツサ21全部に、一斉送信する(ス
テツプ203)。まとめて推論を行つて推論効率を
上げるため、推論データメツセージ53を何回
か送信した後、推論要求メツセージ52を送る
ことも許される。
(1) Inference data 5 from inference data input/output device 3
1 is input (step 201), the interpreter processor 11 creates an inference request message 52 from this data (step 202), and sends it to all inference processors 21 at once (step 203). In order to increase inference efficiency by performing inference all at once, it is also permitted to send inference request message 52 after transmitting inference 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). Upon receiving the inference request message, the known facts (pointer to) 62
is stored in the fact group list 61, and then inference is started (step 303).

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

(i) 経験則群リスト63の先頭から順に、経験
則64を取り出す(ステツプ304)。最後の経
験則64に達したら(iv)の処理を行う。
(i) Extract the empirical rules 64 in order from the head of the empirical rule group list 63 (step 304). When the final rule of thumb 64 is reached, process (iv) is performed.

(ii) 取り出した経験則64の条件部65を第1
条件651から順に取り出し、事実かどうか
をチエツクする(ステツプ305)。すなわち、
事実群リスト61の先頭から順に既知事実
(のポインタ)62を取り出し、条件(のポ
インタ)651と一致するかどうかをチエツ
クする。事実群リスト61のどの既知事実6
2とも、条件651が一致しなければ、(i)の
処理(ステツプ304)に戻り次の経験則64
を取出す。第1条件651に一致する既知事
実62があれば(つまり第1条件651が事
実なら)、条件部65の全ての条件651を
順次チエツクする。
(ii) The condition part 65 of the extracted empirical rule 64 is
Conditions 651 are extracted in order and checked to see if they are true (step 305). That is,
The known facts (pointers) 62 are taken out in order from the beginning of the fact group list 61 and checked to see if they match the conditions (pointers) 651. Which known fact 6 in fact list 61
In both cases, if the condition 651 does not match, the process returns to step (i) (step 304) and the next empirical rule 64 is executed.
Take out. If there is a known fact 62 that matches the first condition 651 (that is, if the first condition 651 is true), all the conditions 651 in the condition section 65 are sequentially checked.

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

(iii) 条件部65の条件651が、全て事実であ
ることのチエツクを完了した経験則64の結
論部66から全ての結論661を取り出し新
事実547を見つける(ステツプ306)。
(iii) All the conclusions 661 are taken out from the conclusion part 66 of the rule of thumb 64 that has completed checking 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 part 66, and all known facts 62 in the fact group list 61 are checked to see if they match the known facts (pointers) 62. If it does not match, it will be treated as new fact 547.

新事実が見つからなければ、(i)の処理(ス
テツプ304)に戻り、次の経験則64を取出
す。見つかれば(iv)の処理(ステツプ308)を
行う。
If no new fact is found, the process returns to step (i) (step 304) and the next empirical rule 64 is extracted. If found, process (iv) (step 308) is performed.

(iv) 見つかつた新事実(のポインタ)547と
その個数546、および新事実547を導出
した経験則(のポインタ)64を、推論応答
メツセージ54にセツトして送信する(ステ
ツプ308)。新事実が見つからなかつた場合
は、新事実の個数546を0にした推論応答
メツセージ54を返す(ステツプ307)。
(iv) The found 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 inference response message 54 and transmitted (step 308). If no new facts are found, the inference response message 54 is returned with the number of new facts 546 set to 0 (step 307).

(4) インタプリンタプロセツサ11は、各推論プ
ロセツサ21の推論応答メツセージ54を受信
し(ステツプ204)、新事実があれば、新事実キ
ユー76に入れる。ただし、各推論要求メツセ
ージ52に対する最初の新事実761の新事実
キユー76内相対位置は、新事実相対位置77
1として、推論結果記録位置表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 within the new fact queue 76 of the first new fact 761 for each inference request message 52 is the new fact relative position 77.
1 in the inference result recording position table 77 (step 205).

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

この新事実があれば、新事実キユー76と推
論要求対応新事実表77をもとに、対応する新
事実761全部から推論要求メツセージ52を
組立て(ステツプ207)、全推論プロセツサ21
に一斉送信する(ステツプ203)。
If there is this new fact, an 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), and all inference processors 21
(Step 203).

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

(5) インタプリタプロセツサ11は、推論終了状
況情報、および、必要に応じて、新事実キユー
76の内容を編集した推論結果メツセージ55
を、推論データ入出力装置3に出力する(ステ
ツプ209)。
(5) The interpreter processor 11 sends the inference result message 55 by editing the inference completion status information and, if necessary, the contents of the new fact queue 76.
is output to the inference data input/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
は推論プロセツサと呼ばれる処理装置である。こ
れらのプロセツサは、メツセージ伝送バス106
1で結合されている。
1001 is an interpreter processor, 1002
is a processing device called an inference processor. These processors are connected to a message transmission bus 106.
They are connected by 1.

1009は、コンソールタイプライタ、デイス
プレー、プロセス入出力装置などの入出力装置
で、以下推論用入出力装置と呼ぶ。インタプリタ
プロセツサ1001は、推論用入出力装置100
9とバス1062で結合されている。
Reference numeral 1009 denotes an input/output device such as a console typewriter, a display, a process input/output device, etc., which is hereinafter referred to as an inference input/output device. The interpreter processor 1001 is an inference input/output device 100.
9 and a bus 1062.

インタプリタプロセツサ1001は、メモリ1
003を持つ。メモリ1003は、インタプリタ
専用メモリブロツク1030と知識リストブロツ
ク1041から成る。インタプリタ専用メモリブ
ロツク1030は、専用メモリアクセスバス10
70により、インタプリタプロセツサ1001だ
けから読み書きされるメモリブロツクである。
The interpreter processor 1001 has memory 1
Has 003. The memory 1003 consists of an interpreter-only memory block 1030 and a knowledge list block 1041. The interpreter-only memory block 1030 is connected to the dedicated memory access bus 10.
70, it is a memory block that is read and written only by the interpreter processor 1001.

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

知識リストブロツク1041は、読み込みは、
バス1071を通して各プロセツサからローカル
に行われるが、書き込みは、共通書込みバス10
68を通して、インタプリタプロセツサ1001
により、全部の推論プロセツサ1002に対して
一斉に行われる。アービタ1005は、知識リス
トブロツク1041に対する読み込みと書き込み
の競合処理を行う(読み込み時は書き込みが出来
ない。逆も成り立つ。)。デユアルポートメモリ等
で実現する。
The knowledge list block 1041 is read as follows.
Although writes are performed locally from each processor through bus 1071, writes are
68, the interpreter processor 1001
This is performed for all inference processors 1002 at the same time. The arbiter 1005 performs contention processing for reading and writing to the knowledge list block 1041 (writing cannot be performed during reading; the reverse is also true). This can be achieved 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から、推論コマン
ドが入力されると、インタプリタプロセツサ10
01は、これから推論用データを作成し、バス1
008(の制御線)により全プロセツサ100
1,1002の知識リストブロツク1041への
一斉書込み要求を出した後、バス1008(のデ
ータ線)により全プロセツサ1001,1002
の知識リストブロツク1041への一斉書込みを
行い、必要な推論用データを全て書込んだ後、バ
ス1008(の制御線)により推論要求を全推論
プロセツサに出力する。
When an inference command is input from an input/output device (referred to as an inference input/output device) 1009 such as a console typewriter, display, or process input/output device, the interpreter processor 10
01 creates inference data from this and transfers it to bus 1.
008 (control line) all processors 100
After issuing a simultaneous write request to the knowledge list block 1041 of the processors 1,1002, all the processors 1001, 1002 are sent via the bus 1008 (data line).
After writing all the necessary inference data into the knowledge list block 1041 of the processors, an inference request is output to all the inference processors via (the control line of) the bus 1008.

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

全推論プロセツサは、知識リストブロツク10
41を参照するだけで、すなわちメモリアクセス
を競合することなく、並列に推論を行い、結果
を、推論応答メツセージにして返す。
All reasoning processors are knowledge list blocks 10
41, that is, without competing memory accesses, inferences are performed in parallel and the results are returned as an inference response message.

インタプリタプロセツサ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 the inference has been completed, it starts the inference process. The result is output to the inference input/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図の処理フローとの相違
点については上述した通りであり、その他の点は
第12図および第13図と同じであるので、ここ
では説明を省略する。
The differences from the processing flows 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〕

本発明によれば、マイクロコンピユータを複数
台接続して、各プロセツサのローカルメモリにリ
スト形式の知識データを分散し、これらの知識デ
ータを用いた推論処理をメモリやバスを競合しな
いように並列に行う知識ベース用組込み関数を持
つLISPマシンが構成できるので、実用新規の知
識ベースシステム(例えば、経験則の数が500以
上のプロダクシヨンシステム)などの高知能情報
処理が、 (1) 高性能に(従来の数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. Since it is possible to configure a LISP machine with built-in functions for knowledge bases, high-intelligence information processing such as practical new knowledge base systems (for example, production systems with more than 500 rules of thumb) can: (1) achieve high performance; (10 times more than conventional minicomputers) (2) Flexible and efficient (3) Low cost (less than the price of conventional minicomputers).

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

第1図は本発明を実現するシステムの一例の構
成の概要図、第2図は本発明を実現するシステム
の一例の構成図、第3図は第1図のシステム内の
バス上のデータの流れを示す図、第4〜6図はそ
れぞれ推論要求メツセージ、推論データメツセー
ジ、推論応答メツセージを一例のフオーマツト、
第7図、第8図はそれぞれインタプリタプロセツ
サ、推論プロセツサのローカルメモリの一例のマ
ツプ、第9図は事実群リストと経験則群リストの
一例の構成図、第10図は新事実キユーの一例の
構成図、第11図は、推論結果記録位置表の一例
の構成図、第12図および第13図はそれぞれ第
2図のインタプリタプロセツサおよび推論プロセ
ツサの処理の流れの一例を示すフローチヤート、
第14図は本発明を実現するシステムの他の実施
例の構成図、第15図および第16図はそれぞれ
インタプリタプロセツサおよび推論プロセツサの
処理の流れの一例を示すフローチヤートである。 11……インタプリタプロセツサ、21……推
論プロセツサ、12……インタプリタプロセツサ
のローカルメモリ、22……推論プロセツサのロ
ーカルメモリ、52……推論要求メツセージ、5
3……推論データメツセージ、54……推論応答
メツセージ、61……事実群リスト、62……即
知事実、63……経験則群リスト、64……経験
則、65……条件部、66……結論部、651…
…条件、661……結論、76……新事実キユ
ー、77……推論結果記録位置表。
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. Figures 4 to 6, which show the flow, respectively show an example format of an inference request message, 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 a configuration diagram of an example of a fact group list and an empirical rule group list. Figure 10 is an example of a new fact queue. 11 is a configuration diagram of an example of an inference result recording position table, and FIGS. 12 and 13 are flowcharts showing an example of the processing flow of the interpreter processor and inference processor of FIG. 2, respectively.
FIG. 14 is a block diagram of another embodiment of a system implementing the present invention, and FIGS. 15 and 16 are flowcharts showing an example of the processing flow of an interpreter processor and an inference processor, respectively. DESCRIPTION OF SYMBOLS 11...Interpreter processor, 21...Inference processor, 12...Local memory of interpreter processor, 22...Local memory of inference processor, 52...Inference request message, 5
3... 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 facts, 77...Inference result record location table.

Claims (1)

【特許請求の範囲】 1 バス結合された複数の処理装置と各処理装置
に付属したメモリから成る複合計算機システムに
おいて、特定の処理装置は推論指令を受付け、該
推論指令を他の複数の処理装置で並列に推論処理
する推論要求に変換し、該推論要求を他の複数の
処理装置に一斉に送信し、他の複数の処理装置
は、それぞれ、該処理装置に予め割当てられた経
験則データのすくなくとも一部とこれに関連する
事実データを、該処理装置に付属した専用メモリ
に記憶させておいて、上記推論要求を受信した
時、事実データをチエツクして適用可能な経験則
データを探索する処理と、探索された事実データ
を適用したとき新事実が生成されるかどうかを推
論する処理と、推論の途中で生成される新事実を
上記特定の処理装置及び他の複数の処理装置に送
信する処理と、以後、新事実を受信した他の複数
の処理装置が該新事実データをチエツクして上記
探索する処理と、推論する処理と、送信する処理
とを繰り返し、上記特定の処理装置がどの処理装
置も新事実を送信しなくなつたと判断したときに
該繰り返す処理を終了し、上記特定の処理装置は
得られた新事実を推論の最終結果として出力する
ことを特徴とする並列推論方法。 2 上記経験則データのすくなくとも一部とこれ
に関連する事実データを、ポインタで結合された
リストの形で専用メモリに記憶する特許請求の範
囲第1項記載の並列推論方法。 3 上記繰り返す処理は、上記推論の途中で生成
される新事実を受信した特定の処理装置で該新事
実にもとづき推論要求データを編集し、該推論要
求データを他の複数の処理装置に一斉に送信する
ことを繰り返す処理を含む特許請求の範囲第1項
記載の並列推論方法。 4 上記専用メモリは、該メモリを備えた処理装
置だけが読み書きできるメモリブロツクと、該処
理装置だけが読め、該処理装置とは異なる1つの
特定の処理装置だけが、書き込むことができ上記
知識リストを記憶するメモリブロツクとからなる
特許請求の範囲第1項記載の並列推論方法。 5 上記新事実を上記特定の処理装置及び他の複
数の処理装置に一斉に送信する特許請求の範囲第
1項記載の並列推論方法。
[Claims] 1. In a compound computer system consisting of a plurality of bus-coupled processing units and a memory attached to each processing unit, a specific processing unit receives an inference command, and transmits the inference command to other processing units. The inference request is converted into an inference request that is processed in parallel in parallel, and the inference request is sent to multiple other processing devices all at once. Storing at least a part and fact data related thereto in a dedicated memory attached to the processing device, and checking the fact data to search for applicable heuristic data when the inference request is received. processing, processing for inferring whether a new fact will be generated when the searched fact data is applied, and sending the new fact generated during the inference to the above-mentioned specific processing device and a plurality of other processing devices. After that, a plurality of other processing devices that have received the new fact check the new fact data and repeat the searching process, the inference process, and the sending process, so that the specific processing device A parallel inference method characterized in that the repeated processing is terminated when it is determined that no new fact is transmitted by any of the processing devices, and the specific processing device outputs the obtained new fact as the final result of inference. . 2. A parallel reasoning method according to claim 1, wherein at least a portion of the heuristic data and fact data associated therewith are stored in a dedicated memory in the form of a list linked by pointers. 3 The above-mentioned repeated processing involves editing the inference request data based on the new fact in a specific processing device that has received the new fact generated during the above-mentioned inference, and transmitting the inference request data to multiple other processing devices all at once. The parallel inference method according to claim 1, which includes a process of repeating transmission. 4 The dedicated memory includes a memory block that can be read and written only by a processing device equipped with the memory, and a knowledge list that can be read only by the processing device and written to by a specific processing device different from the processing device. 2. A parallel inference method according to claim 1, comprising: a memory block for storing . 5. The parallel reasoning method according to claim 1, wherein the new fact is sent to the specific processing device and a plurality of other processing devices all at once.
JP58030722A 1983-02-28 1983-02-28 parallel inference method Granted JPS59157760A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58030722A JPS59157760A (en) 1983-02-28 1983-02-28 parallel inference method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58030722A JPS59157760A (en) 1983-02-28 1983-02-28 parallel inference method

Publications (2)

Publication Number Publication Date
JPS59157760A JPS59157760A (en) 1984-09-07
JPH0554136B2 true 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 parallel inference method

Country Status (1)

Country Link
JP (1) JPS59157760A (en)

Families Citing this family (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
JP3883647B2 (en) 1997-06-10 2007-02-21 インターナショナル・ビジネス・マシーンズ・コーポレーション Message processing method, message processing apparatus, and storage medium for storing program for controlling message processing

Family Cites Families (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

Also Published As

Publication number Publication date
JPS59157760A (en) 1984-09-07

Similar Documents

Publication Publication Date Title
CA1206268A (en) Control arrangement for data processing system employing multiple processors
US4674033A (en) Multiprocessor system having a shared memory for enhanced interprocessor communication
CN110609730A (en) A method and device for realizing interrupt transparent transmission between virtual processors
EP0512685A1 (en) Quadrature bus protocol for carrying out transactions in a computer system
JPH0554136B2 (en)
EP0037264B1 (en) Associative memory system
JPH10307751A (en) Data transfer device by pointer control in parallel computer
JPS6027976A (en) First-in first-out memory device
JP2994917B2 (en) Storage system
JPS592058B2 (en) Storage device
JPH0750466B2 (en) Parallel computer cache memory control system
JP2755103B2 (en) Storage device access method
JP3134364B2 (en) Information processing system
JP3036809B2 (en) Buffer management method in microcomputer
JPH10307802A (en) Data transfer device by multi-buffer control in parallel computer
JP2540844B2 (en) Data transfer control method
JPH0346033A (en) Inter-job data transfer control method
JPH01100651A (en) Data processing system
JP2594567B2 (en) Memory access control device
JPH0782427B2 (en) Sort processing method
JPH05108538A (en) Memory access control method
JPH0387941A (en) Decentralized data base processing system
JPS6379161A (en) semiconductor storage device
JPS6029401B2 (en) Data output method
CN1211008A (en) Cache enabling architecture