JPH021021A - Retrieval processing system for high level-priority state transition - Google Patents

Retrieval processing system for high level-priority state transition

Info

Publication number
JPH021021A
JPH021021A JP63140410A JP14041088A JPH021021A JP H021021 A JPH021021 A JP H021021A JP 63140410 A JP63140410 A JP 63140410A JP 14041088 A JP14041088 A JP 14041088A JP H021021 A JPH021021 A JP H021021A
Authority
JP
Japan
Prior art keywords
state
evaluation function
node
nodes
processes
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
JP63140410A
Other languages
Japanese (ja)
Inventor
Haruo Yokota
治夫 横田
Hajime Kitagami
北上 始
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.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
Agency of Industrial Science and Technology
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 Agency of Industrial Science and Technology filed Critical Agency of Industrial Science and Technology
Priority to JP63140410A priority Critical patent/JPH021021A/en
Publication of JPH021021A publication Critical patent/JPH021021A/en
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To efficiently obtain a solution by hierarchically arranging processes for processing in a tree structure and allowing states to correspond to processes and preferentially developing the state having a high evaluation function value. CONSTITUTION:Plural processes for state transition and processes for management of the execution order are generated and are hierarchically mapped into a tree structure. The tree consists of nodes and branches, and nodes are a root node RN1, branch nodes BN1-BN3, and leaf nodes LN1-LN4 in order from the top. Messages can be transferred only between nodes connected by branches. In a state space SP, transition from one state to the next state is performed in leaf nodes LN1-LN4, and generated state information flows between processors as a message. Branch nodes BN1-BN3 transfer information having a higher evaluation function value out of state information to corresponding leaf nodes LN1-LN4 as the state to be next processed, and the state transition is performed. Thus, the load of the management processing is distributed to efficiently obtain a solution.

Description

【発明の詳細な説明】 〔概要〕 並列計算機上でエキスパートシステム等を実現する際に
、遷移する状態の実行優先順位の管理を階層的に行い、
状態の評価関数値によって部分的に優先順位を決定する
ことにより、管理を分散化した優良優先状態遷移探索処
理方式に関し。
[Detailed Description of the Invention] [Summary] When realizing an expert system etc. on a parallel computer, execution priorities of transitioning states are managed hierarchically,
This paper relates to a superior priority state transition search processing method that decentralizes management by partially determining priorities based on state evaluation function values.

状態遷移に関する処理の並列性を高めるとともに、管理
処理の負荷を分散化させ、効率よく解を求めることがで
きる手段を提供することを目的と作用素の適用によって
状態を遷移させる葉ノードプロセスと、各葉ノードプロ
セスで処理する状態の割り当て優先順位を、状態の評価
関数値を用いて管理する分岐ノードプロセスと、全体を
管理する根ノードプロセスとを設け、前記根ノードプロ
セス、1または複数段の前記分岐ノードプロセス、前記
葉ノードプロセスを木型プロセス構成とし1部分的な評
価関数値の順位から部分的に決定された優先順位に従っ
て、各葉ノードプロセスにより、各状態を並列に展開す
るように構成する。
The aim is to increase the parallelism of processing related to state transitions, distribute the management processing load, and provide a means for efficiently finding solutions. A branch node process that manages the allocation priority of states to be processed in leaf node processes using the evaluation function value of the state, and a root node process that manages the entire process, and the root node process, one or more stages of the The branching node process and the leaf node process are configured as a tree type process, and each state is expanded in parallel by each leaf node process according to a priority partially determined from the order of partial evaluation function values. do.

〔産業上の利用分野〕[Industrial application field]

本発明は、並列計算機上でエキスパートシステム等を実
現する際に、遷移する状態の実行優先順位の管理を階層
的に行い、状態の評価関数値によって部分的に優先順位
を決定することにより、管理を分散化した優良優先状態
遷移探索処理方式に関する。
When implementing an expert system etc. on a parallel computer, the present invention hierarchically manages the execution priorities of transitioning states, and partially determines the priorities based on the evaluation function value of the state. This paper relates to a decentralized superior priority state transition search processing method.

エキスパート・システムと呼ばれる知識工学システムの
非常に重要な要素技術の1つとして1作用素(例えばプ
ロダクションルール/IF−THENルール)を用いて
、与えられた初期状態から次々と状態を遷移させて行き
、終了条件を満足する終了状態に至るような手順を導く
機構がある。
One of the very important elemental technologies of knowledge engineering systems called expert systems is to use one operator (e.g. production rule/IF-THEN rule) to transition states one after another from a given initial state. There is a mechanism that leads to a procedure that leads to a termination state that satisfies termination conditions.

このような状態遷移の探索において、並列実行性を高め
て、効率よく推論を行う方式が望まれている。
In searching for such state transitions, there is a need for a method that improves parallel execution and performs inference efficiently.

〔従来の技術とその問題点〕[Conventional technology and its problems]

第6図は一般的な推論システムの例、第7図は状態遷移
図の例を示す。
FIG. 6 shows an example of a general inference system, and FIG. 7 shows an example of a state transition diagram.

第6図において、60はCPUおよびメモリなどからな
る処理装置、61は状態遷移を制御する状態遷移制御部
、62は状態情報を記憶する作業空間、63は知識ベー
スとして与えられる作用素の集合を表す。
In FIG. 6, 60 represents a processing device consisting of a CPU and memory, etc., 61 represents a state transition control unit that controls state transitions, 62 represents a work space that stores state information, and 63 represents a set of operators given as a knowledge base. .

