JP6167188B2 - 計算機、及び演算プログラム - Google Patents

計算機、及び演算プログラム Download PDF

Info

Publication number
JP6167188B2
JP6167188B2 JP2015561100A JP2015561100A JP6167188B2 JP 6167188 B2 JP6167188 B2 JP 6167188B2 JP 2015561100 A JP2015561100 A JP 2015561100A JP 2015561100 A JP2015561100 A JP 2015561100A JP 6167188 B2 JP6167188 B2 JP 6167188B2
Authority
JP
Japan
Prior art keywords
time
calculation
sin
computer
value
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
JP2015561100A
Other languages
English (en)
Other versions
JPWO2015118639A1 (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
Publication of JPWO2015118639A1 publication Critical patent/JPWO2015118639A1/ja
Application granted granted Critical
Publication of JP6167188B2 publication Critical patent/JP6167188B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/548Trigonometric functions; Co-ordinate transformations

Landscapes

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

Description

本発明は、全数探索を必要とするような逆問題に対して高速演算を可能にする計算機に関するものである。
ビッグデータといった言葉に代表されるように現代はデータが溢れている。この巨大データを如何に解析し、如何に扱うかは今後の情報科学の社会科学的な最重要課題である。ビッグデータは一般に何らかの現象の結果である。従って、ビッグデータの解析とは結果から原因を探索するある種の逆問題になっている場合が多い。コンピュータは規則的処理を行うもので、初期値が与えられればアルゴリズムに基づいて単純に計算する。しかし、結果から初期値を求めるような問題に対しては一般に効率的なアルゴリズムはなく、最悪の場合は初期値に関して全数探索しなければならない。従って、全数探索を必要とする問題を効率的に解けるコンピュータがあれば極めて有用である。
全数探索問題に対しては量子コンピュータへの期待が大きい。量子コンピュータは量子ビットと呼ばれる基本素子からなり“0”と“1”を同時に実現する。そのためすべての解候補を初期値として同時に計算可能で、まさに全数探索を実現しうる可能性を持っている。しかし、量子コンピュータは全計算時間に亘って量子コヒーレンスを維持する必要があり、これを実現する目処は立っていない。
こういった中で注目されるようになってきたのが断熱量子計算と呼ばれる手法である(非特許文献1)。これは問題の解が系の基底状態になるようにハミルトニアンH^pを設定し、それとは別に基底状態が明確で準備しやすい別のハミルトニアンH^0を設定し、計算系の状態をまずH^0の基底状態に準備し、十分に時間を掛けてハミルトニアンをH^0からH^pに移行させるものである。十分にゆっくりと移行すれば系は基底状態に居続けることが可能で、その原理で解を得る仕組みである。以上の計算原理は計算時間をτとして式(2)のハミルトニアンを利用して式(1)のシュレディンガー方程式により記述することができる。
Figure 0006167188
Figure 0006167188
断熱量子計算は全数探索を必要とする問題に対しても適用可能で、一方向性の過程で解に到達する。しかし、計算過程が式(1)のシュレディンガー方程式に従う必要があるならば量子コンピュータと同様に量子コヒーレンスの維持が必要になる。但し、量子コンピュータが1 量子ビットあるいは2 量子ビット間に対するゲート操作を繰り返すものであるのに対して、断熱量子計算は量子ビット系全体を一斉に相互作用させるものであり、コヒーレンスの考え方が異なる。例えば、ある量子ビットへのゲート動作を考えてみる。この時もしその量子ビットと他の量子ビットとで相互作用があればそれはディコヒーレンスの原因になるが、断熱量子計算ではすべての量子ビットを同時に相互作用させるので、この例のような場合にはディコヒーレンスにならない。この違いを反映して断熱量子計算は量子コンピュータに比べてディコヒーレンスに対して頑強であると考えられている。
しかし、断熱量子計算にも課題がある。ディコヒーレンスに関して量子コンピュータと比べて頑強になったとしても演算過程が式(1)のシュレディンガー方程式に従うならばやはり十分なコヒーレンスが必要である。また断熱量子計算を実現しうる系が超伝導磁束量子ビット系であるのも課題になる(特許文献1、非特許文献2)。なぜなら、超伝導を用いる場合には極低温冷却装置を必要とするからである。極低温を必要とすることは実用的なコンピュータ実現のためには課題になる。
特表2009-524857
以上述べたように、断熱量子計算は全数探索を必要とするような難問に対して有効であるが、依然として量子コヒーレンスを必要とし、また超伝導磁束量子ビットを用いる場合には極低温冷却装置も必要である。これら2つの必要条件を無くし、実用的な計算機を提供することが解決すべき真の課題である。
本発明の目的は、上記の課題を解決し、量子コヒーレンスや極低温冷却装置を必要としない計算機、及び演算プログラムを提供することにある。
本発明においては、上記の目的を達成するため、演算部、記憶部、制御部を具備し、制御部の制御により、記憶部と演算部との間でデータをやり取りしながら演算を行う計算機であって、N個の変数sj (j = 1, 2, …, N)が-1 ≦ sj ≦ 1の値域を取り、局所場gjと変数間相互作用Jij (i, j = 1, 2, …, N)によって課題の設定がなされ、sj = -1 or 1が最終解となるものであり、時刻をm分割して離散的にt = t0 (t0 = 0)からtmまで演算するものとし、t = t0で初期値sj(t0) = 0、各時刻tkにおける変数sj(tk)の値はBj(tk) = (ΣiJijsi(tk-1) + gj)tk/tmにより定め、 sj(tk)の値域が-1 ≦ sj(tk) ≦ 1になるように関数fを定めてsj(tk) = f(Bj(tk) , tk)とし、時刻ステップをt = t0からt = tmに進めるにつれてsjを-1あるいは1に近づけ、最終的にsj < 0ならばsj = -1、sj > 0ならばsj = 1として解を定める構成の計算機を提供する。
また、本発明においては、上記の目的を達成するため、演算部、記憶部、制御部を具備し、制御部の制御により、記憶部と演算部との間でデータをやり取りしながら、演算を行う計算機であって、N個のベクトル変数sj (j = 1, 2, …, N, |sj| = 1)を使い、局所場gjと変数間相互作用Jij (i, j = 1, 2, …, N)によって課題の設定がなされ、sjのz成分がsj z = -1 or 1として最終解となるものであり、時刻をm分割して離散的にt = t0 (t0 = 0)からtmまで演算するものとし、t = t0でsjのx成分が初期値としてsj x(t0) = 1を取り, z成分がsj z(t0) = 0を取り、各時刻tkにおける変数sj z(tk)の値はγをある定数として、Bj x(tk) = γ(1-tk/tm)及びBj z(tk) = (ΣiJijsi z(tk-1) + gj)tk/tm により、あるいはBj x(tk) = γ及びBj z(tk) = (ΣiJijsi z(tk-1) + gj)tk/tm により定め、 ベクトル変数sj(tk)が|sj(tk)| = 1あるいは|sj(tk)| < 1になるように関数f1及びf2を定めてsj z(tk) = f1(Bj x(tk),Bj z(tk))、sj x(tk) = f2(Bj x(tk),Bj z(tk))とし、時刻ステップをt = t0からt = tmに進めるにつれてsj zを-1あるいは1に近づけ、最終的にsj z < 0ならばsj zd = -1、sj z > 0ならばsj zd = 1として解を定める構成の計算機を提供する。
更に、本発明においては、上記の目的を達成するため、演算部で実行される演算プログラムであって、N個の変数sj (j = 1, 2, …, N)が-1 ≦ sj ≦ 1の値域を取り、課題の設定は局所場gjと変数間相互作用Jij (i, j = 1, 2, …, N)によってなされ、sj = -1 or 1を最終解とするものであり、時刻をm分割して離散的にt = t0 (t0 = 0)からtmまで演算し、t = t0で初期値としてsj(t0) = 0を取り、各時刻tkにおける変数sj(tk)の値はBj(tk) = (ΣiJijsi(tk-1) + gj)tk/tmにより定め、 sj(tk)の値域が-1 ≦ sj(tk) ≦ 1になるように関数fを定めてsj(tk) = f(Bj(tk), tk)とし、時刻ステップをt = t0からt = tmに進めるにつれてsjを-1あるいは1に近づけ、最終的にsj < 0ならばsj = -1、sj > 0ならばsj = 1として解を定める、よう実行させる演算プログラムを提供する。
演算系として古典系も利用できるようになり、量子コヒーレンスを考慮する必要がなくなり使用可能なリソースが広範囲になる。ビットに関するエネルギースケールを温度のエネルギースケールよりも十分に大きくすれば擬似的に絶対零度とみなすことができ、極低温装置のような特殊装置・特殊環境が不要になる。
本発明の原理のアルゴリズムを説明する模式図である。 実施例1に係る、アルゴリズムのフローチャートの一例を示す図である。 実施例2に係る、アルゴリズムのフローチャートの一例を示す図である。 実施例3に係る、アルゴリズムにおける最終な解決定法に関するフローチャートの一例を示す図である。 実施例3に係る、最終な解決定法に関するフローチャートの他の例を示す図である。 実施例3に係る、最終な解決定法に関するフローチャートの他の例を示す図である。 実施例3に係る、最終な解決定法に関するフローチャートの他の例を示す図である。 実施例6に係る、計算機の一構成例を示す図である。 実施例6に係る、計算機の他の構成例を示す図である。 実施例7に係る、計算機に含まれる断熱演算装置の一構成例を示す図である。
以下、図面に従い本発明の演算の原理も交えて、各種の実施例を説明する。
絶対零度では基底状態が熱平衡状態である。熱平衡状態から熱平衡状態へは準静的過程で熱力学的に移行できる。従って、絶対零度における基底状態から基底状態への移行は量子系だけでなく古典系でも許された過程である。そこで、計算機を古典的アルゴリズムに基づき動作させることとし、準静的過程(断熱過程)を通してあるハミルトニアンの基底状態から、問題を反映したハミルトニアンの基底状態に導く。本発明においては、この準静的過程は、変数としてのスピンを局所的な有効磁場に追従させることで実現する。本発明におけるスピン及び有効磁場は古典量であるが、スピンの向きの有効磁場方向への追従に関して、量子力学的効果を起源とする補正パラメタを導入して計算性能を向上させる。尚、熱力学における準静的過程は力学系では慣習的に断熱過程と呼ばれる。そのため本明細書では、「準静的」と「断熱」は同義で用いる。
上述のように絶対零度では古典系においても基底状態から基底状態への準静的過程が可能である。この性質を拠り所にして、以下の実施例では解としての基底状態を得る古典的アルゴリズムと、それを実現するための装置に関して述べる。
実施例1では、量子力学的な記述から出発して古典的な形式に移行することを通して本発明の原理を述べる。シュレディンガー方程式により記述される量子系は温度に関するパラメタを含まず純粋状態と呼ばれる状態であり、温度の観点から言い換えればシュレディンガー方程式は絶対零度における状態を記述していると言える。従って、以下の記述は基本的に絶対零度におけるものである。
式(3)で与えられるイジングスピン・ハミルトニアンの基底状態探索問題はNP困難と呼ばれる分類に属し、有用な問題であることが知られている(非特許文献3)。
Figure 0006167188
Jij及びgjが課題設定パラメタであり、σ^j zはパウリのスピン行列のz成分で±1の固有値を取る。i, jはスピンのサイトを表す。イジングスピンとは値として±1だけを取りうる変数のことで、式(3)ではσ^j zの固有値が±1であることによりイジングスピン系となっている。式(3)のイジングスピンは文字通りのスピンである必要はなく、ハミルトニアンが式(3)で記述されるのであれば、物理的には何でも良い。例えば、光の偏波を考え、縦偏波と横偏波を±1に対応付けることも可能である。あるいは実施例7で述べるように光の位相を使うことも可能である。本実施例の断熱計算では断熱量子計算と同様に時刻t = 0において式(4)で与えられるハミルトニアンの基底状態に演算系を準備する。
Figure 0006167188
γは全サイトjに一様に掛かる外場の大きさで決まる比例定数であり、σ^j xはパウリのスピン行列のx成分である。演算系がスピンそのものであれば外場とは磁場を意味する。式(4)は横磁場を印加したことに相当し、すべてのスピンがx方向を向いた場合(γ>0)が基底状態である。問題設定のハミルトニアンはz成分のみのイジングスピン系として定義されたが、式(4)にはスピンのx成分が登場している。従って、演算過程でのスピンはイジングではなくベクトル的(ブロッホベクトル)である。t = 0では式(4)のハミルトニアンでスタートしたが、時刻tの進行と共に徐々に変化し、最終的には式(3)で記述されるハミルトニアンになりその基底状態が解になる。
スピンが外場に対してどのように応答するかを1スピン系の場合にまず考察する。1スピン系のハミルトニアンは式(5)で与えられる。
Figure 0006167188
ここでσ^はパウリのスピン行列の3成分をベクトルとして表示している。基底状態はスピンが磁場方向を向いた場合で、<・>を量子力学的期待値として<σ^> = B/|B|と書ける。断熱過程では常に基底状態を維持しようとするのでスピンの向きは常に磁場の向きに追従する。
以上の議論は多スピン系にも拡張できる。t = 0ではハミルトニアンが式(4)で与えられる。これは全スピンに対して一様に磁場Bj x =γが印加されたことを意味する。t > 0では磁場のx成分が徐々に弱まりBj x = γ(1-t/τ)である。z成分に関してはスピン間相互作用があるために有効磁場としては式(6)になる。
Figure 0006167188
スピンの向きは<σ^j z>/<σ^j x>で規定できるので、スピンの向きが磁場に追従するならば式(7)によりスピンの向きが定まる。言い替えるなら、変数としてのスピンを局所的な有効磁場に追従させることにより演算する。
Figure 0006167188
式(7)は量子力学的記述であるが期待値を取っているので、式(1) - (6)とは異なり古典量に関する関係式である。
以上の原理を利用すれば図1のタイミングチャートで示す手順100により課題を設定したハミルトニアンの基底状態にスピン系を導くことができる。図1の記述は古典量に関するものなのでサイトjのスピンをσ^jではなくsjにより表した。またそれに伴い図1の有効磁場Bjは古典量である。t = 0において全サイトで右向きに有効磁場Bjが印加され、全スピンsjが右向きに初期化される。時間tの経過に従い、徐々にz軸方向の磁場とスピン間相互作用が加えられ、最終的にスピンは+z方向あるいは-z方向となってスピンsjのz成分がsj z = +1あるいは-1となる。尚、時間tは連続的であることが理想であるが、実際の演算過程では離散的にして利便性を向上させる。
本発明に係るスピンはz成分だけでなくx成分が加わっているためにベクトル的なスピンになっている。図1からもベクトルとしての振る舞いが理解できる。ここまでy成分が登場してこなかったが、それは外場方向をxz面に取ったために外場のy成分が存在せず、従って<σ^y> = 0となるためである。演算系のスピンとしては大きさ1の3次元ベクトル(これをブロッホベクトルと呼び、球面上の点で状態を記述できる)を想定しているが、軸の取り方のために2次元のみを考慮すればよいことになった(円上の点で状態を記述できる)。またγは一定なのでBj x(t) > 0 (γ> 0)あるいはBj x(t) < 0 (γ< 0)が成り立つ。この場合、2次元スピンベクトルは半円のみで記述できることになり、[-1, 1]でsj zを指定すればsj zの1変数で2次元スピンベクトルが定まる。従って、本発明のスピンは2次元ベクトルとして表記できると共に、値域を[-1, 1]とする1次元連続変数として表記することもできる。
図1の手順100では時刻t = tkにおいてサイトごとに有効磁場を求め、その値を用いて式(8)によりt = tkにおけるスピンの向きを求める。
Figure 0006167188
なお、式(8)は式(7)を古典量に関する表記に書き改めたものなので<・>の記号が付いていない。
次に、t = tk+1の有効磁場をt = tkにおけるスピンの値を用いて求める。各時刻の有効磁場を具体的に書けば式(9)及び(10)となる。
Figure 0006167188
Figure 0006167188
以下、図1の手順100で模式的に示した手順に従い、スピンと有効磁場を交互に求めていく。
式(8)に基づき各スピンのx,z成分を求める過程では、スピンベクトルが大きさ1であることを利用する。tanθ = Bj z(tk)/Bj x(tk)によりθを求めてsj z(tk) = sinθ、sj x(tk) = cosθとする。これはθを介してBj z(tk)及びBj x(tk)からsj z及びsj xを求める関数になっており、sj z(tk) = f1(Bj z(tk),Bj x(tk))、及びsj x = f2(Bj z(tk),Bj x(tk))と表記することもできる。f1, f2の値域は[-1, 1]である。f1を具体的に記せばf1(Bj z(tk),Bj x(tk)) = sin(arctan(Bj z(tk)/ Bj x(tk)))である。
ここで、Bj x(tk)に対して式(9)を用いればtanθ = Bj z(tk)/{γ(1- tk/tm)}であり、関数f1は f1(Bj z(tk),Bj x(tk)) = sj z(tk) = sin(arctan(Bj z(tk)/{γ(1- tk/tm)}))≡ f(Bj z(tk), tk)となって、Bj z(tk)及びtkの値のみでsj z(tk)が求まる。有効磁場のx成分とスピンのx成分、即ち、Bj x(tk)及びsj x(tk)を求める必要がなくなる。この簡略性は演算装置を簡略化すると共に計算スピードを向上させる。最終的な解はsj zdと表記してsj zd = -1 or 1になる必要があり、sj z(τ) > 0ならばsj zd = 1、sj z(τ) < 0ならばsj zd = -1とする。
断熱計算法ではx軸方向の外場は時間の経過と共に縮小し、t = τでなくなることを想定している。しかし、t = τで|Bj z(τ)| >> |Bj x(τ)|が成り立つならばBj x(tk)を一定に保って図1の手順100を進めても良い。この場合簡略化がさらに可能で、f1(Bj z(tk),Bj x(tk)) -= sj z(tk) = sin(arctan(Bj z(tk)/γ)) ≡ f(Bj z(tk))となって計算がさらに簡単になる。
以上をまとめると、tanθ = Bj z(tk)/{γ(1- tk/tm)}あるいはtanθ = Bj z(tk)/γとすれば、関数f1をf1(Bj z(tk),Bj x(tk)) = f(Bj z(tk) , tk) = sin(arctan(Bj z(tk)/{γ(1- tk/tm)})) あるいはf1(Bj z(tk),Bj x(tk)) = f(Bj z(tk)) = sin(arctan(Bj z(tk)/γ))と記述できる。
図2に、以上説明した実施例1のアルゴリズムをフローチャートにまとめたものを示す。ここでtm =τである。図2のフローチャートの各ステップ101~109は、図1の手順100の時間t = 0からt = τに到る経過に順次対応している。すなわち、フローチャートのステップ102、104、106がそれぞれ、t = 1, tk+1, tmにおける上記の式(9)及び(10)に対応している。そして、最終的なステップ108において、sj < 0ならばsj = -1、sj > 0ならばsj = 1として解を定める(109)。
本実施例においてここまで、式(3)で表現された課題が如何に解かれるかを示した。次に具体的課題が如何に局所場gjと変数間相互作用Jij (i, j = 1, 2, …, N)を含む式(3)で表現されるかに関して具体例を挙げて説明する。例えば、具体的課題として、電力供給管理の問題を考える。この場合、局所場は気温のような自然現象の量、あるいは電力使用量とする。すなわち、局所場gj (j = 1 - 10)により各地区の気温を、局所場gj (j = 11 - 20)により各地区にある公共施設(図書館、映画館、スーパーマーケット、等)の電力使用量を、局所場gj (j = 21 - 100)により各民家の電力使用量を表すとする。
σ^j z (j = 11 - 100)はどこに電力を配分するかを表す変数とする。但し、j = 1 - 10は気温を表す添え字なので、σ^j z (j = 1 - 10)は電力配分を表すのではなく気温を公共施設や民家の活動に影響させるための変数と考える。気温は自然現象で決まるもので人工的要因の影響をほとんど受けないはずなのでσ^j z (j = 1 - 10)が他の変数に影響されないように局所場gj (j = 1 - 10)は大きい値に設定する。
気温と公共施設及び民家の活動との相関強度は、変数間相互作用Jijを通して表現する。また、気温と電力使用の相関は近年提唱されている電力シェアの概念にも影響される。例えば冷房が必要な時間帯に各家庭ごとにエアコンを使うのではなく公共施設に赴いて各家庭の電力を減らそうとする動きである。その動きは公共施設を表す添え字i = 11 - 20と民家を表す添え字 j = 21 - 100に対して変数間相互作用Jijがゼロでない値を取ることで表現される。但し、この概念に基づく相互作用は気温と民家の活動に関する直接的相関に比べれば小さいものなのでここでの変数間相互作用Jijの値は比較的小さい。また各家庭は独立に生活しているわけではなくお互いに影響を及ぼしあっているはずなので変数間相互作用Jij (i, j = 21 - 100)も有限になる。以上のような考察を通して変数間相互作用Jijを具体的に設定し、式(3)の基底状態探索を通して、最適電力供給配分(σ^j zの固有値 = +1あるいは-1)を求める。
尚、各項目に対するσ^j zを1変数で表現できない場合は複数のσ^j zを使用してよく、それに従い局所場gj及び変数間相互作用Jijも項目ごとに複数使用することになる。σ^j zは電力配分を表す変数であるが、人の動きや公共施設の開館状況と相関している。そのため得られた解によっては「ある公共施設を閉じるべし」との解釈にもなり得る。
以上が具体的課題を式(3)で表現する簡単な一例である。本実施例が適用できる具体的課題は以上で例示した電力供給管理の問題に限定されず、旅行経路最適化、回路設計、商品供給管理、スケジューリング、金融資産選択などの多くの課題解決に適用が可能である。
実施例1では量子力学的な式を元に期待値を取ることにより古典量に移行し、図1及び図2を用いて、古典量によるアルゴリズムを説明した。実施例1のアルゴリズムは準静的過程の熱力学的を拠り所に古典的であったが、量子力学的効果を付加すれば正解率向上や演算スピード向上の性能向上を図れる。そのため、実施例2として、アルゴリズムそのものは古典的であるが、性能向上のために量子力学に基づく補正パラメタを加える実施例について説明する。
量子力学の特徴としては線形重ね合わせ状態と量子縺れがある。例えば、|0>と|1>の2状態を取りうる量子ビットを考える。線形重ね合わせ状態とは|Ψ> = α|0> + β|1>のように2つの状態の和になっているものである。この線形重ね合わせ状態の性質は実施例1でスピンをベクトル的に扱うことによりすでに取り込まれている。即ち、sj z(tk) = 1ならば状態は|0>で、sj z(tk) = -1ならば状態は|1>である。|0>及び|1>はスピンの量子化軸をz軸に選んだ場合の状態に対応し、x軸に向いたsj x(t0) = 1の場合は|Ψ(t0)> = (|0> + |1>)/√2と表現される。またsj x(t) = -1ならば状態は|Ψ(t0)> = (|0> - |1>)/√2である。x軸を考慮したことは線形重ね合わせを考慮したことを意味する。
本実施例ではもうひとつの量子力学的効果である量子縺れについて述べる。例として2量子ビット系の状態が|Ψ> = α|00> + β|11>と記述できる場合を考える。規格化条件により|α|2 + |β|2 = 1である。|00>及び|11>の1番目の変数が第1量子ビット、2番目の変数が第2量子ビットを表す。パウリのスピン行列の性質としてσ^j z|0> = |0>、σ^j z|1> = -|1>なのでσ^1 z|Ψ> = α|00> - β|11>であり、<Ψ|σ^1 z|Ψ> = |α|2 - |β|2となる。また、σ^1 x|0> = |1>、σ^1 x|1> = |0>なのでσ^1 x|Ψ> = α|10> + β|01>であり<Ψ|σ^1 x|Ψ> = 0となる。また、σ^1 y|0> = i|1>、σ^1 y|1> = -i|0>なのでσ^1 y|Ψ> = iα|10> - iβ|01>であり<Ψ|σ^1 y|Ψ> = 0である。よって<σ^1 x(τ)>2 + <σ^1 y(τ)>2 + <σ^1 z(τ)>2 = (|α|2 - |β|2)2である。極端な例として、量子縺れが最大となるα = βの場合は<σ^1 x(τ)>2 + <σ^1 y(τ)>2 + <σ^1 z(τ)>2 = 0となって第1スピンベクトルの大きさが0になってしまう。このようなことは量子縺れがない場合には起こらない。例えば1スピン系を考え、状態を|Ψ> = α|0> + β|1>とすれば<Ψ|σ^1 z|Ψ> = |α|2 - |β|2、<Ψ|σ^1 x|Ψ> = α*β+αβ*、<Ψ|σ^1 y|Ψ> = iαβ* - iα*βであり、<σ^1 x(τ)>2 + <σ^1 y(τ)>2 + <σ^1 z(τ)>2 = (|α|2 + |β|2)2 = 1となって確かに大きさが1に保存する。
以上、一例ではあるが量子縺れがある場合にはスピンベクトルの大きさが1に保存しないことがわかった。古典的にはスピンベクトルの大きさは一定の1のはずだが、量子縺れがあればスピンベクトルは大きさが1にならない。実施例1ではtanθ = <Bj z(t)>/<Bj x(t)>のθを利用してスピンベクトルの大きさが1になるように補正して古典的アルゴリズムを実現していた。しかし、この方法ではスピンベクトルの大きさが保存するとの古典的条件を満足する代わりにこの系が本来持っている量子縺れの性質を反映したものにはなっていない。そこで量子縺れの性質を一部反映させる方法を考える。
上述のようにスピンベクトルは1に保存しない。そこでスピンの大きさを表す補正パラメタrs (0 ≦ rs ≦1)を定義する。またスピンベクトルが1に保存しないことを反映して式(8)の比例関係が成り立たなくなる。そこで補正パラメタrBを定義して式(8)を式(11)に変形する。
Figure 0006167188
実施例1の場合と同様にスピンの向きを表す角度θをtanθ = sj z(tk)/sj x(tk)で定義する。これに式(11)を適用すればtanθ = rB・Bj z(tk)/Bj x(tk)である。スピンの大きさがrsであることを考慮すればsj z(tk) = rssinθ、sj x(tk) = rscosθとなる。これらの関係式により補正パラメタrs及びrBを通して量子縺れの効果が古典的なアルゴリズムに取り込まれる。f1の表記に直せばf1(Bj z(tk),Bj x(tk)) = rs・sin(arctan(rB・Bj z(tk)/ Bj x(tk)))である。
すなわち、本実施例においては、補正パラメタrs及びrBを追加し、tanθ = rB・Bj(tk)/γあるいはtanθ = rB・Bj(tk)/{γ(1- tk/tm)}によりθを定義し、当該θを用いてsj(tk)をsj(tk) = rs・sinθにより決定する。関数fとしてはf(Bj(tk)) = rs・sin(arctan(rB・Bj(tk)/γ))あるいはf(Bj(tk) , tk) = rs・sin(arctan(rB・Bj(tk)/{γ(1- tk/tm)}))である。
この補正パラメタrs及びrBは量子縺れを起源としており、tk, sj z(tk), sj x(tk)に依存して細かく制御されることが好ましい。しかし、実際の演算では正確に制御するための量子縺れに関する情報が十分に分かっているわけではない。これは原理的に困難なことであり何らかの対処法を考える必要がある。最も単純な方法は補正パラメタrs及びrBを定数で運用することである。大きさは経験的に決めることになるが定数で運用する場合は僅かな補正になるので、rs = 0.9、rB = 0.9程度がひとつの目安である。但し、補正パラメタrsとrBの最適値はJijと局所場gjの値の範囲や分布に依存するため、Jijと局所場gjが確定した時点で補正パラメタrs及びrBを決定することが好ましい。上記の目安rs = 0.9、rB = 0.9程度は1以下であったが、Jijと局所場gjの値の範囲や分布によっては補正パラメタrsやrBの最適値が1以上になる場合もある。また、演算をきめ細かく制御するためには両パラメタを利用することが好ましいが、演算の簡単化のために一方のパラメタを1に固定化し、もう一方のパラメタだけを利用しても効果はある。
演算過程はsj x = 1で開始し、sj z = ±1で終了する。従って開始時と終了時は量子縺れになっていない。量子縺れになっているのは演算の中間段階である。これを反映して演算の開始時と終了時はrs = 1及びrB = 1とし、演算の進行と共に両者を徐々に小さく(大きく)し、その後は逆に徐々に大きく(小さく)して最終的にrs = 1、rB = 1に戻すことも有効である。
サイト間の特徴が特別にない場合は補正パラメタrsやrBにサイト依存性を持たせないが、サイト別の特徴が事前にわかっている場合にはそれに対応して補正パラメタrsやrBをサイト依存にすることも有効である。
図3にrs及びrBを導入した場合のフローチャートを示した。図2のフローチャートとの違いは、ステップ103、105、107がそれぞれ補正パラメタrsやrBを含むステップ110、111、112に変更された点にある。
上述した式(2)等に見るように、演算時間はτを想定しているが、最終的な解の決定法にはいくつかの方法がある。実施例3として、解の各種決定方法を説明する。
第1の方法は図4Aに示すように、t =τ(t = tm)において(115)、sj z > 0ならばsj zd = 1、sj z < 0ならばsj zd = -1とするものである。図2及び図3の各実施例のフローチャートはこの場合を記述しており、解決定法のみに焦点を当てたフローチャートが図4Aである。
第2の方法は図4Bに示すように、sj zの収束性を見るもので、ある時刻tk以降ある十分な時間Δtの間のすべての時刻tLに対してsj zの符号に変化がなければ(121)、その時点のsj zの符号に基づきsj zd = 1 or -1と判定する(122)。
第3の方法は図4Cに示すように、第1の方法と同様にt =τ(t = tm)まで演算を継続する(115)が、各段階でのエネルギーを式(3)に基づいて求める。式(3)のσ^j zは固有値が±1 なので演算過程の各段階でsj zの符号に従いσ^j zの固有値が1なのか-1なのかを決める。即ち、sj z(tk) > 0ならばσ^j zの固有値は1 (sj zd = 1)、sj z(tk) < 0ならばσ^j zの固有値は-1 (sj z = -1)である。σ^j zの固有値を利用して計算するのはエネルギーに関してであり、演算過程はsj z(tk) (-1 ≦ sj z(tk) ≦ 1)を利用する。t = τ (t = tm)に到達した時点で各時刻tkでのエネルギーを比較し、最低エネルギーを得た時刻tk’でのsj z(tk’)の符号に基づき最終的な解を決める。
すなわち、時刻tk各々おいてsj(tk) < 0ならばsj zd(tk) = -1、sj(tk) > 0ならばsj zd(tk) = 1として(119)、H(tk) = - Σi>jJijsi zd(tk)sj zd(tk) - Σjgjsj zd(tk)を各時刻tkにおいて計算し(123)、H(tk)が最小値となった時刻tkにおけるsj zd(tk)を最終解とする(124)。
第4の方法は図4Dに示すように、第2の方法と同様にすべてのsj zが収束した段階で演算を打ち切る。但し、最終的な解は打ち切った時点でのsj zから判定するのではなく、第3の方法と同様に各時刻でのエネルギーを算出し、最低エネルギーを与えた時刻でのsj z(tk’)から最終的な解を決める(125)。いずれの方法を取るかは使用者が決めればよい。
図1に見るように本発明では時間軸を離散的にして演算を実行する。準静的過程の原理に従えば時間間隔は細かい程よい。しかし、あまり細かく取りすぎると演算時間が長くなる。そこで演算の進行に合わせて時間間隔を変化させることもできる。演算過程で重要な時刻はsj zの符号が変化する時である。従って、符号の変化が少ない演算開始時と終了時近くは時間間隔を大きく設定しても問題ない。そこで第1の方法として、プログラム的に演算開始時には時間間隔を大きめにし、時間の経過と共に時間間隔を小さくし、その後逆に時間間隔を大きくしていく設定法がある。第2の方法は、まず大き目の時間間隔で演算を開始し、どれかひとつのスピンsj zの符号に変化があった時点で時間間隔を小さくし、別のスピンに符号反転があればさらに時間間隔を小さくすることを繰り返していくものである。この場合ある十分な時間の間に符号反転するスピンがなくなれば時間間隔を順次長くしていく。第3の方法は、まず大き目の時間間隔で演算を開始し、どれかひとつのスピン|sj z|が他のスピン比べて十分に小さくなった時点で時間間隔を小さくし、|sj z|が十分に大きくなった時点で時間間隔を大きな値に戻す。これを繰り返す。
解に縮退がなく基底状態がひとつしかない場合は上記の実施例1−4の方法により演算可能であるが、解はひとつとは限らず2つ以上の解がある場合もある。即ち、縮退がある場合である。厳密な縮退ではなくエネルギー値がほとんど等しい擬縮退もある。このような場合には初期値に依存して異なる解になる場合がある。そこで、初期値をsj z = 0、sj x = 1とするのではなく、sj z ≠ 0の適当な値を初期値として演算を開始する方法もある。第1の方法は乱数で各sj zを決める。第2の方法は、まずsj z = 0を初期値として演算を行い解を得る。次にその解を符号反転して初期値とし、再度演算する。両演算結果のエネルギー値を比較して小さい値になった方を最終解にする。両結果のエネルギーが等しければ両者とも解とする。
実施例1−5では演算原理及び演算アルゴリズムに関して説明した。実施例6では、このアルゴリズムをプログラムの実行で動作させる計算機の構成例を説明する。図5に本実施例の計算機構成の一例を示す。図5は通常の計算機と基本的に同じ構成で、記憶部である主記憶装置201から、演算部である演算装置202にデータを転送し、演算後、主記憶装置201にデータを返す。これを繰り返して演算を進める。その際の司令塔が制御部としての制御装置203である。本実施例の構成における演算は、図2や図3のフローに従い、時刻別、サイト別に演算装置202で実行する。
演算装置202で実行されるプログラムは、記憶部である主記憶装置201に記憶する。主記憶装置201で記憶容量が足りない場合は、同じく記憶部である補助記憶装置204を利用する。データやプログラム等の入力には入力装置205を使用し、結果の出力には出力装置206を利用する。入力装置205はキーボードのような手入力装置の他、ネットワーク接続のためのインターフェースも含む。また、このインターフェースは出力装置も兼ねる。図5の構成ではアルゴリズムに関して、実施例1−5で説明したアルゴリズムを適用するが、装置そのものは通常の計算機を使う。通常の計算機はデジタル処理になっているので基本的にノイズはない。その意味で絶対零度の系になっている。
一方、プログラムの実行で実現されるアルゴリズムだけでなく、図6に示すように、装置構成も含めて実施例1−5で説明した演算原理、アルゴリズムを利用する方法もある。図6に示す本実施例の計算機構成では、図5と比べて演算部として断熱演算装置1000が加わっている。断熱演算装置1000は、上述したアルゴリズムを実施するための専用演算部で、一般的な処理は演算装置202で実施し、実施例1−5で説明した断熱演算(準静的演算)に関してのみを断熱演算装置1000で行う。断熱演算装置1000で利用する情報は主記憶装置201から転送する。
必要な情報とは変数間相互作用Jij, 局所場gjといった課題設定パラメタの他、時刻パラメタtkや、量子縺れに係わる補正パラメタrs及びrB等である。同期を取る等の処理は図5の構成の計算機と同様で制御装置203の役目である。断熱演算装置1000からは最終結果だけでなく途中経過の情報が必要に応じて時刻パラメタtkごとに制御装置203の指示に従い、主記憶装置201に転送される。演算の中間段階における断熱演算装置1000からの転送値は、例えば演算の中間段階でのイジングスピン・ハミルトニアンのエネルギー算出に利用する。
実施例3で説明した第3及び第4の方法では、図4C、図4Dで示したように、このエネルギー値を使って最終的な解を判定する。sj zdが+1なのか-1なのかが決まっていればイジングスピン・ハミルトニアンのエネルギー値の計算は単純なものであり、通常の演算装置202を利用する。断熱演算装置1000は上述た断熱(準静的)過程専用の演算部でそれ以外の処理は通常の演算装置202を利用する。
実施例6で説明した断熱演算装置1000はアクセラレータとして電気回路で実現することも可能であるが、sj zとして光の位相を使うことにより光学系で実現することも可能である。本実施例は、光学系で実現する断熱演算装置の実施例に係るものである。
図7はビット数4の場合の、光学系で実現する断熱演算装置の構成を示すものであり、演算ブロック1100, 1200, 1300, 1400それぞれがひとつのビットを構成する。演算ブロック1100をビット1としてこれを例にして各ビットの動作を説明する。レーザー光源1101からの出力光は変調器を組み込んだマッハ・ツェンダー干渉計1104で位相変調を受けた後分配器1111及び1112に導かれる。分配器1111及び1112へ分配した光強度をI11及びI12としてs1 z = (I11-I12)/(I11+I12)により-1 ≦ s1 z ≦ 1となるスピンを表現する。I11及びI12への分配率は変調器1104により行う。変調器1104は2つの位相変調器からなり、一方の変調器の変調量をδθとすればもう一方は-δθとして両光路のバランスを取った上で合計で2δθの変調を行う。変調用の信号は信号源1102から出力される。t = t0では有効磁場は外場γだけなのでs1 z = 0となるようにI11 = I12となる位相変調を行う。分配器1111及び1112では光信号が分割され、各分割信号のひとつずつが光検出器1141及び1142に導かれて受光される。受光された信号は差動アンプ1151により差信号となってt = t0でのスピン出力となる。分配器1111及び1112からの他の分割信号は他のスピンとの相互作用のために他のビット1200, 1300, 1400に導かれる。その際、変数間相互作用J ij の値に従い利得調整器1120において光強度が調整される。
演算ブロック1100のビットにも、変数間相互作用J ij に関する信号が他のビットから入力される。合波器1131及び1132で全ビットからの相互作用信号光が合波され、光検出器1143及び1144で受光され、差動アンプ1152により差信号になる。ここで差を取るのは他のビットからの相互作用信号がsj z = (Ij1-Ij2)/(Ij1+Ij2)だからである。尚、各ビットの波長はそれぞれ異なるものとし、任意の2つのレーザー光源の発振周波数をfi及びfjとして、演算のクロック周波数frとはfr << fj - fiの関係を満たすようにする。この条件は合波器1131及び1132における合波において光の干渉効果を無視できるようにするためのものである。差動アンプ1152からの出力信号は加算器1103で信号源1102からの信号に加算されて、有効磁場のz成分B1 z(tk)を示す信号として変調器1104に導かれる。これにより時刻t = t0から時刻t = t1に移行する。この処理をt = tmまで繰り返す。
本実施例の断熱演算装置の場合、変調器1104への入力が有効磁場のz成分B1 z(tk)に対応し、差動アンプ1151からの出力がs1 z(tk)に対応する。式(10)の第1項に含まれるtk+1, Jijに関する因子やrs及びrBの補正パラメタは利得調整器1120において調整される。式(10)の第2項に含まれる因子tk+1に関しては信号源1102で調整される。
各時刻tkでのs1 z(tk)は主記憶装置201に出力されてアルゴリズムに基づき解析に利用される。光の位相を利用した断熱演算装置1000の動作原理は以上であり、その他の通常の演算は主記憶装置201と演算装置202におけるデータのやり取りで実施される。
本実施例における温度の影響は以下のように見積もられる。ビット操作は変調器1104で行われる。ビット反転に必要な変調器1104への印加電圧は例えば3Vである。eを素電荷、kBをボルツマン定数とすれば換算温度はT = eV/kBによりT = 3.5×104 Kである。この値は室温の300 Kに比べて十分に大きく、本実施例のような光学系では擬似的に絶対零度になっている。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明のより良い理解のために詳細に説明したのであり、必ずしも説明の全ての構成を備えるものに限定されものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることが可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
更に、本発明が適用される課題として、電力供給管理を例示して説明したが、設定される課題はこれに限定されるものではなく、例えば、旅行経路最適化、回路設計、商品供給管理、スケジューリング、金融資産選択等多くの課題に適用が可能である。
上述した各構成、機能、処理部等は、それらの一部又は全部を実現するプログラムを利用し、演算部が実行する例を説明したが、それらの一部又は全部を例えば集積回路で設計する等によりハードウェアで実現しても良いことは言うまでもない。
なお、実施例を説明した明細書の記載中には、特許請求の範囲に記載した発明のみならず、種々の発明が開示されている。それらの一部を列記すると下記のとおりである。
<記>
1)演算部で実行される演算プログラムであって、N個のベクトル変数sj (j = 1, 2, …, N, |sj| = 1)を使い、課題の設定は局所場gjと変数間相互作用Jij (i, j = 1, 2, …, N)によってなされ、sjのz成分がsj z = -1 or 1として最終解となるもので、時刻をm分割して離散的にt = t0 (t0 = 0)からtmまで演算するものとし、t = t0でsjのx成分が初期値としてsj x(t0) = 1を取り, z成分がsj z(t0) = 0を取り、各時刻tkにおける変数sj z(tk)の値はγをある定数としてBj x(tk) = γ(1-tk/tm)及びBj z(tk) = (ΣiJijsi z(tk-1) + gj)tk/tm により、あるいはBj x(tk) = γ及びBj z(tk) = (ΣiJijsi z(tk-1) + gj)tk/tm により定め、 ベクトル変数sj(tk)が|sj(tk)| = 1になるように関数f1及びf2を定めてsj z(tk) = f1(Bj x(tk),Bj z(tk))、sj x(tk) = f2(Bj x(tk),Bj z(tk))とし、時刻ステップをt = t0からt = tmに進めるにつれてsj zを-1あるいは1に近づけ、最終的にsj z < 0ならばsj z = -1、sj z > 0ならばsj z = 1として解を定める、ように演算を実行させる、ことを特徴とする演算プログラム。
2)上記1記載の演算プログラムであって、補正パラメタrsを追加し、前記ベクトル変数sj(tk)が|sj(tk)| = rsとなるように関数f1及びf2を定める、ことを特徴とする演算プログラム。
3)上記2記載の演算プログラムであって、前記補正パラメタrsを前記tk, 前記Bj z(tk), 前記Bj x(tk))に依存させる、ことを特徴とする演算プログラム。
4)上記1記載の演算プログラムであって、各時刻tkにおいてsj z(tk) < 0ならばsj zd(tk) = -1、sj z(tk) > 0ならばsj zd(tk) = 1としてH(tk) = - Σi>jJijsi zd(tk)sj zd(tk) - Σj gjsj zd(tk)を各時刻tkにおいて計算し、H(tk)が最小値となった時刻tkにおけるsj zd(tk)を最終解とする、ことを特徴とする演算プログラム。
5)演算部、記憶部、制御部を具備し、前記制御部の制御により、前記記憶部と前記演算部との間でデータをやり取りしながら、演算を行う計算機であって、
N個のベクトル変数sj (j = 1, 2, …, N, |sj| = 1)を使い、局所場gjと変数間相互作用Jij (i, j = 1, 2, …, N)によって課題の設定がなされ、sjのz成分がsj z = -1 or 1として最終解となるもので、
時刻をm分割して離散的にt = t0 (t0 = 0)からtmまで演算するものとし、t = t0でsjのx成分が初期値としてsj x(t0) = 1を取り, z成分がsj z(t0) = 0を取り、各時刻tkにおける変数sj z(tk)の値はγをある定数として、Bj x(tk) = γ(1-tk/tm)及びBj z(tk) = (ΣiJijsi z(tk-1) + gj)tk/tm により、あるいはBj x(tk) = γ及びBj z(tk) = (ΣiJijsi z(tk-1) + gj)tk/tm により定め、 ベクトル変数sj(tk)が|sj(tk)| = 1になるように関数f1及びf2を定めてsj z(tk) = f1(Bj x(tk),Bj z(tk))、sj x(tk) = f2(Bj x(tk),Bj z(tk))とし、時刻ステップをt = t0からt = tmに進めるにつれてsj zを-1あるいは1に近づけ、最終的にsj z < 0ならばsj zd = -1、sj z > 0ならばsj zd = 1として解を定め、
前記演算部は、断熱演算装置を具備し、各時刻tkにおける前記ベクトル変数sj z(tk)の値を求める演算を前記断熱演算装置で実施する、ことを特徴とする計算機。
6)演算部、記憶部、制御部を具備し、前記制御部の制御により、前記記憶部と前記演算部との間でデータをやり取りしながら演算を行う計算機であって、
N個の変数sj (j = 1, 2, …, N)が-1 ≦ sj ≦ 1の値域を取り、局所場gjと変数間相互作用Jij (i, j = 1, 2, …, N)によって課題の設定がなされ、sj = -1 or 1が最終解となるものであり、
時刻をm分割して離散的にt = t0 (t0 = 0)からtmまで演算するものとし、t = t0で初期値sj(t0) = 0、各時刻tkにおける変数sj(tk)の値はBj(tk) = (ΣiJijsi(tk-1) + gj)tk/tmにより定め、 sj(tk)の値域が-1 ≦ sj(tk) ≦ 1になるように関数fを定めてsj(tk) = f(Bj(tk) , tk)とし、
時刻ステップをt = t0からt = tmに進めるにつれてsjを-1あるいは1に近づけ、最終的にsj < 0ならばsj = -1、sj > 0ならばsj = 1として解を定め、
前記演算部は、断熱演算装置を具備し、各時刻tkにおける前記変数sj(tk)の値を求める演算を前記断熱演算装置で実施し、
前記断熱演算装置は、前記変数sj(tk)としてレーザ光の位相を用いる、ことを特徴とする計算機。
7)上記6記載の計算機であって、
前記断熱演算装置は、前記sj(tk) (j = 1, 2, …, N)に対応するN個の演算ブロックを含み、前記演算ブロック各々は、レーザ光源と、前記レーザ光源から出力されたレーザ光を前記Bj(tk)に基づき位相変調する変調器を含む、ことを特徴とする計算機。
100 手順
201 主記憶装置
202 演算装置
203 制御装置
204 補助記憶装置
205 入力装置
206 出力装置
1000 断熱演算装置
1100,1200,1300,1400 演算ブロック
1101 レーザー光源
1102 信号源
1103 加算器
1104 変調器
1111,1112 分配器
1120 利得調整器
1131,1132 合波器
1141,1142,1143,1144 光検出器
1151,1152 差動アンプ

Claims (15)

  1. 演算部、記憶部、制御部を具備し、前記制御部の制御により、前記記憶部と前記演算部との間でデータをやり取りしながら演算を行う計算機であって、
    N個の変数sj (j = 1, 2, …, N)が-1 ≦ sj ≦ 1の値域を取り、局所場gjと変数間相互作用Jij (i, j = 1, 2, …, N)によって課題の設定がなされ、sj = -1 or 1が最終解となるもので、
    時刻をm分割して離散的にt = t0 (t0 = 0)からtmまで演算するものとし、t = t0で初期値sj(t0) = 0、各時刻tkにおける変数sj(tk)の値はBj(tk) = (ΣiJijsi(tk-1) + gj)tk/tmにより定め、 sj(tk)の値域が-1 ≦ sj(tk) ≦ 1になるように関数fを定めてsj(tk) = f(Bj(tk) , tk)とし、
    時刻ステップをt = t0からt = tmに進めるにつれてsjを-1あるいは1に近づけ、最終的にsj < 0ならばsj = -1、sj > 0ならばsj = 1として解を定める、
    ことを特徴とする計算機。
  2. 前記Bj(tk)に対してある比例定数γを用いてtanθ = Bj(tk)/γあるいはtanθ = Bj(tk)/{γ(1- tk/tm)}を定義し、当該θを用いて前記sj(tk)をsj(tk) = sinθによって定め、前記関数fをf(Bj(tk) , tk) = f(Bj(tk)) = sin(arctan(Bj(tk)/γ)) あるいはf(Bj(tk) , tk) = sin(arctan(Bj(tk)/{γ(1- tk/tm)}))とする、
    ことを特徴とする請求項1記載の計算機。
  3. 前記演算部は、断熱演算装置を具備し、各時刻tkにおける前記変数sj(tk)の値を求める演算を前記断熱演算装置で実施する、
    ことを特徴とする請求項1記載の計算機。
  4. 前記関数fに補正パラメタrs及びrBを追加し、前記関数fをf(Bj(tk)) = rs・sin(arctan(rB・Bj(tk)/γ))あるいはf(Bj(tk) , tk) = rs・sin(arctan(rB・Bj(tk)/{γ(1- tk/tm)}))とするもので、tanθ = rB・Bj(tk)/γあるいはtanθ = rB・Bj(tk)/{γ(1- tk/tm)}によりθを定義し、当該θを用いて前記sj(tk)をsj(tk) = rs・sinθにより決定する、
    ことを特徴とする請求項2記載の計算機。
  5. 前記補正パラメタrs及びrBを、前記tk、及び前記Bj(tk)に依存させる、
    ことを特徴とする請求項4記載の計算機。
  6. 前記時刻tk各々おいてsj(tk) < 0ならばsj zd(tk) = -1、sj(tk) > 0ならばsj zd(tk) = 1としてH(tk) = - Σi>jJijsi zd(tk)sj zd(tk) - Σjgjsj zd(tk)を各時刻tkにおいて計算し、H(tk)が最小値となった時刻tkにおけるsj zd(tk)を最終解とする、
    ことを特徴とする請求項1記載の計算機。
  7. 演算部、記憶部、制御部を具備し、前記制御部の制御により、前記記憶部と前記演算部との間でデータをやり取りしながら、演算を行う計算機であって、
    N個のベクトル変数sj (j = 1, 2, …, N, |sj| = 1)を使い、局所場gjと変数間相互作用Jij (i, j = 1, 2, …, N)によって課題の設定がなされ、sjのz成分がsj z = -1 or 1として最終解となるもので、
    時刻をm分割して離散的にt = t0 (t0 = 0)からtmまで演算するものとし、t = t0でsjのx成分が初期値としてsj x(t0) = 1を取り, z成分がsj z(t0) = 0を取り、各時刻tkにおける変数sj z(tk)の値はγをある定数として、Bj x(tk) = γ(1-tk/tm)及びBj z(tk) = (ΣiJijsi z(tk-1) + gj)tk/tm により、あるいはBj x(tk) = γ及びBj z(tk) = (ΣiJijsi z(tk-1) + gj)tk/tm により定め、 ベクトル変数sj(tk)が|sj(tk)| = 1になるように関数f1及びf2を定めてsj z(tk) = f1(Bj x(tk),Bj z(tk))、sj x(tk) = f2(Bj x(tk),Bj z(tk))とし、時刻ステップをt = t0からt = tmに進めるにつれてsj zを-1あるいは1に近づけ、最終的にsj z < 0ならばsj zd = -1、sj z > 0ならばsj zd = 1として解を定める、
    ことを特徴とする計算機。
  8. 補正パラメタrsを追加し、前記ベクトル変数sj(tk)が|sj(tk)| = rsとなるように関数f1及びf2を定める、
    ことを特徴とする請求項7記載の計算機。
  9. 前記補正パラメタrsを前記tk, 前記Bj z(tk), 及び前記Bj x(tk)に依存させる、
    ことを特徴とする請求項8記載の計算機。
  10. 前記時刻tk各々においてsj z(tk) < 0ならばsj zd(tk) = -1、sj z(tk) > 0ならばsj zd(tk) = 1としてH(tk) = - Σi>jJijsi zd(tk)sj zd(tk) - Σjgjsj zd(tk)を各時刻tkにおいて計算し、H(tk)が最小値となった時刻tkにおけるsj zd(tk)を最終解とする、
    ことを特徴とする請求項7記載の計算機。
  11. 演算部で実行される演算プログラムであって、
    N個の変数sj (j = 1, 2, …, N)が-1 ≦ sj ≦ 1の値域を取り、課題の設定は局所場gjと変数間相互作用Jij (i, j = 1, 2, …, N)によってなされ、sj = -1 or 1を最終解とするものであり、
    時刻をm分割して離散的にt = t0 (t0 = 0)からtmまで演算し、
    t = t0で初期値としてsj(t0) = 0を取り、各時刻tkにおける変数sj(tk)の値はBj(tk) = (ΣiJijsi(tk-1) + gj)tk/tmにより定め、
    sj(tk)の値域が-1 ≦ sj(tk) ≦ 1になるように関数fを定めてsj(tk) = f(Bj(tk), tk)とし、
    時刻ステップをt = t0からt = tmに進めるにつれてsjを-1あるいは1に近づけ、最終的にsj < 0ならばsj = -1、sj > 0ならばsj = 1として解を定める、ように演算を実行させる、
    ことを特徴とする演算プログラム。
  12. 前記Bj(tk)に対してある比例定数γを用いてtanθ = Bj(tk)/ γあるいはtanθ = Bj(tk)/{γ(1- tk/tm)}を定義し、このθを用いて前記sj(tk)をsj(tk) = sinθによって定めることとし、
    前記関数fをf(Bj(tk) , tk) = f(Bj(tk)) = sin(arctan(Bj(tk)/γ))あるいはf(Bj(tk) , tk) = sin(arctan(Bj(tk)/{γ(1- tk/tm)}))として、演算を実行させる、
    ことを特徴とする請求項11記載の演算プログラム。
  13. 前記関数fに補正パラメタrs及びrBを追加し、前記関数fをf(Bj(tk)) = rs・sin(arctan(rB・Bj(tk)/γ))あるいはf(Bj(tk) , tk) = rs・sin(arctan(rB・Bj(tk)/{γ(1- tk/tm)}))とするもので、tanθ = rB・Bj(tk)/γあるいはtanθ = rB・Bj(tk)/{γ(1- tk/tm)}によりθを定義し、当該θを用いて前記sj(tk)をsj(tk) = rs・sinθにより決定して、演算を実行させる、
    ことを特徴とする請求項12記載の演算プログラム。
  14. 前記補正パラメタrs及びrBを、前記tk,、及び前記Bj(tk)に依存させて、演算を実行させる、
    ことを特徴とする請求項13記載の演算プログラム。
  15. 前記時刻tk 各々においてsj(tk) < 0ならばsj zd(tk) = -1、sj(tk) > 0ならばsj zd(tk) = 1としてH(tk) = - Σi>jJijsi zd(tk)sj zd(tk) - Σj gjsj zd(tk)を各時刻tkにおいて計算し、H(tk)が最小値となった時刻tkにおけるsj zd(tk)を最終解とする、ように演算を実行させる、
    ことを特徴とする請求項11記載の演算プログラム。
