Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7248108B2 - Optimization device, optimization method and optimization program - Google Patents
[go: Go Back, main page]

JP7248108B2 - Optimization device, optimization method and optimization program - Google Patents

Optimization device, optimization method and optimization program Download PDF

Info

Publication number
JP7248108B2
JP7248108B2 JP2021519979A JP2021519979A JP7248108B2 JP 7248108 B2 JP7248108 B2 JP 7248108B2 JP 2021519979 A JP2021519979 A JP 2021519979A JP 2021519979 A JP2021519979 A JP 2021519979A JP 7248108 B2 JP7248108 B2 JP 7248108B2
Authority
JP
Japan
Prior art keywords
optimization
action
vector
convex set
convex
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.)
Active
Application number
JP2021519979A
Other languages
Japanese (ja)
Other versions
JPWO2020235050A1 (en
Inventor
伸志 伊藤
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of JPWO2020235050A1 publication Critical patent/JPWO2020235050A1/en
Application granted granted Critical
Publication of JP7248108B2 publication Critical patent/JP7248108B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、バンディット問題を効率的に解決する最適化装置、最適化方法および最適化プログラムに関する。 The present invention relates to an optimization device, optimization method, and optimization program for efficiently solving the bandit problem.

バンディット問題における線形最適化(以下、バンディット線形最適化と記す。)は、多くの分野で幅広く利用される重要な問題である。バンディット線形最適化は、具体的には、以下に述べる試行を繰り返す。 Linear optimization in the bandit problem (hereinafter referred to as bandit linear optimization) is an important problem that is widely used in many fields. Specifically, the bandit linear optimization repeats the trials described below.

プレイヤーには、試行開始時に、d次元の(試行の)行動ベクトル集合A⊆RとTラウンドの試行が与えられる。各ラウンドt∈[T]:={1,2,…,T}において、プレイヤーは、行動a∈Aを選択する。そして、ラウンドごとに変化し得る未知の損失ベクトルlのもとで、プレイヤーは、損失l を観測する。At the start of a trial, the player is given a d-dimensional (trial) action vector set A⊆R d and T rounds of trials. At each round tε[T]:={1, 2, . . . , T}, the player chooses an action at εA . Then, under an unknown loss vector l t that can change from round to round, the player observes the loss l t Ta t .

バンディット線形最適化の特別な応用例として、様々なオンライン意思決定問題を扱うことができる。例えば、グラフG=(V,E)およびs,t∈Vが与えられ、s-t間のパスのすべての特徴ベクトルの集合となるA⊆R|E|が設定されたとする。これにより、この問題を、バンディット最短経路、または、適応ルーティング(Adaptive routing)とみなすことができる。この設定では、l∈R|E|がパスの(未知の)長さに対応し、バンディットフィードバックl が、選択されたs-t間のパスの長さを意味する。A special application of bandit linear optimization is to deal with various online decision-making problems. For example, given a graph G=(V, E) and s, tεV, set A⊆R |E| to be the set of all feature vectors of paths between st. This allows us to view the problem as bandit shortest path, or adaptive routing. In this setup, l t εR |E| corresponds to the (unknown) length of the path, and bandit feedback l t T a t denotes the length of the path between selected st.

上記応用以外に、バンディット線形最適化は、例えば、最小スパニングツリー、最小カット、ナップサック問題などの組み合わせ最適化問題や、線形計画法、半正定値計画法などの連続最適化問題のバンディット版を含む。 Besides the above applications, bandit linear optimization includes, for example, combinatorial optimization problems such as minimum spanning tree, minimum cut, and knapsack problems, and bandit versions of continuous optimization problems such as linear programming and semidefinite programming. .

プレイヤーの性能は、以下に示す式1で定義されるような後悔R(a)(ただし、a∈A)により評価される。式1は、プレイヤーの決定{a}に対する累積損失と、任意の固定された戦略aに対する累積損失との間の差を意味する。バンディット線形最適化の最優先事項は、任意のaに対して小さな後悔を得ることである。A player's performance is evaluated by regret R T (a * ) (where a * εA) as defined in Equation 1 below. Equation 1 represents the difference between the cumulative loss for a player's decision {a t } and the cumulative loss for any fixed strategy a * . The first priority of bandit linear optimization is to obtain a small regret for any a * .

Figure 0007248108000001
Figure 0007248108000001

バンディット問題を効率的に解くための方法が各種知られている。例えば、非特許文献1には、オーダO(T1/2)で後悔限界を得るため、確率的および敵対的多腕バンディット問題を効率的に解く方法が記載されている。非特許文献1に記載された方法では、セミバンディットフィードバックの下での確率的設定において、問題特有の後悔下限を導出し、そのスケーリングを決定空間の次元で扱う。なお、OはOの上付きチルダであり、O表記をした場合、dおよびlog(T)における多項式の因子は無視する。Various methods are known for efficiently solving the bandit problem. For example, Non-Patent Document 1 describes a method for efficiently solving probabilistic and adversarial multi-armed bandit problems in order to obtain regret bounds on the order O (T 1/2 ). In the method described in Non-Patent Document 1, in a probabilistic setting under semi-bandit feedback, a problem-specific lower regret bound is derived and its scaling is treated in the dimension of the decision space. Note that O ~ is the superscript tilde of O, and when we write O ~ we ignore polynomial factors in d and log(T).

また、オーダO(T1/2)のアルゴリズムは、最悪の場合に、少なくともΩ(T1/2)の後悔を黙認することが知られている。これは、オーダO(T1/2)の後悔限界を有するアルゴリズムが、Tに依存して最適な性能を達成することを意味する。Also, algorithms of order O (T 1/2 ) are known to tolerate regrets of at least Ω(T 1/2 ) in the worst case. This means that algorithms with regret bounds of order O (T 1/2 ) achieve optimal performance depending on T.

なお、非特許文献2には、線形計画法および整数計画法の理論について記載されている。また、非特許文献3には、不透明なフィードバックにおけるオンライン線形最適化のためのアルゴリズムが記載され、非特許文献4には、n次元の対数分布からサンプリングするための効率的なアルゴリズムが記載されている。 Non-Patent Document 2 describes the theory of linear programming and integer programming. Non-Patent Document 3 describes an algorithm for online linear optimization in opaque feedback, and Non-Patent Document 4 describes an efficient algorithm for sampling from an n-dimensional logarithmic distribution. there is

Richard Combes, et al., “Combinatorial Bandits Revisited”, In Advances in Neural Information Processing Sysytems, pp.2116-2124, 2015.Richard Combes, et al., “Combinatorial Bandits Revisited”, In Advances in Neural Information Processing Systems, pp.2116-2124, 2015. A.Schrijver, “Theory of linear and integer programming”, John Wiley & Sons, 1998.A.Schrijver, “Theory of linear and integer programming”, John Wiley & Sons, 1998. B. Awerbuch, R. D. Kleinberg, “Adaptive routing with end-to-end feedback: Distributed learning and geometric approaches”, Proceedings of the Thirty-sixth Annual ACM Symposium on Theory of Computing, pp.45-53. ACM, 2004.B. Awerbuch, R. D. Kleinberg, "Adaptive routing with end-to-end feedback: Distributed learning and geometric approaches", Proceedings of the Thirty-sixth Annual ACM Symposium on Theory of Computing, pp.45-53. ACM, 2004. L. Lovasz, S. Vempala, "The geometry of logconcave functions and sampling algorithms", Random Structures & Algorithms, 30(3), pp.307-358, 2007.L. Lovasz, S. Vempala, "The geometry of logconcave functions and sampling algorithms", Random Structures & Algorithms, 30(3), pp.307-358, 2007.

しかし、非特許文献1に記載された方法のように、行動ベクトル集合Aが指数関数的に大きい場合や無限集合である場合、計算上の問題を有する。すなわち、プレイヤーの選択可能な行動の種類が指数関数的に大きい場合、非特許文献1に記載された方法をコンピュータの機能で実現しようとしても、現実的な時間で解くことができないという問題がある。そのため、コンピュータの機能の改善させるためには、取得できる後悔限界をより小さくできるように、効率的にバンディット問題を解くことができる方法が望まれている。 However, as in the method described in Non-Patent Document 1, when the action vector set A is exponentially large or infinite, there is a computational problem. In other words, when the number of actions that can be selected by the player is exponentially large, even if the method described in Non-Patent Document 1 is attempted to be implemented using computer functions, there is the problem that it cannot be solved in a realistic amount of time. . Therefore, in order to improve the functions of computers, there is a demand for a method that can efficiently solve the bandit problem so that the regret limit that can be obtained can be made smaller.

そこで、本発明は、効率的に解けるようにバンディット問題を最適化できる最適化装置、最適化方法および最適化プログラムを提供することを目的とする。 SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to provide an optimization device, an optimization method, and an optimization program capable of optimizing the bandit problem so that it can be solved efficiently.

本発明による最適化装置は、バンディット問題を最適化する最適化装置であって、候補になる行動ベクトルの集合である行動集合を含む凸集合を設定する凸集合設定部と、予め定めた範囲に含まれる任意のベクトルと凸集合とを分離する超平面を導出するための分離問題を解決し、導出された超平面に基づいて凸集合をより小さな凸集合に更新する分離問題解決部と、行動ベクトルの次元数内の値および正負の値を示すパラメータを選択するパラメータ選択部と、選択された次元数内の値およびパラメータにより決定される要素並びに凸集合に関して、その要素のそれぞれを行動ベクトルの次元数のポイントに分解する分解問題を解決する分解問題解決部と、分解されたポイントの重みの確率で、そのポイントを行動として実行する行動実行部と、実行された行動により得られる損失に基づいて、損失ベクトルの推定量を算出する推定量算出部とを備えたことを特徴とする。 An optimization device according to the present invention is an optimization device for optimizing a bandit problem, and includes a convex set setting unit for setting a convex set including an action set that is a set of candidate action vectors; a separation problem solver for solving a separation problem to derive a hyperplane that separates any contained vector from the convex set, and updating the convex set to a smaller convex set based on the derived hyperplane; A parameter selection unit that selects a value within the number of dimensions of a vector and a parameter indicating a positive or negative value; A decomposition problem solver that solves the decomposition problem by decomposing it into dimensional points, an action execution unit that executes the point as an action with the probability of the weight of the decomposed point, and a loss obtained by the executed action. and an estimator calculating unit for calculating an estimator of the loss vector.

本発明による最適化方法は、バンディット問題を最適化する最適化方法であって、コンピュータが、候補になる行動ベクトルの集合である行動集合を含む凸集合を設定し、コンピュータが、予め定めた範囲に含まれる任意のベクトルと凸集合とを分離する超平面を導出するための分離問題を解決し、導出された超平面に基づいて凸集合をより小さな凸集合に更新し、コンピュータが、行動ベクトルの次元数内の値および正負の値を示すパラメータを選択し、コンピュータが、選択された次元数内の値およびパラメータにより決定される要素並びに凸集合に関して、その要素のそれぞれを行動ベクトルの次元数のポイントに分解するための分解問題を解決し、コンピュータが、分解されたポイントの重みの確率で、そのポイントを行動として実行し、コンピュータが、実行された行動により得られる損失に基づいて、損失ベクトルの推定量を算出することを特徴とする。 The optimization method according to the present invention is an optimization method for optimizing the bandit problem, in which a computer sets a convex set including an action set, which is a set of candidate action vectors; Solve the separation problem to derive a hyperplane that separates any vector contained in the convex set from and a parameter indicating a positive or negative value within the selected number of dimensions, and the computer converts each of the elements into the number of dimensions of the action vector for the elements and convex sets determined by the values and parameters within the selected number of dimensions , the computer executes the point as an action with the probability of the weight of the decomposed point, and the computer calculates the loss based on the loss obtained by the executed action. It is characterized by calculating an estimator of a vector.

本発明による最適化プログラムは、バンディット問題を最適化するコンピュータに適用される最適化プログラムであって、コンピュータに、候補になる行動ベクトルの集合である行動集合を含む凸集合を設定する凸集合設定処理、予め定めた範囲に含まれる任意のベクトルと凸集合とを分離する超平面を導出するための分離問題を解決し、導出された超平面に基づいて凸集合をより小さな凸集合に更新する分離問題解決処理、行動ベクトルの次元数内の値および正負の値を示すパラメータを選択するパラメータ選択処理、選択された次元数内の値およびパラメータにより決定される要素並びに凸集合に関して、その要素のそれぞれを行動ベクトルの次元数のポイントに分解する分解問題を解決する分解問題解決処理、分解されたポイントの重みの確率で、そのポイントを行動として実行する行動実行処理、および、実行された行動により得られる損失に基づいて、損失ベクトルの推定量を算出する推定量算出処理を実行させることを特徴とする。 An optimization program according to the present invention is an optimization program applied to a computer for optimizing a bandit problem, wherein a convex set including an action set, which is a set of candidate action vectors, is set in the computer. Processing, solving the separation problem to derive a hyperplane that separates any vector contained in the predetermined range from the convex set, and updating the convex set to a smaller convex set based on the derived hyperplane. Separation problem solving processing, parameter selection processing for selecting a value within the number of dimensions of the action vector and a parameter indicating a positive or negative value, an element determined by the value within the selected number of dimensions and the parameter, and a convex set of the elements Decomposition problem solving processing that solves the decomposition problem that decomposes each into points of the number of dimensions of the action vector, action execution processing that executes the point as an action with the probability of the weight of the decomposed point, and the executed action It is characterized by executing an estimator calculation process for calculating an estimator of the loss vector based on the obtained loss.

本発明によれば、効率的に解けるようにバンディット問題を最適化できる。 According to the present invention, the bandit problem can be optimized for efficient solution.

本発明による最適化装置の第一の実施形態の構成例を示すブロック図である。1 is a block diagram showing a configuration example of a first embodiment of an optimization device according to the present invention; FIG. 第一の実施形態の最適化装置の動作例を示すフローチャートである。4 is a flow chart showing an operation example of the optimization device of the first embodiment; 本発明による最適化装置の第二の実施形態の構成例を示すブロック図である。FIG. 3 is a block diagram showing a configuration example of a second embodiment of an optimization device according to the present invention; 第二の実施形態の最適化装置の動作例を示すフローチャートである。It is a flow chart which shows an example of an optimization device of a second embodiment of operation. 本発明による最適化装置の概要を示すブロック図である。1 is a block diagram showing an overview of an optimization device according to the invention; FIG. 少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。1 is a schematic block diagram showing a configuration of a computer according to at least one embodiment; FIG.

以下、本発明の実施形態を図面を参照して説明する。第一の実施形態では、線形最適化オラクルと呼ぶ(コールする)ことができるという仮定の下、オーダO(T1/2)の後悔限界を達成することを目的とする。オラクル(神託)は、オフラインでAについての線形最適化問題を解くことができる概念上の装置に対応する。すなわち、損失ベクトルl∈Rが与えられると、オラクルは、以下の式2に示すaを出力する。BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the first embodiment, we aim to achieve a regret bound of order O(T 1/2 ) under the assumption that we can call it a linear optimization oracle. Oracles correspond to conceptual devices that can solve linear optimization problems for A off-line. That is, given a loss vector lεR d , the oracle outputs a * as shown in Equation 2 below.

Figure 0007248108000002
Figure 0007248108000002

なお、この想定(すなわち、オラクルの呼び出し)はオンライン最適化の文脈で知られており、劣線形な後悔を取得する効率的なバンディットのアルゴリズムを展開するための最小要件である。実際、効率的な劣線形の後悔バンディットアルゴリズムが与えられると、オフライン問題に対する効率的なアルゴリズムを構築できる。これは、オフライン問題が計算上困難(例えば、NP困難)である場合、バンディット問題もまた困難であることを意味する。 Note that this assumption (ie, the oracle call) is known in the context of online optimization and is the minimum requirement for developing an efficient Bandit's algorithm that obtains sublinear remorse. In fact, given an efficient sublinear regret bandit algorithm, we can construct an efficient algorithm for offline problems. This means that if the offline problem is computationally hard (eg, NP-hard), then the bandit problem is also hard.

多くの応用例において、バンディットアルゴリズムを効率的に計算するには、“オラクル複雑度”に強く依存する。ここでは、“オラクル複雑度”とは、線形最適化オラクルを呼び出す回数である。この傾向は、オフライン線形最適化問題を解くための計算時間(すなわち、オラクルから答えを得るための時間)が他の計算時間を支配するのに十分大きい場合、特に顕著である。そこで、本実施形態では、“オラクル複雑度”を小さくして、バンディット問題を効率的に解けるようにするためのアルゴリズムを説明する。 In many applications, efficient computation of the bandit algorithm relies heavily on the "oracle complexity". Here, "oracle complexity" is the number of calls to the linear optimization oracle. This trend is especially pronounced when the computational time to solve the offline linear optimization problem (ie, the time to get the answer from Oracle) is large enough to dominate other computational times. Therefore, in the present embodiment, an algorithm for efficiently solving the bandit problem by reducing the "oracle complexity" will be described.

また、第一の実施形態では、後述する確率的(stochastic)な設定のために、高確率でオーダO((dT)1/2)の後悔を達成し、オーダO(poly(d)logT)のオラクル複雑度を有するアルゴリズムを説明する。In addition, in the first embodiment, due to the stochastic setting described later, regret of order O ~ ((d 3 T) 1/2 ) is achieved with high probability, and order O(poly(d We describe an algorithm with an oracle complexity of )logT).

まず、以下の定理を定める。なお、以下の説明では、非公式(informal)な定理についても、単に定理と記す。 First, the following theorem is defined. In the following description, informal theorems are also simply referred to as theorems.

<定理1>
t=1,2,…,TにおいてlがR上の分布に従うと仮定する。このとき、以下に示すアルゴリズムが存在する。
(1)アルゴリズムの出力が、全てのa∈Aにおいて、高確率でR(a)=O((dT)1/2)を満たす。
(2)アルゴリズムは、線形最適化オラクルをオーダO(poly(d)logT)回数分呼び出す。
(3)線形最適化オラクルを除く計算時間は、O(poly(d,T))のオーダである。
<Theorem 1>
Assume l t follows a distribution on R d at t=1, 2, . . . ,T. At this time, the algorithm shown below exists.
(1) The output of the algorithm satisfies R T (a * )=O ˜ ((d 3 T) 1/2 ) with high probability for all a * εA.
(2) The algorithm calls the linear optimization oracle an order of O(poly(d)logT) times.
(3) Computation time, except for linear optimization oracles, is of the order of O(poly(d,T)).

一般的に知られたO(T1/2)の後悔を得るアルゴリズムでは、少なくとも、Ω(T)オラクル複雑度を必要とする。また、第一の実施形態で示すアルゴリズムは、Tにおいて準線形であるO(T1/2)の後悔限界とオラクル複雑度を持つアルゴリズムである。Commonly known O (T 1/2 ) repentance algorithms require at least Ω(T) oracle complexity. Also, the algorithm shown in the first embodiment is an algorithm with a regret bound of O (T 1/2 ), which is quasi-linear in T, and an oracle complexity.

さらに、第二の実施形態では、後述する非確率的(stochastic)な設定のために、期待されるオーダO((dT)1/2)の後悔を達成し、オーダO(poly(d)T)のオラクル複雑度を有するアルゴリズムを説明する。そこで、以下の定理を定める。Furthermore, in the second embodiment, for the non-stochastic setting described below, we achieve regrets of the expected order O ~ ((d 3 T) 1/2 ), and achieve regrets of the order O(poly( d) Describe an algorithm with an oracle complexity of T). Therefore, the following theorems are defined.

<定理2>
以下に示すアルゴリズムが存在する。
(1)アルゴリズムの出力が、全てのa∈Aにおいて、E[R(a)]=O((dT)1/2)を満たす。
(2)アルゴリズムは、線形最適化オラクルをオーダO(poly(d)T)回数分呼び出す。
(3)線形最適化オラクルを除く計算時間は、O(poly(d,T))のオーダである。
<Theorem 2>
The following algorithms exist.
(1) The output of the algorithm satisfies E[R T (a * )]= ((d 3 T) 1/2 ) for all a * εA.
(2) The algorithm calls the linear optimization oracle an order of O(poly(d)T) times.
(3) Computation time, except for linear optimization oracles, is of the order of O(poly(d,T)).

実施形態1.
まず、第一の実施形態の最適化装置について説明する。第一の実施形態におけるポイントは、行動の段階的な排除を組み合わせること、および、重心スパナである。段階的な排除に基づくアルゴリズムでは、意思決定のラウンドをフェーズ(ラウンドのセグメント化したもの)に分割する処理が行われる。また、各フェーズの最後で、可能な行動が排除されるため、有望な行動だけが残される。
Embodiment 1.
First, the optimization device of the first embodiment will be explained. The point in the first embodiment is to combine the gradual elimination of actions and the center of gravity spanner. Algorithms based on gradual elimination involve the process of dividing the decision-making round into phases (segments of the round). Also, at the end of each phase, possible actions are eliminated, leaving only promising actions.

段階的な排除を行うアルゴリズムでは、各フェーズで選択されたすべてのaがフェーズの最初に決定される。これは、オラクル複雑度が、ラウンドの数に依存するのではなく、フェーズの数に依存することを意味する。第一の実施形態で示すアルゴリズムでは、フェーズの数が、O(poly(d)logT)のオーダであり、また、重心スパナに対する効率的なアルゴリズムにより、各フェーズにおけるオラクルの呼び出し回数は、O(poly(d))のオーダになる。結果、全体として、オーダO(poly(d)logT)のオラクル複雑度になる。In algorithms with gradual elimination, all at selected in each phase are determined at the beginning of the phase. This means that the oracle complexity does not depend on the number of rounds, but on the number of phases. In the algorithm shown in the first embodiment, the number of phases is on the order of O(poly(d)logT), and the efficient algorithm for centroid spanners reduces the number of oracle calls in each phase to O( poly(d)). This results in an overall oracle complexity of order O(poly(d)logT).

また、第一の実施形態では、バンディット線形最適化において確率的(stochastic)な設定を想定する。確率的な設定とは、損失ベクトルlが、ラウンドt=1,2,…,Tにおいて、互いに独立で、W⊆R上の同一の確率分布Dに従うことを想定するものである。アルゴリズムの性能は、損失ベクトルlのランダム性およびアルゴリズムの内部的なランダム性に関して、上記式1における後悔R(a)の期待値により評価される。The first embodiment also assumes a stochastic setting in the bandit linear optimization. The stochastic setting assumes that the loss vectors l t are independent of each other and follow the same probability distribution D on W⊆R d in rounds t = 1, 2, ..., T. The performance of the algorithm is evaluated by the expected value of regret R T (a * ) in Equation 1 above with respect to the randomness of the loss vector l t and the internal randomness of the algorithm.

以下、バンディット線形最適化の問題設定について再掲する。 The setting of the bandit linear optimization problem will be described again below.

ゲームが開始する前に、プレイヤーには、Tラウンドの試行、d次元の行動ベクトル集合A(行動集合と記すこともある。)A⊆R、並びに、行動ベクトルa(以下、単に行動aと記すこともある。)∈Kのノルムの上界L>0および損失ベクトルl∈Wのノルムの上界R>0が与えられる。Before the game starts, the player has T rounds of trials, a d-dimensional action vector set A (sometimes referred to as an action set) A ⊆ R d , and an action vector at (hereinafter simply action a t .) An upper bound L>0 on the norm of εK and an upper bound R>0 on the norm of the loss vector l t εW are given.

各ラウンドt=1,2,…,Tにおいて、プレイヤーは、行動a∈Kを選択する。一方、環境によって損失lベクトルが選択されることで、プレイヤーは、損失l を観測する。また、プレイヤーは、線形最適化オラクルOにのみアクセスできる。言い換えると、本実施形態の最適化装置が、線形最適化オラクルOを実現する装置を呼び出す処理を制御していると言える。なお、線形最適化オラクルOを実現する装置は、本実施形態の最適化装置と同一の装置で実現されていてもよく、異なる装置で実現されていてもよい。At each round t=1, 2, . . . , T, the player chooses an action at εK . On the other hand, the loss l t vector is selected by the environment, and the player observes the loss l t Ta t . Also, players can only access the linear optimization oracle OA . In other words, it can be said that the optimization device of this embodiment controls the process of calling the device that implements the linear optimization Oracle OA . Note that the device that implements the linear optimization oracle OA may be implemented by the same device as the optimization device of this embodiment, or may be implemented by a different device.

プレイヤーの目的は、より小さな後悔R(a)を得ること(言い換えると、一定期間における報酬を最大化すること)である。ここで、後悔R(a)は、任意のa∈Kについて、以下に例示する式3により算出される、The player's goal is to obtain a smaller regret R T (a) (in other words, to maximize the reward over a period of time). Here, regret R T (a) is calculated by Equation 3 exemplified below for any a∈K,

Figure 0007248108000003
Figure 0007248108000003

また、本実施形態では、行動集合AがRのコンパクトなサブセットであると仮定する。そして、w∈Rの中の重みベクトルについてAで線形最適化するためのアルゴリズム(オラクル)が存在することを想定する。そして、任意の入力wを線形最適化オラクルO:R→Aに与えることができるものとし、そのオラクルは、以下に例示する式4を満たす点O(w)∈Aを満たす点を出力する。We also assume that the action set A is a compact subset of Rd . Suppose then that there exists an algorithm (oracle) to linearly optimize in A for the weight vectors in wεR d . Then, suppose that any input w can be given to a linear optimization oracle OA :R d →A, which oracle finds points OA (w)εA that satisfy Equation 4, exemplified below. Output.

Figure 0007248108000004
Figure 0007248108000004

ここで、いくつかの仮定を行う。まず、以下の(a)~(b)を満たすような正の実数L,Rが存在するとする。
(a)すべてのt∈[T]について、||l||≦Lである。
(b)すべてのa∈Aについて、||a||≦Rである。また、
(c)K:=Conv(A)が、正の体積を有する。すなわち、∫1dx>0である。
Here we make some assumptions. First, assume that there are positive real numbers L and R that satisfy the following (a) to (b).
(a) ||l t ||≦L for all tε[T].
(b) ||a|| 2 ≤ R for all aεA. again,
(c) K:=Conv(A) has positive volume. That is, ∫ K 1dx>0.

上記(a)および(b)についての仮定は、バンディット線形最適化では一般的である。また、Aについての線形最適化オラクルが与えられた場合、一般性を失うことなく、上記(c)を仮定できる。実際、Aがdよりも小さい次元のサブスペースに含まれている場合、線形最適化オラクルを多項式時間で呼び出すことにより、それを検出可能であり、冗長な次元を無視することで、Kを全次元にすることができる。 The assumptions for (a) and (b) above are common in bandit linear optimization. Also, given a linear optimization oracle on A, we can assume (c) above without loss of generality. In fact, if A is contained in a subspace of dimension less than d, it can be detected by invoking a linear optimization oracle in polynomial time, and ignoring redundant dimensions reduces K to the full can be dimensioned.

さらに、以下に示すように、有理数のサイズまたはビット長を定義する。 In addition, we define the size or bit length of a rational number, as shown below.

<定義1>
pおよびqが相対的な素数である場合に、有理数r=p/qについて、有理数rのサイズsize(r)を、以下に例示する式5で定義する。
<Definition 1>
If p and q are relative prime numbers, the size of the rational number r=p/q is defined by Equation 5 exemplified below.

Figure 0007248108000005
Figure 0007248108000005

また、有理数ベクトルx=(x,…,x)∈Qについて、ベクトルxのサイズsize(x)を、以下に例示する式6で定義する。Also, for a rational vector x = (x 1 , .

Figure 0007248108000006
Figure 0007248108000006

また、サブセットPが有限有理ベクトルの凸包である場合、Pは、有理ポリトープ(超多面体)である。同じように、Pが有理数によって表現された線形不等式の有限集合を用いて表現される非空のコンパクト集合である場合、すなわち、P={x∈R|Ax≦b}であるような、有理行列A=(aiji∈[m],j∈[d]∈Qm×dおよび有理ベクトルb=(bi∈[m]∈Qが存在する場合、Pは有理ポリトープである。本実施形態では、有理不等式(A,b)のサイズsize((A,b))を、以下に例示する式7で定義する。Also, if the subset P is the convex hull of finite rational vectors, P is a rational polytope (hyperpolyhedron). Similarly, if P is a non-empty compact set expressed in terms of a finite set of linear inequalities expressed in terms of rational numbers, i.e., P={xεR d |Ax≦b}, then P is a rational polytope _ is. In this embodiment, the size size ((A, b)) of the rational inequality (A, b) is defined by Equation 7 exemplified below.

Figure 0007248108000007
Figure 0007248108000007

なお、各x∈Aのサイズが高々φであるような有理数の有限集合Aに対して、PがP=Conv(A)として表される場合、Pは、サイズが高々poly(d,φ)である線形不等式によって表現され得る。また、||x||≦Rであるようなx∈Rが与えられた場合、以下に例示する式8および式9に示すようなx(xの上付きチルダ)∈Qを得ることができる。Note that for a finite set A of rational numbers such that each x ∈ A has size at most φ, if P is expressed as P=Conv(A), then P has size at most poly(d, φ) can be expressed by the linear inequality Also , given xεR d such that ||x|| can be done.

Figure 0007248108000008
Figure 0007248108000008

次に、コンパクト凸体P⊆Rにおける、線形最適化問題LP(linear optimization problem)、分離問題SP(separation problem)および分解問題DP(decomposition problem )を、以下のように定義する。これらの問題が、線形最適化オラクルで解決可能な問題である。Next, a linear optimization problem LP (linear optimization problem), a separation problem SP (separation problem), and a decomposition problem DP (decomposition problem) in a compact convex P⊆R d are defined as follows. These are the problems that can be solved with a linear optimization oracle.

<線形最適化問題:LP>
ベクトルw∈Rが与えられたときに、w=minx∈Pxであるようなベクトルx∈Pを発見する。
<Linear optimization problem: LP>
Given a vector wεRd , find a vector x * εP such that wTx * =min xεPwTx .

<分離問題:SP>
ベクトルy∈Rが与えられたときに、yがPに属するか否かを判断し、さらに、yがPに属さない場合に、wy<minx∈Pxであるようなベクトルw∈Rを発見する。
<Separation problem: SP>
Given a vector yεR d , determine whether y belongs to P, and if y does not belong to P, then w T y<min xεP w T x Find the vector wεR d .

<分解問題:DP>
ベクトルx∈Rが与えられたときに、x=λ+…+λであるようなPの頂点x,…,xおよびλ,…,λ≧0を発見する。
<Decomposition problem: DP>
Given a vector xεR d , find the vertices x 0 ,...,x d and λ 0 ,...,λ d ≧0 of P such that x=λ 0 x 0 +...+λ d x d do.

上記3つの問題の処理を軽減させる有名な楕円体法では、以下の関係を示している。
LP:解決可能 ⇔ QP:解決可能 ⇒ DP:解決可能。
The well-known ellipsoid method, which alleviates the handling of the above three problems, shows the following relationship.
LP: Resolvable ⇔ QP: Resolvable ⇒ DP: Resolvable.

なお、非特許文献2には、P⊆Rが高々φのサイズの線形不等式で定義できる有理ポリトープである場合において、以下に示す定理3(a),定理3(b)および定理3(c)が記載されている。In Non-Patent Document 2, the following Theorem 3(a), Theorem 3( b ) and Theorem 3(c ) is described.

定理3(a):分離問題を解決するアルゴリズムSEPが存在する場合、SEPを高々poly(d,φ,size(w))回呼び出すことによって、w∈Qについての線形最適化問題を解決できる。
定理3(b):線形最適化問題を解決するアルゴリズムOPTが存在する場合、OPTを高々poly(d,φ,size(y))回呼び出すことによって、y∈Qについての分離問題を解決できる。
定理3(c):線形最適化問題を解決するアルゴリズムOPTが存在する場合、OPTを高々poly(d,φ,size(x))回呼び出すことによって、x∈Qについての分解問題を解決できる。
Theorem 3(a): If we have an algorithm SEP that solves the separation problem, we can solve the linear optimization problem for w∈Q d by calling SEP at most poly(d, φ, size(w)) times .
Theorem 3(b): If there exists an algorithm OPT that solves a linear optimization problem, we can solve the separation problem for y∈Q d by calling OPT at most poly(d, φ, size(y)) times. .
Theorem 3(c): If there exists an algorithm OPT that solves a linear optimization problem, we can solve the decomposition problem for x∈Q d by calling OPT at most poly(d, φ, size(x)) times. .

次に、重心スパナに関する定義および定理を記載する。 Next, definitions and theorems regarding the center of gravity spanner are given.

<定義2>
線形スパンがRであるサブセットをS∈Rとし、C>1とする。ここで、すべてのx∈Sが、範囲[-C,C]の中の係数を用いてXの要素の線形結合として表せる場合、集合X={x,…,x}⊆Sは、Sに関するC-重心スパナである。
定理4:P⊆Rが、適切な線形部分空間に含まれていないコンパクトな集合であるとする。任意のC>1についてLPについてのアルゴリズムOPTが与えられた場合、OPTへの呼び出しをオーダO(dlog(d))で行うことにより、PについてのC-重心スパナを多項式時間で計算できる(非特許文献3参照)。
<Definition 2>
Let SεR d be the subset whose linear span is R d and let C>1. Now, if every xεS can be expressed as a linear combination of elements of X with coefficients in the range [−C,C], then the set X={x 1 , . . . , x d }⊆S is C-centroid spanner with respect to S;
Theorem 4: Let P⊆R d be a compact set not contained in a proper linear subspace. Given an algorithm OPT for LP for any C>1, compute the C-centroid spanner for P in polynomial time by making calls to OPT in order O(d 2 log C (d)) It is possible (see Non-Patent Document 3).

次に、対数凹分布のアルゴリズムについて記載する。logpが凸関数であるような確率密度関数p:K→R>0を、凸集合K∈R上の確率分布が有する場合、その確率分布を対数凹分布と呼ぶ。以下に示す定理5は、凸関数f:K→Rの価値オラクルが与えられた場合、対数凹型分布p(x)∝exp(-f(x))からサンプルを近似できることを意味する。Next, the logarithmically concave distribution algorithm is described. If a probability distribution on a convex set KεR d has a probability density function p:K→R >0 such that logp is a convex function, the probability distribution is called a log-concave distribution. Theorem 5 below implies that given a value oracle of a convex function f:K→R, a sample can be approximated from a log-concave distribution p(x)∝exp(−f(x)).

定理5:Pが非ゼロのルベーグ測度を有する凸体であるとする。また、f:P→Rが凸関数であり、pがexp(-f(x))に比例する対数凹分布であるとする。さらに、ε>0とする。Pのメンバーシップオラクルとfの価値オラクルへのアクセスを与えられる場合、以下の(i)および(ii)に示すようなpから近似的にサンプルするアルゴリズムが存在する(非特許文献4参照)。
(i)生成された分布とpとの間の総変動距離が高々εである。
(ii)オーダO(d)の時間で前処理した後、各サンプルは、オーダO(d/ε)の時間で生成される。
Theorem 5: Let P be convex with non-zero Lebesgue measure. Also, let f:P→R be a convex function and p be a logarithmically concave distribution proportional to exp(−f(x)). Furthermore, ε>0. Given access to P's membership oracle and f's value oracle, there exist algorithms that sample approximately from p as shown in (i) and (ii) below [4].
(i) The total variation distance between the generated distribution and p is at most ε.
(ii) After preprocessing for time of order O ~ (d 5 ), each sample is generated for time of order O ~ (d 44 ).

なお、分布pの平均をμ(p)と記載し、分布pの共分散をCov(p)と記載する。上述する定理5は、効率的に、対数凹分布pの平均μ(p)および共分散Cov(p)を近似的に計算できることを意味する。 Note that the mean of the distribution p is described as μ(p), and the covariance of the distribution p is described as Cov(p). Theorem 5 above means that the mean μ(p) and covariance Cov(p) of a logarithmically concave distribution p can be approximately calculated efficiently.

以上の定理および定義を適宜参照しながら、本実施形態の最適化装置の動作を説明する。上述するように、本実施形態では、t=1,2,…,Tについて、lが、W上の分布Dに従うと仮定する。また、lを以下の式10のように表記する。また、ξ=l-lと表記する。The operation of the optimization device of this embodiment will be described with appropriate reference to the above theorems and definitions. As mentioned above, in this embodiment, we assume that l t follows a distribution D over W for t=1, 2, . Also, l * is expressed as in Equation 10 below. Also, ξ t = l t - l * .

Figure 0007248108000009
Figure 0007248108000009

図1は、本発明による最適化装置の第一の実施形態の構成例を示すブロック図である。本実施形態の最適化装置100は、初期化部10と、最適化部20とを備えている。 FIG. 1 is a block diagram showing a configuration example of a first embodiment of an optimization device according to the present invention. The optimization device 100 of this embodiment includes an initialization unit 10 and an optimization unit 20 .

初期化部10は、各種処理に必要な初期化処理を行う。具体的には、初期化部10は、候補になるd次元の行動aの集合(以下、行動集合と記す。)A⊆Rの凸包Conv(A)(=P)を設定する。また、初期化部10は、小さな後悔(small regret)を得る確率を制御するパラメータ(δ>0)を設定する。The initialization unit 10 performs initialization processing necessary for various types of processing. Specifically, the initialization unit 10 sets a set of d-dimensional actions a that are candidates (hereinafter referred to as action set) A⊆R d convex hull Conv(A) (=P 1 ). Also, the initialization unit 10 sets a parameter (δ>0) that controls the probability of obtaining a small regret.

最適化部20は、ラウンドTを、K個=O(logT)のフェーズに分割する。具体的には、最適化部20は、k番目のフェーズにラウンドがΘ(2)含まれるように、ラウンドTを分割する。The optimization unit 20 divides the round T into K phases=O(logT). Specifically, the optimization unit 20 divides the round T so that the k-th phase includes Θ(2 k ) rounds.

また、最適化部20は、k番目のフェーズの開始時に、行動集合Pを再帰的に設定する。例えば、P=Conv(A)と初期化された場合、最適化部20は、kが大きくなるにつれて、l*Txの値がすべてのxに対して小さくなるように(P⊇P⊇…⊇Pになるように)Pを設定する。Also, the optimization unit 20 recursively sets the action set P k at the start of the k-th phase. For example, when P 1 =Conv(A) is initialized, the optimization unit 20 sets the value of l *T x to decrease for all x as k increases (P 1 ⊇ P 2 Set Pk such that ⊇... ⊇PK .

また、最適化部20は、k番目のフェーズの開始時に、凸包Pの2-重心スパナX={xk1,…,xkd}を計算する。なお、重心スパナXに含まれる行動を実行できた場合、好ましいlの推定値を構築できる。ただし、Xに含まれる各要素は、特にAが離散値の場合、通常Aに属していない。これに対処するため、最適化部20は、重みλki0,…,λkid≧0について、λki0+…+λkid=1、かつ、λki0ki0+…+λkidkid=xkiを満たすように各xkiをポイント{xki0,…,xkid}∈Aに分解する。そして、最適化部20は、各j=0,1,…,dについて、xkijを、Tkij∝λkij回実行する。以下、tラウンドで実行された行動をaと記す。The optimization unit 20 also calculates the 2-centroid spanner X k = {x k1 , . Note that if the actions contained in the centroid spanner X k can be performed, then a favorable estimate of l * can be constructed. However, each element contained in X k normally does not belong to A, especially if A is discrete. To address this, the optimizer 20 satisfies λ ki0 + . . . + λ kid = 1 and λ ki0 x ki0 + . We decompose each x ki into points {x ki0 , . . . , x kid }εA as follows. Then, the optimization unit 20 executes x kij T kij ∝λ kij times for each j=0, 1, . . . , d. Hereinafter, an action executed in t rounds is denoted as at .

すなわち、最適化部20は、上記要素Xのそれぞれおよび凸包P=Conv(A)についての分解問題(DP)を解き、xki=λki0ki0+…+λkidkidになるような分解xki0,…,xkid∈Aおよびλki0,…,λkidを得る。また、最適化部20は、各フェーズkにおいて、行動a=xkijを、(tkij+1)番目のラウンドから(tki,j+1)番目のラウンドまで、ちょうどTkij回選択する。なお、Tkijおよびtkijは、以下に示す式11および式12で算出される。すなわち、最適化部20は、ポイントの重みλに応じて選択する行動の回数を決定していると言える。That is, the optimization unit 20 solves the decomposition problem (DP) for each of the elements X k and the convex hull P=Conv(A), and obtains x kiki0 x ki0 + . . . +λ kid x kid We obtain the decompositions x ki0 ,..., x kid εA and λ ki0 ,..., λ kid . Also, in each phase k, the optimization unit 20 selects the action a t =x kij exactly T kij times from the (t kij +1)th round to the (t ki,j+1 )th round. Note that T kij and t kij are calculated by Equations 11 and 12 shown below. That is, it can be said that the optimization unit 20 determines the number of actions to be selected according to the weight λ of the point.

Figure 0007248108000010
Figure 0007248108000010

最適化部20は、k番目のフェーズで得られたフィードバック(すなわち、選択された行動)に基づいて、lの経験的推定量l^を以下の式13を用いて計算する。なお、l^は、上付きハットである。The optimizer 20 calculates an empirical estimator of l * , l^ k , based on the feedback (ie, the selected action) obtained in the k-th phase using Equation 13 below. Note that l^ is a superscript hat.

Figure 0007248108000011
Figure 0007248108000011

最適化部20は、以下の式14に示すように、損失l^ xを最小化するようなベクトルx を見つけるため、P=Pおよびw=l^についての線形最適化問題(LP)を解く。具体的には、最適化部20は、線形最適化オラクルを実行する装置(図示せず)に対して算出された経験的推定量l^を送信する制御を行い、その装置から最適化された要素(以下、最適化要素と記す。)x を取得することにより線形最適化問題を解決する。The optimizer 20 performs linear optimization for P=P k and w=l^ k to find the vector x * k that minimizes the loss l^ T k x, as shown in Equation 14 below. Solve the problem (LP). Specifically, the optimization unit 20 controls transmission of the calculated empirical estimator l^ k to a device (not shown) that executes a linear optimization oracle, and the optimized The linear optimization problem is solved by obtaining x * k elements (hereinafter referred to as optimization elements).

Figure 0007248108000012
Figure 0007248108000012

の算出後、最適化部20は、線形最適化問題の解決により得られたx に基づいて、以下の式15に基づいて、凸包Pを小さくするように更新する。After calculating x * k , the optimization unit 20 updates the convex hull Pk to be smaller based on x * k obtained by solving the linear optimization problem, based on Equation 15 below.

Figure 0007248108000013
Figure 0007248108000013

初期化部10と、最適化部20とは、プログラム(最適化プログラム)に従って動作するコンピュータのプロセッサ(例えば、CPU(Central Processing Unit )、GPU(Graphics Processing Unit))によって実現される。 The initialization unit 10 and the optimization unit 20 are realized by a computer processor (for example, CPU (Central Processing Unit), GPU (Graphics Processing Unit)) that operates according to a program (optimization program).

例えば、プログラムは、最適化装置100が備える記憶部(図示せず)に記憶され、プロセッサは、そのプログラムを読み込み、プログラムに従って、初期化部10および最適化部20として動作してもよい。また、最適化装置100の機能がSaaS(Software as a Service )形式で提供されてもよい。 For example, the program may be stored in a storage unit (not shown) included in the optimization device 100, the processor may read the program, and operate as the initialization unit 10 and the optimization unit 20 according to the program. Also, the functions of the optimization device 100 may be provided in a SaaS (Software as a Service) format.

初期化部10と、最適化部20とは、それぞれが専用のハードウェアで実現されていてもよい。また、各装置の各構成要素の一部又は全部は、汎用または専用の回路(circuitry )、プロセッサ等やこれらの組合せによって実現されもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。 The initialization unit 10 and the optimization unit 20 may each be realized by dedicated hardware. Also, part or all of each component of each device may be implemented by general-purpose or dedicated circuitry, processors, etc., or combinations thereof. These may be composed of a single chip, or may be composed of multiple chips connected via a bus. A part or all of each component of each device may be implemented by a combination of the above-described circuits and the like and programs.

また、最適化装置100の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。 Further, when part or all of each component of the optimization device 100 is realized by a plurality of information processing devices, circuits, etc., the plurality of information processing devices, circuits, etc. may be centrally arranged, They may be distributed. For example, the information processing device, circuits, and the like may be implemented as a form in which each is connected via a communication network, such as a client-server system, a cloud computing system, or the like.

次に、本実施形態の最適化装置の動作を説明する。図2は、本実施形態の最適化装置100の動作例を示すフローチャートである。本動作例において、行動集合A⊆R、δ>0、L>0およびR>0であるとする。Next, the operation of the optimization device of this embodiment will be described. FIG. 2 is a flowchart showing an operation example of the optimization device 100 of this embodiment. In this operational example, assume that the action set A⊆R d , δ>0, L>0 and R>0.

初期化部10は、行動集合A⊆Rの凸包Conv(A)(=P)を設定する。また、初期化部10は、ラウンド数tを0に設定する(ステップS1)。以降、最適化部20は、各フェーズkについて、ステップS2からステップS16までの処理を繰り返す。The initialization unit 10 sets the convex hull Conv(A) (=P 1 ) of the action set A⊆R d . The initialization unit 10 also sets the number of rounds t to 0 (step S1). Henceforth, the optimization part 20 repeats the process from step S2 to step S16 about each phase k.

最適化部20は、X={xk1,…,xkd}⊆Pを、Pの2-重心スパナとする(ステップS3)。また、最適化部20は、パラメータζを、以下に示す式16のように設定する(ステップS4)。 The optimization unit 20 sets X k ={x k1 , . The optimization unit 20 also sets the parameter ζ k as shown in Equation 16 below (step S4).

Figure 0007248108000014
Figure 0007248108000014

また、最適化部20は、各dについて、ステップS5からステップS12までの処理を繰り返す。 Also, the optimization unit 20 repeats the processing from step S5 to step S12 for each d.

最適化部20は、凸包P=Conv(A)およびx=xkiについての分解問題(DP)を解き、xki=λki0ki0+…+λkidkidになるような分解xki0,…,xkid∈Aおよびλki0,…,λkidを得る(ステップS6)。The optimization unit 20 solves the decomposition problem (DP) for the convex hull P=Conv(A) and x=x ki , and the decomposition x ki0 , such that x kiki0 x ki0 +...+λ kid x kid , x kid εA and λ ki0 , . . . , λ kid are obtained (step S6).

さらに、最適化部20は、各dについて、ステップS7からステップS10までの処理を繰り返す。 Furthermore, the optimization unit 20 repeats the processing from step S7 to step S10 for each d.

最適化部20は、ラウンドの選択回数を算出する。具体的には、最適化部20は、選択回数Tkijと、選択するラウンドtkijを上記に示す式11および式12に基づいて算出する(ステップS8)。この処理によって、最適化部20が、順次実行されるフェーズkに含まれるラウンドが2の階乗のオーダで増加するように、フェーズに含まれるラウンド数を決定していると言える。最適化部20は、行動a=xkijを、(tkij+1)番目のラウンドから(tki,j+1)番目のラウンドまで、Tkij回選択する(ステップS9)。The optimization unit 20 calculates the number of round selections. Specifically, the optimization unit 20 calculates the number of selections T kij and the rounds t kij to be selected based on Equations 11 and 12 shown above (step S8). Through this processing, it can be said that the optimization unit 20 determines the number of rounds included in the phase so that the number of rounds included in the sequentially executed phase k increases in the order of the factorial of two. The optimization unit 20 selects the action at = x kij T kij times from the (t kij +1)th round to the (t ki,j+1 )th round (step S9).

最適化部20は、選択するラウンドtkijを、tk,i+1,0=tki,d+1と更新する(ステップS11)。The optimization unit 20 updates the selected round t kij as t k,i+1,0 =t ki,d+1 (step S11).

最適化部20は、lの経験的推定量l^を上記に示す式13を用いて計算する(ステップS13)。The optimization unit 20 calculates the empirical estimator l̂k of l * using Equation 13 shown above (step S13).

最適化部20は、上記の式14に示すベクトルx を見つけるため、凸包P=Pおよびw=l^についての線形最適化問題(LP)を解く(ステップS14)。最適化部20は、Pを、上記の式15に基づいて更新する(ステップS15)。すなわち、最適化部20は、フェーズごとに凸包Pの更新を行う。The optimization unit 20 solves the linear optimization problem (LP) for the convex hull P=P k and w= l̂k in order to find the vector x * k shown in Equation 14 above (step S14). The optimization unit 20 updates Pk based on Equation 15 above (step S15). That is, the optimization unit 20 updates the convex hull P for each phase.

次に、本実施形態の最適化装置100を用いた場合の後悔(Regret)について、分析結果を具体的に説明する。具体的には、上記アルゴリズムで達成される後悔上限を与える次の定理を示す。 Next, analysis results of Regret when using the optimization device 100 of the present embodiment will be specifically described. Specifically, we show the following theorem that gives the upper regret limit achieved by the above algorithm.

<定理6>
がT≧2でt=1,…,Tの独立同分布に従うと仮定し、{at=1 が上述する処理で与えられると仮定する。この場合、少なくとも1-δの確率で、後悔は以下の式17に示すように限界がある。
<Theorem 6>
Suppose l t is independent and identically distributed with T≧2 and t =1 , . In this case, with probability of at least 1−δ, regret is bounded as shown in Equation 17 below.

Figure 0007248108000015
Figure 0007248108000015

次に、オラクル複雑度についての分析を説明する。
上述するように、最適化部20は、2-重心スパナXを計算する必要があった。一方、上述する定理4より、P=Pについての線形最適化問題(LP)を解くアルゴリズムを、オーダO(poly(d))の回数分呼び出すことによって、最適化部20は、2-重心スパナを構築できる。さらに、上述する定理3(a)は、O(poly(d))のオーダで分離問題(SP)を解くことによって、線形最適化問題(LP)を解くことができることを意味する。
Next, an analysis of the oracle complexity is described.
As mentioned above, the optimizer 20 needed to compute the 2-centroid spanner X k . On the other hand, from Theorem 4 described above, by calling the algorithm that solves the linear optimization problem (LP) for P=P k the number of times of order O(poly(d)), You can build spanners. Furthermore, Theorem 3(a) above implies that the linear optimization problem (LP) can be solved by solving the separation problem (SP) in the order of O(poly(d)).

P=Pについての分離問題(SP)は、以下に示す手順で解くことができる。The separation problem (SP) for P= Pk can be solved by the procedure shown below.

1.y∈Pか否か決定する。そして、y∈Pでない場合、wy<minx∈P1xのようなw∈Rを出力する。上述する定理3(b)より、この処理は、AについてのLPオラクルをオーダO(poly(d))の回数分呼び出すことによって行うことができる。一方、y∈Pである場合、以下の2.の処理が行われる。1. Determine if yεP 1 . and if not yεP 1 , output wεR d such that w T y<min xεP1 w T x. From Theorem 3(b) above, this process can be done by invoking the LP oracle for A a number of times of order O(poly(d)). On the other hand, if yεP 1 , the following 2. is processed.

2.j=1,…,k-1について、l^ (y-x )>LR2-jである場合には、l^を出力する。すべてのj=1,…,k-1について、l^ (y-x )≦LR2-jである場合には、y∈Pであることを意味する。2. For j = 1 , . It means that yεP k if l̂ j T (y−x k * )≦LR2 −j for all j=1, . . . , k −1.

上記1.および2.の手順では、LPオラクルを、オーダO(poly(d))の回数分呼び出し、O(poly(d,K))=O(poly(d,logT))の回数分実行する。したがって、最適化部20は、図2に示すステップS3において、KについてのLPオラクルをO(poly(d))回数分呼び出す効率的な処理を行う。 1 above. and 2. In the procedure 2, the LP oracle is called the number of times of order O(poly(d)) and executed the number of times O(poly(d, K))=O(poly(d, logT)). Therefore, in step S3 shown in FIG. 2, the optimization unit 20 performs an efficient process of calling the LP oracle for K O(poly(d)) times.

同様に、図2に示すステップS6およびステップS14をcAについてのLPオラクルをO(poly(d))回数分呼び出すことによって、実行できる。他のステップでは、オラクルにアクセスする必要がなく、効率的に処理が行うことができる。また、kを基準とする反復回数Kは制限されているので、AについてLPを解くためのオラクル呼び出しの回数は、O(poly(d)K)= O(poly(d)logT)である。 Similarly, steps S6 and S14 shown in FIG. 2 can be performed by calling the LP oracle for cA O(poly(d)) times. Other steps do not require access to an oracle and can be processed efficiently. Also, since the number of iterations K relative to k is bounded, the number of oracle calls to solve LP for A is O(poly(d)K)=O(poly(d)logT).

以上のように、本実施形態では、初期化部10が、行動集合Aの凸包Pを設定し、最適化部20が、凸包Pに含まれる(行動ベクトルの)次元数d個の要素Xを、その凸包Pの重心スパナとし、最適化部20が、要素Xおよび凸包Pに関して、その要素のそれぞれを次元数のポイントに分解する分解問題(DP)を解決する。また、最適化部20が、ラウンドTをlog(T)オーダのフェーズkに分割し、フェーズに分割されたラウンド数分のポイントを行動として選択し、選択された行動に基づいて、損失ベクトルの経験的推定量l^を算出する。そして、最適化部20が、経験的推定量l^および凸包Pに関して、要素Xおよび経験的推定量l^により算出される損失を最小化する線形最適化問題(LP)を解決し、得られた最適化要素x に基づいて、凸包Pを小さくするように更新する。よって、効率的に解けるようにバンディット問題を最適化できる。As described above, in the present embodiment, the initialization unit 10 sets the convex hull P of the action set A, and the optimization unit 20 calculates the d dimensional elements (action vectors) included in the convex hull P. Let X be the center-of-mass spanner of its convex hull P, and the optimizer 20 solves a decomposition problem (DP) for an element X and the convex hull P that decomposes each of the elements into dimensional points. In addition, the optimization unit 20 divides the round T into phases k of log (T) order, selects points for the number of rounds divided into phases as actions, and based on the selected actions, the loss vector Compute the empirical estimator l^ k . Then, the optimization unit 20 solves a linear optimization problem (LP) that minimizes the loss calculated by the element X and the empirical estimator l^ k with respect to the empirical estimator l^ k and the convex hull P. , update the convex hull P to be smaller based on the obtained optimization factor x * k . Thus, the bandit problem can be optimized for efficient solution.

また、本実施形態では、最適化部20が、線形最適化オラクルOを実行する装置に対して算出された経験的推定量l^を送信する制御を行い、その装置から最適化要素x を取得することにより線形最適化問題を解決する。よって、線形最適化オラクルを実行する装置に対する呼び出し回数を抑制して計算時間を抑制できるため、バンディット問題を解決するコンピュータの機能を改善できる。言い換えると、本実施形態の最適化装置は、装置としてのオラクルに行う指示を適切に制御する装置であるともいえる。Further, in this embodiment, the optimization unit 20 controls the transmission of the empirical estimator ̂k calculated to the device that executes the linear optimization oracle OA , and the optimization element x * Solve the linear optimization problem by taking k . Therefore, the computation time can be reduced by reducing the number of calls to the device that executes the linear optimization oracle, thereby improving the computer's ability to solve the bandit problem. In other words, the optimization device of this embodiment can be said to be a device that appropriately controls instructions given to an oracle as a device.

実施形態2.
次に、第二の実施形態の最適化装置について説明する。第二の実施形態では、バンディット線形最適化において非確率的(non-stochastic)な設定を想定する。非確率的な設定とは、確率的な設定とは対照的に、いかなる生成モデルも仮定しない設定である。例えば、損失ベクトルlは前の行動a,…,at-1に応じて敵対的な方法で選択される可能性も存在する。
Embodiment 2.
Next, the optimization device of the second embodiment will be explained. A second embodiment assumes a non-stochastic setting in bandit linear optimization. A non-stochastic setting, in contrast to a stochastic setting, is one that does not assume any generative model. For example, the possibility exists that the loss vector l t is chosen in an adversarial manner depending on previous actions a 1 , . . . , a t−1 .

図3は、本発明による最適化装置の第二の実施形態の構成例を示すブロック図である。本実施形態の最適化装置200は、初期化部30と、最適化部40とを備えている。 FIG. 3 is a block diagram showing a configuration example of the second embodiment of the optimization device according to the present invention. The optimization device 200 of this embodiment includes an initialization unit 30 and an optimization unit 40 .

本実施形態の最適化装置200は、凸集合K (j)⊆RをA⊆K (j)であるように維持する。なお、tは、ラウンドに対応し、j∈{0,1,…}は、インデックスである。また、最適化装置200は、各ラウンドにおいて、増加する重みの更新に基づいて、凸関数z:R→R≧0を更新する。なお、zの正式な定義は後述される。The optimizer 200 of this embodiment maintains the convex set K t (j) ⊆ R d such that A ⊆ K t (j) . Note that t corresponds to a round and jε{0, 1, . . . } is an index. The optimizer 200 also updates the convex function z t : R d →R ≧0 based on the updating of the increasing weights in each round. A formal definition of zt will be given later.

また、以下の説明では、関数zに比例するK (j)上の分布の確率密度関数をq (j)と記す。すなわち、q (j)は、以下の式18に示す性質を満たす。Also, in the following description, the probability density function of the distribution on K t (j) proportional to the function z t is denoted as q t (j) . That is, q t (j) satisfies the properties shown in Equation 18 below.

Figure 0007248108000016
Figure 0007248108000016

また、q (j)の平均μ (j)∈Rおよびq (j)の共分散行列Σ (j)∈Rd×dを、それぞれ以下に示す式19で表す。Also, the mean μ t (j ) ∈R d of q t (j) and the covariance matrix Σ t (j) ∈R d×d of q t ( j) are expressed by Equation 19 below.

Figure 0007248108000017
Figure 0007248108000017

ここで、上述する定理5と同様の想定のもと、以下に補助定理を示す。
<補助定理>
少なくとも1-δになる確率で、以下に示す式20を得るようにpoly(d,1/ε,log(1/δ))でμ^(μの上付きハット)およびΣ^(Σの上付きハット)を出力する。なお、ベクトルx∈Rおよび正の半正定値行列A∈Rd×dにおいて、||x||:=(xAx)1/2と定義する。
Here, based on the assumption similar to Theorem 5 described above, a lemma is shown below.
<Lemma>
With a probability of at least 1−δ, μ^(superscripted hat of μ) and Σ^(superscript of Σ) in poly(d, 1/ε, log(1/δ)) to obtain Equation 20 shown below. with a hat). It should be noted that ||x||

Figure 0007248108000018
Figure 0007248108000018

上記補助定理より、最適化装置200は、以下に示す式21が少なくとも(1-δ (j))の確率で成り立つようにμ (j)およびΣ (j)の推定量を計算できる。なお、δ (j)∈(0,1)は、δ (j)=1/Tk(k+1)として表され、kは、μ (j)およびΣ (j)が計算されるごとに値が増加される。From the above lemma, optimizer 200 can compute estimators of μ t (j) and Σ t (j) such that Equation 21 below holds with probability at least (1−δ t (j) ) . Note that δ t ( j) ∈ (0,1) is expressed as δ t (j) = 1/Tk(k+ 1 ) , where k is is incremented to

さらに、B (j)=(bt1 (j),…,btd (j))∈Rd×dをB (j) (j)T=Σ^d(j)を満たすような行列であるとし、ε (j)⊆Rを、以下の式21により定義する。 Furthermore , let B t (j) = (b t1 (j) , . . . , b td (j ) ) εR d ×d be , and ε t (j) ⊆ R d is defined by Equation 21 below.

Figure 0007248108000019
Figure 0007248108000019

したがって、本実施形態の最適化装置は、μ^から予め定めた範囲(1/4e(bti (j)))内(すなわち、有限集合ε (j))の任意のベクトルyと凸集合とを分離する超平面を導出するための分離問題を解決する。また、このベクトルの含まれる範囲は、凸集合の分布の確率密度関数の共分散行列を導出する行列Bの要素(bt1 (j),…,btd (j))に基づいて決定される。Therefore, the optimizer of this embodiment can extract any vector y within a predetermined range (1/4e(b ti (j) )) from μ (that is, a finite set ε t (j) ) and a convex set Solve the separation problem to derive the hyperplane that separates . Also, the included range of this vector is determined based on the elements of matrix B (b t1 ( j) , . .

初期化部30は、各種処理に必要な初期化処理を行う。具体的には、初期化部30は、凸集合K(=K (0))を設定する。すなわち、初期化部30は、行動集合を含むような凸集合を設定する。また、初期化部30は、学習率η>0や、誤差限界ε>0を設定してもよい。なお、本実施形態において、Tは、対象期間T∈Nを表わす。The initialization unit 30 performs initialization processing necessary for various processing. Specifically, the initialization unit 30 sets a convex set K (=K 1 (0) ). That is, the initialization unit 30 sets a convex set that includes the action set. Also, the initialization unit 30 may set a learning rate η>0 and an error limit ε>0. Note that in the present embodiment, T represents a target period TεN.

最適化部40は、y∈ε (j)およびP=K:=Conv(A)についての分離問題(SP)を解き、K (j)を更新する。ここでは、Kと任意のyを隔てる超平面が存在することとする。すなわち、最適化部40は、ベクトルyと凸集合とを分離する超平面を導出するための分離問題を解決する。なお、以下では、sが(while loopの)繰り返し処理の回数を表すものとし、繰り返し処理後は、ε:=ε (st)⊆Kが得られるものとする。また、繰り返し処理後の平均、共分散行列および行列を、それぞれ、μ^=μ^ (st),Σ^=Σ^ (st),および,B=B (st)と記す。The optimizer 40 solves the separation problem (SP) for yεε t (j) and P=K:=Conv(A) and updates K t (j) . Suppose there exists a hyperplane separating K from any y. That is, the optimizer 40 solves the separation problem for deriving the hyperplane that separates the vector y and the convex set. In the following description, s t represents the number of iterations (of the while loop), and ε t :=ε t (st) ⊆K is obtained after the iterations. Also, the mean, covariance matrix and matrix after iterative processing are respectively μ^ t = μ^ t (st) , Σ^ t = Σ^ t (st) and B t = B t (st) Write down.

また、最適化部40は、εからxをランダムに選択する。具体的には、最適化部40は、ランダムに、一様に、正負の値を示すパラメータσ∈{-1,1}および選択された行動ベクトルの次元数内の値i∈[d]を選択する。最適化部40は、x=μ^+(σ/4e)btitとし、選択されたiおよびσに基づいてxを算出する。そして、最適化部40は、このxおよび凸集合P=Kについて、分割問題(DP)を解き、xの分割を得る。具体的には、最適化部40は、λt0+…+λtd=1、かつ、λt0t0+…+λtdtd=μ^+(σ/4e)btitを満たすようなxt0,…,xtd∈Kおよびλt0,…,λtd≧0を計算する。Also, the optimization unit 40 randomly selects x from ε t . Specifically, the optimization unit 40 randomly and uniformly selects a parameter σ t ε{−1, 1} indicating a positive or negative value and a value i t ε [d in the number of dimensions of the selected action vector. ]. The optimization unit 40 sets x=μ^ t +(σ t /4e)b tit and calculates x based on the selected i t and σ t . Then, the optimization unit 40 solves the division problem (DP) for this x and the convex set P=K to obtain a division of x. Specifically , the optimization unit 40 performs x _ Compute t0 ,...,xtd ? K and ? t0 ,...,? td ?

そして、最適化部40は、分解されたポイントの重みλtsの確率で行動a=xtsを実行し、フィードバック(損失)l を得る。そのフィードバックに基づき、最適化部40は、損失ベクトルlの推定量l^を、以下に示す式22により算出する。The optimizer 40 then performs the action a t =x ts with the probability of the decomposed point weight λ ts to obtain the feedback (loss) l t Ta t . Based on the feedback, the optimization unit 40 calculates the estimated amount l̂t of the loss vector l t using Equation 22 below.

Figure 0007248108000020
Figure 0007248108000020

最適化部40は、算出された推定量l^によって、関数zを、以下に示す式23により算出する。The optimization unit 40 calculates a function z t from the calculated estimator ̂ t using Equation 23 below.

Figure 0007248108000021
Figure 0007248108000021

補助定理のアルゴリズムを使用すると、上述する式20は、少なくとも1-δ (j)の確率で成立する。ここで、δ (j)は、以下に示す式24で表される。Using the Lemma algorithm, Equation 20 above holds with probability at least 1−δ t (j) . Here, δ t (j) is represented by Equation 24 below.

Figure 0007248108000022
Figure 0007248108000022

なお、初期化部30と、最適化部40とは、プログラム(最適化プログラム)に従って動作するコンピュータのプロセッサによって実現される。 Note that the initialization unit 30 and the optimization unit 40 are implemented by a computer processor that operates according to a program (optimization program).

次に、本実施形態の最適化装置の動作を説明する。図4は、本実施形態の最適化装置200の動作例を示すフローチャートである。本動作例において、凸集合K (j)⊆R(A⊆K (j))、学習率η>0、誤差限界ε>0、対象期間T∈N、L>0およびR>0であるとする。Next, the operation of the optimization device of this embodiment will be described. FIG. 4 is a flow chart showing an operation example of the optimization device 200 of this embodiment. In this operational example, convex set K t (j) ⊆ R d (A ⊆ K t (j) ), learning rate η>0, error bound ε>0, period of interest TεN, L>0 and R>0 Suppose that

初期化部30は、凸集合K (0)←B(0,R)に設定する(ステップS101)。The initialization unit 30 sets the convex set K 1 (0) ←B(0, R) (step S101).

最適化部40は、t=1,2,…,Tについて、以下のステップS102からステップS116までの処理を繰り返す。はじめに、最適化部40は、j←0に設定する(ステップS103)。 The optimization unit 40 repeats the following steps S102 to S116 for t=1, 2, . . . , T. First, the optimization unit 40 sets j←0 (step S103).

さらに、最適化部40は、任意のy∈ε (j)について、以下の式25に示す超平面w∈Rが存在する間、ステップS104からステップS107までの処理を繰り返す。Furthermore, the optimization unit 40 repeats the processing from step S104 to step S107 for any yεε t (j) while the hyperplane wεR d shown in Equation 25 below exists.

Figure 0007248108000023
Figure 0007248108000023

最適化部40は、Kの内容を更新する。具体的には、最適化部40は、Kの範囲を超平面wに基づいて縮小させるように、以下に示す式26を用いて更新し(ステップS105)、j←j+1とする(ステップS106)。なお、γはパラメータである。すなわち、最適化部40は、導出された超平面に基づいて凸集合Kをより小さな凸集合に更新する。 The optimization unit 40 updates the contents of K. Specifically, the optimization unit 40 updates the range of K using Equation 26 shown below so as to reduce the range of K based on the hyperplane w (step S105), and sets j←j+1 (step S106). . Note that γ is a parameter. That is, the optimization unit 40 updates the convex set K to a smaller convex set based on the derived hyperplane.

Figure 0007248108000024
Figure 0007248108000024

ステップS104からステップS107のループを抜けた後、最適化部40は、s←jに設定し(ステップS108)、K←K (st)に設定する(ステップS109)。最適化部40は、ランダムに、一様にσ∈{-1,1}およびi∈[d]を選択する(ステップS110)。After exiting the loop from step S104 to step S107, the optimization unit 40 sets st j (step S108) and sets Kt Kt (st) (step S109). The optimization unit 40 randomly and uniformly selects σ t ε{−1, 1} and i t ε [d] (step S110).

次に、最適化部40は、P=Kおよびx=μ^+(σ/4e)btitについての分割問題(DP)を解き、xの分割を得る。具体的には、最適化部40は、λt0+…+λtd=1、かつ、λt0t0+…+λtdtd=μ^+(σ/4e)btitを満たすような分割xt0,…,xtd∈Aおよびλt0,…,λtd≧0を計算する(ステップS111)。Optimizer 40 then solves the partitioning problem (DP) for P=K and x=μ^ t +(σ t /4e)b tit to obtain a partition of x. Specifically , the optimization unit 40 performs the division such that λ t0 + . . . + λ td = 1 and λ t0 x t0 + . x t0 , ..., x td ∈A and λ t0 , ..., λ td ≥ 0 are calculated (step S111).

最適化部40は、λts(ただし、s=0,…,d)の確率で行動a=xtsを実行し(ステップS112)、損失l を得る(ステップS113)。そのフィードバックに基づき、最適化部40は、損失ベクトルlの推定量l^を、上記に示す式22により算出する(ステップS114)。そして、最適化部40は、Kt+1 (0)←K (st)に更新する(ステップS115)。 The optimization unit 40 executes the action at = xts with a probability of λts (where s=0, . Based on the feedback, the optimization unit 40 calculates the estimated amount l̂t of the loss vector l t using the above Equation 22 (step S114). Then, the optimization unit 40 updates K t+1 (0) ←K t (st) (step S115).

次に、本実施形態の最適化装置200を用いた場合の後悔(Regret)について、分析結果を具体的に説明する。具体的には、上記アルゴリズムによる後悔上限を以下に示す。まず、ψを以下に示す式27のように定義する。 Next, analysis results of Regret when using the optimization device 200 of the present embodiment will be specifically described. Specifically, the upper limit of regret by the above algorithm is shown below. First, ψ is defined as shown in Equation 27 below.

Figure 0007248108000025
Figure 0007248108000025

ここで、以下の式28に示すパラメータεおよびηで図4に例示する処理によってaが与えられたとする。Here, it is assumed that at is given by the processing illustrated in FIG. 4 with parameters ε and η shown in Equation 28 below.

Figure 0007248108000026
Figure 0007248108000026

このとき、全てのa∈Aについて、以下の式29に示す期待値が得られる。At this time, the expected value shown in Equation 29 below is obtained for all a * εA.

Figure 0007248108000027
Figure 0007248108000027

式29において、Sは、t=1からTまでのKt(j)の更新数を表わす。なお、上述するψは、Kが半径r> 0の球lを含む場合に、ψ≦log(R/r)を満たす。In Equation 29, S T represents the number of updates of Kt (j) from t=1 to T. Note that ψ described above satisfies ψ≦log(R/r) if K contains a sphere l 2 with radius r>0.

次に、オラクル複雑度についての分析を説明する。具体的には、図4に例示する処理で線形最適化オラクルの呼び出しがO(Tpoly(d))のオーダであることを示す。 Next, an analysis of the oracle complexity is described. Specifically, the process illustrated in FIG. 4 indicates that the call to the linear optimization oracle is on the order of O(Tpoly(d)).

図4に例示する処理を実装するためには、線形最適化オラクルは、ステップS104およびステップS111のみで必要とされる。ステップS104では、xがKの要素でないようなx∈ε (j)が存在するかどうか決定するために分離問題(SP)が必要である。上記の式21に示すε (j)の定義から、ε (j)における要素の数は、各tおよびjについて2dに等しいため、分離問題を解決すべきトータルの数は、以下に示す式30で算出される。To implement the process illustrated in FIG. 4, a linear optimization oracle is required only at steps S104 and S111. At step S104, a separation problem (SP) is required to determine if there exists xεε t (j) such that x is not an element of K. From the definition of ε t (j) shown in Equation 21 above, the number of elements in ε t (j) is equal to 2d for each t and j, so the total number of separation problems to solve is It is calculated by Equation 30.

Figure 0007248108000028
Figure 0007248108000028

の数は、オーダO(T)で制限できる。その結果、分離問題(SP)を解決すべきトータルの数のオーダは、O(dT)である。The number of S T can be bounded by the order O(T). As a result, the total number of orders to solve the separation problem (SP) is O(dT).

また、ステップS111では、各ラウンドtにおいて分割問題(DP)を解く。そのため、分割問題(DP)を解決すべきトータルの数は、Tに等しい。線形最適化オラクルを、poly(T)呼び出すことによって、分離問題(SP)および分割問題(DP)を解決できるため、線形最適化オラクルを、O(Tpoly)のオーダで呼び出すことで図4に例示する処理を実装できる。 Also, in step S111, a division problem (DP) is solved in each round t. So the total number of partitioning problems (DP) to solve is equal to T. Since the linear optimization oracle can be solved by poly(T) calls to solve the separation problem (SP) and partitioning problem (DP), the linear optimization oracle is illustrated in FIG. You can implement the processing to

以上のように、本実施形態では、初期化部30が、行動集合Aを含むような凸集合Kを設定し、最適化部40が、任意のベクトルyと凸集合とを分離する超平面wを導出するための分離問題(SP)を解決し、導出された超平面wに基づいて凸集合をより小さな凸集合に更新する。また、最適化部40は、行動ベクトルの次元数内の値i∈[d]および正負の値を示すパラメータσ∈{-1,1}を選択し、選択されたiおよびσにより決定される要素x(=μ^+(σ/4e)btit)および凸集合Kに関して、その要素xのそれぞれを行動ベクトルの次元数のポイントに分解する分解問題(DP)を解決する。そして、最適化部40が、分解されたポイントの重みの確率λで、そのポイントを行動aとして実行し、実行された行動により得られる損失に基づいて、損失ベクトルの推定量を算出する。よって、効率的に解けるようにバンディット問題を最適化できる。As described above, in this embodiment, the initialization unit 30 sets a convex set K that includes the action set A, and the optimization unit 40 sets the hyperplane w and update the convex set to a smaller convex set based on the derived hyperplane w. Further, the optimization unit 40 selects a value i t ε [d] within the number of dimensions of the action vector and a parameter σ t ε{−1, 1} indicating a positive or negative value, and selects i t and σ t For an element x (=μ^ t +(σ t /4e)b tit ) determined by and a convex set K, solve the decomposition problem (DP) that decomposes each of its elements x into points with the dimensionality of the action vector do. Then, the optimization unit 40 executes the point as the action a with the probability λ of the weight of the decomposed point, and calculates an estimate of the loss vector based on the loss obtained by the executed action. Thus, the bandit problem can be optimized for efficient solution.

また、本実施形態では、最適化部40は、線形最適化オラクル(分離問題を解決するオラクル)を実行する装置(図示せず)に対してベクトルyおよび凸集合を送信する制御を行い、その装置から超平面wを取得することにより分離問題を解決する。よって、線形最適化オラクルを実行する装置に対する呼び出し回数を抑制して計算時間を抑制できるため、バンディット問題を解決するコンピュータの機能を改善できる。言い換えると、本実施形態の最適化装置は、装置としてのオラクルに行う指示を適切に制御する装置であるともいえる。 Further, in this embodiment, the optimization unit 40 controls transmission of the vector y and the convex set to a device (not shown) that executes a linear optimization oracle (an oracle that solves the separation problem). We solve the separation problem by acquiring the hyperplane w from the device. Therefore, the computation time can be reduced by reducing the number of calls to the device that executes the linear optimization oracle, thereby improving the computer's ability to solve the bandit problem. In other words, the optimization device of this embodiment can be said to be a device that appropriately controls instructions given to an oracle as a device.

次に、本発明の概要を説明する。図5は、本発明による最適化装置の概要を示すブロック図である。本発明による最適化装置90は、バンディット問題を最適化する最適化装置(例えば、最適化装置200)であって、候補になる行動ベクトルの集合である行動集合(例えば、A)を含む凸集合(例えば、K)を設定する凸集合設定部91(例えば、初期化部30)と、予め定めた範囲(例えば、ε (j))に含まれる任意のベクトル(例えば、y)と凸集合(例えば、K)とを分離する超平面(例えば、w)を導出するための分離問題(例えば、SP)を解決し、導出された超平面に基づいて凸集合をより小さな凸集合に(例えば、上記式26に基づいて)更新する分離問題解決部92(例えば、最適化部40)と、行動ベクトルの次元数内の値(例えば、i∈[d])および正負の値を示すパラメータ(例えば、σ∈{-1,1})を選択するパラメータ選択部93(例えば、最適化部40)と、選択された次元数内の値およびパラメータにより決定される要素並びに凸集合に関して、その要素のそれぞれを行動ベクトルの次元数のポイント(例えば、{xki0,…,xkid}∈A)に分解する分解問題(例えば、DP)を解決する分解問題解決部94(例えば、最適化部40)と、分解されたポイントの重みの確率(例えば、λ)で、そのポイントを行動として実行する行動実行部95(例えば、最適化部40)と、実行された行動により得られる損失(例えば、l )に基づいて、損失ベクトルの推定量(例えば、l^)を算出する推定量算出部96(例えば、最適化部40)とを備えている。Next, an outline of the present invention will be described. FIG. 5 is a block diagram showing an overview of the optimization device according to the invention. The optimization device 90 according to the present invention is an optimization device (for example, the optimization device 200) that optimizes the bandit problem, and is a convex set that includes an action set (for example, A) that is a set of candidate action vectors. (eg, K), an arbitrary vector (eg, y) included in a predetermined range (eg, ε t (j) ) and the convex set Solve a separation problem (e.g. SP) to derive a hyperplane (e.g. w) that separates (e.g. K) and the convex set into smaller convex sets (e.g. , based on Equation 26 above), and a parameter indicating the value in the dimensionality of the action vector (eg, i t ε[d]) and the positive/negative value (eg, σ t ∈ {−1, 1}), and for the elements and convex sets determined by the values and parameters within the selected dimensionality, A decomposition problem solver 94 (e.g. , optimization unit 40), an action execution unit 95 (for example, the optimization unit 40) that executes the point as an action with the weight probability (for example, λ) of the decomposed point, and a loss obtained by the executed action ( For example, it includes an estimator calculator 96 (eg, the optimizer 40) that calculates an estimator (eg, l^ t ) of the loss vector based on lt Ta t ).

そのような構成により、効率的に解けるようにバンディット問題を最適化できる。 Such an arrangement allows the bandit problem to be optimized for efficient solution.

また、分離問題解決部92は、凸集合の分布の確率密度関数の平均(例えば、μ^)から予め定めた範囲内の任意のベクトルと凸集合とを分離する超平面を導出するための分離問題を解決してもよい。In addition, the separation problem solving unit 92 derives a hyperplane that separates an arbitrary vector within a predetermined range from the average of the probability density function of the distribution of the convex set (for example, μ^ t ) and the convex set. It may solve the separation problem.

また、分離問題解決部92は、ベクトルの含まれる範囲を、凸集合の分布の確率密度関数の共分散行列の要素(例えば、Σ^ (j)=B (j) (j)T)に基づいて決定してもよい。In addition, the separation problem solving unit 92 converts the range in which the vector is included into the elements of the covariance matrix of the probability density function of the distribution of the convex set (for example, Σ^ d (j) = B t (j) B t (j) T ).

また、分離問題解決部92は、各ラウンドにおいて、増加する重みの更新に基づいて凸関数(例えばz(a))を更新し、凸関数に比例する確率密度関数(例えば、q (j))を算出してもよい。In each round, the separation problem solver 92 also updates the convex function (eg, z t (a)) based on the update of the increasing weight, and the probability density function (eg, q t (j ) ) may be calculated.

また、分離問題解決部92は、線形最適化オラクル(例えば、LP、SP、RPを解決するオラクル)を実行する装置に対してベクトルおよび凸集合を送信する制御を行い、その装置から超平面を取得することにより分離問題を解決してもよい。そのような構成によれば、線形最適化オラクルを実行する装置に対する呼び出し回数を抑制して計算時間を抑制できるため、バンディット問題を解決するコンピュータの機能を改善できる。 In addition, the separation problem solver 92 controls transmission of vectors and convex sets to a device that executes a linear optimization oracle (for example, an oracle that solves LP, SP, and RP), and extracts a hyperplane from the device. Obtaining may solve the separation problem. According to such a configuration, it is possible to reduce the number of calls to the device that executes the linear optimization oracle and reduce the computation time, thereby improving the computer's ability to solve the bandit problem.

また、パラメータ選択部93は、ランダムかつ一様に行動ベクトルの次元数内の値および正負の値を示すパラメータを選択してもよい。 Further, the parameter selection unit 93 may randomly and uniformly select parameters indicating values within the number of dimensions of the action vector and positive/negative values.

図5は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。コンピュータ1000は、プロセッサ1001、主記憶装置1002、補助記憶装置1003、インタフェース1004を備える。 FIG. 5 is a schematic block diagram showing the configuration of a computer according to at least one embodiment. A computer 1000 comprises a processor 1001 , a main storage device 1002 , an auxiliary storage device 1003 and an interface 1004 .

上述の最適化装置90は、コンピュータ1000に実装される。そして、上述した各処理部の動作は、プログラム(最適化プログラム)の形式で補助記憶装置1003に記憶されている。プロセッサ1001は、プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、当該プログラムに従って上記処理を実行する。 The optimization device 90 described above is implemented in the computer 1000 . The operation of each processing unit described above is stored in the auxiliary storage device 1003 in the form of a program (optimization program). The processor 1001 reads out the program from the auxiliary storage device 1003, develops it in the main storage device 1002, and executes the above processing according to the program.

なお、少なくとも1つの実施形態において、補助記憶装置1003は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例としては、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD-ROM(Compact Disc Read-only memory )、DVD-ROM(Read-only memory)、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータ1000が当該プログラムを主記憶装置1002に展開し、上記処理を実行してもよい。 It should be noted that, in at least one embodiment, secondary storage device 1003 is an example of non-transitory tangible media. Other examples of non-transitory tangible media include magnetic disks, magneto-optical disks, CD-ROMs (Compact Disc Read-only memory), DVD-ROMs (Read-only memory), which are connected via the interface 1004. A semiconductor memory etc. are mentioned. Further, when this program is distributed to the computer 1000 via a communication line, the computer 1000 receiving the distribution may develop the program in the main storage device 1002 and execute the above process.

また、当該プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、当該プログラムは、前述した機能を補助記憶装置1003に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル(差分プログラム)であってもよい。 Also, the program may be for realizing part of the functions described above. Further, the program may be a so-called difference file (difference program) that implements the above-described functions in combination with another program already stored in the auxiliary storage device 1003 .

10,30 初期化部
20,40 最適化部
100,200 最適化装置
10, 30 initialization unit 20, 40 optimization unit 100, 200 optimization device

Claims (10)

バンディット問題を最適化する最適化装置であって、
候補になる行動ベクトルの集合である行動集合を含む凸集合を設定する凸集合設定部と、
予め定めた範囲に含まれる任意のベクトルと凸集合とを分離する超平面を導出するための分離問題を解決し、導出された超平面に基づいて前記凸集合をより小さな凸集合に更新する分離問題解決部と、
行動ベクトルの次元数内の値および正負の値を示すパラメータを選択するパラメータ選択部と、
選択された前記次元数内の値および前記パラメータにより決定される要素並びに前記凸集合に関して、当該要素のそれぞれを前記行動ベクトルの次元数のポイントに分解する分解問題を解決する分解問題解決部と、
前記分解されたポイントの重みの確率で、当該ポイントを行動として実行する行動実行部と、
実行された行動により得られる損失に基づいて、損失ベクトルの推定量を算出する推定量算出部とを備えた
ことを特徴とする最適化装置。
An optimizer for optimizing a bandit problem, comprising:
a convex set setting unit that sets a convex set including the action set that is a set of candidate action vectors;
Separation solving a separation problem to derive a hyperplane that separates any vector contained in a predetermined range from a convex set, and updating the convex set to a smaller convex set based on the derived hyperplane a problem-solving department;
a parameter selection unit that selects a parameter indicating a value within the number of dimensions of the action vector and a positive/negative value;
a decomposition problem solving unit for solving a decomposition problem of decomposing each of the elements determined by the selected values within the dimensionality and the parameter and the convex set into points of the dimensionality of the action vector;
an action execution unit that executes the point as an action with the probability of the weight of the decomposed point;
an estimator calculating unit for calculating an estimator of a loss vector based on the loss obtained by the executed action.
分離問題解決部は、凸集合の分布の確率密度関数の平均から予め定めた範囲内の任意のベクトルと凸集合とを分離する超平面を導出するための分離問題を解決する
請求項1記載の最適化装置。
2. The separation problem solver according to claim 1, wherein the separation problem solver solves the separation problem for deriving a hyperplane separating any vector within a predetermined range from the mean of the probability density function of the distribution of the convex set and the convex set. Optimizer.
分離問題解決部は、ベクトルの含まれる範囲を、凸集合の分布の確率密度関数の共分散行列の要素に基づいて決定する
請求項1または請求項2記載の最適化装置。
3. The optimization device according to claim 1, wherein the separation problem solving unit determines the range in which the vectors are included based on the elements of the covariance matrix of the probability density function of the distribution of the convex set.
分離問題解決部は、各ラウンドにおいて、増加する重みの更新に基づいて凸関数を更新し、前記凸関数に比例する確率密度関数を算出する
請求項1から請求項3のうちのいずれか1項に記載の最適化装置。
4. The separation problem solver updates the convex function based on the update of increasing weights in each round, and calculates a probability density function proportional to the convex function. The optimization device described in .
分離問題解決部は、線形最適化オラクルを実行する装置に対してベクトルおよび凸集合を送信する制御を行い、当該装置から超平面を取得することにより分離問題を解決する
請求項1から請求項4のうちのいずれか1項に記載の最適化装置。
The separation problem solver controls transmission of vectors and convex sets to a device that executes a linear optimization oracle, and obtains hyperplanes from the device to solve the separation problem. The optimization device according to any one of
パラメータ選択部は、ランダムかつ一様に行動ベクトルの次元数内の値および正負の値を示すパラメータを選択する
請求項1から請求項5のうちのいずれか1項に記載の最適化装置。
The optimization device according to any one of claims 1 to 5, wherein the parameter selection unit randomly and uniformly selects a parameter indicating a value within the number of dimensions of the action vector and a positive/negative value.
バンディット問題を最適化する最適化方法であって、
コンピュータが、候補になる行動ベクトルの集合である行動集合を含む凸集合を設定し、
前記コンピュータが、予め定めた範囲に含まれる任意のベクトルと凸集合とを分離する超平面を導出するための分離問題を解決し、導出された超平面に基づいて前記凸集合をより小さな凸集合に更新し、
前記コンピュータが、行動ベクトルの次元数内の値および正負の値を示すパラメータを選択し、
前記コンピュータが、選択された前記次元数内の値および前記パラメータにより決定される要素並びに前記凸集合に関して、当該要素のそれぞれを前記行動ベクトルの次元数のポイントに分解するための分解問題を解決し、
前記コンピュータが、前記分解されたポイントの重みの確率で、当該ポイントを行動として実行し、
前記コンピュータが、実行された行動により得られる損失に基づいて、損失ベクトルの推定量を算出する
ことを特徴とする最適化方法。
An optimization method for optimizing a bandit problem, comprising:
A computer sets a convex set containing an action set that is a set of candidate action vectors,
The computer solves a separation problem for deriving a hyperplane that separates any vector contained in a predetermined range from the convex set, and converts the convex set to a smaller convex set based on the derived hyperplane. and update to
The computer selects a parameter indicating a value within the number of dimensions of the action vector and a positive or negative value,
The computer solves a decomposition problem for elements determined by the selected values in the dimensionality and the parameter and the convex set to decompose each of the elements into points of the dimensionality of the action vector. ,
the computer executing the point as an action with the probability of the weight of the decomposed point;
A method of optimization , wherein the computer calculates an estimator of the loss vector based on the losses obtained by the actions performed.
コンピュータが、凸集合の分布の確率密度関数の平均から予め定めた範囲内の任意のベクトルと凸集合とを分離する超平面を導出するための分離問題を解決する
請求項記載の最適化方法。
8. The optimization method of claim 7 , wherein the computer solves the separation problem to derive a hyperplane separating any vector within a predetermined range from the mean of the probability density function of the distribution of the convex set and the convex set. .
バンディット問題を最適化するコンピュータに適用される最適化プログラムであって、
前記コンピュータに、
候補になる行動ベクトルの集合である行動集合を含む凸集合を設定する凸集合設定処理、
予め定めた範囲に含まれる任意のベクトルと凸集合とを分離する超平面を導出するための分離問題を解決し、導出された超平面に基づいて前記凸集合をより小さな凸集合に更新する分離問題解決処理、
行動ベクトルの次元数内の値および正負の値を示すパラメータを選択するパラメータ選択処理、
選択された前記次元数内の値および前記パラメータにより決定される要素並びに前記凸集合に関して、当該要素のそれぞれを前記行動ベクトルの次元数のポイントに分解する分解問題を解決する分解問題解決処理、
前記分解されたポイントの重みの確率で、当該ポイントを行動として実行する行動実行処理、および、
実行された行動により得られる損失に基づいて、損失ベクトルの推定量を算出する推定量算出処理
を実行させるための最適化プログラム。
An optimization program applied to a computer that optimizes a bandit problem,
to the computer;
a convex set setting process for setting a convex set containing an action set that is a set of candidate action vectors;
Separation solving a separation problem to derive a hyperplane separating any vector contained in a predetermined range from a convex set, and updating the convex set to a smaller convex set based on the derived hyperplane problem solving process,
parameter selection processing for selecting parameters indicating values within the number of dimensions of the action vector and positive/negative values;
Decomposition problem solving processing for solving a decomposition problem of decomposing each of the elements determined by the selected values within the dimensionality and the parameter and the convex set into points of the dimensionality of the action vector;
Action execution processing for executing the point as an action with the probability of the weight of the decomposed point, and
An optimization program for executing an estimator calculation process for calculating an estimator of a loss vector based on the loss obtained by the executed action.
コンピュータに、
分離問題解決処理で、凸集合の分布の確率密度関数の平均から予め定めた範囲内の任意のベクトルyと凸集合とを分離する超平面を導出するための分離問題を解決させる
請求項9記載の最適化プログラム。
to the computer,
10. The separation problem solving process solves the separation problem for deriving a hyperplane separating any vector y within a predetermined range from the mean of the probability density function of the distribution of the convex set and the convex set. optimization program.
JP2021519979A 2019-05-22 2019-05-22 Optimization device, optimization method and optimization program Active JP7248108B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/020282 WO2020235050A1 (en) 2019-05-22 2019-05-22 Optimization device, optimization method, and optimization program

Publications (2)

Publication Number Publication Date
JPWO2020235050A1 JPWO2020235050A1 (en) 2021-12-02
JP7248108B2 true JP7248108B2 (en) 2023-03-29

Family

ID=73458958

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021519979A Active JP7248108B2 (en) 2019-05-22 2019-05-22 Optimization device, optimization method and optimization program

Country Status (2)

Country Link
JP (1) JP7248108B2 (en)
WO (1) WO2020235050A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014156044A1 (en) 2013-03-27 2014-10-02 独立行政法人理化学研究所 Solution search system and method, and solution search program
US20150095271A1 (en) 2012-06-21 2015-04-02 Thomson Licensing Method and apparatus for contextual linear bandits

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150095271A1 (en) 2012-06-21 2015-04-02 Thomson Licensing Method and apparatus for contextual linear bandits
WO2014156044A1 (en) 2013-03-27 2014-10-02 独立行政法人理化学研究所 Solution search system and method, and solution search program

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
AWERBUCH, Baruch et al.,Online Linear Optimization and Adaptive Routing,CiteSeerX [online],2006年,[検索日 2022.09.07], インターネット:<URL:http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.118.2447>
GARBER, Dan,Efficient Online Linear Optimization with Approximation Algorithms,arXiv.org [online],2017年09月10日,[検索日 2022.09.07], インターネット:<URL:https://arxiv.org/abs/1709.03093>

Also Published As

Publication number Publication date
JPWO2020235050A1 (en) 2021-12-02
WO2020235050A1 (en) 2020-11-26

Similar Documents

Publication Publication Date Title
Bechikh et al. Many-objective optimization using evolutionary algorithms: A survey
Moon et al. Ensemble estimation of multivariate f-divergence
Cohen et al. Following the perturbed leader for online structured learning
Ubaru et al. Applications of trace estimation techniques
Rehman et al. Hyper-ellipsoidal clustering technique for evolving data stream
Becker et al. Near-optimal approximate shortest paths and transshipment in distributed and streaming models
Tsuchiya et al. Further adaptive best-of-both-worlds algorithm for combinatorial semi-bandits
Plestenjak et al. Roots of bivariate polynomial systems via determinantal representations
Koehl et al. Statistical physics approach to the optimal transport problem
Freitag et al. Calculating the H_∞-norm using the implicit determinant method
JP7248107B2 (en) Optimization device, optimization method and optimization program
WO2019138584A1 (en) Classification tree generation method, classification tree generation device, and classification tree generation program
WO2020145252A1 (en) Data analysis device, method, and program
JP7248108B2 (en) Optimization device, optimization method and optimization program
CN114581223B (en) Distribution task processing method, equipment, distributed computing system and storage medium
Pang et al. Parametric simplex method for sparse learning
CN118898229A (en) Cutting plane method, device, computer equipment, and medium for VLSI partitioning
Karn et al. Criteria for learning without forgetting in artificial neural networks
Occorsio et al. Bivariate generalized Bernstein operators and their application to Fredholm integral equations
JP6721535B2 (en) LLE calculation device, LLE calculation method, and LLE calculation program
Szántai Approximation of multivariate probability integrals
Cook The circular law for random regular digraphs with random edge weights
Anselmi et al. Improved approximations for the Erlang loss model
Tolla A survey of some linear programming methods
Khajavi et al. The goodness of covariance selection problem from AUC bounds

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221109

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230227

R151 Written notification of patent or utility model registration

Ref document number: 7248108

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151