(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024072926
(43)【公開日】2024-05-29
(54)【発明の名称】エネルギー関数の最小値探索装置、エネルギー関数の最小値探索方法、及びプログラム
(51)【国際特許分類】
G06N 99/00 20190101AFI20240522BHJP
G06N 10/60 20220101ALI20240522BHJP
【FI】
G06N99/00 180
G06N10/60
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022183811
(22)【出願日】2022-11-17
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(71)【出願人】
【識別番号】899000068
【氏名又は名称】学校法人早稲田大学
(74)【代理人】
【識別番号】100121706
【弁理士】
【氏名又は名称】中尾 直樹
(74)【代理人】
【識別番号】100128705
【弁理士】
【氏名又は名称】中村 幸雄
(74)【代理人】
【識別番号】100147773
【弁理士】
【氏名又は名称】義村 宗洋
(72)【発明者】
【氏名】大野 乾太郎
(72)【発明者】
【氏名】寺本 純司
(72)【発明者】
【氏名】八木 哲志
(72)【発明者】
【氏名】巴 徳瑪
(72)【発明者】
【氏名】川上 蒼馬
(72)【発明者】
【氏名】戸川 望
(57)【要約】
【課題】初期解を設定できないイジングマシンにおいて、疑似的に初期解を設定し、探索し得る準最適解の改良を図る。
【解決手段】上記課題を解決するため、エネルギー関数の最小値探索装置は、初期解取得部と、外部磁場係数補正部と、暫定解管理部とを含む。初期解取得部は、第1エネルギー関数の計算に必要な第1暫定解スピンを取得する。外部磁場係数補正部は、第1エネルギー関数について、外部磁場係数を第1暫定解スピンの再現に寄与する値に補正して、第2エネルギー関数を生成する。暫定解管理部は、イジングマシンで第2エネルギー関数の最小値を探索し、最小値を与えるスピンを第2暫定解スピンとし、第1暫定解スピンと第2暫定解スピンを用いて、第1エネルギー関数の値を評価する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
イジングモデルで表現したエネルギー関数の最小値をイジングマシンで探索する、エネルギー関数の最小値探索装置であって、
第1エネルギー関数の計算に必要な、第1暫定解スピンを取得する初期解取得部と、
前記第1エネルギー関数について、外部磁場係数を前記第1暫定解スピンの再現に寄与する値に補正して、第2エネルギー関数を生成する外部磁場係数補正部と、
イジングマシンで前記第2エネルギー関数の最小値を探索し、最小値を与えるスピンを第2暫定解スピンとし、前記第1暫定解スピンと前記第2暫定解スピンを用いて、前記第1エネルギー関数の値を評価する暫定解管理部と、
を含む、エネルギー関数の最小値探索装置。
【請求項2】
請求項1に記載のエネルギー関数の最小値探索装置であって、
前記外部磁場係数補正部は、前記第1エネルギー関数について、前記第1暫定解スピンのうち、+1のスピンには外部磁場係数を増加させる補正を行い、-1のスピンには外部磁場係数を減少させる補正を行うものである、
エネルギー関数の最小値探索装置。
【請求項3】
請求項1に記載のエネルギー関数の最小値探索装置であって、
前記外部磁場係数補正部は、外部磁場係数の補正を行うスピンを確率的に選択する、
エネルギー関数の最小値探索装置。
【請求項4】
請求項1に記載のエネルギー関数の最小値探装置であって、
終了判断部をさらに備え、
前記暫定解管理部は、前記第1暫定解スピンと前記第2暫定解スピンを用いて、前記第1エネルギー関数から第1暫定最小値と第2暫定最小値を計算し、前記第2暫定最小値が前記第1暫定最小値より小さい場合、前記第1暫定解を前記第2暫定解で更新し、
前記終了判断部が探索終了を判断するまで、前記外部磁場係数の補正と、前記第2エネルギー関数の最小値探索と、前記第1暫定解の更新を繰り返す、
エネルギー関数の最小値探索装置。
【請求項5】
イジングモデルで表現したエネルギー関数の最小値をイジングマシンで探索する、エネルギー関数の最小値探索方法であって、
第1エネルギー関数の計算に必要な、第1暫定解スピンを取得する第1ステップと、
前記第1エネルギー関数について、外部磁場係数を、前記第1暫定解スピンの再現に寄与する値に補正して、第2エネルギー関数を生成する第2ステップと、
イジングマシンで前記第2エネルギー関数の最小値を探索し、最小値を与えるスピンを第2暫定解スピンとする第3ステップと、
前記第1暫定解スピンと前記第2暫定解スピンを用いて、前記第1エネルギー関数の値を評価する第4ステップ、
を含む、エネルギー関数の最小値探索方法。
【請求項6】
請求項5に記載のエネルギー関数の最小値探索方法であって、
前記第2ステップは、前記第1エネルギー関数について、前記第1暫定解スピンのうち、+1のスピンには外部磁場係数を増加させる補正を行い、-1のスピンには外部磁場係数を減少させる補正を行うものである、
エネルギー関数の最小値探索方法。
【請求項7】
請求項5に記載のエネルギー関数の最小値探索方法であって、
前記第2ステップは、外部磁場係数の補正を行うスピンを確率的に選択するものである、
エネルギー関数の最小値探索方法。
【請求項8】
請求項1,2,3,4のいずれか一項に記載の、エネルギー関数の最小値探索装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
開示技術は、イジングマシンを用いて組合せ問題の準最適解を求める技術に関する。
【背景技術】
【0002】
組合せ最適化は、特定の条件を満たす多数の組合せの中から、特定の評価指標についてできるだけ良いものを選択する数理モデルである。組合せ最適化は、人員計画、経路探索、創薬といったビジネスでの意思決定から学術的な研究まで広い分野で現れる。
一方、組合せ最適化問題を効率的に(問題サイズに対して多項式時間で)解くことは従来のコンピュータでは難しい(NP問題)。そのため、物理現象などを利用して最適解の探索を行う計算機ハードウェアを用いて高速に組合せ最適化を行う技術が重要な技術となっている。
【0003】
イジングマシン(後述)は、イジングモデル(後述)の基底状態を探索する計算機である。組合せ最適化問題をイジングモデルで表現することで、イジングマシンは効率的に組合せ最適化問題の準最適解を求められる。イジングマシンによって得られる解は、スピンの初期状態に依存する。組合せ最適化問題の制約を満たした上で比較的良い解を初期解としてイジングマシンに設定すると、初期解を設定しないときと比較して、最終的に得られる解がより最適解に近づくことが知られている(非特許文献1)。
【0004】
<イジングモデル>
イジングモデルは磁性体の性質を表す模型である。イジングモデルの例を
図1に示す。
イジングモデルは、スピン(例えば101のσ
3)と、スピンをつなぐエッジ(例えば102のJ
2,3)からなる模型であり、スピンσ
iは、+1(104は上向き矢印で+1を示した例)あるいは-1(105は下向き矢印で-1を示した例)のいずれかの値をとる。J
i,jは相互作用係数であり、2つのスピンσ
i、σ
jの間にはたらく相互作用を表す。また、h
i(例えば103のh
1)は外部磁場係数であり、スピンσ
iに対する強制力を表す。h
iの値が大きいほど、σ
iの値は+1をとりやすく、h
iの値が小さいほど、σ
iの値は-1をとりやすい。イジングモデルのエネルギーは、式(1)のように表される。
【数1】
ただし、Nはスピン数を表し、σ^はスピンの集合σ^={σ
1,σ
2,...,σ
N} を表す。エネルギーH(σ^)が最小の状態を基底状態と呼ぶ。
なお、イジングモデルの「スピン」や「外部磁場係数」は、数理的モデルを表現するための抽象概念として上記の通り定義されるものであり、必ずしも物理学における「スピン」や「磁場」と関連しない。そして、イジングモデルは「スピン」や「磁場」以外の物理的手段によっても実装可能である。
【0005】
<QUBO>
QUBO(Quadratic Unconditional Binary Optimization)は、イジングモデルにおけるスピンσ
iをバイナリ変数q
iで置き換えたモデルであり、式(2)のように表される。
【数2】
ただし、Nはバイナリ変数の数を表し、q^はバイナリ変数の集合q^={q
1,q
2,...,q
N} を表す。q
iは、0あるいは1のいずれかの値をとる。
式(1)、式(2)をエネルギー関数と呼ぶ。
下記式(3)に示す変数変換を行い,J
i,jならびにh
iの値を修正することで、QUBOとイジングモデルは相互に変換できるため、QUBOとイジングモデルは等価である。
【数3】
エネルギー関数の定式化にイジングモデルを用いるかQUBOモデルを用いるかは、組合せ問題の性質に応じて、使い分ければよい。
【0006】
<イジングマシン>
イジングマシンは、イジングモデルあるいはQUBOモデルの基底状態を探索する計算機である。組合せ最適化問題をイジングモデルあるいはQUBOモデルで表現することで、イジングマシンは効率的に組合せ最適化問題の準最適解を求められる。イジングマシンには、量子アニーリングマシン、シミュレーテッドアニーリングに基づくマシン、シミュレーテッド分岐マシン、コヒーレントイジングマシンなどがある。
【0007】
<量子アニーリング>
量子アニーリングでは、初期状態としてスピンの状態を量子力学的に不確定にし、各スピンで同時に「+1」と「-1」の2つの値を取る状態(重ね合わせ状態)とする(
図2(a))。初期状態から量子ゆらぎの効果を徐々に小さくすることで、スピン間の相互作用「J
i,j」と外部磁場「h
i」の影響を強くし、基底状態に近づけながら各変数の値が自律的に定まるようにする(
図2(b))。
【先行技術文献】
【非特許文献】
【0008】
【非特許文献1】K. Fukada et al, "A Three-Stage Annealing Method Solving Slot-Placement Problems Using an Ising Machine," IEEE Access, vol. 9, pp. 134413-134426, 2021.
【発明の概要】
【発明が解決しようとする課題】
【0009】
いくつかのイジングマシンでは、そのハードウェアの原理上、初期解を設定できない。
例えば、量子アニーリングを求解原理とするイジングマシンでは、上述の通り、各スピンの初期状態は、値が未確定な重ね合わせ状態にする必要があり、スピンの確定値である初期解を初期状態とすることはできない。ランダムなDOPOのパルスの位相が時間発展して基底状態に近づくことで解が求まるコヒーレントイジングマシンも同様である。
このようなイジングマシンでは、初期解を用いて準最適解を改良することができなかった。
【課題を解決するための手段】
【0010】
上記課題を解決するため、開示技術に係るエネルギー関数の最小値探索装置は、初期解取得部と、外部磁場係数補正部と、暫定解管理部とを含む。
初期解取得部は、第1エネルギー関数の計算に必要な第1暫定解スピンを取得する。
外部磁場係数補正部は、第1エネルギー関数について、外部磁場係数を第1暫定解スピンの再現に寄与する値に補正して、第2エネルギー関数を生成する。
暫定解管理部は、イジングマシンで第2エネルギー関数の最小値を探索し、最小値を与えるスピンを第2暫定解スピンとし、第1暫定解スピンと第2暫定解スピンを用いて、第1エネルギー関数の値を評価する。
【発明の効果】
【0011】
開示したエネルギー関数の最小値探索装置および方法によれば、初期解を設定できないイジングマシンにおいて擬似的に初期解を設定することで、初期解を設定できるイジングマシンで初期解を設定した場合と同じように、より最適に近い解を得ることができる。
【図面の簡単な説明】
【0012】
【
図2】アニーリング前後のスピン状態の例を示す図。
【
図3】エネルギー関数の最小値探索装置の機能ブロック図。
【
図4】実施例1に係る最小値探索装置の作用を説明するフローチャート図。
【
図5】実施例2に係る最小値探索装置の作用を説明するフローチャート図。
【発明を実施するための形態】
【0013】
以下、開示技術の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【実施例0014】
実施例1では、目的エネルギー関数(組合せ問題の最適解を得るために、イジングマシンで最小値を求めたい関数)の外部磁場係数を、イジングマシンで探索したスピンの組合せを用いて逐次調整することで、準最適解の改善を図る。
【0015】
まず、外部磁場係数の調整について説明する。
目的エネルギー関数の初期解スピンσ^(0)={σ1(0),σ2(0),..., σN(0)} が与えられたとする。例えば、イジングマシンに目的エネルギー関数に則った相互作用係数と外部磁場係数を設定し、イジングマシンを一定時間実行して解を得て、これを初期解スピンとする。前述のように、イジングモデル(あるいはQUBO)において外部磁場係数hiの値が大きいほど対応するスピンσiは+1をとりやすく、外部磁場係数hiの値が小さいほど対応するスピンσiは-1をとりやすくなる。つまり、初期解スピンにもとづきイジングマシンがアニーリングを実行するには、初期解スピンの組合せが再現されやすいように外部磁場係数を調整すればよい。これにより、疑似的な、初期解スピンにもとづくアニーリングが実行されることが期待される。
【0016】
そこで、初期解スピンσ^(0)に基づき、集合A、Bをそれぞれ式(4)、式(5)で定義する。
【数4】
【数5】
なお、Zは整数全体の集合を意味する。iはスピンのインデックスなので、Aは+1のスピンの集合、Bは-1のスピンの集合である。
【0017】
Aに属するスピンiについて、イジングモデルにおける外部磁場係数h
iの値を、h'
i> h
i を満たす実数h'
iに更新すると外部磁場係数の値が大きくなり、スピンの値は+1をとりやすくなる。また、Bに属するスピンiについて、外部磁場係数h
iの値を、h''
i< h
i を満たす実数h''
iに更新すると外部磁場係数の値が小さくなり、スピンの値は-1をとりやすくなる。
ここで、式(6)に示す関数f
adjを導入する.
【数6】
ただし、a
i、b
iはそれぞれ、a
i≧0、b
i≦0を満たす定数である。f
adjを、以後、外部磁場調整項と呼ぶ。
また、λを正の定数とし、初期解スピンに基づく外部磁場調整項を考慮した新たなエネルギー関数H
wi(σ^)を式(7)のように定義する。
【数7】
式(7)に式(1)と式(6)を代入し、H
wi(σ^)を次のように変形する。
【数8】
【数9】
【数10】
式(8)、(9)より、H
wiは、Aに属するスピンについて外部磁場が(h
i+λa
i)に更新されている。また、式(8)、(10)より、Bに属するスピンについて外部磁場が(h
i+λb
i)に更新されている。
ここで、a
i≧0, λ > 0であるため式(9)よりh'
i ≧ h
iとなり、集合Aのスピンσ
iの値を+1にする強制力が大きくなる。また。b
i ≦ 0, λ> 0 であるため、式(10)よりh''
i ≦ h
iとなり、集合Bのスピンσ
iの値を-1にする強制力が大きくなる。
つまり、式(8)、(9)、(10)のようにエネルギー関数を変形することで、擬似的に初期解スピンを導入できることが期待される。
【0018】
図3に、開示技術の実施例1に係る最小値探索装置301の機能ブロック図を示す。
最小値探索装置301は、イジングマシン302、初期解取得部303、外部磁場係数補正部304、暫定解管理部305、終了判断部306を含み、エネルギー関数を入力、エネルギー関数の最小値を出力とする。
【0019】
図4は、実施例1に係る最小値探索装置の作用を説明するフローチャートである。
初期解取得部303は、目的エネルギー関数(解きたい組合せ最適化問題をイジングモデルで定式化した関数。式(1))に則って、イジングマシンのスピン数Nと、相互作用係数J
i,jと、外部磁場係数h
iを設定(初期設定)する(ステップS401)。
初期解取得部303はイジングマシンを動作させ、初期設定の下で目的エネルギー関数を最小化するスピンの組み合わせ(初期解スピン)を探索し、結果σ^(0)を得る。また暫定解管理部305は初期解取得部303からからσ^(0)を取得し、暫定解スピンt^とする(ステップS402)。
【0020】
外部磁場係数補正部304は、t^が与えるスピンの組合せに基づいて、式(8)、(9)、(10)で与えられる修正エネルギー関数Hwi(σ^)を生成し、イジングマシンの設定のうち、外部磁場係数hiを式(9)のh'iと式(10)のh''iで更新する(ステップS403)。なお、集合Aと集合Bは、式(4)、(5)のσ^(0)をt^に換えて分類する。
外部磁場係数補正部304は、イジングマシンを動作させ、修正エネルギー関数Hwi(σ^)を最小化するスピンの組み合わせを探索し、結果σ^(1)を得る。
暫定解管理部305は、外部磁場係数補正部304からσ^(1)をを取得し、s^とする(ステップS404)。
【0021】
暫定解管理部305は、目的エネルギー関数Hについて、H(s^)とH(t^)との値を比較する。H(s^)<H(t^)であれば(ステップS405のYes)、s^はt^より良い解を与えているので、s^をt^に代入して暫定解スピンt^を更新する(ステップS406)。
H(s^)≧H(t^)の場合(ステップS405のNo)は、暫定解スピンを更新しないでステップS407に進む。
終了判断部306は、最小値探索手続きが終了条件を満たすか否か判断する。終了条件を満たす場合(ステップS407のYes)、最小値探索装置301は手続きを終了し、得られた最小値を出力する。終了条件は、例えば、ステップS407からS403へのループ回数、暫定解スピンt^の更新回数、H(σ^(0))に対するH(t^)の改善度、所定回数ループしても解が改善しなかった場合、などを指標とすることができる。
終了条件を満たさない場合(ステップS407のNo)はステップS403に戻り、最新の暫定解スピンt^に基づいて式(4)、(5)のグループ分けを行い、式(9)のh'iと式(10)のh''iを更新する。
本開示ではCVRP問題をQUBOモデルへ変換する作業の詳細には立ち入らない。CVRPと量子アニーリングについては、例えば「S. Feld et al.," A Hybrid Solution Method for the Capacitated Vehicle Routing Problem Using a Quantum Annealer", Frontiers in ICT, Volume 6, Article 13, June 2019」(参考文献1)が詳しい。
外部磁場調整項を含まないエネルギー関数(式(13))を用いて、イジングマシンによる解の探索を100回実行し、得られた実行可能解のうち総経路長が最小のものを、第1実験の初期解として利用した。
式(13)のパラメータのうち、α,β,δ,λは顧客間距離の最大値とし、γは1とした。また、磁場の調整は式(11)、(12)に従い、外部磁場を調整した後、連続して2回、暫定解と全く同じ解が得られた場合は、λの値を0.9λに更新して、エネルギー関数に占める初期解の影響を小さくした。第1実験のループ数は100回とし、p=0, 0.25, 0.5, 0.75, 1の5通りで実験を行った。また、イジングマシンの1回の実行時間は1,000msとした。なお、p=0とは、式(11)、(12)に示す外部磁場調整項において、ai, biの値が常にai=bi=0となるということであり、外部磁場の調整は全く行われない。つまり、初期解を得るための100回の試行と、p=0の下での100回の試行、合計200回の試行のうち、最も良い解を記録した。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。