JPS60157640A - Prolog execution controlling system - Google Patents

Prolog execution controlling system

Info

Publication number
JPS60157640A
JPS60157640A JP1391984A JP1391984A JPS60157640A JP S60157640 A JPS60157640 A JP S60157640A JP 1391984 A JP1391984 A JP 1391984A JP 1391984 A JP1391984 A JP 1391984A JP S60157640 A JPS60157640 A JP S60157640A
Authority
JP
Japan
Prior art keywords
goal list
processing
answers
goal
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.)
Pending
Application number
JP1391984A
Other languages
Japanese (ja)
Inventor
Hideho Masuzawa
増沢 秀穂
Akihiro Itashiki
板敷 晃弘
Takeshi Sato
健 佐藤
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP1391984A priority Critical patent/JPS60157640A/en
Publication of JPS60157640A publication Critical patent/JPS60157640A/en
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

PURPOSE:To quicken a re-output processing time, and to control dealing of a result on the way by accumulating plural answers, and postponing the processing, in a program processing system using a predicate logical type language program. CONSTITUTION:Basing on a question whose processing is requested from a terminal equipment 5, an execution control part 2 generates a goal list, starts a process in order to solve it, and delivers a new goal list to its process. In case a body of its goal list is constituted of plural literals C, D, in case there are plural D, -G answers of the goal list, only a part of the answers is returned to a high-order process, and the rest is accumulated in a memory 4 and its processing is postponed. In case a re-execution is requested from the high-order process, other accumulated answers are outputted successively.

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は、述語論理型言語のPROLOGを用いたプロ
グラム処理システムにおける効率的な実行制御方式に関
し2%にPROLOGのプログラムを並列処理する過程
において、途中結果が複数生じた場合、それらを中間で
保持することによって。
[Detailed Description of the Invention] [Technical Field of the Invention] The present invention relates to an efficient execution control method in a program processing system using the predicate logic language PROLOG, and in the process of parallel processing of PROLOG programs to 2%. If multiple intermediate results occur, by keeping them intermediate.

その先の処理を抑え、現時点で不必要な処理をいったん
後まわしにして、その後必要が生じたときに対応出来る
よう圧する実行制御方式に関する。
The present invention relates to an execution control method that suppresses future processing, temporarily postpones processing that is unnecessary at the present time, and then pressures it to respond when the need arises.

〔技術の背景〕[Technology background]

Pl’tOLOGのプログラムを用いた知識ペース処環
システムでは、質問に適合する規則を見出し。
A knowledge-paced processing system using the Pl'tOLOG program finds rules that match the question.

次に規則中に含まれる変数に適合する事実(定数)を見
出し、解答を得る処理が行なわれるが、たとえば規則が
多重に適用されたり、いくつかの段階で変数に適合する
事実が複数個見出されたとき。
Next, the process of finding facts (constants) that match the variables included in the rule and obtaining the answer is performed. When served.

規則を充足する事実の組み合わせが多数生じて。There are many combinations of facts that satisfy the rule.

その論理処理やデータ転送の量が著しく増大する。The amount of logical processing and data transfer increases significantly.

しかし、実際に正しい解答に結びつく処理はその一部で
あり、結果的に無駄となる途中処理が多く含まれるが、
処理過程においては予め知ることができない。
However, only a part of the process actually leads to the correct answer, and there are many intermediate processes that end up being wasted.
This cannot be known in advance during the processing process.

他方、PROLOGのプログラムは並列処理によって効
率化を図ることができ、従来その実行制御方式は何種類
か提案されている。たとえばPIEモデル、リダクショ
ン型モデル、C0NBRYモデル、MP型モデルなどで
ある。
On the other hand, PROLOG programs can be made more efficient through parallel processing, and several types of execution control methods have been proposed. Examples include the PIE model, reduction type model, C0NBRY model, and MP type model.

このうち、PIE型モデルとりダクシ日ン型モデルは複
数の途中結果がある場合、途中で保持せず全て処理して
しまう方式であり、他の解答が要求された場合、簡単に
得ることができる。しかし。
Among these, the PIE type model and the Dakushi type model are methods in which when there are multiple intermediate results, they are all processed without being retained in the middle, so if another answer is requested, it can be easily obtained. . but.

