JPH01166223A - Information processing system - Google Patents

Information processing system

Info

Publication number
JPH01166223A
JPH01166223A JP62325760A JP32576087A JPH01166223A JP H01166223 A JPH01166223 A JP H01166223A JP 62325760 A JP62325760 A JP 62325760A JP 32576087 A JP32576087 A JP 32576087A JP H01166223 A JPH01166223 A JP H01166223A
Authority
JP
Japan
Prior art keywords
unification
arguments
structure data
argument
information processing
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
JP62325760A
Other languages
Japanese (ja)
Inventor
Yoshinao Masuda
益田 嘉直
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP62325760A priority Critical patent/JPH01166223A/en
Publication of JPH01166223A publication Critical patent/JPH01166223A/en
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PURPOSE:To improve the efficiency of unification by giving priority to the unification of the arguments having no reference to a structure memory part and holding over the unification of the structure data regardless of the order of the arguments contained in the predicates. CONSTITUTION:When the unification is carried out between the arguments of predicates (a) and (b), the initialization is executed for the unification between arguments 1 with each other. Then the check is carried out to decide whether the argument shows the structure data or not. When the argument does not show the structure data and shows an integer or an atom, the unification is carried out between arguments with not reference to a structure memory part 110. When the argument shows the structure data, the pointer information is obtained to point the structure data 111 and 112 of the part 110. Then the unification between the structure data is held over and the next unification between the arguments is carried out. In such a way, the efficiency of unification is improved.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、知識情報処理の分野において、ユニフィケ
ーションや非決定的制御等の推論の機能を言語として内
蔵している論理型言語Prologを処理する情報処理
方式に関するものである。
[Detailed Description of the Invention] [Field of Industrial Application] This invention is used in the field of knowledge information processing to process information using the logical language Prolog, which has inference functions such as unification and non-deterministic control as a language. This is related to the processing method.

〔従来の技術〕[Conventional technology]

一般に、ユニフイケーシ1ン機能とは、従来の言語での
変数に値を代入する操作に対応するが、単純な代入では
なく変数を含む2・つのデータ構造体くパターン)を、
その中の変数に適当な値を与える(結合する)ことによ
って同一のパターンにする機能である。
In general, a unified function corresponds to the operation of assigning a value to a variable in a conventional language, but rather than a simple assignment, a unified function (a pattern of creating two data structures containing a variable),
This is a function to create the same pattern by giving (combining) appropriate values to the variables therein.

かかるユニフィケーションを処理する情報処理装置にお
いて、従来は述語の引数が構造体メモリ部を参照する、
しないに拘わらず引数が現われる順番に、この引数毎に
ユニフィケーションを行っていた。
Conventionally, in an information processing device that processes such unification, an argument of a predicate refers to a structure memory section.
Unification was performed for each argument in the order in which it appeared, regardless of whether it was or not.

このため、大規模、且つ、複雑な構造を持つ構造体デー
タが前半の引数として現われるユニフィケーションの実
行に際して、後半の引数同志のユニフィケーションが失
敗した場合には、前半の構造体メモリに格納されている
構造体データ同志のユニフィケーションに要した時間が
無駄となる。
Therefore, when unification is executed in which large-scale and complex structure data appears as an argument in the first half, if unification of the arguments in the second half fails, the data is stored in the structure memory in the first half. The time required to unify structure data is wasted.

第3図は、文献’Prolog人門」(後藤人間著、す
ィエンス社)に示されている従来の引数間のユニフィケ
ーション処理例である。
FIG. 3 is an example of conventional unification processing between arguments, which is shown in the literature 'Prolog Jinmon' (written by Hitoshi Goto, published by Science Publishing).

ここでは、第4図に示すように述語aと述語すの引数間
でユニフィケーションが実行されると、最初のステップ
(300)にて引数1同志のユニフィケーションを行う
ための初期化が行なわれ、ステップ(301)で引数間
のユニフィケーションが行なわれ、これが成功するとス
テップ(302)でカウントアツプして順番に引数nま
で引数間のユニフィケーションを行ない、ステップ(3
03)でカウント数がnを超えると判断されたときユニ
フィケーションの実行がステップ(304)で成功終了
となる。 そして、ステップ(301)でユニフィケー
ションの実行が失敗した場合には即座にその処理が中止
されステップ(305)で失敗終了となる。
Here, as shown in FIG. 4, when unification is executed between the arguments of predicate a and predicate In step (301), unification between arguments is performed, and if this is successful, in step (302), the count is increased and unification is performed in order up to argument n, and in step (3
When it is determined in step (303) that the count exceeds n, the execution of unification ends successfully in step (304). If the execution of unification fails in step (301), the process is immediately stopped and ends in failure in step (305).

このことから、明らかなように、引数同志のユニフィケ
ーションを後半で失敗すると前半のユニフィケーション
に要した時間が無駄になる。
From this, it is clear that if the unification of the arguments fails in the second half, the time required for unification in the first half is wasted.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

上述したように、従来のユニフィケーションでは、複数
の引数を持つ述語に対して引数の現われる順番に、引数
毎のユニフィケーションを行うため、前半に大規模、且
つ、複雑な構造を持つ構造体データが現われると構造体
メモリに格納されている構造体データを頻繁にアクセス
する必要が生じて処理時間が多くなる。
As mentioned above, in conventional unification, unification is performed for each argument in the order in which the arguments appear for predicates with multiple arguments, so large-scale and complex structure data appears in the first half. In this case, it becomes necessary to frequently access the structure data stored in the structure memory, which increases processing time.

この時、その後の引数同志のユニフィケーションが失敗
した場合には前半にて実行された構造体データの引数の
ユニフィケーションが全て無駄になるという問題点があ
った。
At this time, there is a problem in that if the subsequent unification of the arguments fails, the unification of the arguments of the structure data executed in the first half is all wasted.

この発明は上記の問題点を解決するためになされたもの
で、大規模、且つ、複雑な構造を持つ構造体データを大
量に取扱う推論処理においても、ユニフィケーション処
理を効率よく実行することのできる情報処理方式を得る
ことを目的とする。
This invention was made in order to solve the above problems, and it is possible to efficiently execute unification processing even in inference processing that handles a large amount of large-scale and complex structured data. The purpose is to obtain a processing method.

〔問題点を解決するための手段〕[Means for solving problems]

この発明に係る情報処理方式は、複数の引数を持つ述語
のユニフィケーションを実行する際、構造体メモリ部に
格納されている構造体データの参照を必要としないユニ
フィケーションを優先して実行し、これらのユニフィケ
ーションが全て成功した場合に限り、構造体メモリ部の
参照を必要とするユニフィケーションを開始するように
したものである。
The information processing method according to the present invention, when executing unification of a predicate having multiple arguments, gives priority to unification that does not require reference to structure data stored in a structure memory section, and Only when all unifications are successful, unification that requires reference to the structure memory section is started.

〔作用〕[Effect]

この発明においては、述語中の引数の順番に係わりなく
、構造体メモリ部を参照しない引数のユニフィケーショ
ンを優先して実行し、構造体メモリを参照する必要性か
ら処理時間が多くなる構造体データのユニフィケーショ
ンを後廻しにするというデイレード・ユニフィケーショ
ン機能を持つので効率的なユニフィケーションが可能と
なる。
In this invention, regardless of the order of arguments in a predicate, unification of arguments that do not refer to the structure memory section is performed with priority, and structure data that requires a lot of processing time due to the need to refer to the structure memory. Efficient unification is possible because it has a delayed unification function that postpones unification.

(実施例) 第1図はこの発明を実施する情報処理装置の構成例であ
り、推論処理部(100)と、構造体メモリ部(110
)とを備え、推論処理部(100)が構造体メモリ部(
110)に対して制御信号(120)を与えるようにな
っている。
(Embodiment) FIG. 1 shows an example of the configuration of an information processing device implementing the present invention, which includes an inference processing section (100) and a structure memory section (110).
), and the inference processing unit (100) has a structure memory unit (
A control signal (120) is given to the control signal (110).

以下、推論処理部(ioo)の具体的な処理手順を示す
第2図のフローチャートに従って動作を説明する。
The operation of the inference processing unit (ioo) will be described below according to the flowchart of FIG. 2 showing a specific processing procedure.

述語a (101)と述語b (102)の引数間でユ
ニフィケーションが実行されるとき、最初のステラ7’
 (200)で、引数1同志のユニフィケーションを行
うための初期化が行なわれ、次いで、ステップ(201
)にて引数が構造体データであるか否かのチエツクを行
う。このチエツクにより、引数が構造体データでなく、
IntegerやAtomのときには構造体メモリ部(
110)を参照しないでステップ(202) にて引数
間のユニフィケーションを実行する。この引数間のユニ
フィケーションは基本的には図の左側から順番に引数n
まで、すなわち、ステップ(204)でカウントアツプ
し、ステップ(205)の条件を満足している間、引数
間のユニフィケーションが行なわれる。
When unification is performed between the arguments of predicate a (101) and predicate b (102), the first stellar 7'
In step (200), initialization is performed to perform unification of argument 1, and then in step (201
) checks whether the argument is structure data. This check ensures that the argument is not structure data and
For Integer and Atom, the structure memory part (
110), unification between arguments is executed in step (202). This unification between arguments basically consists of arguments n in order from the left side of the diagram.
Unification between arguments is performed until the count is counted up in step (204) and the condition in step (205) is satisfied.

もし、ステップ(201)のチエツクの結果、引数のデ
ータ・タイプが第1図に示されているように構造体デー
タの場合には、構造体メモリ部(110)に格納されて
いる構造体データ(111)  と(u2)を指すポイ
ンタ情報となり、ステップ(203)の処理が実行され
、引数番号i(第1図の場合にはi・2)が保留され、
構造体データ同志のユニフィケーションIA埋は実行さ
れずに後回わしとなり、次の引数間ユニフィケーション
が実行される。
If the result of the check in step (201) is that the data type of the argument is structure data as shown in FIG. 1, the structure data stored in the structure memory section (110) (111) becomes pointer information pointing to (u2), the process of step (203) is executed, argument number i (i.2 in the case of Figure 1) is held, and
The unification IA filling of the structure data is not executed and is postponed, and the unification between the next arguments is executed.

同様に引数として構造体データが現れる場合には引数番
号が保留され、構造体データ同志のユニフィケーション
は後回わしになり、次々と引数間ユニフィケーションが
行なわれ、最後の引数nのユニフィケーションが行なわ
れる。
Similarly, when structure data appears as an argument, the argument number is held, unification of structure data is postponed, unification is performed among arguments one after another, and unification of the last argument n is performed.

次に、ステップ(206)にて保留されている引数番号
の有無をチエツクし、有の場合にはステップ(207)
で構造体メモリを参照しながら構造体データのユニフィ
ケーションを実行し、これが成功した場合にはステップ
(208)で成功終了となる。
Next, it is checked in step (206) whether or not there is a pending argument number, and if there is, it is checked in step (207).
In step (208), unification of the structure data is executed while referring to the structure memory, and if this is successful, the process ends successfully in step (208).

ここで、もしステップ(202)にて引数のユニフィケ
ーション実行時に失敗した場合にはユニフィケーション
の実行は即座に終了し、ステップ(209)で失敗終了
となる。この場合、構造体データ同志のユニフィケーシ
ョンlA理は後回わしになっているため、これらの処理
は全く実行されないうちに失敗が判明することからユニ
フィケーション処理に要する時間を短縮することができ
る。
Here, if the execution of argument unification fails in step (202), the execution of unification ends immediately and ends in failure in step (209). In this case, since the unification process for the structure data is deferred, the failure of these processes becomes known before they are executed at all, so the time required for the unification process can be shortened.

特に、構造体データ同志のユニフィケーションは構造体
メモリ部(110)を参照するため、一般にInteg
erやAton+のような引数のユニフィケーションに
比べて多くの時間を要するのでデイレード・ユニフィケ
ーションの効果は大きい。
In particular, since the unification of structure data refers to the structure memory section (110), it is generally
Delayed unification is very effective because it takes more time than argument unification such as er or Aton+.

なお、上記実施例は、推論処理部(100)が1台であ
る通常のシングルプロセッサを前提としたものであるが
、推論処理部が複数個のマルチプロセッサ・システムに
おいても上述したと同様にして効率的なユニフィケーシ
ョンを実行することができる。
Note that the above embodiment is based on a normal single processor with one inference processing unit (100), but it can also be applied to a multiprocessor system with a plurality of inference processing units in the same manner as described above. Efficient unification can be performed.

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

以上の説明によって明らかなように、この発明によれば
、不必要な構造体データ同志のユニフィケーション処理
を極力減らすことができ、これによって効率のよいユニ
フィケーションIA埋が可能になる。
As is clear from the above description, according to the present invention, unnecessary unification processing between structure data can be reduced as much as possible, thereby enabling efficient unification IA filling.

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

第1図はこの発明を実施する情報処理装置の構成例を示
すブロック図、第2図はこの情報処理装置の具体的な処
理手順を示すフローチャート、第3図は従来の情報処理
方式を採用した情報処理装置の具体的な処理手順を示す
フローチャート、第4図は情報処理対象の述語の引数を
示す説明図である。 (100) :推論処理部 (101)、 (102) :述語 (110):構造体メモリ部
Fig. 1 is a block diagram showing an example of the configuration of an information processing device implementing the present invention, Fig. 2 is a flowchart showing a specific processing procedure of this information processing device, and Fig. 3 is a block diagram showing an example of the configuration of an information processing device that implements the present invention. A flowchart showing a specific processing procedure of the information processing apparatus, and FIG. 4 is an explanatory diagram showing arguments of a predicate to be processed. (100): Inference processing unit (101), (102): Predicate (110): Structure memory unit

Claims (1)

【特許請求の範囲】[Claims] 推論の機能を内蔵している論理型言語を機械語として実
行する推論処理部と、構造体データの記憶、管理、操作
の機能を有する構造体メモリ部とを結合制御する情報処
理装置において、上記推論処理部がユニフィケーション
を実行する際、上記構造体メモリ部に格納されている構
造体データの参照を必要としないユニフィケーションを
優先して実行し、これらの実行が全て成功した場合に限
り、上記構造体メモリ部の参照を必要とするユニフィケ
ーションを開始することを特徴とする情報処理方式。
In an information processing device that combines and controls an inference processing unit that executes a logical language having a built-in inference function as a machine language and a structure memory unit that has functions of storing, managing, and manipulating structure data, When the inference processing unit executes unification, it gives priority to unification that does not require reference to the structure data stored in the structure memory unit, and only if all of these executions are successful, the above structure is An information processing method characterized by starting unification that requires reference to a body memory section.
JP62325760A 1987-12-23 1987-12-23 Information processing system Pending JPH01166223A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62325760A JPH01166223A (en) 1987-12-23 1987-12-23 Information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62325760A JPH01166223A (en) 1987-12-23 1987-12-23 Information processing system

Publications (1)

Publication Number Publication Date
JPH01166223A true JPH01166223A (en) 1989-06-30

Family

ID=18180320

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62325760A Pending JPH01166223A (en) 1987-12-23 1987-12-23 Information processing system

Country Status (1)

Country Link
JP (1) JPH01166223A (en)

Similar Documents

Publication Publication Date Title
Rumbaugh A data flow multiprocessor
JPH04348451A (en) Parallel computer
JPS5841538B2 (en) Multiprocessor system instructions
JP3797570B2 (en) Apparatus and method using semaphore buffer for semaphore instructions
EP0240108A2 (en) A data processing system
JPH01166223A (en) Information processing system
US5586320A (en) High speed synchronous processing system for executing parallel processing of programs having loops
US11132305B1 (en) Automatic static region generation for memory protection units (MPUs)
JPS6347835A (en) Pipeline computer
JPS6049464A (en) Inter-processor communication system of multi-processor computer
JPH04287121A (en) Tuple space system
JP2744152B2 (en) Data driven data processor
JPH0667887A (en) Information processor
JPS6020275A (en) Simple programming system of multiprocessor
JP3140442B2 (en) Data processing device
Yuen et al. A self interpreter for BaLinda Lisp
JPH02113363A (en) Time slice controlling system for multiprocessor system
JPS62128343A (en) Main memory managing system in computer system
JPH03182945A (en) Transfer system for data in main storage
JPS63163636A (en) Executing system for parallel processing
US20150058505A1 (en) Method for operating a buffer memory of a data processing system and data processing system
JPH01189732A (en) Task start-up control method
JPS5953902A (en) Control device
JPH0227436A (en) Process control system for operating system
JPH0425961A (en) Shared data update system