JP7248108B2 - Optimization device, optimization method and optimization program - Google Patents
Optimization device, optimization method and optimization program Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N99/00—Subject 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⊆RdとTラウンドの試行が与えられる。各ラウンドt∈[T]:={1,2,…,T}において、プレイヤーは、行動at∈Aを選択する。そして、ラウンドごとに変化し得る未知の損失ベクトルltのもとで、プレイヤーは、損失lt Tatを観測する。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)とみなすことができる。この設定では、lt∈R|E|がパスの(未知の)長さに対応し、バンディットフィードバックlt Tatが、選択された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で定義されるような後悔RT(a*)(ただし、a*∈A)により評価される。式1は、プレイヤーの決定{at}に対する累積損失と、任意の固定された戦略a*に対する累積損失との間の差を意味する。バンディット線形最適化の最優先事項は、任意のa*に対して小さな後悔を得ることである。A player's performance is evaluated by regret R T (a * ) (where a * εA) as defined in
バンディット問題を効率的に解くための方法が各種知られている。例えば、非特許文献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
また、オーダ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
しかし、非特許文献1に記載された方法のように、行動ベクトル集合Aが指数関数的に大きい場合や無限集合である場合、計算上の問題を有する。すなわち、プレイヤーの選択可能な行動の種類が指数関数的に大きい場合、非特許文献1に記載された方法をコンピュータの機能で実現しようとしても、現実的な時間で解くことができないという問題がある。そのため、コンピュータの機能の改善させるためには、取得できる後悔限界をより小さくできるように、効率的にバンディット問題を解くことができる方法が望まれている。
However, as in the method described in
そこで、本発明は、効率的に解けるようにバンディット問題を最適化できる最適化装置、最適化方法および最適化プログラムを提供することを目的とする。 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.
以下、本発明の実施形態を図面を参照して説明する。第一の実施形態では、線形最適化オラクルと呼ぶ(コールする)ことができるという仮定の下、オーダO(T1/2)の後悔限界を達成することを目的とする。オラクル(神託)は、オフラインでAについての線形最適化問題を解くことができる概念上の装置に対応する。すなわち、損失ベクトルl∈Rdが与えられると、オラクルは、以下の式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.
なお、この想定(すなわち、オラクルの呼び出し)はオンライン最適化の文脈で知られており、劣線形な後悔を取得する効率的なバンディットのアルゴリズムを展開するための最小要件である。実際、効率的な劣線形の後悔バンディットアルゴリズムが与えられると、オフライン問題に対する効率的なアルゴリズムを構築できる。これは、オフライン問題が計算上困難(例えば、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~((d3T)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においてltがRd上の分布に従うと仮定する。このとき、以下に示すアルゴリズムが存在する。
(1)アルゴリズムの出力が、全てのa*∈Aにおいて、高確率でRT(a*)=O~((d3T)1/2)を満たす。
(2)アルゴリズムは、線形最適化オラクルをオーダO(poly(d)logT)回数分呼び出す。
(3)線形最適化オラクルを除く計算時間は、O(poly(d,T))のオーダである。<
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~((d3T)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[RT(a*)]=O~((d3T)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 * )]= O˜ ((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.
まず、第一の実施形態の最適化装置について説明する。第一の実施形態におけるポイントは、行動の段階的な排除を組み合わせること、および、重心スパナである。段階的な排除に基づくアルゴリズムでは、意思決定のラウンドをフェーズ(ラウンドのセグメント化したもの)に分割する処理が行われる。また、各フェーズの最後で、可能な行動が排除されるため、有望な行動だけが残される。
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.
段階的な排除を行うアルゴリズムでは、各フェーズで選択されたすべてのatがフェーズの最初に決定される。これは、オラクル複雑度が、ラウンドの数に依存するのではなく、フェーズの数に依存することを意味する。第一の実施形態で示すアルゴリズムでは、フェーズの数が、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)な設定を想定する。確率的な設定とは、損失ベクトルltが、ラウンドt=1,2,…,Tにおいて、互いに独立で、W⊆Rd上の同一の確率分布Dに従うことを想定するものである。アルゴリズムの性能は、損失ベクトルltのランダム性およびアルゴリズムの内部的なランダム性に関して、上記式1における後悔RT(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
以下、バンディット線形最適化の問題設定について再掲する。 The setting of the bandit linear optimization problem will be described again below.
ゲームが開始する前に、プレイヤーには、Tラウンドの試行、d次元の行動ベクトル集合A(行動集合と記すこともある。)A⊆Rd、並びに、行動ベクトルat(以下、単に行動atと記すこともある。)∈Kのノルムの上界L>0および損失ベクトルlt∈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において、プレイヤーは、行動at∈Kを選択する。一方、環境によって損失ltベクトルが選択されることで、プレイヤーは、損失lt Tatを観測する。また、プレイヤーは、線形最適化オラクルOAにのみアクセスできる。言い換えると、本実施形態の最適化装置が、線形最適化オラクルOAを実現する装置を呼び出す処理を制御していると言える。なお、線形最適化オラクルOAを実現する装置は、本実施形態の最適化装置と同一の装置で実現されていてもよく、異なる装置で実現されていてもよい。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.
プレイヤーの目的は、より小さな後悔RT(a)を得ること(言い換えると、一定期間における報酬を最大化すること)である。ここで、後悔RT(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,
また、本実施形態では、行動集合AがRdのコンパクトなサブセットであると仮定する。そして、w∈Rdの中の重みベクトルについてAで線形最適化するためのアルゴリズム(オラクル)が存在することを想定する。そして、任意の入力wを線形最適化オラクルOA:Rd→Aに与えることができるものとし、そのオラクルは、以下に例示する式4を満たす点OA(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.
ここで、いくつかの仮定を行う。まず、以下の(a)~(b)を満たすような正の実数L,Rが存在するとする。
(a)すべてのt∈[T]について、||lt||≦Lである。
(b)すべてのa∈Aについて、||a||2≦Rである。また、
(c)K:=Conv(A)が、正の体積を有する。すなわち、∫K1dx>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で定義する。<
If p and q are relative prime numbers, the size of the rational number r=p/q is defined by Equation 5 exemplified below.
また、有理数ベクトルx=(x1,…,xd)∈Qdについて、ベクトルxのサイズsize(x)を、以下に例示する式6で定義する。Also, for a rational vector x = (x 1 , .
また、サブセットPが有限有理ベクトルの凸包である場合、Pは、有理ポリトープ(超多面体)である。同じように、Pが有理数によって表現された線形不等式の有限集合を用いて表現される非空のコンパクト集合である場合、すなわち、P={x∈Rd|Ax≦b}であるような、有理行列A=(aij)i∈[m],j∈[d]∈Qm×dおよび有理ベクトルb=(bi)i∈[m]∈Qmが存在する場合、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.
なお、各x∈Aのサイズが高々φであるような有理数の有限集合Aに対して、PがP=Conv(A)として表される場合、Pは、サイズが高々poly(d,φ)である線形不等式によって表現され得る。また、||x||≦Rであるようなx∈Rdが与えられた場合、以下に例示する式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.
次に、コンパクト凸体P⊆Rdにおける、線形最適化問題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∈Rdが与えられたときに、wTx*=minx∈PwTxであるようなベクトルx*∈Pを発見する。<Linear optimization problem: LP>
Given a vector wεRd , find a vector x * εP such that wTx * =min xεPwTx .
<分離問題:SP>
ベクトルy∈Rdが与えられたときに、yがPに属するか否かを判断し、さらに、yがPに属さない場合に、wTy<minx∈PwTxであるようなベクトルw∈Rdを発見する。<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∈Rdが与えられたときに、x=λ0x0+…+λdxdであるようなPの頂点x0,…,xdおよびλ0,…,λd≧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⊆Rdが高々φのサイズの線形不等式で定義できる有理ポリトープである場合において、以下に示す定理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∈Qdについての線形最適化問題を解決できる。
定理3(b):線形最適化問題を解決するアルゴリズムOPTが存在する場合、OPTを高々poly(d,φ,size(y))回呼び出すことによって、y∈Qdについての分離問題を解決できる。
定理3(c):線形最適化問題を解決するアルゴリズムOPTが存在する場合、OPTを高々poly(d,φ,size(x))回呼び出すことによって、x∈Qdについての分解問題を解決できる。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>
線形スパンがRdであるサブセットをS∈Rdとし、C>1とする。ここで、すべてのx∈Sが、範囲[-C,C]の中の係数を用いてXの要素の線形結合として表せる場合、集合X={x1,…,xd}⊆Sは、Sに関するC-重心スパナである。
定理4:P⊆Rdが、適切な線形部分空間に含まれていないコンパクトな集合であるとする。任意のC>1についてLPについてのアルゴリズムOPTが与えられた場合、OPTへの呼び出しをオーダO(d2logC(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∈Rd上の確率分布が有する場合、その確率分布を対数凹分布と呼ぶ。以下に示す定理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~(d5)の時間で前処理した後、各サンプルは、オーダO~(d4/ε4)の時間で生成される。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 4 /ε 4 ).
なお、分布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について、ltが、W上の分布Dに従うと仮定する。また、l*を以下の式10のように表記する。また、ξt=lt-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
図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
初期化部10は、各種処理に必要な初期化処理を行う。具体的には、初期化部10は、候補になるd次元の行動aの集合(以下、行動集合と記す。)A⊆Rdの凸包Conv(A)(=P1)を設定する。また、初期化部10は、小さな後悔(small regret)を得る確率を制御するパラメータ(δ>0)を設定する。The
最適化部20は、ラウンドTを、K個=O(logT)のフェーズに分割する。具体的には、最適化部20は、k番目のフェーズにラウンドがΘ(2k)含まれるように、ラウンドTを分割する。The
また、最適化部20は、k番目のフェーズの開始時に、行動集合Pkを再帰的に設定する。例えば、P1=Conv(A)と初期化された場合、最適化部20は、kが大きくなるにつれて、l*Txの値がすべてのxに対して小さくなるように(P1⊇P2⊇…⊇PKになるように)Pkを設定する。Also, the
また、最適化部20は、k番目のフェーズの開始時に、凸包Pkの2-重心スパナXk={xk1,…,xkd}を計算する。なお、重心スパナXkに含まれる行動を実行できた場合、好ましいl*の推定値を構築できる。ただし、Xkに含まれる各要素は、特にAが離散値の場合、通常Aに属していない。これに対処するため、最適化部20は、重みλki0,…,λkid≧0について、λki0+…+λkid=1、かつ、λki0xki0+…+λkidxkid=xkiを満たすように各xkiをポイント{xki0,…,xkid}∈Aに分解する。そして、最適化部20は、各j=0,1,…,dについて、xkijを、Tkij∝λkij回実行する。以下、tラウンドで実行された行動をatと記す。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
すなわち、最適化部20は、上記要素Xkのそれぞれおよび凸包P=Conv(A)についての分解問題(DP)を解き、xki=λki0xki0+…+λkidxkidになるような分解xki0,…,xkid∈Aおよびλki0,…,λkidを得る。また、最適化部20は、各フェーズkにおいて、行動at=xkijを、(tkij+1)番目のラウンドから(tki,j+1)番目のラウンドまで、ちょうどTkij回選択する。なお、Tkijおよびtkijは、以下に示す式11および式12で算出される。すなわち、最適化部20は、ポイントの重みλに応じて選択する行動の回数を決定していると言える。That is, the
最適化部20は、k番目のフェーズで得られたフィードバック(すなわち、選択された行動)に基づいて、l*の経験的推定量l^kを以下の式13を用いて計算する。なお、l^は、上付きハットである。The
最適化部20は、以下の式14に示すように、損失l^T
kxを最小化するようなベクトルx*
kを見つけるため、P=Pkおよびw=l^kについての線形最適化問題(LP)を解く。具体的には、最適化部20は、線形最適化オラクルを実行する装置(図示せず)に対して算出された経験的推定量l^kを送信する制御を行い、その装置から最適化された要素(以下、最適化要素と記す。)x*
kを取得することにより線形最適化問題を解決する。The
x*
kの算出後、最適化部20は、線形最適化問題の解決により得られたx*
kに基づいて、以下の式15に基づいて、凸包Pkを小さくするように更新する。After calculating x * k , the
初期化部10と、最適化部20とは、プログラム(最適化プログラム)に従って動作するコンピュータのプロセッサ(例えば、CPU(Central Processing Unit )、GPU(Graphics Processing Unit))によって実現される。
The
例えば、プログラムは、最適化装置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
初期化部10と、最適化部20とは、それぞれが専用のハードウェアで実現されていてもよい。また、各装置の各構成要素の一部又は全部は、汎用または専用の回路(circuitry )、プロセッサ等やこれらの組合せによって実現されもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。
The
また、最適化装置100の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
Further, when part or all of each component of the
次に、本実施形態の最適化装置の動作を説明する。図2は、本実施形態の最適化装置100の動作例を示すフローチャートである。本動作例において、行動集合A⊆Rd、δ>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
初期化部10は、行動集合A⊆Rdの凸包Conv(A)(=P1)を設定する。また、初期化部10は、ラウンド数tを0に設定する(ステップS1)。以降、最適化部20は、各フェーズkについて、ステップS2からステップS16までの処理を繰り返す。The
最適化部20は、Xk={xk1,…,xkd}⊆Pkを、Pkの2-重心スパナとする(ステップS3)。また、最適化部20は、パラメータζkを、以下に示す式16のように設定する(ステップS4)。 The optimization unit 20 sets X k ={x k1 , . The
また、最適化部20は、各dについて、ステップS5からステップS12までの処理を繰り返す。
Also, the
最適化部20は、凸包P=Conv(A)およびx=xkiについての分解問題(DP)を解き、xki=λki0xki0+…+λkidxkidになるような分解xki0,…,xkid∈Aおよびλki0,…,λkidを得る(ステップS6)。The
さらに、最適化部20は、各dについて、ステップS7からステップS10までの処理を繰り返す。
Furthermore, the
最適化部20は、ラウンドの選択回数を算出する。具体的には、最適化部20は、選択回数Tkijと、選択するラウンドtkijを上記に示す式11および式12に基づいて算出する(ステップS8)。この処理によって、最適化部20が、順次実行されるフェーズkに含まれるラウンドが2の階乗のオーダで増加するように、フェーズに含まれるラウンド数を決定していると言える。最適化部20は、行動at=xkijを、(tkij+1)番目のラウンドから(tki,j+1)番目のラウンドまで、Tkij回選択する(ステップS9)。The
最適化部20は、選択するラウンドtkijを、tk,i+1,0=tki,d+1と更新する(ステップS11)。The
最適化部20は、l*の経験的推定量l^kを上記に示す式13を用いて計算する(ステップS13)。The
最適化部20は、上記の式14に示すベクトルx*
kを見つけるため、凸包P=Pkおよびw=l^kについての線形最適化問題(LP)を解く(ステップS14)。最適化部20は、Pkを、上記の式15に基づいて更新する(ステップS15)。すなわち、最適化部20は、フェーズごとに凸包Pの更新を行う。The
次に、本実施形態の最適化装置100を用いた場合の後悔(Regret)について、分析結果を具体的に説明する。具体的には、上記アルゴリズムで達成される後悔上限を与える次の定理を示す。
Next, analysis results of Regret when using the
<定理6>
ltがT≧2でt=1,…,Tの独立同分布に従うと仮定し、{at}t=1
Tが上述する処理で与えられると仮定する。この場合、少なくとも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.
次に、オラクル複雑度についての分析を説明する。
上述するように、最適化部20は、2-重心スパナXkを計算する必要があった。一方、上述する定理4より、P=Pkについての線形最適化問題(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
P=Pkについての分離問題(SP)は、以下に示す手順で解くことができる。The separation problem (SP) for P= Pk can be solved by the procedure shown below.
1.y∈P1か否か決定する。そして、y∈P1でない場合、wTy<minx∈P1wTxのようなw∈Rdを出力する。上述する定理3(b)より、この処理は、AについてのLPオラクルをオーダO(poly(d))の回数分呼び出すことによって行うことができる。一方、y∈P1である場合、以下の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^j T(y-xk *)>LR2-jである場合には、l^jを出力する。すべてのj=1,…,k-1について、l^j T(y-xk *)≦LR2-jである場合には、y∈Pkであることを意味する。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
同様に、図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^kを算出する。そして、最適化部20が、経験的推定量l^kおよび凸包Pに関して、要素Xおよび経験的推定量l^kにより算出される損失を最小化する線形最適化問題(LP)を解決し、得られた最適化要素x*
kに基づいて、凸包Pを小さくするように更新する。よって、効率的に解けるようにバンディット問題を最適化できる。As described above, in the present embodiment, the
また、本実施形態では、最適化部20が、線形最適化オラクルOAを実行する装置に対して算出された経験的推定量l^kを送信する制御を行い、その装置から最適化要素x*
kを取得することにより線形最適化問題を解決する。よって、線形最適化オラクルを実行する装置に対する呼び出し回数を抑制して計算時間を抑制できるため、バンディット問題を解決するコンピュータの機能を改善できる。言い換えると、本実施形態の最適化装置は、装置としてのオラクルに行う指示を適切に制御する装置であるともいえる。Further, in this embodiment, the
実施形態2.
次に、第二の実施形態の最適化装置について説明する。第二の実施形態では、バンディット線形最適化において非確率的(non-stochastic)な設定を想定する。非確率的な設定とは、確率的な設定とは対照的に、いかなる生成モデルも仮定しない設定である。例えば、損失ベクトルltは前の行動a1,…,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
本実施形態の最適化装置200は、凸集合Kt
(j)⊆RdをA⊆Kt
(j)であるように維持する。なお、tは、ラウンドに対応し、j∈{0,1,…}は、インデックスである。また、最適化装置200は、各ラウンドにおいて、増加する重みの更新に基づいて、凸関数zt:Rd→R≧0を更新する。なお、ztの正式な定義は後述される。The
また、以下の説明では、関数ztに比例するKt (j)上の分布の確率密度関数をqt (j)と記す。すなわち、qt (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.
また、qt (j)の平均μt (j)∈Rdおよびqt (j)の共分散行列Σt (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.
ここで、上述する定理5と同様の想定のもと、以下に補助定理を示す。
<補助定理>
少なくとも1-δになる確率で、以下に示す式20を得るようにpoly(d,1/ε,log(1/δ))でμ^(μの上付きハット)およびΣ^(Σの上付きハット)を出力する。なお、ベクトルx∈Rdおよび正の半正定値行列A∈Rd×dにおいて、||x||A:=(xTAx)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
上記補助定理より、最適化装置200は、以下に示す式21が少なくとも(1-δt
(j))の確率で成り立つようにμt
(j)およびΣt
(j)の推定量を計算できる。なお、δt
(j)∈(0,1)は、δt
(j)=1/Tk(k+1)として表され、kは、μt
(j)およびΣt
(j)が計算されるごとに値が増加される。From the above lemma,
さらに、Bt (j)=(bt1 (j),…,btd (j))∈Rd×dをBt (j)Bt (j)T=Σ^d(j)を満たすような行列であるとし、εt (j)⊆Rdを、以下の式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.
したがって、本実施形態の最適化装置は、μ^から予め定めた範囲(1/4e(bti (j)))内(すなわち、有限集合εt (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(=K1
(0))を設定する。すなわち、初期化部30は、行動集合を含むような凸集合を設定する。また、初期化部30は、学習率η>0や、誤差限界ε>0を設定してもよい。なお、本実施形態において、Tは、対象期間T∈Nを表わす。The
最適化部40は、y∈εt
(j)およびP=K:=Conv(A)についての分離問題(SP)を解き、Kt
(j)を更新する。ここでは、Kと任意のyを隔てる超平面が存在することとする。すなわち、最適化部40は、ベクトルyと凸集合とを分離する超平面を導出するための分離問題を解決する。なお、以下では、stが(while loopの)繰り返し処理の回数を表すものとし、繰り返し処理後は、εt:=εt
(st)⊆Kが得られるものとする。また、繰り返し処理後の平均、共分散行列および行列を、それぞれ、μ^t=μ^t
(st),Σ^t=Σ^t
(st),および,Bt=Bt
(st)と記す。The
また、最適化部40は、εtからxをランダムに選択する。具体的には、最適化部40は、ランダムに、一様に、正負の値を示すパラメータσt∈{-1,1}および選択された行動ベクトルの次元数内の値it∈[d]を選択する。最適化部40は、x=μ^t+(σt/4e)btitとし、選択されたitおよびσtに基づいてxを算出する。そして、最適化部40は、このxおよび凸集合P=Kについて、分割問題(DP)を解き、xの分割を得る。具体的には、最適化部40は、λt0+…+λtd=1、かつ、λt0xt0+…+λtdxtd=μ^t+(σt/4e)btitを満たすようなxt0,…,xtd∈Kおよびλt0,…,λtd≧0を計算する。Also, the
そして、最適化部40は、分解されたポイントの重みλtsの確率で行動at=xtsを実行し、フィードバック(損失)lt
Tatを得る。そのフィードバックに基づき、最適化部40は、損失ベクトルltの推定量l^tを、以下に示す式22により算出する。The
最適化部40は、算出された推定量l^tによって、関数ztを、以下に示す式23により算出する。The
補助定理のアルゴリズムを使用すると、上述する式20は、少なくとも1-δt
(j)の確率で成立する。ここで、δt
(j)は、以下に示す式24で表される。Using the Lemma algorithm,
なお、初期化部30と、最適化部40とは、プログラム(最適化プログラム)に従って動作するコンピュータのプロセッサによって実現される。
Note that the
次に、本実施形態の最適化装置の動作を説明する。図4は、本実施形態の最適化装置200の動作例を示すフローチャートである。本動作例において、凸集合Kt
(j)⊆Rd(A⊆Kt
(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
初期化部30は、凸集合K1
(0)←B(0,R)に設定する(ステップS101)。The
最適化部40は、t=1,2,…,Tについて、以下のステップS102からステップS116までの処理を繰り返す。はじめに、最適化部40は、j←0に設定する(ステップS103)。
The
さらに、最適化部40は、任意のy∈εt
(j)について、以下の式25に示す超平面w∈Rdが存在する間、ステップS104からステップS107までの処理を繰り返す。Furthermore, the
最適化部40は、Kの内容を更新する。具体的には、最適化部40は、Kの範囲を超平面wに基づいて縮小させるように、以下に示す式26を用いて更新し(ステップS105)、j←j+1とする(ステップS106)。なお、γはパラメータである。すなわち、最適化部40は、導出された超平面に基づいて凸集合Kをより小さな凸集合に更新する。
The
ステップS104からステップS107のループを抜けた後、最適化部40は、st←jに設定し(ステップS108)、Kt←Kt
(st)に設定する(ステップS109)。最適化部40は、ランダムに、一様にσt∈{-1,1}およびit∈[d]を選択する(ステップS110)。After exiting the loop from step S104 to step S107, the
次に、最適化部40は、P=Kおよびx=μ^t+(σt/4e)btitについての分割問題(DP)を解き、xの分割を得る。具体的には、最適化部40は、λt0+…+λtd=1、かつ、λt0xt0+…+λtdxtd=μ^t+(σt/4e)btitを満たすような分割xt0,…,xtd∈Aおよびλt0,…,λtd≧0を計算する(ステップS111)。
最適化部40は、λts(ただし、s=0,…,d)の確率で行動at=xtsを実行し(ステップS112)、損失lt
Tatを得る(ステップS113)。そのフィードバックに基づき、最適化部40は、損失ベクトルltの推定量l^tを、上記に示す式22により算出する(ステップS114)。そして、最適化部40は、Kt+1
(0)←Kt
(st)に更新する(ステップS115)。 The optimization unit 40 executes the action at = xts with a probability of λts (where s=0, . Based on the feedback, the
次に、本実施形態の最適化装置200を用いた場合の後悔(Regret)について、分析結果を具体的に説明する。具体的には、上記アルゴリズムによる後悔上限を以下に示す。まず、ψを以下に示す式27のように定義する。
Next, analysis results of Regret when using the
ここで、以下の式28に示すパラメータεおよびηで図4に例示する処理によってatが与えられたとする。Here, it is assumed that at is given by the processing illustrated in FIG. 4 with parameters ε and η shown in Equation 28 below.
このとき、全てのa*∈Aについて、以下の式29に示す期待値が得られる。At this time, the expected value shown in Equation 29 below is obtained for all a * εA.
式29において、STは、t=1からTまでのKt(j)の更新数を表わす。なお、上述するψは、Kが半径r> 0の球l2を含む場合に、ψ≦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∈εt
(j)が存在するかどうか決定するために分離問題(SP)が必要である。上記の式21に示すεt
(j)の定義から、εt
(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
STの数は、オーダ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は、行動ベクトルの次元数内の値it∈[d]および正負の値を示すパラメータσt∈{-1,1}を選択し、選択されたitおよびσtにより決定される要素x(=μ^t+(σt/4e)btit)および凸集合Kに関して、その要素xのそれぞれを行動ベクトルの次元数のポイントに分解する分解問題(DP)を解決する。そして、最適化部40が、分解されたポイントの重みの確率λで、そのポイントを行動aとして実行し、実行された行動により得られる損失に基づいて、損失ベクトルの推定量を算出する。よって、効率的に解けるようにバンディット問題を最適化できる。As described above, in this embodiment, the
また、本実施形態では、最適化部40は、線形最適化オラクル(分離問題を解決するオラクル)を実行する装置(図示せず)に対してベクトルyおよび凸集合を送信する制御を行い、その装置から超平面wを取得することにより分離問題を解決する。よって、線形最適化オラクルを実行する装置に対する呼び出し回数を抑制して計算時間を抑制できるため、バンディット問題を解決するコンピュータの機能を改善できる。言い換えると、本実施形態の最適化装置は、装置としてのオラクルに行う指示を適切に制御する装置であるともいえる。
Further, in this embodiment, the
次に、本発明の概要を説明する。図5は、本発明による最適化装置の概要を示すブロック図である。本発明による最適化装置90は、バンディット問題を最適化する最適化装置(例えば、最適化装置200)であって、候補になる行動ベクトルの集合である行動集合(例えば、A)を含む凸集合(例えば、K)を設定する凸集合設定部91(例えば、初期化部30)と、予め定めた範囲(例えば、εt
(j))に含まれる任意のベクトル(例えば、y)と凸集合(例えば、K)とを分離する超平面(例えば、w)を導出するための分離問題(例えば、SP)を解決し、導出された超平面に基づいて凸集合をより小さな凸集合に(例えば、上記式26に基づいて)更新する分離問題解決部92(例えば、最適化部40)と、行動ベクトルの次元数内の値(例えば、it∈[d])および正負の値を示すパラメータ(例えば、σt∈{-1,1})を選択するパラメータ選択部93(例えば、最適化部40)と、選択された次元数内の値およびパラメータにより決定される要素並びに凸集合に関して、その要素のそれぞれを行動ベクトルの次元数のポイント(例えば、{xki0,…,xkid}∈A)に分解する分解問題(例えば、DP)を解決する分解問題解決部94(例えば、最適化部40)と、分解されたポイントの重みの確率(例えば、λ)で、そのポイントを行動として実行する行動実行部95(例えば、最適化部40)と、実行された行動により得られる損失(例えば、lt
Tat)に基づいて、損失ベクトルの推定量(例えば、l^t)を算出する推定量算出部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
そのような構成により、効率的に解けるようにバンディット問題を最適化できる。 Such an arrangement allows the bandit problem to be optimized for efficient solution.
また、分離問題解決部92は、凸集合の分布の確率密度関数の平均(例えば、μ^t)から予め定めた範囲内の任意のベクトルと凸集合とを分離する超平面を導出するための分離問題を解決してもよい。In addition, the separation
また、分離問題解決部92は、ベクトルの含まれる範囲を、凸集合の分布の確率密度関数の共分散行列の要素(例えば、Σ^d
(j)=Bt
(j)Bt
(j)T)に基づいて決定してもよい。In addition, the separation
また、分離問題解決部92は、各ラウンドにおいて、増加する重みの更新に基づいて凸関数(例えばzt(a))を更新し、凸関数に比例する確率密度関数(例えば、qt
(j))を算出してもよい。In each round, the
また、分離問題解決部92は、線形最適化オラクル(例えば、LP、SP、RPを解決するオラクル)を実行する装置に対してベクトルおよび凸集合を送信する制御を行い、その装置から超平面を取得することにより分離問題を解決してもよい。そのような構成によれば、線形最適化オラクルを実行する装置に対する呼び出し回数を抑制して計算時間を抑制できるため、バンディット問題を解決するコンピュータの機能を改善できる。
In addition, the
また、パラメータ選択部93は、ランダムかつ一様に行動ベクトルの次元数内の値および正負の値を示すパラメータを選択してもよい。
Further, the
図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
上述の最適化装置90は、コンピュータ1000に実装される。そして、上述した各処理部の動作は、プログラム(最適化プログラム)の形式で補助記憶装置1003に記憶されている。プロセッサ1001は、プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、当該プログラムに従って上記処理を実行する。
The
なお、少なくとも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,
また、当該プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、当該プログラムは、前述した機能を補助記憶装置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
10,30 初期化部
20,40 最適化部
100,200 最適化装置10, 30
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.
請求項7記載の最適化方法。 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.
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)
| 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 |
-
2019
- 2019-05-22 JP JP2021519979A patent/JP7248108B2/en active Active
- 2019-05-22 WO PCT/JP2019/020282 patent/WO2020235050A1/en not_active Ceased
Patent Citations (2)
| 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)
| 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 |