JPH01154231A - Optimization system for production system - Google Patents

Optimization system for production system

Info

Publication number
JPH01154231A
JPH01154231A JP62312965A JP31296587A JPH01154231A JP H01154231 A JPH01154231 A JP H01154231A JP 62312965 A JP62312965 A JP 62312965A JP 31296587 A JP31296587 A JP 31296587A JP H01154231 A JPH01154231 A JP H01154231A
Authority
JP
Japan
Prior art keywords
nodes
production
join
node
cost
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
JP62312965A
Other languages
Japanese (ja)
Inventor
Toru Ishida
亨 石田
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP62312965A priority Critical patent/JPH01154231A/en
Publication of JPH01154231A publication Critical patent/JPH01154231A/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 minimize the join arithmetic value by optimizing the method (join topology) for sequence and combination of the join arithmetic operations at the condition part of each rule of a production system based on the dynamic characteristics of a program. CONSTITUTION:An initial topology is produced with input of an unoptimized production rule and a set of nodes is obtained. Then two nodes are selected out of said set of nodes for production of a test node which performs the joint arithmetic operation. The cost of the test node is evaluated. Then the test node is eliminated if it is not necessary and then added to the set of nodes if necessary. Then the termination node having the lowest cost is selected out of the set of nodes and an optimized production rule is produced based on the selected node. The cost of the test node is evaluated by applying the equivalent conversion to the sequence and combination of the join arithmetic operations for decision of conditions based on the measurement data on the dynamic characteristics of a production.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、プロダクション・システムの最適化方式に関
し、特にジョイン演算量を最小にして、プロダクション
・システムの処理の高速化を計るための方式に関するも
のである。
[Detailed Description of the Invention] [Field of Industrial Application] The present invention relates to an optimization method for a production system, and particularly to a method for minimizing the amount of join operations and speeding up the processing of a production system. It is something.

〔従来の技術〕[Conventional technology]

プロダクション・システムは、独立性の高いルールの°
集合で知識を表現するシステムである。プロダクション
・システムは、ルールを格納するプロダクションメモリ
(以下、PMと略記する)と、ルールの実行に必要なデ
ータを格納するワーキングメモリ(以下、WMと略記す
る)から構成される。
The production system is a highly independent set of rules.
It is a system that expresses knowledge through a collection. The production system is composed of a production memory (hereinafter abbreviated as PM) that stores rules and a working memory (hereinafter abbreviated as WM) that stores data necessary for executing the rules.

なお、WM中のデータは、ワーキングメモリエレメント
(以下、WMEと略記する)と呼ばれる。各々のルール
は、左側部(L eft−hand−side)と呼ば
れる条件要素の連接と、右側部(Right−hand
−side)と呼ばれる動作の集合から構成される装と
ころで、プロダクション・システムの実行は、次の3つ
のフェーズからなるサイクルの繰り返しで実現される。
Note that the data in the WM is called a working memory element (hereinafter abbreviated as WME). Each rule consists of a concatenation of conditional elements called a left-hand side and a right-hand side.
The execution of the production system is realized by repeating a cycle consisting of the following three phases.

(イ) Match→全でのルールについて、左側部と
その時点のWMとの照合を行う。
(b) For the Match→All rule, compare the left side with the WM at that point.

(ロ) Conflict  Re5olution→
照合が成功したルールの中から、1つを定められた戦略
に従って選択する。
(b) Conflict Re5solution→
One of the successfully matched rules is selected according to a predetermined strategy.

(ハ)Act→選択されたルールを実行し、データの追
加除去を行う。
(c) Act→Execute the selected rule to add and remove data.

