(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-10
(45)【発行日】2024-09-19
(54)【発明の名称】最適化プログラム、最適化方法及び情報処理装置
(51)【国際特許分類】
G06N 99/00 20190101AFI20240911BHJP
【FI】
G06N99/00 180
(21)【出願番号】P 2020207438
(22)【出願日】2020-12-15
【審査請求日】2023-08-04
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002918
【氏名又は名称】弁理士法人扶桑国際特許事務所
(72)【発明者】
【氏名】櫛部 大介
(72)【発明者】
【氏名】渡部 康弘
【審査官】大倉 崚吾
(56)【参考文献】
【文献】特開2020-181461(JP,A)
【文献】国際公開第2017/033326(WO,A1)
【文献】岡本啓吾 ほか,"レプリカ数と温度の自動設定機能を持つレプリカ交換法",2018年 電子情報通信学会 基礎・境界ソサイエティ/NOLTAソサイエティ大会 講演論文集,一般社団法人電子情報通信学会,2018年,p. 86
【文献】原祥尭,"SLAMとは何か 第10回 Histogram FilterによるGrid Localization 確率分布をヒストグラムでモデル化してベイズ推定",NIKKEI Robotics,第19号,2017年2月号,2017年,p. 34-35
(58)【調査した分野】(Int.Cl.,DB名)
G06N 99/00
(57)【特許請求の範囲】
【請求項1】
問題を変換した評価関数の情報を取得し、
レプリカ交換法による最適解の求解処理に用いる互いに異なる複数の温度パラメータの値を決定し、
前記複数の温度パラメータの値をそれぞれ複数のレプリカの何れかに1つずつ設定し、
前記評価関数に含まれる複数の状態変数の何れかの値が変化することによる前記評価関数の値の変化分と前記複数の温度パラメータの何れかの値とに基づいて得られる第1の遷移確率であって、温度パラメータの値の変化に対する前記評価関数の値の変化がボルツマン分布に基づく第2の遷移確率を用いた場合よりも緩やかになる前記第1の遷移確率にしたがって、前記複数の状態変数の何れかの値の更新を繰り返す更新処理を、前記複数のレプリカのそれぞれについて互いに独立に行うとともに、前記第1の遷移確率によって得られる確率分布の不変分布条件を満たす交換確率にしたがって、前記複数のレプリカの間で、前記複数のレプリカのそれぞれに設定された前記複数の温度パラメータの何れかの値、または前記複数のレプリカのそれぞれにおける前記複数の状態変数の値を交換する交換処理を繰り返すことで、前記求解処理を実行する、
処理をコンピュータに実行させる最適化プログラム。
【請求項2】
前記第1の遷移確率は、前記変化分と前記複数の温度パラメータの何れかの値との積に1を加えた値のm(m>1)乗の逆数で表される、請求項1に記載の最適化プログラム。
【請求項3】
前記mは4以下である、請求項2に記載の最適化プログラム。
【請求項4】
前記複数の温度パラメータの値のうち、第1の値に基づいて得られる前記第1の遷移確率を用いた前記更新処理により得られる、前記評価関数の値の第1の確率密度分布の頂点を与える前記評価関数の値と、前記第1の確率密度分布の標準偏差に所定の係数を乗じた値との和が、前記複数の温度パラメータの値のうち、第2の値に基づいて得られる前記第1の遷移確率を用いた前記更新処理により得られる、前記評価関数の値の第2の確率密度分布の頂点を与える前記評価関数の値から、前記第2の確率密度分布の標準偏差に前記係数を乗じた値を引いた値に等しくなるように、前記第1の値と前記第2の値を決定する、処理を前記コンピュータに実行させる請求項1乃至3の何れか一項に記載の最適化プログラム。
【請求項5】
前記複数のレプリカのうち、前記複数の温度パラメータの値の1つである第3の値が設定される第1のレプリカと、前記複数の温度パラメータの値の1つである第4の値が設定される第2のレプリカとの間で前記交換処理が行われるときの前記交換確率は、前記交換処理の前後の、前記第1のレプリカにおける前記評価関数の値の第1の確率密度と前記第2のレプリカにおける前記評価関数の値の第2の確率密度の積の比で表される、請求項1乃至4の何れか一項に記載の最適化プログラム。
【請求項6】
前記第1の確率密度または前記第2の確率密度は、ヒストグラムを用いた近似計算により計算される、請求項5に記載の最適化プログラム。
【請求項7】
前記第1の確率密度または前記第2の確率密度は、前記第1のレプリカまたは前記第2のレプリカにおける前記評価関数の値の最小値または最大値が前記求解処理において更新された場合、前記最小値または前記最大値の更新後の値に基づいて更新される、請求項5または6の何れか一項に記載の最適化プログラム。
【請求項8】
コンピュータが、
問題を変換した評価関数の情報を取得し、
レプリカ交換法による最適解の求解処理に用いる互いに異なる複数の温度パラメータの値を決定し、
前記複数の温度パラメータの値をそれぞれ複数のレプリカの何れかに1つずつ設定し、
前記評価関数に含まれる複数の状態変数の何れかの値が変化することによる前記評価関数の値の変化分と前記複数の温度パラメータの何れかの値とに基づいて得られる第1の遷移確率であって、温度パラメータの値の変化に対する前記評価関数の値の変化がボルツマン分布に基づく第2の遷移確率を用いた場合よりも緩やかになる前記第1の遷移確率にしたがって、前記複数の状態変数の何れかの値の更新を繰り返す更新処理を、前記複数のレプリカのそれぞれについて互いに独立に行うとともに、前記第1の遷移確率によって得られる確率分布の不変分布条件を満たす交換確率にしたがって、前記複数のレプリカの間で、前記複数のレプリカのそれぞれに設定された前記複数の温度パラメータの何れかの値、または前記複数のレプリカのそれぞれにおける前記複数の状態変数の値を交換する交換処理を繰り返すことで、前記求解処理を実行する、
最適化方法。
【請求項9】
問題を変換した評価関数の情報を記憶する記憶部と、
前記情報を取得し、レプリカ交換法による最適解の求解処理に用いる互いに異なる複数の温度パラメータの値を決定し、前記複数の温度パラメータの値をそれぞれ複数のレプリカの何れかに1つずつ設定し、前記評価関数に含まれる複数の状態変数の何れかの値が変化することによる前記評価関数の値の変化分と前記複数の温度パラメータの何れかの値とに基づいて得られる第1の遷移確率であって、温度パラメータの値の変化に対する前記評価関数の値の変化がボルツマン分布に基づく第2の遷移確率を用いた場合よりも緩やかになる前記第1の遷移確率にしたがって、前記複数の状態変数の何れかの値の更新を繰り返す更新処理を、前記複数のレプリカのそれぞれについて互いに独立に行うとともに、前記第1の遷移確率によって得られる確率分布の不変分布条件を満たす交換確率にしたがって、前記複数のレプリカの間で、前記複数のレプリカのそれぞれに設定された前記複数の温度パラメータの何れかの値、または前記複数のレプリカのそれぞれにおける前記複数の状態変数の値を交換する交換処理を繰り返すことで、前記求解処理を実行する処理部と、
を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、最適化プログラム、最適化方法及び情報処理装置に関する。
【背景技術】
【0002】
自然科学や社会科学において頻出する問題として、評価関数(エネルギー関数とも呼ばれる)の最小値(または最小値を与える評価関数の状態変数の値の組合せ)を最適解として探索する最小値求解問題(または組合せ最適化問題と呼ばれる)がある。なお、評価関数の符号を変えることで、評価関数の最大値を最適解として探索する場合もある。近年、このような問題を磁性体のスピンの振る舞いを表すモデルであるイジングモデルで定式化する動きが加速している。この動きの技術的な基盤は、イジング型量子コンピュータの実現である。イジング型量子コンピュータは、ノイマン型コンピュータが不得意とする多変数の組合せ最適化問題を現実的な時間で解けると期待されている。一方、イジング型のコンピュータを電子回路で実装した最適化装置も開発されている(たとえば、非特許文献1参照)。
【0003】
イジングモデルを用いた最小値求解問題の計算手法として、マルコフ連鎖モンテカルロ法(以下MCMC法という)に基づき、疑似的な温度を示す温度パラメータを導入し高温から徐々に温度を下げる手法がある(たとえば非特許文献1,2,3参照)。この手法は、シミュレーテッド・アニーリング法(以下SA法と略す)と呼ばれる。SA法は最適解に到達することが理論的に保証されている方法である。しかし、SA法は、温度を対数の逆数にしたがって下げる手法であり、実用的ではない。そのため、実用上はそれよりも緩めたべき乗型の徐冷スケジュールが使われることが多いが、その場合、最小値への到達は保証されない。また、対数の逆数よりも高速な徐冷スケジュールを用いた場合、一度極小値にはまると極小値から抜け出せない欠点がある。
【0004】
この欠点を考慮したアルゴリズムにレプリカ交換法がある(たとえば、特許文献1,2、非特許文献4参照)。レプリカ交換法では温度だけ異なる同じシミュレーションボックス(レプリカと呼ばれる)を多数用意し、一定頻度で交換条件を満たしたレプリカ間で温度を交換する。交換の結果、各レプリカは温度空間をランダムウォークする。その結果、高温領域では深いエネルギー極小値を抜け出すことができ、求解効率が上がる。
【0005】
一方、レプリカ交換法にも欠点が存在する。レプリカ交換法は元々、物性物理学や計算化学分野で開発された手法であるため、レプリカ内部の遷移確率はボルツマン分布に基づいて指定される。そして、各レプリカの確率分布は、レプリカ交換を行ってもボルツマン分布に保たれるようにする。この条件は不変分布条件と呼ばれる。不変分布条件を課すのは統計物理学においては物理量の計算を前提とするためである。レプリカ交換法における問題点は系の自由度を増やしていくと、用いられるレプリカ数が自由度Nの関数としてNの平方根に比例して増大する点である。
【0006】
また、温度変化に対して評価関数の値(エネルギー)が急激に変化する相転移がある場合、レプリカ交換は機能しづらくなり、温度パラメータの刻み幅もより精密に設定しなければならず、計算者にとって負担になる。自由度が大きくなるほどこの傾向は強くなる。
【0007】
この欠点を克服するアルゴリズムとしてマルチカノニカル法が提案されている(たとえば、非特許文献5参照)。マルチカノニカル法の場合、温度空間ではなく、エネルギー空間を等確率に訪問するようにアルゴリズムを組むことにより上記欠点を解決しようとするものであり、フラットヒストグラム法とも呼ばれる。しかし、マルチカノニカル法にも欠点がある。それはフラットヒストグラムを作成するために多くの予備計算を要する点である。さらにフラットヒストグラムが常に得られるとは限らず、計算量を多くしてもフラットヒストグラムにならない場合もある。そのため、予備計算をするために多くの労力を費やすことになる。
【先行技術文献】
【特許文献】
【0008】
【文献】特開2020-086821号公報
【文献】特開2019-071119号公報
【文献】特開2020-064536号公報
【文献】特開2019-197355号公報
【文献】特開2018-067200号公報
【非特許文献】
【0009】
【文献】Sanroku Tsukamoto, Motomu Takatsu, Satoshi Matsubara and HirotakaTamura, “An Accelerator Architecture for Combinatorial Optimization Problems”, FUJITSU Sci. Tech. J., Vol.53, No.5, September, 2017, pp.8-13
【文献】S. Kirkpatrick, C. D. Gelatt, M. P. Vecchi, “Optimization by Simulated Annealing”, Science, Vol.220, No.4598, 13 May, 1983, pp.671-680
【文献】Constantino Tsallis, Daniel A. Stariolo, “Generalized simulated annealing”, Physica A, 233, 1996, pp.395-406
【文献】Koji Hukushima and Koji Nemoto, “Exchange Monte Carlo Method and Application to Spin Glass Simulations”, J. Phys. Soc. Jpn, Vol.65, No. 6, June, 1996, pp.1604-1608
【文献】Bernd A. Berg and Tarik Celik, “New Approach to Spin-Glass Simulations”, Phys. Rev. Lett, Vol.69, No.15, October, 1992, p.2292
【文献】T. J. P. Penna, “Traveling salesman problem and Tsallisstatistics”, Phys. Rev. E, Vol.51, No. 1, R1, January, 1995, p.51
【発明の概要】
【発明が解決しようとする課題】
【0010】
上記のように、最適解の探索手法としてレプリカ交換法を用いた場合、サンプリング空間を広げ、より広範な解を求めつつ、求解効率を上げるための適切な温度パラメータの決定が難しい。
【0011】
1つの側面では、レプリカ交換法における複数の温度パラメータの値の決定が容易な最適化プログラム、最適化方法及び情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0012】
1つの実施態様では、最適化プログラムが提供される。最適化プログラムは、問題を変換した評価関数の情報を取得し、レプリカ交換法による最適解の求解処理に用いる互いに異なる複数の温度パラメータの値を決定し、前記複数の温度パラメータの値をそれぞれ複数のレプリカの何れかに1つずつ設定し、前記評価関数に含まれる複数の状態変数の何れかの値が変化することによる前記評価関数の値の変化分と前記複数の温度パラメータの何れかの値とに基づいて得られる第1の遷移確率であって、温度パラメータの値の変化に対する前記評価関数の値の変化がボルツマン分布に基づく第2の遷移確率を用いた場合よりも緩やかになる前記第1の遷移確率にしたがって、前記複数の状態変数の何れかの値の更新を繰り返す更新処理を、前記複数のレプリカのそれぞれについて互いに独立に行うとともに、前記第1の遷移確率によって得られる確率分布の不変分布条件を満たす交換確率にしたがって、前記複数のレプリカの間で、前記複数のレプリカのそれぞれに設定された前記複数の温度パラメータの何れかの値、または前記複数のレプリカのそれぞれにおける前記複数の状態変数の値を交換する交換処理を繰り返すことで、前記求解処理を実行する、処理をコンピュータに実行させる。
【0013】
また、1つの実施態様では、最適化方法が提供される。
また、1つの実施態様では、情報処理装置が提供される。
【発明の効果】
【0014】
1つの側面では、レプリカ交換法における複数の温度パラメータの値の決定が容易になる。
【図面の簡単な説明】
【0015】
【
図1】第1の実施の形態の情報処理装置の一例を示す図である。
【
図2】ボルツマン分布に基づく遷移確率を用いた場合のエネルギーの温度変化の例を示す図である。
【
図3】物理量Aについての状態数とエネルギー区間分割との関係の例を示す図である。
【
図4】ボルツマン分布に基づく遷移確率を用いた場合と、べき乗型の遷移確率を用いた場合のエネルギーの温度依存性の違いの例を示す図である。
【
図5】べき乗型の遷移確率の指数とエネルギー(期待値)の温度依存性との関係の例を示す図である。
【
図6】温度パラメータの各値が設定されるレプリカにおいて得られるエネルギー空間上での確率密度分布を示す図である。
【
図7】レプリカ交換を行った場合に得られるエネルギー空間上の確率密度分布を示す図である。
【
図8】レプリカ交換法による最大カット問題の計算例を示す図である。
【
図9】レプリカ交換法における詳細つり合いの例を示す模式図である。
【
図10】隣接温度パラメータ間のみによるレプリカ交換の例を示す図である。
【
図11】エネルギー空間上の確率密度分布の頂点を与えるエネルギーと確率密度分布の標準偏差の例を示す図である。
【
図12】低温領域での確率密度分布の振る舞いの例を示す図である。
【
図13】第2の実施の形態の情報処理装置のハードウェアの一例を示す図である。
【
図14】第2の実施の形態の情報処理装置の機能例を示すブロック図である。
【
図15】第2の実施の形態の情報処理装置の一例の処理の流れを示すフローチャートである。
【
図16】情報読込処理の一例の処理の流れを示すフローチャートである。
【
図17】スピン初期化処理の一例の処理の流れを示すフローチャートである。
【
図18】温度パラメータ計算処理の一例の処理の流れを示すフローチャートである。
【
図19】確率密度の計算処理の一例の処理の流れを示すフローチャートである。
【
図20】確率密度の更新処理の一例の流れを示すフローチャートである。
【
図21】E
minとE
maxの更新処理の一例の流れを示すフローチャートである。
【
図22】レプリカ交換処理の一例の流れを示すフローチャートである。
【
図23】温度パラメータの値の交換の様子を示す図である。
【
図24】レプリカに設定される温度パラメータの値の変化を示す図である。
【
図25】ボルツマン分布に基づく遷移確率を用いた場合とべき乗型の遷移確率を用いた場合のレプリカ交換処理時のトンネル時間の比較結果の例を示す図である。
【発明を実施するための形態】
【0016】
以下、発明を実施するための形態を、図面を参照しつつ説明する。
(第1の実施の形態)
図1は、第1の実施の形態の情報処理装置の一例を示す図である。
【0017】
情報処理装置10は、記憶部11と処理部12を有する。
記憶部11は、問題を変換した評価関数(以下エネルギー関数という)の情報(以下問題情報という)を記憶する。また、記憶部11は、評価関数に含まれる状態変数の値と状態変数の値に対応した評価関数の値(以下エネルギーという)の現在の最小値(最小エネルギー(EMin))などを記憶する。後述のように処理部12は、レプリカ交換法によって問題の最適解(たとえば、エネルギー関数の最小値)を探索するものであるため、状態変数の値やエネルギーは、レプリカごとに記憶される。記憶部11は、RAM(Random Access Memory)などの揮発性の記憶装置、または、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性の記憶装置である。
【0018】
処理部12は、レプリカ交換法による最適解の求解処理を行う。処理部12は、CPU(Central Processing Unit)、GPGPU(General-Purpose computing on Graphics Processing Units)、DSP(Digital Signal Processor)などのプロセッサである。ただし、処理部12は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの特定用途の電子回路を含んでもよい。プロセッサは、RAMなどのメモリに記憶されたプログラムを実行する。たとえば、最適化プログラムが実行される。なお、複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」ということがある。
【0019】
処理部12は、レプリカ交換法により、たとえば、問題を変換したイジング型のエネルギー関数の最小値(または最小値が得られる状態変数の値の組合せ)を探索する。
イジング型のエネルギー関数(H({x}))は、たとえば、以下の式(1)で定義される。
【0020】
【0021】
右辺の1項目は、N個の状態変数の全組合せについて、漏れと重複なく、2つの状態変数の値(0または1)と重み係数との積を積算したものである。xiはi番目の状態変数、xjはj番目の状態変数を表し、Wijは、xi,xjの相互作用の大きさを示す重み係数である。右辺の2項目は、各状態変数のそれぞれについてのバイアス係数(bi)と各状態変数の値との積の総和を求めたものであり、右辺の3項目(C)は定数である。
【0022】
重み係数(Wij)、バイアス係数(bi)、定数(C)は、問題情報として、記憶部11に記憶される。
ここで、以下のように、記号を定義する。まず、N個の状態変数の組合せによって得られる状態は、式(1)から離散有限個存在する。状態の総数をMとすると、M=2Nである。また、エネルギーの値が異なる状態数をMEとすると、ME≦2Nである。エネルギーの値を小さい順にE0,E1,…,Ek,…,EMEと記述する。また、Ekを与えるN個のxiの組を{xk}と記述する。したがって、H({xk})=Ekとなる。なお、このとき、縮重度をMkとする。同じエネルギーを与える状態変数の組合せは複数存在することが多い。
【0023】
状態変数の1つであるxkの値が変化することによるエネルギー関数の値の変化分(エネルギー差(ΔEk))は、ΔEk=-(1-2xk)hkと表せる。1-2xkはxkの変化分(Δxk)を表す。xkが1から0に変化する場合、1-2xk=-1であり、xkが0から1に変化する場合、1-2xk=1である。また、hkはローカルフィールドと呼ばれ、以下の式(2)で表せる。
【0024】
【0025】
上記のようなエネルギー関数の最小値を探索する際、処理部12は、レプリカ交換法を用いる。
レプリカ交換法では、式(1)で定義されるエネルギー関数の値をそれぞれ計算する複数のレプリカが用意される。レプリカ番号=iのレプリカに設定される温度パラメータをTiとする。各レプリカでは固定の温度パラメータ(前述の疑似的な温度)の値を用いて一定回数のMCMC計算が行われる。そして、その一定回数ごとに、所定の交換確率に基づいて、レプリカ間における温度パラメータの値の交換が行われる。なお、温度パラメータの値の交換の代わりに、状態(N個の状態変数の値)を交換してもよい。
【0026】
MCMC計算において、処理部12は、所定の遷移確率にしたがって状態遷移を発生させる。このとき、エネルギーが大きくなる状態遷移についても一定確率で許容される。これはメトロポリス法として知られている。従来のようにボルツマン分布を用いた場合、メトロポリス法における遷移確率は、Pi→j=min(1,exp(-βΔE))、と表せる。Pi→jは、状態遷移前の状態iと、状態iにおける状態変数からランダムに1つの状態変数を選び反転させることによる状態遷移後の状態jの間の遷移確率である。βは、各レプリカに設定される温度パラメータの値(ここでは温度の逆数(逆温度と呼ばれる))であり、レプリカ番号=iのレプリカにおける逆温度は、βi=1/Tiである。
【0027】
レプリカ交換法における交換確率は、従来のようにボルツマン分布に基づく遷移確率を用いた場合、以下の式(3)で表せる。
【0028】
【0029】
式(3)において、PA(t)は、レプリカ交換前の状態Aが実現する確率である。PB(t)は、レプリカ交換後の状態Bが実現する確率である。Δβは、レプリカ番号=jのレプリカに設定されている逆温度(βj)とレプリカ番号=iのレプリカに設定されている逆温度(βi)との差であり、Δβ=βj-βiである。ΔEは、レプリカ番号=jのレプリカのエネルギー(Ej)とレプリカ番号=iのレプリカのエネルギー(Ei)との差であり、ΔE=Ej-Eiである。
【0030】
つまり、レプリカ交換法では、レプリカ同士の逆温度差とエネルギー差の積で決まる確率で温度パラメータの値が交換される。温度パラメータの値を交換することにより、レプリカ交換法ではそれぞれのレプリカが温度空間をランダムウォークするようになる。その結果、高温領域を経由することができるようになり、状態が、エネルギーが深い極小値をもつ極小状態にはまったとしても容易にそこから脱出できる。
【0031】
しかし、レプリカ交換法において、ボルツマン分布に基づいて交換確率を式(3)とした場合、2つのレプリカ同士のエネルギーが離れるほど交換確率は指数関数的に下がってしまう。
【0032】
このため、温度パラメータの設定には制限があり、温度パラメータの刻み幅は概算でNの平方根分の1程度、レプリカ数は概算でNの平方根程度必要になる。これは自由度を増やしたときにレプリカ数が増大することを意味する。
【0033】
また、温度パラメータの設定について、以下のような問題がある。
図2は、ボルツマン分布に基づく遷移確率を用いた場合のエネルギーの温度変化の例を示す図である。横軸は温度パラメータ(T)、縦軸はエネルギー(E)を表している。
【0034】
図2では、ある問題を計算した場合に得られるエネルギーの温度変化の例が示されている。この例の場合、10<T<100の範囲において、エネルギーが温度パラメータの値に対して急激に増大していることが分かる。これは相転移にまつわる現象である。有限自由度の系では相転移は起きないことが知られているが、系の自由度が増えるほど、エネルギーの温度変化が急激に起こるようになり、相転移の特徴が際立っていく。
【0035】
このような相転移が起こると、レプリカ交換が効率的に機能しなくなる。つまり、相転移が生じる温度パラメータの値(以下転移温度という)以下の領域でのみレプリカ交換が起こるグループと、転移温度より大きい領域でのみレプリカ交換が起こるグループに分かれてしまう。このため、自由度が大きくなるほどレプリカ交換を機能させるためには、転移温度近傍でのレプリカの温度刻みをより慎重に選択しなければならなくなる。
【0036】
この原因になっているのは式(3)のような交換確率を用いるためである。式(3)は、レプリカ交換を行っても各レプリカがしたがう確率分布がボルツマン分布のまま保たれる条件で定式化したものである。このような条件は、不変分布条件と呼ばれている。具体的には状態Aをレプリカ番号=iのレプリカが({xi},βi)かつ、レプリカ番号=jのレプリカが({xj},βj)である状態とする。そして、状態Bをレプリカ番号=iのレプリカが({xj},βi)かつ、レプリカ番号=jのレプリカが({xi},βj)である状態とする。交換の前後で両者の確率分布が変わらないとして任意の2つのレプリカ間で定義されるレプリカ交換が定常状態に達する条件は、以下の式(4)で与えられる。
【0037】
【0038】
式(4)において、π({xj},βj)は系がしたがう統計分布である。π({xj},βj)としてボルツマン分布を用いると、式(3)の交換確率の式が得られる。
磁性体などの物理系についての問題を扱う場合、ボルツマン分布を使わざるを得ない。なぜならば、熱平衡状態がexp(-βE)の統計分布にしたがうからである。また、ヘルムホルツ自由エネルギーやギブス自由エネルギーなど、系の熱力学的挙動にエントロピー効果が重要な役割を果たす場合は、エントロピーの効果を適切に取り入れるため、使用可能な確率分布にも制約がかかる。
【0039】
しかしながら、イジングモデルで表現される式(1)のようなエネルギー関数の最小値を求める問題は、単に関数の最小値求解問題とみなせばよいため、ボルツマン分布に縛られなくてもよい。ボルツマン分布により相転移が引き起こされ、相転移がレプリカ交換の効率を阻害するのであれば、相転移が起きない確率分布を用いればよい。
【0040】
さらにマルチカノニカル法のように予備計算が面倒であるならば、予備計算が楽になるような計算法を用いればよい。マルコフ連鎖が既約(irreducible)でありさえすれば、系の最小値にたどり着くことが確率論的に保証される。
【0041】
そこで、処理部12は、ボルツマン分布使用時に見られる相転移現象を回避するため、ボルツマン分布ではない確率分布を用いる。
以下では、遷移確率を上記のようにPi→j=min(1,exp(-βΔE))と定義するのではなく、以下の式(5)のように定義する。
【0042】
【0043】
式(5)において、遷移確率f(ΔEij)は任意の関数であるが、有限確定し、f(ΔEij)<∞を満たすものとする。また、境界条件として、以下の式(6)が要請される。
【0044】
【0045】
さらに、現在の状態変数の値により表される現在の状態から複数の異なる状態のそれぞれに遷移する確率の和が有限確定するものとし、以下の式(7)の条件が満たされるものとする。
【0046】
【0047】
なお、式(7)においてBiは、たとえば、Bi=1である。ただし、Bi=1に限定されるわけではない。
次に、式(5)で定義される遷移確率の下での不変分布条件を満たすレプリカ交換を定義する。式(5)で定義される遷移確率の下で定まる確率分布π({xi},t)は、以下の式(8)のマスター方程式によって決定される。
【0048】
【0049】
π({xi},t)は、式(5)の遷移確率の定義より一意に存在する。なぜならば、全てのΔEijに対する遷移確率が0ではなく、状態を変えない遷移であるΔEii=0に対する遷移確率も0ではないからである。式(8)において定常状態は、以下の式(9)のように与えられる。
【0050】
【0051】
このため、定常状態が満たすべき方程式は、以下の式(10)で表せる。
【0052】
【0053】
定常状態では、確率分布は時刻tに依存しないためtを省いてπ({xi})と表記できる。式(5)の遷移確率により導入される確率分布では、詳細つり合いの原理が満たされない場合がある。詳細つり合いの原理とは、式(10)における総和記号の個々の項が0になるというものである。詳細つり合いが成り立つ場合、Pm→jπ({xm})-Pj→mπ({xj})=0が成立するため、以下の式(11)が成立する。
【0054】
【0055】
式(11)から、確率分布をボルツマン分布型としてexp(-βΔE)を用いると、遷移確率は、前述のPi→j=min(1,exp(-βΔE))となる。式(5)の遷移確率の下では詳細つり合いの原理は成立しないが、異なる2つの状態変数の組{xk}と{xl}(k≠l)に対して、同一のエネルギー(E0)が与えられるとき、確率分布関数は同じ値になる。つまり、π({xk})=π({xl})が成立する。
【0056】
これは以下の理由による。2つの異なる状態変数の組{xk}と{xl}(k≠l)に対してE0となるため、E0=H({xk})=H({xl})となる。ここで、式(10)から、以下の式(12)が得られる。
【0057】
【0058】
式(12)において、Pl→k=1、Pk→k=1であるのは明らかである。同様に、以下の式(13)が得られる。
【0059】
【0060】
遷移先の{xk}と{xl}はエネルギーの値が同じである。したがって、遷移確率も同じであり、以下の式(14)が成立する。
【0061】
【0062】
式(13)から式(12)を差し引くと、π({xl})Bl-π({xk})Bk=0が成立する。ここで、2つの異なる状態変数の組{xk}と{xl}(k≠l)に対してE0となるため、Bk=Blが成立する。そしてBk、Blは0ではない。したがって、π({xl})=π({xk})となる。
【0063】
この条件は強力な要請であり、式(5)の遷移確率をエネルギー差だけで定義した場合、エネルギーの値が同じ状態は全て同じ確率で実現する。そして、この条件はエネルギーに限らず成立する。式(5)の遷移確率を任意の物理量Aの差のみで定義したとき、物理量Aが同じになる微視的状態は、詳細つり合い原理の成立の有無に関わらず全て同じ確率で実現する。ただし、これは確率分布が存在することは保証するが、解析的に記述できることは保証しない。また、べき乗型の遷移確率を用いたからといって、確率分布がべき乗型になるわけではない。
【0064】
ボルツマン分布の場合、エネルギーの値のみで実現確率が定義され、エネルギーが同じ微視的状態の実現確率が同じになることを考慮すれば、この条件はボルツマン分布を特殊な場合として含む一般化を行っていることになる。なお、この条件は式(1)で表されるようなイジングモデルに限らず一般の離散有限状態系について成立する。
【0065】
次にエネルギー空間での確率分布について説明する。
エネルギーの値がEjになる状態変数の組{xk}は複数存在する場合があるが、それらをまとめて{xk
(j)}と表記する。このとき、状態の総数Mは以下の式(15)で表せる。
【0066】
【0067】
図3は、物理量Aについての状態数とエネルギー区間分割との関係の例を示す図である。横軸はAを表し、縦軸は頻度を表す。
物理量Aの各値(A
1,A
2,…,A
j,…A
MA)に対して、同じ物理量Aの状態変数の組が複数ある。
【0068】
同じエネルギーに属する微視的状態(
図3の状態変数の組{x
1}、{x
2}、{x
3}など)への遷移はすべて同じ遷移確率になる。このことから、k番目の微視的状態({x
k})がE
jに属するとして、E
jからE
m’の状態への遷移確率をP
j→m’
(E)と表記することにすると、以下の式(16)が得られる。
【0069】
【0070】
同様に、以下の式(17)が得られる。
【0071】
【0072】
したがって、マスター方程式の定常解は以下の式(18)のようになる。
【0073】
【0074】
ここで、n(E)(Ej)=Mjπ(Ej)となる確率分布n(E)(Ej)を導入すると、式(18)は、以下の式(19)のように表せる。
【0075】
【0076】
式(19)の両辺にMjを掛けると、以下の式(20)が得られる。
【0077】
【0078】
ここで、遷移確率を定義し直し、以下の式(21)のように定義する。
【0079】
【0080】
このとき、式(20)は以下の式(22)のように表せる。
【0081】
【0082】
したがって、エネルギーの値の縮退度の分だけ、エネルギー空間での遷移確率は増大する。実現確率もエネルギーの値の縮退の分だけ増大する。縮退度は状態数であるため、N>>1の場合、Wang-Landau法などを用いれば近似的に求めることができ、微視的状態の実現確率も求めることができる。
【0083】
次に、式(5)の遷移確率における確率分布を不変分布とするレプリカ交換について説明する。以下ではレプリカ数をNreplicaとし、全てのレプリカからなる系が状態{{xi},βi,Ei}(i=1,2,…,Nreplica)で与えられる状態を状態Aと呼び、状態Aが実現される確率をPAと記述することにする。このとき、PAは、以下の式(23)で表せる。
【0084】
【0085】
次に、レプリカ番号=iのレプリカとレプリカ番号=jのレプリカとの間で、レプリカ交換により温度パラメータの値を交換した状態を状態Bと呼び、状態Bが実現される確率をPBと記述することにする。このとき、PBは、以下の式(24)で表せる。
【0086】
【0087】
状態Aと状態Bの2状態がしたがうマスター方程式は、以下の式(25)となる。
【0088】
【0089】
式(25)において、PA→Bは状態Aから状態Bへの遷移確率を示す。式(25)のマスター方程式の定常状態は、PA(t)PA→B-PB(t)PB→A=0、という式により与えられる。
【0090】
したがって、以下の式(26)が得られる。
【0091】
【0092】
これにより、レプリカ交換の交換確率Pexは以下の式(27)のように定義できる。
【0093】
【0094】
式(26)の条件は、不変分布条件と呼ばれる。なぜならば、レプリカ交換が、確率分布の関数形を保存するような束縛条件が課されて行われるからである。
Pexを定義するための確率分布の解析形を求めることは困難であるが、この問題は以下のように解決できる。
【0095】
前述のn(E)(Ej)=Mjπ(Ej)を用いて、式(26)をエネルギー空間の表式に直すと、以下の式(28)のようになる。
【0096】
【0097】
したがって、エネルギー空間表示をしたときの確率密度の比から、式(5)で表せる遷移確率によって得られる確率分布を不変分布にするようなレプリカ交換の交換確率を定義できる。これにより、各レプリカがしたがう確率分布がπ({xj},βj,Ej)にしたがうことを強制するレプリカ交換が実現される。つまり、この方式では、個々のレプリカ内部では詳細つり合いが要求されないが、レプリカ交換において詳細つり合いが要求される。式(28)において、確率分布をボルツマン分布型にとると式(3)が得られる。
【0098】
したがって、ボルツマン分布を用いたレプリカ交換ではメトロポリス法の式がたまたまよく似た式になるが一般には異なる。レプリカ内部での詳細つり合いの成立の有無と、レプリカ交換における詳細つり合いは理論的に別の起源をもつ。
【0099】
そして、不変分布条件が課されるレプリカ交換は各レプリカが同一の確率分布を保持する条件であるため、この条件は最小値求解問題では一般には必要はない。もちろん、個々のレプリカ内の確率分布を、全体分布を構成するための材料とみなすのであれば、材料である確率分布は不変であったほうが制御はしやすい。しかし、一般には全てのレプリカを含む全系において既約でありさえすれば、解への到達可能性は保証される。
【0100】
したがって、レプリカ内の遷移確率とレプリカ間の交換確率は別々に設定してよい。そのための条件は2つである。条件の1つ目はあるレプリカと別のレプリカとの交換確率が0ではないこと、条件の2つ目はあるレプリカから自分自身であるレプリカへの遷移が0ではないこと、である。この2つの条件が守られれば、計算者は計算に都合のよいレプリカ交換の交換確率を定義してよい。
【0101】
図1の処理部12は、以下の式(29)の交換確率(P
ex)にしたがって、レプリカ交換を行う。
【0102】
【0103】
式(29)のP
exを用いることで、不変分布条件が満たされる。
図1には、処理部12による最適化方法の一例の処理の流れが示されている。
処理部12は、記憶部11から問題情報を取得する(ステップS1)。なお、処理部12は、記憶部11から式(5)のf(ΔE
ij)(遷移確率)の情報や、レプリカ交換による求解処理の終了条件となる計算回数など記憶部11から取得してもよい。
【0104】
次に、処理部12は、初期化処理を行う(ステップS2)。初期化処理は、エネルギー関数が式(1)で表される場合、記憶部11に記憶される各レプリカについての状態変数であるx1~xNを初期化する処理を含む。x1~xNは、たとえば、全て0に初期化されてもよいし、全て1に初期化されてもよい。また、x1~xNは、ランダムに0と1が設定されるように初期化されてもよいし、外部から供給された値によって初期化されてもよい。また、初期化処理は、問題情報と、状態変数の初期値に基づいて、エネルギーの初期値を式(1)により計算する処理を含む。エネルギーの初期値は、現在の最小値(EMin)として記憶部11に記憶される。
【0105】
その後、処理部12は、レプリカ交換法による最適解の求解処理に用いる互いに異なる複数の温度パラメータの値を決定するとともに、複数の温度パラメータの値をそれぞれ複数のレプリカの何れかに1つずつ設定する(ステップS3)。
【0106】
前述のように、ボルツマン分布に基づく遷移確率を用いた場合、
図2のように、温度パラメータの値の変化に対するエネルギーの変化が急な部分があり、複数のレプリカのそれぞれに設定する温度パラメータを決定することが難しい。そのため、式(5)のf(ΔE
ij)として、温度パラメータの値の変化に対するエネルギー関数の値の変化がボルツマン分布よりも緩やかになる遷移確率が用いられる。これにより、温度パラメータの決定が容易になる。なお、温度パラメータの決定方法については後述の第2の実施の形態において説明する。
【0107】
そして、処理部12は、レプリカ交換法による求解処理を行う(ステップS4)。
処理部12は、上記の遷移確率にしたがって、複数の状態変数の何れかの値の更新を繰り返す更新処理(一定回数のMCMC計算)を、複数のレプリカのそれぞれについて互いに独立に行う。
図1には、温度パラメータの値の変化に対するエネルギーの変化がボルツマン分布よりも緩やかになる遷移確率の例として、べき乗型の遷移確率(f(ΔE
ij)=1/(1+βΔE)
m(m>1)が示されている。
【0108】
処理部12は、上記一定回数ごとに、式(29)のPexにしたがって、複数のレプリカの間で、複数のレプリカのそれぞれに設定された複数の温度パラメータの何れかの値を交換する処理を繰り返す。なお、処理部12は、温度パラメータの値の交換の代わりに、状態(N個の状態変数の値)を交換してもよい。
【0109】
なお、式(29)の確率密度(n(βi,Ej)など)は、温度パラメータの値ごとに独立なサンプリング計算を行うことで比較的容易に得られる。確率密度の計算方法の例やレプリカ交換法による求解処理のより詳細な例については、第2の実施の形態において説明する。
【0110】
処理部12は、たとえば、各レプリカにおいてMCMC計算が行われるたびに、エネルギーを計算し、記憶部11に記憶される現在のEMinよりも低いエネルギーが得られた場合には、EMinを更新する。そして、処理部12は、所定の回数のレプリカ交換が終了した時点でのEMinを計算結果として、たとえば、外部装置(外部のコンピュータ、記憶媒体、表示装置など)に出力し(ステップS5)、処理を終える。
【0111】
なお、処理部12は、EMinが得られたときのx1~xNの値を記憶部11に記憶して、最後に記憶したx1~xNの値をEMinとともに出力してもよい。
以上のような第1の実施の形態の情報処理装置10及び最適化方法によれば、各レプリカについて、温度パラメータの値の変化に対する評価関数の値の変化がボルツマン分布に基づく遷移確率よりも緩やかになる遷移確率を用いてMCMC計算が行われる。これにより、ボルツマン分布に基づく遷移確率を用いた場合に生じる相転移が抑制されるため温度パラメータの決定が容易になる。
【0112】
なお、ボルツマン分布に基づく遷移確率とは異なる遷移確率を用いた場合、不変分布条件は自明ではないが、上記のように、不変分布条件を満たす交換確率によりレプリカ交換を行うことで、レプリカ交換前後において確率分布が同じとなる。これにより、計算の安定性が増し、計算が制御しやすくなる。つまり、エネルギー空間を安定してサンプリング可能になり、その結果、求解効率が安定する。
【0113】
(第2の実施の形態)
以下に示す第2の実施の形態では、温度パラメータの値の変化に対する評価関数の値の変化がボルツマン分布に基づく遷移確率よりも緩やかになる遷移確率として、以下の式(30)で表されるべき乗型の遷移確率が用いられる。
【0114】
【0115】
図4は、ボルツマン分布に基づく遷移確率を用いた場合と、べき乗型の遷移確率を用いた場合のエネルギーの温度依存性の違いの例を示す図である。横軸は温度パラメータ(T)、縦軸はエネルギー(E)を表す。なお、用いたべき乗型の遷移確率は、式(30)において、m=1.001としたものである。
【0116】
なお、エネルギーの期待値〈E〉は、以下の式(31)で表せる。
【0117】
【0118】
E(X)は、式(1)のH({x})であり、P(X)はある状態Xの確率分布であり、N
dataは、サンプリングで取得したデータ点数である。
図4は、温度パラメータの値ごとに平衡状態に達してからサンプリングを開始し、十分大きい値であるN
dataのE
iを取得することによって得られたものである。
【0119】
図4のように、低温領域と高温の極限では、ボルツマン分布に基づく遷移確率を用いた場合と、べき乗型の遷移確率を用いた場合のエネルギーの温度依存性はほぼ等しい。しかし、中間の温度領域では顕著な違いが現れている。ボルツマン分布に基づく遷移確率を用いた場合、相転移に対応する温度パラメータの値の近傍でエネルギーが急激に変化している。これは自由度が増えるほど急激になり、λ点的になっていく。一方、べき乗型の遷移確率を用いた場合、エネルギーの増加が、ボルツマン分布に基づく遷移確率を用いた場合よりも緩やかになっている。
【0120】
図5は、べき乗型の遷移確率の指数とエネルギー(期待値)の温度依存性との関係の例を示す図である。横軸は温度パラメータ(T)、縦軸はエネルギー(E)を表す。なお、比較のためにボルツマン分布に基づく遷移確率を用いた場合のエネルギーの温度依存性(“Bolz”と表記されている)も示されている。
【0121】
べき乗型の遷移確率の指数(m)を増やしていくと徐々にエネルギーの温度に対する増加率が増大していく。つまり、mが増えるほど、より顕著に相転移らしき現象が現れてくる。したがって、たとえば、m>4の場合は、レプリカ交換時の温度パラメータの刻み幅をより慎重に選ぶことになる。温度パラメータの値の決定をより容易にするためには、たとえば、1<m≦4であることが望ましい。
【0122】
図6は、温度パラメータの各値が設定されるレプリカにおいて得られるエネルギー空間上での確率密度分布を示す図である。横軸はエネルギー(E)、縦軸は確率密度n(E)を表す。
【0123】
なお、レプリカ交換は実施せず、各レプリカの温度パラメータの値は固定されている。また、
図6の4つのケースの全ての計算において同じ温度列(同じ温度パラメータ群)が用いられている。なお、
図6の計算例では、最低温度を示す温度パラメータ(T
min)については、T
min=1.0、最高温度を示す温度パラメータ(T
max)については、T
max=100、レプリカ数は26としている。
【0124】
図6では、4つのケースのエネルギー空間上の確率密度分布、すなわち、ボルツマン分布に基づく遷移確率を用いた場合に得られる確率密度分布と、m=1.001,2,3としたべき乗型の遷移確率を用いた場合に得られる確率密度分布の例が示されている。
【0125】
図6のように、相転移点近傍の中間のエネルギー状態(E=-4000~-10000程度の領域)において、確率密度分布の頂点の間隔が、ボルツマン分布に基づく遷移確率を用いた場合、べき乗型の遷移確率分布を用いた場合よりも大きくなる傾向にある。これは温度パラメータの関数としてエネルギーが急激に変化することに対応する。
【0126】
べき乗型の遷移確率を用いた場合は上記中間のエネルギー状態のエネルギーにおける頂点の間隔は、ボルツマン分布に基づく遷移確率を用いた場合よりも小さくなる傾向にある。このため、上記中間のエネルギー状態におけるサンプリングはボルツマン分布に基づく遷移確率を用いた場合よりも、サンプリングしやすい。
【0127】
そして、べき乗型の遷移確率の指数であるmが大きくなるにつれて、上記中間のエネルギー状態における確率密度分布の頂点間の間隔は大きくなる傾向にある。
つまり、隣接する温度パラメータの値が設定される2つのレプリカにおいて得られる確率密度分布の頂点間の間隔は、温度パラメータの値に対して鈍感になる。このため、mを小さくするほど温度パラメータの設定がより容易になる。
【0128】
ただし、ボルツマン分布に基づく遷移確率とべき乗型の遷移確率が作り出す確率分布は本質的に異なる。そのため、その影響が低温領域に出ている。
図6の計算例の場合、ボルツマン分布に基づく遷移確率を用いた場合にサンプリングがしやすいように温度パラメータを決定したため、べき乗型の遷移確率では低温領域でサンプリング能力が低下していることが分かる。これはべき乗型の遷移確率を用いた場合、ボルツマン分布に基づく遷移確率を用いた場合に十分低温と考えられる領域も十分低温でないからである。この問題は最低温度を示す温度パラメータ(T
min)を、ボルツマン分布に基づく遷移確率を用いた場合よりも小さく取ることで解決できる。
【0129】
図7は、レプリカ交換を行った場合に得られるエネルギー空間上の確率密度分布を示す図である。
図7の計算例では、
図6の計算時と同様の温度パラメータの設定条件が用いられている。
図7の左側はサンプリングを行った全エネルギー領域について確率分布関数を数値的に計算したものである。
図7の右側は
図7の左側において、E=-12500~-12000までを拡大したものである。横軸はエネルギー(E)、縦軸は確率密度(P(E))を表す。なお、用いたべき乗型の遷移確率は、式(30)において、m=3としたものである。また、比較のためにボルツマン分布に基づく遷移確率を用いた場合の確率密度分布(“Bolz”と表記されている)も示されている。
【0130】
図7の右側のように、低エネルギー側ではボルツマン分布に基づく遷移確率を用いたほうが、べき乗型の遷移確率を用いた場合よりも確率密度が大きくなっている。一方で、
図7の左側のように、高エネルギー側ではべき乗型の遷移確率を用いたほうが確率密度は大きくなっている。全体的にはべき乗型の遷移確率を用いた場合、エネルギー空間での確率密度の振る舞いは、ボルツマン分布に基づく遷移確率を用いた場合よりも平坦になっている。マルチカノニカル法の場合、数値的にエネルギー空間上で意図的に全エネルギー領域を等確率で訪問するようなフラットヒストグラムを作るが、マルチカノニカル法ほど平坦にはなっていない。
【0131】
この特徴は基底状態を探索する場合に有利になる局面が存在することを意味する。それは効率的に記憶を忘却することが効率的な探索に繋がると考えられているからである。ここで述べた記憶の忘却とは、高温状態に遷移することによって特定のエネルギーランドスケープ上の構造の影響から脱するという意味である。レプリカ交換法の長所は高温側に状態を遷移させることで深いエネルギー極小構造からも効率的に抜け出せる点にある。しかし、系の自由度が大きくなると、相転移点近傍におけるエネルギー変化が急激になってしまい、効率的に高温領域に遷移させることが難しくなってしまう。逆に、効率的に高温領域に遷移させることができるということは、より広い解空間をサンプリングできることに繋がる。
【0132】
これまでに説明した結果を使うと、べき乗型の遷移確率を用いた場合、レプリカ数を減らせることが分かる。
図8は、レプリカ交換法による最大カット問題の計算例を示す図である。採用された問題は、最適解が知られているG43と呼ばれる問題である。横軸はレプリカ数、縦軸は求解確率(%)を表す。なお、用いたべき乗型の遷移確率は、式(30)において、m=1.001としたものである。また、比較のためにボルツマン分布に基づく遷移確率を用いた場合の計算例も示されている。
【0133】
なお、
図8は、各レプリカについて10万回の計算が行われ、レプリカ交換頻度を10回に一度としたものである。計算が終了したのち、基底状態の解(最適解)に到達したレプリカの数を数え、そこから求解確率が計算されている。たとえば、26個のレプリカを用いて計算が行われた場合、26個の全てのレプリカが最適解に到達したら求解確率は100%である。
【0134】
図7から分かるように、レプリカ数が少なくなると求解確率も減っていく。しかし、べき乗型の遷移確率を用いた場合、ボルツマン分布に基づく遷移確率を用いたときよりも少ないレプリカ数でも最適解が得られている。
【0135】
これは先ほど述べたように、べき乗型の遷移確率を用いることで、エネルギーの温度依存性が温度パラメータの値に関してボルツマン分布に基づく遷移確率を用いた場合よりも鈍感になることによる効果である。つまり、温度パラメータの値を細かく取らなくてもよいため、レプリカ数もそれに伴い少なくすることができる。
【0136】
以下この現象を、数式を使って説明する。いま、レプリカ交換が理想的に行われたとして、エネルギー空間を満遍なく平等に訪問するような確率分布であるρ(E)が得られたとする。ρ(E)は全てのレプリカによって得られる確率分布とする。このときρ(E)をボルツマン分布であるρBの和として表現すると、以下の式(32)のように表せる。
【0137】
【0138】
同様に、ρ(E)を、式(5)の遷移確率によって得られる確率分布であるρPの和として表現すると、以下の式(33)のように表せる。
【0139】
【0140】
つまり、効率的な計算をするためのρ(E)を、異なる2つの分布関数で構成する問題に帰着する。この場合、ボルツマン分布に基づく遷移確率を用いると、
図5からも分かる通り、相転移点近傍でエネルギーが急激に変化する。したがって、式(32)において、全てのエネルギー領域を等しくサンプリングしようとすれば、相転移点近傍において温度パラメータを多く取ることになる。そのため、式(32)を構成する和の項数は多くなる。
【0141】
一方、べき乗型の遷移確率においては
図5からも分かる通り、相転移に対応する相転移点が明確に現れず、温度パラメータを多く取らずとも式(33)から全体の望ましい確率分布を作ることができる。
【0142】
次にレプリカ数を最小にするための条件について述べる。これは最小値求解には必須ではないが、レプリカ数を最小にするためには必須の条件である。その条件とは、レプリカ番号=iのレプリカが作り出すエネルギー空間上の確率密度分布は、レプリカ番号=i-1及びレプリカ番号=i+1のレプリカが作り出す確率密度分布とのみ重なり合いをもつという条件である。
【0143】
図9は、レプリカ交換法における詳細つり合いの例を示す模式図である。
図9には、レプリカ番号=1~4までの4つのレプリカについての詳細つり合いの様子が示されている。4つのレプリカのうち、任意の2つのレプリカの間でレプリカ交換が可能となっている。
【0144】
レプリカ交換法においては、任意の2つの交換対象のレプリカに対して詳細つり合いの原理が課される。これは、式(26)から要請される。詳細つり合いの原理は全ての任意の2つのレプリカについて要請される。そのため、一般には1回のレプリカ交換ではNreplica(Nreplica-1)/2通りの組合せが生じる。しかし、レプリカ交換では温度パラメータの設定を適切に行うことでレプリカ交換の仕方を隣接温度パラメータ間のみの交換にすることができる。
【0145】
図10は、隣接温度パラメータ間のみによるレプリカ交換の例を示す図である。
図10では、レプリカ番号=1のレプリカに最も小さい温度パラメータ、レプリカ番号=2のレプリカに次に小さい温度パラメータ、レプリカ番号=3のレプリカに2番目に大きい温度パラメータ、レプリカ番号=4のレプリカに最も大きい温度パラメータが設定されているものとする。
【0146】
たとえば、レプリカ番号=2のレプリカの作り出す確率密度分布がレプリカ番号=1,3のレプリカの作り出す確率密度分布とのみ重なり合いがあるのであれば、レプリカ番号=2のレプリカはレプリカ番号=4のレプリカとの交換試行は必ず棄却される。このように複数の温度パラメータの値を選ぶことで隣接する温度パラメータが設定されるレプリカ間のみの交換試行を行えばよいことが分かる。厳密には、レプリカ番号=2,4のレプリカ間の確率密度分布の重なり合いはゼロではない。しかし、計算は常に有限の桁数で行われ、温度パラメータを適切に設定すれば、交換確率を0として扱ってよい状況を作り出すことができる。
【0147】
一方で、レプリカ交換法においてよく採用される実装は2種類ある。
1つ目は隣接交換と呼ばれる実装である。これは隣接する温度パラメータが設定されるレプリカの確率密度分布だけが重なり合いをもつ条件を想定する。実装も簡単であり、よく使われる条件であるが、温度パラメータの設定については上記の条件を守るように計算者側が事前に予備計算などで温度パラメータの値を決めておくことになる。
【0148】
2つ目はランダム交換と呼ばれる方法である。これは乱数を用いて任意の2つのレプリカを選択し、全てのレプリカ同士を交換対象とする方法である。この方法は長時間平均を取れば、任意の2つのレプリカの交換試行がなされる。そのため、あるレプリカのエネルギー空間上の確率密度分布が、隣接する温度パラメータ以外が設定されるレプリカの確率密度分布と無視できない大きさの重なり合いをもつ場合でも、詳細つり合いの条件が満たされる特徴がある。どちらの方法を採用しても最小値求解に目的を限れば、既約であることは保証されるため、原理的に解に到達できないということはない。
【0149】
しかし、効率性を考えた場合、レプリカ間の詳細つり合いの条件を満たさない場合、不変分布条件は満たされない。そのため、全レプリカ系の作り出すエネルギー空間上の確率密度分布を制御するには不利になる可能性がある。ここでの目的はレプリカ交換に必要なレプリカ数を削減することであるから、レプリカ数を最小限度に抑えるため、隣接する温度パラメータが設定されるレプリカ間におけるレプリカ交換で不変分布条件が守られるように温度パラメータの決定が行われる。
【0150】
このようにして、最小レプリカ数と複数の温度パラメータの値を決定することができる。より具体的な決定方法について、以下に説明する。
まず、レプリカ数が多めに設定され、
図6のようにレプリカ交換なしでエネルギー空間上の確率密度分布が求められる。そして、温度パラメータの各値についての確率密度分布の頂点を与えるエネルギーの値とその確率密度分布の広がり(標準偏差)が求められる。これから、温度パラメータの関数として確率密度分布の頂点を与えるエネルギーを求めることができる。一方で確率密度分布の広がりから重なり合いの程度を求めることができる。そして頂点を与えるエネルギーと重なり合いの程度から、交換確率の大小を考慮しつつ、隣接する温度パラメータの値のみが交換されるような複数の温度パラメータを選択することができる。
【0151】
図5に示したように、べき乗型の遷移確率を用いた場合に得られるエネルギー(期待値)の分布が高温領域では正規分布に近くなることを利用して、たとえば、以下の式(34)を満たすように温度パラメータであるβ
iを選べばよい。
【0152】
【0153】
式(34)において、左辺の1項目は、レプリカ番号=iのレプリカによるエネルギー空間上の確率密度分布の頂点を与えるエネルギー、左辺の2項目はその確率密度分布の標準偏差に所定の係数nを乗じた値である。右辺の1項目は、レプリカ番号=i+1のレプリカによる確率密度分布の頂点を与えるエネルギー、右辺の2項目はその確率密度分布の標準偏差にnを乗じた値である。
【0154】
nは確率密度分布同士の重なりの大きさを示す変数である。交換確率を大きくとるのであれば、重なり合いを大きくする必要があるため、レプリカ数は増える。交換確率を小さくしてもよいのであれば、レプリカ数を減らすことができる。
【0155】
図11は、エネルギー空間上の確率密度分布の頂点を与えるエネルギーと確率密度分布の標準偏差の例を示す図である。横軸はエネルギー(E)、縦軸は確率密度n(E)を表す。なお、
図11には、
図6のm=2のべき乗型の遷移確率を用いた場合の確率密度分布の一部が示されている。
【0156】
図11には、式(34)の左辺の1項目である、レプリカ番号=iのレプリカによるエネルギー空間上の確率密度分布の頂点を与えるエネルギーと、その確率密度分布の標準偏差の例が示されている。さらに、
図11には、右辺の2項目である、レプリカ番号=i+1のレプリカによる確率密度分布の頂点を与えるエネルギーと、その確率密度分布の標準偏差の例が示されている。
【0157】
なお、温度パラメータであるTの計算では、Tが低い順に決められていく。
図12は、低温領域での確率密度分布の振る舞いの例を示す図である。横軸はエネルギー、縦軸は確率密度を表す。
【0158】
図12には低温領域でのエネルギー空間上の確率密度分布が表されている。低温領域では温度パラメータの値が低すぎると(
図12の“T:小”参照)、遷移自体が起こらなくなる。そのため、低エネルギー側の探索効率が落ちてしまう。逆に温度パラメータの値が高くなってしまうと(
図12の“T:大”参照)、逆に遷移しすぎてしまい低温側の探索効率が落ちてしまう。そのため、一番小さい温度パラメータの値を選択するときには最適な値(たとえば、
図12の“T:中”)が存在する。この最適な値は、
図5に示したように、温度パラメータの関数としてエネルギーを計算したとき、ある温度パラメータの値でエネルギーの期待値が最小値を取ることから決めることができる。
【0159】
なお、温度パラメータの最小値は予備計算の試行回数を短く取ることから生じるアーチファクトの影響を受ける。しかし、温度パラメータの値を最適化した後の計算においても十分多くの試行回数を取ることは難しいため、見せかけの最小値を与える温度パラメータの値を最小値として取ることにする。
【0160】
温度パラメータの最小値が決まった後は、式(34)にしたがって残りの温度パラメータの値を決めていけばよい。このとき、温度パラメータの関数としてのエネルギー関数が補間法などを用いて求められる。標準偏差についても同様に補間法などを用いて求められる。補間法については何を用いてもよいが、低温領域で誤差が大きくなるため、最小二乗法を用いた曲線補間などを用いて平滑化された曲線を求めておけばよい。補間曲線を求めた後は、式(34)を満たすようなレプリカ番号=i+1のレプリカによる確率密度分布の頂点のエネルギーと、その確率密度分布の標準偏差を求めればよい。ここから対応するβi+1、つまりTi+1を求めることができる。
【0161】
(ハードウェア構成例)
上記のようなレプリカ交換法や温度パラメータの決定方法については、たとえば以下のようなハードウェアにより実現できる。
【0162】
図13は、第2の実施の形態の情報処理装置のハードウェアの一例を示す図である。
第2の実施の形態の情報処理装置20は、たとえばコンピュータであり、CPU21、RAM22、HDD23、GPU24、入力インタフェース25、媒体リーダ26及び通信インタフェース27を有する。上記ユニットは、バスに接続されている。
【0163】
CPU21は、プログラムの命令を実行する演算回路を含むプロセッサである。CPU21は、HDD23に記憶されたプログラムやデータの少なくとも一部をRAM22にロードし、プログラムを実行する。なお、CPU21は複数のプロセッサコアを備えてもよく、情報処理装置20は複数のプロセッサを備えてもよく、以下で説明する処理を複数のプロセッサまたはプロセッサコアを用いて並列に実行してもよい。また、複数のプロセッサの集合(マルチプロセッサ)を「プロセッサ」と呼んでもよい。
【0164】
RAM22は、CPU21が実行するプログラムやCPU21が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、情報処理装置20は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
【0165】
HDD23は、OS(Operating System)やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、及び、データを記憶する不揮発性の記憶装置である。プログラムには、たとえば、レプリカ交換法による最適化方法を実行する最適化プログラムが含まれる。なお、情報処理装置20は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。
【0166】
GPU24は、CPU21からの命令にしたがって、情報処理装置20に接続されたディスプレイ24aに画像を出力する。ディスプレイ24aとしては、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、プラズマディスプレイ(PDP:Plasma Display Panel)、有機EL(OEL:Organic Electro-Luminescence)ディスプレイなどを用いることができる。
【0167】
入力インタフェース25は、情報処理装置20に接続された入力デバイス25aから入力信号を取得し、CPU21に出力する。入力デバイス25aとしては、マウスやタッチパネルやタッチパッドやトラックボールなどのポインティングデバイス、キーボード、リモートコントローラ、ボタンスイッチなどを用いることができる。また、情報処理装置20に、複数の種類の入力デバイスが接続されていてもよい。
【0168】
媒体リーダ26は、記録媒体26aに記録されたプログラムやデータを読み取る読み取り装置である。記録媒体26aとして、たとえば、磁気ディスク、光ディスク、光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリなどを使用できる。磁気ディスクには、フレキシブルディスク(FD:Flexible Disk)やHDDが含まれる。光ディスクには、CD(Compact Disc)やDVD(Digital Versatile Disc)が含まれる。
【0169】
媒体リーダ26は、たとえば、記録媒体26aから読み取ったプログラムやデータを、RAM22やHDD23などの他の記録媒体にコピーする。読み取られたプログラムは、たとえば、CPU21によって実行される。なお、記録媒体26aは、可搬型記録媒体であってもよく、プログラムやデータの配布に用いられることがある。また、記録媒体26aやHDD23を、コンピュータ読み取り可能な記録媒体ということがある。
【0170】
通信インタフェース27は、ネットワーク27aに接続され、ネットワーク27aを介して他の情報処理装置と通信を行うインタフェースである。通信インタフェース27は、スイッチなどの通信装置とケーブルで接続される有線通信インタフェースでもよいし、基地局と無線リンクで接続される無線通信インタフェースでもよい。
【0171】
次に、情報処理装置20の機能及び処理手順を説明する。
図14は、第2の実施の形態の情報処理装置の機能例を示すブロック図である。
情報処理装置20は、記憶部30、処理部31を有する。処理部31は、制御部31a、設定読込部31b、スピン初期化部31c、温度計算部31d、確率密度計算部31e、レプリカ交換計算部31f、結果出力部31gを有する。
【0172】
なお、記憶部30は、たとえば、HDD23に確保した記憶領域を用いて実装できる。処理部31は、たとえば、CPU21が実行するプログラムモジュールを用いて実装できる。
【0173】
記憶部30は、エネルギー情報、スピン情報、レプリカ情報、確率密度情報、問題設定情報、ハミルトニアン情報を記憶する。
エネルギー情報は、計算されたエネルギーの初期値や、これまで計算されたエネルギーの最小値を含む。また、エネルギー情報は、最小値のエネルギーに対応した各状態変数の値を含んでいてもよい。スピン情報は、各状態変数の値を含む。レプリカ情報は、レプリカ交換法を実行するために用いられる情報であり、レプリカ数(Nreplica)、レプリカ交換頻度(Nex)、最低温度を表す温度パラメータの値(Tmin)、最高温度を表す温度パラメータの値(Tmax)を含む。確率密度情報は、式(28)の交換確率を計算するための、確率密度の情報(n(βi,Ej)など)を含む。確率密度情報は、さらに、たとえば、後述のように確率密度分布をヒストグラムで評価する場合のヒストグラムのビンの数(Nbin)、確率密度を更新する頻度(Nprob)を含む。問題設定情報は、使用する遷移確率の情報(前述のべき乗型の遷移確率の指数(m)の値)、予備計算のための計算回数(Npre)、予備計算後の最適解の求解のための計算回数(Niter)、スピン初期化法(状態変数の初期値の決め方)の情報を含む。ハミルトニアン情報は、たとえば、式(1)に示したエネルギー関数の重み係数(Wij)、バイアス係数(bi)、定数(C)などを含み、前述の問題情報の一例である。
【0174】
制御部31aは、処理部31の各部を制御する。
設定読込部31bは、記憶部30から上記の各種情報を、制御部31aが理解可能な形式で読み込む。
【0175】
スピン初期化部31cは、スピン(状態変数)の初期化を行う。
温度計算部31dは、各レプリカに設定する温度パラメータを決定する。
確率密度計算部31eは、式(28)の交換確率を計算するための、確率密度(n(βi,Ej)など)を計算する。
【0176】
レプリカ交換計算部31fは、レプリカ交換法による求解処理(以下、レプリカ交換処理という)を実行する。
結果出力部31gは、レプリカ交換処理の結果(探索結果)を出力する。結果出力部31gは、たとえば、レプリカ交換処理が所定の終了条件を満たすときに、その時点までに得られた最小のエネルギーとそのエネルギーを与える各状態変数の値を、探索結果として出力する。
【0177】
図15は、第2の実施の形態の情報処理装置の一例の処理の流れを示すフローチャートである。
処理が開始すると、まず、設定読込部31bが、記憶部30から上記の各種情報を、制御部31aが理解可能な形式で読み込む(ステップS10)。その後、スピン初期化部31cは、状態変数の初期化を行う(ステップS11)。また、温度計算部31dと確率密度計算部31eによる予備計算が行われる(ステップS12)。ステップS12の処理では、温度計算部31dにより、温度パラメータの計算が行われ、確率密度計算部31eにより、交換確率の計算に用いる確率密度が計算される。計算された確率密度の情報は、記憶部30に記憶される。
【0178】
その後、制御部31aは、複数のレプリカにそれぞれ異なる温度パラメータの値を設定する(ステップS13)。
そして、レプリカ交換計算部31fによるレプリカ交換処理が行われ(ステップS14)、その結果が出力される(ステップS15)。結果出力部31gは、たとえば、レプリカ交換処理が所定の終了条件(たとえば、計算回数がNiterに達したこと)を満たすときに、その時点までに得られた最小のエネルギーとそのエネルギーを与える各状態変数の値を、レプリカ交換処理の結果として出力する。
【0179】
その後、情報処理装置20の処理が終了する。なお、以下、ステップS14の処理を、ステップS12の予備計算と対比させて本計算と呼ぶ場合もある。
(情報読込処理の例)
図16は、情報読込処理の一例の処理の流れを示すフローチャートである。
【0180】
設定読込部31bは、記憶部30からハミルトニアン情報(式(1)に示したエネルギー関数の重み係数(Wij)、バイアス係数(bi)、定数(C))を読み込む(ステップS20)。
【0181】
また、設定読込部31bは、記憶部30からTmin、Tmaxを読み込む(ステップS21)。
さらに、設定読込部31bは、記憶部30からNreplica、Npre、Niter、Nex、Nbin、Nprobを読み込む(ステップS22)。
【0182】
また、設定読込部31bは、記憶部30からスピン初期化法を読み込み(ステップS23)、情報読込処理を終える。
なお、
図16に示した処理の流れは一例であって、適宜処理の順序が入れ替えられていてもよい。
【0183】
(スピン初期化処理の例)
図17は、スピン初期化処理の一例の処理の流れを示すフローチャートである。
スピン初期化部31cは、スピン初期化法が指定モードであるか否かを判定する(ステップS30)。スピン初期化部31cは、スピン初期化法が指定モードであると判定した場合、情報処理装置20の外部から指定された各状態変数の初期値で、全状態変数を初期化し(ステップS31)、スピン初期化処理を終える。
【0184】
スピン初期化部31cは、スピン初期化法が指定モードではないと判定した場合、スピン初期化法が0モードであるか否かを判定する(ステップS32)。スピン初期化部31cは、スピン初期化法が0モードであると判定した場合、全状態変数を0で初期化し(ステップS33)、スピン初期化処理を終える。スピン初期化部31cは、スピン初期化法が0モードではないと判定した場合、全状態変数を1で初期化し(ステップS34)、スピン初期化処理を終える。
【0185】
なお、
図17に示した処理の流れは一例であって、適宜処理の順序が入れ替えられていてもよい。
(温度パラメータ計算処理の例)
次に、
図15の予備計算の1つ目の処理である温度パラメータの計算処理の例を説明する。
【0186】
図18は、温度パラメータ計算処理の一例の処理の流れを示すフローチャートである。
温度計算部31dは、複数の温度パラメータ(T)のそれぞれの値について得られるエネルギー空間上の確率密度分布の頂点のエネルギーから、Tの関数であるエネルギーの補間曲線(E
ave(T))を算出する(ステップS40)。複数の温度パラメータ(T)のそれぞれの値について得られるエネルギー空間上の確率密度分布の頂点のエネルギーは、たとえば
図4に示したようなべき乗型の遷移確率を用いた場合のエネルギーの温度依存性のサンプリング結果から得られる。
【0187】
また、温度計算部31dは、複数の温度パラメータ(T)のそれぞれの値について得られるエネルギー空間上の確率密度分布の標準偏差から、Tの関数である標準偏差の補間曲線(σ(T))を算出する(ステップS41)。複数の温度パラメータ(T)のそれぞれの値について得られるエネルギー空間上の確率密度分布の標準偏差は、たとえば
図4に示したようなべき乗型の遷移確率を用いた場合のエネルギーの温度依存性のサンプリング結果から得られる。
【0188】
そして、温度計算部31dは、Eave(T)とσ(T)に基づいて、たとえば、2分法を用いて、式(34)の関係を満たすように、TminからTmaxまでの温度パラメータ(T)の値を、Nreplica数分決定する(ステップS42)。その後、温度計算部31dは、温度パラメータの計算処理を終える。
【0189】
なお、ステップS40,S41の処理順序は逆であってもよい。
ところで、温度パラメータの計算処理にあまり手間をかけないようにする場合は、前述の隣接交換の条件は厳密に守られなくてもよい。なぜならば、最小値求解問題では平衡状態の存在と、既約性だけが保証されていればよいからである。この条件を厳密に守ることが望ましいのは、統計力学的なシミュレーションで何らかの物理量を計算し、詳細つり合いの条件を厳密に守り、特定のアンサンブルを作り出すことが望ましい場合である。
【0190】
(確率密度計算処理の一例)
次に、
図15の予備計算の2つ目の処理である確率密度の計算処理の例を説明する。
確率密度(n(β
i,E
j)など)は、式(29)のレプリカ交換の交換確率(P
ex)を計算するために算出される。確率密度は、温度パラメータの各値を用いたべき乗型の遷移確率を用いたMCMC計算の実行時に、温度パラメータの各値について独立なサンプリング計算をすることで容易に計算できる。たとえば、確率密度を求める簡単な方法として、ヒストグラムを用いた近似計算がある。比較的短時間の予備計算を全ての温度パラメータのそれぞれの値について行うと、レプリカ交換なしでのエネルギーの最小値(E
min)と最大値(E
max)を求めることができる。ヒストグラムのビンの数をN
binとすると、N
bin+1個の点がある。このとき、各ビンの幅を一定とすれば、i番目の点は、以下の式(35)で表せる。
【0191】
【0192】
式(35)において、i=0,1,2,…,Nbinである。Emin=Ebin,0、Emax=Ebin,Nとすると、区間[Ebin,i,Ebin,i+1]を定めることができる。
【0193】
図19は、確率密度の計算処理の一例の処理の流れを示すフローチャートである。
確率密度計算部31eは、上記の方法で、温度パラメータの各値についてのE
minとE
maxを決定し(ステップS50)、式(35)によりE
bin,iを決定する(ステップS51)。
【0194】
そして、確率密度計算部31eは、変数kを1にして(ステップS52)、変数jを1にして(ステップS53)、変数iを0にする(ステップS54)。
その後、確率密度計算部31eは、Ebin,i≦Ej≦Ebin,i+1であるか否かを判定する(ステップS55)。Ejは、レプリカ番号=kのレプリカに設定される温度パラメータの値についてのサンプリング計算で得られたNdata個のデータ(エネルギーの値)のうち、j番目のデータである。
【0195】
確率密度計算部31eは、Ebin,i≦Ej≦Ebin,i+1であると判定した場合、レプリカ番号=kのレプリカに設定される温度パラメータの値についての、区間[Ebin,i,Ebin,i+1]におけるデータ点数を示すni
kを+1する(ステップS56)。
【0196】
確率密度計算部31eは、ステップS56の後、またはEbin,i≦Ej≦Ebin,i+1ではないと判定した場合、i=Nbinであるか否かを判定する(ステップS57)。確率密度計算部31eは、i=Nbinではないと判定した場合、iを+1して(ステップS58)、ステップS55からの処理を繰り返す。
【0197】
確率密度計算部31eは、i=Nbinであると判定した場合、j=Ndataであるか否かを判定する(ステップS59)。確率密度計算部31eは、j=Ndataではないと判定した場合、jを+1して(ステップS60)、ステップS54からの処理を繰り返す。
【0198】
確率密度計算部31eは、j=Ndataであると判定した場合、k=Nreplicaであるか否かを判定する(ステップS61)。確率密度計算部31eは、k=Nreplicaではないと判定した場合、kを+1して(ステップS62)、ステップS53からの処理を繰り返す。
【0199】
確率密度計算部31eは、k=Nreplicaであると判定した場合、k=1(ステップS63)、i=0とする(ステップS64)。
その後、確率密度計算部31eは、ステップS62までの処理で得たni
kを、ni
k/Ndataで更新する(ステップS65)。
【0200】
そして、確率密度計算部31eは、i=Nbinであるか否かを判定する(ステップS66)。確率密度計算部31eは、i=Nbinではないと判定した場合、iを+1して(ステップS67)、ステップS65からの処理を繰り返す。
【0201】
確率密度計算部31eは、i=Nbinであると判定した場合、k=Nreplicaであるか否かを判定する(ステップS68)。確率密度計算部31eは、k=Nreplicaではないと判定した場合、kを+1して(ステップS69)、ステップS64からの処理を繰り返す。
【0202】
確率密度計算部31eは、k=N
replicaであると判定した場合、確率密度の計算処理を終える。
なお、
図19に示した処理の流れは一例であって、適宜処理の順序が入れ替えられていてもよい。
【0203】
上記の処理によって得られたni
kから、レプリカ交換の交換確率(Pex)を計算するために用いられる確率密度が得られる。
なお、上記の温度パラメータの各値についてのEminとEmaxは本計算時に更新され、上記の確率密度は更新される。
【0204】
(レプリカ交換処理(本計算)の例)
本計算では、ステップS12の処理で決定された複数の温度パラメータの値の何れかが設定された複数のレプリカのそれぞれにおいて、べき乗型の遷移確率を用いたMCMC計算が行われる。
【0205】
MCMC計算の途中で前述のEminまたはEmaxが更新された場合、確率密度計算部31eは、更新されたEminまたはEmaxを用いて前述のヒストグラムを更新することで、交換確率の計算に用いられる確率密度を更新する。
【0206】
図20は、確率密度の更新処理の一例の流れを示すフローチャートである。
確率密度計算部31eは、MOD(N
step,N
prob)=0であるか否かを判定する(ステップS70)。N
stepは本計算の現在の計算回数(ステップ数)であり、N
probは、確率密度の更新頻度を示すステップ数である。ステップS70の処理では、N
stepがN
probの倍数であるか否かが判定される。
【0207】
ヒストグラムの更新頻度は少なくてよい。Nprobは、少なくともサンプリング頻度を示す計算回数よりも十分大きく設定されることが望ましい。たとえば、サンプリングが、本計算の計算回数の1000回に1回行われるなら、ヒストグラムの更新頻度は1000回のサンプリングごとに1回行われるようにNprobが設定される。
【0208】
確率密度計算部31eは、MOD(Nstep,Nprob)=0ではないと判定した場合、後述の処理によりヒストグラムの最小値(Emin)または最大値(Emax)の更新を行い(ステップS71)、処理を終える。
【0209】
確率密度計算部31eは、MOD(Nstep,Nprob)=0であると判定した場合、ヒストグラムの更新を行い(ステップS72)、処理を終える。ステップS72の処理では、ヒストグラムを更新するタイミングにおける最新のEminまたはEmaxが用いられる。なお、確率密度計算部31eは、Eminが更新された場合、ヒストグラムにおいて区間[Ebin,0,Ebin,1]だけ更新し、Emaxが更新された場合、ヒストグラムにおいて区間[Ebin,N-1,Ebin,N]だけ更新する。これにより、ヒストグラム全体を更新する場合よりも計算量を抑えられる。
【0210】
図21は、E
minとE
maxの更新処理の一例の流れを示すフローチャートである。
確率密度計算部31eは、各レプリカにおけるMCMC計算により状態遷移が生じるたびに以下の処理を行う。
【0211】
確率密度計算部31eは、MCMC計算の繰り返し計算の途中で得られる現在の状態変数の値に対応したエネルギー(Enow)が、Enow<Eminであるか否かを判定する(ステップS80)。
【0212】
確率密度計算部31eは、Enow<Eminであると判定した場合、Emin=Enowに更新する(ステップS81)。確率密度計算部31eは、ステップS81の処理後、またはEnow<Eminではないと判定した場合、Enow>Emaxであるか否かを判定する(ステップS82)。
【0213】
確率密度計算部31eは、Enow>Emaxであると判定した場合、Emax=Enowに更新する(ステップS83)。確率密度計算部31eは、ステップS83の処理後、またはEnow>Emaxではないと判定した場合、EminとEmaxの更新処理を終える。
【0214】
なお、
図21に示した処理の流れは一例であって、適宜処理の順序が入れ替えられていてもよい。
図20、
図21のような確率密度の更新処理を行うことで、本計算の現在の計算回数が増えていくと、確率密度のサンプリング精度も上がっていく。
【0215】
本計算では、レプリカ交換計算部31fは、レプリカ交換頻度を示すNexごとに、式(29)の交換確率に基づいて、レプリカ間における温度パラメータの値の交換を行う。なお、温度パラメータの値の交換の代わりに、状態(N個の状態変数の値)を交換してもよい。
【0216】
図22は、レプリカ交換処理の一例の流れを示すフローチャートである。
レプリカ交換計算部31fは、MOD(N
step,N
ex)=0であるか否かを判定する(ステップS90)。ステップS90の処理では、現在の計算回数であるN
stepがレプリカ交換頻度であるN
exの倍数であるか否かが判定される。
【0217】
レプリカ交換計算部31fは、MOD(Nstep,Nex)=0であると判定した場合、MOD(Ntot_ex,2)=0であるか否かを判定する(ステップS91)。レプリカ交換計算部31fは、MOD(Nstep,Nex)=0ではないと判定した場合、レプリカ交換処理を終える。ステップS91の処理では、現在のレプリカ交換回数を示すNtot_exが偶数であるか否かが判定される。
【0218】
レプリカ交換計算部31fは、MOD(Ntot_ex,2)=0であると判定した場合、ToddとTodd+1が設定されるレプリカのペアを交換候補として選択する(ステップS92)。Toddは、ステップS12の処理で計算された温度パラメータ(T)の値を、小さい順に並べたときに、奇数番目の温度パラメータの値を示す。たとえば、T1,T2,T3,T4,T5,…の順に温度パラメータの値が配列されているとする。この場合、T1が設定されているレプリカとT2が設定されているレプリカのペア、T3が設定されているレプリカとT4が設定されているレプリカのペアが交換候補に含まれる。
【0219】
レプリカ交換計算部31fは、MOD(Ntot_ex,2)=0ではないと判定した場合、TevenとTeven+1が設定されるレプリカのペアを交換候補として選択する(ステップS93)。Tevenは、温度パラメータ(T)の値を、小さい順に並べたときに、偶数番目の温度パラメータの値を示す。たとえば、T1,T2,T3,T4,T5,…の順に温度パラメータの値が配列されているとする。この場合、T2が設定されているレプリカとT3が設定されているレプリカのペア、T4が設定されているレプリカとT5が設定されているレプリカのペアが交換候補に含まれる。
【0220】
次に、レプリカ交換計算部31fは、交換候補のペアを1つ選択し(ステップS94)、区間[0,1]の値をもつ乱数Rを発生させる(ステップS95)。そして、レプリカ交換計算部31fは、式(29)の交換確率であるPexが、Pex≧Rであるか否かを判定する(ステップS96)。
【0221】
レプリカ交換計算部31fは、Pex≧Rであると判定した場合、選択したペアのレプリカ間で設定されている温度パラメータの値を交換することでレプリカ交換を実行する(ステップS97)。
【0222】
レプリカ交換計算部31fは、ステップS97の処理後、または、Pex≧Rではないと判定した場合、ステップS92またはステップS93の処理で選択された全交換候補が、ステップS94の処理で全て選択したか否かを判定する(ステップS98)。
【0223】
レプリカ交換計算部31fは、全交換候補を選択していないと判定した場合、ステップS94からの処理を繰り返し、全交換候補を選択したと判定した場合、1回のレプリカ交換処理を終える。
【0224】
なお、
図22に示した処理の流れは一例であって、適宜処理の順序が入れ替えられていてもよい。
また、
図22に示した処理は、隣接交換によるレプリカ交換処理であるが、ランダム交換が行われる場合、乱数で交換対象のレプリカのペアが選択されるように変更すればよい。ペアが決定された後の計算手続きは隣接交換の場合と同じである。
【0225】
ここで、理論面の補足をしておく。式(26)の任意の2つのレプリカ間の詳細つり合い条件は不変分布条件を課している。
べき乗型の遷移確率が用いられる場合、最小値の求解が目的であるため、不変分布条件は理論的に必須ではない。しかし、べき乗型の遷移確率が何らかの分布を作り出し、その分布が不変分布になるような拘束条件を付けることはサンプリング空間を一定に保つために望ましい。なぜなら、予備計算では、温度パラメータの各値における確率密度分布が見積もられ、その見積もりにしたがって、なるべく広くサンプリングができるように複数の温度パラメータの値とレプリカ数が定義される。これは見積もりに用いられる温度パラメータの各値が設定されるレプリカにおいて得られる確率密度分布がレプリカ交換によって変わらないことを暗に仮定している。そのため、最小値求解問題において、べき乗型の遷移確率を用いた場合においても、不変分布条件を課すことに合理性はある。
【0226】
(効果)
図23は、温度パラメータの値の交換の様子を示す図である。横軸は計算回数を表し、縦軸は温度パラメータ(T)を表す。
【0227】
図23では、ボルツマン分布に基づく遷移確率を用いてレプリカ交換処理が行われた場合の温度パラメータの値の交換の様子と、べき乗型の遷移確率(m=3)を用いてレプリカ交換処理が行われた場合の温度パラメータの値の交換の様子が示されている。
【0228】
なお、ボルツマン分布に基づく遷移確率を用いたレプリカ交換処理における複数の温度パラメータの値は、最適化されたとみなせるものが用いられている。これに対して、べき乗型の遷移確率を用いたレプリカ交換処理における複数の温度パラメータの値については最適化がされていない。その理由は、効果を検証するために、べき乗型の遷移確率を用いたレプリカ交換処理を、ボルツマン分布に基づく遷移確率を用いたレプリカ交換処理よりも不利な条件下に置いたからである。
【0229】
べき乗型の遷移確率を用いたレプリカ交換処理における複数の温度パラメータの値について、最低温度がT=5になっており、ボルツマン分布に基づく遷移確率を用いた場合よりも高い温度になっているのはmの値を比較的大きいm=3にとっているからである。T=5は、m=3の系では十分低温とみなせる値である(m=1.001の場合はT=0.1程度が十分低温とみなせる値になる)。
【0230】
このようにmの値に応じて、十分低温とみなせる温度パラメータの値が、最低温度を示すTmin、十分高温とみなせる温度パラメータの値が、最高温度を示すTmaxとして決定される。
【0231】
図23では、レプリカ交換された隣接温度間に線が表示されている。べき乗型の遷移確率を用いた場合、線が密になっており、全ての温度帯でレプリカ交換が実行されている様子がわかる。一方、ボルツマン分布に基づく遷移確率を用いた場合、高温領域になるほど空白が多くなっており、レプリカ交換が実行されにくくなっている様子がわかる。
【0232】
図24は、レプリカに設定される温度パラメータの値の変化を示す図である。横軸は計算回数(ステップ数)を表し、縦軸は温度パラメータ(T)を表す。
図24では、ボルツマン分布に基づく遷移確率を用いてレプリカ交換処理が行われた場合のレプリカ番号=0,25のレプリカに設定される温度パラメータの値の変化が示されている。また、べき乗型の遷移確率(m=3)を用いてレプリカ交換処理が行われた場合のレプリカ番号=4,25のレプリカに設定される温度パラメータの値の変化が示されている。複数の温度パラメータの値の設定に関しては、
図23と同様である。
【0233】
図24のように、ボルツマン分布に基づく遷移確率を用いた場合、レプリカ番号=0のレプリカには、比較的小さい温度パラメータの値が設定され、レプリカ番号=25のレプリカには、比較的大きい温度パラメータの値が設定されている。すなわち、低温領域と高温領域が分離していることがわかる。これは相転移点近傍の温度パラメータの値の調節が難しいことによる。交換確率はエネルギー差に関して指数関数的に小さくなる。相転移点近傍ではエネルギー差が急激に変化し、交換しづらい傾向がある。そのため、相転移点近傍を効率的に超えることが難しくなっているのである。
【0234】
一方、べき乗型の遷移確率を用いた場合、複数の温度パラメータの値を最適化していないにも関わらず、レプリカは低温領域と高温領域を行き来できることが分かる。このことは、
図5の温度パラメータ(T)の関数としてのエネルギーの図から理解できる。べき乗型の遷移確率を用いた場合、ボルツマン分布に基づく遷移確率を用いた場合と比較すると、Tの関数としてエネルギーは急激に増加していない。つまり、レプリカ交換しやすくなっているのである。これはべき乗型の遷移確率を用いたレプリカ交換が温度パラメータの設定に対してロバストであることを意味する。
【0235】
このようにして定性的にはべき乗型の遷移確率を用いたレプリカ交換処理が有用であることが分かるが、定量的な性能改善を論じるために、定量評価指標としてトンネル時間を採用する。トンネル時間とは1つのレプリカがTminからTmaxを経由して、再度Tminまで戻る時間である。逆にTmaxからTminを経由して再度Tmaxに戻る時間をトンネル時間としてもよい。
【0236】
この指標が定量指標になるのは、レプリカ交換法のアルゴリズムが導入されたモチベーションが、高温領域を経由させてエネルギーランドスケープ上の大域的構造を効率的に変え、サンプリング効率を上げることにあることによる。そのため、効率的にTmaxとTminを行き来できればそれだけ効率的と考えられるためである。
【0237】
図25は、ボルツマン分布に基づく遷移確率を用いた場合とべき乗型の遷移確率を用いた場合のレプリカ交換処理時のトンネル時間の比較結果の例を示す図である。横軸はトンネル時間を計算回数(ステップ数)で表したものであり、縦軸は頻度を表す。なお、べき乗型の遷移確率は、m=3のものを使用した。
【0238】
ボルツマン分布に基づく遷移確率を用いたレプリカ交換処理の場合、トンネル時間の平均値はおおよそ、150000ステップであった。これに対して、べき乗型の遷移確率を用いたレプリカ交換処理の場合、トンネル時間の平均値はおおよそ92000ステップであった。比を取ると1.63倍程度であるため、トンネル時間ベースの比較であれば約63%の性能向上になっていた。
【0239】
ただし、ボルツマン分布に基づく遷移確率を用いた場合も繰り返し最適化を行い、労力を考慮しなければトンネル時間を短くすることは可能である。べき乗型の遷移確率を採用する最大のメリットはレプリカ交換処理時に温度パラメータの値に対してロバストになるため、温度パラメータの各値を決定する労力を削減できる点にある。つまり、手抜きをしてもある程度の性能が得られることに意義がある。最適な温度パラメータの値を問題ごとに毎回決定することは大変であるからである。結果を得るための計算機における最終的な計算時間が10分の1になったとしても、最適な温度パラメータの値を得るための計算や準備に10倍の時間がかかってしまえば全体最適化にはならない。上記の手法はべき乗型の遷移確率のTminとTmaxを決定してしまえば、温度パラメータの値に対してロバストな方法であるため、いい加減な設定をしても比較的よい性能が得られる。なぜならば、レプリカ交換の効率を落とす要因を意図的に排除したからである。
【0240】
なお、前述のように、上記の処理内容は、情報処理装置20にプログラムを実行させることで実現できる。
プログラムは、コンピュータ読み取り可能な記録媒体(たとえば、記録媒体26a)に記録しておくことができる。記録媒体として、たとえば、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどを使用できる。磁気ディスクには、FD及びHDDが含まれる。光ディスクには、CD、CD-R(Recordable)/RW(Rewritable)、DVD及びDVD-R/RWが含まれる。プログラムは、可搬型の記録媒体に記録されて配布されることがある。その場合、可搬型の記録媒体から他の記録媒体(たとえば、HDD23)にプログラムをコピーして実行してもよい。
【0241】
以上、実施の形態に基づき、本発明の最適化装置、最適化装置の制御方法及び最適化装置の制御プログラムの一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
【符号の説明】
【0242】
10 情報処理装置
11 記憶部
12 処理部