JP6967422B2 - 計算機及び計算方法 - Google Patents

計算機及び計算方法 Download PDF

Info

Publication number
JP6967422B2
JP6967422B2 JP2017204990A JP2017204990A JP6967422B2 JP 6967422 B2 JP6967422 B2 JP 6967422B2 JP 2017204990 A JP2017204990 A JP 2017204990A JP 2017204990 A JP2017204990 A JP 2017204990A JP 6967422 B2 JP6967422 B2 JP 6967422B2
Authority
JP
Japan
Prior art keywords
eff
time
site
zfd
calculation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017204990A
Other languages
English (en)
Other versions
JP2019079225A (ja
Inventor
辰也 戸丸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2017204990A priority Critical patent/JP6967422B2/ja
Priority to US16/031,135 priority patent/US20190121834A1/en
Publication of JP2019079225A publication Critical patent/JP2019079225A/ja
Application granted granted Critical
Publication of JP6967422B2 publication Critical patent/JP6967422B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Superconductor Devices And Manufacturing Methods Thereof (AREA)

Description

本発明は、全数探索を必要とするような組み合わせ最適化問題等に対して高速演算を可能にする計算技術に関するものである。
IoT (Internet of Things)といった言葉に代表されるように、現代はあらゆるモノがインターネットにつながり,モノから情報が収集され,総合した情報を元にモノが制御される。制御では多くの選択肢の中から最適解が見出されて実行される。極論すれば現代の情報技術は最適解を見出すものとも言える。
こういった背景の中で近年注目されるようになってきたのが量子アニール、別名断熱量子計算と呼ばれる手法である。この方法は、ある物理系の基底状態が解になるように問題を設定し基底状態を見つけることを通して解を得ようとするものである。問題を設定した物理系のハミルトニアンをH^pとする。但し、演算開始時のハミルトニアンはH^pではなく、基底状態に準備しやすい別のハミルトニアンH^0とする。次に十分に時間を掛けてハミルトニアンをH^0からH^pに移行させる。十分に時間を掛ければ系は基底状態に居続け、最終的にハミルトニアンH^pの基底状態(解状態)を得る。これが量子アニールの原理である。
イジング・スピングラスと呼ばれる物理系を利用した基底状態探索法はNP困難と呼ばれる問題にも対応できる。また組合せ最適化問題の中で困難度の高い問題はNP困難に属する。さらに計算複雑性理論でPに分類される問題やNPに分類される問題はすべてNP困難問題に帰着できる。よって、イジング・スピングラス系で量子アニールを適用すれば組合せ最適化問題をほぼすべて解けることになり、情報技術の最も重要な課題が解決される。
量子アニールが注目されるもう一つの理由はディコヒーレンスに対して頑強なことである。量子コンピュータでは量子コヒーレンスが計算時間に亘って保たれていなければならなかったが、量子アニールでは条件が緩和され基底状態が維持されていれば正解が得られる。必ずしも量子コヒーレンスが維持されている必要はない。現状の技術レベルでは純粋な量子系を構築することは困難であり、よって量子コヒーレンスを計算時間に亘って維持することは困難である。この点を考慮すれば量子アニールが注目される理由が理解できる。但し、量子アニールにも欠点がある。量子アニールを実現しうるのは現状では超伝導磁束量子ビット系に限られており、極低温冷却装置を必要とする。極低温の必要性は実用的なコンピュータ実現のためには課題である。
この課題を解決するために考案された方法が以下で述べる局所場応答法である(特許文献1〜3、非特許文献1、2)。まず量子アニールを再考する。アニール(焼きなまし)の概念は元々量子・古典に関係なく存在するものであり、量子アニールは量子性を使って古典アニールの性能を向上させようとしたものである。量子アニールにおいては量子コヒーレンスが必ずしも計算時間に亘って維持される必要がなく、基底状態が維持されれば良かったのはそのためである。アニールの概念はこのように幅広いものであり量子性の使い方に関しても量子アニールとは異なる方法論が有り得る。
その観点で発明されたのが前述の局所場応答法である。この方法では量子アニールと同様に、演算器としてのスピン系に時刻t = t0で横磁場を印加し、磁場を徐々に縮小して時刻t = τで解を得る。演算器そのものは古典的であり、磁場に対してスピンが応答する際に量子力学的情報が付加される。この方法は古典的マシンで動作させるので室温動作が可能であり、極低温が必要な量子アニールの課題を解決する。特許文献1〜3や非特許文献1では経験的、あるいは類似の問題を解いた結果から量子効果を平均的に含む応答関数を決定し、量子効果を取り入れた。非特許文献2では量子力学の線形重ね合わせの性質を現象論的に取り入れることにより特許文献1〜3や非特許文献1の方法に比べて解精度を向上させた。しかし、量子力学のもうひとつの重要な性質である量子縺れの性質が十分に取り入れられたものではなかった。
WO2015/118639 WO2016/157333 WO2016/194221
以上述べたように、量子アニールは超伝導磁束量子ビットを用いるために極低温冷却装置を必要とする。また、局所場応答法は室温で動作するものの、量子力学の重要な性質である量子縺れの性質が十分に取り入れられたものではなく、性能が制限されていた。そこで本発明の目的は、全数探索を必要とするような難しい課題に対して十分な性能持った室温動作可能な計算機及び演算プログラムを提供することにある。
変数としてのスピンを局所的な有効磁場に応答させる局所場応答法において、時間軸を離散的とし、有効磁場に対してスピンを応答させる際に、スピンの大きさの小さいサイトから順番に有効磁場を求めてスピンを応答させ、スピンの符号が反転した場合はその情報を以降のサイトの有効磁場決定に反映させて、量子縺れに起因した多体効果を現象論的に取り入れる。より具体的には以下のようになる。
演算部、記憶部、制御部を具備し、前記制御部の制御により、前記記憶部と前記演算部との間でデータをやり取りしながら演算を行う計算機、あるいは計算機による計算方法であって、
N個の変数sj z (j = 1, 2,・・・ , N)が−1≦sj z≦1の値域を取り、局所項を表す係数gjと変数間相互作用を表す係数Jkj (k, j = 1, 2, ・・・, N)によって課題の設定を行い、
前記演算部では、時刻をm分割して離散的にt = t0 (t0 = 0)からtm (tm ≦ τ)まで演算するものとする。ここでN、mは自然数である。
各時刻ti(i = 1, 2, .., m)で変数Beff,j z(ti)及びsj z(ti)をこの順番で定めるものとし、該Beff,j z(ti)はsk z(ti−1)、Jkj、gj、tiの関数であり、該sj z(ti)はBeff,j z(ti)及びtiの関数であり、時刻t0の初期値はBj z(t0)=0及びsj z(t0)=0とし、時刻ti(i = 1, 2, .., m)のBeff,j z(ti)及びsj z(ti)を求めるに当たっては、まずsj z(ti−1)を|sm1 z(ti−1)|≦|sm2 z(ti−1)|≦|sm3 z(ti−1)|≦・・・≦|smN z(ti−1)|のように降べきの順に並べ、最初にサイトm1のBeff,m1 z(ti)及びsm1 z(ti)を求めてsm1 z(ti−1) = sgn(sm1 z(ti))|sm1 z(ti−1)|とし、次にサイトm2のBeff,m2 z(ti)及びsm2 z(ti)を求めてsm2 z(ti−1) = sgn(sm2 z(ti))|sm2 z(ti−1)|とし、続いてサイトm3の演算を同様に実行し、以下サイトmNまで同様な演算を実行して時刻tiの演算を行うものとし、
時刻ステップをt = t0からt = tmに進めるにつれて前記変数sj zを−1あるいは1に近づけ、最終的にsj z < 0ならばsj zfd = −1、sj z > 0ならばsj zfd = 1として解を定めることを特徴とする。
また、上記ではサイトmNまで同様な演算を実行して時刻tiの演算を行っているが、mx(ただし、0<x≦N)まで同様な演算を実行し、サイトmx+1以降では、従来の局所場応答法と同様に、全てのサイトを独立かつ並列的に処理して時刻tiの演算を行うように構成してもよい。なおxは自然数である。
本方法は古典的マシン上で動作させるものであり、極低温にする必要が無く、また量子コヒーレンスを考慮する必要もない。その結果、使用可能なリソースが広範囲になり電気回路等も利用できる。さらに、量子縺れの効果を現象論的に取り入れたことにより解精度が向上するとともに計算時間が短縮される。これらの性質により高い解精度で難問を解ける実用的な計算機が実現する。
実施例の原理を模式的に示した模式図である。 実施例1に係るアルゴリズムの一例をフローチャートで示した流れ図である。 応答関数rbの具体的な値を示したグラフ図である。 実施例2に係るアルゴリズムの一例をフローチャートで示した流れ図である。 実施例3に係るアルゴリズムの一例をフローチャートで示した流れ図である。 実施例3に係るアルゴリズムの他の例をフローチャートで示した流れ図である。 実施例4に係るアルゴリズムの一例をフローチャートで示した流れ図である。 実施例5に係るアルゴリズムの一例をフローチャートで示した流れ図である。 実施例6に係るアルゴリズムの一例をフローチャートで示した流れ図である。 実施例7に係る計算機構成の一例を示したブロック図である。
実施の形態について、図面を用いて詳細に説明する。ただし、本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
以下に説明する発明の構成において、同一部分又は同様な機能を有する部分には同一の符号を異なる図面間で共通して用い、重複する説明は省略することがある。
同様なあるいは対応する機能を有する要素が複数ある場合には、同一の符号に異なる添字を付して説明する場合がある。ただし、複数の要素を区別する必要がない場合には、添字を省略して説明する場合がある。
実施例1では量子力学的な記述から出発し、それを古典的な形式に移行することを通して土台となる原理を述べる。
図1に本実施例の原理を模式的に示す。基本的枠組みは特許文献1及び非特許文献1に記載の局所場応答法と同じである。t = 0において横磁場を印加してスピンを一方向に揃える。その後、横磁場をゆっくりと減少させてt = τで問題設定のハミルトニアンにする。スピンは各時刻でそれぞれに掛かる局所的有効磁場に応答して時間発展する。
問題設定のハミルトニアンとt = 0におけるハミルトニアンをそれぞれ
Figure 0006967422
(1)
Figure 0006967422
(2)
とし、時刻tにおけるハミルトニアンを
Figure 0006967422
(3)
とする。τが演算時間である。1スピン系の類推からサイトjのスピンが受ける有効磁場はB^eff,j = −∂H^/∂σ^jで与えられる。
Figure 0006967422
(4)
本実施例の局所場応答法は期待値を取った<σ^j>をスピン変数とみなして古典的マシン上で動作させるものである。式(1)、 (2)から明らかなように<σ ^j>及び<B^eff,j>はx, z成分だけからなる。そこで応答関数rb(t)を
Figure 0006967422
(5)
のようにx, z成分だけで定義し、スピンの向きをこの応答関数に基づき定める。スピン系が古典的ならば各スピンの応答は各サイトの有効磁場だけで求まり、応答関数はrb(t)=1になる。
しかし、量子力学には非局所相関(量子縺れ、entanglement)があり一般にrb(t)≠1である。すでに言及したように式(5)は期待値をとることにより古典的な式に移行しているが、rb(t)≠1を通して量子効果が取り込まれる。rb(t)の値は経験的あるいは類似問題の量子力学的な事前計算により求める。経験的あるいは類似問題を元にするためにここでの量子効果は平均的なものになる。局所場応答法は様々な方法で量子効果を取り入れることが可能であるが、rb(t)≠1を通した方法はその一つである。尚、局所場応答法は量子効果を取り入れずにrb(t)=1として動作させても良い。量子効果を含めなくても局所場応答法自体は動作する。
式(5)の4つの変数<σ^j z(ti)>、<σ^j x(ti)>、<B^eff,j z(ti)>、<B^eff,j x(ti)>は期待値を取っており古典的な量である。そこで量子力学の記法から古典物理の記法に変更する。即ち、<σ^j x(ti)>→sj x(ti) <σ^j z(ti)>→sj z(ti)、<B^eff,j x(ti)>→Beff,j x(ti) <B^eff,j z(ti)>→Beff,j z(ti)とする。この記法の変更により式(5)は
Figure 0006967422
(6)
となる。
局所場応答法の時間発展は離散的に行い、時刻tiにおけるBeff,j z(ti)は式(4)に従い時刻ti−1におけるsk z(ti−1)から決める。時刻tiにおけるsj z(ti)は式(6)に従い時刻tiにおけるBeff,j z(ti)を元に決める。この手続きを繰り返す。図2はこれをフローチャートとしてまとめたものである。
図2の101はアルゴリズムの出発点で初期値の設定を表す。102aでは時刻ti−1におけるsk z(ti−1)を使ってBeff,j z(ti)を求める。また時刻に依存して横磁場強度Beff,j x(ti)を定める。103ではBeff,j z(ti)/Beff,j x(ti)と応答関数rb(t)によりスピンの向きに相当するtanθ= rb(t)・Beff,j z(ti)/Beff,j x(ti)を求め、スピンの大きさを表すパラメタrs(t)を使ってsj z(ti) = rs(t)・sinθを求める。rs(t)はrs(t)2= sj x(ti)2+ sj z(ti)2で定義される量で、rb(t)と同様に経験的あるいは事前計算で決めておく。具体例は2つ後のパラグラフで述べる。図2の102aと103が繰り返し計算の1セットである。このセットをt=tm(≦τ)まで繰り返し、t=tmでsj z(tm)>0ならばsj zfd=1、sj z(tm)<0ならばsj zfd=−1として解sj zfdを得る(処理201及び202)。ここでtm≦τとしたのはt=τまで時間発展させなくても解が収束することが多いからである。
手順103はsj z(ti) = f(Beff, j z (ti),ti)のように関数fを使って一般的に書くこともでき、f(Beff, j z (ti),ti) = rs (t)・sin{arctan(rb (t)・Beff, j z (t i )/Beff, j x (t i ))}である。rs(t)はスピンの大きさを表すパラメタで0≦ rs (t)≦ 1である。また、− 1≦ sj z (ti )≦ 1である。ここで、rb (t)=1及びrs (t)=1ならば純粋に古典的になる。
図3に応答関数rb(t)の事前計算の一例を示す。これは8ビット系でJij及びgjを[−5、5]の一様乱数で決めた場合である。100個の問題の結果であり800点からなる(100個の問題×8ビット)。ここで、Bzx≡<B^eff,j z>/<B^eff,j x>、szx≡<σ^j z>/<σ^j x>である。点が厳密に量子力学的に求めた値である。量子力学の非局所相関を反映して応答関数が大きくばらつく。丸は横軸を40分割して平均を取ったものである。平均化されて応答関数は滑らかなBzx依存性になる。滑らかならば数個のパラメタで記述可能になる。非特許文献1では4つのパラメタを使って滑らかな応答関数を記述する手法を述べており、図3の実線rb 0(t)はその手法により求めたものである。もうひとつのパラメタrs(t)も同じ4つのパラメタをから求まる。
以上、図3において応答関数の一例を示し、非特許文献1を引用してrb 0(t)及びrs(t)の決定法について言及した。しかし、応答関数rb 0(t)やrs(t)の決定法はそれに制限されるものではなく様々な方法がありえると共に経験的に定めることもできる。以下の実施例ではrb 0(t)を図3の実線に限定せずに量子効果を平均的に取り入れた応答関数を表すものとする。
尚、rb(t)と同様にrs(t)もrs(t)=1として動作させることも可能である。rb(t)の値域が−∞<rb(t)<∞であるのに対して0≦rs(t)≦1なので、rs(t)=1としたことによる最終解に対する影響はrb(t)=1としたことによる影響に比べて小さい。従って、rs(t)決定のための事前情報が不十分な場合にrs(t)=1に設定することは有効な手段である。
実施例1ではrb(t)≠1を通して量子効果を平均的に取り入れられることを示した。しかし、量子効果は問題に依存すると共に各時刻で変化する。平均量だけでは十分に量子効果を取り込めない。本実施例では、量子縺れに係わる量子効果を各時刻のスピン状態に依存した形で現象論的に取り込む方法を示す。
量子縺れの影響は多体効果として現れる。量子縺れが大きければ,あるスピンが反転(符号が反転)する際に他のスピンが同時に反転する確率が大きくなる。図2のアルゴリズムではt = ti−1のsj z(ti−1)を利用してt = tiの有効磁場Beff,j z(ti)をサイトごとに求めた。サイトごとに独立した計算であり一体近似である。そのためスピンの同時反転が十分に考慮されていない。そこで図4のアルゴリズムによりスピンの同時反転を考慮する。
スピンが反転する近傍ではsj z ≒ 0である。よって|sj z|の値が小さいスピンほど反転する確率が高い。そこでまず各時刻ti−1において|sj z (ti−1)|を降べきの順に並べる。
図4の111に示すように|sj z (ti−1)|が小さいサイトの順にm1, m2, m3, ・・・とする。サイトm1に対するBeff,m1 z(ti)を式(4)に従い求め(処理102a)、式(6)に従いsm1 z (ti)を求める(処理103)。sm1 z(ti−1)からsm1 z (ti)への時間発展で符号反転がなければサイトm2のBeff,m2 z(ti)及びsm2 z (ti)の計算に進む。符号反転があればsm1 z(ti−1)を−sm1 z(ti−1)に変更してからサイトm2のBeff,m2 z(ti)及びsm2 z (ti)の計算に進む。言い換えればsm1 z(ti−1) → sgn(sm1 z(ti))・|sm1 z(ti−1)|のようにsm1 z(ti−1)の符号をsm1 z(ti)の符号に付け替える(処理112)。なお、sgnは変数の符号に応じて1,−1のいずれかを返す符号関数を示す。
このようにすれば時刻tiにおけるサイトm1の変化がサイトm2の時間発展に直ちに反映される。サイトm1とm2が量子縺れ状態になっていればサイトm1がスピン反転すればサイトm2もスピン反転する確率が高くなる。この効果がここで述べた符号の付け替えにより取り入れられる。即ち、量子縺れの効果が現象論的に取り入れた訳である。
sm2 z(ti)の計算結果もsm1 z(ti)と同様な符号処理を行う。即ち、sm2 z(ti−1) → sgn(sm2 z(ti))・|sm2 z(ti−1)|とする(処理112)。サイトm3以降も同様な処理を繰り返してN個のsj z(ti)を求め(処理113)、時刻tiの処理が完了する。
時刻tiの処理が完了すれば時刻ti+1の処理に進み、時刻t = tm ≦τまで同様な処理を繰り返して最終的な解を得る。最終的な解は実施例1の場合と同様にsj z(tm)>0ならばsj zfd=1、sj z(tm)<0ならばsj zfd=−1である(処理201及び202)。
スピン反転は量子力学的にはトンネル現象が起こっているといった捉え方もできる。その捉え方に従えば、本実施例はMultiple tunnelingを考慮したものとも言える。
得られた解のエネルギー値は式(7)
Figure 0006967422
(7)
により与えられる。局所場応答法は量子アニールと類似の動作をするものであり、t = 0で基底状態に準備したスピン系を時間発展させて理想的にはt =τで問題を設定した系の基底状態に導く。本実施例の方法は解の収束性が高く、t = tmの状態は高い確率で演算中の最低エネルギー状態(高い確率で基底状態)である。しかし、実施例1の方法では解の収束性が悪く、最低エネルギー状態がt < tmで現れることもあり、実施例1を用いた場合、各時刻で式(7)を用いてエネルギーを算出し、その中で最低エネルギーであった状態を最終解に選ぶ必要がある。そのための計算量は式(7)の第1項がO(N2)、第2項がO(N)である(Oはランダウの記号)。両者をまとめればO(N2)である。一方、本実施例の方法を用いれば解の収束性が高いのでエネルギーの計算をする必要がなくO(N2)の計算量を節約できる。
その一方で、本実施例の方法は処理111においてスピンの並べ替えを行う。この処理量は以下のように見積もれる。スピンごとに他のスピンと比較する処理を単純に繰り返せばO(N2)である。これが処理量の上限になる。下限は以下のように見積もれる。すでに降べきの順に並んでいるスピン列を考え,隣同士を比較して並べ替えるとする。並べ替えがなければ隣同士の比較だけなので計算量はO(N)である。一般に激しい並べ替えはめったにないので実際の計算量はO(N)に近くなる。よって本実施例のオーバーヘッドはO(N)程度になり実施例1のオーバーヘッドO(N2)に比べて小さい。
局所場応答法全体の計算量は処理102aにおける有効磁場の計算で決まり、Nサイトすべてに対してO(N)の計算をするのでO(N2)である。よってNが十分に大きい系では本実施例のオーバーヘッドO(N)程度は無視できることになる。
以上述べたように、図2の例では処理102a, 103が全てのサイトで独立かつ並列的に処理されていた。そのために処理速度は速いが量子縺れの考慮が不十分であった。一方、本実施例の図4の例では処理112, 111を加えることにより、同時刻の他のスピンの影響を処理102a, 103において反映させ、量子縺れの効果を現象論的に取り入れた。その結果、解精度が向上し、解の収束性が向上し、演算時間が節約できるようになった。
量子力学的には有効磁場は式(4)に基づき定まる。σ^k zの固有値は±1である。しかし局所場応答法ではスピン変数sk zが期待値<σ^k z>の値を取るように動作させるので|sk z|≦1である。従って、一般にgjに比べてΣk(≠j)Jkjsk zの項を過小評価することになる。
Σk(≠j)Jkjsk zの項を過小評価したまま演算させると解精度が下がる。そこでsk zの値を参考にgjの値を規格化することにする。gjに因子ci=(Σksk z(ti−1)2/N)1/2を掛けてgj norm(ti) = cigjとしてgj norm(ti)を局所項にすればgj norm(ti)とΣk(≠j)Jkjsk zの項の寄与が概ね同等になり、解精度が向上する。尚、離散的に扱う時間軸の分割数をm(tm≦τ)としてc1=1/m程度とする。これはci=(Σksk z(ti−1)2/N)1/2に基づけばsk z(t0)=0によりc1=0となってしまうことに対処するためである。
図5に以上の取り扱いを含めたフローチャートを示す。図4との違いは手順102aが手順102bに変わることである。手順102bでは因子ci=(Σksk z(ti−1)2/N)1/2の取り扱いが加わっている。
図6には変形例を示している。パラメタcaを導入し、因子ciをca・ciとすれば因子ciの大きさを調整できる。その場合を図6に示す。後に説明する図9の処理10cも因子ciをca・ciとしている。caの値は経験的に決めるものであり1〜50程度である。
量子力学的スピン系では常にスピン同士で影響し合っている。即ち、あるサイトjのスピンσ^j zは別のサイトkのスピンσ^k zに影響し、逆にσ^k zがσ^j zに影響する。従って、スピンσ^j zはサイトkのスピンσ^k zを経由して自身に影響する。量子力学においてあるスピンの状態が相互作用相手のスピンの状態だけでなく自身のスピンの状態に依存するのはそのためである。相互作用を通した自身への影響の大きさはΣk(≠j)Jkj 2に比例する。実施例1では平均化された量子効果について述べた。Σk(≠j)Jkj 2は二乗の項なので平均しても残る。平均化した応答関数がrb 0(t)≠1となったのはこのためである。図3の円形の記号及び実線はその様子を示す。Σk(≠j)Jkj 2に関する詳細な理論は非特許文献2に記されている。
rb 0(t)≠1の原因となったΣk(≠j)Jkj 2には問題ごとの情報Jkjが含まれている。この情報を利用できれば演算がより正確になる。そこで平均的応答関数rb 0(t)をrb 0 mod(t)に置き換える。rb 0 mod(t)は1−rb 0 mod(t)=(1−rb 0(t))Σk(≠j)Jkj 2k(≠j)ave(Jkj 2)で定義される。ここでave(Jkj 2)はrb 0(t)を決定する際に使用した問題のJkj 2を平均したものである。この改良により応答関数が実際の問題を反映したものになり解精度が向上する。
図7に以上の取り扱いを含めたフローチャートを示す。図5との違いは手順103が手順103cに変わることである。
量子力学の特徴的な性質として量子縺れと線形重ね合わせが挙げられる。前者の量子縺れの効果は実施例4までに現象論的に取り入れられた。後者の線形重ね合わせの効果は非特許文献2において現象論的に取り入れられている。本実施例では両者を同時に取り入れる。その場合を示したのが図8である。
図8に示す実施例において、図7との違いは手順102bが手順102dに変わることである。
線形重ね合わせが顕著になるのはスピンの符号が変わる時間帯である。その近傍では量子力学的にはバンドが反交差となり、線形重ね合わせ状態となってsj z(t)≒0であり、またそれに連動してBeff,j z(t)≒0になる。この効果を現象論的に取り入れるためには時刻tiにおける有効磁場Beff,j z(ti)を、t=tiとそのひとつ前のt=ti−1における有効磁場の線形結合にすればよい。具体的には時刻ti−1におけるスピンの値sj z(ti−1)により式(8)を使って
Figure 0006967422
(8)
Bj z0(ti)を求める。次にひとつ前の時刻ti−1における因子も考慮して式(9)により
Figure 0006967422
(9)
Bj z(ti)を求める。ここでuは0≦u≦1で解精度が高くなるように適当に定める。典型的な値はu≒0.1である。横磁場及びそのスケジュールも含めて有効磁場を記述すれば式(10)になる。
Figure 0006967422
(10)
有効磁場が求まれば応答関数rb 0 mod(t)を利用して
Figure 0006967422
(11)
式(11)からsj z(t)を求める。
実施例5まで、量子縺れの効果を中心に各種量子効果を加えて解精度を向上させる実施例を述べた。しかし、以上の方法を用いても必ず正解に辿り着くとは限らない。そこで本実施例では補助的な手段を述べる。
局所場応答法は決定論的な方法なので同じスピンの初期値で同じ処理をすれば結果はいつも同じである。初期値や処理過程を変更すれば結果が異なる場合もある。そこで初期値や処理過程を変えて複数回磁場挿引の処理を実施し、その中で最低エネルギーを与えた場合のスピン状態を最終解に選んで解精度をさらに向上させる。その場合のフローチャートが図9である。
図9において、処理10a - 10dは図2や図4〜8で示した処理である。処理10a - 10dで得られたスピン値sj zfdからそれぞれエネルギーHp q(tm) (q = 1, 2, ・・・)を処理303で求め、その最低値Ebestを処理304で求める。最低エネルギーを与えたスピン値が最終的な解になる。
処理10aは図2や図4〜8で示した処理をそのまま実行する。処理10bでは処理10aで得られた結果sj zfdの符号反転したものを初期値とする。正確にはパラメタdivを用いて初期値をsj z(t0) = sj zfd/divにする。divで割るのは初期値を十分に小さくするためで、divはm程度の大きさにする。符号反転するのは符号反転した状態がスピンの配位空間上、反転前の状態から最も遠い点であり、局所解に陥った場合に抜け出す機会を与えることができるからである。処理10cでは10aと同様にスピンの初期値を0にするが、局所項gjに掛かる係数ci(実施例3参照)に因子caを掛けてca・ciとすることにより相互作用項と局所項のバランスを変更する。caの値は経験的に決めるものであり1〜50程度である。処理10dはスピンの初期値を乱数で決める。乱数を使うことにより多くの可能性を探れると共に処理を単純化できる。処理10dは乱数の初期値を変えて繰り返し実行する。実行回数が多いほど解精度は向上する。
本実施例はアルゴリズムとして示されており、通常のコンピュータ上でソフトウェアとして動作させることも専用のハードウェア上で動作させることもできる。本実施例の局所場応答法は比較的単純な演算を繰り返すのが特徴である。従って、繰り返し演算の部分を専用ハードウェアで構築し、その他の部分を汎用装置で実現するのが効果的である。
図10に本実施例の計算機構成の一例を示す。図10は通常の計算機の構成と類似であるが局所場応答演算装置600を含む。局所場応答演算装置600は実施例1〜6で述べた演算を専門に行う部分であり、その他の一般的演算は一般演算装置502で行う。
以上の構成は、単体のコンピュータで構成してもよいし、あるいは、主記憶装置501、一般演算装置502、制御装置503、補助記憶装置504、入力装置505、出力装置506等の任意の部分がネットワークで接続された他のコンピュータで構成してもよい。
一般的な演算は通常の計算機と同様な手順で動作させる。記憶部である主記憶装置501と演算部である一般演算装置502間でデータをやり取りし、その繰り返しで演算を進める。その際の司令塔が制御部としての制御装置503である。一般演算装置502で実行されるプログラムは記憶部である主記憶装置501に記憶させる。主記憶装置501で記憶容量が足りない場合は、同じく記憶部である補助記憶装置504を利用する。データやプログラム等の入力には入力装置505を使用し、結果の出力には出力装置506を利用する。入力装置505はキーボードのような手入力装置の他、ネットワーク接続のためのインターフェースも含む。また、このインターフェースは出力装置も兼ねる。
本実施例の局所場応答演算では、実施例1〜6で述べたようにN個のスピン変数sj z(t)とN個の有効磁場変数Beff,j z(t)を交互に繰り返し求める。この繰り返し演算を専門的に実施するのが局所場応答演算装置600である。
実施例6では類似の処理10a - 10dを実施し、処理ごとに解sj zfdを得た。得られた解は局所場応答演算装置600から主記憶装置501にデータ転送し、一般演算装置502を利用してエネルギーHp q(tm)やEbestの計算を行う。即ち、繰り返し演算に属さない個別の演算は一般演算装置502を利用して局所場応答演算装置600の専用性を高める。
組合せ最適化問題の中で困難度の高い問題はNP困難に属する。またPに分類される問題やNPに分類される問題はすべてNP困難問題に帰着できる。よって、NP困難な組合せ最適化問題を解ければほぼすべての組合せ最適化問題を解けることになる。式(1)の基底状態探索問題はNP困難問題にも対応可能である。本実施例ではその対応の様子を代表的なNP困難問題である最大カット問題を例にして示す。
最大カット問題とはグラフ理論の問題である。グラフ理論ではグラフGを頂点集合Vと辺集合Eから構成しG = (V, E)と書く。辺eは2つの頂点を利用してe = {i, j}と書く。辺eに向きを含めて定義するグラフを有向グラフ、向きの定義を含めないグラフを無向グラフと言う。辺eには重みも定義されておりそれをwij、 wjiと書く。無向グラフならばwij = wjiである。MAX-CUT問題とは、重み付き無向グラフG = (V, E)の頂点を2つのグループに分ける問題において、カットされる辺の重みの総和を最大化する分割法を求める問題である。分割後の2つの無向グラフをG1 = (V1, E1)及びG2 = (V2, E2)とすればMAX-CUT問題は
Figure 0006967422
を最大化する問題である。頂点i∈V1に対してsi = 1、頂点j∈V2に対してsj = −1とすれば
Figure 0006967422
と書ける。最右辺第1項はグラフGが定まれば定数なのでMAX-CUT問題はΣi>jwijsisjを最小化する問題となる。イジング・スピングラスのハミルトニアンは
Figure 0006967422
(1)
で与えられる。よってMAX-CUT問題はJij = −wij、 gj = 0とした式(1)の基底状態探索問題と等価になる。
図4に示した実施例2では、スピンの数であるNサイトの変数全てについて量子縺れを考慮した計算を行っている。しかし、|sj z|の値が大きくなるとスピンが反転する確率が低くなるので、所定以降のスピンについては変化がないものとして量子縺れの効果を無視してもよい。すなわち、図4の処理113をl=x<Nの条件に変更して、Yesの場合にはx+1番目以降のスピンについては処理112を行わずに、処理102a, 103を全てのサイトで独立かつ並列的に処理して時刻tiにおける演算をするように変更しても良い。このようにすると、ある程度の精度を確保しつつ、処理時間を短縮することが可能である。
本実施例中、ソフトウェアで構成した機能と同等の機能は、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)などのハードウェアでも実現できる。
本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることが可能である。また、各実施例の構成の一部について他の実施例の構成の一部を追加・置換をすると共に、構成の一部を削除ことが可能である。
10 - 304 フローチャートにおける各手順を表す
501 主記憶装置
502 一般演算装置
503 制御装置
504 補助記憶装置
505 入力装置
506 出力装置
600 局所場応答演算装置

Claims (13)

  1. 演算部、記憶部、制御部を具備し、前記制御部の制御により、前記記憶部と前記演算部との間でデータをやり取りしながら演算を行う計算機であって、
    N個の変数sj z (j = 1, 2,…,N)が−1≦sj z≦1の値域を取り、局所項を表す係数gjと変数間相互作用を表す係数Jkj (k, j = 1, 2,…,N)によって課題の設定を行い、
    前記演算部では、時刻をm分割して離散的にt = t0 (t0 = 0)からtm (tm ≦ τ)まで演算するものとし、
    各時刻ti(i = 1,2,.., m)で変数Beff,j z(ti)及びsj z(ti)をこの順番で定めるものとし、該Beff,j z(ti)はsk z(ti−1)、Jkj、gj、tiの関数であり、該sj z(ti)はBeff,j z(ti)及びtiの関数であり、時刻t0の初期値はBj z(t0)=0及びsj z(t0)=0とし、時刻ti(i = 1,2,..,m)のBeff,j z(ti)及びsj z(ti)を求めるに当たっては、まずsj z(ti−1)を|sm1 z(ti−1)|≦|sm2 z(ti−1)|≦|sm3 z(ti−1)|≦…≦|smN z(ti−1)|のように降べきの順に並べ、最初にサイトm1のBeff,m1 z(ti)及びsm1 z(ti)を求めてsm1 z(ti−1) = sgn(sm1 z(ti))|sm1 z(ti−1)|とし、次にサイトm2のBeff,m2 z(ti)及びsm2 z(ti)を求めてsm2 z(ti−1) = sgn(sm2 z(ti))|sm2 z(ti−1)|とし、続いてサイトm3の演算を同様に実行し、以下サイトmx(ただし3≦x≦N)まで同様な演算を実行して時刻tiの演算を行うものとし、
    時刻ステップをt = t0からt = tmに進めるにつれて前記変数sj zを−1あるいは1に近づけ、最終的にsj z < 0ならばsj zfd =−1、sj z >0ならばsj zfd = 1として解を定めることを特徴とする計算機。
  2. 前記Beff,j z(ti)はBeff,j z(ti) = (ti/τ)・(Σk(≠j)Jkjsk z(ti−1) + gj)により定めることを特徴とする請求項1記載の計算機。
  3. ある定数γを用いてBeff,j x(ti) = γ(1 − ti/τ)としてtanθ = Beff,j z(ti)/Beff,j x(ti)によりθを定義し、前記sj z(ti)をsj z(ti) = sinθによって定めることとし、従って関数fを使ってsj z(ti) = f(Beff,j z(ti),ti) = sin{arctan(Beff,j z(ti)/Beff,j x(ti))}となることを特徴とする請求項1記載の計算機。
  4. 前記関数fに関して補正パラメタrs (t)及びrb (t)を追加し、
    tanθ = rb (t)・Beff,j z(ti)/Beff,j x(ti)によりθを定義し、sj z(ti) = rs (t)・sinθによって前記sj z(ti)を定めることとし、従って前記関数fがf(Beff,j z(ti), ti) = rs (t)・sin{arctan(rb (t)・Beff,j z(ti)/Beff,j x(ti))}となることを特徴とする請求項3記載の計算機。
  5. ci = (Σk(sk z(ti−1))2/N)1/2とし、gj norm(ti) = ci・gjとして、前記Beff,j z(ti)をBeff,j z(ti) = (ti/τ)・(Σk(≠j)Jkjsk z (ti−1)+ gj norm(ti))により定めることを特徴とする請求項2記載の計算機。
  6. あるパラメタcaを利用して前記Beff,j z(ti)をBeff,j z(ti) = (ti/τ)・(Σk(≠j)Jkjsk z (ti−1)+ ca・gj norm(ti))により定めることを特徴とする請求項5記載の計算機。
  7. 前記補正パラメタrb (t)に対してδrb (t)≡1−rb (t)を定義し、δrb(t)∝Σk(≠j)Jkj 2とすることを特徴とする請求項4記載の計算機。
  8. Bj z0(ti) = (Σk(≠j)Jkjsk z(ti−1)+ gj norm(ti))を定義し、0≦u≦1を満たすパラメタuを用いてBj z(ti) = (1−u)Bj z0(ti)+ uBj z(ti−1)を定義し、前記Beff,j z(ti)をBeff,j z(ti) = Bj z(ti)・ti/τにより定めることを特徴とする請求項5記載の計算機。
  9. sj zfdを求める請求項1記載の演算を複数回実行するものとし、パラメタdivを前記m程度の大きさの値とし、2回目以降の演算の初期値を1回目以前の解sj zfdを利用してsj z(t0) =−sj zfd/divとするか、乱数を利用してsj z(t0) = 1/divあるいはsj z(t0) = −1/divとし、それぞれの演算ごとにHp =−Σk>jJkjsk zfd(ti)sj zd −Σjgjsj zfdを算出し、Hpが最小値となった演算のsj zfdを最終解とすることを特徴とする請求項1記載の計算機。
  10. サイトmx+1以降は、全てのサイトを独立かつ並列的に処理して時刻tiの演算を行う、
    請求項1記載の計算機。
  11. 演算部、記憶部、制御部を具備する計算機を用い、前記制御部の制御により、前記記憶部と前記演算部との間でデータをやり取りしながら演算を行う計算方法であって、
    N個の変数sj z (j = 1,2,…, N)が−1≦sj z≦1の値域を取り、局所項を表す係数gjと変数間相互作用を表す係数Jkj (k, j = 1, 2,…,N)によって課題の設定を行い、
    前記演算部では、時刻をm分割して離散的にt = t0 (t0 = 0)からtm (tm ≦ τ)まで演
    算するものとし、
    各時刻ti(i = 1,2,..,m)で変数Beff,j z(ti)及びsj z(ti)をこの順番で定めるものとし、
    該Beff,j z(ti)はsk z(ti−1)、Jkj、gj、tiの関数であり、該sj z(ti)はBeff,j z(ti)及びtiの関数であり、時刻t0の初期値はBj z(t0)=0及びsj z(t0)=0とし、
    時刻ti(i = 1, 2, .., m)のBeff,j z(ti)及びsj z(ti)を求めるに当たっては、まずsj z(ti−1)を|sm1 z(ti−1)|≦|sm2 z(ti−1)|≦|sm3 z(ti−1)|≦…≦|smN z(ti−1)|のように降べきの順に並べ、
    最初にサイトm1のBeff,m1 z(ti)及びsm1 z(ti)を求めてsm1 z(ti−1) = sgn(sm1 z(ti))|sm1 z(ti−1)|とし、それ以降も同様の演算をサイトmx(ただし1≦x≦N)まで実行して時刻tiの演算を行うものとし、
    時刻ステップをt = t0からt = tmに進めるにつれて前記変数sj zを−1あるいは1に近づけ、最終的にsj z < 0ならばsj zfd = −1、sj z > 0ならばsj zfd = 1として解を定めることを特徴とする計算方法。
  12. サイトm2以降も同様の演算をサイトmNまで実行して時刻tiの演算を行う、請求項11記載の計算方法。
  13. サイトmx+1以降は、全てのサイトを独立かつ並列的に処理して時刻tiの演算を行う、請求項11記載の計算方法。