JP2015561100A 2014-02-06 2014-02-06 計算機、及び演算プログラム Active JP6167188B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/052763 WO2015118639A1 (ja) 2014-02-06 2014-02-06 計算機、及び演算プログラム

Publications (2)

Publication Number Publication Date
JPWO2015118639A1 JPWO2015118639A1 (ja) 2017-03-23
JP6167188B2 true JP6167188B2 (ja) 2017-07-19

Family

ID=53777472

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015561100A Active JP6167188B2 (ja) 2014-02-06 2014-02-06 計算機、及び演算プログラム

Country Status (3)

Country Link
US (1) US9952830B2 (ja)
JP (1) JP6167188B2 (ja)
WO (1) WO2015118639A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6524340B2 (ja) * 2016-04-22 2019-06-05 株式会社日立製作所 計算機及び計算方法
JP6967422B2 (ja) * 2017-10-24 2021-11-17 株式会社日立製作所 計算機及び計算方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2007209712A1 (en) 2006-01-27 2007-08-02 D-Wave Systems, Inc. Methods of adiabatic quantum computation
US7895142B2 (en) * 2007-09-27 2011-02-22 Siemens Aktiengesellschaft Method and apparatus for quantum adiabatic pattern recognition
WO2009143166A2 (en) * 2008-05-20 2009-11-26 D-Wave Systems Inc. Systems, methods, and apparatus for calibrating, controlling, and operating a quantum processor