第6図に示すような推論システムでは、知識ベースとし
て与えられた作用素の集合63の中の適用可能な作用素
を用い、初期状態から次々と状態を遷移させていき、与
えられた終了条件を満足する終了状態に至るまで推論サ
イクルを繰り返す。
In the inference system shown in FIG. 6, applicable operators from a set of operators 63 given as a knowledge base are used to transition states one after another from an initial state, until a given termination condition is satisfied. The inference cycle is repeated until a final state is reached.

このような状態遷移の制御機構のもとでは、ある状態に
対して、複数の作用素が通用可能であるため2例えば第
7図に示すように、適用可能な作用素に応じて、ある状
態から複数の状態への遷移が可能である。なお、第7図
において、○が1つの状態を表し、矢印が状態の遷移を
表している。
Under such a state transition control mechanism, multiple operators can be used for a given state.2For example, as shown in FIG. A transition to the state is possible. In FIG. 7, a circle represents one state, and an arrow represents a state transition.

特に、Soは初期状態、S7は終了条件を満足する終了
状態である。このように、状態空間全体としては、1つ
の探索木を形成する。
In particular, So is the initial state, and S7 is the end state that satisfies the end condition. In this way, the state space as a whole forms one search tree.

この探索木上で初期状態S0から最終状aS7へ至るパ
スを求めることが目標となる。しかし。
The goal is to find a path from the initial state S0 to the final state aS7 on this search tree. but.

多くの場合は、探索木の大きさが指数関数オーダーで広
がるため、何らかの探索制御を用いない限り多大な時間
を要し、実際に答のパスを導くことは不可能となる。
In many cases, the size of the search tree grows exponentially, so unless some kind of search control is used, it takes a lot of time and it becomes impossible to actually derive the answer path.

そこで、従来、各状態毎に評価関数を計算して。Therefore, conventionally, an evaluation function is calculated for each state.

自分の技の中で最も評価関数値の高い(良い)技を選択
し、それ以外の技は刈り取ってしまう方式。
This method involves selecting the technique with the highest (good) evaluation function value among your techniques, and cutting out the other techniques.

すなわち、コンフリクトリゾリュージョンを行う方式が
用いられてきた。
That is, a method of performing conflict resolution has been used.

この方式は、ある時刻に存在する状態は1つ(あるいは
高々自分から遷移する次の状態の数分)であるため、は
とんど並列性がない。効率の良い探索手法で有名なRe
teアルゴリズムを用いたシステムで測定した結果、1
桁の並列性しかなかったという報告がされている(参考
文献: Gupta。
In this method, only one state exists at a given time (or at most the number of states to which the state transitions from itself), so there is almost no parallelism. Re is famous for its efficient search method.
As a result of measurement using a system using the te algorithm, 1
It has been reported that there was only an order of magnitude parallelism (Reference: Gupta.

A、 Porgy、 C,et al、: Paral
lel Algorithms andArchite
ctures for Ru1e−Based Sys
tems、 Proc。
A, Porgy, C, et al: Paral
lel Algorithms and Architecture
tures for Ru1e-Based Sys
tems, Proc.

of 13th Int、 Sympo、 on Co
mputer Architecturepp2B−3
7,1986) 。
of 13th Int, Sympo, on Co
Mputer Architecture pp2B-3
7, 1986).

また、初期状態から終了状態に到達可能なパスが存在す
るのに、必ずしも解が得られないという欠点もある。つ
まり、答えのパスの評価関数値がその分岐点で必ず最高
になるとは保証されていないため、答えのパスを枝刈り
してしまうことがあり得るわけである。−度技刈りをさ
れてしまうと。
Another drawback is that even though there is a path that can reach the final state from the initial state, a solution cannot always be obtained. In other words, since it is not guaranteed that the evaluation function value of the answer path will always be the highest at that branch point, the answer path may be pruned. -If you get cut down.

その技は二度と展開されないため、終了状態に到達不可
能となってしまう、このように、従来の探索方式には、
並列性が少ないうえ、解を得られない場合があるという
問題があった。
Since the technique is never deployed again, it becomes impossible to reach the final state.In this way, conventional search methods
There was a problem that there was little parallelism and there were cases where a solution could not be obtained.

並列性を高めるため、各状態を1つのプロセサに対応付
けて、並列に実行させるという方式が考えられる。こう
すると、同時に存在し得る状態数が多いうえに、基本的
に横の状態間には相関関係がないため、非常に高い並列
性を得ることができる。しかし、この場合にも、−船釣
に状態数が探索木の深さに対して指数関数的に増加する
ことになるため、単純に各状態をプロセサに割り当てて
いったのでは、プロセサ数がいくらあっても足りないこ
とになってしまう。
In order to increase parallelism, a method can be considered in which each state is associated with one processor and executed in parallel. In this way, a large number of states can exist at the same time, and there is basically no correlation between horizontal states, so a very high level of parallelism can be achieved. However, in this case as well, the number of states increases exponentially with the depth of the search tree, so simply assigning each state to a processor will reduce the number of processors. No matter how much you have, it will never be enough.

そこで2本発明者等は、各状態をプロセスに対応付けて
、プロセス数を制限しながら各状態の評価関数値を実行
優先度の管理に使って、並列に状態空間を展開していく
方式を考えている。この方式では、評価関数値の高い状
態を優先度の高いプロセスとしてディスパッチし、評価
関数値の低い状態は実行を中断したプロセスとして保存
する。
Therefore, the present inventors developed a method in which each state is associated with a process, and the evaluation function value of each state is used to manage execution priority while limiting the number of processes, and the state space is expanded in parallel. thinking. In this method, a state with a high evaluation function value is dispatched as a high priority process, and a state with a low evaluation function value is saved as a process whose execution has been interrupted.

しかし、この場合にも、評価関数値を一元的に管理する
と、プロセス数を増やした場合に、管理処理の負荷が大
きくなり、ある程度以上は並列性による効果が現れない
という欠点がある。
However, even in this case, if the evaluation function values are managed centrally, the load of management processing increases when the number of processes is increased, and there is a drawback that the effect of parallelism does not appear beyond a certain point.

本を明は上記問題点の解決を図り、状態遷移に関する処
理の並列性を高めるとともに、管理処理の負荷を分散化
させ、効率よく解を求めることができる手段を提供する
ことを目的としている。
The purpose of this book is to solve the above-mentioned problems by increasing the parallelism of processing related to state transitions, distributing the load of management processing, and providing a means for efficiently finding solutions.

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

第1図は本発明の詳細な説明するための図である。 FIG. 1 is a diagram for explaining the present invention in detail.

第1図において、RNIは根ノード、BNI〜BN3は
分岐ノード、LNI−LN4は葉ノード。
In FIG. 1, RNI is a root node, BNI to BN3 are branch nodes, and LNI to LN4 are leaf nodes.

spは状態空間を表す。sp represents state space.

本発明は、評価関数値に従って並列に状態を展開してい
く場合に、管理が集中するのを避けることに着目したも
のである。特に、実行優先度の管理を全部の優先順位の
情報を集めてから決定するのではなく1部分的な情報か
ら適当に定め、全体的に見ると比較的優先順位の高いプ
ロセスが優先的に実行されているような状態を実現する
。このため、展開する状態の管理を一元的に厳格に行う
のではなく、後述するように2階層的に緩やかに行う方
式を採用する。
The present invention focuses on avoiding concentration of management when developing states in parallel according to evaluation function values. In particular, execution priority management is not determined after collecting all priority information, but is determined appropriately from one piece of information, and when viewed as a whole, processes with relatively high priorities are executed preferentially. Achieve a state like that. For this reason, instead of centrally and strictly managing the unfolding state, a method is adopted in which it is managed in a two-layered manner, as will be described later.

まず、状態遷移を行うプロセスと、実行優先順位を管理
するプロセスとを複数作り、それらを木構造にマツピン
グする。
First, we create multiple processes that perform state transitions and processes that manage execution priorities, and map them into a tree structure.

木は、ノードと技とからなり、特に一番根元のノードを
根ノード、一番先端のノードを葉ノード。
A tree is made up of nodes and techniques, and in particular, the root node is the root node, and the leaf node is the tip node.

それ以外のノードを分岐ノードと呼ぶことにする。Other nodes will be called branch nodes.

1つのノードが1つのプロセスに対応する。枝で接続さ
れたプロセス間は、メソセージ通信ができるようにする
。ある状態から次の状態へ遷移させる処理は、各葉ノー
ドのプロセスで行われる。生成される状態の情報は、メ
ツセージとしてプロセス間を流れる0分岐ノードは、流
れてくる状態情報の中の状態の評価関数値から9次に処
理すべき状態を決定して自分の下のノードに渡すように
する。
One node corresponds to one process. Enable message communication between processes connected by branches. The process of transitioning from one state to the next is performed by each leaf node process. The generated state information flows between processes as a message.The 0-branch node determines the state to be processed based on the evaluation function value of the state in the flowing state information, and sends it to the node below it. Make sure to pass it on.

本方式によるプロセス構成と状態空間の対応は。What is the correspondence between the process configuration and state space according to this method?

第1図に示すようになる。特に、第1図の上半分は、木
型のプロセス構成を示しており、この各ノードは、それ
ぞれプロセスに対応している。このうち、RNIが根ノ
ード、BNI〜BN3が分岐ノード、LN1〜LN4が
葉ノードである。メツセージは、枝でつながれたプロセ
ス間のみで転送される。
The result is as shown in FIG. In particular, the upper half of FIG. 1 shows a tree-shaped process configuration, and each node corresponds to a process. Among these, RNI is the root node, BNI to BN3 are branch nodes, and LN1 to LN4 are leaf nodes. Messages are transferred only between processes connected by branches.

第1図の下半分は、このプロセス構成上で処理されてい
く状態の遷移の様子を示している。状態Aから状B B
 、状態Cへ遷移し、さらに状態Bから状態り、状態E
へ、状態Cから状態F、状態G。
The lower half of FIG. 1 shows the transition of states processed in this process configuration. Condition A to condition B B
, transitions to state C, then transitions from state B to state E
from state C to state F to state G.

状BHへ遷移していく、ここで、各葉ノードから状態間
の遷移を示す矢印への破線の矢印は、その状態遷移がど
の葉ノードで行われるかを示している。
Here, the broken line arrow from each leaf node to the arrow indicating the transition between states indicates which leaf node the state transition takes place.

葉ノードLNI〜LN4は、状態を遷移させるプロセス
に対応付けられる0分岐ノードBNI〜BN3は、各葉
ノードのプロセスで処理する状態の割り当て優先順位を
、状態の評価関数値を用いて管理するプロセスに対応付
けられる。mノードRNIは、最上位に位置し、全体を
管理するプロセスに対応付けられる。
Leaf nodes LNI to LN4 are associated with processes that transition states. Zero-branch nodes BNI to BN3 are processes that manage the allocation priority of states processed by each leaf node process using evaluation function values of the states. can be mapped to. The m-node RNI is located at the top level and is associated with a process that manages the entire system.

