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

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

▶ 日本電信電話株式会社の特許一覧 ▶ 学校法人早稲田大学の特許一覧

特開2024-72926エネルギー関数の最小値探索装置、エネルギー関数の最小値探索方法、及びプログラム
<>
  • 特開-エネルギー関数の最小値探索装置、エネルギー関数の最小値探索方法、及びプログラム 図1
  • 特開-エネルギー関数の最小値探索装置、エネルギー関数の最小値探索方法、及びプログラム 図2
  • 特開-エネルギー関数の最小値探索装置、エネルギー関数の最小値探索方法、及びプログラム 図3
  • 特開-エネルギー関数の最小値探索装置、エネルギー関数の最小値探索方法、及びプログラム 図4
  • 特開-エネルギー関数の最小値探索装置、エネルギー関数の最小値探索方法、及びプログラム 図5
  • 特開-エネルギー関数の最小値探索装置、エネルギー関数の最小値探索方法、及びプログラム 図6
  • 特開-エネルギー関数の最小値探索装置、エネルギー関数の最小値探索方法、及びプログラム 図7
  • 特開-エネルギー関数の最小値探索装置、エネルギー関数の最小値探索方法、及びプログラム 図8
  • 特開-エネルギー関数の最小値探索装置、エネルギー関数の最小値探索方法、及びプログラム 図9
< >
(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のσ)と、スピンをつなぐエッジ(例えば102のJ2,3)からなる模型であり、スピンσは、+1(104は上向き矢印で+1を示した例)あるいは-1(105は下向き矢印で-1を示した例)のいずれかの値をとる。Ji,jは相互作用係数であり、2つのスピンσ、σの間にはたらく相互作用を表す。また、h(例えば103のh)は外部磁場係数であり、スピンσに対する強制力を表す。hの値が大きいほど、σの値は+1をとりやすく、hの値が小さいほど、σの値は-1をとりやすい。イジングモデルのエネルギーは、式(1)のように表される。
【数1】

ただし、Nはスピン数を表し、σ^はスピンの集合σ^={σ,...,σ} を表す。エネルギーH(σ^)が最小の状態を基底状態と呼ぶ。
なお、イジングモデルの「スピン」や「外部磁場係数」は、数理的モデルを表現するための抽象概念として上記の通り定義されるものであり、必ずしも物理学における「スピン」や「磁場」と関連しない。そして、イジングモデルは「スピン」や「磁場」以外の物理的手段によっても実装可能である。
【0005】
<QUBO>
QUBO(Quadratic Unconditional Binary Optimization)は、イジングモデルにおけるスピンσをバイナリ変数qで置き換えたモデルであり、式(2)のように表される。
【数2】

ただし、Nはバイナリ変数の数を表し、q^はバイナリ変数の集合q^={q,q,...,q} を表す。qは、0あるいは1のいずれかの値をとる。
式(1)、式(2)をエネルギー関数と呼ぶ。
下記式(3)に示す変数変換を行い,Ji,jならびにhの値を修正することで、QUBOとイジングモデルは相互に変換できるため、QUBOとイジングモデルは等価である。
【数3】

エネルギー関数の定式化にイジングモデルを用いるかQUBOモデルを用いるかは、組合せ問題の性質に応じて、使い分ければよい。
【0006】
<イジングマシン>
イジングマシンは、イジングモデルあるいはQUBOモデルの基底状態を探索する計算機である。組合せ最適化問題をイジングモデルあるいはQUBOモデルで表現することで、イジングマシンは効率的に組合せ最適化問題の準最適解を求められる。イジングマシンには、量子アニーリングマシン、シミュレーテッドアニーリングに基づくマシン、シミュレーテッド分岐マシン、コヒーレントイジングマシンなどがある。
【0007】
<量子アニーリング>
量子アニーリングでは、初期状態としてスピンの状態を量子力学的に不確定にし、各スピンで同時に「+1」と「-1」の2つの値を取る状態(重ね合わせ状態)とする(図2(a))。初期状態から量子ゆらぎの効果を徐々に小さくすることで、スピン間の相互作用「Ji,j」と外部磁場「h」の影響を強くし、基底状態に近づけながら各変数の値が自律的に定まるようにする(図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】
図1】イジングモデルの一例を示す図。
図2】アニーリング前後のスピン状態の例を示す図。
図3】エネルギー関数の最小値探索装置の機能ブロック図。
図4】実施例1に係る最小値探索装置の作用を説明するフローチャート図。
図5】実施例2に係る最小値探索装置の作用を説明するフローチャート図。
図6】組合せ最適化装置の機能ブロック図。
図7】第1実験の結果を示す図。
図8】第2実験の結果を示す図。
図9】コンピュータの機能構成例を示す図。
【発明を実施するための形態】
【0013】
以下、開示技術の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【実施例0014】
実施例1では、目的エネルギー関数(組合せ問題の最適解を得るために、イジングマシンで最小値を求めたい関数)の外部磁場係数を、イジングマシンで探索したスピンの組合せを用いて逐次調整することで、準最適解の改善を図る。
【0015】
まず、外部磁場係数の調整について説明する。
目的エネルギー関数の初期解スピンσ^(0)={σ(0),σ(0),..., σ(0)} が与えられたとする。例えば、イジングマシンに目的エネルギー関数に則った相互作用係数と外部磁場係数を設定し、イジングマシンを一定時間実行して解を得て、これを初期解スピンとする。前述のように、イジングモデル(あるいはQUBO)において外部磁場係数hの値が大きいほど対応するスピンσは+1をとりやすく、外部磁場係数hの値が小さいほど対応するスピンσは-1をとりやすくなる。つまり、初期解スピンにもとづきイジングマシンがアニーリングを実行するには、初期解スピンの組合せが再現されやすいように外部磁場係数を調整すればよい。これにより、疑似的な、初期解スピンにもとづくアニーリングが実行されることが期待される。
【0016】
そこで、初期解スピンσ^(0)に基づき、集合A、Bをそれぞれ式(4)、式(5)で定義する。
【数4】

【数5】

なお、Zは整数全体の集合を意味する。iはスピンのインデックスなので、Aは+1のスピンの集合、Bは-1のスピンの集合である。
【0017】
Aに属するスピンiについて、イジングモデルにおける外部磁場係数hの値を、h'> h を満たす実数h'に更新すると外部磁場係数の値が大きくなり、スピンの値は+1をとりやすくなる。また、Bに属するスピンiについて、外部磁場係数hの値を、h''< h を満たす実数h''に更新すると外部磁場係数の値が小さくなり、スピンの値は-1をとりやすくなる。
ここで、式(6)に示す関数fadjを導入する.
【数6】

ただし、a、bはそれぞれ、a≧0、b≦0を満たす定数である。fadjを、以後、外部磁場調整項と呼ぶ。
また、λを正の定数とし、初期解スピンに基づく外部磁場調整項を考慮した新たなエネルギー関数Hwi(σ^)を式(7)のように定義する。
【数7】

式(7)に式(1)と式(6)を代入し、Hwi(σ^)を次のように変形する。
【数8】

【数9】

【数10】

式(8)、(9)より、Hwiは、Aに属するスピンについて外部磁場が(h+λa)に更新されている。また、式(8)、(10)より、Bに属するスピンについて外部磁場が(h+λb)に更新されている。
ここで、a≧0, λ > 0であるため式(9)よりh'≧ hとなり、集合Aのスピンσの値を+1にする強制力が大きくなる。また。b ≦ 0, λ> 0 であるため、式(10)よりh'' ≦ hとなり、集合Bのスピンσの値を-1にする強制力が大きくなる。
つまり、式(8)、(9)、(10)のようにエネルギー関数を変形することで、擬似的に初期解スピンを導入できることが期待される。
【0018】
図3に、開示技術の実施例1に係る最小値探索装置301の機能ブロック図を示す。
最小値探索装置301は、イジングマシン302、初期解取得部303、外部磁場係数補正部304、暫定解管理部305、終了判断部306を含み、エネルギー関数を入力、エネルギー関数の最小値を出力とする。
【0019】
図4は、実施例1に係る最小値探索装置の作用を説明するフローチャートである。
初期解取得部303は、目的エネルギー関数(解きたい組合せ最適化問題をイジングモデルで定式化した関数。式(1))に則って、イジングマシンのスピン数Nと、相互作用係数Ji,jと、外部磁場係数hを設定(初期設定)する(ステップS401)。
初期解取得部303はイジングマシンを動作させ、初期設定の下で目的エネルギー関数を最小化するスピンの組み合わせ(初期解スピン)を探索し、結果σ^(0)を得る。また暫定解管理部305は初期解取得部303からからσ^(0)を取得し、暫定解スピンt^とする(ステップS402)。
【0020】
外部磁場係数補正部304は、t^が与えるスピンの組合せに基づいて、式(8)、(9)、(10)で与えられる修正エネルギー関数Hwi(σ^)を生成し、イジングマシンの設定のうち、外部磁場係数hを式(9)のh'と式(10)のh''で更新する(ステップ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'と式(10)のh''を更新する。
【実施例0022】
実施例1では、ステップS403で、暫定解スピンt^にもとづいて全てのスピンに対して外部磁場係数を調整した。
ところが、すべてのスピンに対して式(9)、(10)のように外部磁場を調整すると、初期解スピンσ^(0)がアニーリング全体に影響を及ぼし、却って良い解が得られない場合がある。そこで、実施例2では外部磁場を調整する確率pを導入し、外部磁場係数を調整するスピンを確率的に選択する。すなわち、Aに属するスピンi、およびBに属するスピンjについて、確率pでa>0, b<0とし(外部磁場の調整あり)、確率1-pでa=0, b=0とする(外部磁場の調整なし)。
この場合、式(9)、(10)は下記式(11)、(12)に置き換わる。
【数11】

【数12】
【0023】
実施例2に係る最小値探索装置の機能ブロック図は、実施例1の場合と同じである。
図5は、実施例2に係る最小値探索装置の作用を説明するフローチャートである。ステップS401とS402は、実施例1と同じである。
ステップS403に換えて、外部磁場係数補正部304は、t^が与えるスピンの組合せに基づいて、式(8)、式(11)、式(12)で与えられる修正エネルギー関数Hwi(σ^)を生成し、イジングマシンの設定のうち、外部磁場係数を式(11)のh'と式(12)のh''で更新する(ステップS503)。
ステップS404からステップS407は、実施例1と同じである。
【0024】
[実施例2による組合せ最適化問題の求解実験]
図6は、最小値探索装置301を含む、組合せ最適化装置601の機能ブロック図である。演算部602は、組合せ最適化問題を、例えば、イジングモデルやQUBOモデルのエネルギー関数に変換したり、最小値探索装置301の出力を組合せ最適化問題の解に変換したりするなどの演算を行う。
以下、組合せ最適化装置を用いた実験とその結果について説明する。
【0025】
[第1実験]
<付加制約を持った、容量制約付き配送計画問題>
容量制約付き配送計画問題(Capacitated Vehicle Routing Problem:CVRP)とは、複数のトラックで複数の顧客に荷物を配達するときに、各トラックの容量制約を満たし、総経路長が最小となるトラックの経路を求める問題である。総経路長は、(1)重複訪問禁止、(2)同時訪問禁止、(3)トラック積載容量、(4)発着点指定の4つの制約の下で求める。
第1実験では、上記制約に加え、特定の顧客は指定されたトラックで訪問する「(5)配送車指定制約」を付加した。第5の制約を加えたCVRP問題を、以下、付加制約付きCVRPと呼ぶ。
【0026】
本開示では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)が詳しい。
【0027】
さて、付加制約付きCVRPのエネルギー関数HCVRPは、例えば、次の様に定義される。
【数13】

