JPH02204835A - Rule type program executing method - Google Patents

Rule type program executing method

Info

Publication number
JPH02204835A
JPH02204835A JP1023840A JP2384089A JPH02204835A JP H02204835 A JPH02204835 A JP H02204835A JP 1023840 A JP1023840 A JP 1023840A JP 2384089 A JP2384089 A JP 2384089A JP H02204835 A JPH02204835 A JP H02204835A
Authority
JP
Japan
Prior art keywords
rule
condition
execution
data
based program
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
JP1023840A
Other languages
Japanese (ja)
Inventor
Takashi Kichise
隆 吉瀬
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 JP1023840A priority Critical patent/JPH02204835A/en
Publication of JPH02204835A publication Critical patent/JPH02204835A/en
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

PURPOSE:To increase the response speed of an expert system, etc., by dividing the condition part of a rule into a limited condition which necessitates the retrieval of an element of a data assembly, and other fundamental condition, and reserving one set of data as for the limited condition. CONSTITUTION:A central processing unit 11, an input/output device 12, a memory device 13 and an arithmetic unit 14 are provided. In this state, the condition part of the rule is divided into the limited condition by which an element in a data assembly must be retrieved, and other fundamental condition, and as for the limited condition, one set of data for satisfying the condition is reserved, and as for the fundamental condition, the result of calculation is not reserved. Accordingly, all sets of data for satisfying the condition of each rule are not derived, and only one set is derived at the most. In such a manner, the execution speed is brought to high speed, and the response time to a user can be shortened.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本方式は電子計算機を利用したエキスパートシステム等
のルール型プログラムの実行方法に関する。
DETAILED DESCRIPTION OF THE INVENTION [Industrial Application Field] This method relates to a method for executing a rule-based program such as an expert system using a computer.

〔従来の技術〕[Conventional technology]

エキスパートシステム等のソフトウェアをルール型形式
で記述し実行するプロダクションシステムにおいて、従
来の実行方式は「プロダクションシステムの高速化技術
2石田・桑原、情報処理。
In production systems that write and execute software such as expert systems in a rule-based format, the conventional execution method is ``Technology for accelerating production systems 2 Ishida and Kuwabara, Information Processing.

第29巻、第5号(1988)、467〜477頁」で
論じられているようにRETE方式等がある。
29, No. 5 (1988), pp. 467-477, there are RETE methods and the like.

プロダクションシステムの発端は、定理の自動証明とい
った時間の流れに関しない静的な世界において情報量を
増やすことであった。プロダクションシステムでのプロ
グラムは条件部と実行部を持つルールの集合で記述され
る。
The origin of production systems was to increase the amount of information in a static world that is not related to the flow of time, such as automatic proofs of theorems. A program in a production system is written as a set of rules that have a conditional part and an execution part.

ある分野の専門家の思考を計算機で行なわせるエキスパ
ートシステムを作るときに、専門家の知識をルールとし
てプログラムを作ることで、従来のようにアルゴリズム
を意識しなくて済むので、プロダクションシステムが利
用されている。
When creating an expert system that uses a computer to carry out the thinking of an expert in a certain field, a production system is used because by creating a program using the expert's knowledge as rules, there is no need to be aware of algorithms as in the past. ing.

ところでルールの実行によって条件の論理値が変化する
ような動的な世界の記述をすると、ある時点で条件部が
成立するルールが複数個ある時にどのルールを実行する
かによって結果は異なる可能性がある。多くのプロダク
ションシステムではこれを競合解消と呼んでルールの選
択順序を規定する戦略として与えらる。
By the way, if we describe a dynamic world in which the logical value of a condition changes as a rule is executed, there is a possibility that the result will differ depending on which rule is executed when there are multiple rules for which the conditional part is true at a certain point in time. be. In many production systems, this is called conflict resolution and is given as a strategy for specifying the order in which rules are selected.

