IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

<>
  • 特許-情報処理装置 図1
  • 特許-情報処理装置 図2
  • 特許-情報処理装置 図3
  • 特許-情報処理装置 図4
  • 特許-情報処理装置 図5
  • 特許-情報処理装置 図6
  • 特許-情報処理装置 図7
  • 特許-情報処理装置 図8
  • 特許-情報処理装置 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-30
(45)【発行日】2024-05-10
(54)【発明の名称】情報処理装置
(51)【国際特許分類】
   G06N 99/00 20190101AFI20240501BHJP
【FI】
G06N99/00 180
【請求項の数】 10
(21)【出願番号】P 2022556762
(86)(22)【出願日】2020-10-14
(86)【国際出願番号】 JP2020038818
(87)【国際公開番号】W WO2022079842
(87)【国際公開日】2022-04-21
【審査請求日】2023-04-11
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和2年度、国立研究開発法人科学技術振興機構、個人型研究(ACT-I)「部分的フィードバックに基づくオンライン凸最適化」に関する委託研究、 産業技術力強化法第17条の適用を受ける特許出願
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】伊藤 伸志
(72)【発明者】
【氏名】松岡 達也
(72)【発明者】
【氏名】大坂 直人
【審査官】山田 辰美
(56)【参考文献】
【文献】HAZAN, Elad, et al.,Online Submodular Minimization,Journal of Machine Learning Research,Vol.13,2012年10月,Pages 2903-2922,https://www.jmlr.org/papers/volume13/ha zan12a/hazan12a.pdf
【文献】ITO, Shinji,Submodular Function Minimization with Noisy Evaluation Oracle,Proceedings of Neural Information Processing Systems 2019 (NIPS 2019),2019年,p.1-p.11,https://papers.nips.cc/paper/9378-submodular-function-minimizationwith- noisy-evaluation-oracle.pdf
【文献】JEGELKA, Stefanie Sabrina,COMBINATORIAL PROBLEMS WITH SUBMODULAR COUPLING IN MACHINE LEARNING AND COMPUTER VISION,ETH ZURICH,2012年,Chapter 8, p.162-p.179,https://www.research-collection.ethz.ch/bitstream/handle/ 20.500.11850/72760/eth-5796-02.pdf
(58)【調査した分野】(Int.Cl.,DB名)
G06N 99/00
(57)【特許請求の範囲】
【請求項1】
各ラウンドt∈[T](Tは任意の自然数)における目的関数fとして、n個(nは任意の自然数)の要素からなる集合Sの冪集合2上の劣モジュラ関数を設定するための目的関数設定手段と、
Vを与えられた0以上の整数として、Σt∈[T-1](X ,Xt+1 )≦Vを満たす任意のベンチマークX ,X ,…,X ∈2に対するリグレットΣt∈[T](X)-Σt∈[T](X )の期待値が、n、T、Vから定まる上限値Max(n,T,V)以下になる部分集合列X,X,…,X∈2を導出するための部分集合列導出手段と、を備えている、
ことを特徴とする情報処理装置。
ここで、d(X ,Xt+1 )は、d(X ,Xt+1 )=|X ∪Xt+1 |-|X ∩Xt+1 |により定義される部分集合間のハミング距離である。
【請求項2】
前記部分集合列導出手段は、ラウンドtにおいて部分集合Xを導出した後、任意の部分集合X∈2に対する目的関数fの値f(X)を参照することが可能であり、
前記上限値Max(n,T,V)は、下記(a)式により与えられる、
ことを特徴とする請求項1に記載の情報処理装置。
【数1】
【請求項3】
前記部分集合列導出手段は、ラウンドtにおいて部分集合Xを選択した後、(1)選択した部分集合Xに対する目的関数fの値f(X)を参照することが可能であり、且つ、(2)選択した部分集合以外の部分集合X∈2に対する目的関数fの値f(X)を参照することが不可能であり、
前記上限値Max(n,T,V)は、下記(b)式により与えられる、
ことを特徴とする請求項1に記載の情報処理装置。
【数2】

ここで、γは、0以上1以下の予め定められた定数である。
【請求項4】
各ラウンドt∈[T](Tは任意の自然数)における目的関数fとして、n個(nは任意の自然数)の要素からなる集合Sの冪集合2上の劣モジュラ関数を設定するための目的関数設定手段と、
部分集合列X,X,…,X∈2を導出するための部分集合列導出手段と、を備えており、
前記部分集合列導出手段は、|p|=1を満たすd次元(dはlogT+4を超えない最大の自然数)のベクトルp∈[0,1]、及び、d個のn次元のベクトルx (1),x (2),…,x (d)∈Rを用い、
tjをベクトルpの第j成分、xをx=Σj∈[d]tj (j)により定義されるn次元のベクトル、xtiをベクトルxの第i成分として、ランダムに選択されたu∈[0,1]を用いて部分集合X={i∈[n]|xti≧u}を導出する部分集合導出ステップと、
目的関数fのxでの劣勾配gを導出する劣勾配導出ステップと、
下記(a1)式に従ってベクトルx (1),x (2),…,x (d)を更新すると共に、下記(a2)式に従ってベクトルpを更新するベクトル更新ステップと、を各ラウンドにおいて実行する、
ことを特徴とする情報処理装置。
【数3】

ここで、η(j)は、nに応じて定まる定数である。
【数4】

ここで、ηは、d及びTに応じて定まる定数である。
【請求項5】
各ラウンドt∈[T](Tは任意の自然数)における目的関数fとして、n個(nは任意の自然数)の要素からなる集合Sの冪集合2上の劣モジュラ関数を設定する目的関数設定手段と、
部分集合列X,X,…,X∈2を導出する部分集合列導出手段と、を備えており、
前記部分集合列導出手段は、|p|=1を満たすd次元(dは4logTを超えない最大の自然数)のベクトルp∈[0,1]、及び、d個のn次元のベクトルx (1),x (2),…,x (d)∈Rを用い、
tjをベクトルpの第j成分、xをx=Σj∈[d]tj (j)により定義されるn次元のベクトル、xtiをベクトル の第i成分として、(1)ランダムに選択されたu∈[0,1]を用いて部分集合X={i∈[n]|xti≧u}を導出するか、又は、(2)xtσ(1)≧xtσ(2)≧…≧xtσ(n)を満たす集合[n]上の置換σおよびランダムに選択されたs∈{0,1,…,n}を用いて部分集合X={σ(j)|j∈[s]}を導出する部分集合導出ステップであって、部分集合X={i∈[n]|xti≧u}を導出する確率が1-γであり、部分集合X={σ(j)|j∈[s]}を導出する確率がγである部分集合導出ステップと、
目的関数fのxでの劣勾配gの不偏推定量^g(^gはg上に∧を乗せた記号)を導出する不偏推定量導出ステップと、
下記(b1)式に従ってベクトルx (1),x (2),…,x (d)を更新すると共に、下記(b2)式に従ってベクトルpを更新するベクトル更新ステップと、を各ラウンドにおいて実行する、
ことを特徴とする情報処理装置。
【数5】

ここで、η(j)は、nに応じて定まる定数である。
【数6】

ここで、ηは、n、d、及びTに応じて定まる定数である。
【請求項6】
各ラウンドt∈[T](Tは任意の自然数)における目的関数fとして、n個(nは任意の自然数)の要素からなる集合Sの冪集合2上の規格化された劣モジュラ関数を設定するための目的関数設定手段と、
下記の条件β1又はβ2を満たす部分集合列X,X,…,Xを導出するための部分集合列導出手段と、を備えている、
ことを特徴とする情報処理装置。
条件β1:kを与えられた自然数として、各部分集合Xが|X|≦kを満たす。また、Vを与えられた0以上の整数として、|X |≦kとΣt∈[T-1](X ,Xt+1 )≦Vとを満たす任意のベンチマークX ,X ,…,X ∈2に対するαリグレットαΣt∈[T](X )-Σt∈[T](X)の期待値の漸近挙動が、k、T、Vから定まる関数A(k,T,V)の漸近挙動と一致する。
条件β2:Vを与えられた0以上の整数として、Σt∈[T-1](X ,Xt+1 )≦Vを満たす任意のベンチマークX ,X ,…,X ∈2に対するαリグレットαΣt∈[T](X )-Σt∈[T](X)の期待値の漸近挙動が、n、T、Vから定まる関数B(n,T,V)の漸近挙動と一致する。
ここで、d(X ,Xt+1 )は、d(X ,Xt+1 )=|X ∪Xt+1 |-|X ∩Xt+1 |により定義される部分集合間のハミング距離である。
【請求項7】
前記部分集合列導出手段は、ラウンドtにおいて部分集合Xを導出した後、任意の部分集合X∈2に対する目的関数fの値f(X)を参照することが可能であり、
前記関数A(k,T,V)は、下記(c)式により与えられる、
ことを特徴とする請求項に記載の情報処理装置。
【数7】
【請求項8】
前記部分集合列導出手段は、ラウンドtにおいて部分集合Xを導出した後、任意の部分集合X∈2に対する目的関数fの値f(X)を参照することが可能であり、
前記関数B(n,T,V)は、下記(d)式により与えられる、
ことを特徴とする請求項に記載の情報処理装置。
【数8】
【請求項9】
各ラウンドt∈[T](Tは任意の自然数)における目的関数fとして、n個(nは任意の自然数)の要素からなる集合Sの冪集合2上の規格化された劣モジュラ関数を設定するための目的関数設定手段と、
部分集合列X,X,…,X∈2を導出する部分集合列導出手段と、を備えており、
前記部分集合列導出手段は、
t0をXt0=φに設定したうえで、FSFアルゴリズム実行モジュールFSF*(s)が出力するベクトルp (s)から引き出した要素itsを用いてXts=Xt,s-1∪{its}を生成する処理を繰り返すことによって、部分集合X=Xtkを導出する部分集合導出ステップと、
FSFアルゴリズム実行モジュールFSF*(s)に入力するフィードl (s)=(lt1 (s),lt2 (s),…,ltn (s))を、lti (s)=f(Xt,s-1∪{i})-f(Xt,s-1)(i∈[n])に従って生成するフィード生成ステップと、を各ラウンドtにおいて実行する、
ことを特徴とする情報処理装置。
【請求項10】
各ラウンドt∈[T](Tは任意の自然数)における目的関数fとして、n個(nは任意の自然数)の要素からなる集合Sの冪集合2上の規格化された劣モジュラ関数を設定するための目的関数設定手段と、
部分集合列X,X,…,X∈2を導出する部分集合列導出手段と、を備えており、
前記部分集合列導出手段は、
(1)Xt0をXt0=φに設定すると共に、Yt0をYt0=[n]に設定し、(2)FSFアルゴリズム実行モジュールFSF*(s)が出力するベクトルp (s)を用いて、q (s)をq (s)=(1+2pt1 (s))/4に設定し、(3a)確率q (s)でXtsをXts=Xt,s-1∪{s}に設定すると共に、YtsをYts=Yt,sー1に設定するか、又は、(3b)確率1-q (s)でXtsをXts=Xt,s-1に設定すると共に、YtsをYts=Yt,sー1\{s}に設定する処理を繰り返すことによって、部分集合X=Xtn=Ytnを導出する部分集合導出ステップと、
αtsをαts=f(Xt,s-1∪{s})-f(Xt,s-1)に設定すると共に、βtsβ ts =f(Yt,s-1\{s})-f(Yt,s-1)に設定したうえで、FSFアルゴリズム実行モジュールFSF*(s)に入力するフィードl (s)=(lt1 (s),lt2 (s))を、lti (s)=(1-q (s))αts及びlt2 (s)=q (s)βtsに従って生成するフィード生成ステップと、を各ラウンドtにおいて実行する、
ことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、オンライン劣モジュラ最適化問題を解く情報処理装置に関する。
【背景技術】
【0002】
ウェブ広告に関してユーザに提示する広告を決定したり、ウェブ販売において割引販売する商品を決定したりするために、オンライン劣モジュラ最適化を利用することが検討されている。オンライン劣モジュラ最適化とは、目的関数の累積値を最小化又は最大化することを目的として、各ラウンドにおいて与えられた集合の部分集合を選択することを指す。
【0003】
オンライン劣モジュラ最小化に関する公知文献としては、例えば、非特許文献1が挙げられる。特許文献1には、リグレットΣt∈[T](X)-minX∈S{Σt∈[T](X)}の期待値をO((nT)1/2)以下に抑える部分集合X,X,…,Xを導出するアルゴリズムが開示されている。ここで、fは、ラウンドtにおける目的関数を表す。
【先行技術文献】
【非特許文献】
【0004】
【文献】E. Hazan and S. Kale, "Online Submodular Minimization", Journal of Machine Learning Research 13 (2012) 2903-2922
【発明の概要】
【発明が解決しようとする課題】
【0005】
非特許文献1に記載の方法においては、リグレットΣt∈[T](X)-minX∈S{Σt∈[T](X)}の期待値をO((nT)1/2)以下に抑える部分集合X,X,…,Xが導出される。このため、全てのラウンドにおいて同じ部分集合を選択する固定戦略が有効なオンライン劣モジュラ最小化問題に対しては、有益な部分集合X,X,…,Xを導出することができるが、そうでないオンライン劣モジュラ最小化問題に対しては、有益な部分集合X,X,…,Xを導出することができない、という問題があった。また、オンライン劣モジュラ最大化問題についても、類似の問題があった。
【0006】
本発明の一態様は、上記の問題に鑑みてなされたものであり、その目的の一例は、固定戦略が有効でないオンライン劣モジュラ最適化問題においても、有益な部分集合X,X,…,Xを導出することが可能な情報処理装置を実現することにある。
【課題を解決するための手段】
【0007】
本発明の一側面に係る情報処理装置は、各ラウンドt∈[T](Tは任意の自然数)における目的関数fとして、n個(nは任意の自然数)の要素からなる集合Sの冪集合2上の劣モジュラ関数を設定するための目的関数設定手段と、Vを与えられた0以上の整数として、Σt∈[T-1](X ,Xt+1 )≦Vを満たす任意のベンチマークX ,X ,…,X ∈2に対するリグレットΣt∈[T](X)-Σt∈[T](X )の期待値が、n、T、Vから定まる上限値Max(n,T,V)以下になる部分集合列X,X,…,X∈2を導出するための部分集合列導出手段と、を備えている。
【0008】
ここで、d(X ,Xt+1 )は、d(X ,Xt+1 )=|X ∪Xt+1 |-|X ∩Xt+1 |により定義される部分集合間のハミング距離である。
【0009】
本発明の一側面に係る情報処理装置は、各ラウンドt∈[T](Tは任意の自然数)における目的関数fとして、n個(nは任意の自然数)の要素からなる集合Sの冪集合2上の規格化された劣モジュラ関数を設定するための目的関数設定手段と、下記の条件β1又はβ2を満たす部分集合列X,X,…,Xを導出するための部分集合列導出手段と、を備えている。
【0010】
条件β1:kを与えられた自然数として、各部分集合Xが|X|≦kを満たす。また、Vを与えられた0以上の整数として、|X |≦kとΣt∈[T-1](X ,Xt+1 )≦Vとを満たす任意のベンチマークX ,X ,…,X ∈2に対するαリグレットαΣt∈[T](X )-Σt∈[T](X)の期待値の漸近挙動が、k、T、Vから定まる関数A(k,T,V)の漸近挙動と一致する。
【0011】
条件β2:Vを与えられた0以上の整数として、Σt∈[T-1](X ,Xt+1 )≦Vを満たす任意のベンチマークX ,X ,…,X ∈2に対するαリグレットαΣt∈[T](X )-Σt∈[T](X)の期待値の漸近挙動が、n、T、Vから定まる関数B(n,T,V)の漸近挙動と一致する。
【0012】
ここで、d(X ,Xt+1 )は、d(X ,Xt+1 )=|X ∪Xt+1 |-|X ∩Xt+1 |により定義される部分集合間のハミング距離である。
【発明の効果】
【0013】
本発明の一態様によれば、固定戦略が有効でないオンライン劣モジュラ最適化問題においても、有益な部分集合X,X,…,Xを導出することが可能な情報処理装置を実現することができる。
【図面の簡単な説明】
【0014】
図1】第1の例示的実施形態に係る情報処理装置の構成を示すブロック図である。
図2】第1の例示的実施形態に係る情報処理方法の流れを示すフロー図である。
図3図2に示す情報処理方法に含まれる部分集合列導出処理の第1の具体例を示すフロー図である。
図4図2に示す情報処理方法に含まれる部分集合列導出処理の第の具体例を示すフロー図である。
図5】第2の例示的実施形態に係る情報処理装置の構成を示すブロック図である。
図6】第2の例示的実施形態に係る情報処理方法の流れを示すフロー図である。
図7図6に示す情報処理方法に含まれる部分集合列導出処理の第1の具体例を示すフロー図である。
図8図6に示す情報処理方法に含まれる部分集合列導出処理の第の具体例を示すフロー図である
図9】第1の例示的実施形態又は第2の例示的実施形態に係る情報処理装置として機能するコンピュータの構成を示すブロック図である。
【発明を実施するための形態】
【0015】
〔例示的実施形態1〕
本発明の第1の例示的実施形態について、図面を参照して詳細に説明する。
【0016】
(オンライン劣モジュラ最小化問題)
n個の要素からなる集合Sと、各ラウンドt∈[T]に対して定義された目的関数f:2→Iと、を考える。ここで、n及びTは、任意の自然数を表す。また、[T]は、1以上T以下の自然数の集合を表す。また、2は、集合Sの冪集合、すなわち、集合Sの全ての部分集合からなる集合を表す。また、Iは、実数R上の閉区間を表す。本例示的実施形態においてはI=[-1,1]と仮定する。この仮定は、以下に説明する式及び値に影響を与え得るが、本発明は、本例示的実施形態に限定されるものではなく、したがって、この仮定により限定されるものでもない。
【0017】
各目的関数fは、劣モジュラ関数であると仮定する。すなわち、X⊆Yを満たす任意の部分集合X,Y∈2、及び、任意の要素i∈Sに対して、不等式f(X∪{i})-f(X)≧f (Y∪{i})-f(Y)を満たすものと仮定する。
【0018】
部分集合列X,X,…,X∈2を選択する問題のうち、目的関数fの累積値Σt∈T(X)の最小化を目標とする問題のことを、「オンライン劣モジュラ最小化問題」という。本例示的実施形態においては、オンライン劣モジュラ最小化問題を、下記のFull-Information設定又はBandit-Feedback設定の下で検討する。
【0019】
Full-Information設定:ラウンドtにおいて部分集合Xを選択した後、任意の部分集合X∈2に対する目的関数fの値f(X)を参照することが可能である。
【0020】
Bandit-Feedback設定:ラウンドtにおいて部分集合Xを選択した後、(1)選択した部分集合Xに対する目的関数fの値f(X)を参照することが可能であり、且つ、(2)選択した部分集合以外の部分集合X∈2に対する目的関数fの値f(X)を参照することが不可能である。
【0021】
(情報処理装置の構成)
本例示的実施形態に係る情報処理装置1の構成について、図1を参照して説明する。図1は、情報処理装置1の構成を示すブロック図である。
【0022】
情報処理装置1は、n個の要素からなる集合Sに関するオンライン劣モジュラ最小化問題を解くための装置であり、図1に示すように、目的関数設定部11と、部分集合列導出部12と、を備えている。
【0023】
目的関数設定部11は、各ラウンドtにおける目的関数fとして、集合Sの冪集合2上の劣モジュラ関数を設定するための手段である。目的関数設定部11は、特許請求の範囲における「目的関数設定手段」の一例である。目的関数設定部11が目的関数fとして設定する劣モジュラ関数は、予め定められたものであってもよいし、キーボード等を介してユーザが入力したものであってもよいし、通信ネットワーク等を介して他の装置が入力したものであってもよい。また、目的関数設定部11が目的関数fとして設定する劣モジュラ関数は、情報処理装置1の内部で実行される各種処理において生成されたものであってもよい。
【0024】
部分集合列導出部12は、下記の条件αを満たす部分集合列X,X,…,Xを導出するための手段である。部分集合列導出部12は、特許請求の範囲における「部分集合列導出手段」の一例である。部分集合列導出部12が導出する部分集合列X,X,…,Xは、ディスプレイ等を介してユーザに提供されてもよいし、通信ネットワーク等を介して他の装置に提供されてもよい。また、部分集合列導出部12が導出する部分集合列X,X,…,Xは、情報処理装置1の内部で実行される各種処理において利用されてもよい。
【0025】
条件α:Vを与えられた0以上の整数として、Σt∈[T-1](X ,Xt+1 )≦Vを満たす任意のベンチマークX ,X ,…,X ∈2に対するリグレットΣt∈[T](X)-Σt∈[T](X )の期待値が、n、T、Vから定まる上限値Max(n,T,V)以下になる。ここで、d(X ,Xt+1 )は、d(X ,Xt+1 )=|X ∪Xt+1 |-|X ∩Xt+1 |により定義される部分集合間のハミング距離である。
【0026】
(情報処理方法の流れ)
本例示的実施形態に係る情報処理方法S1の流れについて、図2を参照して説明する。図2は、情報処理方法S1の流れを示すフロー図である。
【0027】
情報処理方法S1は、n個の要素からなる集合Sに関するオンライン劣モジュラ最小化問題を解くための方法であり、図2に示すように、目的関数設定処理S11と、部分集合列導出処理S12と、を含んでいる。情報処理方法S1は、例えば、情報処理装置1により実施される。
【0028】
目的関数設定処理S11は、各ラウンドtにおける目的関数fとして、集合Sの冪集合2上の劣モジュラ関数を設定するための処理である。目的関数設定処理S11は、例えば、情報処理装置1の目的関数設定部11により実行される。部分集合列導出処理S12は、前節で示した条件αを満たす部分集合列X,X,…,Xを導出するための処理である。部分集合列導出処理S12は、例えば、情報処理装置1の部分集合列導出部12により実行される。
【0029】
(情報処理装置および情報処理方法の効果)
非特許文献1に記載の方法においては、リグレットΣt∈[T](X)-minX∈S{Σt∈[T](X)}の期待値がn、Tに応じて定まる上限値Max(n,T)以下になる部分集合X,X,…,Xが導出される。このため、全てのラウンドにおいて同じ部分集合を選択する固定戦略が有効なオンライン劣モジュラ最小化問題に対しては、有益な部分集合X,X,…,Xを導出することができるが、そうでないオンライン劣モジュラ最小化問題に対しては、有益な部分集合X,X,…,Xを導出することができない。
【0030】
これに対して、本例示的実施形態に係る情報処理装置1及びは情報処理方法S1においては、リグレットΣt∈[T](X)-Σt∈[T](X )の期待値がn、T、Vから定まる上限値Max(n,T,V)以下になる部分集合X,X,…,Xが導出される。この際、ベンチマークX ,X ,…,X は、Σt∈[T-1](X ,Xt+1 )≦Vを満たしていればよく、一定であることを要さない。したがって、固定戦略が有効でないオンライン劣モジュラ最小化問題に対しても、有益な部分集合X,X,…,Xを導出することができる。
【0031】
(部分集合列導出処理の具体例1)
本願発明者らは、Full-Information設定におけるオンライン劣モジュラ最小化問題に関して、下記の定理Aを証明することに成功した。
【0032】
定理A:部分集合列X,X,…,X∈2[n]が下記の表1に記載のアルゴリズムにより導出された部分集合列であるならば、任意のベンチマークX ,X ,…,X ∈2[n]に対して、下記の不等式(1)が成り立つ。その結果、リグレットΣt∈[T](X)-Σt∈[T](X )の期待値の漸近挙動は、{T(n+Σt∈[T-1](X ,Xt+1 ))}1/2の漸近挙動と一致する。なお、ここでの漸近挙動の比較においては、logTの多項式及びlognの多項式を無視している。
【数1】