ただし、Hcostはトラックの移動距離、Hは重複訪問禁止制約、Hは同時訪問禁止制約、Hcapは容量制約、Haddは配送車指定制約であり、α, β, γ, δ は正の定数である。
式(13)のうち、Hcapの詳細を示す。
【数14】

ただし、Kはトラックの台数、Qはトラック1台あたりの最大積載量、D=ceiling(logQ)(ceiling( )は天井関数)、Mは1台のトラックが訪問できる最大の顧客数、Nは顧客数、yn,kは補助変数、wは顧客jに配達する重量、そして、qi,j,kは、車kがi番目に顧客jを訪れる際に値1を、それ以外の場合は値0を取るバイナリ変数とする。なお、発着点指定制約により、経路の始点と終点は必ず集積所であるため、始点と終点を表すバイナリ変数は用意しない。
イジングマシンでHCVRPが最小となるようなM×N×K個の変数qi,j,k、およびD×K個の補助変数yn,kの値を探索することで、付加制約付きCVRPの解が求まる。
【0028】
<付加制約付きCVRPへの実施例の適用>
実施例2に従い、外部磁場を擬似的に導入して、付加制約付きCVRPの解を求める実験を行った。
問題インスタンスは、CVRPLIB(Capacitated Vehicle Routing Problem Library, http://vrp.atd-lab.inf.puc-rio.br/index.php/en/:参考文献2)を使用した。CVRPLIBが提供するSet Aのうち、顧客数がN=32からN=44、トラック数がK=5または6のインスタンスを利用した。1台のトラックが訪問する最大の顧客数はM=10とした。各トラックの容量制約QはいずれもQ=100である。これらの問題において式(14)で導入された補助変数数は35個から42個であり、必要な変数数は、1635(=32×5×10+35)個から2682(44×6×10+42)個となる。
【0029】
外部磁場調整項を含まないエネルギー関数(式(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回の試行のうち、最も良い解を記録した。
【0030】
<第1実験の結果>
第1実験の結果を図7に示す。最良解は、実施例2(図5)のステップS503からS407を100回繰り返した内、実行可能かつ総経路長が最小の解である。
図7より、すべての問題で、p=0.5としたとき初期解からの改良率が最も高く、初期解との偏差は平均して-6.74%であった。すべての問題で、p=0と比較して、p=0.5での解の改良率が高く、外部磁場の調整をしないよりも外部磁場を調整したほうが良い解が得られている。また、p=1と比較するとp=0.5での解の改良率が高いため、確率的に外部磁場を調整するスピンを選択することが有効であると言える。
【0031】
[第2実験]
<最大カット問題>
最大カット問題とは、多角形頂点群Vと、頂点を結ぶ重み付き辺群Eが与えられたとき、切断される辺の重みの和が最大となるように頂点群を2分割せよ、という問題である。
今、頂点群を集合SとTに分割するものとし、各頂点を一個のスピンに対応させる。
【数15】

このとき、切断する辺の重みの合計は下記式(15)のように表される。
【数16】

ただし、wi,jは辺(i, j)∈Eの重みを表す。
従って、エネルギー関数を下記式(17)で定義すると、エネルギー関数が最小となるとき、辺の重みの合計Htotalは最大となる。
【数17】
【0032】
<最大カット問題への実施例の適用>
実施例2に従い、外部磁場を擬似的に導入して、最大カット問題の解を求める実験を行った。
問題インスタンスはG-set(G-set, http://web.stanford.edu/~yyye/yyye/Gset/:参考文献3)を使用した。これらの問題は9,000個から20,000個のノードを持つグラフを対象としており、必要なスピン数も9,000個から20,000個となる。
外部磁場調整項を含まないエネルギー関数(式(17))を用いてイジングマシンによる解の探索を100回実行し、得られた解のうち重み総和が最大のものを第2実験の初期解として利用した。
磁場の調整は式(11)、(12)に従い、λは1とした。外部磁場を調整した後、連続して2回、暫定解と全く同じ解が得られた場合は、λの値を0.9λに更新してエネルギー関数に占める初期解の影響を小さくした。第2実験のループ数は100回とし、p=0, 0.25, 0.5, 0.75, 1の5通りで実験を行った。また、イジングマシンの1回の実行時間は1,000msとした。なお、p=0とは、式(11)、(12)に示す外部磁場調整項において、a, bの値が常にa=b=0となるということであり、このとき外部磁場の調整は全く行われない。つまり、初期解を得るための100回の試行、p=0の下での100回の試行、合計200回の試行のうち、最も良い解を記録した。
【0033】
<第2実験の結果>
第2実験の結果を図8に示す。図8より、すべての問題で、p=0.25としたときに初期解からの改良率が最も高く、初期解との偏差は平均して1.17%であった。p=0と比較して、常にp=0.25での解の改良率が高いため、外部磁場の調整によって初期解が改良されている。また、p=1と比較しても、常にp=0.25での改良率が高いため、外部磁場を調整するスピンの確率的な選択が解の改良に有効であると言える。
【0034】
[プログラム、記録媒体]
上述の各種の処理は、図9に示すコンピュータ2000の記録部2020に、上記方法の各ステップを実行させるプログラムを読み込ませ、制御部2010、入力部2030、出力部2040、表示部2050などに動作させることで実施できる。
【0035】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【0036】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0037】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
【0038】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【産業上の利用可能性】
【0039】
開示したエネルギー関数の最小値探索装置、および方法は、NP問題として知られる組合せ最適化問題の準最適解を、短時間で探索するのに利用することができる。
【符号の説明】
【0040】
301 最小値探索装置
302 イジングマシン
303 初期解取得部
304 外部磁場係数補正部
305 暫定解管理部
306 終了判断部
601 組合せ最適化装置
602 演算部
図1
図2
図3
図4
図5
図6
図7
図8
図9