JP2017204990A 2017-10-24 2017-10-24 計算機及び計算方法 Active JP6967422B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017204990A JP6967422B2 (ja) 2017-10-24 2017-10-24 計算機及び計算方法
US16/031,135 US20190121834A1 (en) 2017-10-24 2018-07-10 Computing apparatus and computing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017204990A JP6967422B2 (ja) 2017-10-24 2017-10-24 計算機及び計算方法

Publications (2)

Publication Number Publication Date
JP2019079225A JP2019079225A (ja) 2019-05-23
JP6967422B2 true JP6967422B2 (ja) 2021-11-17

Family

ID=66170553

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017204990A Active JP6967422B2 (ja) 2017-10-24 2017-10-24 計算機及び計算方法

Country Status (2)

Country Link
US (1) US20190121834A1 (ja)
JP (1) JP6967422B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6167188B2 (ja) * 2014-02-06 2017-07-19 株式会社日立製作所 計算機、及び演算プログラム
US10318607B2 (en) * 2015-03-27 2019-06-11 Hitachi, Ltd. Computer and computing program
WO2016194221A1 (ja) * 2015-06-05 2016-12-08 株式会社日立製作所 計算機
US10216699B2 (en) * 2016-11-11 2019-02-26 1Qb Information Technologies Inc. Method and system for setting parameters of a discrete optimization problem embedded to an optimization solver and solving the embedded discrete optimization problem
US10733263B2 (en) * 2017-10-02 2020-08-04 QC Ware Corp. Accuracy and time-to-solution in solving combinatorial optimization problems with quantum annealers by using anneal offsets