分岐ノードBNI−BN3によって、遷移する状態の実
行優先順位の管理を階層的に行い1部分的な評価関数値
の順位から部分的に決定された優先順位に従って、各葉
ノードLNI〜LN4のプロセスにより、各状態を並列
に展開するようにしている。
The branching nodes BNI-BN3 hierarchically manage the execution priorities of the transition states, and the processes of each leaf node LNI-LN4 manage the execution priorities of the transition states according to the priorities partially determined from the order of the partial evaluation function values. , each state is expanded in parallel.

〔作用〕[Effect]

例えば、第1図では、状aAから状6Bおよび状BCへ
の遷移が9葉ノードLNIのプロセスで処理される。こ
こで生成された状BBと状LiCに関する状態情報は1
分岐ノードBN2へ送られることになる。この状態情報
は1分岐ノードBN2で評価関数値による優先順位に従
って管理され状BBは1葉ノードLN2に、状Bcは5
分岐ノードBNIおよび分岐ノードBN3を通って3葉
ノードL N 4に渡される。
For example, in FIG. 1, the transition from state aA to state 6B and state BC is handled by the process of nine leaf nodes LNI. The state information regarding the state BB and state LiC generated here is 1
It will be sent to branch node BN2. This state information is managed at the first branch node BN2 according to the priority order based on the evaluation function value, and the state BB is sent to the first leaf node LN2, and the state Bc is sent to the first leaf node LN2.
It is passed through branch node BNI and branch node BN3 to trifoliate node L N 4.

暖やかな管理を行うために9葉ノードLNIで。With 9 leaf node LNI for warm management.

次に展開する状態を選ぶ場合、ローカルに状態Eと状L
3iDの評価関数値を比較して、状態Eを次に展開する
。この時、全体からすると状BBより評価関数値が良い
状態(例えば、状LiF)が他に存在するかもしれない
が、ローカルに判断して状態Eの処理を先行させる。つ
まり、並列性を高めるため、必ずしも最良の状態を選択
するわけではないが、なるべく評価関数値の良い状態を
選択するようにする。
When choosing the next state to expand, locally state E and state L
The 3iD evaluation function values are compared and state E is expanded next. At this time, there may be another state (for example, state LiF) that has a better evaluation function value than state BB from the perspective of the whole, but it is determined locally and processing of state E is performed first. In other words, in order to increase parallelism, the best state is not necessarily selected, but the state with the best evaluation function value is selected as much as possible.

もし、厳格に管理しようとすると、全ての状態情報を根
ノード(あるいは−櫓上の分岐ノード)まで転送して、
そこで全体の中から一番評価関数値の良い状態を集めな
ければならない。すると根ノードに転送するまでの処理
に時間がかかるうえに、根ノードに評価関数値の管理処
理が集中してしまい、解決しようとしている課題が達成
できない。すなわち、管理処理の負荷が大きすぎるため
、十分に並列処理できないことになる。
If you try to strictly manage it, all the state information will be transferred to the root node (or branch node on the turret),
Therefore, it is necessary to collect the states with the best evaluation function value from among all the states. In this case, it takes time to process the data until it is transferred to the root node, and the management processing of the evaluation function value is concentrated on the root node, making it impossible to achieve the problem that is being attempted. In other words, since the load of management processing is too large, sufficient parallel processing cannot be performed.

そこで、それぞれの分岐ノードでローカルに管理するこ
とにより、状態の評価関数値の管理が一箇所に集中して
ボトルネックとなることを回避するようにしている。
Therefore, by managing the state evaluation function values locally at each branch node, the management of state evaluation function values is prevented from being concentrated in one place and becoming a bottleneck.

葉ノードへの処理の割り当ては、要求駆動で行うことが
望ましい、すなわち2葉ノードが暇になったときに、上
の分岐ノードに仕事の要求を出して、処理すべき状態を
受は取るようにする。新たに葉ノードで生成された状態
の情報は、できたものから分岐ノードに渡すようにする
。分岐ノードは、下からの要求があって自分で状態情報
を持っている場合にのみ、自分の中にある状態のうち。
It is preferable to allocate processing to leaf nodes on a request-driven basis. In other words, when a second leaf node becomes free, it issues a work request to the branch node above it and receives the state to be processed. Make it. The state information newly generated at the leaf node is passed to the branch node in the order it is created. A branch node can only change its own state if there is a request from below and it has its own state information.

評価関数値の良いものを下に渡す。下から状態情報が送
られてきた場合には、その情報を蓄えておき、適当な戦
略で上の分岐ノードに転送する。こうすることにより、
資源の管理を効率良く行うことができる。
Those with good evaluation function values are passed down. When state information is sent from below, it stores that information and forwards it to the upper branch node using an appropriate strategy. By doing this,
Resources can be managed efficiently.

根ノードは、初期状態を与えたり全体の終了を指示する
など全体の管理を行う。全ての葉ノードからの要求が根
ノードに届いた場合には、処理すべき状態がなくなった
ことになるため、処理を終了する。
The root node performs overall management such as providing an initial state and instructing the entire process to terminate. If requests from all leaf nodes reach the root node, there are no more states to process, so the process ends.

このようにすることにより、管理が分岐ノード間で分散
化され、管理処理の負荷が大きくなり過ぎることがなく
なる。
By doing this, management is distributed among the branch nodes, and the load of management processing does not become too large.