本発明では、成立するルールにどれが実行されても構わ
ず、もしルールの選び方によって不都合が生じるとすれ
ば、これはプログラムが誤っているという立場をとる0
本発明にもルールの選択順序を規定する戦略はあるが、
これはプログラムの不完全さを補なうものではなく、プ
ログラムの実行時間を短縮させる目的に用いる。以上の
ことから本発明に対してはプロダクションシステムとい
う名称を用いずに、ルール型形式記述のプログラムと表
現する。
In the present invention, it does not matter which rule is executed based on the rules that hold true, and if any inconvenience occurs due to the way the rules are selected, we take the position that this is an error in the program.
Although the present invention also has a strategy for specifying the selection order of rules,
This is not used to compensate for program imperfections, but rather to shorten program execution time. For the above reasons, the present invention will not be referred to as a production system, but will be expressed as a rule-based formal description program.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

RETE方式では中間結果を保存して、ルールの実行に
よる変化分だけを再計算することにより、全条件を再計
算する方式より実行性能を向上させることを目的として
いる。しかし、ルールの実行による変化分が大きい時に
は、保存した中間結果が無効になり、さらに中間結果の
更新のため余分な処理が必要になるという問題があった
The RETE method saves intermediate results and recalculates only the changes caused by rule execution, with the aim of improving execution performance compared to a method that recalculates all conditions. However, when the amount of change caused by the execution of a rule is large, the saved intermediate results become invalid, and additional processing is required to update the intermediate results.

このため、TREATRETE式間結果の一部について
は保存しないことで、変化分が大きい時に中間結果の更
新にかかる負担を減らしている。
Therefore, by not saving some of the results between TREATRETE expressions, the burden of updating intermediate results when the amount of change is large is reduced.

しかし、ルールの条件部を満たすデータの組を全て求め
るために、あるルールの実行により実行前に成立してい
、た他のあるいは同一のルールの条件部が成立しなくな
った時にはそれらのルールについて求められていたデー
タ組がすべて削除されることになる。このため、事前に
それらのデータ組を求めるために要した処理と、それら
のデータ組を削除する処理が必要なので依然として中間
結果の保存が実行性能の向上に逆効果になるという問題
があった。
However, in order to find all sets of data that satisfy the conditional part of a rule, if the conditional part of another or the same rule is no longer satisfied when a certain rule is executed, it is necessary to search for those rules. All data sets that were previously saved will be deleted. For this reason, since the processing required to obtain these data sets in advance and the processing to delete those data sets are required, there is still a problem that storing intermediate results has a negative effect on improving execution performance.

本発明の方式の目的は、ルールの条件部の計算方法と保
存情報の形式と管理方法を工夫することにより、保存情
報が無効になる割合を減らし、ルール型形式記述のプロ
グラムの実行性能を向上させることにより、エキスパー
トシステム等の応答速度を速くするルール型プログラム
の実行方法を提供することにある。
The purpose of the method of the present invention is to reduce the rate at which stored information becomes invalid and improve the execution performance of programs written in rule-type formal descriptions by devising the calculation method for the condition part of rules and the format and management method of stored information. An object of the present invention is to provide a method for executing a rule-based program that increases the response speed of an expert system or the like.

〔課題を解決するための手段〕[Means to solve the problem]

上記目的を達成するために、本発明ではルールの条件部
をデータ集合の要素の検索を必要とする限定条件と、そ
の他の基本条件に分けて、限定条件については1組のデ
ータを保存して、ルール実行後に毎回再計算するのを避
けている。
In order to achieve the above object, the present invention divides the condition part of a rule into a limiting condition that requires a search for an element of a data set and other basic conditions, and saves one set of data for the limiting condition. , avoiding recalculation every time after rule execution.

また、本発明ではルールの条件部の論理値に「真」 r
偽」の他に「不明」を加えて、必要となるまで条件判定
処理を遅らせている。
In addition, in the present invention, the logical value of the condition part of the rule is "true" r
In addition to ``false,''``unknown'' is added to delay the condition determination process until it is necessary.

〔作用〕[Effect]

限定条件については条件を満たすデータの組を高々1つ
しか求めないことにより、データ集合の検索を減らすこ
とにより実行性能が向上する。
By finding at most one set of data that satisfies the limiting conditions, execution performance is improved by reducing the number of searches for data sets.

また、条件判定処理を必要とするまで遅らせることによ
り、条件判定処理の総数を減らして実行性能を向上させ
ている。
Furthermore, by delaying the condition determination process until it is necessary, the total number of condition determination processes is reduced and execution performance is improved.

ルールの実行による限定条件への影響は、ルールの実行
によって1単位増加する内部時計によりあるいはデータ
集合への追加、削除により1単位増加するデータ集合付
属の時計データ集合への追加、削除の最終時刻と限定条
件をチエツクした最終時刻を記憶して、前者の値の方が
大きい時だけ調べればよいので実行性能を向上させてい
る。
The impact of rule execution on the limiting conditions is due to the internal clock which increases by one unit due to the execution of the rule, or the clock attached to the data set which increases by one unit due to addition to or deletion from the data set.The final time of addition to or deletion from the data set. The last time when the former value was checked is stored, and the execution performance is improved because it is only necessary to check when the former value is larger.

またルールの実行による限定条件への影響があらかじめ
解析可能な場合には、この情報を用いて実行時の条件判
定を高速にすることができる。
Furthermore, if the effect of rule execution on limiting conditions can be analyzed in advance, this information can be used to speed up condition determination during execution.

〔実施例〕〔Example〕

以下1本発明の一実施例を第1図により説明する。第1
図はルール集合の実行手順を示すフローチャートである
An embodiment of the present invention will be described below with reference to FIG. 1st
The figure is a flowchart showing the procedure for executing a rule set.

ルール集合とは、条件部と実行部を持つルールの集まり
である。ルール集合の実行とは、ルール集合中のルール
のうち条件部が成立するルールを選び、その実行部を実
行するという処理を条件部が成立するルールがなくなる
まで繰り返すことである0条件部が成立するルールが複
数の場合には、そのうちのどのルールが実行されてもよ
く、ルールの選択は処理系に任される。ルールの実行に
より、それまで条件部が成立していたルールが成立しな
くなったり、不成立のものが成立するようになる。
A rule set is a collection of rules having a condition part and an execution part. Executing a rule set means selecting a rule whose conditional part is true among the rules in the rule set, and repeating the process of executing that execution part until there are no more rules whose conditional part is true. If there are multiple rules, any of them may be executed, and the selection of the rule is left to the processing system. When a rule is executed, a rule whose conditional part was previously satisfied no longer holds true, or a rule whose conditional part was previously held becomes true.

ルールの条件には変数値の比較等の論理式の他に、デー
タ集合中にある条件を満たすデータが存在するというよ
うなデータ集合の検索を必要とする論理式がある。ここ
では前者を基本条件、後者を限定条件と呼ぶ。
In addition to logical expressions such as comparing variable values, rule conditions include logical expressions that require a search of a data set, such as the presence of data that satisfies a certain condition in a data set. Here, the former is called the basic condition, and the latter is called the limiting condition.

本実施例においては、基本条件はルールの実行後に毎回
計算を行なうが、限定条件については、その限定条件の
例あるいは例外といった特別なデータを1組保存する。
In this embodiment, basic conditions are calculated every time a rule is executed, but for limiting conditions, one set of special data such as examples or exceptions of the limiting conditions is saved.

