JP2020009122A - Control program, control method and system - Google Patents

Control program, control method and system Download PDF

Info

Publication number
JP2020009122A
JP2020009122A JP2018129322A JP2018129322A JP2020009122A JP 2020009122 A JP2020009122 A JP 2020009122A JP 2018129322 A JP2018129322 A JP 2018129322A JP 2018129322 A JP2018129322 A JP 2018129322A JP 2020009122 A JP2020009122 A JP 2020009122A
Authority
JP
Japan
Prior art keywords
node
time
action
search
tree
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.)
Granted
Application number
JP2018129322A
Other languages
Japanese (ja)
Other versions
JP7093547B2 (en
Inventor
セイドゥ バ
Seydou Ba
セイドゥ バ
慶雅 鶴岡
Yoshimasa Tsuruoka
慶雅 鶴岡
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
National Institute of Advanced Industrial Science and Technology AIST
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 National Institute of Advanced Industrial Science and Technology AIST filed Critical National Institute of Advanced Industrial Science and Technology AIST
Priority to JP2018129322A priority Critical patent/JP7093547B2/en
Publication of JP2020009122A publication Critical patent/JP2020009122A/en
Application granted granted Critical
Publication of JP7093547B2 publication Critical patent/JP7093547B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

To provide a control program, a control method, and a system capable of selecting and instructing an action according to a task at an appropriate time interval.SOLUTION: A control method includes the steps of: (A) in a search tree for a tree search for selecting an action and a time, in which an action to be executed next and a time until the further next action to be executed are associated with an edge between nodes, performing search processing of searching for a node with a value of a first evaluation expression while adding a new node during a time period associated with an edge to the node selected in the search processing previously executed; and (B) causing a control object to execute the action associated with the edge to the node selected in the search processing executed this time.SELECTED DRAWING: Figure 2

Description

本発明は、最適制御技術に関する。   The present invention relates to an optimal control technique.

モンテカルロ木探索(Monte Carlo Tree Search: MCTS)は、決定空間を追加的に伸びる探索木で表すことで、現在の状態において採るべき最善のアクションを決定するものである。探索木は、ランダムなシミュレーションにより、シミュレートされた新たな状態(ノード)と、アクション(エッジ又は辺)とで更新される。ノード及び辺を繰り返し追加することで、現在の状態から終了状態(terminal state)まで遷移する。探索木のノードは、そのノードの状態から先に進む場合における期待報酬(expected reward)を保持している。ノードの期待報酬は、そのノードを介して進む全シミュレーションの平均的な成果を表している。   Monte Carlo Tree Search (MCTS) determines the best action to be taken in the current state by representing the decision space with an additional growing search tree. The search tree is updated with a simulated new state (node) and an action (edge or edge) by random simulation. By repeatedly adding nodes and edges, a transition is made from the current state to a terminal state. Each node of the search tree holds an expected reward when proceeding from the state of the node. The expected reward of a node represents the average performance of all simulations going through that node.

MCTSのシミュレーションは、選択(selection)、展開(expansion)、ロールアウト(roll-out)及び逆伝搬(backpropagation)の4つのフェーズに分けられる。図1に4つのフェーズを簡易的に示している。(1)選択フェーズでは、まだ十分に展開されていないノードに達するまでルートからノードを選択してゆく。図1の例では、ルートノードから2階層下のノードが選択されたことが矢印で表されている。(2)展開フェーズでは、選択フェーズで選択されたノードに、1つのノードが追加される。(3)ロールアウトフェーズでは、ロールアウトのデフォルトポリシーに従ってシミュレーションを行う。(4)逆伝搬フェーズでは、シミュレーションの結果を逆方向、すなわちリーフノードからルートノード方向に伝搬してゆく。図1の例では、追加されたノード、選択されたノード、その親ノード、そしてルートノードに、シミュレーションの結果が逆方向に伝播されていく様子が模式的に示されている。
上でも述べたように、ノードは、シミュレートされたタスクの状態を表し、辺は、現在のノードの状態から子ノードの状態へ遷移するために実行されたアクションに対応する。
MCTS simulations are divided into four phases: selection, expansion, roll-out, and backpropagation. FIG. 1 schematically shows the four phases. (1) In the selection phase, nodes are selected from the root until reaching nodes that have not yet been fully deployed. In the example of FIG. 1, an arrow indicates that a node two levels below the root node has been selected. (2) In the development phase, one node is added to the nodes selected in the selection phase. (3) In the rollout phase, a simulation is performed according to the default policy of rollout. (4) In the back propagation phase, the result of the simulation is propagated in the reverse direction, that is, from the leaf node to the root node. In the example of FIG. 1, a state in which the result of the simulation is propagated in the opposite direction to the added node, the selected node, its parent node, and the root node is schematically illustrated.
As mentioned above, a node represents the state of a simulated task, and an edge corresponds to the action performed to transition from the state of the current node to the state of a child node.

MCTSの各シミュレーションは、現在の状態に対応するルートノードから始まる。上で述べた選択フェーズにおいては、ノードの値と被訪問回数とについて定義された選択ポリシーに基づき探索木の辺をたどってゆく。そして、子ノードを追加できるノードに到達すると、そのノードに新たなリーフノードを追加することで、探索木を拡張する。このリーフノードの追加が、展開フェーズの処理である。そして、ロールアウトフェーズにおいて、新たなリーフノードの状態から、ロールアウトポリシーが適用される。ロールアウトのシミュレーションは、許可された最大回数実行するか又は終了状態に至るまで繰り返される。このロールアウトポリシーには、ストレートフォワードランダムアクション(straight-forward random action)というロールアウトポリシーが広く用いられている。最後に、シミュレーションの結果が、リーフノードからルートノードまでの部分木において管理されている情報を更新するように、逆伝搬される。   Each simulation of the MCTS starts with the root node corresponding to the current state. In the above-described selection phase, the search tree is traversed based on a selection policy defined for the value of the node and the number of visits. Then, when reaching a node where a child node can be added, the search tree is extended by adding a new leaf node to the node. This addition of the leaf node is the processing of the development phase. Then, in the rollout phase, the rollout policy is applied from the state of the new leaf node. The simulation of the rollout is repeated the maximum number of times allowed or until an end condition is reached. As this rollout policy, a rollout policy called a straight-forward random action is widely used. Finally, the result of the simulation is back-propagated to update the information managed in the subtree from the leaf node to the root node.

なお、MCTSの選択フェーズにおけるキーは、有望なアクションの活用と決定空間の探索とのバランスをとることで、Upper Confidence Bounds applied to Trees (UCT)アルゴリズムが、それに対する良い解を与えており、一般的に用いられている。   The key in the selection phase of MCTS is to balance the use of promising actions and the search of decision space, and the Upper Confidence Bounds applied to Trees (UCT) algorithm has given a good solution to it. It is used regularly.

典型的なMCTSは、有限数のシーケンシャルな決定問題に適用される。しかし、決定空間がとても広いと、ある状態からすべてのアクションが少なくとも一度は探索されるので、探索木の展望がとても浅くなってしまうという問題が生ずる。このような場合は、決定空間が無限で連続であるという環境において生ずる。このような問題については、Hierarchical Optimistic Optimization applied to Tree (HOOT)というアプローチが提案されている。HOOTは、UCTの限界を超えるために、HOOアルゴリズムを木探索プランニングに統合したものである。HOOは、bandit問題に対する選択ポリシーを構成しており、その選択ポリシーは、前回のシミュレーションの結果に関して、アーム(arm)の選択で損した範囲(後悔の範囲:regret bounds)を改善するものである。HOOは、決定空間を木として分解することで、決定空間の一般的なトポロジカルな表現を形成するものである。   A typical MCTS is applied to a finite number of sequential decision problems. However, if the decision space is very large, there is a problem that the view of the search tree becomes very shallow because all actions are searched at least once from a certain state. Such a case occurs in an environment where the decision space is infinite and continuous. For such a problem, an approach called Hierarchical Optimistic Optimization applied to Tree (HOOT) has been proposed. HOOT integrates the HOO algorithm into tree search planning to go beyond the limits of UCT. HOO constitutes a selection policy for the bandit problem, and the selection policy is to improve the range (regret bounds) lost in the selection of the arm with respect to the result of the previous simulation. . HOO forms a general topological representation of a decision space by decomposing the decision space as a tree.

アクションが照会されると、HOOアルゴリズムでは、ノードで算出されるB-valueというスコアが最大となるパスに沿って探索が行われる。リーフノードでは、リーフノードで表される、決定空間内の範囲においてアクションがサンプリングされる。そして、2つの子ノードが、そのリーフノードに追加され、各子ノードは、そのリーフノードの親ノードにより表される、決定空間内の範囲の半分をカバーする。   When an action is queried, the HOO algorithm performs a search along a path having a maximum score of B-value calculated at a node. At the leaf nodes, actions are sampled in a range in the decision space represented by the leaf nodes. Then, two child nodes are added to the leaf node, each child node covering half of the range in decision space represented by the leaf node's parent node.

HOOTは、UCTに類似するが、HOOTは、連続的なアクションのbanditアルゴリズムであるHOOを探索木の各ノードに配置するものである。HOOは、UCTにおける離散アクションという限界を超えるため、アクションの選択のために、決定空間をサンプリングするのに用いられる。   HOOT is similar to UCT, but HOOT places a HOO, a bandit algorithm of continuous actions, at each node of the search tree. HOO is used to sample the decision space for selection of actions because it exceeds the limit of discrete actions in UCT.

従来のMCTSにおいては、アクションを選択してから次のアクションを選択するまでの時間間隔は固定であった。そのため、状態が刻々と変化するような環境においては、この時間間隔を短くすることで対応することになる。しかしながら、時間間隔が短くなると、シミュレーションの実行回数が制限されて信頼のおける探索木が生成できないという問題がある。   In the conventional MCTS, the time interval between the selection of an action and the selection of the next action is fixed. Therefore, in an environment where the state changes every moment, it is possible to cope by shortening the time interval. However, when the time interval becomes short, there is a problem that the number of times the simulation is executed is limited and a reliable search tree cannot be generated.

また、従来のHOOTでは、1種類のアクションを取り扱うことがほとんどであり、2種類以上のアクションをどのように取り扱うかについては、具体的な提案は存在していない。   Further, in the conventional HOOT, one type of action is mostly handled, and there is no specific proposal on how to handle two or more types of actions.

Remi Coulom, "Efficient selectivity and backup operators in monte-carlo tree search" In Interna-tional conference on computers and games, pages p72-83, Springer, 2006Remi Coulom, "Efficient selectivity and backup operators in monte-carlo tree search" In Interna-tional conference on computers and games, pages p72-83, Springer, 2006 Christopher R. Mansley, Ari Weinstein, and Michael L. Littman, "Sample-based planning for continuous action markov decision processes", In Proceed-ings of the 21st International Conference on Automated Planning and Scheduling, 2011Christopher R. Mansley, Ari Weinstein, and Michael L. Littman, "Sample-based planning for continuous action markov decision processes", In Proceed-ings of the 21st International Conference on Automated Planning and Scheduling, 2011 Peter Auer, Nicolo Cesa-Bianchi, and Paul Fischer, "Finite-time analysis of the multiarmed bandit problem", Machine learning, 47(2-3):235-256, 2002Peter Auer, Nicolo Cesa-Bianchi, and Paul Fischer, "Finite-time analysis of the multiarmed bandit problem", Machine learning, 47 (2-3): 235-256, 2002 Levente Kocsis and Csaba Szepesvari, "Bandit based monte-carlo planning", In Eu-ropean conference on machine learning, pages 282-293, Springer, 2006Levente Kocsis and Csaba Szepesvari, "Bandit based monte-carlo planning", In Eu-ropean conference on machine learning, pages 282-293, Springer, 2006 Kristof Van Moffaert, "Multi-Criteria Reinforcement Learning for Sequential Decision Making Problems", 2016 Uitgeverij VUBPRESS Brussels University PressKristof Van Moffaert, "Multi-Criteria Reinforcement Learning for Sequential Decision Making Problems", 2016 Uitgeverij VUBPRESS Brussels University Press

従って、本発明の目的は、一側面として、タスクに応じたアクションを適切な時間間隔において選択して指示できるようにするための技術を提供することである。   Therefore, an object of the present invention is to provide, as one aspect, a technique for selecting and instructing an action according to a task at an appropriate time interval.

本発明に係る制御方法は、(A)ノード間の辺に、次に実行すべきアクションとさらに次に実行すべきアクションを選択するまでの時間とを対応付けた、アクション及び時間を選択する木探索のための探索木において、新たなノードを追加しつつ、第1の評価式の値でノードを探索する探索処理を、前回実行された探索処理において選択されたノードへの辺に対応付けられた時間中に実行するステップと、(B)今回実行された探索処理において選択されたノードへの辺に対応付けられたアクションを、制御対象物に実行させるステップとを含む。   According to the control method of the present invention, (A) a tree for selecting an action and a time, in which an action to be executed next and a time until a next action to be executed is selected are associated with an edge between nodes. In a search tree for search, a search process of searching for a node with the value of the first evaluation expression while adding a new node is associated with an edge to the node selected in the previously executed search process. And (B) causing the control object to execute the action associated with the side to the node selected in the search process executed this time.

一側面によれば、タスクに応じたアクションを適切な時間間隔において選択して指示できるようになる。   According to an aspect, an action according to a task can be selected and indicated at an appropriate time interval.

図1は、MCTSを説明するための図である。FIG. 1 is a diagram for explaining the MCTS. 図2は、実施の形態に係るシステム全体の概要を示す図である。FIG. 2 is a diagram illustrating an overview of the entire system according to the embodiment. 図3は、実施の形態におけるタイムシーケンス例を示す図である。FIG. 3 is a diagram illustrating a time sequence example according to the embodiment. 図4は、本実施の形態に係るMCTSの探索木の一例を示す図である。FIG. 4 is a diagram illustrating an example of a search tree of the MCTS according to the present embodiment. 図5は、モンテカルロ木探索部が実行する処理の処理フローを示す図である。FIG. 5 is a diagram depicting a processing flow of a processing executed by the Monte Carlo tree search unit; 図6は、2DHOOT部が実行する処理の処理フローを示す図である。FIG. 6 is a diagram depicting a processing flow of a processing executed by the 2DHOOT unit; 図7Aは、処理の具体例における第1のフェーズを示す図である。FIG. 7A is a diagram illustrating a first phase in a specific example of the processing. 図7Bは、処理の具体例における第2のフェーズを示す図である。FIG. 7B is a diagram illustrating a second phase in a specific example of the processing. 図7Cは、処理の具体例における第3のフェーズを示す図である。FIG. 7C is a diagram illustrating a third phase in a specific example of the processing. 図7Dは、処理の具体例における第4のフェーズを示す図である。FIG. 7D is a diagram illustrating a fourth phase in a specific example of the processing. 図7Eは、処理の具体例における第1のフェーズを示す図である。FIG. 7E is a diagram illustrating a first phase in a specific example of the processing. 図8は、コンピュータ装置のブロック構成図である。FIG. 8 is a block diagram of the computer device.

図2に、本実施の形態に係るシステムの概要を示す。本実施の形態に係るシステムは、制御装置100と、連続的にタスクを実行する制御対象物200とを含む。制御装置100は、制御対象物200に対する制御装置として機能する。   FIG. 2 shows an outline of a system according to the present embodiment. The system according to the present embodiment includes a control device 100 and a control target 200 that continuously executes a task. The control device 100 functions as a control device for the control target 200.

制御装置100は、モンテカルロ木探索部110と、2DHOOT部120と、シミュレーション部130と、インターフェース部140とを有する。インターフェース部140は、時刻tiにおいて実行すべきアクションai及び次のアクションを選択するまでの時間τiをモンテカルロ木探索部110から受け取り、時間τiの間に制御対象物200にアクションaiを実行させる。これに対して、インターフェース部140は、制御対象物200から時刻tiにおけるタスクの状態Siを受け取り、モンテカルロ木探索部110に出力する。 The control device 100 includes a Monte Carlo tree search unit 110, a 2DHOOT unit 120, a simulation unit 130, and an interface unit 140. Interface unit 140 receives the time tau i until selecting an action a i and the next action to be executed at time t i from Monte-Carlo tree searching unit 110, the action a i to the control object 200 during the time tau i Is executed. On the other hand, the interface unit 140 receives the state S i of the task at the time t i from the control target 200 and outputs it to the Monte Carlo tree search unit 110.

シミュレーション部130は、制御対象物200が実行するタスクの挙動を複製したシミュレーションモデルである。よって、モンテカルロ木探索部110が、状態Sを指定して、時間τ中にアクションaを実行するように指示すれば、シミュレーション部130は、期待される状態Sと、報酬rとを予測して、モンテカルロ木探索部110に返す。   The simulation unit 130 is a simulation model that duplicates the behavior of a task executed by the control target 200. Therefore, if the Monte Carlo tree search unit 110 specifies the state S and instructs to execute the action a during the time τ, the simulation unit 130 predicts the expected state S and the reward r. Is returned to the Monte Carlo tree search unit 110.

2DHOOT部120は、モンテカルロ木探索部110から状態SとMCTS探索木の着目ノードの平均報酬raとを受け取り、以下に述べる処理を行って、それらに応じたアクションaと時間τとを返す。 2DHOOT unit 120 receives an average reward r a state S and MCTS search tree of the node of interest from Monte-Carlo tree searching unit 110 performs the processing described below, and returns an action a and time τ corresponding to them.

モンテカルロ木探索部110は、2DHOOT部120とシミュレーション部130と協働して、以下に述べる処理を行って、次に実行すべきアクションai及びさらに次に実行すべきアクションを選択するまでの時間τiを決定する。 The Monte Carlo tree search unit 110 performs the processing described below in cooperation with the 2DHOOT unit 120 and the simulation unit 130, and selects the action a i to be executed next and the action to be executed next. Determine τ i .

具体的なタイムシーケンスを図3を用いて説明する。時間は左から右に進行するが、上段はアクションの遷移を表し、下段は時間間隔の遷移を表す。すなわち、時刻tiでは、タスクの状態は実際にはSiであるが、状態S'iを推定して、モンテカルロ木探索部110は、時刻tiにおいてアクションai及び時間τiを選択する。制御対象物200がアクションaiを実行している時間τiにおいて、モンテカルロ木探索部110は、以下で述べるような処理を行って状態S'i+1を推定して(図3では、MCTS(S'i+1)と表している)、アクションai+1及び時間τi+1を選択する。但し、時刻tiから時間τi後の時刻ti+1では、タスクの実際の状態はSi+1である。このようなシーケンスが繰り返される。なお、図3に示したようにτi=τi+1ではないかもしれないし、同じであるかもしれないが、その都度選択される。 A specific time sequence will be described with reference to FIG. Time progresses from left to right, with the upper row representing transitions in actions and the lower row representing transitions in time intervals. That is, at time t i , the state of the task is actually S i , but the state S ′ i is estimated, and the Monte Carlo tree search unit 110 selects the action a i and the time τ i at time t i . . At the time τ i during which the control target 200 is executing the action a i , the Monte Carlo tree search unit 110 estimates the state S ′ i + 1 by performing the processing described below (in FIG. 3, the MCTS (Represented as S ′ i + 1 ), action a i + 1 and time τ i + 1 are selected. However, at time t i + 1 after time tau i from time t i, the actual state of the task is S i + 1. Such a sequence is repeated. Note that τ i = τ i + 1 may not be as shown in FIG. 3 or may be the same, but is selected each time.

本実施の形態においてモンテカルロ木探索部110で探索される探索木の一例を図4を用いて説明する。本実施の形態では、ノード間の辺には、アクションと時間のペアが対応付けられている。子ノードの状態は、エッジに対応付けられているアクションが、エッジに対応付けられている時間中、親ノードの状態から適用された場合に推定される状態である。図4の例では、状態Siにおいて、アクションaiを実行している時間τi中に、次の状態S'i+1を推定して、そこから、第1の候補のアクション及び時間のペア(a1 i+1,τ1 i+1)で遷移するノードと、第2の候補のアクション及び時間のペア(a2 i+1,τ2 i+1)で遷移するノードと、第3の候補のアクション及び時間のペア(a3 i+1,τ3 i+1)で遷移するノードとがある。 An example of a search tree searched by the Monte Carlo tree search unit 110 in the present embodiment will be described with reference to FIG. In the present embodiment, a pair of an action and a time is associated with an edge between nodes. The state of the child node is a state estimated when the action associated with the edge is applied from the state of the parent node during the time associated with the edge. In the example of FIG. 4, in the state S i , during the time τ i during which the action a i is being executed, the next state S ′ i + 1 is estimated, and the action and time of the first candidate are estimated therefrom. A node transitioning with a pair (a 1 i + 1 , τ 1 i + 1 ), a node transitioning with a second candidate action / time pair (a 2 i + 1 , τ 2 i + 1 ), There is a node that transitions with a pair of action and time of three candidates (a 3 i + 1 , τ 3 i + 1 ).

本実施の形態では、モンテカルロ木探索部110は、上で述べたUCTを採用し、UCB1と呼ばれる値を最大化するノードを選択する。UCB1は、以下のように表される。なお、子ノードjを表す。
UCB1=Xaj+C×(2logn/nj1/2
In the present embodiment, the Monte Carlo tree search unit 110 adopts the UCT described above and selects a node that maximizes a value called UCB1. UCB1 is represented as follows. Note that it represents a child node j.
UCB1 = Xa j + C × (2 logn / n j ) 1/2

ここで、Xajは、子ノードjを通過するシミュレーションのすべての報酬の平均値を表す。nは、子ノードjの親ノードの被訪問回数を表し、njは子ノードjの被訪問回数を表す。また、Cは正の定数であり、実験的に決定されるものである。 Here, Xa j represents the average of all compensation simulation through the child nodes j. n represents the number of visits of the parent node of the child node j, and n j represents the number of visits of the child node j. C is a positive constant, and is determined experimentally.

図4において、第1乃至第3の候補のアクション及び時間のペアで遷移する3つのノードに付された値がUCB1の値であるとすると、矢印で示しているように、UCB1の値が最も大きいノードに繋がれた辺に係る第1の候補のアクション及び時間のペアが選択されることになる。   In FIG. 4, assuming that the values assigned to the three nodes that transit in the pair of the action and time of the first to third candidates are the values of UCB1, as shown by the arrows, the value of UCB1 is the most significant. A first candidate action and time pair for the edge connected to the larger node will be selected.

本実施の形態では、HOOTを2次元に拡張して適用することで、従来の問題を解決する。すなわち、時間とアクションとで張られる2次元空間に対して2DHOOTを用いて、時間とアクションのペアを効果的にサンプリングする。2DHOOTでは、2次元空間における領域の包含関係を階層的に示し、各領域に対応するノードを有する別の探索木を用いる。例えば、ルートノードが、2次元空間全体を表し、ルートノードの4つの子ノードが、2次元空間を4つに分割した4つの大領域を表し、子ノードの4つの孫ノードが、大領域を4つに分割した4つの中領域を表し、孫ノードの4つのひ孫ノードが、中領域を4つに分割した4つの小領域を表す。   In the present embodiment, the conventional problem is solved by extending and applying HOOT to two dimensions. That is, a pair of time and action is effectively sampled using 2DHOOT in a two-dimensional space spanned by time and action. In 2DHOOT, the inclusion relation of a region in a two-dimensional space is hierarchically shown, and another search tree having a node corresponding to each region is used. For example, a root node represents the entire two-dimensional space, four child nodes of the root node represent four large regions obtained by dividing the two-dimensional space into four, and four grandchild nodes of the child nodes represent large regions. It represents four middle regions divided into four, and four great-grandchild nodes of the grandchild node represent four small regions obtained by dividing the middle region into four.

但し、このようなペアの数については、既知のプログレッシブワイドニング(PW:Progressive widening)を用いて制限する。PWは、探索木を浅くしてしまうのを避けるために、MCTSが、制限された数のペアに初期的にはフォーカスするようにする。シミュレーションの回数が増加すると、より広く決定空間をカバーするように、考慮すべきペアを増加させる。ある時点において、子ノードの数が、ノードの被訪問回数に関連して許容されるペアの最大数に達すると、そのノードについては、十分に展開されたとみなされる。   However, the number of such pairs is limited using known progressive widening (PW). The PW causes the MCTS to initially focus on a limited number of pairs to avoid making the search tree shallow. As the number of simulations increases, the number of pairs to be considered increases so as to cover the decision space more widely. At some point, if the number of child nodes reaches the maximum number of pairs allowed in relation to the number of times the node has been visited, the node is considered fully expanded.

2DHOOTは、シミュレーション中に評価されるべきアクションと時間のペア群に対するフィルタを追加するように機能する。2DHOOTサンプリングにおいては、探索木に追加すべきアクションと時間のペアの選択は、有望なペアがより選択され易いような領域に向かうようになる。結果として、MCTSによるアクションと時間のペアの選択効率は、シミュレーションの回数が制限されていても、改善されることになる。具体例については、後に詳細に述べる。   2DHOOT functions to add a filter for action-time pairs to be evaluated during the simulation. In 2DHOOT sampling, the selection of action and time pairs to be added to the search tree is directed to regions where promising pairs are more likely to be selected. As a result, the efficiency of selecting the action-time pair by the MCTS is improved even with a limited number of simulations. Specific examples will be described later in detail.

次に、図5乃至図7Eを用いて、制御装置100の処理内容について説明する。   Next, processing contents of the control device 100 will be described with reference to FIGS. 5 to 7E.

まず、図5を用いて、タスクについて与えられた状態についてのMCTSに係る処理について説明する。   First, with reference to FIG. 5, a process related to the MCTS in a state given to a task will be described.

モンテカルロ木探索部110は、現在ノード(すなわち着目ノード)に、ルートノードを設定する(図5:ステップS1)。前回選択されたアクションと対で選択された時間τ(τは変動する)毎に行われる探索木の構築は、ルートノードから始まる。   The Monte Carlo tree search unit 110 sets a root node as a current node (that is, a node of interest) (FIG. 5: step S1). The construction of the search tree performed every time τ (τ varies) selected in combination with the previously selected action starts from the root node.

そして、モンテカルロ木探索部110は、現在ノードは十分に展開されたか否かを判断する(ステップS3)。十分に展開されたか否かは、例えばPWに基づき決定される。十分に展開されたと判断された場合には、モンテカルロ木探索部110は、現在ノードに、評価値UCB1が最大の子ノードを設定する(ステップS5)。そして処理はステップS3に戻る。UCB1の定義は、従来と同じである。   Then, the Monte Carlo tree search unit 110 determines whether or not the current node has been sufficiently expanded (step S3). Whether or not the image has been sufficiently developed is determined based on, for example, PW. If it is determined that the expansion is sufficient, the Monte Carlo tree search unit 110 sets the child node having the largest evaluation value UCB1 as the current node (step S5). Then, the process returns to step S3. The definition of UCB1 is the same as the conventional one.

一方、十分に展開されたと判断されなかった場合には、モンテカルロ木探索部110は、状態Sと平均報酬raを渡して2DHOOT部120を呼び出し、(a,τ)をサンプリングさせ、探索木に当該(a,τ)を辺とするリーフノードを追加する(ステップS7)。2DHOOT部120の処理については、後に説明する。なお、ここで、追加したリーフノードに、2DHOOTにおいてサンプリングされたノードへのポインタを保存する。 On the other hand, when it is not determined to have been fully deployed, Carlo tree searching unit 110 calls the 2DHOOT unit 120 passes the state S and the average reward r a, (a, τ) is sampled, the search tree A leaf node having the side of (a, τ) is added (step S7). The processing of the 2DHOOT unit 120 will be described later. Here, a pointer to the node sampled in 2DHOOT is stored in the added leaf node.

そして、モンテカルロ木探索部110は、サンプリングされた(a,τ)と状態Sとを渡してシミュレーション部130にタスクのシミュレーションを行わせることでロールアウトを実行する(ステップS9)。制御対象物200が実行するタスクを模したモデルでシミュレーションを実行するものである。そうすると、シミュレーション部130は、シミュレーション結果として状態Sと報酬rを返してくる。   Then, the Monte Carlo tree search unit 110 executes the rollout by passing the sampled (a, τ) and the state S and causing the simulation unit 130 to simulate the task (step S9). The simulation is performed using a model imitating the task executed by the control target 200. Then, the simulation unit 130 returns the state S and the reward r as a simulation result.

また、モンテカルロ木探索部110は、追加されたリーフノードからシミュレーション結果を逆伝搬させるバックアップ処理を実行する(ステップS11)。本ステップの逆伝搬は、従来と同じなので説明を省略する。   In addition, the Monte Carlo tree search unit 110 executes a backup process for back-propagating the simulation result from the added leaf node (step S11). The back-propagation in this step is the same as in the related art, and a description thereof is omitted.

そして、モンテカルロ木探索部110は、今回の処理開始から、前回選択されたノードへの辺に対応づけられた時間τi-1i-1が経過したか否かを判断する(ステップS13)。今回の処理開始から時間τi-1が経過していなければ、処理はステップS1に戻る。 Then, the Monte Carlo tree search unit 110 determines whether or not the time τ i-1i-1 associated with the edge to the previously selected node has elapsed since the start of the current processing (step S13). If the time τ i-1 has not elapsed since the start of the current process, the process returns to step S1.

一方、処理開始から時間τi-1が経過した場合には、モンテカルロ木探索部110は、各ノードについて評価値UCB1を算出して、評価値UCB1が最大のノードを選択し、そのノードへの辺に対応付けられている(ai,τi)を選択する(ステップS15)。 On the other hand, if the time τ i-1 has elapsed from the start of the processing, the Monte Carlo tree search unit 110 calculates the evaluation value UCB1 for each node, selects the node having the largest evaluation value UCB1, and sends the node to that node. (A i , τ i ) associated with the side is selected (step S15).

そうすると、モンテカルロ木探索部110は、ai及びτiをインターフェース部140に出力し、インターフェース部140は、時間τi中に、アクションaiを実行するように、制御対象物200に指示する(ステップS17)。制御対象物200は指示に従ってタスクを実行し、タスクの処理結果として状態Siを返してくる。 Then, the Monte Carlo tree search unit 110 outputs a i and τ i to the interface unit 140, and the interface unit 140 instructs the control target 200 to execute the action a i during the time τ i ( Step S17). Control object 200 performs the tasks according to the instructions come returns the state S i as a processing result of the task.

このような処理を繰り返すことで、適切に選択された各時間間隔で、適切に選択されたアクションを制御対象物200に実行させることができるようになる。   By repeating such processing, it becomes possible to cause the control target 200 to execute an appropriately selected action at each appropriately selected time interval.

次に、ステップS7で呼び出される2DHOOT部120の処理内容について説明する。   Next, the processing contents of the 2D HOOOT unit 120 called in step S7 will be described.

本実施の形態では、MCTSにおける探索木の各ノードは、2DHOOTにおける探索木を含む。2DHOOTにおける探索木において、ルートノードは、アクション空間(決定空間)全体のクオリティの楽観的な見積もりを保持しており、その子ノードは、アクション空間におけるより狭い領域についてのより正確な見積もりを保持している。一般的に、ある親ノードの子ノードは、同じサイズを有する各々別の領域を表しており、それらの領域で、親ノードが表す領域をすべてカバーする。2DHOOTのアルゴリズムに従えば、あるリーフノードが選択され、そのリーフノードが表す領域から、アクションaと時間τのペアがサンプリングされる。   In the present embodiment, each node of the search tree in the MCTS includes a search tree in 2DHOOT. In the search tree in 2DHOOT, the root node holds an optimistic estimate of the quality of the entire action space (decision space), and its child nodes hold more accurate estimates of a smaller area in the action space. I have. In general, the child nodes of a parent node represent different regions of the same size, which cover all the regions represented by the parent node. According to the 2DHOOT algorithm, a leaf node is selected, and a pair of an action a and a time τ is sampled from a region represented by the leaf node.

より詳細な処理内容について、図6を用いて説明する。   More detailed processing contents will be described with reference to FIG.

まず、2DHOOT部120は、ルートノードを選択する(図6:ステップS31)。そして、2DHOOT部120は、現在ノード(すなわち着目ノード)に、選択ノードを設定する(ステップS33)。その後、2DHOOT部120は、現在ノードは、スコア等が更新されていない子ノードを有するか判断する(ステップS35)。現在ノードが、スコア等が更新されていない子ノードを有する場合には(ステップS35:Yesルート)、2DHOOT部120は、スコア等が更新されていない子ノードを、選択する(ステップS37)。そして処理はステップS33に戻る。このように、ループL311では、ルートノードから、スコア等が更新されていない下位のノードを再帰的に探索する。   First, the 2DHOOT unit 120 selects a root node (FIG. 6: step S31). Then, the 2DHOOT unit 120 sets the selected node as the current node (that is, the node of interest) (Step S33). Thereafter, the 2DHOOT unit 120 determines whether the current node has a child node whose score or the like has not been updated (step S35). If the current node has a child node whose score or the like has not been updated (step S35: Yes route), the 2D HOOOT unit 120 selects a child node whose score or the like has not been updated (step S37). Then, the process returns to step S33. As described above, in the loop L311, a lower node whose score or the like is not updated is recursively searched from the root node.

一方、現在ノードが、スコア等が更新されていない子ノードを有しないノードまで到達すると(ステップS35:Noルート)、2DHOOT部120は、現在ノードのスコア等を更新する(ステップS39)。   On the other hand, when the current node reaches a node having no child node whose score or the like has not been updated (step S35: No route), the 2DHOOT unit 120 updates the score or the like of the current node (step S39).

2DHOOTの探索木から選択されるアクション及び時間ペアの期待報酬は、MCTSで実施されたシミュレーションの平均報酬raに依存する。また、2DHOOTの探索木におけるノードの値は、そのサブツリーに属する全てのノードの影響を受ける。すなわち、ノードiの見積もり報酬Re iは、以下の式で繰り返し更新される。

Figure 2020009122
Expected reward actions and time pair to be selected from the search tree 2DHOOT depends on the average reward r a simulation was conducted in MCTS. Also, the value of a node in the 2DHOOT search tree is affected by all nodes belonging to the subtree. In other words, estimated compensation R e i of the node i is updated repeatedly by the following equation.
Figure 2020009122

なお、jは、ノードiの各子ノードを表し、niは、ノードiの被訪問回数であり、njは、ノードjの被訪問回数であり、Re jは、ノードjの見積もり報酬を表す。 Incidentally, j represents the child node of the node i, n i is the target number of visits node i, n j is the number of visits node j, R e j is estimated compensation node j Represents

また、U-Valueは、ノードiの見積もり報酬Re iに基づき以下のように定義されている。

Figure 2020009122
Also, U-Value is defined as follows based on the estimated compensation R e i node i.
Figure 2020009122

ここで、nは、図6の処理の繰り返し回数を表し、定数v1及びρは、v1>0で0<ρ<1で、実験的に適切な値がセットされる。hiは、探索木におけるノードiの深さを表す。 Here, n represents the number of repetitions of the processing in FIG. 6, and the constants v 1 and ρ are v 1 > 0 and 0 <ρ <1, and appropriate values are set experimentally. h i represents the depth of the node i in the search tree.

そして、スコアB-value(スコアBとも記す)は、以下のように定義される。

Figure 2020009122
The score B-value (also referred to as score B) is defined as follows.
Figure 2020009122

なお、Bjは、ノードiの子ノードjのスコアB-valueであり、(3)式は、全ての子ノードjについてのBjのうちの最大値と、Uiとの最小値を、Biに設定するものである。また、まだサンプリングされていないノードのBi及びUiには、無限大が設定される。 Note that B j is the score B-value of the child node j of the node i. Equation (3) expresses the maximum value of B j and the minimum value of U i for all the child nodes j, B i . In addition, infinity is set for B i and U i of nodes that have not been sampled yet.

ステップS39では、このように定義されるスコア等の値を更新する。   In step S39, the values such as the score defined in this way are updated.

そして、2DHOOT部120は、現在ノードがルートノードであるか否かを判断する(ステップS41)。現在ノードがルートノードではない場合には、2DHOOT部120は、親ノードを選択する(ステップS43)。そして処理はステップS33に移行する。   Then, the 2DHOOT unit 120 determines whether or not the current node is the root node (Step S41). If the current node is not the root node, the 2DHOOT unit 120 selects a parent node (Step S43). Then, the process proceeds to step S33.

このように、ループL31における処理によってリーフノードからルートノード方向に、スコア等の値の更新を行ってゆく。   As described above, the values such as the score are updated in the direction from the leaf node to the root node by the processing in the loop L31.

一方、現在ノードがルートノードである場合には、スコア等の値の更新が終了したので、2DHOOT部120は、現在ノードがリーフノードであるか否かを判断する(ステップS45)。ステップS45に最初に移行してくる場合には、現在ノードはルートノードなので、現在ノードはリーフノードではないと判断される。   On the other hand, when the current node is the root node, the updating of the values such as the scores has been completed, and the 2DHOOT unit 120 determines whether the current node is a leaf node (step S45). When the process first proceeds to step S45, it is determined that the current node is not a leaf node because the current node is the root node.

現在ノードがリーフノードではない場合には、2DHOOT部120は、スコアB-valueが、最大の子ノードを選択して、現在ノードに設定する(ステップS47)。また、選択されたノードの被訪問回数を1インクリメントする。そして、処理はステップS45に移行する。このようなループL33は、スコアB-valueが最大であるノードをリーフノードまでたどるパスを探索する処理である。   If the current node is not a leaf node, the 2D HOOT unit 120 selects a child node having the largest score B-value and sets it as the current node (step S47). Also, the number of times the selected node is visited is incremented by one. Then, the process proceeds to step S45. Such a loop L33 is a process of searching for a path that follows the node having the largest score B-value to the leaf node.

一方、現在ノードがリーフノードである場合には、2DHOOT部120は、リーフノードでカバーされる領域において、(a,τ)をサンプリングする(ステップS49)。アクションaについては、選択されたリーフノードでカバーされる領域[amin,amax]内の値がサンプリングされる。時間τについても、選択されたリーフノードでカバーされる領域[τmin,τmax]内の値がサンプリングされる。 On the other hand, when the current node is a leaf node, the 2DHOOT unit 120 samples (a, τ) in an area covered by the leaf node (step S49). For action a, values in the area [a min , a max ] covered by the selected leaf node are sampled. As for the time τ, values in the area [τ min , τ max ] covered by the selected leaf node are sampled.

そして、2DHOOT部120は、2DHOOTの探索木を拡張する処理を行う(ステップS51)。具体的には、選択されたリーフノードに、4つの子ノードを追加する。4つの子ノードは、選択されたリーフノードがカバーする領域を均等に4分割することで得られる領域の各々に対応する。なお、アクションaと時間τの2次元空間なので、次元数(=2)を指数とする、ひとつの次元についての分割数(=2)のべき乗=4で分割される。なお、ひとつの次元についての分割数については2以上の自然数であり、ユーザなどの設定により決定される。   Then, the 2DHOOT unit 120 performs a process of expanding the search tree of the 2DHOOT (step S51). Specifically, four child nodes are added to the selected leaf node. The four child nodes correspond to each of the regions obtained by equally dividing the region covered by the selected leaf node into four. Note that, since the space is a two-dimensional space of the action a and the time τ, the division is performed by a power of the division number (= 2) for one dimension = 4, with the number of dimensions (= 2) as an index. Note that the number of divisions for one dimension is a natural number of 2 or more, and is determined by settings of a user or the like.

なお、リーフノードからルートノードまでの選択されたノードの被訪問回数を更新するために、2DHOOTの探索木のバックアップが実行される。すなわち、各ノードについて被訪問回数を保持しておき、その数を更新する。   Note that a 2DHOOT search tree backup is performed to update the number of times the selected node from the leaf node to the root node is visited. That is, the number of times visited is held for each node, and the number is updated.

そして、2DHOOT部120は、リーフノードへのポインタと、サンプリングされた(a,τ)を、モンテカルロ木探索部110に出力する(ステップS53)。これによって、より有望なアクション及び時間のペアがサンプリングされる。   Then, the 2DHOOT unit 120 outputs the pointer to the leaf node and the sampled (a, τ) to the Monte Carlo tree search unit 110 (Step S53). This samples the more promising action and time pairs.

図7A乃至図7Eを用いて、処理の具体例について説明する。   A specific example of the processing will be described with reference to FIGS. 7A to 7E.

MCTSの探索木におけるノードpが初めて訪問されると(図7Aの(a)の上段)、2DHOOTの探索木のルートノード1が選択され(図7Aの(b)の上段)、当該ルートノード1が表す、アクションaと時間τとで張られる決定空間の全領域から、点1(a1,τ1)がサンプリングされる(図7Aの(c))。 When the node p in the search tree of the MCTS is visited for the first time (upper part of (a) of FIG. 7A), the root node 1 of the search tree of 2DHOOT is selected (upper part of (b) of FIG. 7A), and the root node 1 is selected. The point 1 (a 1 , τ 1 ) is sampled from the entire region of the decision space defined by the action a and the time τ represented by (c) in FIG. 7A.

本実施の形態では、アクションaも時間τも、有限の範囲内の連続的な値であるが、ここでは[0,1]に正規化されて示されている。   In the present embodiment, both the action a and the time τ are continuous values within a finite range, but are shown here normalized to [0, 1].

そうすると、2DHOOTの探索木の拡張、すなわち4つの子ノードの追加がなされる(図7Aの(b)の下段)。この4つの子ノードは、図7Aの(c)に示すように、互いに重ならずに同じ面積を有する領域A乃至Dのいずれかに対応する。   Then, expansion of the 2DHOOT search tree, that is, addition of four child nodes, is performed (lower part of (b) of FIG. 7A). These four child nodes correspond to any of the regions A to D having the same area without overlapping each other, as shown in FIG. 7C.

サンプリングされた(a1,τ1)は、MCTSの探索木をノードaで拡張するのに用いられる。すなわち、図7Aの(a)の下段に示すように、ノードpからノードaへの辺は、(a1,τ1)に対応付けられている。なお、ノードaの値が更新されると、ノード1の値も更新される。 The sampled (a 1 , τ 1 ) is used to extend the MCTS search tree at node a. That is, as shown in the lower part of (a) of FIG. 7A, the side from the node p to the node a is associated with (a 1 , τ 1 ). When the value of the node a is updated, the value of the node 1 is also updated.

次に、MCTSの探索木におけるノードpが再度拡張される場合には(図7Bの(a)の上段)、2DHOOTの探索木では、ルートノード1の子ノード2が選択され(図7Bの(b)の上段)、ノード2が表す領域Bの中から、点2(a2,τ2)がサンプリングされる(図7Bの(c))。 Next, when the node p in the search tree of the MCTS is expanded again (the upper part of (a) in FIG. 7B), the child node 2 of the root node 1 is selected in the search tree of 2DHOOT ((in FIG. 7B). b) (upper), point 2 (a 2 , τ 2 ) is sampled from area B represented by node 2 ((c) in FIG. 7B).

そうすると、2DHOOTの探索木の拡張、すなわち4つの子ノードの追加がなされる(図7Bの(b)の下段)。この4つの子ノードは、図7Bの(c)に示すように、互いに重ならずに同じ面積を有する領域B1乃至B4のいずれかに対応する。   Then, the 2DHOOT search tree is expanded, that is, four child nodes are added (lower part of (b) of FIG. 7B). These four child nodes correspond to any of the regions B1 to B4 which do not overlap each other and have the same area as shown in FIG. 7C.

サンプリングされた(a2,τ2)は、MCTSの探索木をノードbで拡張するのに用いられる。すなわち、図7Bの(a)の下段に示すように、ノードpからノードbへの辺は、(a2,τ2)に対応付けられている。 The sampled (a 2 , τ 2 ) is used to extend the MCTS search tree at node b. That is, as shown in the lower part of (a) of FIG. 7B, the side from the node p to the node b is associated with (a 2 , τ 2 ).

次に、MCTSの探索木におけるノードpが再度拡張される場合には(図7Cの(a)の上段)、2DHOOTの探索木では、ルートノード1の子ノード3が選択され(図7Cの(b)の上段)、ノード3が表す領域Aの中から、点3(a3,τ3)がサンプリングされる(図7Cの(c))。 Next, when the node p in the search tree of the MCTS is expanded again (the upper part of (a) of FIG. 7C), the child node 3 of the root node 1 is selected in the search tree of 2DHOOT ((FIG. b) (upper), point 3 (a 3 , τ 3 ) is sampled from area A represented by node 3 ((c) in FIG. 7C).

そうすると、2DHOOTの探索木の拡張、すなわち4つの子ノードの追加がなされる(図7Cの(b)の下段)。この4つの子ノードは、図7Cの(c)に示すように、互いに重ならずに同じ面積を有する領域A1乃至A4のいずれかに対応する。   Then, the 2DHOOT search tree is expanded, that is, four child nodes are added (lower part of (b) of FIG. 7C). As shown in FIG. 7C, the four child nodes correspond to any of the regions A1 to A4 which do not overlap each other and have the same area.

サンプリングされた(a3,τ3)は、MCTSの探索木をノードcで拡張するのに用いられる。すなわち、図7Cの(a)の下段に示すように、ノードpからノードcへの辺は、(a3,τ3)に対応付けられている。 The sampled (a 3 , τ 3 ) is used to extend the MCTS search tree at node c. That is, as shown in the lower part of FIG. 7A, the side from the node p to the node c is associated with (a 3 , τ 3 ).

このような処理を繰り返してゆき、MCTSの探索木に5つのノードa乃至eを追加した後に、再度、MCTSの探索木におけるノードpが拡張される場合には(図7Dの(a)の上段)、2DHOOTの探索木では、ノード2の子ノード6が選択され(図7Dの(b)の上段)、ノード6が表す領域B1の中から、点6(a6,τ6)がサンプリングされる(図7Dの(c))。 Such a process is repeated, and after adding five nodes a to e to the MCTS search tree, if the node p in the MCTS search tree is expanded again (the upper part of (a) in FIG. 7D) In the 2DHOOT search tree, the child node 6 of the node 2 is selected (the upper part of (b) of FIG. 7D), and the point 6 (a 6 , τ 6 ) is sampled from the area B1 represented by the node 6. ((C) of FIG. 7D).

そうすると、2DHOOTの探索木の拡張、すなわち4つの子ノードの追加がなされる(図7Dの(b)の下段)。この4つの子ノードは、図7Dの(c)に示すように、互いに重ならずに同じ面積を有する領域B11乃至B14のいずれかに対応する。   Then, expansion of the 2DHOOT search tree, that is, addition of four child nodes, is performed (lower part of (b) of FIG. 7D). These four child nodes correspond to any of the regions B11 to B14 which do not overlap each other and have the same area as shown in (c) of FIG. 7D.

サンプリングされた(a6,τ6)は、MCTSの探索木をノードfで拡張するのに用いられる。すなわち、図7Dの(a)の下段に示すように、ノードpからノードfへの辺は、(a6,τ6)に対応付けられている。 The sampled (a 6 , τ 6 ) is used to extend the MCTS search tree at node f. That is, as shown in the lower part of (a) of FIG. 7D, the side from the node p to the node f is associated with (a 6 , τ 6 ).

ここまでで、ノードaとノード1が関連付けられ、ノードbとノード2が関連付けられ、ノードcとノード3が関連付けられ、ノードdとノード4が関連付けられ、ノードeとノード5が関連付けられ、ノードfとノード6が関連付けられている。   Up to this point, node a is associated with node 1, node b is associated with node 2, node c is associated with node 3, node d is associated with node 4, node e is associated with node 5, and node e is associated with node e. f and the node 6 are associated with each other.

なお、2DHOOTの探索木において、孫ノードの階層に行く前に、ルートノードの全ての子ノードが更新される。一般的には、そのノードから次の下の階層に行く前に、そのノードの全ての子が更新される。   Note that in the 2DHOOT search tree, all child nodes of the root node are updated before going to the grandchild node hierarchy. Generally, all children of the node are updated before going from the node to the next lower level.

さらに処理が繰り返されて、MCTSの探索木に10個のノードa乃至lを追加した後に、再度、MCTSの探索木におけるノードpが拡張される場合には(図7Eの(a)の上段)、2DHOOTの探索木では、ノード7の子ノード11が選択され(図7Eの(b)の上段)、ノード11が表す領域B23の中から、点11(a11,τ11)がサンプリングされる(図7Eの(c))。 When the process is repeated and ten nodes a to l are added to the MCTS search tree, and the node p in the MCTS search tree is expanded again (the upper part of (a) in FIG. 7E). In the 2DHOOT search tree, the child node 11 of the node 7 is selected (the upper part of (b) of FIG. 7E), and the point 11 (a 11 , τ 11 ) is sampled from the area B23 represented by the node 11. ((C) of FIG. 7E).

そうすると、2DHOOTの探索木の拡張、すなわち4つの子ノードの追加がなされる(図7Eの(b)の下段)。この4つの子ノードは、図7Eの(c)に示すように、互いに重ならずに同じ面積を有する領域B231乃至B234のいずれかに対応する。   Then, the search tree of 2DHOOT is expanded, that is, four child nodes are added (lower part of (b) of FIG. 7E). These four child nodes correspond to any of the regions B231 to B234 having the same area without overlapping each other, as shown in FIG. 7E (c).

サンプリングされた(a11,τ11)は、MCTSの探索木をノードkで拡張するのに用いられる。すなわち、図7Eの(a)の下段に示すように、ノードpからノードkへの辺は、(a11,τ11)に対応付けられている。 The sampled (a 11 , τ 11 ) is used to extend the MCTS search tree at node k. That is, as shown in the lower part of (a) of FIG. 7E, the side from the node p to the node k is associated with (a 11 , τ 11 ).

このように、2DHOOTの探索木におけるノードは、MCTSの探索木におけるノードと関連付けられる。また、MCTSの探索木におけるノードの値が更新されると、2DHOOTの探索木におけるノードの値も更新される。   Thus, the nodes in the 2DHOOT search tree are associated with the nodes in the MCTS search tree. When the value of the node in the MCTS search tree is updated, the value of the node in the 2DHOOT search tree is also updated.

MCTSの探索木において追加された各ノードは、親ノードのための2DHOOTの探索木における選択リーフノードへのポインタを保持し、新たな2DHOOTの探索木を初期化する。すなわち、MCTSの探索木は、各ノードにアクション及び時間のペアを選択するための2DHOOTの探索木と、親ノードのための2DHOOTの探索木においてアクション及び時間のペアがサンプルされたリーフノードへのポインタとを保持している。   Each node added in the MCTS search tree holds a pointer to the selected leaf node in the 2DHOOT search tree for the parent node, and initializes a new 2DHOOT search tree. That is, the search tree of the MCTS includes a 2DHOOT search tree for selecting an action and time pair for each node, and a leaf node where the action and time pair is sampled in the 2DHOOT search tree for the parent node. Holding a pointer.

リーフノードへのポインタは、平均報酬raを更新するために用いられる。(1)式で示したように、2DHOOTの探索木におけるノードiの見積もり報酬Re iの計算には、平均報酬raが用いられる。このような平均報酬raを用いることで、決定空間において、長期にわたってうまく実行されることが期待されるアクション等の領域に向かって、2DHOOTの探索木におけるノード選択が行われるようになる。 Pointer to the leaf node is used to update the average reward r a. (1) As shown by the formula, the calculation of the estimated compensation R e i of the node i in the search tree of 2DHOOT, average reward r a is used. By using such an average reward r a , the node selection in the 2DHOOT search tree is performed in the decision space toward an area such as an action that is expected to be executed well over a long period of time.

以上本実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、機能ブロック構成例は例に過ぎず、プログラムモジュール構成とは一致しない場合もある。また、処理フローについても、処理結果が変わらない限り、処理順番を入れ替えたり、複数のステップを並列に実行してもよい。   Although the present embodiment has been described above, the present invention is not limited to this. For example, the functional block configuration example is merely an example, and may not match the program module configuration. As for the processing flow, as long as the processing result does not change, the processing order may be changed or a plurality of steps may be executed in parallel.

また、上で述べた例では、アクションaと時間τで2次元空間を取り扱ったが、より多くの次元をHOOTで取り扱うことも可能である。すなわち、アクションa1乃至an-1と時間τとでn次元空間を取り扱ってもよい。時間τを除いてn次元空間としてもよい。その場合、探索木の拡張時には、n次元HOOTで子ノードは、ひとつの次元について指定された分割数(2以上の自然数)のn乗個追加することになる。 Further, in the example described above, the two-dimensional space is handled by the action a and the time τ, but it is possible to handle more dimensions by HOOT. That is, the n- dimensional space may be handled by the actions a 1 to an -1 and the time τ. The space may be an n-dimensional space excluding the time τ. In this case, when expanding the search tree, n-dimensional HOOT adds n number of child nodes to the number of divisions (natural numbers of 2 or more) specified for one dimension.

なお、制御対象部200は、どのようなものでもよいが、例えば車両の自動運転その他の連続したタスクを実行する装置である。   Note that the control target unit 200 may be any device, but is a device that executes, for example, automatic operation of a vehicle and other continuous tasks.

図6に示した処理の内容を疑似コードで表すと以下のようになる。
1: procedure UCTSEARCH(root, τ)
2: while time < τ do //ステップS13
3: front = TreeSearch(root) //ステップS1
4: reward = DefaultPolicy(front.state, front.horizon)
//ステップS9
5: BackUp(front, reward) //ステップS11
6: return BestChild(root, 0) //最適な(a,τ)を選択

7: procedure TREESEARCH(node)
8: while not node.state.terminal() do: //終了状態になるまで探索を繰り返す
9: if not node.fully.expanded() then: //ステップS3
10: return Expand(node) //ステップS7
11: else:
12: node = BestChild(node, scale) //ステップS5
13: return node

14: procedure DEFAULTPOLICY(state) //ステップS9の詳細
15: reward = state.reward
16: done = state.terminal()
17: steps=h
18: while done == false && steps <MAXSTEPS do:
19: a = sample.actionSpace()
20: obs, rew, done = env.step(a)
21: reward = reward + rew
22: steps = steps + 1
23: return reward

24: procedure EXPAND(node)
25: a, τ, Hlead = HOOSearch(node.Hroot) //ステップS7:(a,τ)sampling
26: addedNode = node.AddChild(a, τ, Hleaf) //ステップS7:ノード追加
27: return addedNode //ステップS7:探索木の拡張

28: procedure BESTCHILD(node, C) //最大UCB1のノードを選択
29: bestchildren = []
30: UCB1max = −∞
31: for node.childrenに含まれるx do
32: UCB1 = x.reward/x.visits + C×{(2log(node.visits)/x.visits}0.5
33: if UCB1 == UCB1max then
34: bestchildren.append(x)
35: if UCB1 > UCB1max then
36: bestchildren = [x]
37: UCB1max = UCB1
38: return random.choice(bestchildren) //複数候補の場合はランダム

39: procedure BACKUP(Node, reward) //ステップS11の詳細
40: while node do
41: node.visits = node.visits + 1 //被訪問回数をインクリメント
42: node.reward = node.reward + reward //報酬の更新
43: node.Hleaf.reward = node.reward //2DHOOTのノード値を更新
44: node = node.parent
The contents of the processing shown in FIG. 6 are represented by pseudo code as follows.
1: procedure UCTSEARCH (root, τ)
2: while time <τ do // Step S13
3: front = TreeSearch (root) // Step S1
4: reward = DefaultPolicy (front.state, front.horizon)
// Step S9
5: BackUp (front, reward) // Step S11
6: return BestChild (root, 0) // Select the best (a, τ)

7: procedure TREESEARCH (node)
8: while not node.state.terminal () do: // Repeat until it reaches the end state
9: if not node.fully.expanded () then: // Step S3
10: return Expand (node) // Step S7
11: else:
12: node = BestChild (node, scale) // Step S5
13: return node

14: procedure DEFAULTPOLICY (state) // Details of step S9
15: reward = state.reward
16: done = state.terminal ()
17: steps = h
18: while done == false && steps <MAXSTEPS do:
19: a = sample.actionSpace ()
20: obs, rew, done = env.step (a)
21: reward = reward + rew
22: steps = steps + 1
23: return reward

24: procedure EXPAND (node)
25: a, τ, Hlead = HOOSearch (node.Hroot) // Step S7: (a, τ) sampling
26: addedNode = node.AddChild (a, τ, Hleaf) // Step S7: Add node
27: return addedNode // Step S7: Expansion of search tree

28: procedure BESTCHILD (node, C) // Select the node with the maximum UCB1
29: bestchildren = []
30: UCB1 max = −∞
31: x do included in for node.children
32: UCB1 = x.reward / x.visits + C × {(2log (node.visits) /x.visits} 0.5
33: if UCB1 == UCB1 max then
34: bestchildren.append (x)
35: if UCB1> UCB1 max then
36: bestchildren = [x]
37: UCB1 max = UCB1
38: return random.choice (bestchildren) // Random for multiple candidates

39: procedure BACKUP (Node, reward) // Details of step S11
40: while node do
41: node.visits = node.visits + 1 // increments the number of visits
42: node.reward = node.reward + reward // Update reward
43: node.Hleaf.reward = node.reward // Update 2DHOOT node value
44: node = node.parent

図7に示した処理の内容を疑似コードで表すと以下のようになる。
1: procedure HOOSEARCH(root)
2: HOO-Update(root, root.visits) //ループL31 木の更新
3: leaf = HOOPolicy(root) //ループL33 最大スコアのパス探索
4: a,τ = sample.leaf.region() //ステップS49
5: leaf.expand() //ステップS51
6: return a, τ, leaf //(a,τ)とpointerを返す

7: procedure HOO-UPDATE(node, N) //再帰的なループL31の詳細
8: childBmax = 0
9: for node.children含まれるx do //ループL311 再帰的な子ノードの更新
10: HOO-Update(x,N)
11: for node.children含まれるx do //ステップS39
12: node.reward = node.reward + x.reward
13: if x.Bvalue > childBmax then
14: childBmax = x.Bvalue //Bvalue更新のため用いられる
15: Uvalue=node.reward/node.visits + {2log(N)/node.visits}0.5
+ v1ρh //ステップS39 U-value更新
16: if Uvalue < childBmax then //ステップS39 B-value更新
17: node.Bvalue = Uvalue
18: else
19: node.Bvalue = childBmax

20: procedure HOOPOLICY(node)
21: while node.children do //ループL33
22: node.visits = node.visits + 1 //ノード被訪問回数の増分
23: bestchildren = []
24: Bvaluemax = -∞
25: for node.childrenに含まれるx do
26: if x.Bvalue == Bvaluemax then
27: bestchildren.append(x)
28: if x.Bvalue > Bvaluemax then
29: bestchildren = [x]
30: Bvaluemax = x.Bvalue
31: node = random.choice(bestchildren) //複数候補の場合はランダムに
32: node.visits = node.vistis + 1 //被訪問回数の増分
33: return node //選択されたleaf nodeを返す
The contents of the processing shown in FIG. 7 are represented by pseudo code as follows.
1: procedure HOOSEARCH (root)
2: HOO-Update (root, root.visits) // Loop L31 tree update
3: leaf = HOOPolicy (root) // Loop L33 Search for path with maximum score
4: a, τ = sample.leaf.region () // Step S49
5: leaf.expand () // Step S51
6: return a, τ, leaf // Return (a, τ) and pointer

7: procedure HOO-UPDATE (node, N) // Details of recursive loop L31
8: childB max = 0
9: x do included in for node.children // loop L311 recursive child node update
10: HOO-Update (x, N)
11: x do included in for node.children // Step S39
12: node.reward = node.reward + x.reward
13: if x.Bvalue> childB max then
14: childB max = x.Bvalue // used for Bvalue update
15: Uvalue = node.reward / node.visits + {2log (N) /node.visits} 0.5
+ v 1 ρ h // Step S39 U-value update
16: if Uvalue <childB max then // Step S39 B-value update
17: node.Bvalue = Uvalue
18: else
19: node.Bvalue = childB max

20: procedure HOOPOLICY (node)
21: while node.children do // loop L33
22: node.visits = node.visits + 1 // increment of node visit count
23: bestchildren = []
24: Bvalue max = -∞
25: x do included in for node.children
26: if x.Bvalue == Bvalue max then
27: bestchildren.append (x)
28: if x.Bvalue> Bvalue max then
29: bestchildren = [x]
30: Bvalue max = x.Bvalue
31: node = random.choice (bestchildren) // Random for multiple candidates
32: node.visits = node.vistis + 1 // increment of the number of visits
33: return node // returns the selected leaf node

なお、上で述べた制御装置100は、コンピュータ装置であって、図8に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とスピーカ2518とがバス2519で接続されている。なお、HDDはソリッドステート・ドライブ(SSD:Solid State Drive)などの記憶装置でもよい。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。   The control device 100 described above is a computer device, and as shown in FIG. 8, a memory 2501, a CPU (Central Processing Unit) 2503, a hard disk drive (HDD: Hard Disk Drive) 2505, and a display device 2509. , A drive 2513 for the removable disk 2511, an input device 2515, a communication controller 2517 for connecting to a network, and a speaker 2518 are connected by a bus 2519. The HDD may be a storage device such as a solid state drive (SSD). An operating system (OS) and an application program for executing the processing in the present embodiment are stored in the HDD 2505, and are read from the HDD 2505 to the memory 2501 when executed by the CPU 2503. The CPU 2503 controls the display control unit 2507, the communication control unit 2517, and the drive device 2513 in accordance with the processing content of the application program to perform a predetermined operation. Although the data being processed is mainly stored in the memory 2501, the data may be stored in the HDD 2505. In the embodiment of the present technology, an application program for performing the above-described process is stored in a computer-readable removable disk 2511 and distributed, and is installed from the drive device 2513 to the HDD 2505. It may be installed in the HDD 2505 via a network such as the Internet and the communication control unit 2517. Such a computer device realizes the above-described various functions by the hardware such as the CPU 2503 and the memory 2501 described above and the programs such as the OS and the application program cooperate organically. .

なお、上で述べたような処理を実行することで用いられるデータは、処理途中のものであるか、処理結果であるかを問わず、メモリ2501又はHDD2505等の記憶装置に格納される。例えば、探索木を表すデータ、及び被訪問回数、評価値、スコア等のノードの値は、メモリ2501等に格納される。   The data used by executing the above-described processing is stored in a storage device such as the memory 2501 or the HDD 2505 irrespective of whether the data is being processed or is a processing result. For example, data representing a search tree and node values such as the number of times visited, an evaluation value, and a score are stored in the memory 2501 or the like.

以上述べた実施の形態をまとめると以下のようになる。   The embodiments described above are summarized as follows.

本実施の形態に係る制御方法は、(A)ノード間の辺に、次に実行すべきアクションとさらに次に実行すべきアクションを選択するまでの時間とを対応付けた、アクション及び時間を選択する木探索のための探索木において、新たなノードを追加しつつ、第1の評価式の値(例えばUCB1の値が最大)でノードを探索する探索処理を、前回実行された探索処理において選択されたノードへの辺に対応付けられた時間中に実行するステップと、(B)今回実行された探索処理において選択されたノードへの辺に対応付けられたアクションを、制御対象物に実行させるステップとを含む。   The control method according to the present embodiment includes: (A) selecting an action and a time, in which an action to be executed next and a time until a next action to be executed are selected are associated with an edge between nodes; In a search tree for tree search, a search process for searching for a node with the value of the first evaluation expression (for example, the value of UCB1 is maximum) while adding a new node is selected in the search process executed last time. And (B) causing the control object to execute an action associated with the edge to the node selected in the search process executed this time, and a step to be executed during the time associated with the edge to the selected node. Steps.

このように、新規な探索木を用いて、制御対象物が実行するタスクに応じたアクションを適切な時間間隔において選択して指示できるようになる。なお、木探索の探索処理は、例えばMCTSに従うものである。   As described above, using the new search tree, an action according to the task executed by the control target can be selected and indicated at an appropriate time interval. The search processing of the tree search is based on, for example, MCTS.

なお、上記次に実行すべきアクションが、有限の連続値の中の一つの値に対応し、上記さらに次に実行すべきアクションを選択するまでの時間が、有限の連続する時間内の一つの値である場合もある。これらの値は、適切なサンプリングにて選択される。   The next action to be executed corresponds to one of the finite continuous values, and the time until the further next action to be executed is one of the finite continuous times. It can be a value. These values are selected with appropriate sampling.

また、上で述べた探索処理に含まれる上記新たなノードを追加する処理が、(a1)次に実行すべきアクションと時間とで張られる空間において、当該空間に含まれる領域の包含関係を階層的に表し、各領域に対応するノードを有する第2の探索木において、第2の評価式の値(例えばスコアBが最大)でノードを第2の探索木のルートノードからリーフノードまで選択するステップと、(a2)選択されたリーフノードに対応する領域内において点を選択するステップと、(a3)選択された点についてのアクション及び時間が対応付けられた辺で繋がるノードを探索木において追加するステップとを含むようにしてもよい。   Further, the process of adding the new node included in the above-described search process is performed by: (a1) In a space spanned by an action to be executed next and time, the inclusion relation of the region included in the space is hierarchically determined. In the second search tree having nodes corresponding to the respective regions, nodes are selected from the root node of the second search tree to the leaf nodes by the value of the second evaluation expression (for example, the score B is the largest). (A2) selecting a point in the area corresponding to the selected leaf node; and (a3) adding a node connected by an action and time associated with the selected point to the search tree. And the step of performing

このように、アクション及び時間をペアで適切にサンプリングするために、上で述べたような第2の探索木を用いるような処理を採用するようにしてもよい。第2の探索木を用いるような処理は、例えば多次元に拡張されたHOOTに従うものである。   As described above, in order to appropriately sample the action and the time as a pair, a process using the second search tree as described above may be adopted. The processing using the second search tree is based on, for example, HOOT extended in a multi-dimensional manner.

さらに、上で述べた探索処理に含まれる上記新たなノードを追加する処理が、(a4)選択されたリーフノードに対応する領域を、上記空間の次元数を指数とする所定数(2以上の自然数)のべき乗個に分割することで生成された新たな領域に対応するリーフノードを、第2の探索木に追加するステップを含むようにしてもよい。このようにすれば、適切に空間を分割しつつ、第2の探索木で領域の関係を適切に表すことができるようになる。   Further, the process of adding the new node included in the above-described search process includes the step of: (a4) setting the area corresponding to the selected leaf node to a predetermined number (two or more The method may include a step of adding, to the second search tree, a leaf node corresponding to a new region generated by dividing into a power of (natural number). This makes it possible to appropriately divide the space and appropriately express the relationship between the regions by the second search tree.

以上述べた制御方法をコンピュータに実行させるためのプログラムを作成することができて、そのプログラムは、様々な記憶媒体に記憶される。   A program for causing a computer to execute the control method described above can be created, and the program is stored in various storage media.

また、上で述べたような制御方法を実行する制御装置は、1台のコンピュータで実現される場合もあれば、複数台のコンピュータで実現される場合もあり、それらを合わせて制御システム又は単にシステムと呼ぶものとする。   Further, the control device that executes the control method as described above may be realized by a single computer, or may be realized by a plurality of computers. It shall be called a system.

100 制御装置
110 モンテカルロ木探索部
120 2DHOOT部
130 シミュレーション部
140 インターフェース部
200 制御対象物
REFERENCE SIGNS LIST 100 Control device 110 Monte Carlo tree search unit 120 2DHOOT unit 130 Simulation unit 140 Interface unit 200 Control target

Claims (6)

ノード間の辺に、次に実行すべきアクションとさらに次に実行すべきアクションを選択するまでの時間とを対応付けた、アクション及び時間を選択する木探索のための探索木において、新たなノードを追加しつつ、第1の評価式の値でノードを探索する探索処理を、前回実行された探索処理において選択されたノードへの辺に対応付けられた時間中に実行するステップと、
今回実行された探索処理において選択されたノードへの辺に対応付けられたアクションを、制御対象物に実行させるステップと、
を、1又は複数のプロセッサに実行させるための制御プログラム。
In a search tree for searching a tree for selecting an action and a time, in which a next action to be performed and a time until the next action to be further performed are selected, a new node Executing a search process for searching for a node with the value of the first evaluation expression during the time period associated with the edge to the node selected in the search process executed last time,
Causing the control object to execute an action associated with the side to the node selected in the search processing executed this time;
For causing one or more processors to execute
前記次に実行すべきアクションが、有限の連続値の中の一つの値に対応し、
前記さらに次に実行すべきアクションを選択するまでの時間が、有限の連続する時間内の一つの値である
請求項1記載の制御プログラム。
The next action to be performed corresponds to one of a finite number of continuous values,
The control program according to claim 1, wherein the time until the action to be executed next is selected is one value within a finite continuous time.
前記探索処理に含まれる前記新たなノードを追加する処理が、
前記次に実行すべきアクションと前記時間とで張られる空間において、当該空間に含まれる領域の包含関係を階層的に表し、各領域に対応するノードを有する第2の探索木において、第2の評価式の値でノードを前記第2の探索木のルートノードからリーフノードまで選択するステップと、
選択された前記リーフノードに対応する領域内において点を選択するステップと、
選択された前記点についてのアクション及び時間が対応付けられた辺で繋がるノードを前記探索木において追加するステップと、
を含む請求項2記載の制御プログラム。
The process of adding the new node included in the search process includes:
In a space spanned by the next action to be executed and the time, the inclusion relation of the regions included in the space is hierarchically represented, and in a second search tree having a node corresponding to each region, Selecting a node from a root node of the second search tree to a leaf node with a value of an evaluation expression;
Selecting a point in an area corresponding to the selected leaf node;
Adding, in the search tree, a node connected by the action and time associated with the selected point,
The control program according to claim 2, comprising:
前記探索処理に含まれる前記新たなノードを追加する処理が、
選択された前記リーフノードに対応する領域を、前記空間の次元数を指数とする所定数(2以上の自然数)のべき乗個に分割することで生成された新たな領域に対応するリーフノードを、前記第2の探索木に追加するステップ
をさらに含む請求項3記載の制御プログラム。
The process of adding the new node included in the search process includes:
A leaf node corresponding to a new region generated by dividing an area corresponding to the selected leaf node into powers of a predetermined number (a natural number of 2 or more) whose exponent is the dimension number of the space, The control program according to claim 3, further comprising: adding to the second search tree.
ノード間の辺に、次に実行すべきアクションとさらに次に実行すべきアクションを選択するまでの時間とを対応付けた、アクション及び時間を選択する木探索のための探索木において、新たなノードを追加しつつ、第1の評価式の値でノードを探索する探索処理を、前回実行された探索処理において選択されたノードへの辺に対応付けられた時間中に実行するステップと、
今回実行された探索処理において選択されたノードへの辺に対応付けられたアクションを、制御対象物に実行させるステップと、
を含み、1又は複数のプロセッサが実行する制御方法。
In a search tree for searching a tree for selecting an action and a time, in which a next action to be performed and a time until the next action to be further performed are selected, a new node Executing a search process for searching for a node with the value of the first evaluation expression during the time period associated with the edge to the node selected in the search process executed last time,
Causing the control object to execute an action associated with the side to the node selected in the search processing executed this time;
And a control method executed by one or more processors.
ノード間の辺に、次に実行すべきアクションとさらに次に実行すべきアクションを選択するまでの時間とを対応付けた、アクション及び時間を選択する木探索のための探索木において、新たなノードを追加しつつ、第1の評価式の値でノードを探索する探索処理を、前回実行された探索処理において選択されたノードへの辺に対応付けられた時間中に実行する探索部と、
今回実行された探索処理において選択されたノードへの辺に対応付けられたアクションを、制御対象物に実行させる指示部と、
を有するシステム。
In a search tree for searching a tree for selecting an action and a time, in which a next action to be performed and a time until the next action to be further performed are selected, a new node A search unit that executes a search process for searching for a node with the value of the first evaluation expression during a time period associated with an edge to the node selected in the search process executed last time,
An instruction unit for causing the control object to execute the action associated with the side to the node selected in the search process executed this time;
A system having:
JP2018129322A 2018-07-06 2018-07-06 Control programs, control methods and systems Active JP7093547B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018129322A JP7093547B2 (en) 2018-07-06 2018-07-06 Control programs, control methods and systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018129322A JP7093547B2 (en) 2018-07-06 2018-07-06 Control programs, control methods and systems

Publications (2)

Publication Number Publication Date
JP2020009122A true JP2020009122A (en) 2020-01-16
JP7093547B2 JP7093547B2 (en) 2022-06-30

Family

ID=69151713

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018129322A Active JP7093547B2 (en) 2018-07-06 2018-07-06 Control programs, control methods and systems

Country Status (1)

Country Link
JP (1) JP7093547B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7419547B2 (en) 2020-01-28 2024-01-22 ディープマインド テクノロジーズ リミテッド Planning for agent control using learned hidden states
CN117521576A (en) * 2024-01-08 2024-02-06 深圳鸿芯微纳技术有限公司 Computing resource sharing method, device, equipment and medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09114849A (en) * 1995-10-16 1997-05-02 N T T Data Tsushin Kk Tree searching device and tree searching method
JPH1185845A (en) * 1997-09-08 1999-03-30 Fuji Electric Co Ltd Regular repair planning set method for power generator
WO2007055181A1 (en) * 2005-11-11 2007-05-18 Matsushita Electric Industrial Co., Ltd. Interaction support device
WO2014087590A1 (en) * 2012-12-05 2014-06-12 日本電気株式会社 Optimization device, optimization method and optimization program
WO2014115232A1 (en) * 2013-01-25 2014-07-31 日本電気株式会社 Solution search device, solution search method, and solution search program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09114849A (en) * 1995-10-16 1997-05-02 N T T Data Tsushin Kk Tree searching device and tree searching method
JPH1185845A (en) * 1997-09-08 1999-03-30 Fuji Electric Co Ltd Regular repair planning set method for power generator
WO2007055181A1 (en) * 2005-11-11 2007-05-18 Matsushita Electric Industrial Co., Ltd. Interaction support device
WO2014087590A1 (en) * 2012-12-05 2014-06-12 日本電気株式会社 Optimization device, optimization method and optimization program
WO2014115232A1 (en) * 2013-01-25 2014-07-31 日本電気株式会社 Solution search device, solution search method, and solution search program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7419547B2 (en) 2020-01-28 2024-01-22 ディープマインド テクノロジーズ リミテッド Planning for agent control using learned hidden states
CN117521576A (en) * 2024-01-08 2024-02-06 深圳鸿芯微纳技术有限公司 Computing resource sharing method, device, equipment and medium
CN117521576B (en) * 2024-01-08 2024-04-26 深圳鸿芯微纳技术有限公司 Computing resource sharing method, device, equipment and medium

Also Published As

Publication number Publication date
JP7093547B2 (en) 2022-06-30

Similar Documents

Publication Publication Date Title
JP6889270B2 (en) Neural network architecture optimization
Bouckaert Bayesian network classifiers in weka
Bouckaert Bayesian network classifiers in weka for version 3-5-7
Andradóttir An overview of simulation optimization via random search
Srinivas et al. IDEAL: A software package for analysis of influence diagrams
JP7043596B2 (en) Neural architecture search
JP2020024711A (en) Summary of data system
Papakonstantinou et al. POMDP and MOMDP solutions for structural life-cycle cost minimization under partial and mixed observability
US8903824B2 (en) Vertex-proximity query processing
Li et al. An ant colony optimization approach to test sequence generation for state based software testing
CN115079704B (en) Path planning method and device, storage medium and electronic equipment
KR20200108728A (en) Methods and apparatuses for selecting feature based on monte carlo tree search
Acar et al. Adaptive inference on general graphical models
JP7093547B2 (en) Control programs, control methods and systems
KR20150084596A (en) The method for parameter investigation to optimal design
CN111209095A (en) Pruning method based on tree search in DAG parallel task scheduling
WO2014020834A1 (en) Word latent topic estimation device and word latent topic estimation method
Meyer Convergence control in ACO
JPWO2014087590A1 (en) Optimization device, optimization method, and optimization program
JP2019219741A (en) Learning control method and computer system
KR20220032861A (en) Neural architecture search method and attaratus considering performance in hardware
JP7225866B2 (en) Optimization device, method and program
JP2014228975A (en) Retrieval device, retrieval method and retrieval program
KR102559605B1 (en) Method and apparatus for function optimization
CN114139720A (en) Government affair big data processing method and device based on machine learning

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210423

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220405

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220512

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: 20220607

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220613

R150 Certificate of patent or registration of utility model

Ref document number: 7093547

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150