ここで、注意すべきことは、全体から見た優先順位によ
って処理すべき状態を決めるような厳格な管理を行うの
ではなく、ローカルな優先順位を判定して緩く管理する
点である。
What should be noted here is that rather than performing strict management that determines the state to be processed based on the overall priority, loose management is performed by determining local priorities.

状態空間の探索において、最も評価関数値の良い状態か
ら先に展開していく探索1略は、最良優先探索(Bes
t−First 5earch )と呼ばれる。ここで
は、最良かどうかは明確でないが、まわりの中で評価関
数値が良さそうな状態から先に展開するので、優良優先
探索(Better−First 5earch )と
呼ぶことにする。
In searching the state space, search 1, in which the state with the best evaluation function value is expanded first, is a best-first search (Bes
It is called t-First 5arch). Here, it is not clear whether it is the best or not, but since the evaluation function values are developed first from the surroundings, it is called a better-first search.

〔実施例〕〔Example〕

第2図は本発明を適用するシステムのハードウェア構成
例、第3図は本発明の一実施例に係る葉ノードのプロセ
スの処理の流れ、第4図は本発明の一実施例に係る分岐
ノードのオートマトン、第5図は本発明の一実施例に係
る分岐ノードのプロセスの処理の流れを示す。
Fig. 2 is an example of the hardware configuration of a system to which the present invention is applied, Fig. 3 is a processing flow of a leaf node process according to an embodiment of the present invention, and Fig. 4 is a branching according to an embodiment of the present invention. Node Automaton FIG. 5 shows the processing flow of a branch node process according to an embodiment of the present invention.

第2図に示すシステムは、複数のプロセサP1〜P4が
共有メモリMEMを持つシステムである。
The system shown in FIG. 2 is a system in which a plurality of processors P1 to P4 have a shared memory MEM.

本発明は1例えばこのような複数プロセサシステム上で
実施することができるが、これに限らず。
The invention can be implemented on one such multi-processor system, for example, but is not limited thereto.

各種の並列ハードウェア上で実施することも可能である
It is also possible to implement it on various types of parallel hardware.

各ノードプロセスは、それぞれのプロセサPi〜P4の
上に置かれる。プロセスとプロセサは1対1に対応して
いる必要はない。この例では。
Each node process is placed on a respective processor Pi to P4. There is no need for a one-to-one correspondence between processes and processors. In this example.