従来より、ルールの条件部は、Reteネットワークと
呼ばれるデータフローグラフに変換される(Reteネ
ットワークについては、例えば、[rRete:多数パ
ターン中から目的のパターンの一致を求めるための高速
アルゴリズムJl (F Orgyt C−L v’A
   Fast  Algorithm  for  
the  ManyPattern/Many  0b
ject  Pattern  MatchProbl
em’、Artificial  Intellige
nce、Vol、19゜pp、17〜37(1982)
参照)。
Conventionally, the condition part of a rule is converted into a data flow graph called a Rete network (for a Rete network, for example, [rRete: A high-speed algorithm Jl (F Orgyt C-L v'A
Fast Algorithm for
the ManyPattern/Many 0b
eject Pattern Match Probl
em', Artificial Intelligence
nce, Vol, 19°pp, 17-37 (1982)
reference).

ActフェーズでデータがWMに追加されると、そのデ
ータがReteネットワーク中に流し込まれ、変化に伴
うネットワークの更新が行われる。この更新(Matc
hフェーズに相当する)は、次の手順で進められる。先
ず、左側部の各条件に対して1つの条件内で完了するテ
スト(1−1nput −test)が行われ、テスト
を通過したデータがネットワーク内に蓄えられる。その
後1条件間でパターン変数の値が矛盾しないか否かを調
べるテスh (2−1nput−test)が順に行わ
れ、テストを通過したデータがネットワーク内に蓄えら
れていく。左側部の全ての条件を満たしたデータの、t
fl(インスタンシエーシミン)は、Reteネットワ
ークの終端(terminal)に到達し、対応するル
ールを発火可能状態にする。Reteネットワークの更
新が完了すると、処理はConflict  Reso
lutionフェーズに移行する。
When data is added to the WM in the Act phase, the data is poured into the Rete network, and the network is updated in accordance with the change. This update (Matc
(corresponding to the h phase) is proceeded in the following steps. First, a test (1-1nput-test) that is completed within one condition is performed for each condition on the left side, and data that passes the test is stored in the network. Thereafter, a test h (2-1nput-test) is performed to check whether the values of pattern variables are consistent between one condition or not, and data that passes the test is stored in the network. t of the data that satisfies all the conditions on the left side
fl (instantiation) reaches the terminal of the Rete network and makes the corresponding rule fireable. Once the Rete network update is complete, processing will proceed to Conflict Reso
Move to the solution phase.

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

従来のプロダクション・システムでは、利用者が左側部
で指定した通りの順序や組合せ方法(j。
In conventional production systems, the order and combination method (j.

inトポロジー)でjoin演算を実行していた。in topology).

しかし、プロダクション・システムでは、ワーキングメ
モリ中のデータ量が増大すると、急激に性能が劣化する
。これは、■ルールの条件判定に含まれる一連のjoi
n演算に要する時間が、通常の処理系ではデータ量の2
乗に比例すること、■不適切な条件の記述により、多量
の中間的な演算結果が生成され、join演算の処理量
をさらに増大させること、が原因と考えられる。この問
題を解決するために、例えば、rアート・プログラミン
グ・トウトリアルJl  (C1ayton、B、 D
、 、 ”ARTP rogramming  T u
torial”I nference  Corp。
However, in production systems, performance deteriorates rapidly as the amount of data in working memory increases. This is a series of JOIs included in the condition determination of the rule.
In a normal processing system, the time required for n operations is 2 times the amount of data.
This is thought to be due to the following: (1) Inappropriate description of conditions generates a large number of intermediate calculation results, further increasing the amount of processing for join calculations. To solve this problem, for example, r Art Programming Tutorial Jl (Clayton, B, D
, , ”ARTP programming
trial”I nference Corp.

(1987)等に記載されている方法では、利用者がル
ールの条件部でjoin演算の順序や組合せ方法(j。
(1987), etc., the user can specify the order of join operations and the combination method (j) in the condition part of the rule.

inトポロジー)を自由に指定できるようにしている。in topology) can be specified freely.

しかし、結局、プロダクション・システムでは、下記の
理由により自動的な最適化機能が必要となる。
However, in the end, production systems require automatic optimization functions for the following reasons.

(a)効率のよいjoin トポロジーをプログラムす
ることは容易ではなく、利用者による最適化を行うのは
負担が大きすぎること。
(a) It is not easy to program an efficient join topology, and it is too burdensome for users to perform optimization.

(b)最適なjoin トポロジーは、プロダクション
・システム・プログラムの動作特性に依存するため、実
行中に統計データを測定し、それを基に選択を行う必要
がある。このことは、たとえルールが同一でも、対象と
なるデータが異なれば(例えば。
(b) Since the optimal join topology depends on the operating characteristics of the production system program, it is necessary to measure statistical data during execution and make a selection based on it. This is true even if the rules are the same, but the target data is different (for example.

交換機の故障診断システムでは対象となる機種が異なれ
ば)、最適なjoin トポロジーも異なることを意味
している。つまり、最適化はルール開発側だけの問題で
はなく、エキスパートシステムの運用側で゛も行う必要
がある。
In the fault diagnosis system for switching equipment, if the target model is different, the optimal join topology will also be different. In other words, optimization is not only a problem on the rule development side, but also needs to be performed on the expert system operation side.

(c)最適化されたプログラムは、リーダビリティが悪
い。すなわち、短期的な性能向上を得るために、ソース
プログラムを変更して、長期的なメンテナビリティを犠
牲にしているが、これには問題が多い。
(c) Optimized programs have poor readability. In other words, in order to obtain short-term performance improvements, source programs are changed at the expense of long-term maintainability, but this has many problems.

このように、従来の方式では、人手によりjoinトポ
ロジーを指定していたため、問題点が多かった。
As described above, in the conventional method, the join topology was specified manually, which caused many problems.

本発明の目的は、これらの従来の問題点を解決し、jo
in トポロジーを自動的に最適化することにより、プ
ロダクション・システム・プログラムを高速に実行でき
るプロダクション・システム最適化方式を提供すること
にある。
The purpose of the present invention is to solve these conventional problems and to
An object of the present invention is to provide a production system optimization method that can execute a production system program at high speed by automatically optimizing the in topology.

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

上記目的を達成するため、本発明によるプロダクション
・システム最適化方式は1条件要素の連接と動作の集合
からなるルールの集合により、知識を表現するプロダク
ション・システムにおいて、最適化前プロダクションル
ールを入力して初期トポロジーを作成し、ノードの集合
を生成する第1の処理と、該ノードの集合から2個のノ
ードを選択し、join演算を行うテストノードを生成
する第2の処理と、生成されたテストノードのコス1−
を評価して、不要であれば捨て去り、必要であれば上記
ノードの集合に追加する第3の処理と、該ノードの集合
から最もコストの低い終端ノードを選択して−、それを
基に最適化後プロダクションルールを生成する第4の処
理とを有し、上記第3の処理では、プロダクション・シ
ステムの動作特性の測定データを基に、条件判定におけ
るjoin演算の順序や組合せ方法を等価変換して、デ
ス1−ノードのコストを評価することに特徴がある。
In order to achieve the above object, the production system optimization method according to the present invention inputs pre-optimization production rules in a production system that expresses knowledge by a set of rules consisting of a concatenation of one conditional element and a set of actions. a first process of creating an initial topology and generating a set of nodes; a second process of selecting two nodes from the set of nodes and generating a test node to perform a join operation; Test node cost 1-
A third process is to evaluate the node, discard it if unnecessary, and add it to the set of nodes if necessary, and select the terminal node with the lowest cost from the set of nodes. and a fourth process of generating post-processing production rules, and in the third process, the order and combination method of join operations in condition determination are equivalently converted based on the measured data of the operational characteristics of the production system. The feature is that the cost of the death 1-node is evaluated.

〔作  用〕[For production]

本発明においては、プロダクション・システムの各ルー
ルの条件部におけるjoin演算の順序や組合せの方法
(これらを、joinhポロジーと呼ぶ)を、プロダク
ション・システムの動作特性の測定データを基に、等価
変換することにより、join演算量を最小にする。ま
た、複数のルールを一括して最適化し°、join演算
をルール間にまたがり可能な限り共通化する。そのため
に、推論エンジン、プロダクション・システムの動作特
性を測定する処理。
In the present invention, the order and combination method of join operations in the condition part of each rule of the production system (these are referred to as joinh topology) is equivalently converted based on measurement data of the operational characteristics of the production system. By doing so, the amount of join calculations is minimized. Also, multiple rules are optimized at once, and join operations are shared as much as possible across the rules. To this end, we use an inference engine, a process that measures the operating characteristics of the production system.

初期トポロジー作成処理、 2−1nput −tes
tノード生成処理、コスト評価処理、および最適プロダ
クション・ルール生成処理を設ける。これによって、既
に生成されているjoin トポロジーよりコストの高
いトポロジーを生成しないようにし、既に存在する高価
なトポロジーを除去する。そして、共通のjoin変数
を持つノードから優先的に組合せるとともに、1−1n
put−testの中のtokenやll1eIo。
Initial topology creation process, 2-1nput-tes
A t-node generation process, a cost evaluation process, and an optimal production rule generation process are provided. This avoids creating topologies that are more costly than join topologies that have already been created, and eliminates expensive topologies that already exist. Then, nodes with common join variables are preferentially combined, and 1-1n
token and ll1eIo in put-test.

ryが小さなものから順にjoin演算を実行する。こ
の結果、最適化後プロダクションルールが生成されるこ
とにより、join演算量を最小化することができる。
Join operations are executed in order from the smallest ry. As a result, a post-optimization production rule is generated, thereby making it possible to minimize the amount of join calculations.

〔実施例〕〔Example〕

以下、本発明の実施例を、図面により詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

第2図(1)〜(4)は、本発明において利用されるj
oin トポロジーの例を示す説明図である。
Figures 2 (1) to (4) show the j used in the present invention.
It is an explanatory diagram showing an example of oin topology.

プロダクション・システムでは、ConflictRe
solutionの関係で、図(1)〜図(4)に示す
条件要素(a)の位置は変えることができない6その他
の条件要素(b)(c)(d)については、どのような
順序になってもよいので、例えば、図(1)〜図(4)
のような組合せが考えられる。図(1)では、条件要素
(a)と(b)を満足させ、その結果と(c)の両方を
満足させ、その結果と(d)の両方を満足させることに
より、全体を満足させる。また、図(2)では、条件要
素(a)と(b)を満足させた結果と1条件要素(C)
と(d)を満足させた結果の両方を満足させる。また、
図(3)では、条件要素(b)と(c)を満足させた結
果と、(a)の両方を満足させ、その結果と(d)の両
方を満足させる。さらに、図(4)では、条件要素(b
)と(C)を満足させた結果と、(d)の両方を満足さ
せ、その結果と(a)の両方を満足させる。なお、(a
)〜(d)が1−1nput −testノードであり
、それらのjoin演算を行うノードが2−1nput
 −testノードである。
In production systems, ConflictRe
Due to solution issues, the position of conditional element (a) shown in Figures (1) to (4) cannot be changed.6 In what order should the other conditional elements (b), (c), and (d) be placed? For example, Figures (1) to (4)
The following combinations are possible. In Figure (1), the whole is satisfied by satisfying conditional elements (a) and (b), satisfying both the result and (c), and satisfying both the result and (d). In addition, in Figure (2), the result of satisfying conditional elements (a) and (b) and one conditional element (C)
and (d) are satisfied. Also,
In Figure (3), the result of satisfying conditional elements (b) and (c), the satisfaction of both (a), and the result of satisfying both (d). Furthermore, in Figure (4), the conditional element (b
) and (C), satisfy both (d), and satisfy both that result and (a). In addition, (a
) to (d) are 1-1nput -test nodes, and the node that performs their join operation is 2-1nput
- test node.

このようにして組合せを考えると、(1)〜(4)でそ
れぞれ6通りずつあるので、結局24通りの(一般には
、指数オーダの組合せ数)join トポロジーが存在
することになる。
Considering the combinations in this way, since there are six combinations for each of (1) to (4), there are 24 join topologies (generally, the number of combinations is on an exponential order).

本発明においては、これらのjoin l−ポロジーか
らコストが最小になるものを選択するのである。
In the present invention, the one with the minimum cost is selected from these join l-topologies.

第3図は、本発明において使用されるコストの計算方法
の説明図である。
FIG. 3 is an explanatory diagram of the cost calculation method used in the present invention.

第3図では、join演算のコストモデルを示している
。コストモデルは、次に示す■〜■のパラメータからな
る。
FIG. 3 shows a cost model for join operations. The cost model consists of the following parameters.

■ token→各ノードに到達したデータの総数であ
る。
■ token→Total number of data that has reached each node.

■ memory→各ノードに保持されたデータの平均
値である。
∎memory→This is the average value of data held in each node.

にJ)  j o i n→各ノードで実行された2 
−1nput −test回数である。
J) j o i n → 2 executed on each node
-1nput is the number of tests.

(f  C09j→各ノードに至るまでに実行された2
−input −test回数の総和である。
(f C09j→2 executed up to each node
-input - This is the total number of times of testing.

■ ratio→各ノードでの2−1nput −te
stが成功する割合である。
■ ratio → 2-1nput -te at each node
st is the success rate.

第3図には、それぞれの場合の計算モデルが示されてい
る。
FIG. 3 shows calculation models for each case.

(i )  2−1nput−testノードでのto
ken、 join→toker1が左方向から入力さ
れる場合には、 token数(Ta)と右メモリ内の
データ数(Mb)を掛は合わせた数(TaMb)の2−
1nput −testが行われる。また、token
が右入力の場合には、その反対(T b M a )で
ある。両者を加えたもの(T a M b + T b
 M a )が、このノードで実行される2 −1np
ut −testの回数(Jc)である。テストの結果
生成されるtoken数(Tc)は、右入力の正の条件
要素の場合には、2−1nput −testM数にテ
ストの成功確率(Rc)を掛けた値(JcRc)となる
。一方、負の条件要素の唱合には、左入力のtoken
(T a )がフィルタされた値(TaRc)となる。
(i) 2-1 to at nput-test node
When ken, join→toker1 is input from the left, the number of tokens (Ta) multiplied by the number of data in the right memory (Mb) is 2-2 of the total number (TaMb).
1nput-test is performed. Also, token
When is the right input, the opposite is true (T b M a ). The sum of both (T a M b + T b
M a ) is executed on this node 2 −1np
It is the number of times (Jc) of ut-test. In the case of a positive condition element of the right input, the number of tokens (Tc) generated as a result of the test is a value (JcRc) obtained by multiplying the number of 2-1nput-testM by the test success probability (Rc). On the other hand, to sing a negative conditional element, the left input token
(T a ) becomes the filtered value (TaRc).

(ji ) 2−1nput −testノードでのM
emory→平均的なデータ数(Me)は、右入力が正
の条件要素の場合には、左右のノードのメモリ内の平均
データ数を掛は合わせた値(MaMb)に2−1npu
t −testの成功確率(Rc)を掛けたもの(Ma
MbRc)と考える。。一方、負の条件要素を右入力と
する場合には、左入力のメモリ(M a )をフィルタ
した結果の値(MaRc)とする。
(ji) 2-1 M at nput-test node
memory→The average number of data (Me) is 2-1npu when the right input is a positive conditional element, the average number of data in the memory of the left and right nodes is multiplied by the combined value (MaMb).
t-test success probability (Rc) multiplied by (Ma
MbRc). . On the other hand, when the negative conditional element is the right input, the value (MaRc) is the result of filtering the left input memory (M a ).

(iii )  2−1nput −testノードで
のCost→左右のノードのコスト(Ca、Cb)に自
ノートの計算コス1−を加えたものである。2−1np
ut −testの計算コストは一般にA ’s J 
c + B * T cで表わすことができる。ここで
、A、Bは適当な定数である。本実施例では、とりあえ
ず2−1nput−test回数の総和を最小化するこ
とに目標を置き、Cc=Ca+Cb+J c (すなわ
ち、A=1.B=0)としている。しかし、データがハ
ツシュされていれば、むしろ 2−1nput −te
stにより生成されるトークン数が問題となる。このよ
うな場合には、例えばCc =Ca +Cb +T c
とする等、処理系に合わせてコストの計算式を適切に設
定することが必要である。
(iii) 2-1nput -Cost at the test node -> The cost (Ca, Cb) of the left and right nodes plus the calculated cost 1- of the own node. 2-1np
The computational cost of ut -test is generally A's J
It can be expressed as c + B * T c. Here, A and B are appropriate constants. In this embodiment, the goal is to minimize the total number of 2-1 nput-tests, and Cc=Ca+Cb+Jc (ie, A=1.B=0). However, if the data is hashed, then 2-1nput -te
The problem is the number of tokens generated by st. In such a case, for example, Cc = Ca + Cb + T c
It is necessary to appropriately set the cost calculation formula according to the processing system.

(iv )  2−1nput −testノードでの
Ratio→2−1nput −testの成功確率(
Re)には、近似値として、右入力の1−1nput 
−testノードのRati。
(iv) Ratio at 2-1nput-test node→2-1nput-test success probability (
Re) has an approximate value of 1-1nput of the right input.
- Rati of the test node.

(Rb)を用いる。(Rb) is used.

第3図の例では、 2−1nput −test回数を
削減することを目標にしているため、costには単に
その回数の総和を設定している。すなわち、条件要素(
a)と(b)を満足させるとき、その結果(c)の各パ
ラメータは、tokenTc= (TaMb+TbMa
)Re、つまり各々のtokenに相手のMemory
を乗じたものの和に、(c)のRatioを乗じている
。また、Memoryは、M c = M a M b
 Rc、つまり各々のmemoryと(c)のRati
oを乗じた値となる。また、joinは、Jc=TaM
b+TbMa、つまり各々のtokenに相手のMem
oryを乗じたものである。また、Costは、Cc=
Ca+Cb+Jc、つまり各々のCostを加えたもの
に、(C)のjoinを加えたものである。また、Ra
tioは、Rc=Rb、つまり(b)のRatioと等
しい。
In the example shown in FIG. 3, the goal is to reduce the number of times 2-1 nput-test is performed, so cost is simply set to the sum of the times. That is, the conditional element (
When satisfying a) and (b), each parameter of result (c) is tokenTc= (TaMb+TbMa
)Re, that is, each token has the other party's Memory
The sum of the products multiplied by (c) is multiplied by Ratio. Also, Memory is M c = M a M b
Rc, that is, each memory and Rati of (c)
The value is multiplied by o. Also, join is Jc=TaM
b + TbMa, that is, each token has the other party's Mem
It is multiplied by ory. Also, Cost is Cc=
Ca+Cb+Jc, that is, the sum of each cost plus the join of (C). Also, Ra
tio is equal to Rc=Rb, that is, Ratio in (b).

性能を表わす指標は必ずしも2−1nput −tes
t回数の総和がよいとは限らない。例えば、成功する2
 −1nput −testだけが性能を決定するので
あれば、前述のように、Cc=Ca+Cb+Tcとする
等、処理系に合わせて適切に設定することが必要である
。また、コストモデル中のTa、Tb等に初期値を設定
するために、利用者が作成したルールを一度実行させて
、統計データを収集する。
The index expressing performance is not necessarily 2-1nput -tes
The sum of t times is not necessarily good. For example, successful 2
If only -1nput -test determines the performance, it is necessary to set it appropriately according to the processing system, such as setting Cc=Ca+Cb+Tc as described above. Furthermore, in order to set initial values for Ta, Tb, etc. in the cost model, the rules created by the user are executed once to collect statistical data.

このように、本実施例における最適化アルゴリズムは、
基本的には、可能なjojnトポロジーを次々に生成し
、コストモデルを用いて最小コストのものを選択すると
いうものである。指数オーダで存在するjoin トポ
ロジーの削減戦略は、第1図により説明する。
In this way, the optimization algorithm in this example is
Basically, possible jojn topologies are generated one after another and the one with the minimum cost is selected using a cost model. The reduction strategy for join topologies that exist in exponential order is explained with reference to FIG.

第1図は1本発明の一実施例を示す最適化機能ブロック
図であり、第4図は第1図の機能を実行するための計算
機システムのブロック構成図である。
FIG. 1 is an optimization function block diagram showing an embodiment of the present invention, and FIG. 4 is a block configuration diagram of a computer system for executing the functions shown in FIG.

第1図における推論エンジン2.動作特性測定処理3、
初期トポロジー作成処理4、インプットテストノード生
成処理8、コスト評価削減処理10および最適プロダク
ションルール生成処理11は、いずれも第4図の計算機
システムのプロセッサ(C,PU)21において実行さ
れる。これらの処理のために入力されるデータ1,7.
9等は全て主記憶装置22から読み出される。また、主
記憶装置21にロードされる前、あるいは主記憶装置2
1から外部に出力する場合には、ファイル制御装置24
を介してファイル装置25に格納される。
Inference engine 2 in Figure 1. Operation characteristic measurement processing 3,
The initial topology creation process 4, the input test node generation process 8, the cost evaluation reduction process 10, and the optimal production rule generation process 11 are all executed in the processor (C, PU) 21 of the computer system shown in FIG. Data input for these processes 1, 7.
9 etc. are all read out from the main storage device 22. Also, before being loaded into the main memory 21, or before being loaded into the main memory 21,
1 to the outside, the file control device 24
The data is stored in the file device 25 via.

また、入出力処理は、チャネル装置23により、入出力
動作は、入出力制御装置26を介して入出力装置27に
より実行される。なお、28は、各装置が接続される共
通バスである。
Input/output processing is performed by the channel device 23, and input/output operations are performed by the input/output device 27 via the input/output control device 26. Note that 28 is a common bus to which each device is connected.

推論エンジン2は、最適化前のプロダクションルール1
を入力として、推論結果5を出力する。
Inference engine 2 uses production rule 1 before optimization.
As input, inference result 5 is output.

この間、動作特性測定処理3により必要なデータを収集
し、測定データ6を出力する。この測定データは、主記
憶装置22からファイル25に送られて、格納される。
During this time, necessary data is collected by operating characteristic measurement processing 3 and measurement data 6 is output. This measurement data is sent from the main storage device 22 to the file 25 and stored therein.

最適化の機能は、その後に起動される。The optimization function is then activated.

先ず、初期トポロジー作成処理4により最適化前プロダ
クションルール1を入力として、ノードの集合7を生成
する。 2−1nput −testノード生成処理8
により、ノードの集合7から2個のノードを選、択し、
join演算を行う2−1nput −testノード
9を生成する。コスト評価・削減処理10は、生成され
た 2−1nput −testノード9のコストを評
価し、不要であれば捨て去り、必要であればノードの集
合7に追加する。7〜10の処理は、ノードの集合7の
中のノードの組合せが全てなくなるまで繰り返して実行
される(フィードバックのための太線を通して再び7に
戻る)。その後、最適プロダクションルール生成処理1
1により、ノードの集合7から最もコストの低い終端(
terminal)ノートを選択し、それを基に最適化
後プロダクションルール12を生成する。最適化後プロ
ダクションルール12は、主記憶装置22からファイル
制御装置24を介してファイル装置25に格納される。
First, in the initial topology creation process 4, a set of nodes 7 is generated using the pre-optimization production rule 1 as input. 2-1 nput-test node generation process 8
Select two nodes from the set of nodes 7 by
A 2-1nput-test node 9 that performs a join operation is generated. The cost evaluation/reduction process 10 evaluates the cost of the generated 2-1nput-test node 9, discards it if unnecessary, and adds it to the node set 7 if necessary. Processes 7 to 10 are repeatedly executed until all combinations of nodes in the node set 7 are exhausted (returns to 7 through the thick line for feedback). After that, optimal production rule generation process 1
1 selects the lowest cost termination (
(terminal) note and generates the post-optimization production rule 12 based on it. The post-optimization production rule 12 is stored in the file device 25 from the main storage device 22 via the file control device 24.

指数オーダで存在するjoinhボロジーの削減戦略と
して、下記のものを使用する。
The following is used as a reduction strategy for joinhbology that exists in exponential order.

(イ)既に生成されているjoin トポロジーよりコ
ストの高いトポロジーを生成しない。もし、既に生成さ
れているならば、除去する。この戦略を有効に活用する
には、より大きな低コストのjoin トポロジーを高
速に生成すればよい。
(b) Do not generate a topology that costs more than the join topology that has already been generated. If it has already been created, remove it. To effectively utilize this strategy, larger, lower-cost join topologies can be generated quickly.

(ロ)可能な限り制約をきかせて、join演算を行う
。すなわち、共通のjoin変数を持つノードから、優
先的に組合せる。
(b) Perform the join operation with as many constraints as possible. That is, nodes having a common join variable are preferentially combined.

(ハ)  1−1nput−testのうち、toke
nやmemoryが小さいものから順に、j oin演
算を実行する。
(c) Among 1-1nput-test, toke
J oin operations are performed in the order of n and memory.

実験では、利用者の記述したプログラムと動作特性を入
力とし、最適化されたプログラムを出力する最適化機能
を試作して、評価を行った。既存のエキスパートシステ
ムの最適化を行った結果、2−1nput −test
の総数が173に減少し、CPUの性能が約2倍に向上
した。特に注目すべきことは、過去に行われた人手によ
る性能改善をしのぐ効果が得られたことである。
In the experiment, we prototyped and evaluated an optimization function that takes as input the program and operating characteristics written by the user and outputs an optimized program. As a result of optimizing the existing expert system, 2-1nput -test
The total number of CPUs has been reduced to 173, and the CPU performance has been approximately doubled. What is particularly noteworthy is that the results outperformed past manual performance improvements.

一般に、ルール数、およびデータ数が増加すれば、最適
化の効果はさらに増大する。従って、エキスパートシス
テムの実用化が進むに伴って、本発明は有効に機能する
ものと考えられる。
Generally, as the number of rules and the number of data increases, the optimization effect further increases. Therefore, it is believed that the present invention will function more effectively as expert systems become more practical.

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

以上、説明したように、本発明によれば、従来、人手に
よりjoinトポロジーを指定していたものを、プログ
ラムの動作特性に基づいて、join トポロジーを自
動的に最適化することができ、join演算量が最小化
されるので、プロダクション・システム・プログラムを
高速に、かつ低コストで実行することが可能である。
As described above, according to the present invention, it is possible to automatically optimize the join topology based on the operating characteristics of the program, instead of manually specifying the join topology, and the join operation Since the amount is minimized, production system programs can be executed quickly and at low cost.

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

第1図は本発明の一実1例を示すプロダクション・シス
テムの機能ブロック図、第2図は本発明で使用されるj
oin トポロジーの例を示す図、第3図は本発明で用
いられるコスト計算の方法を示す説明図、第4図は第1
図の機能を実行する計算機システムのブロック図である
。 21:CPU、22:主記憶装置、23:チャネル装置
、24:ファイル制御装置、25:ファイル装置、26
二人出力制御装置、27:入出力装置、28:共通バス
、2:推論エンジン、3:動作特性測定処理、4:初期
トポロジー作成処理、8 : 2−1nput−tes
tノード生成処理、10:コスト評価・削減処理、11
:最適プロダクションルール生成処理。 特許出願人 日本電信電話株式会社 第   2   図 (d)) 第   3   図 Token :  ’l’c AIemory : bic Join :   Jc Cost  :   CQ 1(atio :  Rc Tc=(TaMb+TbMa)Re Me=MaMbRC JC=Ta%jb+’l’blL(a CC=Ca+Cb十JC 肋=Rb 第   Φ  図
Fig. 1 is a functional block diagram of a production system showing an example of the present invention, and Fig. 2 is a functional block diagram of a production system used in the present invention.
Figure 3 shows an example of the oin topology, Figure 3 is an explanatory diagram showing the cost calculation method used in the present invention, Figure 4 shows the example of the
1 is a block diagram of a computer system that performs the functions shown in the figure. FIG. 21: CPU, 22: Main storage device, 23: Channel device, 24: File control device, 25: File device, 26
Two-person output control device, 27: Input/output device, 28: Common bus, 2: Inference engine, 3: Operating characteristic measurement process, 4: Initial topology creation process, 8: 2-1nput-tes
t-node generation processing, 10: Cost evaluation/reduction processing, 11
: Optimal production rule generation process. Patent applicant Nippon Telegraph and Telephone Corporation Figure 2 (d)) Figure 3 Token: 'l'c AIemory: bic Join: Jc Cost: CQ 1(atio: Rc Tc=(TaMb+TbMa)Re Me=MaMbRC JC=Ta %jb+'l'blL(a CC=Ca+Cb×JC Rib=Rb Fig.

Claims (1)

【特許請求の範囲】[Claims] (1)条件要素の連接と動作の集合からなるルールの集
合により、知識を表現するプロダクション・システムに
おいて、最適化前プロダクションルールを入力して初期
トポロジーを作成し、ノードの集合を生成する第1の処
理と、該ノードの集合から2個のノードを選択し、jo
in演算を行うテストノードを生成する第2の処理と、
生成されたテストノードのコストを評価して、不要であ
れば捨て去り、必要であれば上記ノードの集合に追加す
る第3の処理と、該ノードの集合から最もコストの低い
終端ノードを選択して、それを基に最適化後プロダクシ
ョンルールを生成する第4の処理とを有し、上記第3の
処理では、プロダクション・システムの動作特性の測定
データを基に、条件判定におけるjoin演算の順序や
組合せ方法を等価変換して、テストノードのコストを評
価することを特徴とするプロダクション・システムの最
適化方式。
(1) In a production system that expresses knowledge by a set of rules consisting of a connection of conditional elements and a set of actions, the first step is to input pre-optimization production rules, create an initial topology, and generate a set of nodes. process, select two nodes from the set of nodes, and select jo
a second process of generating a test node that performs an in operation;
A third process of evaluating the cost of the generated test node, discarding it if unnecessary, and adding it to the set of nodes if necessary, and selecting the terminal node with the lowest cost from the set of nodes. , and a fourth process of generating post-optimized production rules based on this. In the third process, the order of join operations in condition determination and the A production system optimization method characterized by equivalently converting combination methods to evaluate test node costs.
JP62312965A 1987-12-10 1987-12-10 Optimization system for production system Pending JPH01154231A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62312965A JPH01154231A (en) 1987-12-10 1987-12-10 Optimization system for production system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62312965A JPH01154231A (en) 1987-12-10 1987-12-10 Optimization system for production system

Publications (1)

Publication Number Publication Date
JPH01154231A true JPH01154231A (en) 1989-06-16

Family

ID=18035615

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62312965A Pending JPH01154231A (en) 1987-12-10 1987-12-10 Optimization system for production system

Country Status (1)

Country Link
JP (1) JPH01154231A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101158534B1 (en) * 2009-09-21 2012-06-21 자바정보기술 주식회사 A dynamic process management system for processing data in various environment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101158534B1 (en) * 2009-09-21 2012-06-21 자바정보기술 주식회사 A dynamic process management system for processing data in various environment

Similar Documents

Publication Publication Date Title
Zhou et al. Multi-population parallel self-adaptive differential artificial bee colony algorithm with application in large-scale service composition for cloud manufacturing
KR20180083030A (en) Convolutional neural network system having binary parameter and operation method thereof
de Groote et al. Max-plus algebraic throughput analysis of synchronous dataflow graphs
CN104915717A (en) Data processing method, knowledge base reasoning method and related device
CN106787695B (en) A kind of Switching Power Supply control method of dynamic response optimization
CN115168240B (en) Variable combination time sequence function coverage rate-based test method and system
Otworowska et al. Demons of Ecological Rationality.
CN113988464A (en) Network link attribute relation prediction method and equipment based on graph neural network
CN108365969B (en) Self-adaptive service combination method based on wireless sensor network
CN115062784A (en) End cloud collaborative reasoning method and device for neural network operator fusion
CN109905481B (en) Qos model construction and Qos strategy scheme operation performance prediction method based on RTI-DDS
CN113592077B (en) Cloud edge DNN collaborative reasoning acceleration method for edge intelligence
JPH01154231A (en) Optimization system for production system
WO2023179379A1 (en) Simulation method and system for nonlinear delay circuit system, and medium
CN109446146B (en) State transition sequence generation method of application layer communication protocol
CN111200550A (en) Virtual network mapping method and device
JPH03286337A (en) Speed increasing system for inference with optimization of processing structure for decision of condition
CN110149234A (en) Diagram data compression method, device, server and storage medium
Wienöbst et al. Efficient enumeration of Markov equivalent DAGs
CN110399974A (en) A kind of automatic determination method and device of hyper parameter
CN116431421B (en) Neural network generation method and generator, verification method and system and storage medium
Ye et al. A kalman filter based hill-climbing strategy for application server configuration
CN109978160B (en) Configuration device and method of artificial intelligence processor and related products
Kozlova et al. TeXDYNA: hierarchical reinforcement learning in factored MDPs
Tian et al. Deep Reinforcement Learning for DC-DC converter parameters optimization

Legal Events

Date Code Title Description
A977 Report on retrieval

Effective date: 20041129

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Effective date: 20050712

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050912

A131 Notification of reasons for refusal

Effective date: 20051108

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Effective date: 20051227

Free format text: JAPANESE INTERMEDIATE CODE: A523

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060131

A61 First payment of annual fees (during grant procedure)

Effective date: 20060213

Free format text: JAPANESE INTERMEDIATE CODE: A61

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090303

Year of fee payment: 3

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 4

Free format text: PAYMENT UNTIL: 20100303

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100303

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 4

Free format text: PAYMENT UNTIL: 20100303

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100303

Year of fee payment: 4

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 5

Free format text: PAYMENT UNTIL: 20110303

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 5

Free format text: PAYMENT UNTIL: 20110303

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 6

Free format text: PAYMENT UNTIL: 20120303

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120303

Year of fee payment: 6

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 7

Free format text: PAYMENT UNTIL: 20130303

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130303

Year of fee payment: 7