(58)【調査した分野】(Int.Cl.,DB名)
複数の変数を用いて生成された評価関数(Hopt)が最小値となる条件を満たす最適化問題をイジング型ハードウェア(2)を用いて解くにあたり、当該最適化問題の評価関数を前記イジング型ハードウェアの制約に適合したハミルトニアン(Hmap)を構成する評価関数変換装置(3)であって、
前記変数の値と前記評価関数に前記変数の値を代入したときの評価値との組み合わせを複数サンプリングするサンプリング部(7)と、
前記サンプリング部によりサンプリングされた複数のサンプリング結果に合わせて前記ハミルトニアンを構成するハミルトニアン構成部(8)と、を備え、
前記ハミルトニアン構成部は、前記複数の変数の間を結合しない非結合数を所定以上含む制約を満たすように前記ハミルトニアンを構成する評価関数変換装置。
前記ハミルトニアン構成部は、前記イジング型ハードウェアの制約により結合されていない前記複数の変数の間の相互作用係数を0とし、前記イジング型ハードウェアの制約により結合された前記複数の変数の間の相互作用係数を用いてハミルトニアンを構成する請求項1記載の評価関数変換装置。
前記ハミルトニアン構成部は、前記サンプリング部によりサンプリングされた評価値が小さくなるに従って当該評価値に対応した評価関数との誤差に大きな重み付け値を乗算して前記ハミルトニアンを構成する請求項1から5の何れか一項に記載の評価関数変換装置。
複数の変数を用いて生成された評価関数(Hopt)が最小値となる条件を満たす最適化問題をイジング型ハードウェア(2)を用いて解くにあたり、当該最適化問題の評価関数をイジング型ハードウェアの制約に適合したハミルトニアン(Hmap)を構成する評価関数変換装置に、
前記変数の値と前記評価関数に前記変数の値を代入したときの評価値との組み合わせを複数サンプリングする第1手順と、
前記サンプリングされた複数のサンプリング結果に合わせて前記ハミルトニアンを構成する第2手順と、を備え、
前記第2手順では、前記複数の変数の間を結合しない非結合数を所定以上含む制約を満たすように前記ハミルトニアンを構成する、
ことを実行させるためのプログラム。
前記第2手順では、前記イジング型ハードウェアの制約により結合されていない前記複数の変数の間の相互作用係数を0とし、前記イジング型ハードウェアの制約により結合された前記複数の変数の間の相互作用係数を用いてハミルトニアンを構成する、
ことを実行させるための請求項8記載のプログラム。
前記第1手順においてサンプリングされた評価値が小さくなるに従って、前記第2手順では当該評価値に対応した評価関数との誤差に大きな重み付け値を乗算して前記ハミルトニアンを構成する、ことを実行させるための請求項8から12の何れか一項に記載のプログラム。
【発明を実施するための形態】
【0010】
以下、本発明の評価関数変換装置及びプログラムの幾つかの実施形態について図面を参照して説明する。以下の実施形態中では、各実施形態間で同一機能または類似機能を備えた部分に同一符号を付して説明を行い、同一又は類似機能を備えた構成及びその作用、連携動作説明等を必要に応じて省略する。
【0011】
(第1実施形態)
図1Aから
図4は、第1実施形態の説明図を示している。
図1Aに示す量子イジングマシン1は、機能特化型のイジング型ハードウェア2を用いて構成され、複数の変数xの間の相互作用をハードウェアの物理的な制約として構成し、物質の量子力学的な性質を利用して最適化問題と同じ状況を疑似的に再現してシミュレーションを実行するように構成されている。
【0012】
図1Aに示すコンピュータ3は評価関数変換装置として機能するものであり、この量子イジングマシン1のイジング型ハードウェア2に適合した形態に評価関数HoptをハミルトニアンHmapに構成する機能を備えた装置である。このコンピュータ3は、CPU4と、ROM、RAM等のメモリ5と、入出力インタフェース6とをバス接続した汎用コンピュータを用いて構成される。このコンピュータ3は、CPU4によってメモリ5に記憶された変換プログラムを実行し、各種手順を実行することで評価関数Hoptの変換処理を実行する。メモリ5は非遷移的実体的記録媒体として用いられる。
【0013】
量子イジングマシン1により実行される最適化処理は、1以上のN次元を備えたユークリッド空間からなる探索空間を想定し、この探索空間の中で、複数の要求や制約によって生成された評価関数Hoptの最小値、または、評価関数Hoptが最小値となる条件を満たす変数x、すなわち最適解を求める処理を示す。
【0014】
評価関数Hoptは、複数の要求や制約によって生成され、1以上のN個の変数x(パラメータ)に基づいて導出される数式による関数を示すものであり、例えば任意の多項式、有理関数、無理関数、指数関数、対数関数やその加減乗除等による組み合わせなどを挙げることができる。
図1Bに示すように、コンピュータ3は、その実現する機能として、サンプリング部7、ハミルトニアン構成部8などの各種機能を備える。
【0015】
図2は、コンピュータ3により実行される評価関数Hoptの再構成処理手順をフローチャートにより概略的に示している。まずコンピュータ3は、
図2のS1において実際に解きたい評価関数Hoptの変数xに例えばランダムで決定した値x
1…x
μ…x
Nsampleを代入し、それぞれの評価値E
1…E
μ…E
Nsampleを取得する。
図3にN=1のときのイメージを示している。これはコンピュータ3のサンプリング部7の機能により第1手順として実行される。次に、コンピュータ3は、
図2のS2においてハミルトニアンHmapを構成する。このとき、例えば下記の(1)式のようにハミルトニアンHmapを構成する。これはコンピュータ3のハミルトニアン構成部8の機能により第2手順として実行される。
【0016】
【数1】
ここで、xは変数行列、hは各変数xに固有に作用する重み行列、を示しており、さらにJは複数の変数xの間に作用する相互作用係数行列を示すものである。一般化すると下記の(2)式のように表すことができる。
【0017】
【数2】
量子イジングマシン1のハードウェア2において相互作用係数は基本的にJij =Jjiとなっている為、以降の例ではJij =Jjiと設定して説明を行う。前述の(1)式は、S1においてサンプリングされた評価値E
1…E
Nsampleのサンプリング結果を説明するために用いられる新たな評価関数としてのハミルトニアンHmapであり、この(1)式の右辺第1項が二次的相互作用によるエネルギを表しており、右辺第2項が変数x
1…x
Nsampleのそれぞれの重みによるエネルギを表している。したがって(1)式では、任意の2つの変数x
i,x
jのペアの間に作用する相互作用、すなわち二次的相互作用と、変数x自身に作用する重みエネルギ、すなわち一次的相互作用とを用いている。ここでは、説明の簡単化のため、(1)式を用いた例を示すが、三次以上の相互作用、すなわち、任意の3つ以上の変数xの間に作用する相互作用、をも考慮して表現するようにしても良い。
【0018】
その後、コンピュータ3は、制約に基づいて誤差を最小化する。このとき(3)式のように最小化条件を満たす行列J,hを導出することが望ましい。この(3)式においては、サンプリングされた評価値E
μと、ハミルトニアンHmap(x
μ)との差の二乗の全てのサンプリング結果の和が最小となるように各行列J,hを導出する。このときの制約条件は、(2)式で示される相互作用係数Jijが零成分となる条件を所定以上含む、すなわち複数の変数xの間を結合しない非結合数を所定以上含むようにすることとしている。
【数3】
【0019】
(2)式に示される相互作用係数Jijについては、Jijが極力多く零成分となる条件を求めることが望ましく、いわゆるスパース解を求めることが望ましい。するとイジング型ハードウェア2の制約に適合しやすくなると共に計算量も少なくなり、素早く最適解を導出できるようになる。さらにより望ましい詳細な条件を言及すれば、Jijの零成分を所定以上含むようにするため、例えば、以下に示す(4)式を満たすように制約条件を加入することが望ましい。
【0020】
【数4】
この(4)式の第1項は(3)式と同一であるが、(4)式においては第2項を規定することで制約条件を加入している。この(4)式の第2項は、相互作用係数Jijの絶対値、すなわち|Jij|の全ての和を小さくする制約を加えることを示している。この(4)式内のλは定数を示しており、Jijを0とする要素数をλの定数値により調整できることが導き出されている。ここで|Jij|の和を極力小さくすることは、相互作用係数Jijの零成分を多めにする解を見つけやすくなることに繋がり、これにより、複数の変数xの間を相互作用する結合数を低減でき、この結果、複数の変数xの間を結合しない非結合数を増加できる。
【0021】
以下、この(4)式の解法について説明する。まず和記号Σを用いて表現した(4)式について、行列を用いて(5)式に示すように展開する。(5)式中のEは、サンプリングされた評価値E
μを行列で示したサンプリング行列を示している。
但し、(4)式中の一次項となるhについては、本願の特徴とは直接関係しないため、ここでは説明を省略している。(5)式中のx
μ^T・J・x
μは、相互作用係数Jと変数xとの内積に応じた値となり、言い換えるとある変数xに対し結合が存在する2つの変数xとの間の相互作用の強さを示す項となる。このとき、(5)式の右辺中のEベクトルは、サンプリングしたNsample個の評価値をベクトル表現している値である。
【数5】
【0022】
また(5)式中の~Jベクトルは、行番号(i−1)(N−i/2)+(j−i)の要素が下記の(6)式に示すように設定される。言い換えると、~Jベクトルは、(7)式に示すように、J行列中に三角形で囲んだ右上側部分Aを用いて並べて示すことが可能な列ベクトルを示している。ここではJij=Jjiに設定することで各Jijの2倍の値を~Jベクトルの要素としている。
【数6】
【数7】
【0023】
またS行列は、変数xの掛け算の全ての組合せを示すもので(8)式のように表される。
【数8】
この条件を満たす(5)式の~Jベクトルを求めることにより、Jijの零成分を極力多めにした(4)式中の相互作用係数Jを算出することが可能である。この(5)式の第1項と第2項とで~Jベクトルを変数分離し、等式制約付きの最適化問題に変換すると(9)式のように表すことができる。
【数9】
この等式制約付きの最適化問題を解く手法としては様々な手法が考えられるが、発明者らは等式制約を拡張ラグランジュ法で取り扱うことが望ましいことを導出している。(9)式に拡張ラグランジュ法を適用すると、下記の(10)式のように示すことができる。
【数10】
【0024】
(10)式の第2項及び第3項が、(9)式の等式制約~J=~Zに関して拡張ラグランジュ法を用いた数式展開を示しており、(9)式の等式制約~J=~Zに徐々に近づけるために設けられる項となる。そして(10)式のρが等式制約~J=~Zからのずれを検出し、拡張ラグランジュ未定定数行列νを等式制約~J=~Zに近づくように更新する。このような処理を行うことで、等式制約~J=~Zを満足しながら(10)式中の右辺、すなわち(5)式を極小化できる。
【0025】
この最適化問題の解法処理を
図4のフローチャートに概略的に示している。
図4に示すように、コンピュータ3のCPU4は、S11において~Jを更新し、S12において~Zを更新し、S13においてνを更新する。
図4中のアスタリスク「*」は、更新後の値を示している。~Jの更新処理、~Zの更新処理、νの更新処理の方法は、それぞれ下記の(11)式、(12)式、(13)式に示す。
【数11】
【数12】
【数13】
ここで(12)式の右辺は、軟判定しきい値関数(Soft thresholding function)を示している。軟判定しきい値関数の説明は、非特許文献2を参照。
【0026】
コンピュータ3のCPU4は、これらのS11〜S13の処理を繰り返し、S14において例えば所定回数以上繰り返されることで終了条件を満たしたときに極小化したと見做して処理を終了する。S14の終了条件としては、所定回数以上繰り返す、又は、~Jの変化が所定値以下となる条件を満たす、など様々な条件を適用できる。このようにして、非結合数を所定より多くした相互作用係数~Jを決定でき、制約に基づいて誤差を最小化したハミルトニアンHmapを構成できる。
【0027】
この後、
図2のS3に示すように、結合が所定数より多い変数xについては、マイナー埋め込み法を用いて変数xを複数のスピンで表現する。このS3の処理を行うことにより、たとえ複雑な結合をする変数xが残存していたとしても、1スピン当たりの結合を単純化することができる。この方法は、非特許文献1等に記載の周知の方法であるため詳細な説明を省略する。これにより、イジング型ハードウェア2のハードウェア制約に合わせたマッピングが可能となる。
【0028】
<本実施形態の概念的なまとめ>
以上説明したように本実施形態によれば、変数xの値と評価関数Hoptに変数xの値を代入したときの評価値E
μとの組み合わせを複数サンプリングし、サンプリングされた複数のサンプリング結果に合わせて評価関数Hoptを(1)式で定義されるハミルトニアンHmapに再構成、変換する。このとき、(3)式を満たすJ、hを導出することで複数の変数xの間を結合しない非結合数を所定より多く含む制約を満たすハミルトニアンHmapに変換している。このため、イジング型ハードウェア2の制約に適合させるように、ハミルトニアンHmapの変換処理を効率的に実施できる。
【0029】
また本実施形態によれば、(3)式を(4)式に変換し、(4)式を最小化する条件を満たすJ、hを求めている。(4)式、(5)式で表される最適化問題は、解析学上ではL1ノルムの最小化問題に帰結し、Jijの零成分を比較的多めにする解を見つけやすくなる。このため、相互作用行列Jを(2)式のように定義したとしてもスパースな解を見つけやすくなり、多くのJijを0とすることができ、変数x間の結合数を少なくできる。
【0030】
(第2実施形態)
以下、第2実施形態について説明する。第2実施形態では、第1実施形態で説明した(4)式に代えて、以下に示す(14)式を満たすようにハミルトニアンHmapを求める。
【数14】
【0031】
この(14)式の第1項は(3)式と同一であるが、(14)式では第2項を規定することで制約条件を加入している。この(14)式の第2項は、Jij^2の全ての和を小さくする制約を加えることを示している。この(14)式内のλは定数を示しており、Jijを0とする要素数をλの定数値により調整できることが導き出されている。
ここでJij^2の和を極力小さくすることは、Jijの零成分を多めにする解を見つけやすくなることに繋がり、これにより、複数の変数xの間の相互作用として結合する数を低減でき、この結果、複数の変数xの間を結合しない非結合数を増加できることも考えられる。
【0032】
他方、前述した(4)式、(5)式で表される最適化問題は、前述したように解析学上ではL1ノルムの最小化問題に帰結し、Jijの零成分を比較的多めにする解を見つけやすくなるが、(14)式で表される最適化問題は、解析学上ではL2ノルムの最適化問題に帰結するため、L1ノルムの最適化問題よりもスパースな解を選択し難くなり、Jijの零成分は、前述に比較して少なくなる解しか見つけられないことが判明している。非特許文献2参照。そこで前述の(14)式で表される最適化問題を適用する際には、イジング型ハードウェア2の構成に合わせてJijの零成分を割り当てるようにすることが望ましい。
【0033】
簡単な例を説明すると、例えばイジング型ハードウェア2における変数xの相互作用が、例えば
図1Aに示した格子状に隣接する変数xだけに影響し、その他の変数xとは非結合となる3×3の最近接イジングモデルのハードウェア2であった場合には、相互作用行列Jは、以下の(15)式のように表すことができる。
【数15】
このようなときには、第1実施形態と同様に、和記号Σを用いて表現した(14)式について、行列に変換して(16)式のように展開できる。
【数16】
【0034】
この(16)式を用いた場合には、以下の(17)式に示すように、~Jを求めることができる。したがって、第1実施形態の
図4に示したような繰り返し処理を行う必要がなくなり、一回の行列演算処理により素早く~Jを導出でき、ハミルトニアンHmapを素早く構成できる。
【数17】
【0035】
発明者らによるシミュレーション検証によれば、第1実施形態の処理方法を用いた方が相互作用係数Jijを0とする要素が増えるため結合数の低減効果を得やすくなるが、第2実施形態の処理方法を採用すれば、そもそもイジング型ハードウェア2に実装されていない相互作用係数Jijを予め0に設定しているため、これ以上に結合数を減少させる必要は必ずしもなくなる。すなわち第1、第2実施形態は、双方共に利点があることが把握できる。
【0036】
<本実施形態の概念的なまとめ>
本実施形態では、イジング型ハードウェア2の中の結合を有しないJijを予め零成分とすることで、イジング型ハードウェア2の制約により結合されていない複数の変数xの間の相互作用係数Jijを0としているため、イジング型ハードウェア2の制約と完全にマッチングしたハミルトニアンHmapを構成できる。このような方法を適用すると、例えば第1実施形態で説明した
図2のS3に示す処理、すなわちマイナー埋め込み法を用いて変数xを複数のスピンで表現する処理を行う必要がなくなる。
【0037】
(第3実施形態)
第3実施形態では、サンプリングされた評価値が小さくなるに従って対応した評価値に対応した評価関数との誤差に大きな重み付け値を乗算しているところに特徴を備える。
(3)式、(4)式、(14)式の中で、サンプリング評価値E
μとハミルトニアンHmapとの誤差を検出する最適化対象部分、すなわち(18−1)式の左辺を、下記の(18−1)式の右辺のように置き換えることが望ましい。このとき、f(E
μ)は(18−2)式の条件を満たす関数を示している。
【数18】
【0038】
この(18−2)式においては、f(E
μ)は所定の関数であり、df(E
μ)/dx<0、f(E
μ)≧0を満たすことから、f(E
μ)は正の値を示す単純減少関数である。このようにすることで、サンプリングの評価値E
μとハミルトニアンHmapとの誤差を検出するときに、評価値E
μが小さいときに重み付けf(E
μ)を大きくすることができる。この結果、最適化問題において、より重要視すべき低評価値に重点を置いてハミルトニアンHmapを構成できる。
【0039】
(第4実施形態)
図5は第4実施形態の追加説明図を示している。第4実施形態においては、評価値E
μをサンプリングするときの処理内容に特徴を備えるため、以下ではこの説明を行う。
例えば、第1実施形態では、評価値E
μをサンプリングするときに初期条件として変数xにランダムな値x
random1、…x
randomμ…を設定した上で評価値E
1、…E
μ…を取得している。このため、評価値E
μは評価関数Hoptの中でもランダムな値として得られる。
そこで本実施形態では、評価関数Hoptの中でもより低い評価値E
μを得るために、
図5に示すように、ランダムな値x
random1、…x
randomμ…を設定した上で、勾配法を用いてこれらの評価値を極小値に近接するように移動させた結果E
1、…E
μ…をサンプリングしている。すると、より低い評価値E
1、…E
μ…が得られる変数x
1、…x
μ…によりサンプリングできるようになり、より重要度の高い変数x
1、…x
μ…とその評価関数Hoptの評価値E
1、…E
μ…を得ることができる。
【0040】
以上説明したように、本実施形態によれば、ランダムに決定した変数x
random1、…x
randomμ…を初期条件とし、勾配法により評価関数Hoptに沿って評価値を極小値に近接するように移動させた結果E
1、…E
μ…をサンプリングするようにしている。このため、より極小値に近接した値をサンプリングできるようになり、より重要度の高い変数x
1、…x
μ…の値とその評価関数Hoptの評価値E
1、…E
μ…を得ることができる。
この結果、単にランダムに得られた変数x
random1、…x
randomμ…の値とその評価値からハミルトニアンHmapを構成する処理方法に比較して、より低い評価値E
1、…E
μ…のサンプル数を増やすことができる。
【0041】
(他の実施形態)
本発明は、上記した実施形態に限定されるものではなく、以下のように変形又は拡張することができる。
第1実施形態では、
図2のS3の処理を設けて変数を複数のスピンで表現してイジング型ハードウェア2に適合させるようにした形態を示したが、
図2のS3の処理は必要に応じて設ければ良い。
【0042】
前述実施形態の構成、処理内容を組み合わせて構成することもできる。また、特許請求の範囲に記載した括弧内の符号は、本発明の一つの態様として前述する実施形態に記載の具体的手段との対応関係を示すものであって、本発明の技術的範囲を限定するものではない。前述実施形態の一部を、課題を解決できる限りにおいて省略した態様も実施形態と見做すことが可能である。また、特許請求の範囲に記載した文言によって特定される発明の本質を逸脱しない限度において、考え得るあらゆる態様も実施形態と見做すことが可能である。
【0043】
また本発明は、前述した実施形態に準拠して記述したが、本発明は当該実施形態や構造に限定されるものではないと理解される。本発明は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範畴や思想範囲に入るものである。