プロセサP1には4プロセス、プロセサP2には1プロ
セス、プロセサP3には2プロセス、プロセサP4には
1プロセス置(ようになっている。
Processor P1 has four processes, processor P2 has one process, processor P3 has two processes, and processor P4 has one process.

また、この例では、プロセス間は共有メモリを介してメ
ソセージ通信を行うようになっている。この他、メツセ
ージ通信専用のハードウェアを付ける方式なども考えら
れる。
Furthermore, in this example, messages are communicated between processes via a shared memory. In addition, a method of attaching hardware dedicated to message communication may also be considered.

メソセージは、基本的なものとして、状態の内容(変化
分)や評価関数値などの状態情報を内容とするものと、
状態情報の転送を要求するためのものとがある。
Messages basically contain state information such as state contents (changes) and evaluation function values;
There is also one for requesting transfer of state information.

状態そのものは、共有メモリMEM上に置かれ各プロセ
サから並列にアクセスされる。ただし各状態は単一代入
規則に従って扱われるものとし同時に読み出されること
はあっても、同時に書き込みが起こることはないように
する。つまり、状態が変化する場合には、状態の内容が
書き替えられるのではなく、新たな状態が生成されるも
のとする。ただし、アクセス競合が起こらない範囲で。
The state itself is placed on the shared memory MEM and accessed by each processor in parallel. However, each state is handled according to the single assignment rule, so that although it may be read at the same time, it is never written to at the same time. In other words, when a state changes, the contents of the state are not rewritten, but a new state is generated. However, as long as access conflicts do not occur.

部分を共有することは差し支えない。It is okay to share parts.

葉ノードのプロセスは、初期状態では、上の分岐ノード
に状態情報の転送を要求するメソセージを送り、状態情
報が転送されてくるのを待つ。状態情報が転送されてく
ると、その状態情報Gこ従って、新たな状態を複数生成
する。生成された状態は、生成されると直ぐ、状態情報
として上の分岐ノードに転送される。転送されてきた状
態情報から遷移可能な状態を全て生成し終えると、また
状態情報転送の要求メツセージを出して1次の状態情報
が送られてくるのを待つ。
In the initial state, a leaf node process sends a message requesting the transfer of state information to the upper branch node and waits for the state information to be transferred. When state information is transferred, a plurality of new states are generated based on the state information G. As soon as the generated state is generated, it is transferred to the upper branch node as state information. When all transitionable states have been generated from the transferred state information, it issues another state information transfer request message and waits for the primary state information to be sent.

この葉ノードのプロセスの処理の流れは2例えば第3図
に示す■〜■のようになる。
The processing flow of this leaf node process is as shown in FIG. 3, for example.

■ 状態情報転送要求メソセージを上の分岐ノードへ送
る。
■ Send a status information transfer request message to the upper branch node.

■ 上の分岐ノードがら状態情報を受は取る。■Receive and receive status information from the branch node above.

■ 受は取った状態に、適用可能な作用素を適用し、状
態遷移を行う。また、生成した状態についての評価関数
値を、計算により求める。
■ Uke applies applicable operators to the acquired state and performs a state transition. Furthermore, the evaluation function value for the generated state is determined by calculation.

■ 生成した状態の評価関数値を含む状態情報を上の分
岐ノードへ転送する。
■ Transfer the state information including the evaluation function value of the generated state to the upper branch node.

■ 他に適用可能な作用素があり、まだ遷移可能である
かどうかを判定する。まだ遷移可能である場合、処理■
へ制御を戻し1次の遷移を(テう。
■ Determine whether there are other applicable operators and the transition is still possible. If it is still possible to transition, process ■
Return control to the first order transition (te).

遷移可能でない場合、処理■へ戻る。If the transition is not possible, return to process (■).

各分岐ノードのプロセスは、第4[l!Iに示すように
、下のノードからの状態情報の転送要求のあるなし、自
分で蓄えている状態情報のあるなし、でオートマトンを
構成する。この内容は、木構造のどのレベルの分岐ノー
ドでも同じとする。
The process of each branch node is the fourth [l! As shown in I, an automaton is configured depending on whether or not there is a request to transfer state information from a lower node, and whether or not it stores state information itself. This content is the same for branch nodes at any level of the tree structure.

分岐ノードが、第4図(a)の状態のとき2葉ノードか
ら転送要求を受は取ると、状態情報を渡し、 (a)ま
たは(b)に遷移する。(b)でさらに要求を受は取る
と、上のノードへ要求を出しくC)に遷移する。(c)
で葉ノードがら状態情報を受は取ると(b)へ移り、 
(b)で葉ノードから状態情報を受は取ると(a)へ移
る。
When a branch node receives a transfer request from a two-leaf node in the state shown in FIG. 4(a), it passes state information and transitions to either (a) or (b). When a further request is received in (b), the process transitions to C), where the request is sent to the upper node. (c)
After receiving the state information from the leaf nodes, move to (b),
After receiving the state information from the leaf node in (b), the process moves to (a).

このオートマトンを実現する分岐ノードのプロセスの処
理の流れは1例えば第5図に示す■〜■のようになる。
The processing flow of the branching node process that realizes this automaton is, for example, as shown in (1) to (2) shown in FIG.

■ 上位ノードまたは下位ノードからのメツセージを受
は取る。
■ Receive and receive messages from higher-level nodes or lower-level nodes.

■ 受は取ったメツセージが状態情報であるがどうかを
判定する。状態情報でない場合、処理■へ移る。
■ The receiver determines whether the received message is status information. If it is not status information, move to process (2).

■ 状態情報である場合、下位ノードがらの要求がある
かどうかを判定する。要求がない場合。
■ If it is state information, determine whether there is a request from lower nodes. If there is no request.

処理■、ある場合、処理■へ移る。Process ■, if there is, move to process ■.

■ 評価関数値による優先順位に従って、状態情報を格
納する。その後、処理■へ戻る。
■ Store state information according to priority based on evaluation function value. After that, return to process (■).

■ 要求がある場合、その下位ノードへ状態情報を渡す
。その後、処理■へ戻る。
■ If there is a request, pass state information to its lower nodes. After that, return to process (■).

■ 受は取ったメツセージが、状態情報でない場合、転
送要求であるかどうかを判定する。転送要求でない場合
、処理[相]へ移る。
■ If the received message is not status information, the receiver determines whether it is a transfer request. If it is not a transfer request, move to process [phase].

■ 転送要求のメツセージを受は取った場合、現在、自
分が管理している状態情報があるかどうかを判定する。
■ When a transfer request message is received, the device determines whether there is any status information currently being managed by itself.

状態情報がある場合、処理■へ移る。If there is status information, move to process ①.

■ 状態情報がない場合、その要求を作業域に格納する
■ If state information is not available, store the request in a work area.

■ 上位ノードに要求を出し、処理■へ戻って。■ Send a request to the upper node and return to processing ■.

メソセージの受は取りを待つ。The receiver of the message waits for the receiver.

■ メツセージが下位ノードからの評価関数値の報告で
あるかどうかを判定する。以下の処理は。
■ Determine whether the message is a report of an evaluation function value from a lower node. The following process.

必須ではないが9本実施例では、下位ノードが担当する
状態の評価関数値のばらつきを少なくするため9周期的
に監視を行うようにしている。
Although it is not essential, in this embodiment, monitoring is performed periodically in order to reduce variations in the evaluation function values of the states that the lower nodes are in charge of.

評価関数値の報告は、そのためのメソセージである。評
価関数値の報告でない場合、エラーとする。
Reporting the evaluation function value is a message for that purpose. If the evaluation function value is not reported, an error will occur.

■ 評価関数値の報告を受けた場合、子ノードの評価関
数値を比較する。
■ When the evaluation function value is reported, compare the evaluation function value of the child node.

0 子ノードが保持している状態の評価関数値が大きく
違う場合、処理0を実行する。評価関数値に大差がない
場合、評価関数値を記憶し、処理■へ戻る。
0 If the evaluation function values of the states held by the child nodes are significantly different, process 0 is executed. If there is no significant difference in the evaluation function values, store the evaluation function values and return to process (2).

■ 評価関数値が、子ノード間で、できるだけ平均化す
るように、状態情報を交換する。その後処理■へ戻る。
■ Exchange state information so that evaluation function values are averaged as much as possible between child nodes. After that, return to processing ■.

■ メツセージの受は取りによる処理とは別に評価関数
値の上位ノードへの報告のため、適当な時間間隔で時間
監視を行う。
■ In addition to processing messages by receiving and receiving messages, time monitoring is performed at appropriate time intervals in order to report evaluation function values to higher-level nodes.

■ 所定時間が経過したならば、上位ノードへ自分の管
理内にある最良の評価関数値を報告する。
■ When a predetermined period of time has elapsed, the best evaluation function value within its control is reported to the upper node.

そして次の報告契機を待つ。Then wait for the next opportunity to report.

以上が1分岐ノードのプロセスの主要な処理の流れであ
るが、ここで、各分岐ノードが下のノードに状態情報を
流す場合に、自分の持つ状態情報の中で評価関数値の良
いものから流すようにすることが重要である。なお、根
ノードのプロセスの処理の流れについては、詳しく説明
するまでもないが、上位ノードに関係する部分を除き1
分岐ノードのプロセスとほぼ同様であり、他に、ユーザ
との会話処理、処理開始時における初期化処理および終
了処理などの機能を持つ。もちろん、ユーザインタフェ
ースとして9種々のものを用意することができる。
The above is the main processing flow of the one-branch node process. Here, when each branch node sends state information to the node below, it selects the one with the best evaluation function value among its own state information. It is important to let it flow. There is no need to explain the processing flow of the root node process in detail, but except for the part related to the upper node, 1
It is almost the same as the branch node process, and has other functions such as conversation processing with the user, initialization processing at the start of processing, and termination processing. Of course, nine different types of user interfaces can be prepared.

−mに、状態遷移探索で用いる評価関数は、各種考えら
れる。
-m, various evaluation functions can be used in the state transition search.

例えば、トラックにより1本社工場から各取次店へ新聞
を配送する場合に、配送に要する全トラックの総走行距
離および各トラックの走行距離のばらつきを最小にする
問題を考える。評価関数として以下のようなものを選ぶ
ことができる。
For example, consider the problem of minimizing the total travel distance of all trucks required for delivery and the variation in travel distance of each truck when delivering newspapers from one main factory to each distributor by truck. The following evaluation functions can be selected.

ある状態における全てのトラックの走行距離の和をE+
、その平均値と各トラックの走行距離の差の和をEx、
未配達の新聞の部数の和をEs。
The sum of the distance traveled by all trucks in a certain state is E+
, the sum of the difference between the average value and the mileage of each truck is Ex,
Es is the sum of the number of undelivered newspaper copies.

それまでの作用素の適用回数をE、とする、このそれぞ
れの要素(E、〜E、)に対する重み付けを、W1〜W
4として、評価関数を次のように定める。
The number of times the operator has been applied up to that point is E, and the weighting for each element (E, ~E,) is W1 ~ W
4, the evaluation function is determined as follows.

B3 xw、−B、xw、−B、XW2−E4  xw
B3 xw, -B, xw, -B, XW2-E4 xw
.

他の問題についても、同様に適当な評価関数を定め、そ
の評価関数値による優良優先状態遷移探索を行うことが
できることは言うまでもない。
It goes without saying that for other problems as well, it is possible to similarly determine an appropriate evaluation function and search for superior priority state transitions using the evaluation function value.

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

計画型の問題解決等を状態空間探索で行う場合には、展
開可能な状態は同時に多数存在し得るため、プロセスに
状態を対応付けることにより、高い並列性が望める。こ
の時、評価関数値の高い状態から優先的に展開すること
により、効率良く解を求めることができる。また、評価
関数値の低い状態を枝刈りしてしまうのでなく、中断さ
せておくだけであるため、どのような評価関数を用いて
も、必要なパスが刈り取られて解が得られなくなること
がない。
When performing planned problem solving using state space search, a large number of expandable states can exist at the same time, so high parallelism can be achieved by associating states with processes. At this time, a solution can be efficiently obtained by preferentially expanding from a state with a high evaluation function value. In addition, because the state with a low evaluation function value is not pruned but only interrupted, no matter what evaluation function is used, the necessary path will be pruned and a solution will not be obtained. do not have.

この評価関数値を一元的に厳格に管理しようとすると、
管理処理の負荷が大きくなり並列性が損なわれる。本発
明によれば、必ずしも最良の評価関数値を持つ状態でな
く、ローカルに良い評価関数値を持つ状態を優先的に展
開することになるので、管理処理の負荷が分散され、高
並列で処理することが可能となる。
If you try to centrally and strictly manage this evaluation function value,
The management processing load increases and parallelism is impaired. According to the present invention, the state with locally good evaluation function values is preferentially deployed, not necessarily the state with the best evaluation function value, so the management processing load is distributed and processing is performed in high parallelism. It becomes possible to do so.

管理処理用のプロセス、状態遷移処理用のプロセスを木
構造に階層的に配置することにより、前述の評価関数値
による緩い管理を容易に実現することが可能となる。
By hierarchically arranging processes for management processing and processes for state transition processing in a tree structure, it becomes possible to easily implement the above-mentioned loose management using evaluation function values.

プロセスの処理の流れ。Process flow.

第6図は一般的な推論システムの例。Figure 6 is an example of a general inference system.

第7図は状態遷移図の例を示す。FIG. 7 shows an example of a state transition diagram.

図中、RNIは根ノード、BNI〜BN3は分岐ノード
、LNI〜LN4は葉ノード、SPは状態空間を表す。
In the figure, RNI represents a root node, BNI to BN3 represent branch nodes, LNI to LN4 represent leaf nodes, and SP represents a state space.

特許出願人  工業技術院長 飯塚幸三Patent applicant Kozo Iizuka, Director of the Agency of Industrial Science and Technology

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

第1図は本発明の詳細な説明するための図。 第2図は本発明を適用するシステムのハードウェア構成
例。 第3図は本発明の一実施例に係る葉ノードのプロセスの
処理の流れ。 第4図は本発明の一実施例に係る分岐ノードのオートマ
トン 第5図は本発明の一実施例に係る分岐ノードの本発明の
原3j!説明図 第 1 図 本発明のハードフェア411成1列 第 2 図 葉ノードのプロセスの処理の流n 第3図 分岐ノードのオートマトン 分岐ノードのプロセスの処理の流れ 第5図
FIG. 1 is a diagram for explaining the present invention in detail. FIG. 2 shows an example of the hardware configuration of a system to which the present invention is applied. FIG. 3 is a flowchart of a leaf node process according to an embodiment of the present invention. FIG. 4 shows a branch node automaton according to an embodiment of the present invention. FIG. 5 shows a branch node automaton according to an embodiment of the present invention. Explanatory diagram 1st figure Hardware 411 of the present invention 1st row 2nd figure Leaf node process flow n Figure 3 Branch node automaton Branch node process process flow

Claims (1)

【特許請求の範囲】 初期状態と終了条件と作用素の集合とが与えられ、作用
素の集合から適当な作用素を選択し、その作用素を用い
て初期状態から次々と状態を生成していき、終了条件を
満足する終了状態に至るような手順を導く推論システム
であって、各状態について計算された評価関数値を、次
の状態を展開する優先順位決定に利用するシステムにお
ける状態遷移探索処理方式において、 作用素の適用によって状態を遷移させる葉ノード(LN
1、LN2、・・・)プロセスと、葉ノードプロセスの
上に位置し、各葉ノードプロセスで処理する状態の割り
当て優先順位を、状態の評価関数値を用いて管理する分
岐ノード(BN1、BN2、・・・)プロセスと、 分岐ノードプロセスの上に位置し、全体を管理する根ノ
ード(RN1)プロセスとを設け、前記根ノードプロセ
ス、1または複数段の前記分岐ノードプロセス、前記葉
ノードプロセスを木型プロセス構成とし、 部分的な評価関数値の順位から部分的に決定された優先
順位に従って、各葉ノードプロセスにより、各状態を並
列に展開するようにしたことを特徴とする優良優先状態
遷移探索処理方式。
[Claims] An initial state, a termination condition, and a set of operators are given, an appropriate operator is selected from the set of operators, and the operators are used to generate states one after another from the initial state. In a state transition search processing method in an inference system that derives a procedure leading to a final state that satisfies A leaf node (LN) that changes state by applying an operator
1, LN2, ...) processes and branch nodes (BN1, BN2, etc.) that are located above the leaf node processes and manage the allocation priority of the states processed by each leaf node process using the state evaluation function values. ,...) process, and a root node (RN1) process that is located above the branch node process and manages the whole, and the root node process, the branch node process in one or more stages, and the leaf node process are provided. is a tree-like process structure, and each state is expanded in parallel by each leaf node process according to a priority partially determined from the order of partial evaluation function values. Transition search processing method.
JP63140410A 1988-06-09 1988-06-09 Retrieval processing system for high level-priority state transition Pending JPH021021A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63140410A JPH021021A (en) 1988-06-09 1988-06-09 Retrieval processing system for high level-priority state transition

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63140410A JPH021021A (en) 1988-06-09 1988-06-09 Retrieval processing system for high level-priority state transition