ここで、E[・]は、アルゴリズムの内的ランダムネスに対する期待値を表す。また、「・」(閉じ括弧は」の上下を反転したもの)は、・以上の最小の自然数を表す。
【表1】
【0033】
以下、この定理を具現化することにより得られる、部分集合列導出処理S12の具体例について、図3を参照して説明する。なお、以下の説明においては、n個の要素からなる集合Sを、自然数の集合[n]={1,2,…,n}と同一視する。集合Sの要素と集合[n]の要素とは一対一に対応するので、この同一視により一般性が損なわれることはない。また、この定理は、本例示的実施形態の一実施例を与えるものに過ぎず、本例示的実施形態は、この定理に限定して解釈されるべきものではない。
【0034】
図3は、本具体例に係る部分集合列導出処理S12の流れを示すフロー図である。部分集合列導出処理S12は、図3に示すように、初期設定ステップS121と、部分集合導出ステップS122と、劣勾配導出ステップS123と、ベクトル更新ステップS124と、を含んでいる。部分集合導出ステップS122、劣勾配導出ステップS123、及びベクトル更新ステップS124は、各ラウンドt∈[T]に対して実行される。すなわち、T回繰り返される。
【0035】
本具体例に係る部分集合列導出処理S12においては、自然数d、実数η、及び、d個の実数η(1),η(2),…,η(d)が定数として用いられる。また、||p||=1を満たすd次元のベクトルp∈[0,1]、n次元のベクトルx∈R、及び、d個のn次元のベクトルx (1),x (2),…,x (d)∈Rが変数として用いられる。また、T個の実数u,u,…,uが、それぞれ、区間[0,1]上に一様分布する確率変数として用いられる。
【0036】
初期設定ステップS121は、定数d、η(1),η(2),…,η(d)を設定すると共に、ベクトルp、x (1),x (2),…,x (d)を初期化するためのステップである。初期設定ステップS121において、部分集合列導出部12は、定数dを、例えば、logT以上の最小の自然数に4を加えたものに設定する。また、部分集合列導出部12は、定数ηを、例えば、η={logd/(8T)}1/2に設定する。また、各j∈[d]について、部分集合列導出部12は、定数η(j)を、例えば、η(j)=(n/21/2に設定する。また、部分集合列導出部12は、ベクトルpを、例えば、p=(1/d,1/d,…,1/d)に初期化する。また、各j∈[d]について、部分集合列導出部12は、ベクトルx (j)を、例えば、x (j)=(0,0,…,0)に初期化する。
【0037】
部分集合導出ステップS122は、部分集合Xを導出するためのステップである。部分集合導出ステップS122において、部分集合列導出部12は、まず、ベクトルxを、例えば、x=Σj∈[d]tj (j)に設定する。ここで、ptjは、ベクトルpの第j成分を表す。次に、部分集合列導出部12は、確率変数uの値を、ランダムに設定する。次に、部分集合列導出部12は、X={i∈[n]|xti≧u}により定義される部分集合Xを導出する。ここで、xtiは、ベクトルxの第i成分を表す。
【0038】
劣勾配導出ステップS123は、目的関数fのxでの劣勾配gを導出するステップである。劣勾配導出ステップS123においては、任意の部分集合X∈[n]に対する目的関数fの値f(X)を参照することが可能である。劣勾配導出ステップS123において、部分集合列導出部12は、例えば、下記の式(2)により定義される劣勾配gを導出する。下記の式(2)において、σは、xtσ(1)≧xtσ(2)≧…≧xtσ(n)を満たす、集合[n]上の置換を表す。また、Sσ(i)は、Sσ(i)={σ(j)|j∈[i]}により定義される、集合[n]の部分集合を表す。また、χ(i)∈{0,1}は、第i成分が1であり、それ以外の成分が0であるインジケータベクトルを表す。
【数2】
【0039】
ベクトル更新ステップS124は、ベクトルp、x (1),x (2),…,x (d)を更新するためのステップである。ベクトル更新ステップS124において、部分集合列導出部12は、例えば、下記の式(3)に従ってベクトルx(j)を更新する。また、部分集合列導出部12は、例えば、下記の式(4)に従ってベクトルpを更新する。
【数3】

【数4】
【0040】
定理Aから明らかなように、本具体例に係る部分集合列導出処理S12を用いれば、Σt∈[T-1](X ,Xt+1 )≦Vを満たす任意のベンチマークX ,X ,…,X に対するリグレットΣt∈[T](X)-Σt∈[T](X )の期待値を、下記の式(5)により定義される上限値Max(n,T,V)以下にすることができる。
【数5】
【0041】
(部分集合列導出処理の具体例2)
本願発明者らは、Bandit-Feedback設定におけるオンライン劣モジュラ最小化問題に関して、下記の定理Bを証明することに成功した。
【0042】
定理B:部分集合列X,X,…,X∈2[n]が下記の表2に記載のアルゴリズムにより導出された部分集合列であるならば、任意のベンチマークX ,X ,…,X ∈2[n]に対して、下記の不等式(6)が成り立つ。その結果、リグレットΣt∈[T](X)-Σt∈[T](X )の期待値の漸近挙動は、nT2/3{(loglogT/n)1/2+(1+Σt∈[T-1](X ,Xt+1 )/n)}の漸近挙動と一致する。
【数6】

ここで、γは、探索パラメータと呼ばれる、0以上1以下の予め定められた定数を表す。
【表2】
【0043】
以下、この定理を具現化することにより得られる、部分集合列導出処理S12の具体例について、図4を参照して説明する。なお、以下の説明においては、n個の要素からなる集合Sを、自然数の集合[n]={1,2,…,n}と同一視する。集合Sの要素と集合[n]の要素とは一対一に対応するので、この同一視により一般性が損なわれることはない。また、この定理は、本例示的実施形態の一実施例を与えるものに過ぎず、本例示的実施形態は、この定理に限定して解釈されるべきものではない。
【0044】
図4は、本具体例に係る部分集合列導出処理S12の流れを示すフロー図である。部分集合列導出処理S12は、図に示すように、初期設定ステップS125と、部分集合導出ステップS126と、不偏推定量導出ステップS127と、ベクトル更新ステップS128と、を含んでいる。部分集合導出ステップS126、不偏推定量導出ステップS127、及びベクトル更新ステップS128は、各ラウンドt∈[T]に対して実行される。すなわち、T回繰り返される。
【0045】
本具体例に係る部分集合列導出処理S12においては、自然数d、実数η、及び、d個の実数η(1),η(2),…,η(d)が定数として用いられる。また、||p||=1を満たすd次元のベクトルp∈[0,1]、n次元のベクトルx∈R、及び、d個のn次元のベクトルx (1),x (2),…,x (d)∈Rが変数として用いられる。また、T個の実数u,u,…,uが、それぞれ、区間[0,1]上に一様分布する確率変数として用いられる。また、T個の整数s,s,…,sが、それぞれ、{0,1,…,n}上に一様分布する確率変数として用いられる。
【0046】
初期設定ステップS125は、定数d、η(1),η(2),…,η(d)を設定すると共に、ベクトルp、x (1),x (2),…,x (d)を初期化するためのステップである。初期設定ステップS125において、部分集合列導出部12は、定数dを、例えば、logT以上の最小の自然数を4倍したものに設定する。また、部分集合列導出部12は、定数ηを、例えば、η=[logd/{2(n+1)T}]1/2に設定する。また、各j∈[d]について、部分集合列導出部12は、定数η(j)を、例えば、η(j)=(n/21/2に設定する。また、部分集合列導出部12は、ベクトルpを、例えば、p=(1/d,1/d,…,1/d)に初期化する。また、各j∈[d]について、部分集合列導出部12は、ベクトルx (j)を、例えば、x (j)=(0,0,…,0)に初期化する。
【0047】
部分集合導出ステップS126は、部分集合Xを導出するためのステップである。部分集合導出ステップS126において、部分集合列導出部12は、まず、ベクトルxを、例えば、x=Σj∈[d]tj (j)に設定する。ここで、ptjは、ベクトルpの第j成分を表す。次に、部分集合列導出部12は、確率変数u,sの値を、ランダムに設定する。次に、部分集合列導出部12は、(1)X={i∈[n]|xti≧u}により定義される部分集合Xを導出するか、又は、X={σ(j)|j∈[s]}により定義される部分集合Xを導出する。ここで、xtiは、ベクトルxの第i成分を表す。また、σは、xtσ(1)≧xtσ(2)≧…≧xtσ(n)を満たす、集合[n]上の置換を表す。部分集合導出ステップS126において部分集合X={i∈[n]|xti≧u}を導出する確率は、1-γに設定されている。換言すると、部分集合導出ステップS126においてX={σ(j)|j∈[s]}を導出する確率は、γに設定されている。
【0048】
不偏推定量導出ステップS127は、目的関数fのxでの劣勾配gの不偏推定量^g(gの上に∧記号)を導出するステップである。不偏推定量導出ステップS127においては、部分集合導出ステップS126にて導出された部分集合X∈[n]に対する目的関数fの値f(X)のみを参照することが可能である。不偏推定量導出ステップS127において、部分集合列導出部12は、例えば、下記の式(7)により定義される不偏推定量^gを導出する。下記の式(7)において、σは、xtσ(1)≧xtσ(2)≧…≧xtσ(n)を満たす、集合[n]上の置換を表す。また、qは、第i成分qtiがqti=γ/(1+n)+(1-γ)(xtσ(i)-xtσ(i+1))で定義されるベクトルを表す。また、iは、X=Sσ(i)を満たす自然数を表す。
【数7】
【0049】
ベクトル更新ステップS128は、ベクトルp、x (1),x (2),…,x (d)を更新するためのステップである。ベクトル更新ステップS128において、部分集合列導出部12は、例えば、下記の式(8)に従ってベクトルx(j)を更新する。また、部分集合列導出部12は、例えば、下記の式(9)に従ってベクトルpを更新する。
【数8】

【数9】
【0050】
定理Bから明らかなように、本具体例に係る部分集合列導出処理S12を用いれば、Σt∈[T-1](X ,Xt+1 )≦Vを満たす任意のベンチマークX ,X ,…,X に対するリグレットΣt∈[T](X)-Σt∈[T](X )の期待値を、下記の式(10)により定義される上限値Max(n,T,V)以下にすることができる。
【数10】
【0051】
〔例示的実施形態2〕
本発明の第2の例示的実施形態について、図面を参照して詳細に説明する。
【0052】
(オンライン劣モジュラ最大化問題)
n個の要素からなる集合Sと、各ラウンドt∈[T]に対して定義された目的関数f:2→R≧0と、を考える。ここで、n及びTは、任意の自然数を表す。また、[T]は、1以上T以下の自然数の集合を表す。また、2は、集合Sの冪集合、すなわち、集合Sの全ての部分集合からなる集合を表す。また、R≧0は、非負の実数全体を表す。各目的関数fは、規格化された劣モジュラ関数であると仮定する。
【0053】
部分集合列X,X,…,X∈2を選択する問題のうち、目的関数fの累積値Σt∈T(X)の最大化を目標とする問題のことを、「オンライン劣モジュラ最大化問題」という。本例示的実施形態においては、オンライン劣モジュラ最大化問題を、上述したFull-Information設定の下で検討する。
【0054】
(情報処理装置の構成)
本例示的実施形態に係る情報処理装置2の構成について、図5を参照して説明する。図5は、情報処理装置2の構成を示すブロック図である。
【0055】
情報処理装置2は、n個の要素からなる集合Sに関するオンライン劣モジュラ最大化問題を解くための装置であり、図5に示すように、目的関数設定部21と、部分集合列導出部22と、を備えている。
【0056】
目的関数設定部21は、各ラウンドtにおける目的関数fとして、集合Sの冪集合2上の劣モジュラ関数を設定するための手段である。目的関数設定部21は、特許請求の範囲における「目的関数設定手段」の一例である。目的関数設定部21が目的関数fとして設定する劣モジュラ関数は、予め定められたものであってもよいし、キーボード等を介してユーザが入力したものであってもよいし、通信ネットワーク等を介して他の装置が入力したものであってもよい。また、目的関数設定部21が目的関数fとして設定する劣モジュラ関数は、情報処理装置2の内部で実行される各種処理において生成されたものであってもよい。
【0057】
部分集合列導出部22は、下記の条件β1又は条件β2を満たす部分集合列X,X,…,Xを導出するための手段である。部分集合列導出部22は、特許請求の範囲における「部分集合列導出手段」の一例である。部分集合列導出部22が導出する部分集合列X,X,…,Xは、ディスプレイ等を介してユーザに提供されてもよいし、通信ネットワーク等を介して他の装置に提供されてもよい。また、部分集合列導出部22が導出する部分集合列X,X,…,Xは、情報処理装置2の内部で実行される各種処理において利用されてもよい。
【0058】
条件β1:kを与えられた自然数として、各部分集合Xが|X|≦kを満たす。また、Vを与えられた0以上の整数として、|X |≦kとΣt∈[T-1](X ,Xt+1 )≦Vとを満たす任意のベンチマークX ,X ,…,X ∈2に対するαリグレットαΣt∈[T](X )-Σt∈[T](X)の期待値の漸近挙動が、k、T、Vから定まる関数A(k,T,V)の漸近挙動に一致する。
【0059】
条件β2:Vを与えられた0以上の整数として、Σt∈[T-1](X ,Xt+1 )≦Vを満たす任意のベンチマークX ,X ,…,X ∈2に対するαリグレットαΣt∈[T](X )-Σt∈[T](X)の期待値の漸近挙動が、n、T、Vから定まる関数B(n,T,V)の漸近挙動に一致する。
【0060】
(情報処理方法)
本例示的実施形態に係る情報処理方法S2の流れについて、図6を参照して説明する。図6は、情報処理方法S2の流れを示すフロー図である。
【0061】
情報処理方法S2は、n個の要素からなる集合Sに関するオンライン劣モジュラ最大化問題を解くための方法であり、図6に示すように、目的関数設定処理S21と、部分集合列導出処理S22と、を含んでいる。情報処理方法S2は、例えば、情報処理装置2により実施される。
【0062】
目的関数設定処理S21は、各ラウンドtにおける目的関数fとして、集合Sの冪集合2上の劣モジュラ関数を設定するための処理である。目的関数設定処理S21は、例えば、情報処理装置2の目的関数設定部21により実行される。部分集合列導出処理S22は、前節で示した条件β1又は条件β2を満たす部分集合列X,X,…,Xを導出するための処理である。部分集合列導出処理S22は、例えば、情報処理装置2の部分集合列導出部22により実行される。
【0063】
(情報処理装置および情報処理方法の効果)
本例示的実施形態に係る情報処理装置2及びは情報処理方法S2においては、αリグレットαΣt∈[T](X )-Σt∈[T](X)の期待値が上限値Max(k,T,V)又は上限値Max(n,t,V)以下になる部分集合X,X,…,Xが導出される。この際、ベンチマークX ,X ,…,X は、一定であることを要さない。したがって、固定戦略が有効でないオンライン劣モジュラ最大化に対しても、有益な部分集合X,X,…,Xを導出することができる。
【0064】
(部分集合列導出処理の具体例1)
本願発明者らは、部分集合Xの要素数を固定したFull-Information設定におけるオンライン劣モジュラ最大化問題に関して、下記の定理Cを証明することに成功した。
【0065】
定理C:各目的関数fが単調性を有し、k個以下の要素からなる部分集合Xにより構成された部分集合列X,X,…,X∈2[n]が下記の表3及び表4に記載のアルゴリズムにより導出された部分集合列であるならば、k個以下の要素からなる部分集合X により構成された任意のベンチマークX ,X ,…,X ∈2[n]に対して、下記の評価式(11)が成り立つ。ここで、目的関数fが単調性を有するとは、X⊆Yを満たす任意の部分集合X,Y[n]に対して、f(X)≦f(Y)が成立することを指す。また、上にチルダを付したランダウのOは、logTの多項式及びlognの多項式を無視した漸近挙動を表す。
【数11】

【表3】

【表4】
【0066】
なお、表4に示すアルゴリズムは、異なるη(j)に対応するJ個のFSF(Fixed Share Forecaster)アルゴリズムを含む。各FSFアルゴリズムは、公知のアルゴリズムであるため、ここではその説明を割愛する。以下では、{it1,it2,…,its}をXtsと記載し、{it1,it2,…,itk}をXと記載する。また、Xts∪{it,s+1}をXt,s+1と記載し、f(Xts∪{i})-f(Xts)をltiと記載する。
【0067】
以下、この定理を具現化することにより得られる、部分集合列導出処理S22の具体例について、図7を参照して説明する。なお、以下の説明においては、n個の要素からなる集合Sを、自然数の集合[n]={1,2,…,n}と同一視する。集合Sの要素と集合[n]の要素とは一対一に対応するので、この同一視により一般性が損なわれることはない。また、この定理は、本例示的実施形態の一実施例を与えるものに過ぎず、本例示的実施形態は、この定理に限定して解釈されるべきものではない。
【0068】
図7は、本具体例に係る部分集合列導出処理S22の流れを示すフロー図である。部分集合列導出処理S22は、図7に示すように、FSFアルゴリズム初期化ステップS221と、部分集合導出ステップS222と、フィード生成ステップS223と、を含んでいる。分集合導出ステップS222及びフィード生成ステップS223は、各ラウンドt∈[T]に対して実行される。すなわち、T回繰り返される。
【0069】
FSFアルゴリズム初期化ステップS221は、FSFアルゴリズムを実行するk個のFSFアルゴリズム実行モジュールFSF*(1),FSF*(2),…,FSF*(k)を、ラウンド数Tに応じて初期化するためのステップである。
【0070】
部分集合導出ステップS222は、部分集合Xを導出するためのステップである。部分集合導出ステップS222において、部分集合列導出部22は、Xt0をXt0=φに設定したうえで、以下の処理をs=1,2,…,kについて繰り返す。まず、部分集合列導出部22は、FSFアルゴリズム実行モジュールFSF*(s)が出力するベクトルp (s)を読み出す。次に、部分集合列導出部22は、読み出したベクトルp (s)から要素itsを引き出す。次に、部分集合列導出部22は、引き出した要素itsを用いてXts=Xt,s-1∪{its}を生成する。部分集合列導出部22は、以上の処理をs=1,2,…,kについて繰り返すことによって、部分集合X=Xtkを導出する。
【0071】
フィード生成ステップS223は、FSFアルゴリズム実行モジュールFSF*(1),FSF*(2),…,FSF*(k)に入力するフィードl (1),l (2),…,l (k)を生成するためのステップである。フィード生成ステップS223において、部分集合列導出部22は、FSFアルゴリズム実行モジュールFSF*(s)に入力するフィードl (s)=(lt1 (s),lt2 (s),…,ltn (s))を、lti (s)=f(Xt,s-1∪{i})-f(Xt,s-1)(i∈[n])に従って生成する。
【0072】
定理Cから明らかなように、本具体例に係る部分集合列導出処理S22を用いれば、k個以下の要素からなる部分集合X により構成された、Σt∈[T-1](X ,Xt+1 )≦Vを満たす任意のベンチマークX ,X ,…,X ∈2[n]に対する(1-1/e)リグレット(1-1/e)Σt∈[T](X )-Σt∈[T](X)の期待値の漸近挙動を、下記の式(12)により表される関数A(k,T,V)の漸近挙動に一致させることができる。
【数12】
【0073】
(部分集合列導出処理の具体例2)
本願発明者らは、部分集合Xの要素数を固定しないFull-Information設定におけるオンライン劣モジュラ最大化問題に関して、下記の定理Dを証明することに成功した。
【0074】
定理D:部分集合列X,X,…,X∈2[n]が下記の表5に記載のアルゴリズムにより導出された部分集合列であるならば、任意のベンチマークX ,X ,…,X ∈2[n]に対して、下記の評価式(13)が成り立つ。
【数13】

【表5】
【0075】
以下、この定理を具現化することにより得られる、部分集合列導出処理S22の具体例について、図8を参照して説明する。なお、以下の説明においては、n個の要素からなる集合Sを、自然数の集合[n]={1,2,…,n}と同一視する。集合Sの要素と集合[n]の要素とは一対一に対応するので、この同一視により一般性が損なわれることはない。また、この定理は、本例示的実施形態の一実施例を与えるものに過ぎず、本例示的実施形態は、この定理に限定して解釈されるべきものではない。
【0076】
図8は、本具体例に係る部分集合列導出処理S22の流れを示すフロー図である。部分集合列導出処理S22は、図に示すように、FSFアルゴリズム初期化ステップS224と、部分集合導出ステップS225と、フィード生成ステップS226と、を含んでいる。分集合導出ステップS225及びフィード生成ステップS226は、各ラウンドt∈[T]に対して実行される。すなわち、T回繰り返される。
【0077】
FSFアルゴリズム初期化ステップS224は、FSFアルゴリズムを実行するn個のFSFアルゴリズム実行モジュールFSF*(1),FSF*(2),…,FSF*(n)を、ラウンド数Tに応じて初期化するためのステップである。
【0078】
部分集合導出ステップS225は、部分集合Xを導出するためのステップである。部分集合導出ステップS225において、部分集合列導出部22は、Xt0をXt0=φに設定すると共に、Yt0をYt0=[n]に設定したうえで、以下の処理をs=1,2,…,nについて繰り返す。まず、部分集合列導出部22は、FSFアルゴリズム実行モジュールFSF*(s)が出力するベクトルp (s)を読み出し、q (s)をq (s)=(1+2pt1 (s))/4に設定する。次に、部分集合列導出部22は、確率q (s)でXtsをXts=Xt,s-1∪{s}に設定すると共に、YtsをYts=Yt,sー1に設定する。それ以外の場合、部分集合列導出部22は、XtsをXts=Xt,s-1に設定すると共に、YtsをYts=Yt,sー1\{s}に設定する。部分集合列導出部22は、以上の処理をs=1,2,…,について繰り返すことによって、部分集合X=Xtn=Ytnを導出する。
【0079】
フィード生成ステップS226は、FSFアルゴリズム実行モジュールFSF*(1),FSF*(2),…,FSF*(k)に入力するフィードl (1),l (2),…,l (k)を生成するためのステップである。フィード生成ステップS226において、部分集合列導出部22は、αtsをαts=f(Xt,s-1∪{s})-f(Xt,s-1)に設定すると共に、βtsβ ts =f(Yt,s-1\{s})-f(Yt,s-1)に設定する。そして、部分集合列導出部22は、FSFアルゴリズム実行モジュールFSF*(s)に入力するフィードl (s)=(lt1 (s),lt2 (s))を、lti (s)=(1-q (s))αts及びlt2 (s)=q (s)βtsに従って生成する。
【0080】
定理Dから明らかなように、本具体例に係る部分集合列導出処理S22を用いれば、Σt∈[T-1](X ,Xt+1 )≦Vを満たす任意のベンチマークX ,X ,…,X ∈2[n]に対する(1/2)リグレット(1/2)Σt∈[T](X )-Σt∈[T](X)の期待値の漸近挙動を、下記の式(14)により表される関数B(k,T,V)の漸近挙動に一致させることができる。
【数14】
【0081】
〔ソフトウェアによる実現例〕
情報処理装置1,2の一部又は全部の機能は、集積回路(ICチップ)等のハードウェアによって実現してもよいし、ソフトウェアによって実現してもよい。後者の場合、情報処理装置1,2の各部の機能は、例えば、ソフトウェアであるプログラムの命令を実行するコンピュータによって実現される。
【0082】
このようなコンピュータの一例(以下、コンピュータCと記載する)を図9に示す。コンピュータCは、図9に示すように、少なくとも1つのプロセッサC1と、少なくとも1つのメモリC2と、を備えている。メモリC2には、コンピュータCを情報処理装置1,2として動作させるためのプログラムPが記録されている。コンピュータCにおいて、プロセッサC1は、プログラムPをメモリC2から読み取って実行することにより、情報処理装置1,2の各部の機能を実現する。
【0083】
プロセッサC1としては、例えば、CPU(Central Processing Unit)、GPU(Graphic Processing Unit)、DSP(Digital Signal Processor)、MPU(Micro Processing Unit)、FPU(Floating point number Processing Unit)、PPU(Physics Processing Unit)、マイクロコントローラ、又は、これらの組み合わせなどを用いることができる。メモリC2としては、例えば、フラッシュメモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)、又は、これらの組み合わせなどを用いることができる。
【0084】
なお、コンピュータCは、プログラムPを実行時に展開したり、各種データを一時的に記憶したりするためのRAM(Random Access Memory)を更に備えていてもよい。また、コンピュータCは、他の装置との間でデータを送受信するための通信インタフェースを更に備えていてもよい。また、コンピュータCは、キーボードやマウスなどの入力機器、及び/又は、ディスプレイやプリンタなどの出力機器を接続するための入出力インタフェースを更に備えていてもよい。
【0085】
また、プログラムPは、コンピュータCが読み取り可能な、一時的でない有形の記録媒体Mに記録することができる。このような記録媒体Mとしては、例えば、テープ、ディスク、カード、半導体メモリ、又はプログラマブルな論理回路などを用いることができる。コンピュータCは、このような記録媒体Mを介してプログラムPを取得することができる。また、プログラムPは、伝送媒体を介して伝送することができる。このような伝送媒体としては、例えば、通信ネットワーク、又は放送波などを用いることができる。コンピュータCは、このような伝送媒体を介してプログラムPを取得することもできる。
【0086】
〔応用例〕
上述した情報処理装置1,2は、各種問題に応用可能である。以下にその一例を挙げる。
【0087】
(リテール)
ある店舗における各社のビールの価格の割引を施策とするものとする。例えば、実行施策X=[0、2,1、・・・]とした場合、第1要素がA社のビール価格を定価とし、第2要素がB社のビール価格を定価から10%割増とし、第3要素がC社のビール価格を定価から10%割引とすることを示すものとする。
【0088】
そして、目的関数fは、実行施策Xを入力とし、各社のビールの価格に実行施策 を適用して販売を行った結果を出力とする。この場合に、上述した最適化方法を適用することで、上記店舗における各社のビール価格の最適な価格設定を導出することができる。
【0089】
(投資ポートフォリオ)
投資家等における投資行動に適用した場合を説明する。この場合、投資家が保有する又は保有しようとする複数の金融商品(株式の銘柄等)に対する投資(購入、増資)、売却、保有を実行施策Xとする。例えば、実行施策X=[1、0、2、・・・]とした場合、第1要素がA社の株式への追加投資、第2要素がB社の債権を保有(購入も売却もしない)、第3要素がC社の株式の売却を示すものとする。そして、目的関数fは、実行施策Xを入力とし、各社の金融商品に対する投資行動に実行施策Xを適用した結果を出力とする。
【0090】
この場合に、上述した最適化方法を適用することで、上記投資家における各銘柄に対する最適な投資行動を導出することができる。
【0091】
(治験)
製薬会社におけるある薬品の治験のための投薬行動に適用した場合を説明する。この場合、投薬の分量や投薬を回避することを実行施策Xとする。例えば、実行施策X=[1、0、2、・・・]とした場合、第1要素が被験者Aに対して分量1の投薬を行い、第2要素が被験者Bに対して投薬を行わず、第3要素が被験者Cに対して分量2の投薬を行うことを示すものとする。そして、目的関数fは、実行施策Xを入力とし、各被験者に対する投薬行動に実行施策Xを適用した結果を出力とする。
【0092】
この場合に、上述した最適化方法を適用することで、上記製薬会社の治験における各被験者に対する最適な投薬行動を導出することができる。
【0093】
(ウェブマーケティング)
ある電子商取引サイトの運営会社における広告行動(マーケティング施策)に適用した場合を説明する。この場合、運営会社が販売しようとする商品又はサービスに対する複数の顧客に対する広告(オンライン(バナー)広告、電子メールによる広告、ダイレクトメール、割引クーポンの電子メール送信等)を実行施策Xとする。例えば、実行施策X=[1、0、2、・・・]とした場合、第1要素が顧客Aに対するバナー広告、第2要素が顧客Bに対して広告を行わない、第3要素が顧客Cに対する割引クーポンの電子メール送信、を示すものとする。そして、目的関数fは、実行施策Xを入力とし、各顧客に対する広告行動に実行施策Xを適用した結果を出力とする。ここで、実行結果としては、バナー広告をクリックしたか否か、購入額、購入確率、購入額の期待値であってもよい。
【0094】
この場合に、本実施形態の最適化方法を適用することで、上記運営会社における各顧客に対する最適な広告行動を導出することができる。
【0095】
〔付記事項1〕
本発明は、上述した実施形態に限定されるものでなく、請求項に示した範囲で種々の変更が可能である。例えば、上述した実施形態に開示された技術的手段を適宜組み合わせて得られる実施形態についても、本発明の技術的範囲に含まれる。
【0096】
〔付記事項2〕
上述した実施形態の一部又は全部は、以下のようにも記載され得る。ただし、本発明は、付記として以下の記載する態様に限定されるものではない。
【0097】
(付記1)
各ラウンドt∈[T](Tは任意の自然数)における目的関数fとして、n個(nは任意の自然数)の要素からなる集合Sの冪集合2上の劣モジュラ関数を設定するための目的関数設定手段と、
Vを与えられた0以上の整数として、Σt∈[T-1](X ,Xt+1 )≦Vを満たす任意のベンチマークX ,X ,…,X ∈2に対するリグレットΣt∈[T](X)-Σt∈[T](X )の期待値が、n、T、Vから定まる上限値Max(n,T,V)以下になる部分集合列X,X,…,X∈2を導出するための部分集合列導出手段と、を備えている、
ことを特徴とする情報処理装置。
【0098】
ここで、d(X ,Xt+1 )は、d(X ,Xt+1 )=|X ∪Xt+1 |-|X ∩Xt+1 |により定義される部分集合間のハミング距離である。
【0099】
(付記2)
前記部分集合列導出手段は、ラウンドtにおいて部分集合Xを導出した後、任意の部分集合X∈2に対する目的関数fの値f(X)を参照することが可能であり、
前記上限値Max(n,T,V)は、下記(a)式により与えられる、
ことを特徴とする付記1に記載の情報処理装置。
【数15】
【0100】
(付記3)
前記部分集合列導出手段は、|p|=1を満たすd次元(dはlogT+4を超えない最大の自然数)のベクトルp∈[0,1]、及び、d個のn次元のベクトルx (1),x (2),…,x (d)∈Rを用い、
tjをベクトルpの第j成分、xをx=Σj∈[d]tj (j)により定義されるn次元のベクトル、xtiをベクトルxの第i成分として、ランダムに選択されたu∈[0,1]を用いて部分集合X={i∈[n]|xti≧u}を導出する部分集合導出ステップと、
目的関数fのxでの劣勾配gを導出する劣勾配導出ステップと、
下記(a1)式に従ってベクトルx (1),x (2),…,x (d)を更新すると共に、下記(a2)式に従ってベクトルpを更新するベクトル更新ステップと、を各ラウンドにおいて実行する、
ことを特徴とする付記2に記載の情報処理装置。
【数16】

ここで、η(j)は、nに応じて定まる定数である。
【数17】

ここで、ηは、d及びTに応じて定まる定数である。
【0101】
(付記4)
前記部分集合列導出手段は、ラウンドtにおいて部分集合Xを選択した後、(1)選択した部分集合Xに対する目的関数fの値f(X)を参照することが可能であり、且つ、(2)選択した部分集合以外の部分集合X∈2に対する目的関数fの値f(X)を参照することが不可能であり、
前記上限値Max(n,T,V)は、下記(b)式により与えられる、
ことを特徴とする付記1に記載の情報処理装置。
【数18】

ここで、γは、0以上1以下の予め定められた定数である。
【0102】
(付記5)
前記部分集合列導出手段は、|p|=1を満たすd次元(dは4logTを超えない最大の自然数)のベクトルp∈[0,1]、及び、d個のn次元のベクトルx (1),x (2),…,x (d)∈Rを用い、
tjをベクトルpの第j成分、xをx=Σj∈[d]tj (j)により定義されるn次元のベクトル、xtiをベクトル の第i成分として、(1)ランダムに選択されたu∈[0,1]を用いて部分集合X={i∈[n]|xti≧u}を導出するか、又は、(2)xtσ(1)≧xtσ(2)≧…≧xtσ(n)を満たす集合[n]上の置換σおよびランダムに選択されたs∈{0,1,…,n}を用いて部分集合X={σ(j)|j∈[s]}を導出する部分集合導出ステップであって、部分集合X={i∈[n]|xti≧u}を導出する確率が1-γであり、部分集合X={σ(j)|j∈[s]}を導出する確率がγである部分集合導出ステップと、
目的関数fのxtでの劣勾配gの不偏推定量^g(^gはg上に∧を乗せた記号)を導出する不偏推定量導出ステップと、
下記(b1)式に従ってベクトルx (1),x (2),…,x (d)を更新すると共に、下記(b2)式に従ってベクトルpを更新するベクトル更新ステップと、を各ラウンドにおいて実行する、
ことを特徴とする付記4に記載の情報処理装置。
【数19】

ここで、η(j)は、nに応じて定まる定数である。
【数20】

ここで、ηは、n、d、及びTに応じて定まる定数である。
【0103】
(付記6)
各ラウンドt∈[T](Tは任意の自然数)における目的関数fとして、n個(nは任意の自然数)の要素からなる集合Sの冪集合2上の劣モジュラ関数を設定するための目的関数設定手段と、
部分集合列X,X,…,X∈2を導出するための部分集合列導出手段と、を備えており、
前記部分集合列導出手段は、|p|=1を満たすd次元(dはlogT+4を超えない最大の自然数)のベクトルp∈[0,1]、及び、d個のn次元のベクトルx (1),x (2),…,x (d)∈Rを用い、
tjをベクトルpの第j成分、xをx=Σj∈[d]tj (j)により定義されるn次元のベクトル、xtiをベクトルxの第i成分として、ランダムに選択されたu∈[0,1]を用いて部分集合X={i∈[n]|xti≧u}を導出する部分集合導出ステップと、
目的関数fのxでの劣勾配gを導出する劣勾配導出ステップと、
下記(a1)式に従ってベクトルx (1),x (2),…,x (d)を更新すると共に、下記(a2)式に従ってベクトルpを更新するベクトル更新ステップと、を各ラウンドにおいて実行する、
ことを特徴とする情報処理装置。
【数21】

ここで、η(j)は、nに応じて定まる定数である。
【数22】

ここで、ηは、d及びTに応じて定まる定数である。
【0104】
(付記7)
各ラウンドt∈[T](Tは任意の自然数)における目的関数fとして、n個(nは任意の自然数)の要素からなる集合Sの冪集合2上の劣モジュラ関数を設定する目的関数設定手段と、
部分集合列X,X,…,X∈2を導出する部分集合列導出手段と、を備えており、
前記部分集合列導出手段は、|p|=1を満たすd次元(dは4logTを超えない最大の自然数)のベクトルp∈[0,1]、及び、d個のn次元のベクトルx (1),x (2),…,x (d)∈Rを用い、
tjをベクトルpの第j成分、xをx=Σj∈[d]tj (j)により定義されるn次元のベクトル、xtiをベクトル の第i成分として、(1)ランダムに選択されたu∈[0,1]を用いて部分集合X={i∈[n]|xti≧u}を導出するか、又は、(2)xtσ(1)≧xtσ(2)≧…≧xtσ(n)を満たす集合[n]上の置換σおよびランダムに選択されたs∈{0,1,…,n}を用いて部分集合X={σ(j)|j∈[s]}を導出する部分集合導出ステップであって、部分集合X={i∈[n]|xti≧u}を導出する確率が1-γであり、部分集合X={σ(j)|j∈[s]}を導出する確率がγである部分集合導出ステップと、
目的関数fのxでの劣勾配gの不偏推定量^g(^gはg上に∧を乗せた記号)を導出する不偏推定量導出ステップと、
下記(b1)式に従ってベクトルx (1),x (2),…,x (d)を更新すると共に、下記(b2)式に従ってベクトルpを更新するベクトル更新ステップと、を各ラウンドにおいて実行する、
ことを特徴とする情報処理装置。
【数23】

ここで、η(j)は、nに応じて定まる定数である。
【数24】

ここで、ηは、n、d、及びTに応じて定まる定数である。
【0105】
(付記8)
各ラウンドt∈[T](Tは任意の自然数)における目的関数fとして、n個(nは任意の自然数)の要素からなる集合Sの冪集合2上の規格化された劣モジュラ関数を設定するための目的関数設定手段と、
下記の条件β1又はβ2を満たす部分集合列X,X,…,Xを導出するための部分集合列導出手段と、を備えている、
ことを特徴とする情報処理装置。
【0106】
条件β1:kを与えられた自然数として、各部分集合Xが|X|≦kを満たす。また、Vを与えられた0以上の整数として、|X |≦kとΣt∈[T-1](X ,Xt+1 )≦Vとを満たす任意のベンチマークX ,X ,…,X ∈2に対するαリグレットαΣt∈[T](X )-Σt∈[T](X)の期待値の漸近挙動が、k、T、Vから定まる関数A(k,T,V)の漸近挙動と一致する。
【0107】
条件β2:Vを与えられた0以上の整数として、Σt∈[T-1](X ,Xt+1 )≦Vを満たす任意のベンチマークX ,X ,…,X ∈2に対するαリグレットαΣt∈[T](X )-Σt∈[T](X)の期待値の漸近挙動が、n、T、Vから定まる関数B(n,T,V)の漸近挙動と一致する。
【0108】
ここで、d(X ,Xt+1 )は、d(X ,Xt+1 )=|X ∪Xt+1 |-|X ∩Xt+1 |により定義される部分集合間のハミング距離である。
【0109】
(付記9)
前記部分集合列導出手段は、ラウンドtにおいて部分集合Xを導出した後、任意の部分集合X∈2に対する目的関数fの値f(X)を参照することが可能であり、
前記関数A(k,T,V)は、下記(c)式により与えられる、
ことを特徴とする付記8に記載の情報処理装置。
【数25】
【0110】
(付記10)
前記部分集合列導出手段は、
t0をXt0=φに設定したうえで、FSFアルゴリズム実行モジュールFSF*(s)が出力するベクトルp (s)から引き出した要素itsを用いてXts=Xt,s-1∪{its}を生成する処理を繰り返すことによって、部分集合X=Xtkを導出する部分集合導出ステップと、
FSFアルゴリズム実行モジュールFSF*(s)に入力するフィードl (s)=(lt1 (s),lt2 (s),…,ltn (s))を、lti (s)=f(Xt,s-1∪{i})-f(Xt,s-1)(i∈[n])に従って生成するフィード生成ステップと、を各ラウンドtにおいて実行する、
ことを特徴とする付記9に記載の情報処理装置。
【0111】
(付記11)
前記部分集合列導出手段は、ラウンドtにおいて部分集合Xを導出した後、任意の部分集合X∈2に対する目的関数fの値f(X)を参照することが可能であり、
前記関数B(n,T,V)は、下記(d)式により与えられる、
ことを特徴とする付記8に記載の情報処理装置。
【数26】
【0112】
(付記12)
前記部分集合列導出手段は、
(1)Xt0をXt0=φに設定すると共に、Yt0をYt0=[n]に設定し、(2)FSFアルゴリズム実行モジュールFSF*(s)が出力するベクトルp (s)を用いて、q (s)をq (s)=(1+2pt1 (s))/4に設定し、(3a)確率q (s)でXtsをXts=Xt,s-1∪{s}に設定すると共に、YtsをYts=Yt,sー1に設定するか、又は、(3b)確率1-q (s)でXtsをXts=Xt,s-1に設定すると共に、YtsをYts=Yt,sー1\{s}に設定する処理を繰り返すことによって、部分集合X=Xtn=Ytnを導出する部分集合導出ステップと、
αtsをαts=f(Xt,s-1∪{s})-f(Xt,s-1)に設定すると共に、βtsβ ts =f(Yt,s-1\{s})-f(Yt,s-1)に設定したうえで、FSFアルゴリズム実行モジュールFSF*(s)に入力するフィードl (s)=(lt1 (s),lt2 (s))を、lti (s)=(1-q (s))αts及びlt2 (s)=q (s)βtsに従って生成するフィード生成ステップと、を各ラウンドtにおいて実行する、
ことを特徴とする付記11に記載の情報処理装置。
【0113】
(付記13)
各ラウンドt∈[T](Tは任意の自然数)における目的関数fとして、n個(nは任意の自然数)の要素からなる集合Sの冪集合2上の規格化された劣モジュラ関数を設定するための目的関数設定手段と、
部分集合列X,X,…,X∈2を導出する部分集合列導出手段と、を備えており、
前記部分集合列導出手段は、
t0をXt0=φに設定したうえで、FSFアルゴリズム実行モジュールFSF*(s)が出力するベクトルp (s)から引き出した要素itsを用いてXts=Xt,s-1∪{its}を生成する処理を繰り返すことによって、部分集合X=Xtkを導出する部分集合導出ステップと、
FSFアルゴリズム実行モジュールFSF*(s)に入力するフィードl (s)=(lt1 (s),lt2 (s),…,ltn (s))を、lti (s)=f(Xt,s-1∪{i})-f(Xt,s-1)(i∈[n])に従って生成するフィード生成ステップと、を各ラウンドtにおいて実行する、
ことを特徴とする情報処理装置。
【0114】
(付記14)
各ラウンドt∈[T](Tは任意の自然数)における目的関数fとして、n個(nは任意の自然数)の要素からなる集合Sの冪集合2上の規格化された劣モジュラ関数を設定するための目的関数設定手段と、
部分集合列X,X,…,X∈2を導出する部分集合列導出手段と、を備えており、
前記部分集合列導出手段は、
(1)Xt0をXt0=φに設定すると共に、Yt0をYt0=[n]に設定し、(2)FSFアルゴリズム実行モジュールFSF*(s)が出力するベクトルp (s)を用いて、q (s)をq (s)=(1+2pt1 (s))/4に設定し、(3a)確率q (s)でXtsをXts=Xt,s-1∪{s}に設定すると共に、YtsをYts=Yt,sー1に設定するか、又は、(3b)確率1-q (s)でXtsをXts=Xt,s-1に設定すると共に、YtsをYts=Yt,sー1\{s}に設定する処理を繰り返すことによって、部分集合X=Xtn=Ytnを導出する部分集合導出ステップと、
αtsをαts=f(Xt,s-1∪{s})-f(Xt,s-1)に設定すると共に、βtsβ ts =f(Yt,s-1\{s})-f(Yt,s-1)に設定したうえで、FSFアルゴリズム実行モジュールFSF*(s)に入力するフィードl (s)=(lt1 (s),lt2 (s))を、lti (s)=(1-q (s))αts及びlt2 (s)=q (s)βtsに従って生成するフィード生成ステップと、を各ラウンドtにおいて実行する、
ことを特徴とする情報処理装置。
【0115】
(付記15)
各ラウンドt∈[T](Tは任意の自然数)における目的関数fとして、n個(nは任意の自然数)の要素からなる集合Sの冪集合2上の劣モジュラ関数を設定すること、
Vを与えられた0以上の整数として、Σt∈[T-1](X ,Xt+1 )≦Vを満たす任意のベンチマークX ,X ,…,X ∈2に対するリグレットΣt∈[T](X)-Σt∈[T](X )の期待値が、n、T、Vから定まる上限値Max(n,T,V)以下になる部分集合列X,X,…,X∈2を導出することを、含んでいる、
ことを特徴とする情報処理方法。
【0116】
ここで、d(X ,Xt+1 )は、d(X ,Xt+1 )=|X ∪Xt+1 |-|X ∩Xt+1 |により定義される部分集合間のハミング距離である。
【0117】
(付記16)
各ラウンドt∈[T](Tは任意の自然数)における目的関数fとして、n個(nは任意の自然数)の要素からなる集合Sの冪集合2上の規格化された劣モジュラ関数を設定すること、
下記の条件β1又はβ2を満たす部分集合列X,X,…,Xを導出すること、を含んでいる、
ことを特徴とする情報処理方法。
【0118】
条件β1:kを与えられた自然数として、各部分集合Xが|X|≦kを満たす。また、Vを与えられた0以上の整数として、|X |≦kとΣt∈[T-1](X ,Xt+1 )≦Vとを満たす任意のベンチマークX ,X ,…,X ∈2に対するαリグレットαΣt∈[T](X )-Σt∈[T](X)の期待値の漸近挙動が、k、T、Vから定まる関数A(k,T,V)の漸近挙動と一致する。
【0119】
条件β2:Vを与えられた0以上の整数として、Σt∈[T-1](X ,Xt+1 )≦Vを満たす任意のベンチマークX ,X ,…,X ∈2に対するαリグレットαΣt∈[T](X )-Σt∈[T](X)の期待値の漸近挙動が、n、T、Vから定まる関数B(n,T,V)の漸近挙動と一致する。
【0120】
ここで、d(X ,Xt+1 )は、d(X ,Xt+1 )=|X ∪Xt+1 |-|X ∩Xt+1 |により定義される部分集合間のハミング距離である。
【0121】
(付記17)
コンピュータを情報処理装置として動作させるためのプログラムであって、
前記コンピュータを、各ラウンドt∈[T](Tは任意の自然数)における目的関数fとして、n個(nは任意の自然数)の要素からなる集合Sの冪集合2上の劣モジュラ関数を設定するための目的関数設定手段と、Vを与えられた0以上の整数として、Σt∈[T-1](X ,Xt+1 )≦Vを満たす任意のベンチマークX ,X ,…,X ∈2に対するリグレットΣt∈[T](X)-Σt∈[T](X )の期待値が、n、T、Vから定まる上限値Max(n,T,V)以下になる部分集合列X,X,…,X∈2を導出するための部分集合列導出手段と、として機能させるプログラム。
【0122】
ここで、d(X ,Xt+1 )は、d(X ,Xt+1 )=|X ∪Xt+1 |-|X ∩Xt+1 |により定義される部分集合間のハミング距離である。
【0123】
(付記18)
付記17に記載のプログラムが記録された、コンピュータ読み取り可能な記録媒体。
【0124】
(付記19)
コンピュータを情報処理装置として動作させるためのプログラムであって、
前記コンピュータを、各ラウンドt∈[T](Tは任意の自然数)における目的関数fとして、n個(nは任意の自然数)の要素からなる集合Sの冪集合2上の規格化された劣モジュラ関数を設定するための目的関数設定手段と、下記の条件β1又はβ2を満たす部分集合列X,X,…,Xを導出するための部分集合列導出手段と、として機能させるプログラム。
【0125】
条件β1:kを与えられた自然数として、各部分集合Xが|X|≦kを満たす。また、Vを与えられた0以上の整数として、|X |≦kとΣt∈[T-1](X ,Xt+1 )≦Vとを満たす任意のベンチマークX ,X ,…,X ∈2に対するαリグレットαΣt∈[T](X )-Σt∈[T](X)の期待値の漸近挙動が、k、T、Vから定まる関数A(k,T,V)の漸近挙動と一致する。
【0126】
条件β2:Vを与えられた0以上の整数として、Σt∈[T-1](X ,Xt+1 )≦Vを満たす任意のベンチマークX ,X ,…,X ∈2に対するαリグレットαΣt∈[T](X )-Σt∈[T](X)の期待値の漸近挙動が、n、T、Vから定まる関数B(n,T,V)の漸近挙動と一致する。
【0127】
ここで、d(X ,Xt+1 )は、d(X ,Xt+1 )=|X ∪Xt+1 |-|X ∩Xt+1 |により定義される部分集合間のハミング距離である。
【0128】
(付記20)
付記19に記載のプログラムが記録された、コンピュータ読み取り可能な記録媒体。
【0129】
(付記21)
少なくとも1つのプロセッサを備え、前記プロセッサは、各ラウンドt∈[T](Tは任意の自然数)における目的関数fとして、n個(nは任意の自然数)の要素からなる集合Sの冪集合2上の劣モジュラ関数を設定するための目的関数設定処理と、Vを与えられた0以上の整数として、Σt∈[T-1](X ,Xt+1 )≦Vを満たす任意のベンチマークX ,X ,…,X ∈2に対するリグレットΣt∈[T](X)-Σt∈[T](X )の期待値が、n、T、Vから定まる上限値Max(n,T,V)以下になる部分集合列X,X,…,X∈2を導出するための部分集合列導出処理と、を実行する情報処理装置。ここで、d(X ,Xt+1 )は、d(X ,Xt+1 )=|X ∪Xt+1 |-|X ∩Xt+1 |により定義される部分集合間のハミング距離である。
【0130】
(付記22)
少なくとも1つのプロセッサを備え、前記プロセッサは、各ラウンドt∈[T](Tは任意の自然数)における目的関数fとして、n個(nは任意の自然数)の要素からなる集合Sの冪集合2上の規格化された劣モジュラ関数を設定するための目的関数設定処理と、下記の条件β1又はβ2を満たす部分集合列X,X,…,Xを導出するための部分集合列導出処理と、を実行する情報処理装置。
【0131】
条件β1:kを与えられた自然数として、各部分集合Xが|X|≦kを満たす。また、Vを与えられた0以上の整数として、|X |≦kとΣt∈[T-1](X ,Xt+1 )≦Vとを満たす任意のベンチマークX ,X ,…,X ∈2に対するαリグレットαΣt∈[T](X )-Σt∈[T](X)の期待値の漸近挙動が、k、T、Vから定まる関数A(k,T,V)の漸近挙動と一致する。
【0132】
条件β2:Vを与えられた0以上の整数として、Σt∈[T-1](X ,Xt+1 )≦Vを満たす任意のベンチマークX ,X ,…,X ∈2に対するαリグレットαΣt∈[T](X )-Σt∈[T](X)の期待値の漸近挙動が、n、T、Vから定まる関数B(n,T,V)の漸近挙動と一致する。
【0133】
ここで、d(X ,Xt+1 )は、d(X ,Xt+1 )=|X ∪Xt+1 |-|X ∩Xt+1 |により定義される部分集合間のハミング距離である。
【0134】
(付記23)
なお、これらの情報処理装置は、更にメモリを備えていてもよく、このメモリには、目的関数設定処理と、部分集合列導出処理と、を前記プロセッサに実行させるためのプログラムが記憶されていてもよい。また、このプログラムは、コンピュータ読み取り可能な一時的でない有形の記録媒体に記録されていてもよい。
【符号の説明】
【0135】
1,2 情報処理装置
11,21 目的関数設定部(目的関数設定手段)
12,22 部分集合列導出部(部分集合列導出手段)
S1,S2 情報処理方法
S11,S21 目的関数設定処理
S12,S22 部分集合列導出部
図1
図2
図3
図4
図5
図6
図7
図8
図9