前者は処理単位を完全に個々独立にしているためデータ
転送量が増大し、また双方共実行可能な処理単位を全て
処理するため必要資源量が増大するという欠点があった
。他方C0NE几YモデルおよびMP型モデルは、複数
の途中結果が生じた場合。
The former has the disadvantage that the amount of data transferred increases because the processing units are made completely independent, and the amount of required resources increases because all the processing units that can be executed on both sides are processed. On the other hand, in the case of the C0NE Y model and the MP model, multiple intermediate results occur.

一部の結果を除き、それぞれORプロセスおよび5EN
DERプロセスと呼ばれる特定の機能をもったプロセス
に蓄積し、その先の処理を保留とし。
OR process and 5EN, respectively, except for some results
It is stored in a process with a specific function called the DER process, and further processing is put on hold.

後に他の解答が要求された場合に、蓄積されている途中
結果を使用して新しい解答をめることにより、処理の効
率化を図っている。しかし、その場合、新しい解答をめ
るため、先の解答で代入された値を他の値(途中結果)
と取り替えて処理をやり直す際に、適合する値が代入さ
れるまで後戻り処理(back tracking )
が必要となる欠点があった0 〔発明の目的および構成〕 本発明の目的は、PROLOGのプログラム処理圧おい
て、途中結果が複数性じたときに、少ない処理時間、お
よび資源量で効率的に再実行(RIEDo)可能な手段
を提供することにあり、その構成は、PROLOGのプ
ログラム処理システムにおいて、知識ベース記憶手段と
、質問に基づいてゴールリストを生成する手段と、生成
されたゴールリストと知識ベース中のクローズとのユニ
フィケーションを実行する生成されたゴールリストごと
に設けられる処理手段とをそなえ、該処理手段は。
If a different answer is later requested, the new answer is determined using the accumulated intermediate results, thereby improving processing efficiency. However, in that case, in order to obtain a new answer, the value assigned in the previous answer is replaced with another value (intermediate result).
When redoing the process by replacing it with
[Objective and Structure of the Invention] The object of the present invention is to efficiently solve the problem with a small processing time and resource amount when there are multiple intermediate results under the program processing pressure of PROLOG. The objective is to provide a means for re-executing (RIEDo) the program, and its configuration consists of a knowledge base storage means, a means for generating a goal list based on a question, and a means for generating a goal list based on a question in the PROLOG program processing system. and processing means provided for each generated goal list for performing unification with the clauses in the knowledge base.

ゴールリストのボディ部のリテラルが1個の場合。When there is one literal in the body part of the goal list.

ユニフィケーシヨンが成功したクローズに対して新ゴー
ルリストを生成し、かつそのゴールリストを解くために
新しい処理手段を起動し、他方ゴールリストのボディ部
のリテラルが複数個ある場合。
If unification generates a new goal list for a successful close and activates a new processing means to solve the goal list, while there are multiple literals in the body part of the goal list.

その中の1個のリテラルについてユニフィケーションを
行ない、ユニフィケーションが成功した場合、当該リテ
ラルに、成功したクローズのボディを代入して縮退した
新ゴールリストを生成し、かつそのゴールリストを解く
ために新しい処理手段を起動し、さらにいずれかのゴー
ルリストを解く処理手段において複数個の答えが得られ
たとき。
Unification is performed on one of the literals, and if the unification is successful, a new degenerate goal list is generated by assigning the body of the successful close to the literal, and a new process is performed to solve the goal list. When multiple answers are obtained in the processing means that activates the means and solves any of the goal lists.

縮退されていないゴールリストを解く処理手段において
上記複数個の答えを蓄積し、該複数個の答えの一部を除
いて処理の後回しを行なうことを特徴とするものである
The present invention is characterized in that the plurality of answers are accumulated in the processing means for solving the non-degenerate goal list, and the processing is carried out later by excluding some of the plurality of answers.

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

以下に2本発明の詳細を実施例にしたがって説明する。 The details of the present invention will be explained below based on two examples.

第1図は1本発明方式の1実施例のPROLOG処理シ
ステムの機能構成図であり、lはPROLOG処理装置
、2は実行制御部、3はゴールリストごとに起動される
プロセス、4は知識ベース記憶装置、5は端末装置を示
す。
FIG. 1 is a functional configuration diagram of a PROLOG processing system according to an embodiment of the present invention method, where l is a PROLOG processing device, 2 is an execution control unit, 3 is a process started for each goal list, and 4 is a knowledge base. A storage device and 5 indicate a terminal device.

第2図は、第1図に示す実施例システムの機能を説明す
るためのPROLOGのプログラム処311例を示し、
質問” ’i’A ニーB″に対して、与えられている
知識ベースを用いて答を得るために、順次生成されるゴ
ールリストとその処理のために起動されたプロセス■乃
至θ等を示したものである。
FIG. 2 shows an example of PROLOG program processing 311 for explaining the functions of the embodiment system shown in FIG.
In order to obtain an answer to the question ``'i'A Knee B'' using the given knowledge base, the goal list that is sequentially generated and the processes ■ to θ etc. activated for the processing are shown. It is something that

単一実線矢印が変数値をめるフォワード処理ルート、二
重実線矢印がめられた値を答えとして出力するバックワ
ード処理ルートである。斜線な施したプロセス■l o
+ θは、下位プロセスから複数の答えが上って来たと
きにいったん蓄積しておく縮退されていないプロセス(
後述)を示し。
A single solid line arrow indicates a forward processing route where the variable value is entered, and a double solid line arrow indicates a backward processing route where the found value is output as the answer. Process with diagonal lines ■l o
+ θ is a non-degenerate process that accumulates once multiple answers come up from lower processes (
(described later).

点線矢印は、fA在出力されている答えが満足されない
場合に、上記縮退されていないプロセスに蓄積されてい
る他の答えの出力を要求する再実行(几WDO)ルート
を示す。
The dotted arrow indicates a re-execution (WDO) route that requests the output of other answers stored in the non-degenerate process if the answer currently being output by fA is not satisfied.

第1図において、*行制御部2は、端末装置5から処理
要求された質問に基づいてゴールリストを生成し、それ
について知識ベースとのユニフイケーシ璽ン処理を行な
うプロセスを起動する。プロセスは処理結果にしたがっ
てさらに他のプロセスを起動することができる。
In FIG. 1, the line control unit 2 generates a goal list based on a question requested for processing by the terminal device 5, and starts a process for unifying the goal list with the knowledge base. The process can further activate other processes according to the processing results.

プロセスの基本的な機能は2次のようなものである。The basic function of the process is as follows.

(1) ゴールリストを受け取り2次の処理を行なう。(1) Receive the goal list and perform secondary processing.

■ そのゴールリストのボディが1つのリテラルから構
成される場合(たとえば第2図のAニーB)。
■ When the body of the goal list consists of one literal (for example, A knee B in Figure 2).

0 そのリテラルと知識ベースとのユニフィケーシ冒ン
を行ない、成功したクローズ(規則または事実)に対し
て新ゴールリストを生成し、それを解く為にプロセスを
起動し、そのプロセスにその新ゴールリストを渡す。一
般には、成功したクローズは複数個存在するので、それ
ぞれに対して新ゴールリストを解(プロセスを起動する
。すなわち分岐を行なう。
0 Unify the literal with the knowledge base, generate a new goal list for a successful closure (rule or fact), launch a process to solve it, and add the new goal list to that process. hand over. Generally, there are multiple successful closes, so a new goal list is created for each one (starting the process; that is, branching is performed).

■ そのゴールリストのボディが、複数リテラルから構
成される場合(たとえば第2図のB!−C,D)。
■ When the body of the goal list is composed of multiple literals (for example, B!-C, D in FIG. 2).

0 複数リテラルの1つに対してユニフィケーシッンを
行なう。成功したクローズのボディなゴールリストの対
応するリテラルの代わりに埋めこんだ(ゴールリストの
縮退という)ものを新ゴールリストとして生成し、それ
を解く為にプロセスを起動し、そのプロセスにその新ゴ
ールリストを渡す。
0 Performs unification on one of multiple literals. Generate a new goal list by filling it in place of the corresponding literal in the goal list that is the body of a successful closing (called goal list degeneracy), start a process to solve it, and add that new goal to that process. Pass the list.

(2) ゴールリストの答は、縮退されていない最初の
ゴールリストを解くプロセスのみに蓄積し。
(2) The answers to the goal list are stored only in the process of solving the first non-reduced goal list.

答えが複数ある場合には、一部の答えのみを上位プロセ
スへ返し、残りを蓄積して、その処理は後回しにする。
If there are multiple answers, only some of the answers are returned to the upper process, the rest are accumulated, and their processing is postponed.

たとえば、第2図でプロセスθは、DニーGの答えを複
数個もつが、プロセスeへはそのうちの最先のもののみ
を上げる。
For example, in FIG. 2, process θ has multiple answers to D knee G, but only the first one of them is sent to process e.

(3)各ゴールリストからの答えは、基本的ニハ。(3) The answer from each goal list is basically Niha.

(2)の答えを保持するプロセス間のみで伝搬する(第
2図の2重実線矢印および点線矢印)。
It propagates only between processes that hold the answer to (2) (double solid line arrow and dotted line arrow in Figure 2).

したがって第2図の例では、ボディに複数リテ9 /L
/ ヲモつゴールリスト、たとえばAND論理で結合さ
れた2つのリテラルC,DをもつゴールリストBニーC
,Dを処理するプロセス@は、その順次縮退されたゴー
ルリストを処理するプロセスθ、[相]、■で複数の答
えが得られたとき、それらの答えを全てプロセス@へ取
り出して置き、プロセスθ、■、■にはそれぞれの答え
を蓄積しない。
Therefore, in the example shown in Fig. 2, the body has multiple lites 9/L.
/ Omotsu goal list, for example, a goal list B and C with two literals C and D connected by AND logic.
, D, when multiple answers are obtained in the process θ, [phase], ■, which processes the sequentially degenerated goal list, the process @ that processes The respective answers are not stored in θ, ■, and ■.

他の縮退されないプロセス■、θについても同様である
。すなわち、縮退されたゴールリストの処理における複
数の答えは、縮退されない最初のゴールリストのプロセ
スに集中しておき、その後再充足のためのプロセスの、
O2@への後戻り処理(back tracking 
)は不要にする。
The same holds true for other non-degenerate processes ① and θ. That is, multiple answers in processing a degenerate goal list should be concentrated on the process of the first goal list that is not degenerated, and then the process for refilling.
Back tracking to O2@
) is unnecessary.

これにより、途中結果が複数あるとき、予めその全てに
ついて処理しつくす一、場合の処理負担を軽減するとE
も罠、上位プロセスから再実行(REDO)が要求され
た場合には、プロセス■、@、θのみが、蓄積している
他の答えを逐次的に出力すればよく、再出力処理を迅速
化することができる。
As a result, when there are multiple intermediate results, all of them can be processed in advance, reducing the processing burden.
However, when re-execution (REDO) is requested from the upper process, only processes ■, @, and θ need to sequentially output the other answers they have stored, which speeds up the re-output process. can do.

次に示す知識ベースおよび質問を具体例として。The following knowledge base and questions are examples.

本発明方式によるプログラムの実行過程を詳述する。The process of executing a program according to the method of the present invention will be described in detail.

知識ベース (Dl)父(太部、守夫)/*太部の父は、守夫である
*/(D2)父(守夫、平)/*守夫の父は、平である
 +/(D3)父(浮子2牽二)/*洋子の父は2章二
である*/(D4)母(太部、洋子)/*太部の母は、
洋子である*/(D5)祖父CX、gt))ニー父(x
* par )s 父(pare gp)/*xの父の
父がgpであるならば2g少はXの祖父である*〆(D
6)祖父Cx*gp>ニー母It t’ar)*父<p
ar、ip>/*xの母の父がgpであるならば9gp
はXの祖父である*〆質問 (q)?祖父(太部、gp) プログラムの実行過程 ここでは、プログラムの実行過程 (11(G)のgpの値が決まるまでの過程(フォワー
ド処理) (2) (G)の答が出力されるまでの過11(バック
ワード処理) 02段階に分けて述べる。
Knowledge base (Dl) Father (Abe, Morio) / *Abe's father is Morio */ (D2) Father (Morio, Taira) / * Morio's father is Taira +/ (D3) Father (Uko 2 Kenji) / *Yoko's father is Chapter 2 * / (D4) Mother (Tabe, Yoko) / *Tabe's mother is
Yoko */(D5) grandfather CX, gt)) knee father (x
*par)s father (pare gp)/*If x's father's father is gp, then 2g-sho is X's grandfather*〆(D
6) Grandfather Cx*gp>nee Mother It t'ar)*father<p
ar, ip>/*If x's mother's father is gp, then 9gp
Is X's grandfather *〆Question (q)? Grandfather (Tabe, gp) Program execution process Here, we will explain the program execution process (11 (Process until the value of gp in (G) is determined (forward processing)) (2) The process until the answer to (G) is output. 11 (backward processing) This will be explained in 02 stages.

(11(G)のgpの値が決まるまでの過程(フォワー
ド処理):第3図が参照される。
(Process until the value of gp in 11(G) is determined (forward processing): See FIG. 3.

1)・?祖父(太部、 ip>が与えられると、出力(
1p)’、祖父(太部、 111)を作る。
1)・? Given the grandfather (Tabe, ip>, the output (
1p)', create a grandfather (Abe, 111).

・プロセスのを生成。・Create a process.

・出力(gp)ニー祖父(太部、 gp>の処理をプロ
セス■に要求。
・Output (gp) Requests process ■ to process the output (gp).

2)@祖父(太部、 gtJ)のユニフイケーシ胃ンで
知識ベースの(D5)、(D6)と成功。
2) Succeeded with knowledge base (D5) and (D6) with @Grandfather's (Abe, gtJ) UNIFICE gastrointestinal.

・プロセス■、■を生成。・Generate processes ■ and ■.

・D5.D6を新ゴールリストとし【、それぞれ■、■
に処理を要求。
・D5. Set D6 as the new goal list [, respectively ■, ■
request processing.

3)・■で父(太部+ par)のユニフィヶーシ冒ン
で(Dl)と成功c part守夫)。
3)・■ My father's (Abe + par) Unifi-Kashi adventure (Dl) and success c part Morio).

mPar=守夫をゴールリストに反映、祖父(太部、i
p>:父(太部、9夫)、父(9夫。
mPar = Morio is reflected in the goal list, grandfather (Abe, i
p>: Father (Abe, 9 husbands), Father (9 husbands.

gp)。gp).

嗜縮遇する。祖父(太部、ip)ニー父(9夫。Treat yourself condescendingly. Grandfather (Tabe, IP), father (9 husbands).

gp)。gp).

力\ 一更に処理すべきリテラル、存在するので、プロセス■
を生成。
Force\ Since there are literals to be further processed, process■
Generate a.

ψ祖父(太部、gp)−父(9夫、gp)を新ゴールリ
ストとして■に処理を要求。
ψGrandfather (Tabe, GP) - Father (9th husband, GP) is requested to be processed by ■ as a new goal list.

■においても■と同様の処理を行う。In case (2), the same processing as in (2) is performed.

4)・@で父(9夫、gp>のユニフィヶーシ!ンで(
D2)と成功Cgp−平)。
4)・Father at @ (9 husbands, GP>'s uniform!
D2) and successful Cgp-hei).

・gp=平をゴールリストに反映。祖父(太部、平)ニ
ー父(守夫、平)。
・GP=Taira is reflected in the goal list. Grandfather (Abe, Taira), father (Morio, Taira).

・もはや処理するリテラルは存在しない。それ故答はま
った。
- There are no more literals to process. That's why I got the answer.

(21(G)の答が出力されるまでの過程(バックワー
ド処理):第4図が参照される。
(Process until the answer to 21(G) is output (backward processing): See FIG. 4.

5)・■はゴールリストのヘッド部祖父(太部。5)・■ is the grandfather of the head section of the goal list (Father).

平)を■に送る。Send (Taira) to ■.

・■はゴールリストのヘッド部祖父(太部。・■ is the grandfather of the head section of the goal list (Father).

章二)を■に送る。Send Chapter 2) to ■.

6)・■は祖父(太部、平)をゴールリストの答として
■に送る。
6)・■ sends the grandfather (Abe, Taira) to ■ as the answer to the goal list.

・■は祖父(太部9章二)をゴールリストの答として■
に送る。
・■ is my grandfather (Tabe 9, chapter 2) as the answer to the goal list■
send to

なお1例ば■、■等にそれぞれ複数個の答が返ってくる
場合は、そのうちの幾つかの答を■に送り、残りを途中
結果として保持しその処理を後まわしすることが可能。
For example, if multiple answers are returned to ■, ■, etc., some of the answers can be sent to ■, and the rest can be retained as intermediate results and processed later.

7)争■から受取った祖父(太部、’F)の引数の値を
ゴールリストに反映。出力(平)ニー祖父(太部、平)
7) Reflect the value of the argument of the grandfather (Abe, 'F) received from the battle ■ in the goal list. Output (Taira) Nee Grandfather (Tabe, Taira)
.

・■についても■と同様。出力(章二);−祖父(太部
1章二) ・出力(平)を答として出力。出力(章二)は出力する
ことも、■で保持することも制御によって選べる。
・Same as ■ for ■. Output (Chapter 2); - Grandfather (Tabe 1 Chapter 2) - Output (Taira) as the answer. Output (chapter 2) can be output or held using ■.

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

以上のように2本発明によれば、途中結果か複数ある場
合に蓄積されるプロセスが、縮退されていないゴールリ
ストを解くプロセスに限定しているため、後戻りのない
効率的な再実行処理を行なうことができ、従来方式にく
らべて再出力処理時間の迅速化がはかれ、また途中結果
について取り扱い制御が可能になる。
As described above, according to the second aspect of the present invention, the process that is accumulated when there are multiple intermediate results is limited to the process that solves the goal list that is not degenerate, so efficient re-execution processing without backtracking is possible. This makes it possible to speed up the re-output processing time compared to the conventional method, and also makes it possible to handle and control intermediate results.

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

第1図は本発明の1実施例システムの構成図。 第2図は本発明実施例における処理例の説明図。 第3図はフォワード処理の具体例による説明図。 第4図はバックワード処理の具体例による説明図である
。 図中、1はPROLOG処理装置、2は実行制御部、3
はプロセス、4は知識ベース記憶装置、5は端末装置を
示す。 特許出願人 富士通株式会社 代理人弁理士 長谷用文廣(外1名)
FIG. 1 is a configuration diagram of a system according to an embodiment of the present invention. FIG. 2 is an explanatory diagram of a processing example in the embodiment of the present invention. FIG. 3 is an explanatory diagram of a specific example of forward processing. FIG. 4 is an explanatory diagram of a specific example of backward processing. In the figure, 1 is a PROLOG processing device, 2 is an execution control unit, and 3
is a process, 4 is a knowledge base storage device, and 5 is a terminal device. Patent applicant Fujitsu Ltd. Representative patent attorney Fumihiro Hase (1 other person)

Claims (1)

【特許請求の範囲】 PROLOGのプログラム処理システムにおいて。 知識ベース記憶手段と、質問に基づいてゴールリストを
生成する手段と、生成されたゴールリストと知識ベース
中のクローズとのユニフィケーションを実行する生成さ
れたゴールリストごとに設けられる処理手段とをそなえ
、該処理手段は、ゴールリストのボディ部のリテラルが
1個の場合、ユニフィケーシヨンが成功したクローズに
対して新ゴールリストを生成し、かつそのゴールリスト
を解くために新しい処理手段を起動し、他方ゴールリス
トのボディ部のリテラルが複数個ある場合。 その中の1個のリテラルについてユニフィケーションを
行ない、ユニフィケーションが成功した場合、当該リテ
ラルに、成功したクローズのボディな代入して縮退した
新ゴールリストを生成し、かつそのゴールリストを解く
ために新しい処理手段を起動し、さらにいずれかのゴー
ルリストを解く処理手段において複数個の答えが得られ
たとき。 縮退されていないゴールリストを解く処理手段において
上記複数個の答えを蓄積し、該複数個の答えの一部を除
いて処理の後回しを行なうことを特徴とするPROLO
G実行制御方式。
[Claims] In a PROLOG program processing system. comprising knowledge base storage means, means for generating a goal list based on a question, and processing means provided for each generated goal list for unifying the generated goal list with closings in the knowledge base; If the body part of the goal list has one literal, the processing means generates a new goal list for a close in which unification is successful, and activates a new processing means to solve the goal list. , on the other hand, if there are multiple literals in the body part of the goal list. Unification is performed on one of the literals, and if the unification is successful, a new degenerate goal list is generated by assigning the body of the successful close to the literal, and a new process is performed to solve the goal list. When multiple answers are obtained in the processing means that activates the means and solves any of the goal lists. A PROLO characterized in that the plurality of answers are accumulated in the processing means for solving the non-degenerate goal list, and processing is carried out later by excluding some of the plurality of answers.
G execution control method.
JP1391984A 1984-01-27 1984-01-27 Prolog execution controlling system Pending JPS60157640A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1391984A JPS60157640A (en) 1984-01-27 1984-01-27 Prolog execution controlling system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1391984A JPS60157640A (en) 1984-01-27 1984-01-27 Prolog execution controlling system

Publications (1)

Publication Number Publication Date
JPS60157640A true JPS60157640A (en) 1985-08-17

Family

ID=11846576

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1391984A Pending JPS60157640A (en) 1984-01-27 1984-01-27 Prolog execution controlling system

Country Status (1)

Country Link
JP (1) JPS60157640A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5016164A (en) * 1986-04-21 1991-05-14 Texas Instruments Incorporated Computer system having delayed save on procedure calls

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5016164A (en) * 1986-04-21 1991-05-14 Texas Instruments Incorporated Computer system having delayed save on procedure calls

Similar Documents

Publication Publication Date Title
JPH0556541B2 (en)
US5088048A (en) Massively parallel propositional reasoning
JPH0475139A (en) Loop parallelizing system
Ma et al. Logic verification algorithms and their parallel implementation
WO2021036260A1 (en) Method and apparatus for concurrently executing transactions in blockchain
US11816061B2 (en) Dynamic allocation of arithmetic logic units for vectorized operations
JPS60157640A (en) Prolog execution controlling system
US6990658B1 (en) Method for translating instructions in a speculative microprocessor featuring committing state
JPS63317828A (en) Reading control system for microcode
Abhyankar et al. APIServe: Efficient API Support for Large-Language Model Inferencing
WO2021180243A1 (en) Machine learning-based method for optimizing image information recognition, and device
US5379438A (en) Transferring a processing unit&#39;s data between substrates in a parallel processor
JPH103391A (en) Method and system for assigning register using multiplex interference graph
CN115034365A (en) Multi-core parallel computing method for neural network processor
Lin et al. Theory for a control architecture of fuzzy discrete event systems for decision making
Zhong et al. RLHFuse: Efficient RLHF Training for Large Language Models with Inter-and Intra-Stage Fusion
Lin et al. P4-tpg: Accelerating deterministic parallel test pattern generation by preemptive, proactive, and preventive schedulings
JPS62284429A (en) Inference device
JPH0442345A (en) Distributed processing system
Cohen A parallel process definition and control system
JP3568151B2 (en) Robot execution processing system
JP2004046747A (en) Vectorization system
JPS59218559A (en) Execution processing device of logical program
JPH01500066A (en) Methods for implementing the Branch Directive
Irie What a PACS should be?