JP6992404B2 - Optimizer, method, and program - Google Patents
Optimizer, method, and program Download PDFInfo
- Publication number
- JP6992404B2 JP6992404B2 JP2017205278A JP2017205278A JP6992404B2 JP 6992404 B2 JP6992404 B2 JP 6992404B2 JP 2017205278 A JP2017205278 A JP 2017205278A JP 2017205278 A JP2017205278 A JP 2017205278A JP 6992404 B2 JP6992404 B2 JP 6992404B2
- Authority
- JP
- Japan
- Prior art keywords
- subset
- max
- score
- cost
- representing
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
本発明は、最適化装置、方法、及びプログラムに係り、特に、劣モジュラ最大化問題を解くための最適化装置、方法、及びプログラムに関する。 The present invention relates to optimization devices, methods, and programs, and in particular, to optimization devices, methods, and programs for solving submodular maximization problems.
劣モジュラ最大化問題は、「ある集合から非冗長な部分集合を選ぶ」という文脈で頻繁に現れる問題である。例えば、屋内にセンサーを複数配置することによって気温等の情報を集めたいという状況を考える。センサーを配置できる候補箇所(例えば、電源の差し込み口付近など)はあらかじめ決められているとする。この問題は、候補箇所の集合の中からいくつかの箇所(部分集合)を選び、センサーの配置箇所を決める問題となっている。この問題において、センサーを密集させて配置してしまうと、いくつかのセンサーからはほぼ同様な情報が得られると思われるため、冗長であると言える。劣モジュラ関数はそのような冗長性を表現した関数であり、劣モジュラ関数で表されるスコアを最大化するようにセンサーを配置する箇所を選ぶことで、観測対象範囲を満遍なくカバーするような、非冗長なセンサー配置を実現できる。 The submodular maximization problem is a problem that frequently appears in the context of "choosing a non-redundant subset from a set." For example, consider a situation where you want to collect information such as temperature by arranging multiple sensors indoors. It is assumed that the candidate locations where the sensor can be placed (for example, near the power outlet) are predetermined. This problem is a problem of selecting some places (subsets) from a set of candidate places and deciding where to place the sensor. In this problem, if the sensors are densely arranged, it seems that almost the same information can be obtained from some sensors, so it can be said to be redundant. The submodular function is a function that expresses such redundancy, and by selecting the location where the sensor is placed so as to maximize the score represented by the submodular function, it covers the observation target range evenly. A non-redundant sensor arrangement can be realized.
このような劣モジュラ関数最大化に対しては非特許文献1のような貪欲法によって、
For such submodular function maximization, the greedy method as in Non-Patent
近似保証を持つ解を得ることができる(ただしeはネイピア数)。また、貪欲法よりも長い計算時間を費やすことを許すならば、非特許文献2のような方法で任意のα∈[0,1]に対して近似保証を持つ解を得ることができる。
A solution with an approximation guarantee can be obtained (where e is the number of Napiers). Further, if it is allowed to spend a longer calculation time than the greedy method, a solution having an approximate guarantee for any α ∈ [0,1] can be obtained by a method as in
上述の非特許文献1にあるように、劣モジュラ最大化の1-1/e近似解は貪欲法によって効率的に計算できる。しかし、多くの現実問題では1-1/e近似保証では精度として不十分である。例えば、上述のセンサ配置問題の場合、非常に高額なセンサーを用いて重要な情報を集めるような状況では、可能な限り最適解に近いと保証された解に従ってセンサーを配置するのが望ましい。非特許文献2の方法は任意のαに対してα近似解を計算できるが、解の探索時に用いる技術の一部が劣モジュラ最大化問題に適しておらず、結果として膨大な計算時間を要することが多い。
As described in
本発明は、上記問題点を解決するために成されたものであり、高速に劣モジュラ最大化問題の近似解を所望の精度で求めることができる最適化装置、方法、及びプログラムを提供することを目的とする。 The present invention has been made to solve the above problems, and provides an optimization device, a method, and a program capable of obtaining an approximate solution of a submodular maximization problem with desired accuracy at high speed. With the goal.
上記目的を達成するために、本発明に係る最適化装置は、要素の集合から非冗長な部分集合を探索する劣モジュラ最大化問題において、近似精度を表すパラメータαと、前記劣モジュラ最大化問題の要素の各々を含む集合U、前記集合Uの部分集合に対するスコアを定義する劣モジュラ関数、前記要素の各々についてのコストcU、及び前記コストの上限Bとを入力として受け付ける入力部と、前記コストの上限Bに基づくコスト制約を満たす部分集合Sの集合Fのうち、前記スコアが最大となる部分集合Smaxを、貪欲法を用いて探索することを繰り返し、既に探索された部分集合Smaxのスコアと前記近似精度を表すパラメータαとを用いて定められるスコアの上限に対する、新たに探索された前記部分集合Smaxのスコアの比が、前記近似精度を表すパラメータα以上となったときの前記部分集合Smaxを、前記劣モジュラ最大化問題の近似解として出力する探索部と、を含んで構成されている。 In order to achieve the above object, the optimizer according to the present invention has a parameter α representing approximation accuracy and the submodular maximization problem in a submodular maximization problem for searching a non-redundant subset from a set of elements. An input unit that accepts as inputs a set U including each of the elements of, an inferior modular function that defines a score for a subset of the set U, a cost c U for each of the elements, and an upper limit B of the cost. Of the set F of the subset S that satisfies the cost constraint based on the upper limit B of the cost, the subset S max having the maximum score is repeatedly searched by using the greedy method, and the already searched subset S max is repeated. When the ratio of the score of the newly searched subset S max to the upper limit of the score determined by using the score of the above and the parameter α representing the approximation accuracy is equal to or greater than the parameter α representing the approximation accuracy. It is configured to include a search unit that outputs the subset S max as an approximate solution to the inferior modular maximization problem.
本発明に係る最適化方法は、要素の集合から非冗長な部分集合を探索する劣モジュラ最大化問題において、入力部が、近似精度を表すパラメータαと、前記劣モジュラ最大化問題の要素の各々を含む集合U、前記集合Uの部分集合に対するスコアを定義する劣モジュラ関数、前記要素の各々についてのコストcU、及び前記コストの上限Bとを入力として受け付けるステップと、探索部が、前記コストの上限Bに基づくコスト制約を満たす部分集合Sの集合Fのうち、前記スコアが最大となる部分集合Smaxを、貪欲法を用いて探索することを繰り返し、既に探索された部分集合Smaxのスコアと前記近似精度を表すパラメータαとを用いて定められるスコアの上限に対する、新たに探索された前記部分集合Smaxのスコアの比が、前記近似精度を表すパラメータα以上となったときの前記部分集合Smaxを、前記劣モジュラ最大化問題の近似解として出力するステップと、を含んで実行することを特徴とする。 In the optimization method according to the present invention, in the submodular maximization problem of searching for a non-redundant subset from a set of elements, the input unit has a parameter α representing approximation accuracy and each of the elements of the submodular maximization problem. A step that accepts as inputs a set U including, an inferior modular function that defines a score for a subset of the set U, a cost c U for each of the elements, and an upper limit B of the cost, and the search unit receives the cost. Of the set F of the subset S that satisfies the cost constraint based on the upper limit B of, the subset S max having the maximum score is repeatedly searched by using the greedy method, and the already searched subset S max . The said when the ratio of the score of the newly searched subset S max to the upper limit of the score determined by using the score and the parameter α representing the approximation accuracy is equal to or greater than the parameter α representing the approximation accuracy. It is characterized in that the subset S max is executed including a step of outputting as an approximate solution of the inferior modular maximization problem.
また、本発明のプログラムは、コンピュータを、上記の最適化装置を構成する各部として機能させるためのプログラムである。 Further, the program of the present invention is a program for making a computer function as each part constituting the above-mentioned optimization device.
本発明の最適化装置、方法、及びプログラムによれば、受け付けた近似精度を表すパラメータαと、集合U、劣モジュラ関数、要素の各々についてのコストcU、及びコストの上限Bとを入力として、コストの上限Bに基づくコスト制約を満たす部分集合Sの集合Fのうち、スコアが最大となる部分集合Smaxを、貪欲法を用いて探索することを繰り返し、既に探索された部分集合Smaxのスコアと近似精度を表すパラメータαとを用いて定められるスコアの上限に対する、新たに探索された部分集合Smaxのスコアの比が、近似精度を表すパラメータα以上となったときの部分集合Smaxを、劣モジュラ最大化問題の近似解として出力することにより、高速に劣モジュラ最大化問題の近似解を所望の精度で求めることができる、という効果が得られる。 According to the optimizer, method, and program of the present invention, the input is the parameter α representing the accepted approximation accuracy, the set U, the submodular function, the cost c U for each of the elements, and the upper limit B of the cost. Of the set F of the subset S that satisfies the cost constraint based on the upper limit B of the cost, the subset S max having the maximum score is repeatedly searched by using the greedy method, and the already searched subset S max . When the ratio of the score of the newly searched subset S max to the upper limit of the score determined by using the score of and the parameter α representing the approximation accuracy is equal to or greater than the parameter α representing the approximation accuracy, the subset S By outputting max as an approximate solution of the submodular maximization problem, it is possible to obtain an approximate solution of the submodular maximization problem at a high speed with a desired accuracy.
以下、図面を参照して本発明の実施の形態を詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
<本発明の実施の形態に係る概要> <Overview of Embodiments of the Present Invention>
まず、本発明の実施の形態における概要を説明する。 First, an outline of the embodiment of the present invention will be described.
本発明では、[非特許文献2] の技術を改善することにより、既存法よりも大幅に高速化された劣モジュラ最大化装置を提案する。非特許文献2では、劣モジュラ最大化問題の分野において広く知られた最良優先探索(Best-First Search、以下BFSと記載)に基づく手法を用いている。後述のように、BFSはヒューリスティック関数と呼ばれる関数値によって優先度を定めつつ探索を進めるアルゴリズムである。本発明では、この劣モジュラ最大化に対するBFSに以下の3点の改良を加えることで、より効率化されたBFS(後述のBFSTC)を提案する。第1に、探索を行う空間を状態空間木と呼ばれる構造で表現し、必要なメモリを削減する。第2に、探索の途中で 近似が達成されたことを検出する技術を導入し、冗長な探索を省く。第3に、劣モジュラ最大化に適したヒューリスッティック関数を設計し、より効率的に探索を行う。
The present invention proposes a submodular maximizing device that is significantly faster than the existing method by improving the technique of [Non-Patent Document 2]. Non-Patent
<本発明の実施の形態に係る原理> <Principle of the Embodiment of the present invention>
次に、本発明の実施の形態における原理を説明する。 Next, the principle in the embodiment of the present invention will be described.
任意の正整数kに対し、[k]={1,2,...,k}とし、今、U=[n]とし、n要素の集合Uの上での劣モジュラ最大化を考える。Uの上で定義される関数 For any positive integer k, let [k] = {1,2, ..., k}, and now U = [n], and consider submodular maximization on the set U of n elements. Function defined on U
は、任意のX,Y⊆Uに対してg(X)+g(Y)≧g(X∪Y)+g(X∩Y)を満たすとき、劣モジュラ関数であると言われる(2UはUの冪集合)。また、任意のX⊆Y⊆Uに対してg(X)≦g(Y)が成り立つとき、gは単調であるという。
Is said to be a submodular function when g (X) + g (Y) ≧ g (X∪Y) + g (X∩Y) is satisfied for any X, Y⊆U (2 U is U). Power set). Further, when g (X) ≤ g (Y) holds for any X⊆Y⊆U, g is said to be monotonous.
以下ではg(φ)=0であるような単調劣モジュラ関数について考える。各アイテムv∈Uに対し、非負のコストcvが割り当てられているとし、cX={cv:v∈X}、c(X)=Σv∈Xcvと定義する。本発明の実施の形態では、劣モジュラ最大化の中でも最も一般的な問題の一つである、以下のようなナップサック制約付き単調劣モジュラ最大化について考える。 In the following, we consider a monotonic submodular function such that g (φ) = 0. Assuming that a non-negative cost c v is assigned to each item v ∈ U , we define c X = {c v : v ∈ X} and c (X) = Σ v ∈ X c v . In the embodiment of the present invention, one of the most common problems in submodular maximization, the following knapsack-constrained monotonous submodular maximization will be considered.
・・・(1)
... (1)
ただし、B>0は事前に決められたコストの上限である。以下、この問題をSubmodular Knapsack Problemを略してSKPと呼び、その最適解をX*と書くことにする。また、この問題のコスト制約を満たす実行可能な部分集合の集まりを、F={X⊆U:c(X)≦B}と書く。以下では任意のX,Y⊆Uに対し、 However, B> 0 is a predetermined upper limit of cost. Hereinafter, this problem is abbreviated as SKP for Submodular Knapsack Problem, and its optimum solution is written as X * . Further, a set of executable subsets satisfying the cost constraint of this problem is written as F = {X⊆U: c (X) ≦ B}. In the following, for any X, Y⊆U,
と定義する。 Is defined as.
以下、任意のα∈[0,1]に対しα近似解X(すなわち、g(X)≧αg(X*)であるような解X)を出力する装置を想定して説明する。以下において想定する装置の大枠は基本的に非特許文献2で説明されているBFSの手順に基づいている。本発明の改良点に対応する部分については、現れる都度明記する。
Hereinafter, a device that outputs an α approximate solution X (that is, a solution X such that g (X) ≧ αg (X * )) for any α ∈ [0,1] will be described. The outline of the apparatus assumed below is basically based on the BFS procedure described in
次に、本実施の形態で用いる状態空間木について説明する。準備として、状態空間木G=(F,E)を定義する。Gはφ∈Fを根とする木構造であり、Fは頂点集合、Eは有向枝集合である。2つの頂点X,Y∈Fは、X=Y-maxYであるような時、有向枝(X,Y)∈Eによって結ばれている。ただし、maxYはY[n]に含まれる要素のうち、最も番号の大きな要素を表す。Gの例を図1に示す。図1ではU=[3],c1=c2=c3=1,B=2として、c(X)≦2であるようなUの部分集合Xたちを頂点に持つ状態空間木Gが示されている。例えば、{1}と{1,3}の間には、{1}={1,3}-max{1,3}が成立しているため、有向枝({1},{1,3})が存在している。非特許文献2では状態空間木の代わりに状態空間グラフと呼ばれる構造を用い、各S∈Fがすでに探索されたか否かをclosed listと呼ばれるデータ構造によって管理していたが、実用上closed listは膨大なメモリを要することが多い。本発明の実施の形態では、上記のような状態空間木を用いることでclosed listの使用を避け、探索時に使用するメモリを削減する。
Next, the state space tree used in this embodiment will be described. As a preparation, the state space tree G = (F, E) is defined. G is a tree structure rooted at φ ∈ F, F is a set of vertices, and E is a set of directed branches. The two vertices X, Y ∈ F are connected by a directed branch (X, Y) ∈ E when X = Y-maxY. However, maxY represents the element having the highest number among the elements included in Y [n]. An example of G is shown in FIG. FIG. 1 shows a state-space tree G having subsets X of U such that c (X) ≦ 2 with U = [3], c1 = c2 = c3 = 1, B = 2. There is. For example, since {1} = {1,3} -max {1,3} holds between {1} and {1,3}, the directed branch ({1}, {1,, 3}) exists. In
次に、本発明の実施の形態において提案するBFS with Termination Condition(以下、BFSTCと記載)の詳細について説明する。本発明の実施の形態では、図2のAlgorithm1において示すBFSTCを用いて、上記で定義された状態空間木の上で探索を行うことで、α近似解を発見する。
Next, the details of the BFS with Termination Condition (hereinafter referred to as BFSTC) proposed in the embodiment of the present invention will be described. In the embodiment of the present invention, the BFSTC shown in
BFSTCでは、この分野において広く知られているMaxHeapと呼ばれるデータ構造を用いる。MaxHeapはS∈Fと、Sに対して計算される値 BFSTC uses a data structure called MaxHeap, which is widely known in this field. MaxHeap is S ∈ F and the value calculated for S
の組<S,f(S)>たちを保存するデータ構造である。MaxHeap.push<S,f(S)>によって新たな組<S,f(S)>をMaxHeapに追加することができる。また、MaxHeap.pop()によってMaxHeapに保存されている組の中でfの値が最大となる組<S,f(S)>のSを取り出すことができる。また、TはMaxHeapに保存されている組のうち、fの値が最大となる組の頂点である。ここで、f(S)はf(S)=g(S)+αh(S)という式で計算される値であり、h(S)はヒューリスッティック関数と呼ばれる関数の値である。ヒューリスッティック関数の値の計算式については後述する。Algorithm1のGreedySK(V,~g(・),cV,C)は任意のV⊆U、C≧0に対して、与えられた劣モジュラ関数 It is a data structure that stores the set <S, f (S)> of. A new set <S, f (S)> can be added to MaxHeap by MaxHeap.push <S, f (S)>. Further, MaxHeap.pop () can extract S of the set <S, f (S)> having the maximum value of f among the sets stored in MaxHeap. Further, T is the vertex of the set having the maximum value of f among the sets stored in MaxHeap. Here, f (S) is a value calculated by the formula f (S) = g (S) + αh (S), and h (S) is a value of a function called a heuristic function. The formula for calculating the value of the heuristic function will be described later. GreedySK (V, ~ g (・), c V , C) of Algorithm1 is a given submodular function for any V⊆U, C ≧ 0.
を最大化する問題maxX⊆V:c(X)≦C~g(X)を近似的に解く貪欲法であり、その詳細は図3に示すAlgorithm2、及び図4に示すAlgorithm3に記載された通りである。ただし、任意の集合関数
It is a greedy method that approximately solves the problem max X ⊆ V: c (X) ≦ C to g (X), and the details thereof are described in
とX,Y⊆Vに対し、~g(X|Y)=~g(X+Y)-~g(Y)と定義する。また、任意の与えられたS∈Fに対し、BS=B-c(S),VS={v∈U:cV≦BS},gS(・)=g(・|S)とする。 And X, Y⊆V are defined as ~ g (X | Y) = ~ g (X + Y)-~ g (Y). Also, for any given S ∈ F, BS = B-c ( S ), VS = {v ∈ U: c V ≤ BS}, g S (・) = g (・ | S ) And.
ここで、Algorithm2及びAlgorithm3について説明する。Algorithm2は、Algorithm1のStep12において呼び出され、(V,~g(・),cV,C)を入力として、Y∈(vmax,Y)のうち最大となる~g(Y)を求めることで、^Sの解を得る。^Sは貪欲法が発見した最適なSである。また、Algorithm2のStep1において、Xを求めるためにAlgorithm3のGreedyAddを呼び出し、(V,~g(・),cV,C)を入力として、C以下のコスト制約を満たす中で最大と成るXを求める。
Here,
本発明の実施の形態におけるBFSの改良点の一つは、Algorithm1のStep12-16に記載された停止条件(Termination Condition)である。具体的には、Algorithm1のStep14の停止条件が満たされれば、Smax∈Fが所望のα近似解であることが保証されるため、Smaxを出力し探索を終了することで、実行時間の短縮が可能となる。Smaxは探索に最も最適なSである。また、BFSTCでは、本手法で提案する以下のヒューリスティック関数を用いることで、探索を効率化している。現在の解S∈Fが与えられたもとで、Algorithm1のStep17で必要となるh(S)の値を計算する方法を示す。
One of the improvements of BFS in the embodiment of the present invention is the Termination Condition described in Step 12-16 of
ここでAlgorithm3の関数
が出力した解をX1:kと記述する。ただし、任意のi∈[k]に対し、X1:iはAlgorithm3のGreedyAddがi番目までにStep5で追加した要素からなる集合とし、最終的にGreedyAddが出力した解が含む要素の数がkであるとする(i<1ならばX1:i=φ)。また、XiはX1:kのi番目の要素とする、ここで、β1:kを以下のように定義する。
The solution output by is described as X 1: k . However, for any i ∈ [k], X 1: i is a set consisting of the elements added in
ただし、i∈[k]に対し、 However, for i ∈ [k]
とする。umod(X1:i)については後述する。以上を用い、ヒューリスティック関数の値は以下(2)式により計算される。 And. The u mod (X 1: i ) will be described later. Using the above, the value of the heuristic function is calculated by the following equation (2).
・・・(2)
... (2)
このh(S)を用いてf(S)の値を計算するためAlgorithm1のStep14の停止条件が記述可能になり、劣モジュラ最大化問題を解くのに適した計算が行える。以下では、与えられたS∈FとY⊆VSに対し、umod(Y)を計算する手順を述べる。まずVSの要素をrv=gS(v|Y)/cvの値が大きい順にソートする(v∈VS)。
Since the value of f (S) is calculated using this h (S), the stop condition of
こうして得られた順序付きの集合をV1:mと記述する。ただしmはVSの要素数であり、V1:iはV1:mの先頭i個の要素からなる集合、ViはV1:mのi番目の要素を表すものとする(i<1ならばV1:i=φ)。さらにl=max{i∈[m]:c(V1:i)≦BS}とする。この時umod(Y)は以下のように計算される。 The ordered set thus obtained is described as V 1: m . However, m is the number of elements of VS , V 1: i is a set consisting of the first i elements of V 1: m , and V i is the i-th element of V 1: m (i <. If it is 1, V 1: i = φ). Further, let l = max { i ∈ [m]: c (V 1: i ) ≤ BS}. At this time, u mod (Y) is calculated as follows.
以上の手続きにより、BFSTCの実行中に得られた任意のS∈Fに対して、h(S)の値を計算することができる。 By the above procedure, the value of h (S) can be calculated for any S ∈ F obtained during the execution of BFSTC.
<本発明の実施の形態に係る最適化装置の構成> <Structure of the optimization device according to the embodiment of the present invention>
次に、本発明の実施の形態に係る最適化装置の構成について説明する。図5に示すように、本発明の実施の形態に係る最適化装置100は、CPUと、RAMと、後述する最適化処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することが出来る。この最適化装置100は、機能的には図5に示すように入力部10と、演算部20と、出力部50とを備えている。
Next, the configuration of the optimization device according to the embodiment of the present invention will be described. As shown in FIG. 5, the
入力部10は、近似精度を表すパラメータαと、劣モジュラ最大化問題の要素の各々を含む集合U、集合Uの部分集合に対するスコアを定義する劣モジュラ関数g(・)、要素の各々についてのコストcU、及びコストの上限Bとを入力として受け付ける。
The
演算部20は、主制御部30と、計算部38とを含んで構成されている。
The
主制御部30は、構築部32と、状態空間木34と、探索部36とを含んで構成されている。
The
構築部32は、劣モジュラ最大化問題の要素の各々を含む集合U、要素の各々についてのコストcU、及びコストの上限Bに基づいて、部分集合の包含関係に基づいてコスト制約を満たす部分集合を表す頂点Fを有向枝Eで結合したG=(F,E)を状態空間木34として構築する。なお、探索部36の逐次探索に応じて、部分集合の包含関係に基づいてコスト制約を満たす部分集合を表す頂点Fを有向枝Eで結合したG=(F,E)を状態空間木34として逐次的に構築するようにしてもよい。例えば、図2のAlgorithm1の計算において必要になった部分についての状態空間木34を構築するようにしてもよい。
The
探索部36は、入力部10で受け付けた近似精度を表すパラメータαと、集合U、劣モジュラ関数g(・)、要素の各々についてのコストcU、及びコストの上限Bとを入力として、コストの上限Bに基づくコスト制約を満たす部分集合Sの集合Fのうち、スコアが最大となる部分集合Smaxを、貪欲法を用いて探索することを繰り返し、既に探索された部分集合Smaxのスコアと近似精度を表すパラメータαとを用いて定められるスコアの上限gupperに対する、新たに探索された部分集合Smaxのスコアの比が、近似精度を表すパラメータα以上となったときの部分集合Smaxを、劣モジュラ最大化問題の近似解として出力する。
The
探索部36は、図6に示すように、逐次実行部40と、停止条件判定部42とを含んで構成されている。
As shown in FIG. 6, the
逐次実行部40は、コスト制約を満たす部分集合Sの集合Fのうち、スコアが最大となる部分集合Smaxを、貪欲法を用いて探索することを繰り返す。逐次実行部40の処理は上記図2のAlgorithm1によって実行される。
The
逐次実行部40では、新たに探索された部分集合Smaxについて、部分集合Smaxのスコアと、部分集合Smaxについてのヒューリスティック関数の値h(S)と、近似精度を表すパラメータαとを用いて値f(S)を計算する(上記図2のAlgorithm1におけるStep17)。ヒューリスティック関数の値h(S)は、計算部38を呼び出することにより、上記(2)式に従って計算される。
The
また、逐次実行部40は、スコアが最大となる部分集合Smaxを、貪欲法を用いて探索する際に、fの初期値f(φ)又は計算した値f(S)が最大となる部分集合Smaxを包含し、かつ、コスト制約を満たす貪欲法が見つけた最適な部分集合^Sから、スコアが最大となる部分集合Smaxを、貪欲法を用いて探索する(上記図2のAlgorithm1におけるStep11-19)。貪欲法を用いた探索は、計算部38を呼び出することにより行われる(上記図3のAlgorithm2、図4のAlgorithm3)。
Further, when the
停止条件判定部42は、既に探索された部分集合Smaxのスコアと近似精度を表すパラメータαとを用いて定められるスコアの上限に対する、新たに探索された部分集合Smaxのスコアの比が、近似精度を表すパラメータα以上となるか否かを判定し、スコアの比が、近似精度を表すパラメータα以上である場合に、当該新たに探索された部分集合Smaxを近似解として出力する(上記図2のAlgorithm1におけるStep14-15)。
The stop
また、停止条件判定部42は、値f(S)が最大となる部分集合Smaxについてのヒューリスティック関数の値が0である場合に、当該値f(S)が最大となる部分集合Smaxを近似解として出力する(上記図2のAlgorithm1におけるStep7-8)。
Further, the stop
計算部38は、集合U、劣モジュラ関数g(・)、要素の各々についてのコストcU、及びコストの上限Bを入力として、主制御部30の逐次実行部40の初期値であるSmax、ヒューリスティック関数の初期値h(φ)を計算する。また、計算部38は、残りのコストC、残りのコストC以下の要素からなる部分集合V、部分集合Sに対して要素を追加したときのスコアの追加分を出力するモジュラ関数gS(・)、部分集合VについてのコストcVを入力として、逐次求めるコスト制約を満たす貪欲法が見つけた最適な部分集合^S、及びヒューリスティック関数の値h(S)を求める。計算部38の処理は、上記図3のAlgorithm2及び図4のAlgorithm3により、逐次実行部40から呼び出されて逐次実行される。
The
<本発明の実施の形態に係る最適化装置の作用> <Operation of the optimization device according to the embodiment of the present invention>
次に、本発明の実施の形態に係る最適化装置100の作用について説明する。入力部10において近似精度を表すパラメータαと、劣モジュラ最大化問題の要素の各々を含む集合U、集合Uの部分集合に対するスコアを定義する劣モジュラ関数g(・)、要素の各々についてのコストcU、及びコストの上限Bとを受け付けると、最適化装置100は、図7に示す最適化処理ルーチンを実行する。
Next, the operation of the
まず、ステップS100では、主制御部30が、入力部10において受け付けたパラメータαと、集合U、劣モジュラ関数g(・)、要素の各々についてのコストcU、及びコストの上限Bとを取得する。
First, in step S100, the
ステップS102では、主制御部30が、部分集合の包含関係に基づいてコスト制約を満たす部分集合を表す頂点Fを有向枝Eで結合したG=(F,E)を状態空間木34として構築する。
In step S102, the
次に、ステップS104では、計算部38が、劣モジュラ関数g(・)、要素の各々についてのコストcU、及びコストの上限Bを入力として、初期値であるSmax、ヒューリスティック関数の初期値h(φ)を計算する。
Next, in step S104, the
ステップS106では、主制御部30が、停止条件を満たすまで、計算部38を呼び出しながら、スコアが最大となる部分集合Smaxを、貪欲法を用いて繰り返し探索することにより、近似解である部分集合を求める。なお、停止条件は、上記図2のAlgorithm1におけるStep14において、既に探索された部分集合Smaxのスコアと近似精度を表すパラメータαとを用いて定められるスコアの上限に対する、新たに探索された部分集合Smaxのスコアの比が、近似精度を表すパラメータα以上となるか否か、又はStep7においてh(T)=0か否かとする。なお、Tが返されるのは、α=1を設定した場合等、これ以上探索を行ってもよい解が見つからないとわかった場合(全ての探索を終えた場合)である。
In step S106, the
ステップS108では、主制御部30が、ステップS106で得られた解(T、又はSmax)を出力して処理を終了する。
In step S108, the
以上説明したように、本発明の実施の形態に係る最適化装置によれば、入力部10で受け付けた近似精度を表すパラメータαと、集合U、劣モジュラ関数g(・)、要素の各々についてのコストcU、及びコストの上限Bとを入力として、コスト制約を満たす部分集合Sの集合Fのうち、スコアが最大となる部分集合Smaxを、貪欲法を用いて探索することを繰り返し、既に探索された部分集合Smaxのスコアと近似精度を表すパラメータαとを用いて定められるスコアの上限に対する、新たに探索された部分集合Smaxのスコアの比が、近似精度を表すパラメータα以上となったときの部分集合Smaxを、劣モジュラ最大化問題の近似解として出力することにより、高速に劣モジュラ最大化問題を解くことができる。
As described above, according to the optimization device according to the embodiment of the present invention, the parameter α representing the approximation accuracy received by the
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。 The present invention is not limited to the above-described embodiment, and various modifications and applications can be made without departing from the gist of the present invention.
10 入力部
20 演算部
30 主制御部
32 構築部
34 状態空間木
36 探索部
38 計算部
40 逐次実行部
42 停止条件判定部
50 出力部
100 最適化装置
10
Claims (6)
近似精度を表すパラメータαと、前記劣モジュラ最大化問題の要素の各々を含む集合U、前記集合Uの部分集合に対するスコアを定義する劣モジュラ関数、前記要素の各々についてのコストcU、及び前記コストの上限Bとを入力として受け付ける入力部と、
前記コストの上限Bに基づくコスト制約を満たす部分集合Sの集合Fのうち、前記スコアが最大となる部分集合Smaxを、貪欲法を用いて探索することを繰り返し、既に探索された部分集合Smaxのスコアと前記近似精度を表すパラメータαとを用いて定められるスコアの上限に対する、新たに探索された前記部分集合Smaxのスコアの比が、前記近似精度を表すパラメータα以上となったときの前記部分集合Smaxを、前記劣モジュラ最大化問題の近似解として出力する探索部と、
を含む最適化装置。 In a submodular maximization problem that searches for non-redundant subsets from a set of elements
A parameter α representing approximation accuracy, a set U containing each of the elements of the submodular maximization problem, a submodular function defining a score for a subset of the set U, a cost c U for each of the elements, and the above. An input unit that accepts the upper limit B of the cost as an input,
Of the set F of the subset S that satisfies the cost constraint based on the upper limit B of the cost, the subset S max having the maximum score is repeatedly searched by using the greedy method, and the subset S already searched. When the ratio of the score of the newly searched subset S max to the upper limit of the score determined by using the score of max and the parameter α representing the approximation accuracy is equal to or greater than the parameter α representing the approximation accuracy. A search unit that outputs the subset S max of the above as an approximate solution to the inferior modular maximization problem.
Optimizer including.
前記スコアが最大となる部分集合Smaxを、貪欲法を用いて探索する際には、前記値fが最大となる前記部分集合Smaxを包含し、かつ、コスト制約を満たす部分集合Sから、前記スコアが最大となる部分集合Smaxを、貪欲法を用いて探索する請求項1記載の最適化装置。 The search unit uses the score of the subset S max , the value of the heuristic function for the subset S max , and the parameter α representing the approximation accuracy for the newly searched subset S max . Calculate the value f and
When searching for the subset S max that maximizes the score by using the greedy algorithm, from the subset S that includes the subset S max that maximizes the value f and satisfies the cost constraint. The optimization device according to claim 1, wherein the subset S max having the maximum score is searched for by using the greedy method.
・・・(1)
ただし、X1:kは、前記探索部において任意のi∈[k]に対しi番目の探索までに追加した要素からなる集合であり、
であり、XiはX1:kのi番目の要素であり、gs(・)=g(・|S)は劣モジュラ関数であり、~gは任意の集合関数
であり、Vは集合Uについての任意の部分集合V∈Uであり、VSはコスト制約を満たす部分集合Sにおける任意の部分集合であり、lは前記探索部の計算において予め定められた要素数であり、mは前記VSの要素数である。 The optimization device according to claim 2, wherein the value of the heuristic function is calculated by the following equation (1).
... (1)
However, X 1: k is a set consisting of elements added up to the i-th search for any i ∈ [k] in the search unit.
X i is the i-th element of X 1: k , gs (・) = g (・ | S) is a submodular function, and ~ g is an arbitrary set function.
V is an arbitrary subset V ∈ U for the set U, VS is an arbitrary subset of the subset S that satisfies the cost constraint, and l is a predetermined element in the calculation of the search unit. It is a number, and m is the number of elements of the VS.
前記探索部は、前記スコアが最大となる部分集合Smaxを、貪欲法を用いて探索することを繰り返す際に、前記状態空間木を用いて、前記スコアが最大となる部分集合Smaxを探索する請求項1~3の何れか1項に記載の最適化装置。 It further includes a construction unit that constructs a state-space tree in which vertices representing the subset satisfying the cost constraint based on the inclusion relation of the subset are connected by directed branches.
When the search unit repeatedly searches for the subset S max that maximizes the score by using the greedy method, the search unit searches for the subset S max that maximizes the score using the state space tree. The optimization device according to any one of claims 1 to 3.
入力部が、近似精度を表すパラメータαと、前記劣モジュラ最大化問題の要素の各々を含む集合U、前記集合Uの部分集合に対するスコアを定義する劣モジュラ関数、前記要素の各々についてのコストcU、及び前記コストの上限Bとを入力として受け付けるステップと、
探索部が、前記コストの上限Bに基づくコスト制約を満たす部分集合Sの集合Fのうち、前記スコアが最大となる部分集合Smaxを、貪欲法を用いて探索することを繰り返し、既に探索された部分集合Smaxのスコアと前記近似精度を表すパラメータαとを用いて定められるスコアの上限に対する、新たに探索された前記部分集合Smaxのスコアの比が、前記近似精度を表すパラメータα以上となったときの前記部分集合Smaxを、前記劣モジュラ最大化問題の近似解として出力するステップと、
を含む最適化方法。 In a submodular maximization problem that searches for non-redundant subsets from a set of elements
The input unit has a parameter α representing approximation accuracy, a set U including each of the elements of the submodular maximization problem, a submodular function that defines a score for a subset of the set U, and a cost c for each of the elements. A step of accepting U and the upper limit B of the cost as inputs, and
The search unit repeatedly searches the set S max of the subset S having the maximum score among the set F of the subset S satisfying the cost constraint based on the upper limit B of the cost by using the greedy method, and has already been searched. The ratio of the newly searched score of the subset S max to the upper limit of the score determined by using the score of the subset S max and the parameter α representing the approximation accuracy is equal to or greater than the parameter α representing the approximation accuracy. The step of outputting the subset S max when becomes as an approximate solution of the inferior modular maximization problem, and
Optimization methods including.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017205278A JP6992404B2 (en) | 2017-10-24 | 2017-10-24 | Optimizer, method, and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017205278A JP6992404B2 (en) | 2017-10-24 | 2017-10-24 | Optimizer, method, and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2019079237A JP2019079237A (en) | 2019-05-23 |
| JP6992404B2 true JP6992404B2 (en) | 2022-01-13 |
Family
ID=66627855
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2017205278A Active JP6992404B2 (en) | 2017-10-24 | 2017-10-24 | Optimizer, method, and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6992404B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12517523B2 (en) * | 2023-01-24 | 2026-01-06 | Mitsubishi Electric Research Laboratories, Inc. | System and method for controlling motion of a vehicle in a stochastic disturbance field |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015084047A (en) | 2013-10-25 | 2015-04-30 | 株式会社東芝 | Sentence set creation device, sentence set creation method, and sentence set creation program |
-
2017
- 2017-10-24 JP JP2017205278A patent/JP6992404B2/en active Active
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015084047A (en) | 2013-10-25 | 2015-04-30 | 株式会社東芝 | Sentence set creation device, sentence set creation method, and sentence set creation program |
Non-Patent Citations (2)
| Title |
|---|
| Wenlin Chen, et al.,Filtered search for submodular maximization with controllable approximation bounds,Proceedings of the Eighteenth International Conference on Artificial Intelligence and Statistics,2015年,PMLR 38,pp.156-164,http://proceedings.mlr.press/v38/chen15c.html |
| 青山一生 ほか,グラフ索引構造を用いた高速類似探索,電子情報通信学会論文誌,社団法人電子情報通信学会,2009年09月01日,VOL.J92-D, NO.9,pp.1543-1554,ISSN:1880-4535 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2019079237A (en) | 2019-05-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Orlin et al. | A faster algorithm for the single source shortest path problem with few distinct positive lengths | |
| CN111460311A (en) | Search processing method, device and equipment based on dictionary tree and storage medium | |
| JP7287397B2 (en) | Information processing method, information processing apparatus, and information processing program | |
| JP5881048B2 (en) | Information processing system and information processing method | |
| JP6232522B2 (en) | Computer and graph data generation method | |
| CN110032682A (en) | A kind of information recommendation list generation method, device and equipment | |
| JP6992404B2 (en) | Optimizer, method, and program | |
| JP6764839B2 (en) | Distribution network configuration Output devices, methods, and programs | |
| JP5964781B2 (en) | SEARCH DEVICE, SEARCH METHOD, AND SEARCH PROGRAM | |
| WO2018167885A1 (en) | Information processing device, information processing method, and information processing program | |
| Wang et al. | Lnetwork: an efficient and effective method for constructing phylogenetic networks | |
| JPWO2011016281A1 (en) | Information processing apparatus and program for Bayesian network structure learning | |
| Djukanovic et al. | On solving a generalized constrained longest common subsequence problem | |
| JP2018041161A (en) | ZSDD construction apparatus, method, and program | |
| Sandberg | Neighbor selection and hitting probability in small-world graphs | |
| JP4774019B2 (en) | Network generation method, information search method, program, network generation device, and information search device | |
| Wang et al. | Parallel ordinal decision tree algorithm and its implementation in framework of MapReduce | |
| CN109766181A (en) | A RMS schedulability determination method and device based on deep learning | |
| CN109739638A (en) | A method and device for determining EDF schedulability based on deep learning | |
| JP2014229110A (en) | Retrieval device, retrieval method and retrieval program | |
| Kouzani et al. | Multilabel classification by bch code and random forests | |
| CN114299517A (en) | Image processing method, apparatus, device, storage medium, and computer program product | |
| LaPointe et al. | A BCHC genetic algorithm model of cotemporal hierarchical Arabidopsis thaliana gene interactions | |
| Belahcen et al. | Web spam detection using transductive (inductive graph neural networks | |
| CN118677773B (en) | Device parameter configuration method and device, electronic device and storage medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20171026 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201014 |
|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20201014 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20201014 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211012 |
|
| 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: 20211109 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211122 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6992404 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |