JPH04247556A - Search execution system - Google Patents

Search execution system

Info

Publication number
JPH04247556A
JPH04247556A JP3013539A JP1353991A JPH04247556A JP H04247556 A JPH04247556 A JP H04247556A JP 3013539 A JP3013539 A JP 3013539A JP 1353991 A JP1353991 A JP 1353991A JP H04247556 A JPH04247556 A JP H04247556A
Authority
JP
Japan
Prior art keywords
search
partial
depth
results
searcher
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
JP3013539A
Other languages
Japanese (ja)
Inventor
Hideo Kikuchi
菊池 英夫
Takashi Yugawa
湯川 高志
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 JP3013539A priority Critical patent/JPH04247556A/en
Publication of JPH04247556A publication Critical patent/JPH04247556A/en
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Feedback Control In General (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

PURPOSE:To accelerate search by executing the search to partial search depth by plural partial searching means provided at a search executing means and selectively outputting plural much better solutions according to the searched results. CONSTITUTION:A search advancement control means 301 instructs the search with a partial search space, which starts from a route node 202, as an object to a partial searcher S1. As soon as getting the searched results, the partial searcher S1 successively transmits those results to an order deciding means 303. The order deciding means 303 selects the much better result out of the received searched results and transmits it to the search advancement control means 301 and the search advancement control means 301 stops the search of the partial searcher S1.

Description

【発明の詳細な説明】[Detailed description of the invention]

【0001】0001

【産業上の利用分野】本発明は、情報処理技術、特に人
工知能(AI)やオペレーションリサーチ(OR)等の
基本技術である探索実行方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to information processing technology, and particularly to a search execution method that is a basic technology of artificial intelligence (AI), operation research (OR), etc.

【0002】0002

【従来の技術】いわゆる探索問題には、経路探索問題(
エイトパズル、ルービックキューブ、巡回セールスマン
問題、ジョブショップスケジューリング、定理証明など
)、ゲーム(チェス、オセロ、囲碁など)、制約充足問
題(エイトクイーン、四色問題など)がある。これらの
探索問題の一般的な取扱い法は、開始状態をルートノー
ドとし、そこから発生する複数の状態を子ノードとして
表わす木構造の探索空間で問題を記述する方法である。 この方法では、問題が網構造であってもその問題の状態
遷移を木構造で表わすことができるので、問題の単純化
・一般化ができ、理論的な取扱いにも都合がよい。 最適経路を求めるための高速アルゴリズムとして提案さ
れているA* アルゴリズムや、ゲームの最適手を求め
る高速アルゴリズムであるαβ法なども、木構造の探索
空間を扱うために構築された理論である。
[Prior Art] So-called search problems include route search problems (
There are eight puzzles, Rubik's cube, traveling salesman problem, job shop scheduling, theorem proving, etc.), games (chess, Othello, Go, etc.), and constraint satisfaction problems (eight queen, four color problem, etc.). A common method for handling these search problems is to describe the problem in a tree-structured search space in which a starting state is a root node and multiple states generated from the root node are represented as child nodes. In this method, even if the problem has a network structure, the state transition of the problem can be expressed as a tree structure, so the problem can be simplified and generalized, and it is convenient for theoretical handling. The A* algorithm, which has been proposed as a high-speed algorithm for finding the optimal path, and the αβ method, which is a high-speed algorithm for finding the optimal move in a game, are theories constructed to handle tree-structured search spaces.

【0003】一般に、最適解を求めるための探索問題は
、探索空間の深さをD、あるノードから発生する子ノー
ドの数をbとすると、その計算量がO(bD )りなり
、指数オーダとなる。このような事象を組み合せ爆発と
呼んでおり、探索問題の隘路となっている。例えば、今
日の先端的なコンピュータを用いた場合、ノード総数が
1013である15パズルの最適解を妥当な時間内に求
めることはできるが、24パズル以上の最適解を求める
ことはほとんど不可能である。同様にノード数が4x1
019であるルービックキューブや、10120 とな
るチェスの最適解なども今日では解けない状況にある。
In general, the search problem for finding an optimal solution requires an exponential amount of calculation, where D is the depth of the search space and b is the number of child nodes generated from a certain node. becomes. Such an event is called a combinatorial explosion, and it is a bottleneck in search problems. For example, with today's advanced computers, it is possible to find an optimal solution for 15 puzzles with a total of 1013 nodes in a reasonable amount of time, but it is almost impossible to find an optimal solution for 24 or more puzzles. be. Similarly, the number of nodes is 4x1
Today, it is impossible to solve the Rubik's Cube, which is 019, or the optimal solution for chess, which is 10120.

【0004】探索問題には、最適解を求めることが重要
な課題である場合のほかに、近似解を求めることがより
重要である場合が少なくない。現実に存在する問題はほ
とんどがそのような場合である。むしろ、最適解の導出
は、上述のように多くの計算量を必要とするので、現実
の問題を解くにはほとんど無力であるといってよい。し
たがって、現実の探索問題の課題は、できるだけ最適解
に近い近似解をできるだけ高速に求める手法の開発にあ
るといってよい。このような観点からの従来技術として
は、チェスなどのゲームにおいて使用されている実時間
探索法がある。これは、探索深さを適当な値do に固
定してαβ法により枝刈りをして最適解Go を求め、
次に制限時間に余裕がある限り探索深さを1ずつ増やし
ながら、do +1,do +2,do +3,…の場
合の最適解G1 ,G2 ,G3 ,…を順次繰り返し
ながら求める方法である。制限時間内に求めたiが最大
のGi を答とすることによって、限られた時間内での
最も最適な解とする。
In search problems, in addition to cases in which finding an optimal solution is an important task, there are also many cases in which finding an approximate solution is more important. Most of the problems that exist in reality are like this. Rather, deriving the optimal solution requires a large amount of calculation as described above, so it can be said that it is almost powerless to solve actual problems. Therefore, the challenge for real search problems is to develop a method for finding an approximate solution as close to the optimal solution as quickly as possible. As a conventional technique from this point of view, there is a real-time search method used in games such as chess. This involves fixing the search depth to an appropriate value do, pruning using the αβ method, and finding the optimal solution Go.
Next, the search depth is increased by 1 as long as the time limit allows, and the optimal solutions G1, G2, G3, etc. in the cases of do +1, do +2, do +3, etc. are sequentially determined. The answer is Gi with the maximum i found within the time limit, thereby obtaining the most optimal solution within the limited time.

【0005】ゲーム以外の問題においても、このような
手法は採り入れられており、R.E.Korfは経路探
索問題をA* アルゴリズムで解く際に利用している(
R.E.Korf:”Real−Time Heuri
stic Search,”Artificial I
ntelligence42,99.189−211,
1990 参照)。図3はその手法である探索開始点漸
深法を説明する図である。図3において、101は全探
索空間、102はルートノード(探索起点)、103は
ゴールノード(探索終点)、104,105,106は
、それぞれ探索開始点107,108,109から始ま
る探索深さdの部分探索空間、111,112,113
は、それぞれ探索開始点107,108,109から始
まる探索深さdの部分探索空間のなかの最適解経路の最
初の1段を表している。なお、110は、同様に、1つ
上位の探索開始点(図中に表示していない)からの経路
の最初の1段である。図3において、探索は以下のよう
に進行する。まず、探索深さを適当な値dに固定して、
A* アルゴリズムによる最適解の探索を開始する。次
に、得られた最適解の経路に沿って1だけ探索開始点を
深さ方向に進め、再び探索深さdのA* アルゴリズム
による探索を繰り返す。図3に示されているのは、繰り
返しが3回おこなわれた状態から先の様子であり、部分
探索空間104の最適探索により得られた経路の最初の
1段111を選択し、さらに探索開始点108から始ま
る部分探索空間105の最適探索により得られた経路の
最初の1段112を選択する様子を示している。このよ
うな過程を繰り返し、部分探索空間の最適探索結果がゴ
ールノード103に到達していればその時点で探索を終
了する。ゴールノードは図中に示した以外にもいくつか
あり、103はそのなかでKorfの探索開始点漸深法
により最も最初に見い出されたものを示している。この
ようにすれば、必ずしも最適解が得られる保証はないも
のの、一応の答が短時間のうちに求められることになる
。Korfの報告によれば、探索深さdを10としてエ
イトパズルを解く手数は、平均44手であり、最適解の
平均22手に比べて悪いものの、処理時間としては大幅
に削減されている。
[0005] Such a method has been adopted in problems other than games, and R. E. Korf is used to solve route search problems using the A* algorithm (
R. E. Korf: “Real-Time Heuri
stic Search,”Artificial I
intelligence42, 99.189-211,
(see 1990). FIG. 3 is a diagram illustrating a search starting point gradual depth method, which is a method for this purpose. In FIG. 3, 101 is the entire search space, 102 is the root node (search starting point), 103 is the goal node (search end point), and 104, 105, and 106 are search depths d starting from search starting points 107, 108, and 109, respectively. subsearch space of, 111, 112, 113
represent the first stage of the optimal solution path in the partial search space of search depth d starting from search starting points 107, 108, and 109, respectively. Similarly, 110 is the first stage of the route from the next higher search starting point (not shown in the figure). In FIG. 3, the search proceeds as follows. First, fix the search depth to an appropriate value d,
A* Start searching for the optimal solution using the algorithm. Next, the search starting point is advanced by 1 in the depth direction along the path of the obtained optimal solution, and the search using the A* algorithm is repeated again at the search depth d. What is shown in FIG. 3 is the state after three iterations, where the first stage 111 of the route obtained by the optimal search in the partial search space 104 is selected, and the search is started. It shows how the first stage 112 of the route obtained by the optimal search of the partial search space 105 starting from the point 108 is selected. Such a process is repeated, and if the optimal search result of the partial search space reaches the goal node 103, the search ends at that point. There are several goal nodes other than those shown in the figure, and 103 indicates the one found first by Korf's search starting point gradual depth method. In this way, although there is no guarantee that an optimal solution will be obtained, a tentative answer can be obtained within a short time. According to a report by Korf, the number of moves required to solve the eight puzzle when the search depth d is 10 is 44 moves on average, which is worse than the average of 22 moves for the optimal solution, but the processing time is significantly reduced.

【0006】[0006]

【発明が解決しようとする課題】しかし、Korfの提
案している探索開始点漸深法には、以下に述べるような
探索手法としての確実性に関する大きな問題がある。す
なわち、エイトパズルの場合には、解に到達するまでの
手数を問わなければ確実に探索が成功するといってよか
ったが、このようなことは一般的に言えるわけではなく
、たまたま選ばれた部分探索空間に解が含まれないよう
な問題はいくらでも存在しうるのである。このような場
合には、全探索空間を一括探索すれば本来到達できるゴ
ールに、探索開始点漸深法では到達できないことになり
、この探索手法の大きな欠点となっている。Korfが
例題として取り上げているエイトパズルのように、ゴー
ルに至る経路が多数ある場合には、この欠点は目立たな
いが、探索開始点漸深法は、一般的に見れば確実性に欠
ける探索手法といえる。
However, the search starting point gradual depth method proposed by Korf has a major problem regarding its reliability as a search method, as described below. In other words, in the case of the eight puzzle, it was safe to say that the search would be successful as long as the number of steps required to arrive at the solution was not considered, but this cannot be said in general; There can be any number of problems for which space does not contain a solution. In such a case, the goal that could originally be reached by searching the entire search space at once cannot be reached using the search starting point gradual depth method, which is a major drawback of this search method. This drawback is not noticeable when there are many paths leading to the goal, such as the eight puzzle that Korf uses as an example, but the search starting point gradual depth method is generally a search method that lacks certainty. It can be said.

【0007】本発明は、上記に鑑みてなされたもので、
その目的とするところは、探索開始点漸深法の欠点であ
る探索の不確実性を減少させ、探索の高速化を達成する
探索実行方式を提供することにある。
The present invention has been made in view of the above, and
The purpose is to provide a search execution method that reduces search uncertainty, which is a drawback of the search starting point gradual depth method, and achieves faster search.

【0008】[0008]

【課題を解決するための手段】上記目的を達成するため
、本発明の探索実行方式は、ある探索深さの木構造の探
索空間を探索する探索実行方式であって、前記探索深さ
より深くない部分探索深さまで探索する複数の部分探索
手段を有する探索実行手段と、該探索実行手段が出力す
る探索結果から複数のよりよい解を選択出力する順位決
定手段と、探索実行処理を全体的に制御する探索進行制
御手段とを有することを要旨とする。
[Means for Solving the Problems] In order to achieve the above object, the search execution method of the present invention is a search execution method that searches a tree-structured search space of a certain search depth, which is not deeper than the search depth. A search execution means having a plurality of partial search means for searching to a partial search depth, a ranking determination means for selecting and outputting a plurality of better solutions from the search results output by the search execution means, and overall control of the search execution process. The gist is to have a search progress control means.

【0009】[0009]

【作用】本発明の探索実行方式では、探索実行手段に設
けられている複数の部分探索手段によって部分探索深さ
まで探索し、この探索結果から複数のよりよい解を選択
出力している。
[Operation] In the search execution method of the present invention, a plurality of partial search means provided in the search execution means searches to a partial search depth, and a plurality of better solutions are selected and output from the search results.

【0010】0010

【実施例】以下、図面を用いて本発明の実施例を説明す
る。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Examples of the present invention will be described below with reference to the drawings.

【0011】本実施例の探索実行方式の最も主要な特徴
は、探索開始点漸深法により互いに独立な複数の部分探
索空間の探索を実行することと、得られた探索結果を相
互に比較評価する手段により、その中から最良の複数個
の経路を選択して漸深させ、再度、同様な探索を繰り返
すところにある。
The most important feature of the search execution method of this embodiment is that it executes a search in a plurality of mutually independent partial search spaces using the search starting point gradual depth method, and that it mutually compares and evaluates the search results obtained. The method is to select a plurality of best routes from among them, gradually deepen the search, and repeat the same search again.

【0012】まず、図1を用いて基本原理を説明する。 図1において、201は全探索空間、202はルートノ
ード(探索起点)、203はゴールノード(探索終点)
、204〜212は、それぞれ探索深さdの部分探索空
間、215〜217、219〜221は、それぞれの探
索開始点から始まる探索深さdの部分探索空間のなかの
最適解経路の最初の1段、218はその探索開始点から
始まる探索深さdの部分探索空間のなかの第2最適解経
路の最初の1段を表している。なお、213,214は
、同様に、1つ上位の探索開始点(図中に表示していな
い)からの経路の最初の1段である。図1においては繁
雑さを避けるため探索開始点の表示を省略しているが、
図3と同様に三角形の頂点がそれに相当する。また、図
1は以下の説明に現れる多重度kが2の場合に相当する
First, the basic principle will be explained using FIG. In FIG. 1, 201 is the entire search space, 202 is the root node (search starting point), and 203 is the goal node (search end point).
, 204-212 are partial search spaces with a search depth d, and 215-217, 219-221 are the first optimal solution paths in the partial search spaces with a search depth d starting from the respective search starting points. The stage 218 represents the first stage of the second optimal solution path in the partial search space of search depth d starting from the search starting point. Note that 213 and 214 are similarly the first stage of the route from the next higher search starting point (not shown in the figure). In Figure 1, the search starting point is omitted to avoid complexity.
Similar to FIG. 3, the vertices of the triangle correspond to it. Further, FIG. 1 corresponds to a case where the multiplicity k that appears in the following explanation is 2.

【0013】図1において、探索は以下のように進行す
る。まず、ルートノードにおいて、探索深さを適当な値
dに固定して、部分探索空間の探索を開始する。これに
より得られた第1〜第k最適解の経路に沿って1だけ探
索開始点を深さ方向に進め、k個の部分探索空間を生成
する。これらの部分探索空間について独立に探索深さd
の探索を実行する。次に、各部分探索空間の探索結果を
寄せ集めて評価し、探索結果の良い順にk個の異なる経
路を選択する。そして、これらのk個の最適解経路に沿
って1だけ探索開始点を深さ方向に進め、次階層のk個
の部分探索空間を生成して、同様な処理を繰り返す。
In FIG. 1, the search proceeds as follows. First, at the root node, the search depth is fixed to an appropriate value d and a search in the partial search space is started. The search starting point is advanced by 1 in the depth direction along the path of the first to kth optimal solutions obtained thereby to generate k partial search spaces. Search depth d for these subsearch spaces independently
Execute the search. Next, the search results of each partial search space are collected and evaluated, and k different routes are selected in descending order of the search results. Then, the search starting point is advanced by 1 in the depth direction along these k optimal solution paths, k partial search spaces of the next layer are generated, and the same process is repeated.

【0014】図1に示されているのは、ルートノードに
おける探索およびその後の探索を2回おこなった状態以
降の様子である(ただし、既に述べたように多重度k=
2としている)。2層目の部分探索空間の探索により得
られた最適探索経路の最初の1段213と別の最適探索
経路の最初の1段214に沿って探索開始点を深さ方向
に進めると、次の部分探索空間204,205が得られ
る。図1には、214に■、213に■と付してあるが
、丸付き数字は2層目までの全探索結果を総合的にみて
の最適順位を示している。
What is shown in FIG. 1 is the state after the search at the root node and the subsequent search have been performed twice (however, as already mentioned, the multiplicity k=
2). If the search starting point is advanced in the depth direction along the first stage 213 of the optimal search path obtained by searching the second layer partial search space and the first stage 214 of another optimal search path, the next Partial search spaces 204 and 205 are obtained. In FIG. 1, 214 is marked with ■ and 213 is marked with ■, and the circled numbers indicate the optimal ranking based on a comprehensive view of all search results up to the second layer.

【0015】3層目においては、部分探索空間204,
205が独立に探索され、それぞれの最適探索経路の最
初の1段215,216が得られる。ここでは、215
に■、216に■と、丸付き数字が付されているが、3
層目までの全探索結果を総合的にみると最適順位がこの
順になることを示している。2層目までの全探索結果と
3層目までの全探索結果を比較すると、丸付き数字の振
られ方が入れ替わっている。
In the third layer, the partial search space 204,
205 are searched independently, and the first stage 215, 216 of each optimal search path is obtained. Here, 215
There are circled numbers such as ■ and 216, but 3
A comprehensive look at all search results up to the layer shows that the optimal ranking is in this order. When comparing the full search results up to the second layer and the full search results up to the third layer, the way in which the circled numbers are assigned is reversed.

【0016】さらに、4層目では、部分探索空間206
,207の探索が独立に進められ、それぞれの最適探索
経路の最初の1段217,219が得られる。ところが
、4層目までの全探索結果を総合的にみると、丸付き数
字が示すように219は総合的にみた場合の最適順位は
■であり、部分探索空間206から得られる第2最適探
索経路の最初の1段218のほうがより高い評価■を得
ている。この時点で、以降の探索は、部分探索空間20
6に引き続く部分探索空間208,209を対象として
実行され、部分探索空間210の探索は切り捨てられる
Furthermore, in the fourth layer, the partial search space 206
, 207 are performed independently, and the first stage 217, 219 of each optimal search path is obtained. However, when looking comprehensively at all search results up to the fourth layer, as shown by the circled numbers, the overall optimal ranking for 219 is ■, and the second optimal search obtained from the partial search space 206 The first stage 218 of the route has a higher rating ■. At this point, the subsequent search is performed using the partial search space 20
The partial search spaces 208 and 209 subsequent to 6 are executed, and the search in the partial search space 210 is truncated.

【0017】このような過程を繰り返し、いずれかの部
分探索空間の最適探索結果がゴールノード203に到達
していればその時点で探索を終了する。ゴールノードは
図中に示した以外にもいくつかあり、203はそのなか
で本探索法により最も最初に見い出されたものを示して
いる。
[0017] Such a process is repeated, and if the optimal search result of any partial search space reaches the goal node 203, the search ends at that point. There are several goal nodes other than those shown in the figure, and 203 indicates the one found first by this search method.

【0018】図3と比較し、図1の探索結果は、より適
切な結果を示しているといえる。なぜなら、両図の比較
から明らかなように、4層目の探索の段階で、図3で最
適候補であった経路112は、図1に示すように全体か
らみれば第3候補(219)にしか過ぎないからである
。本探索実行方式によれば、最適解が得られる絶対の保
証はないものの、より良質な近似解が短時間のうちに求
められ、かつ、本来求められるはずの解を求められない
まま終わる危険性が減少することになる。
Compared with FIG. 3, the search results in FIG. 1 can be said to show more appropriate results. This is because, as is clear from the comparison between the two figures, at the fourth layer search stage, route 112, which was the optimal candidate in Figure 3, becomes the third candidate (219) from the overall perspective as shown in Figure 1. This is because it is too much. According to this search execution method, although there is no absolute guarantee that an optimal solution will be obtained, a better-quality approximate solution can be found in a short time, and there is a risk of ending up without finding the solution that was supposed to be found. will decrease.

【0019】本探索実行方式により探索に要する計算量
は、従来技術であるKorfの探索開始点漸深法のそれ
のk倍よりも小さくなる。なぜなら、本探索実行方式は
全探索空間を同時並行的にk通りの探索をおこない、幾
つかあるゴールノードの1つに経路のどれかが到達した
時点で探索を終了するのに対し、従来技術では特定の経
路がゴールノードに到達するまで探索が継続されるため
、本探索実行方式によるゴールノードまでの探索深さは
従来技術のそれに等しいかそれより小さくなるからであ
る。簡単に言えば、本探索実行方式は従来技術よりも最
適な経路を求めることができるが、この事実は、解に到
達するまでの探索深さがより小さくなることを意味して
いる。偶然従来技術が本探索実行方式の解と同一解を得
た場合には本探索実行方式の計算量は従来技術のそれの
k倍となるが、一般的には探索深さが小さくなることに
相当する量だけ計算量は少なくなる。
According to this search execution method, the amount of calculation required for the search is k times smaller than that of the prior art Korf's search starting point progressive depth method. This is because the present search execution method searches the entire search space in k ways in parallel, and ends the search when one of the routes reaches one of several goal nodes, whereas the conventional method This is because the search is continued until a specific route reaches the goal node, so the search depth to the goal node by this search execution method is equal to or smaller than that of the conventional technique. Simply put, this search execution method is able to find a more optimal route than the prior art, but this fact means that the depth of search to reach a solution is smaller. If by chance the conventional technique obtains the same solution as the solution of the present search execution method, the amount of calculation of the present search execution method will be k times that of the conventional technique, but the search depth will generally be smaller. The amount of calculation is reduced by a corresponding amount.

【0020】次に、図2を参照して、本発明の一実施例
を説明する。図2において、301は探索進行制御手段
、302は探索実行手段、303は探索結果の順位決定
手段、304〜306は部分探索器S1 ,S2 …,
Sk である。
Next, an embodiment of the present invention will be described with reference to FIG. In FIG. 2, 301 is a search progress control means, 302 is a search execution means, 303 is a search result ranking determination means, and 304 to 306 are partial searchers S1, S2...,
It is Sk.

【0021】図2に示す探索実行方式は、探索信号制御
手段301による全体制御のもとに動作するが、次のそ
の動作について説明する。
The search execution method shown in FIG. 2 operates under the overall control of the search signal control means 301, and its operation will be explained below.

【0022】探索進行制御手段301は、はじめに全体
の初期化をおこない、引続き部分探索器S1 (304
)に対してルートノード202から始まる部分探索空間
を対象とした探索を指示する。部分探索器S1 (30
4)は、探索結果が得られ次第、順次それを順位決定手
段303に送出する。順位決定手段303は、受けとっ
た探索結果からよりよい結果をk個選択する。例えば、
部分探索器の探索アルゴリズムが最良のものから順に解
を見い出す方式であれば、最初に受けとったk個がそれ
に相当する。最良の解から順に見い出すわけではない場
合には、結果の良さを相互間で比較評価する。ただし、
どちらの場合にも、最適解経路の最初の第1段が同一の
ものは一つと数えなければならない。順位決定手段30
3は、k個のよりよい探索結果を求め終えると、探索進
行制御手段301にそれを伝え、探索進行制御手段30
1は部分探索器S1 (304)の探索を停止する。こ
のようにして得られた結果は、ルートノードから発生す
る子ノード数が少なければ、k個に満たないこともある
。このような場合には、部分探索器S1 (304)の
探索が最後まで進行するので、部分探索器S1 (30
4)は探索進行制御手段301にそれを伝える。以上で
ルートノードを探索開始点とした探索が完了する。
The search progress control means 301 first initializes the whole, and then continues to initialize the partial searcher S1 (304
) to search the partial search space starting from the root node 202. Partial searcher S1 (30
4), as soon as the search results are obtained, they are sequentially sent to the ranking determining means 303. The ranking determining means 303 selects k better results from the received search results. for example,
If the search algorithm of the partial searcher is a method of finding solutions in order from the best to the best, then the first k received corresponds to that. If the best solution is not found in order, the quality of the results is compared and evaluated. however,
In either case, if the first stage of the optimal solution path is the same, it must be counted as one. Ranking determining means 30
3, when it has finished finding k better search results, it notifies the search progress control means 301, and the search progress control means 30
1 stops the search of the partial searcher S1 (304). The result obtained in this way may be less than k if the number of child nodes generated from the root node is small. In such a case, the search by the partial searcher S1 (304) progresses to the end, so the search by the partial searcher S1 (304) proceeds to the end.
4) transmits it to the search progress control means 301. This completes the search using the root node as the search starting point.

【0023】探索進行制御手段301は、ルートノード
を除く全階層、すなわち、1層目以降の部分探索空間の
探索について、部分探索器S1 ,S2 ,…,Sk 
(304〜306)を同時並行的に実行させる。以下で
は、この場合の図2の動作の説明に移る。まず、探索進
行制御手段301は、順位決定手段303によって得ら
れたk個のよりよい探索結果をもとに、探索開始点を漸
深させ、部分探索器S1 ,S2 ,…,Sk (30
4〜306)に新しい部分探索空間を割り当てる。この
割り当ては、単純に割り当ててもよいが、前階層までの
探索結果を利用できる場合もある。例えば、部分探索器
S2 (305)が前階層で図1の部分探索空間204
を探索したとすると、部分探索器S2 (305)には
部分探索空間206の深さd−1までの結果が残ってい
るはずである。したがって、部分探索器S2 (305
)に部分探索空間206の探索を割り当てれば、全く無
関係の部分探索器に割り当てる場合に比べて探索量が減
少する。さて、部分探索器S1 ,S2 ,…,Sk 
(304〜306)は、ルートノードを探索開始点とす
る探索の場合と同様に、順次探索結果を求めて順位決定
手段303に送出する。順位決定手段303は、受けと
った探索結果からよりよい結果をk個選択する。もし、
部分探索器の探索アルゴリズムが最良のものから順に解
を見い出す方式であれば、各部分探索器S1 ,S2 
,…,Sk (304〜306)から送られてくる探索
結果をγ11,γ12,…,γ1n1 ,γ21,γ2
2,…,γ2n2 ,…,γk1,γk2,…,γkn
k とするとき、少なくともγ1n1 ,γ2n2 ,
…,γknk がk個の中に含まれないようにk個を選
択する。ただし、良好な探索結果がある部分探索器jに
偏りk個の解がすべてこれに含まれるような特別な場合
には、n1 ,n2 ,…,nj−1 ,nj+1 ,
…,nk が1以上であることを確認したうえでγj1
,γj2,…,γjkからなるk個を選択する。これは
、各々の部分探索器の探索結果の少なくとも最後に得ら
れる探索結果が、総合的にk番目より悪い順位であるこ
とを確認したうえで、より最適なk個を選択するための
手段となっている。この処理過程は、ルートノードを探
索開始点とする場合と異なる点であるが、こうすること
によってはじめてある階層の探索結果を総合的に見ての
最適なk個が求まる。部分探索器の探索アルゴリズムが
最良のものから順に解を見い出す方式でなければ、結果
の良さを相互に比較評価し、k個のよりよい結果を残す
。どちらの場合にも最適解経路の最初の第1段が同一の
ものは一つと数えなければならないことはルートノード
を探索開始点とする場合と同様である。順位決定手段3
03は、k個のよりよい探索結果を求め終えると、探索
進行制御手段301にそれを伝え、探索進行制御手段3
01は部分探索器S1 ,S2 ,…,Sk (304
〜306)の探索を停止する。このようにして得られた
結果は、発生する子ノード数が少なければ、k個に満た
ないこともある。このような場合には、部分探索器の探
索が最後まで進行し、探索進行制御手段301にそれを
伝える。もし、全部の部分探索器が探索を完了した場合
には、探索進行制御手段301が順位決定手段303に
これを伝えて順位決定処理を打ち切る。以上でルートノ
ード以外のノードを探索開始点とする場合の探索の動作
説明を終了する。
The search progress control means 301 controls the partial searchers S1, S2,..., Sk for searching all the layers except the root node, that is, the partial search space from the first layer onwards.
(304 to 306) are executed concurrently. In the following, the operation of FIG. 2 in this case will be explained. First, the search progress control means 301 gradually deepens the search starting point based on the k better search results obtained by the ranking determination means 303, and the partial searchers S1, S2,...,Sk (30
4 to 306), allocate a new partial search space. This assignment may be performed simply, but search results up to the previous layer may also be used in some cases. For example, the partial searcher S2 (305) is in the partial search space 204 in FIG.
, the results up to the depth d-1 of the partial search space 206 should remain in the partial searcher S2 (305). Therefore, the partial searcher S2 (305
) to search the partial search space 206, the amount of search is reduced compared to the case where it is assigned to completely unrelated partial searchers. Now, the partial searchers S1, S2,..., Sk
(304 to 306) sequentially obtain search results and send them to the ranking determining means 303, as in the case of a search using the root node as the search starting point. The ranking determining means 303 selects k better results from the received search results. if,
If the search algorithm of the partial searchers is a method of finding solutions in order from the best one, each partial searcher S1, S2
,...,Sk (304-306) search results sent from γ11, γ12,..., γ1n1, γ21, γ2
2,..., γ2n2 ,..., γk1, γk2,..., γkn
k, at least γ1n1, γ2n2,
..., γknk is not included in the k items. However, in a special case where all k solutions are biased toward partial searcher j with good search results, n1 , n2 , ..., nj-1 , nj+1 ,
..., after confirming that nk is 1 or more, γj1
, γj2,..., γjk are selected. This is a means for selecting the more optimal k search results after confirming that at least the last search result obtained from each partial searcher has a rank worse overall than the k-th search result. It has become. This processing process is different from the case where the root node is used as the search starting point, but by doing so, the optimal k items can be found by comprehensively looking at the search results of a certain hierarchy. If the search algorithm of the partial searcher is not a method of finding solutions in order from the best one, the quality of the results is compared and evaluated, and k better results are left. In either case, if the first stage of the optimal solution route is the same, it must be counted as one, as in the case where the root node is used as the search starting point. Ranking determining means 3
When 03 has finished obtaining k better search results, it transmits it to the search progress control means 301, and the search progress control means 3
01 is the partial searcher S1, S2,...,Sk (304
to 306) is stopped. The result obtained in this way may be less than k if the number of generated child nodes is small. In such a case, the search by the partial searcher progresses to the end, and the search progress control means 301 is notified of this. If all the partial searchers complete the search, the search progress control means 301 notifies the ranking determining means 303 of this, and terminates the ranking determining process. This concludes the explanation of the search operation when a node other than the root node is used as the search starting point.

【0024】図2において、探索の結果、ゴールノード
が得られた場合には、それを見い出した部分探索器が探
索進行制御手段301に伝え、探索進行制御手段301
は、探索の終了処理をおこなう。あるいは、直ちに終了
しないで欠点のゴールノードの探索結果到着を待ってか
ら終了処理に移ってもよい。こうすることによって、探
索でしばしば現れる同点(タイブレーク)に対処するこ
とが可能になる。
In FIG. 2, when a goal node is obtained as a result of the search, the partial searcher that found it informs the search progress control means 301, and the search progress control means 301
performs search termination processing. Alternatively, instead of terminating immediately, the process may wait for the search results for the defective goal node to arrive before moving on to the terminating process. This makes it possible to deal with ties (tie-breaks) that often appear in searches.

【0025】本探索実行方式は、完全解を得るものでは
ないが、探索深さと処理時間の関係が線形オーダ(O(
D))であり、指数オーダO(bD )に起因する組合
せ爆発を防いでおり、実用的に価値があると見なすこと
ができる。
Although this search execution method does not obtain a complete solution, the relationship between search depth and processing time is on the linear order (O(
D)), which prevents combinatorial explosion due to exponential order O(bD), and can be considered to be of practical value.

【0026】なお、部分探索器の内部探索アルゴリズム
については方式を問わないが、A* アルゴリズム(P
.E.Hart et al.:”A Formal 
Basis for the Heuristic D
etermination of Minimum C
ost Paths,”IEEE Trans.of 
Systems Science and Cyber
netics,vol.SSC−4,No.2,pp.
100−107,1968 参照)、IDA* アルゴ
リズム(R.E.Korf:”Depth−first
 iterative−deeping:An opt
imal admissble tree searc
h,”Artificial Intellegenc
e 27,pp.97−109,1985参照)、また
は古くから存在する最良優先探索アルゴリズム、山登り
法等のように最良解または最良とみられる解を優先的に
探索するアルゴリズムがより適している。
Note that the internal search algorithm of the partial searcher is not limited to any system, but the A* algorithm (P
.. E. Hart et al. :”A Formal
Basis for the Heuristic D
termination of Minimum C
ost Paths,”IEEE Trans.of
Systems Science and Cyber
netics, vol. SSC-4, No. 2, pp.
100-107, 1968), IDA* algorithm (REKorf: “Depth-first
iterative-deeping: An opt
imal admissible tree search
h,”Artificial Intellegenc.
e 27, pp. 97-109, 1985), or an algorithm that preferentially searches for the best solution or a solution that is considered to be the best, such as the long-existing best-first search algorithm or the hill-climbing method.

【0027】[0027]

【発明の効果】以上説明したように、本発明によれば、
従来技術に比べて良質な近似解を求めることができ、か
つ、本来求められるはずの解が求められないまま終わる
危険性が減少するという効果がある。また、探索に必要
な計算量は、探索深さが小さくなることに起因して、k
倍より小さくなるので、部分探索器をk個用意すること
によって、探索処理時間も減少するという効果がある。
[Effects of the Invention] As explained above, according to the present invention,
This method has the effect of being able to obtain a higher quality approximate solution than the prior art, and reducing the risk that a solution that should originally have been obtained will not be obtained. In addition, the amount of calculation required for the search is k due to the small search depth.
Since it is smaller than twice as much, providing k partial searchers has the effect of reducing the search processing time.

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

【図1】本発明の探索実行方式の原理を説明するための
説明図である。
FIG. 1 is an explanatory diagram for explaining the principle of a search execution method of the present invention.

【図2】本発明の一実施例に係わる探索実行方式の構成
図である。
FIG. 2 is a configuration diagram of a search execution method according to an embodiment of the present invention.

【図3】従来の探索開始点漸深法の説明図である。FIG. 3 is an explanatory diagram of a conventional search starting point gradual deepening method.

【符号の説明】[Explanation of symbols]

301  探索進行制御手段 302  探索実行手段 303  順位決定手段 304−306  部分探索器 301 Search progress control means 302 Search execution means 303 Ranking determining means 304-306 Partial searcher

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】  ある探索深さの木構造の探索空間を探
索する探索実行方式であって、前記探索深さより深くな
い部分探索深さまで探索する複数の部分探索手段を有す
る探索実行手段と、該探索実行手段が出力する探索結果
から複数のよりよい解を選択出力する順位決定手段と、
探索実行処理を全体的に制御する探索進行制御手段とを
有することを特徴とする探索実行方式。
1. A search execution method for searching a tree-structured search space with a certain search depth, comprising a plurality of partial search means for searching to a partial search depth that is not deeper than the search depth; ranking determining means for selecting and outputting a plurality of better solutions from the search results output by the search execution means;
1. A search execution method comprising: a search progress control means that controls search execution processing as a whole.
【請求項2】  前記複数の部分探索手段がそれぞれ最
良の解から順に探索結果を前記順位決定手段に送出し、
各部分探索手段から出力される解の少なくとも1つが前
記順位決定手段の複数の出力に含まれないか、または前
記部分探索手段の1つから出力される複数の解のすべて
が前記順位決定手段の複数の出力に含まれ、残りの部分
探索手段の出力が零個でないことを特徴とする請求項1
記載の探索実行方式。
2. The plurality of partial search means each send search results to the ranking determination means in order from the best solution,
Either at least one of the solutions output from each partial search means is not included in the plurality of outputs of the ranking determining means, or all of the plurality of solutions output from one of the partial searching means are included in the plurality of outputs of the ranking determining means. Claim 1 characterized in that it is included in a plurality of outputs and the remaining outputs of the partial search means are not zero.
The search execution method described.
JP3013539A 1991-02-04 1991-02-04 Search execution system Pending JPH04247556A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3013539A JPH04247556A (en) 1991-02-04 1991-02-04 Search execution system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3013539A JPH04247556A (en) 1991-02-04 1991-02-04 Search execution system

Publications (1)

Publication Number Publication Date
JPH04247556A true JPH04247556A (en) 1992-09-03

Family

ID=11835964

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3013539A Pending JPH04247556A (en) 1991-02-04 1991-02-04 Search execution system

Country Status (1)

Country Link
JP (1) JPH04247556A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012524313A (en) * 2009-04-17 2012-10-11 フラウンホファー‐ゲゼルシャフト・ツア・フェルデルング・デア・アンゲヴァンテン・フォルシュング・エー・ファウ How to find objects in a database
JP6121586B1 (en) * 2016-03-10 2017-04-26 日本電信電話株式会社 Radio scheduling apparatus and method
JP2020140345A (en) * 2019-02-27 2020-09-03 国立大学法人 名古屋工業大学 Parameter search method, data structure for parameter search, parameter adjustment system, computer program and control system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012524313A (en) * 2009-04-17 2012-10-11 フラウンホファー‐ゲゼルシャフト・ツア・フェルデルング・デア・アンゲヴァンテン・フォルシュング・エー・ファウ How to find objects in a database
US8886652B2 (en) 2009-04-17 2014-11-11 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method for searching objects in a database
JP6121586B1 (en) * 2016-03-10 2017-04-26 日本電信電話株式会社 Radio scheduling apparatus and method
JP2017163376A (en) * 2016-03-10 2017-09-14 日本電信電話株式会社 Wireless scheduling device and method
JP2020140345A (en) * 2019-02-27 2020-09-03 国立大学法人 名古屋工業大学 Parameter search method, data structure for parameter search, parameter adjustment system, computer program and control system

Similar Documents

Publication Publication Date Title
Hefetz et al. Positional games
Meseguer Interleaved depth-first search
Gasser Harnessing computational resources for efficient exhaustive search
Brandt et al. The computational complexity of choice sets
Cazenave Monte carlo beam search
Chan et al. Hardness of approximation in PSPACE and separation results for pebble games
JPH04247556A (en) Search execution system
Auger An infiltration game on k arcs
Ghosh et al. A simple recursive backtracking algorithm for knight's tours puzzle on standard 8× 8 chessboard
Perregaard Branch and bound methods for the multi-processor job-shop and flow-shop scheduling problems
Grable On random greedy triangle packing
Derbel et al. Fast distributed graph partition and application
Sacaluga An alternative algorithm for the–Queens puzzle
Hromkovič et al. The power of nondeterminism and randomness for oblivious branching programs
Bockholt et al. Why is this so hard? Insights from the state space of a simple board game
Chalopin et al. Fault-tolerant rendezvous in networks
Epstein 22 Examples of Solution Compression via Derandomization
Fox et al. On the computational complexities of various Geography variants
Forcan Maker-Breaker games on graphs
Cieslik On-line graph coloring
Burgess et al. An introduction to the deduction number
CN115293449B (en) Distribution optimization method for tasks with time window and coupling constraint
Kudahl Deciding the on-line chromatic number of a graph with pre-coloring is PSPACE-complete
Chen Revisiting the Theory and Practice of Bidirectional and Suboptimal Heuristic Search Algorithms
Yoshimura et al. Estimation of Rates Arriving at the Winning Hands in Multi-Player Games with Imperfect Information