さらに限定条件の論理値に「不明」という値を許して必
要となるまでデータ集合の検索を行なわない。限定条件
の論理値に、「真」 「偽」に[不明」を加えて3値論
理とするので、ルールの条件部も同じく3値論理となる
6上述の3値論理はファジィ論理とは根本的に異なる。
Furthermore, by allowing the logical value of the limiting condition to be "unknown", the data set is not searched until it is needed. Since "true", "false", and "unknown" are added to the logical values of the limiting conditions to create three-valued logic, the condition part of the rule also becomes three-valued logic.6 The three-valued logic described above is fundamentally different from fuzzy logic. different.

ファジィでは成立、不成立のどちらかであるという1,
0の2値論理に対し、成立する確率としてOと1の間の
値を許したものであるのに対して、本方式で用いる3値
論理を、計算がまだ完了していないため0か1かがわか
らないという、不明の状態を許したものである。
1, which is either true or false in fuzzy.
In contrast to the binary logic of 0, which allows a value between O and 1 as the probability of being satisfied, the 3-value logic used in this method has a probability of 0 or 1 because the calculation has not yet been completed. This allows for an unknown state of not knowing what is going on.

第3図は本発明の一実施例で用いる3値論理の演算表で
ある。これは第1図のステップ3でルール条件部の論理
値を3値評価するときに用いる。
FIG. 3 is a three-value logic calculation table used in one embodiment of the present invention. This is used when performing the three-value evaluation of the logical value of the rule condition part in step 3 of FIG.

(、a)は論理積“and″″の演算表であり、A a
ndBという論理式においてA、Bのうちどちらか−方
が偽であれば偽、両方とも真であれば真、その他は不明
となることを示している。(b)は論理和“or#(o
)は否定# n0tII、(d)は同値a=”  (6
)は、(d)の否定、(g)のA≦Bは[AならばBJ
を意味する含意、(f)のAくBはA2Bの否定につい
ての演算衣である。
(, a) is an operation table of logical product "and"", and A a
In the logical expression ndB, if either A or B is false, it is false; if both are true, it is true, and the others are unknown. (b) is the logical sum “or#(o
) is negated #n0tII, (d) is equivalent a=” (6
) is the negation of (d), and A≦B in (g) is [If A then BJ
The implication of (f) is that A + B is an operator for the negation of A2B.

その他、論理値を引数とする関数や論理値を添字とする
配列で引数、添字の値が不明のときは、その関数、配列
の値は不明とする。
In addition, if the value of the argument or subscript is unknown for a function that takes a logical value as an argument or for an array that uses a logical value as a subscript, the value of that function or array is assumed to be unknown.

第1図のステップ1では限定条件テーブルを初期化する
In step 1 of FIG. 1, a limiting condition table is initialized.

限定条件テーブルは、限定条件番号を添字とする配列で
その要素は限定条件の3値論理値、限定条件の例あるい
は例外となる特別なデータ、限定条件をチエツク済みで
ある部分データ集合、限定条件をチエツクした最終時刻
である。
The limiting condition table is an array with the limiting condition number as an index, and its elements are the three-value logical value of the limiting condition, examples of the limiting condition or special data that are exceptions, partial data sets for which the limiting condition has been checked, and the limiting condition. This is the last time you checked.

各データ集合ごとに、それが含むデータにフレーム番号
と呼ぶ自然数を与えて、フレーム番号を添字とする配列
でデータを管理する。上述の限定条件の特別なデータと
チエツク済みの部分データ集合はこのフレーム番号で示
される。
For each data set, a natural number called a frame number is given to the data it contains, and the data is managed in an array with the frame number as a subscript. The special data under the above-mentioned limiting conditions and the checked partial data set are indicated by this frame number.

上述の限定条件チエツクの最終時刻とは、ルールの実行
により1単位増加する内部時計あるいはデータ集合への
追加、削除により、1単位増加するデータ集合付属の時
計を用いて設定される。さらに各データ集合には、デー
タ追加最終時刻、データ削除最終時刻を記録する。
The final time of the above-mentioned limiting condition check is set using an internal clock that increases by one unit when a rule is executed, or a clock attached to a data set that increases by one unit when additions to or deletions from the data set occur. Furthermore, the final time of data addition and the final time of data deletion are recorded in each data set.

ステップ2では全ルールについて選択優先度の初期化を
行なう。
In step 2, selection priorities are initialized for all rules.

ステップ3では全ルールについて条件部の論理値を3値
で評価する。
In step 3, the logical values of the condition parts for all rules are evaluated using three values.

すなわち限定条件については条件検索を行なわずに限定
条件テーブルの2値論理値を用いる。
That is, for the limiting condition, the binary logical value of the limiting condition table is used without performing a condition search.

ステップ4では条件部が[偽」でないルールが存在する
かを判定し、もし存在しなければルール集合の実行を終
了する。
In step 4, it is determined whether there is a rule whose condition part is not "false", and if there is no rule, the execution of the rule set is terminated.

ステップ5では条件部が「偽」でないルールの中から優
先度最大のルールを選択する。
In step 5, the rule with the highest priority is selected from among the rules whose condition part is not "false".

ステップ6では選択されたルールの条件部の論理値が[
不明」であれば、必要な限定条件を計算して論理値を真
偽の2値で評価する。
In step 6, the logical value of the condition part of the selected rule is set to [
If "unknown," the necessary limiting conditions are calculated and the logical value is evaluated as a binary value of true or false.

ステップ7で選択されたルールの条件部が「真」である
かを判定する0選択時に「不明」であり、前ステップ5
の計算の結果「偽」であった時には、選択したルールを
実行せずにステップ3へ進む。
It is determined whether the condition part of the rule selected in step 7 is "true". When 0 is selected, it is "unknown" and the condition part of the rule selected in step 7 is "true".
If the result of the calculation is "false", the selected rule is not executed and the process proceeds to step 3.

ステップ8では選択したルールの実行部を実行する。In step 8, the execution portion of the selected rule is executed.

ステップ9ではデータ集合へのデータの追加。Step 9 is adding data to the data set.

削除、変更があった時に限定条件に与える影響を調べ、
限定条件テーブルを更新する。つまり限定条件のチエツ
ク済み部分データ集合、限定条件の特別データ、限定条
件の3値論理値を更新する。
Investigate the impact on the limited conditions when deletions or changes are made,
Update the limited condition table. That is, the checked partial data set of the limiting condition, the special data of the limiting condition, and the three-value logical value of the limiting condition are updated.

ただしこの時にデータ検索を行なって限定条件を計算す
ることはしない。
However, at this time, no data search is performed to calculate the limiting conditions.

ルールの実行においてデータの変更はデータの削除、追
加の連続する処理と考える。
In the execution of rules, changing data is considered to be a continuous process of deleting and adding data.

ステップ9で、限定条件の変化を考える時に、データ集
合への追加、削除があったかどうかは、データ集合のデ
ータ追加最終時刻、データ削除最終時刻と、限定条件の
チエツク最終時刻の大小関係の判定による。
In step 9, when considering changes in the limiting condition, whether or not there has been an addition to or deletion from the data set depends on the magnitude relationship between the last data addition time, the last data deletion time, and the last time the limiting condition was checked. .

ステップ10では全ルールについて、ルールの選択優先
度を更新する。
In step 10, the rule selection priority is updated for all rules.

ステップ10の次はステップ3へ進み、以上の処理を繰
り返す。
After step 10, the process advances to step 3, and the above process is repeated.

第2図は、上述した本発明のプログラム実行方法を実現
するためのコンピュータの一般的構成を示すもので、中
央処理装置11.入出力装置12゜記憶袋W113.演
算装置14等を含む。
FIG. 2 shows the general configuration of a computer for realizing the program execution method of the present invention described above, in which the central processing unit 11. Input/output device 12° memory bag W113. It includes an arithmetic unit 14 and the like.

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

本発明は各ルールの条件を満たすデータの組を全部求め
ず、高々1組しか求めない、またルールの条件に3値論
理を求めて必要となるまで条件判皆を遅らせることによ
り、従来方式に比べて実行速度を10倍以上高速化した
The present invention does not require all sets of data that satisfy the conditions of each rule, but only one set at most, and also uses three-valued logic for the rule conditions and delays all condition judgments until they are needed. The execution speed has been increased by more than 10 times.

このため、エキスパートシステム等のプログラムの実行
において1本発明を用いることによりユーザへの応答時
間を短縮することができる。
Therefore, by using the present invention in executing a program such as an expert system, the response time to the user can be shortened.

また1本発明のルール型プログラム実行方式では、ある
時点で条件部に成立するルールが複数あるときには、ど
れを選択しても構わないという立場をとっているため、
特定の競合解決戦略を仮定したプログラミングを許さな
いので、ルール型プログラムの汎用性、保守性が高い。
In addition, the rule-based program execution method of the present invention takes the position that if there are multiple rules that hold true in the condition part at a certain point, it does not matter which one is selected.
Since programming that assumes a specific conflict resolution strategy is not allowed, rule-based programs are highly versatile and maintainable.

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

第1図は本発明の一実施例のルール集合の実行手順を示
すフローチャートである。 第2図は、本発明が実行されるコンピュータを示すブロ
ック図である。
FIG. 1 is a flowchart showing the procedure for executing a rule set according to an embodiment of the present invention. FIG. 2 is a block diagram illustrating a computer on which the present invention is implemented.

Claims (1)

【特許請求の範囲】 1、条件部と実行部を持つルールを記述し、条件部が成
立するルールの実行部を実行することで計算を行なうル
ール型プログラムの実行方法において、上記ルールの条
件部をデータ集合中の要素を検索しなければならない限
定条件と、その他の基本条件とに分けて、限定条件に対
しては条件を満たす1組のデータを保存し、基本条件に
対しては計算結果を保存しないことを特徴とするルール
型プログラム実行方法。 2、条件部と実行部を持つルールを記述し、条件部が成
立するルールの実行部を実行することで計算を行なうル
ール型プログラムの実行方法において、ルールの条件部
の論理値に「真」、「偽」の他に条件未判定による「不
明」という値をいれた3値論理を用いて、選択したルー
ルの論理値が「不明」であれば「真」、「偽」を明らか
にして、「真」のときにそのルールを実行することを特
徴とするルール型プログラム実行方法。 3、条件部と実行部を持つルールを記述し、条件部が成
立するルールの実行部を実行することで計算を行なうル
ール型プログラムの実行方法において、ルールの条件部
のうち条件判定に要する時間が長く、ルールの実行によ
る変化の割合が小さい条件について計算結果を保存する
ことを特徴とするルール型プログラム実行方法。 4、条件部と実行部を持つルールを記述し、条件部が成
立するルールの実行部を実行することで計算を行なうル
ール型プログラムの実行方法において、ルールの条件部
のうち条件判定に要する時間が長い条件について論理値
を「不明」とし、必要となつてから条件を計算して「真
」、「偽」を明らかにすることを特徴とするルール型プ
ログラム実行方法。 5、請求項1記載の限定条件の論理値が「不明」のまま
ルールの条件部に論理値を請求項2記載の3値論理で求
めることを特徴とするルール型プログラム実行方法。 6、ルールの実行により1単位増加する内部時計を有し
、データ集合ごとにデータの追加、削除、変更等の時刻
と、限定条件ごとにその保存する論理値、データの組を
求めた時刻を記憶し、大小関係を調べることで限定条件
の保存情報が有効であるかを判定することを特徴とする
請求項5記載のルール型プログラム実行方法。 7、データ集合ごとにデータの追加、削除、変更により
1単位増加する内部時計を有するとともに最終データ追
加時刻を記録し、限定条件ごとにその保存する論理値、
データの組を求めた時点での対応するデータ集合の時刻
を記憶し、大小関係を調べることで限定条件の保存情報
が有効であるから判定することを特徴とする請求項5記
載のルール型プログラム実行方法。 8、ルールの実行による当該ルール集合中の各ルールの
条件への影響をあらかじめ計算しておき、この情報を実
行時の条件判定を用いることを特徴とする請求項1また
は請求項2記載のルール型プログラム実行方法。 9、知識をルール型形式で記述し、ルールの実行により
制御や知識の獲得を目的とするエキスパートシステムに
おいて、上記各請求項記載のルール型プログラム実行方
式を用いたエキスパートシステム。
[Claims] 1. A method for executing a rule-based program in which a rule having a conditional part and an execution part is written, and calculation is performed by executing the execution part of the rule for which the conditional part is satisfied, wherein the conditional part of the rule is is divided into a limiting condition that requires searching for an element in a data set and other basic conditions, and a set of data that satisfies the condition is saved for the limiting condition, and a calculation result is saved for the basic condition. A rule-based program execution method characterized by not saving. 2. In a rule-based program execution method in which a rule with a conditional part and an execution part is written and calculations are performed by executing the execution part of the rule where the conditional part is satisfied, the logical value of the conditional part of the rule is set to "true". , using three-valued logic that includes the value "unknown" due to the condition not being determined in addition to "false", and if the logical value of the selected rule is "unknown", it is clarified as "true" or "false". , a rule-based program execution method characterized in that the rule is executed when the rule is "true". 3. In a rule-based program execution method in which a rule with a conditional part and an execution part is written and calculations are performed by executing the execution part of the rule where the conditional part is satisfied, the time required to judge the condition in the conditional part of the rule. A method for executing a rule-based program, characterized in that calculation results are saved for conditions for which the period is long and the rate of change due to rule execution is small. 4. In a rule-based program execution method in which a rule with a conditional part and an execution part is written and calculations are performed by executing the execution part of the rule where the conditional part is satisfied, the time required to judge the condition in the conditional part of the rule. A rule-based program execution method characterized by setting the logical value of a long condition to "unknown" and calculating the condition to clarify whether it is "true" or "false" after the condition is needed. 5. A rule-based program execution method, characterized in that the logical value of the limiting condition as defined in claim 1 is "unknown" and a logical value is determined in the condition part of the rule using the three-value logic as defined in claim 2. 6. It has an internal clock that increases by one unit when a rule is executed, and it records the time when data is added, deleted, changed, etc. for each data set, the logical value to be saved for each limiting condition, and the time when a set of data is obtained. 6. The rule-based program execution method according to claim 5, wherein it is determined whether the saved information of the limiting condition is valid by storing the limiting condition and checking the magnitude relationship. 7. Has an internal clock that increases by one unit when data is added, deleted, or changed for each data set, records the last data addition time, and stores a logical value for each limiting condition;
6. The rule-based program according to claim 5, wherein the rule-based program stores the time of the corresponding data set at the time when the data set is obtained, and determines whether the storage information of the limiting condition is valid by checking the size relationship. Execution method. 8. The rule according to claim 1 or claim 2, characterized in that the influence of execution of the rule on the conditions of each rule in the rule set is calculated in advance, and this information is used to determine conditions at the time of execution. How to run a type program. 9. An expert system in which knowledge is described in a rule-based format and whose purpose is control and acquisition of knowledge by executing rules, using the rule-based program execution method described in each claim above.
JP1023840A 1989-02-03 1989-02-03 Rule type program executing method Pending JPH02204835A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1023840A JPH02204835A (en) 1989-02-03 1989-02-03 Rule type program executing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1023840A JPH02204835A (en) 1989-02-03 1989-02-03 Rule type program executing method

Publications (1)

Publication Number Publication Date
JPH02204835A true JPH02204835A (en) 1990-08-14

Family

ID=12121596

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1023840A Pending JPH02204835A (en) 1989-02-03 1989-02-03 Rule type program executing method

Country Status (1)

Country Link
JP (1) JPH02204835A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10885037B2 (en) 2017-08-02 2021-01-05 Fujitsu Limited Detection method, detection apparatus, and non-transitory computer-readable storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10885037B2 (en) 2017-08-02 2021-01-05 Fujitsu Limited Detection method, detection apparatus, and non-transitory computer-readable storage medium

Similar Documents

Publication Publication Date Title
US9063982B2 (en) Dynamically associating different query execution strategies with selective portions of a database table
US20030061244A1 (en) System and method for database query optimization
Li et al. ASLM: Adaptive single layer model for learned index
US5721924A (en) Method and device for obtaining a value of a referred to variable defined in a source program having a specific variable name
CN108710640B (en) Method for improving search efficiency of Spark SQL
JPH02204835A (en) Rule type program executing method
JPH07319742A (en) Physical deleting system for logically deleted data
JPH0456344B2 (en)
JP3073889B2 (en) Data transfer method
JP2843748B2 (en) Exclusive control method
JP2001155028A (en) Aggregate calculation processing method and device for relational database, and computer readable recording medium recorded with aggregate arithmetic processing program
JPH09231115A (en) Data base processing method
JP5060350B2 (en) Relational database record addition system
JPS63271525A (en) Data processor
JPH04102172A (en) Information retrieving system
JPH04276828A (en) Hypothesis management method for knowledge processing system
JPS63285631A (en) Updating and processing system for index file
JPH0243677A (en) Index control system
JPH04241624A (en) Design information managing system
JPH04199338A (en) Data base management system
JPS63285629A (en) Processing method for index constitution
JPH05120348A (en) Control system for buffer memory
JPH07210563A (en) Index processing method
JPH033045A (en) Rapid file processing system
JPS5846439A (en) Program editing method of computer