(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024099215
(43)【公開日】2024-07-25
(54)【発明の名称】最適化システム、最適化方法及びプログラム
(51)【国際特許分類】
G06N 99/00 20190101AFI20240718BHJP
G06N 10/60 20220101ALI20240718BHJP
【FI】
G06N99/00 180
G06N10/60
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023002994
(22)【出願日】2023-01-12
(71)【出願人】
【識別番号】504157024
【氏名又は名称】国立大学法人東北大学
(74)【代理人】
【識別番号】100165179
【弁理士】
【氏名又は名称】田▲崎▼ 聡
(74)【代理人】
【識別番号】100188558
【弁理士】
【氏名又は名称】飯田 雅人
(74)【代理人】
【識別番号】100175824
【弁理士】
【氏名又は名称】小林 淳一
(74)【代理人】
【識別番号】100152272
【弁理士】
【氏名又は名称】川越 雄一郎
(74)【代理人】
【識別番号】100181722
【弁理士】
【氏名又は名称】春田 洋孝
(72)【発明者】
【氏名】大関 真之
(57)【要約】
【課題】アニーリングによる最適化の実行による最適化の精度を高める技術を提供すること。
【解決手段】第1変数を独立変数とする関数で表現される最適化対象であって拘束条件を有する最適化対象、の最適化を行う最適化システムであって、アニーリングによる最適化を実行するアニーラーと、前記アニーラーを制御する制御部と、を備え、前記最適化は、前記第1変数にくわえて更に第2変数を独立変数とする関数であり第1変数についてより一層低次元である、という条件を満たす関数によって分配関数が表現された系であって前記最適化対象を表現する系、の最適化であり、前記最適化は、第1変数に基づいて第2変数を推定する数理モデルを前記制御部が実行する推定処理と、アニーリングによって最適化を行う処理とを含み、前記数理モデルは、前記最適化の結果に応じて更新される、最適化システム。
【選択図】
図1
【特許請求の範囲】
【請求項1】
第1変数xを独立変数とする関数で表現される最適化対象であって拘束条件を有する最適化対象、の最適化を行う最適化システムであって、
アニーリングによる最適化を実行するアニーラーと、
前記アニーラーを制御する管理制御部と、
を備え、
前記最適化は、前記第1変数xにくわえて更に第2変数zを独立変数とする関数であり、前記拘束条件を示す項が、前記第2変数zを用いない場合よりも前記第1変数xについて低次元である、という条件を満たす関数である低次元分配関数、によって分配関数が表現された系であって前記最適化対象を表現する系、の最適化であり、
前記最適化は、前記第1変数xに基づいて前記第2変数zを推定する数理モデルを前記管理制御部が実行する推定処理と、前記第2変数zの値が前記推定処理で推定された値に固定された状態における前記最適化対象の最適化を前記アニーラーがアニーリングによって行うアニーリング処理と、前記拘束条件が満たされている度合が所定の度合よりも高いか否かを前記アニーリング処理の結果を用いて前記管理制御部が判定する判定処理と、を含み、
前記度合が前記所定の度合以下である場合に、前記管理制御部は、前記拘束条件が満たされている度合をより一層高めるように前記数理モデルを更新する、
最適化システム。
【請求項2】
前記低次元分配関数における前記拘束条件を示す項は、前記第1変数xについて1次元である、
請求項1に記載の最適化システム。
【請求項3】
前記アニーリングは、量子アニーリングである、
請求項1に記載の最適化システム。
【請求項4】
第1変数xを独立変数とする関数で表現される最適化対象であって拘束条件を有する最適化対象、の最適化を行う最適化システムであって、アニーリングを実行するアニーラーと、前記アニーラーを制御する管理制御部と、を備え、前記最適化は、前記第1変数xにくわえて更に第2変数zを独立変数とする関数であり、前記拘束条件を示す項が、前記第2変数zを用いない場合よりも前記第1変数xについて低次元である、という条件を満たす関数である低次元分配関数、によって分配関数が表現された系であって前記最適化対象を表現する系、の最適化である最適化システム、が実行する最適化方法であって、
前記管理制御部が、前記第1変数xに基づいて前記第2変数zを推定する数理モデルを実行する推定ステップと、
前記アニーラーが、前記第2変数zの値が前記推定ステップで推定された値に固定された状態における前記最適化対象の最適化をアニーリングによって行うアニーリングステップと、
前記管理制御部が、前記拘束条件が満たされている度合が所定の度合よりも高いか否かを前記アニーリングステップの結果を用いて判定する判定ステップと、
を有し、
前記管理制御部は、前記度合が前記所定の度合以下である場合に、前記拘束条件が満たされている度合をより一層高めるように前記数理モデルを更新する、
最適化方法。
【請求項5】
請求項1~3のいずれか一項に記載の最適化システムとしてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、最適化システム、最適化方法及びプログラムに関する。
【背景技術】
【0002】
近年、最適化を高速に行えることから、量子アニーリング等のアニーリングによる最適化(以下「アニーリング最適化」という。)の実行による最適化への注目が高まっている。アニーリング最適化は、具体的には、量子アニーラー(非特許文献1参照)等によって実行される。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Masayuki Ohzeki, Akira Miki, Masamichi J. Miyama, Masayoshi Terabe, “Control of automated guided vehicles without collision by quantum annealer and digital devices”, Front. Comput. Sci., 19 (2019)
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、独立変数について2次以上の高次の項を含む関数で最適化対象が表現される場合、アニーリング最適化の実行による最適化の精度は良く無い場合があった。理由は、ビットを表現する実体間の相互作用の影響である。なお、ビットを表現する実体は、量子アニーラーであれば例えばスピンである。
【0005】
上記事情に鑑み、本発明は、アニーリングによる最適化の実行による最適化の精度を高める技術を提供することを目的としている。
【課題を解決するための手段】
【0006】
本発明の一態様は、第1変数xを独立変数とする関数で表現される最適化対象であって拘束条件を有する最適化対象、の最適化を行う最適化システムであって、アニーリングによる最適化を実行するアニーラーと、前記アニーラーを制御する管理制御部と、を備え、前記最適化は、前記第1変数xにくわえて更に第2変数zを独立変数とする関数であり、前記拘束条件を示す項が、前記第2変数zを用いない場合よりも前記第1変数xについて低次元である、という条件を満たす関数である低次元分配関数、によって分配関数が表現された系であって前記最適化対象を表現する系、の最適化であり、前記最適化は、前記第1変数xに基づいて前記第2変数zを推定する数理モデルを前記管理制御部が実行する推定処理と、前記第2変数zの値が前記推定処理で推定された値に固定された状態における前記最適化対象の最適化を前記アニーラーがアニーリングによって行うアニーリング処理と、前記拘束条件が満たされている度合が所定の度合よりも高いか否かを前記アニーリング処理の結果を用いて前記管理制御部が判定する判定処理と、を含み、前記度合が前記所定の度合以下である場合に、前記管理制御部は、前記拘束条件が満たされている度合をより一層高めるように前記数理モデルを更新する、最適化システムである。
【0007】
本発明の一態様は、第1変数xを独立変数とする関数で表現される最適化対象であって拘束条件を有する最適化対象、の最適化を行う最適化システムであって、アニーリングを実行するアニーラーと、前記アニーラーを制御する管理制御部と、を備え、前記最適化は、前記第1変数xにくわえて更に第2変数zを独立変数とする関数であり、前記拘束条件を示す項が、前記第2変数zを用いない場合よりも前記第1変数xについて低次元である、という条件を満たす関数である低次元分配関数、によって分配関数が表現された系であって前記最適化対象を表現する系、の最適化である最適化システム、が実行する最適化方法であって、前記管理制御部が、前記第1変数xに基づいて前記第2変数zを推定する数理モデルを実行する推定ステップと、前記アニーラーが、前記第2変数zの値が前記推定ステップで推定された値に固定された状態における前記最適化対象の最適化をアニーリングによって行うアニーリングステップと、前記管理制御部が、前記拘束条件が満たされている度合が所定の度合よりも高いか否かを前記アニーリングステップの結果を用いて判定する判定ステップと、を有し、前記管理制御部は、前記度合が前記所定の度合以下である場合に、前記拘束条件が満たされている度合をより一層高めるように前記数理モデルを更新する、最適化方法。である。
【0008】
本発明の一態様は、上記の最適化システムとしてコンピュータを機能させるためのプログラムである。
【発明の効果】
【0009】
本発明により、アニーリングによる最適化の実行による最適化の精度を高める技術を提供することが可能となる。
【図面の簡単な説明】
【0010】
【
図1】実施形態の最適化システムの概要を説明する説明図。
【
図2】実施形態における最適化システムで実行される最適化の処理の流れの一例を示すフローチャート。
【
図3】実施形態における管理装置のハードウェア構成の一例を示す図である。
【
図4】実施形態におけるアニーラーのハードウェア構成の一例を示す図。
【
図5】実施形態におけるアニール部の構成の一例を示す図。
【発明を実施するための形態】
【0011】
(実施形態)
図1は、実施形態の最適化システム100の概要を説明する説明図である。最適化システム100は、管理装置1と、アニーラー2と、を備え、量子アニーリング等のアニーリングによる最適化(以下「アニーリング最適化」という。)を行うことで最適化対象の最適化を行う。
【0012】
管理装置1は、バスで接続されたCPU(Central Processing Unit)等のプロセッサ91とメモリ92とを備える制御部11を備え、プログラムを実行するノイマン型のコンピュータである。管理装置1は、プログラムの実行により、例えば、アニーラー2の動作を制御する。
【0013】
アニーラー2はアニーリング最適化を行う。最適化システム100は、アニーラー2を備えるため、アニーリング最適化による最適化対象の最適化が可能である。アニーラー2は、例えば量子アニーラーである。以下、説明の簡単のためアニーラー2が量子アニーラーである場合を例に説明を行う。なお、量子アニーラーによる最適化は、いわゆる量子アニーリングである。
【0014】
アニーラー2によるアニーリング最適化では、例えば、いわゆる大関法(参考文献1参照)による最適化が行われてもよい。
【0015】
参考文献1:Masayuki Ohzeki, “Breaking limitation of quantum annealer in solving optimization problems under constraints”, Sci.Rep., 10:3126, (2020)
【0016】
ところで、一般に最適化では拘束条件が存在する。したがって最適化対象は、具体的には、以下の式(1)で表現される。すなわち、最適化対象は、変数xを独立変数とする関数で表現され、拘束条件を有する。
【0017】
【0018】
テンソルxは独立変数を表し、F(x)=cが拘束条件を表す。関数Fは、xの関数であればどのような関数であってもよい。cは定数である。cはスカラーであってもよいし、テンソルであってもよい。
【0019】
式(1)で表される最適化対象の最適化は、以下の式(2)を実行することに等価である。
【0020】
【0021】
λは所定の重み係数である。|・|2は二乗ノルムを意味する。
【0022】
さらに、式(2)の最適化は、分配関数が以下の式(3)で表される系の最適化を行うことに等価である。
【0023】
【0024】
ところで、式(3)に含まれる拘束条件を示す項であるが、この項は、2乗の操作があることから、変数xの1次の項としては表現されていない。変数xは、アニーリングにおいては例えばスピンの状態で表される量である。したがって、スピン間の相互作用の影響を考慮すれば、式(3)に含まれる拘束条件を示す項は、変数xについてより低次の項で表されることがアニーリングによる最適化の観点からは好ましい。
【0025】
そこで、最適化システム100は、分配関数が、式(3)で表される系の代わりに、分配関数が低次元分配関数で表される系に対するアニーリングを行う。低次元分配関数は、変数xにくわえて更に補助変数zを独立変数とする関数であり、式(3)に含まれる拘束条件を示す項が、補助変数zを用いない場合よりも変数xについて低次元である、という条件を満たす関数である。
【0026】
例えばF(x)がxの線形変換を表す関数であれば、低次元分配関数における拘束条件を示す項は、例えば、変数xについて1次元である。
【0027】
こうした場合、補助変数zの値を得る処理が別途必要である。そこで、最適化システム100は、機械学習により更新される数理モデルであって、補助変数zの値を推定する数理モデルを用いる。このような数理モデルは、具体的には、後述する推定モデル、である。これにより、数理モデルによる補助変数zの推定と、その推定結果を用いたアニーリングであって低次元分配関数で分配関数が表現される系に対するアニーリング、による変数xの取得と、数理モデルの更新と、の実行が可能になる。このようにして、最適化システム100は、最適化対象の最適化を行う。
【0028】
<最適化システム100の奏する効果>
こうした最適化システム100では、機械学習によって更新される数理モデルによって補助変数zの値が推定されるので、ユーザが補助変数zを導出する関数を実装する負担は少ない。また、機械学習によって更新される数理モデルによって補助変数zの値が決定されるので、低次元分配関数の設定の仕方は、アニーリングの対象の系として実装可能な条件に応じてユーザがさまざまに設計可能である。すなわち、最適化システム100は、アニーリングの対象の系の設計の自由度を増大させる。その結果、より最適化の精度の高い系による最適化を可能とする。さらに、一般に人が次数の高い式を解析的に扱うことは困難であるため、人が設計する補助変数zと変数xとの関係は精度が悪い場合が多い。しかしながら、最適化システム100であれば補助変数zと変数xとの関係が機械学習によって得られる。そのため、最適化システム100は、アニーリングによる最適化の実行による最適化の精度を高めることができる。
【0029】
数理モデルは学習により更新されるので、どういった関数を表現する数理モデルが得られるのか、は学習過程や最適化対象によって異なる。しかしながら、数理モデルが表現する可能性のある関数の一例を、数学的な式変形で示すことは、最適化システム100の理解に有用であると思われる。そこで、ここで数学的な式変形で示すことのできる例を示す。
【0030】
<変数zの値を推定する数理モデルが表現する関数の例>
式(3)は、the Hubbard-Stratonovich 変換(以下「HS変換」という。)により以下の式(4)に変換される。
【0031】
【0032】
ここで、量iは、虚数単位を表す。Tは転置を表す。変数zは、HS変換によって生じた補助変数である。式(4)は、HS変換により、2乗の項が1乗の項に変換されたことを示す。したがって、式(4)は、HS変換により、変数xについてより低次の式に変換されたことを示す。そして、機械学習には学習済みという用語があるがそれを用いて表現すれば、HS変換によって得られる補助変数zと変数xとの関係を示す式が、学習済みの推定モデルが表現する関数の一例である。
【0033】
上述したように、最適化システム100では、補助変数zを用いて最適化を行う。最適化システム100において補助変数zは、変数xとは独立な変数として処理される。より具体的には、最適化システム100において、補助変数zと変数xとは互いに独立な確率変数として処理され、それによって最適化が行われる。具体的には、
図2に示す以下の処理が実行される。
【0034】
図2は、実施形態における最適化システム100で実行される最適化の処理の流れの一例を示すフローチャートである。なおここでは、説明の簡単のため、低次元分配関数、は予め制御部11が取得済みであるとする。
【0035】
変数xの初期値を制御部11が取得する(ステップS101)。次に、制御部11は、推定モデルを実行することで、取得した変数xの値に基づき、変数zの値を推定する(ステップS102)。
【0036】
推定モデルは、変数xの値に基づいて変数zの値を推定する数理モデルである。推定モデルは機械学習により更新される数理モデルである。機械学習による更新とは、数理モデルの有するパラメータを更新する処理である。推定モデルのパラメータは、例えば、変数xと変数zとの同時確率分布を示す量である。推定モデルのパラメータは、例えば、変数xと変数zとの同時確率分布から得られる確率変数zの周辺確率の確率分布、を示す量であってもよい。したがって、推定モデルの学習とは、例えば、確率変数zの周辺確率分布の更新を意味する。
【0037】
ステップS102の次に制御部11は、アニーラー2の動作を制御し、変数zの値がステップS102で推定された変数zの値に固定された状態、における最適化対象の最適化を行わせる(ステップS103)。したがってステップS103では、アニーリングが実行される。より具体的には、ステップS103では、補助変数zの値がステップS102で推定された値に固定された状態における最適化対象の最適化をアニーリングによって行う、ことが行われる。
【0038】
アニーリングの対象の系は、分配関数が低次元分配関数で表現される系である。アニーリングの実行により、変数zの値がステップS102で推定された変数zの値に固定された状態における最適化対象、が最適化された状態における変数xの値が得られる。
【0039】
ステップS103で実行されるアニーリングについて、より具体的な状況を、一例を挙げて説明する。ステップS103では、例えば、変数zの値がステップS102で推定された値であってスピンの向きが変数xを表す低次元分配関数、を表現する量子スピン系に対する量子アニーリングが実行される。その結果、式(2)を満たす変数xの値が取得される。
【0040】
ステップS103の次に、制御部11はステップS103の処理の結果を用いて、拘束条件が満たされている度合が、所定の度合よりも高いか否かを判定する(ステップS104)。ステップS103の処理の結果とは、具体的には、ステップS103で得られた変数xの値、である。
【0041】
拘束条件が満たされている度合は、例えば、F(x)-cの値とゼロとの違いである。F(x)-cが0であるとき、拘束条件は完全に満たされており、F(x)-cと0との違いが大きいほど、拘束条件が満たされている度合が低い。拘束条件が完全に満たされている、とは拘束条件が満たされている度合が最大である、ことを意味する。
【0042】
拘束条件が満たされている度合は、例えば、F(x)と定数cとの違いであってもよい。F(x)がcであるとき、拘束条件は完全に満たされており、F(x)とcとの違いが大きいほど、拘束条件が満たされている度合が低い。
【0043】
拘束条件が満たされている度合は、例えば、F(x)を定数cで割り算した値(すなわちF(x)/c)と1との違いであってもよい。F(x)/cが1であるとき、拘束条件は完全に満たされており、F(x)/cと1との違いが大きいほど、拘束条件が満たされている度合が低い。
【0044】
拘束条件が満たされている度合が所定の度合よりも高い場合(ステップS104:YES)、処理が終了する。一方、拘束条件が満たされている度合が所定の度合以下である場合(ステップS104:NO)、制御部11は、所定の規則にしたがって推定モデルの更新を行うとともに、ステップS103で取得された変数xの値を取得する(ステップS105)。ステップS105の次に、ステップS102の処理に戻る。ステップS105で制御部11が取得した変数xの値がステップS102の処理で用いられる。
【0045】
なお、ステップS104でYESだった場合の推定モデルは、学習済みの推定モデル、の一例である。なお、ステップS103の処理は、アニーリング最適化の一例である。
【0046】
なお、所定の規則は、拘束条件が満たされている度合をより一層高めるように推定モデルを更新する、という規則である。
【0047】
図3は、実施形態における管理装置1のハードウェア構成の一例を示す図である。管理装置1は、上述したように、バスで接続されたCPU等のプロセッサ91とメモリ92とを備える制御部11を備え、プログラムを実行する。管理装置1は、プログラムの実行によって制御部11、入力部12、通信部13、記憶部14及び出力部15を備える装置として機能する。
【0048】
より具体的には、プロセッサ91が記憶部14に記憶されているプログラムを読み出し、読み出したプログラムをメモリ92に記憶させる。プロセッサ91が、メモリ92に記憶させたプログラムを実行することによって、管理装置1は、制御部11、入力部12、通信部13、記憶部14及び出力部15を備える装置として機能する。
【0049】
制御部11は、管理装置1が備える各種機能部の動作を制御する。制御部11は、例えば推定モデルを実行する。制御部11は、例えば、通信部13を介してアニーラー2の動作を制御する。制御部11は、例えば、アニーラー2の動作を制御することで、アニーラー2による最適化の結果を、通信部13を介して取得する。
【0050】
最適化の結果は、具体的には、固定最適化対象がアニーリングの実行により最適化された状態、における変数xの値、である。固定最適化対象は、変数zの値が推定モデルにより推定された値に固定された状態における最適化対象である。
【0051】
入力部12は、マウスやキーボード、タッチパネル等の入力装置を含んで構成される。入力部12は、これらの入力装置を管理装置1に接続するインタフェースとして構成されてもよい。入力部12は、管理装置1に対する各種情報の入力を受け付ける。入力部12には、例えばユーザによる最適化の開始の指示が入力される。
【0052】
入力部12には、例えば変数xの初期値が入力される。入力部12には、例えば低次元分配関数を示す情報が入力される。入力部12に入力された、低次元分配関数を示す情報は例えば記憶部14に記憶される。制御部11は、記憶部14に記憶された、低次元分配関数を示す情報、を読み出すことで、低次元分配関数を用いる処理を実行する。
【0053】
通信部13は、管理装置1を外部装置に接続するための通信インタフェースを含んで構成される。通信部13は、有線又は無線を介して外部装置と通信する。外部装置は、例えば変数xの初期値の送信元の装置である。通信部13は、変数xの初期値の送信元の装置との通信によって、変数xの初期値を取得する。外部装置は、例えばアニーラー2である。通信部13は、アニーラー2との通信によって、制御部11による指示をアニーラー2に送信する。制御部11による指示を受信したアニーラー2は、その指示にしたがった動作を行う。
【0054】
外部装置は、例えば低次元分配関数を示す情報の送信元の装置である。通信部13は、低次元分配関数を示す情報の送信元との通信によって、低次元分配関数を示す情報を取得する。
【0055】
記憶部14は、磁気ハードディスク装置や半導体記憶装置などのコンピュータ読み出し可能な記憶媒体装置(non-transitory computer-readable recording medium)を用いて構成される。記憶部14は管理装置1に関する各種情報を記憶する。記憶部14は、例えば入力部12又は通信部13を介して入力された情報を記憶する。記憶部14は、例えば制御部11で生じた各種情報を記憶する。記憶部14は、例えば、予め推定モデルを記憶する。記憶部14は、例えば、学習済みの推定モデルを記憶する。記憶部14は、例えば、変数xの初期値を記憶する。記憶部14は、例えば、低次元分配関数を示す情報を記憶する。
【0056】
出力部15は、各種情報を出力する。出力部15は、例えばCRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイ、有機EL(Electro-Luminescence)ディスプレイ等の表示装置を含んで構成される。出力部15は、これらの表示装置を管理装置1に接続するインタフェースとして構成されてもよい。出力部15は、例えば入力部12又は通信部13に入力された情報を出力する。
【0057】
図4は、実施形態におけるアニーラー2のハードウェア構成の一例を示す図である。アニーラー2は、バスで接続されたCPU等のプロセッサ93とメモリ94とを備える制御部21を備え、プログラムを実行する。アニーラー2は、プログラムの実行によって制御部21、通信部22、記憶部23及びアニール部24を備える装置として機能する。
【0058】
より具体的には、アニーラー2は、プロセッサ93が記憶部23に記憶されているプログラムを読み出し、読み出したプログラムをメモリ94に記憶させる。プロセッサ93が、メモリ94に記憶させたプログラムを実行することによって、アニーラー2は、制御部21、通信部22、記憶部23及びアニール部24を備える装置として機能する。
【0059】
制御部21は、アニーラー2が備える各機能部の動作を制御する。制御部21は、例えば、管理装置1の備える制御部11の制御を受けて、アニール部24の動作を制御する。制御部21は、例えばアニール部24によるアニーリングの実行の結果を記憶部23に記録する。制御部21は、例えば通信部22の動作を制御する。制御部21は、例えば通信部22の動作を制御して、管理装置1にアニーリングの実行の結果を送信する。制御部21は、例えば通信部22を介して、管理装置1の備える記憶部14から、記憶部14の備える情報を読み出してもよい。
【0060】
通信部22は、アニーラー2を管理装置1に接続するための通信インタフェースを含んで構成される。通信部22は、例えば通信先の管理装置1にアニーリングの実行結果を送信する。通信部22は、例えば管理装置1が送信した指示を受信する。
【0061】
記憶部23は、磁気ハードディスク装置や半導体記憶装置などのコンピュータ読み出し可能な記憶媒体装置(non-transitory computer-readable recording medium)を用いて構成される。記憶部23はアニーラー2に関する各種情報を記憶する。記憶部23は、例えばアニーラー2が備える各機能部の動作を制御するプログラムを予め記憶する。
【0062】
記憶部23は、例えば通信部22を介して制御部21が管理装置1の備える記憶部14から読み出した情報を記憶してもよい。記憶部23は、例えば制御部21で生じた各種情報を記憶する。記憶部23は、例えばアニール部24で得られた結果を記憶してもよい。
【0063】
アニール部24は、分配関数が、変数zの値が推定モデルにより推定された値に固定された低次元分配関数、で表される系、に対する最適化をアニーリングにより行う。アニール部24による最適化によって、固定最適化対象がアニーリングの実行により最適化された状態、における変数xの値、が得られる。
【0064】
図5は、実施形態におけるアニール部24の構成の一例を示す図である。アニール部24は、量子ビット体410、断熱制御部420及び測定装置430を備える。
【0065】
量子ビット体410は、複数の量子ビット411を有する。量子ビット体410は、例えば量子ドットを有する半導体基板である。このような場合、量子ビット411は、例えば量子ドット中の電子のスピンである。量子ビット体410は、窒素欠陥を有するダイヤモンド基盤であってもよい。このような場合、量子ビット411は、例えば窒素欠陥中の電子のスピンである。量子ビット体410は、超電導回路であってもよい。このような場合、量子ビット411は、例えば超電導量子ビットである。量子ビット体410は量子系の一例である。
【0066】
量子ビット体410の系の分配関数は、変数zの値が固定された低次元分配関数で表される分配関数である。量子ビット411の状態が、低次元分配関数の変数xの値を示す。
【0067】
断熱制御部420は、制御部11の制御を受けた制御部21の制御によって動作する。断熱制御部420は、量子ビット体410の量子状態を制御し、量子ビット体410の系のエネルギーを最小にするまで、量子ビット体410の量子状態を断熱的に変化させる。量子ビット体410の量子状態を制御し、量子ビット体410の系のエネルギーを最小にするまで、量子ビット体410の量子状態を断熱的に変化させる処理が、アニーリングの一例である。
【0068】
断熱制御部420は、例えば量子ビット体410に対して断熱的に変化する横磁場を印加することで量子ビット体410の量子状態を断熱的に変化させる。なお、量子ビット体410の量子状態とは、具体的には、量子ビット体410が含む全ての量子ビット411から成る複合量子系の量子状態である。
【0069】
測定装置430は、制御部11の制御を受けた制御部21の制御によって動作し、量子ビット体410の系のエネルギーが最小になったタイミングの量子ビット体410の量子状態を測定する。測定装置430は、量子ビット体410の量子状態を取得可能であればどのようなものであってもよい。測定装置430は、例えば磁束計を備える装置であって磁束計によって量子ビット体410の量子状態を測定する装置である。測定装置430は、例えばレーザーと光センサとを備える装置であってレーザーによって照射した光の散乱や反射等を光センサで受光することによって量子ビット体410の量子状態を測定する装置であってもよい。
【0070】
このような断熱制御部420と測定装置430との動作により、量子ビット体410の系のエネルギーが最小になったタイミングの変数xの値を得る処理が、ステップS103の処理の一例である。
【0071】
なお、測定装置430による測定結果は、固定最適化対象がアニーリングの実行により最適化された状態、における変数xの値、を示す結果である。制御部11及び制御部21は、測定装置430による測定結果を取得することで、固定最適化対象がアニーリングの実行により最適化された状態、における変数xの値、を示す結果を取得する。
【0072】
このようにアニール部24では、断熱制御部420の動作によるアニーリングの実行と、アニーリングの結果を測定装置430が測定することで変数xの値を取得することと、が行われる。
【0073】
このように構成された最適化システム100は、変数x及び補助変数zで表現される低次元分配関数によって分配関数が表される系に対するアニーリングと、補助変数zを推定する数理モデルであって学習により更新される数理モデルと、を用いて最適化を行う。そのため、<最適化システム100の奏する効果>で説明した効果を奏することができる。したがって、最適化システム100は、アニーリングによる最適化の実行による最適化の精度を高めることができる。
【0074】
(変形例)
なお、管理装置1とアニーラー2とは、必ずしも異なる装置として実装される必要は無い。管理装置1とアニーラー2とは、例えば両者の機能を併せ持つ1つの装置として実装されてもよい。
【0075】
なお、管理装置1は、ネットワークを介して通信可能に接続された複数台の情報処理装置を用いて実装されてもよい。この場合、管理装置1が備える各機能部は、複数の情報処理装置に分散して実装されてもよい。
【0076】
なお、アニーラー2は、ネットワークを介して通信可能に接続された複数台の情報処理装置を用いて実装されてもよい。この場合、アニーラー2が備える各機能部は、複数の情報処理装置に分散して実装されてもよい。
【0077】
なお、管理装置1とアニーラー2の各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されてもよい。プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。プログラムは、電気通信回線を介して送信されてもよい。
【0078】
なお、変数xは第1変数xの一例である。補助変数zは第2変数zの一例である。ステップS102の処理は、推定処理の一例である。ステップS103の処理は、アニーリング処理の一例である。ステップS104の処理は、判定処理の一例である。制御部11は、管理制御部の一例である。
【0079】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0080】
100…最適化システム、1…管理装置、2…アニーラー、11…制御部、12…入力部、13…通信部、14…記憶部、15…出力部、21…制御部、22…通信部、23…記憶部、24…アニール部、410…量子ビット体、411…量子ビット、420…断熱制御部、430…測定装置、91…プロセッサ、92…メモリ、93…プロセッサ、94…メモリ