Also Published As

Publication number Publication date
JPWO2015118639A1 (ja) 2017-03-23
US20160328208A1 (en) 2016-11-10
WO2015118639A1 (ja) 2015-08-13
US9952830B2 (en) 2018-04-24

Similar Documents

Publication Publication Date Title
Jiang et al. Quantum annealing for prime factorization
JP6483256B2 (ja) 計算機
Wang et al. Generalized teleportation by quantum walks
Weimer et al. Digital quantum simulation with Rydberg atoms
Lamata et al. Efficient quantum simulation of fermionic and bosonic models in trapped ions
JPWO2016157333A1 (ja) 計算機、及び演算プログラム
Avila et al. GPU-aware distributed quantum simulation
Pandey et al. Quantum computing for big data analysis
Ren et al. Quantum state transfer through a spin chain in two non-Markovian baths
Fang et al. Minimizing minor embedding energy: an application in quantum annealing
JP6167188B2 (ja) 計算機、及び演算プログラム
Ma et al. A Quantum Richardson–Lucy image restoration algorithm based on controlled rotation operation and Hamiltonian evolution
Soltanmanesh et al. can thermodynamic Behavior of Alice’s Particle Affect Bob’s particle?
Trisetyarso Correlation of Dirac potentials and atomic inversion in cavity quantum electrodynamics
Wiegerinck et al. Supermodeling dynamics and learning mechanisms
Proctor et al. Minimal ancilla mediated quantum computation
Ghonaimy An overview of quantum information systems
Kulagin et al. Realization of grover search algorithm on the optical cavities
Wang et al. Fundamental causal bounds of quantum random access memories
Zhang et al. Fast quantum cloning of 1→ n orbital state with Rydberg superatom
Landry et al. Nonlocal quantum field theory and quantum entanglement
Song et al. Experimentally optimized implementation of the Fredkin gate with atoms in cavity QED
Benda et al. Reducing the dimensionality of grid based methods for electron-atom scattering calculations below ionization threshold
Robson et al. Advanced quantum poisson solver in the nisq era
Melnikov et al. Symmetry in the Tight-Binding Method

Legal Events

Date Code Title Description
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: 20170620

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170626

R150 Certificate of patent or registration of utility model

Ref document number: 6167188

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150