Also Published As

Publication number Publication date
JP2019079225A (ja) 2019-05-23
US20190121834A1 (en) 2019-04-25

Similar Documents

Publication Publication Date Title
CA3141547C (en) Hybrid quantum-classical computer for bayesian inference with engineered likelihood functions for robust amplitude estimation
CN108140145B (zh) 用于创建和使用量子器件之间的较高程度相互作用的系统和方法
US20200143227A1 (en) Neural Architecture Search with Factorized Hierarchical Search Space
Okuyama et al. An Ising computer based on simulated quantum annealing by path integral Monte Carlo method
WO2019209628A1 (en) Method and system for quantum computing
De Melo et al. A modified covariance matrix adaptation evolution strategy with adaptive penalty function and restart for constrained optimization
US11372034B2 (en) Information processing device
JP6628041B2 (ja) 最適化問題解決装置、方法、及びプログラム
WO2022192525A1 (en) Flexible initializer for arbitrarily-sized parametrized quantum circuits
JP7267966B2 (ja) 情報処理装置及び情報処理方法
JP7111966B2 (ja) 最適化装置及び最適化装置の制御方法
Kulkarni et al. Probability collectives: a distributed optimization approach for constrained problems
JP6870738B2 (ja) 乱数生成システム、乱数生成方法および乱数生成プログラム
JP7139805B2 (ja) 化合物探索装置、化合物探索方法、及び化合物探索プログラム
JP6967422B2 (ja) 計算機及び計算方法
WO2021159060A1 (en) Generation of optimized hyperparameter values for application to machine learning tasks
US20220391742A1 (en) Quantum computer system and method for combinatorial optimization
WO2021044516A1 (ja) 演算装置、演算方法、及び、プログラムが格納された非一時的なコンピュータ可読媒体
Xu et al. Iterative learning control (ILC) guided reinforcement learning control (RLC) scheme for batch processes
JP7440395B2 (ja) 最適解探索装置及び最適解探索プログラム
US11853658B2 (en) Information processing apparatus, information processing method, and non-transitory computer readable medium
WO2017183172A1 (ja) 計算機及び計算方法
Seyedi et al. Tabu search and simulated annealing for new three-stage assembly flow shop scheduling with blocking
Pelofske et al. Reducing quantum annealing biases for solving the graph partitioning problem
JP7112312B2 (ja) 化合物探索装置、化合物探索方法、及び化合物探索プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200325

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210413

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210610

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211005

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211025

R150 Certificate of patent or registration of utility model

Ref document number: 6967422

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150