Publications (1)

Publication Number Publication Date
JPH021021A true JPH021021A (en) 1990-01-05

Family

ID=15268096

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63140410A Pending JPH021021A (en) 1988-06-09 1988-06-09 Retrieval processing system for high level-priority state transition

Country Status (1)

Country Link
JP (1) JPH021021A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4960361A (en) * 1988-04-07 1990-10-02 Basf Aktiengesellschaft Separating sheetlike structures from piles

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4960361A (en) * 1988-04-07 1990-10-02 Basf Aktiengesellschaft Separating sheetlike structures from piles

Similar Documents

Publication Publication Date Title
CN1799034B (en) Device, system and method for utilizing tree based structure
US7650347B2 (en) System and method for job scheduling and distributing job scheduling
CN104487947B (en) The unknowable resource allocation frame in domain
JPH06507744A (en) Procedure determination technology for hierarchical inter-processor communication network between massively parallel processors
Valckenaers et al. Multi-agent coordination and control using stigmergy applied to manufacturing control
CN110689174B (en) Personnel route planning method and device based on public transportation
Zhu et al. Optimal resource assignment in internet data centers
JPH021021A (en) Retrieval processing system for high level-priority state transition
CN111400028B (en) Load balancing processing method for train management
Gaujal et al. A sweep algorithm for massively parallel simulation of circuit-switched networks
JP2005505434A (en) Method, apparatus, computer program with program code means, and computer program product for dividing all planes into partial planes and assigning each partial plane to each moving unit
Malville et al. Task allocation: A group self-design approach
JPH0245221B2 (en)
Asahara et al. LoadAtomizer: A locality and I/O load aware task scheduler for MapReduce
CN113434268A (en) Workflow distributed scheduling management system and method
Baykasoğlu et al. A multi-agent based approach to modeling and solving dynamic generalized travelling salesman problem
Chevrier et al. Comparison of three algorithms for solving the convergent demand responsive transportation problem
CN105912409A (en) Task scheduling method and device
Dornemann et al. A peer-to-peer meta-scheduler for service-oriented grid environments
CN112256437A (en) Task distribution method and device
JPH04157944A (en) Method and device for managing controlling communication network
Findler et al. Distributed air-traffic control. I: Theoretical studies
Ghodselahi Serving online requests with mobile resources
Foley et al. Optimal allocation of buffers and customers in a two-node cyclic network with multiple servers
Rekersbrink et al. An autonomous control concept for production logistics