(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-28
(45)【発行日】2022-04-05
(54)【発明の名称】量子アニーリング装置
(51)【国際特許分類】
G06N 10/00 20220101AFI20220329BHJP
【FI】
G06N10/00
(21)【出願番号】P 2018173388
(22)【出願日】2018-09-18
【審査請求日】2021-03-01
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(73)【特許権者】
【識別番号】318010018
【氏名又は名称】キオクシア株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】棚本 哲史
(72)【発明者】
【氏名】西 義史
(72)【発明者】
【氏名】出口 淳
【審査官】今城 朋彬
(56)【参考文献】
【文献】米国特許出願公開第2018/0261752(US,A1)
【文献】米国特許出願公開第2016/0300155(US,A1)
【文献】特開2018-022446(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 10/00
(57)【特許請求の範囲】
【請求項1】
量子アニーリング装置であって、
初期ハミルトニアンに従って結合された複数の量子ビットを含む量子演算部と、
前記複数の量子ビットにデータを印加する入力部と、
前記複数の量子ビットを操作する操作部と、
前記複数の量子ビットからZ軸の成分を取得して出力する出力部と、
を備え、
前記操作部は、
前記複数の量子ビットの中から、第1量子ビットと、前記量子演算部により結合された第2量子ビットおよび第3量子ビットとを選択する選択処理と、
前記第2量子ビットおよび前記第3量子ビットのそれぞれを前記Z軸に直交する第1軸周りに90度回転させる第1回転操作と、
前記第1量子ビットと前記第2量子ビットとを相互作用させる相互作用操作と、
前記第2量子ビットおよび前記第3量子ビットのそれぞれを前記Z軸および前記第1軸に直交する第2軸周りに90度回転させる第2回転操作と、
を実行する量子アニーリング装置。
【請求項2】
前記量子演算部は、前記第1量子ビットと、前記第2量子ビットを結合していない
請求項1に記載の量子アニーリング装置。
【請求項3】
前記第1量子ビットと前記第2量子ビットとの結合の強さをJとした場合、前記相互作用操作において、前記操作部は、π/(4×J)の間、前記第1量子ビットと前記第2量子ビットとを相互作用させる
請求項1または2に記載の量子アニーリング装置。
【請求項4】
前記操作部は、
前記選択処理において、前記複数の量子ビットの中から、第4量子ビットをさらに選択し、
前記相互作用操作において、前記第3量子ビットと前記第4量子ビットとを相互作用させる
請求項1から3の何れか1項に記載の量子アニーリング装置。
【請求項5】
前記量子演算部は、前記第4量子ビットと、前記第3量子ビットとを結合していない
請求項4に記載の量子アニーリング装置。
【請求項6】
前記第3量子ビットと前記第4量子ビットとの結合の強さをJとした場合、前記相互作用操作において、前記操作部は、π/(4×J)の間、前記第3量子ビットと前記第4量子ビットとを相互作用させる
請求項4または5に記載の量子アニーリング装置。
【請求項7】
前記複数の量子ビットは、マトリクス状に配置され、
前記量子演算部は、
列方向に隣接する2つの量子ビットを結合しておらず、
所定の開始行に配置された量子ビットを他の量子ビットと結合しておらず、
前記開始行を除く行に配置された行方向に隣接する2つの量子ビットを結合しており、
前記操作部は、前記開始行に隣接する行から順次に隣接する行を対象行として選択し、前記対象行を選択する毎に、前記選択処理、および、前記第1回転操作、前記相互作用操作および前記第2回転操作を実行する
請求項4から6の何れか1項に記載の量子アニーリング装置。
【請求項8】
前記操作部は、1回目に、前記開始行に隣接する行を前記対象行とし、2回目以降、直前の前記対象行に隣接し且つこれまでに前記対象行に選択されてない行を新たな前記対象行として選択する
請求項7に記載の量子アニーリング装置。
【請求項9】
前記選択処理において、前記第1量子ビット、前記第2量子ビット、前記第3量子ビットおよび前記第4量子ビットをそれぞれを含む1または複数のセットを選択し、
前記1または複数のセットのそれぞれは、
前記第2量子ビットおよび前記第3量子ビットとして、前記対象行に含まれている行方向に結合された2つの量子ビットを含み、
前記第1量子ビットとして、直前に選択された前記対象行に含まれており、前記第2量子ビットに対して列方向に隣接した量子ビットを含み、
前記第4量子ビットとして、直前に選択された前記対象行に含まれており、前記第3量子ビットに対して列方向に隣接した量子ビットを含む
請求項8に記載の量子アニーリング装置。
【請求項10】
前記操作部は、1つの前記対象行について複数のセットを選択した場合、選択した前記複数のセットに対して前記第1回転操作を同時に実行し、選択した前記複数のセットに対して前記相互作用操作を同時に実行し、選択した前記複数のセットに対して前記第2回転操作を同時に実行する
請求項9に記載の量子アニーリング装置。
【請求項11】
前記複数の量子ビットは、マトリクスにおける一部分の範囲に配置される
請求項7から10の何れか1項に記載の量子アニーリング装置。
【請求項12】
前記量子演算部は、前記複数の量子ビットの中の2つの量子ビットの結合の強さを制御する複数の制御用量子ビットをさらに含み、
前記相互作用操作において、前記操作部は、前記複数の制御用量子ビットのうち、前記第1量子ビットと前記第2量子ビットとの結合の強さを制御する制御用量子ビット、および、前記第3量子ビットと前記第4量子ビットとの結合の強さを制御する制御用量子ビットを操作する
請求項7から11の何れか1項に記載の量子アニーリング装置。
【請求項13】
前記量子演算部は、前記複数の量子ビットとして、キャパシタンス接合によるクーロン相互作用により他のメモリセルと結合した複数のメモリセルを含む
請求項1から12の何れか1項に記載の量子アニーリング装置。
【請求項14】
前記複数のメモリセルのそれぞれは、フローティングゲート構造を含む
請求項13に記載の量子アニーリング装置。
【請求項15】
前記量子演算部は、結合がされておらず、且つ、外部からの操作によって相互作用を生じさせない隣接する2つの量子ビットの間に設けられたエアギャップまたは低誘電率部をさらに含む
請求項13または14に記載の量子アニーリング装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、量子アニーリング装置に関する。
【背景技術】
【0002】
最適化問題を解く量子アニーリング機械が知られている。量子アニーリング機械は、下記の式(1)のイジングモデルが最小化または最大化するスピンの状態の組み合わせを、量子トンネリング現象を用いて解く。
【数1】
【0003】
式(1)において、Sj
Zは、スピンを表す演算子のZ成分であり、-1または+1の2値を取る。式(1)において、j、kは、スピンのインデックスを表す。Jjkは、j番目のスピンとk番目のスピンとの間の相互作用を表すパラメータである。hjは、j番目のスピンに単独で加わる作用を表すパラメータである。
【0004】
量子アニーリング機械に適用されるハミルトニアン(H)は、下記の式(2)により表される。
【数2】
【0005】
式(2)において、j、k、Jjkおよびhjは、式(1)と同一である。式(2)において、tは、時刻を表す。σZ
jは、j番目のスピンのZ成分を表すパウリ行列である。σZ
kは、k番目のスピンのZ成分を表すパウリ行列である。量子アニーリング機械は、スピンを量子ビットに置き換えて、エネルギーが最小となる組み合わせのσZ
jを出力する。
【0006】
ところで、量子アニーリング機械では、任意の2体以上の量子ビットを結合して、相互作用を生じさせるために、様々な工夫がされる。例えば、半導体装置に形成された2次元配列されたメモリセルを複数の量子ビットとして利用した量子アニーリング機械が提案されている。このような量子アニーリング機械では、隣接した2つのメモリセルの近接クーロン力が相互作用となる。
【0007】
しかしながら、量子アニーリング機械では、多様な組み合わせの3体以上の量子ビットの相互作用を設定することは非常に困難であった。
【先行技術文献】
【非特許文献】
【0008】
【文献】W. Lechner, P. Hauke and P. Zoller, “A quantum annealing architecture with all-to-all connectivity from local interactions”, Science Advances Vol.1, no.9, e1500838, (2015)
【文献】Vicky Choi, “Minor-embedding in adiabatic quantum computation: II. Minor-universal graph design”, Quantum Information Processing: Volume 10, Issue 3, P.343, (2011)
【文献】Vicky Choi, “Minor-Embedding in Adiabatic Quantum Computation: I. The Parameter Setting Problem”, Quantum Information Processing, 7, pp193-209, 2008
【文献】T. Tanamoto, “Implementation of standard quantum error correction codes for solid-state qubits”, Phys. Rev. A.88 062334, (2013)
【文献】Antti O. Niskanen, Yasunobu Nakamura, and Jaw-Shen Tsai, “Tunable coupling scheme for flux qubits at the optimal point”, Phys. Rev. B 73, 094506, (2006)
【文献】M. Leib, P. Zoller, W. Lechner, “A transmon quantum annealer: Decomposing many-body ising constraints into pair interactions”, Quantum Science and Technology 1 (1), 015008
【発明の概要】
【発明が解決しようとする課題】
【0009】
本発明が解決しようとする課題は、3体以上の量子ビットを相互作用させることにより最適化問題を解くことにある。
【課題を解決するための手段】
【0010】
実施形態に係る量子アニーリング装置は、量子演算部と、入力部と、操作部と、出力部とを備える。前記量子演算部は、初期ハミルトニアンに従って結合された複数の量子ビットを含む。前記入力部は、前記複数の量子ビットにデータを印加する。前記操作部は、前記複数の量子ビットを操作する。前記出力部は、前記複数の量子ビットからZ軸の成分を取得して出力する。前記操作部は、前記複数の量子ビットの中から、第1量子ビットと、前記初期ハミルトニアンに従って結合された第2量子ビットおよび第3量子ビットとを選択する選択処理と、前記第2量子ビットおよび前記第3量子ビットのそれぞれを前記Z軸に直交する第1軸周りに90度回転させる第1回転操作と、前記第1量子ビットと前記第2量子ビットとを相互作用させる相互作用操作と、前記第2量子ビットおよび前記第3量子ビットのそれぞれを前記Z軸および前記第1軸に直交する第2軸周りに90度回転させる第2回転操作と、を実行する。
【図面の簡単な説明】
【0011】
【
図2】第1実施形態における操作の前後のハミルトニアンを示す図。
【
図3】第1実施形態に係る量子アニーリング装置の処理の流れを示す図。
【
図4】操作部によるS15の4体間相互作用への変形操作を示す図。
【
図8】第2実施形態の複数の量子ビットのハミルトニアンを示す図。
【
図9】第2実施形態に係る操作部の処理の流れを示す図。
【
図10】8個の量子ビットの第2行を対象行として選択した状態を示す図。
【
図11】8個の量子ビットの第3行を対象行として選択した状態を示す図。
【
図12】8個の量子ビットの第4行を対象行として選択した状態を示す図。
【
図13】第2実施形態の処理をした後の実効的なハミルトニアンを示す図。
【
図14】第3実施形態の複数の量子ビットのハミルトニアンを示す図。
【
図15】第3実施形態に係る操作部の処理の流れを示す図。
【
図16】12個の量子ビットの第2行を対象行として選択した状態を示す図。
【
図17】12個の量子ビットの第3行を対象行として選択した状態を示す図。
【
図18】12個の量子ビットの第4行を対象行として選択した状態を示す図。
【
図19】第3実施形態の処理をした後の実効的なハミルトニアンを示す図。
【
図20】第4実施形態の複数の量子ビットのハミルトニアンを示す図。
【
図21】第4実施形態に係る操作部による操作例を示す図。
【
図22】第4実施形態に係る操作部による変換後のハミルトニアンを示す図。
【
図23】第4実施形態の複数の量子ビットのハミルトニアンを示す図。
【
図24】第4実施形態の変形例に係る操作部による操作例を示す図。
【
図25】第5実施形態における、ハミルトニアンの変換例を示す図。
【
図26】第5実施形態に係る量子アニーリング装置の処理の流れを示す図。
【
図27】操作部によるS75の3体間相互作用への変形操作の内容を示す図。
【
図28】第6実施形態の複数の量子ビットのハミルトニアンを示す図。
【
図29】第6実施形態に係る操作部による操作例を示す図。
【
図31】第6実施形態に係る操作部による変換後のハミルトニアンを示す図。
【
図32】第7実施形態に係る量子演算部の構造を示す図。
【
図33】第7実施形態に係る量子演算部に含まれるメモリセルの配置を示す図。
【
図34】第8実施形態に係る量子演算部の一部分の構造例を示す図。
【
図35】第8実施形態に係る量子演算部の他の構造例を示す図。
【発明を実施するための形態】
【0012】
以下に、実施形態に係る量子アニーリング装置10について説明する。なお、以下の実施形態では、同一の参照符号を付した部分は略同一の部材または操作を表し、相違点を除き重複する説明を省略する。
【0013】
(前提)
本実施形態において、iは、虚数単位を表す。本実施形態において、j、k、l、mは、量子ビットのインデックスを表す。
【0014】
物理系システムは、下記の式(11)に示すように時間発展する。|Ψ(0)>は、時刻t=0の物理系システムの波動関数である。|Ψ(t)>は、t時間後の物理系システムの波動関数である。なお、Hは、ハミルトニアンである。
【数3】
【0015】
つぎに、物理系システムに対して、外部からパルス等を印加する操作をした場合のハミルトニアンの変化について考える。時刻t=0のハミルトニアン(初期ハミルトニアン)を、H
iniとする。操作により物理系システムに与えられるハミルトニアン(操作ハミルトニアン)を、H
OPとする。時間τ
OPの期間、物理系システムに対して操作を印加した場合、物理系システムの実効的なハミルトニアンH
effは、下記の式(12)のように表される。
【数4】
【0016】
式(12)は、Hiniで表される物理系システムに対して、Hopに相当する操作を、符号を反転させて2回適用したことを表している。このように、物理系システムに対して外部からパルス等を印加する操作をした場合、物理系システムのハミルトニアンを初期の状態から変化させることができる。本実施形態においては、このような操作を用いて、物理系システムのハミルトニアンを変化させる。
【0017】
また、本実施形態においては、記載を簡略化するため、パウリ行列を下記のように表す。
σX
j→Xj
σY
j→Yj
σZ
j→Zj
【0018】
Xjは、インデックスjの量子ビットのX軸の成分を表す行列である。Yjは、インデックスjの量子ビットのY軸の成分を表す行列である。Zjは、インデックスjの量子ビットのZ軸の成分を表す行列である。
【0019】
また、下記の式(13)の関係式が成り立つ。
【数5】
【0020】
ここで、H
OP=J
jkZ
jZ
kとし、τ
OP=θ/J
jkとし、H
ini=Y
jとする。そして、インデックスjの量子ビットのY軸の成分(Y
j)に対して、インデックスjの量子ビットとインデックスkの量子ビットとの間の相互作用(J
jkZ
jZ
k)を、時間(θ/J
jk)の間、外部から印加したとする。この場合、式(12)は、式(13)の関係式を利用することにより、下記の式(14)のように表すことができる。
【数6】
【0021】
特に、θ=π/4=45度とした場合、下記の式(15)が成り立つ。
【数7】
【0022】
また、下記の式(17)の関係式が成り立つ。
【数8】
【0023】
ここで、H
OP=J
jkZ
jZ
kとし、τ
OP=θ/J
jkとし、H
ini=X
jとする。そして、インデックスjの量子ビットのX軸の成分(X
j)に対して、インデックスjの量子ビットとインデックスkの量子ビットとの間の相互作用(J
jkZ
jZ
k)を、時間(θ/J
jk)の間、外部から印加したとする。この場合、式(12)は、式(17)の関係式を利用することにより、下記の式(18)のように表すことができる。
【数9】
【0024】
特に、θ=π/4=45度とした場合(つまり式(18)で2θ=90度)、下記の式(19)が成り立つ。
【数10】
【0025】
以下に説明する各実施形態に係る量子アニーリング装置10では、量子ビットに対して外部からパルス等を印加する操作をすることにより、式(15)または式(19)に示す関係式に示すようにハミルトニアンを実効的に変化させる。
【0026】
(第1実施形態)
第1実施形態に係る量子アニーリング装置10は、2体の量子ビットの相互作用を4体の量子ビットの相互作用に変換して、量子演算を実行する。
【0027】
図1は、量子アニーリング装置10の全体構成を示す図である。量子アニーリング装置10は、量子演算部20と、設定部22と、入力部24と、操作部30と、出力部32とを備える。
【0028】
量子演算部20は、複数の量子ビットを含む。量子ビットは、どのような方法で実現されてもよい。例えば、量子ビットは、超伝導素子を用いて実現されてもよいし、半導体素子を用いて実現されてもよいし、分子アレイを用いて実現されもよい。
【0029】
本実施形態においては、量子演算部20は、複数の量子ビットとして、複数のメモリセルを含む。複数のメモリセルのそれぞれは、キャパシタンス接合によるクーロン相互作用により他のメモリセルと結合する。複数のメモリセルのそれぞれは、例えば、半導体フローティングゲート構造を含む。また、本実施形態において、量子演算部20は、マトリクス状(格子状)に2次元配列された複数の量子ビットを備える。
【0030】
また、量子演算部20に含まれる複数の量子ビットは、初期ハミルトニアンに従って結合されている。初期ハミルトニアンに従って結合がされた2つの量子ビットは、相互作用に応じて互いの成分が変化する。
【0031】
また、複数の量子ビットのそれぞれは、外部から印加されるパルス等の操作によって、成分が回転可能となっている。例えば、複数の量子ビットのそれぞれは、外部から印加された操作によって、成分を、X軸周り、Y軸周りおよびZ軸周りに指定された角度分回転させることができる。
【0032】
また、量子演算部20は、複数の量子ビットのうち、特定の2つの量子ビットの相互作用を、外部からの操作に応じて調整可能となっている。例えば、量子演算部20は、特定の2つの量子ビットの相互作用をオンしたりオフしたりする制御用量子ビットを含む。量子演算部20は、相互作用を調整可能な2つの量子ビットを複数組含んでよい。このような制御用量子ビットは、例えば、非特許文献5等に記載されている。なお、外部からの操作に応じて相互作用が調整可能な2つの量子ビットは、初期ハミルトニアンによる結合はされていない。また、量子演算部20は、初期ハミルトニアンによる結合がされておらず、且つ、外部からの操作に応じて相互作用が調整されない2つの量子ビットの間は、相互作用が生じない。
【0033】
設定部22は、初期ハミルトニアンの定義情報を予め受け取る。設定部22は、初期ハミルトニアンの定義情報に従って、量子演算部20に含まれる複数の量子ビットの結合関係を変更する。なお、初期ハミルトニアンが量子演算部20に構造的に組み込まれており、後から結合関係を変更できない場合には、量子アニーリング装置10は、設定部22を備えない構成であってもよい。
【0034】
入力部24は、外部からデータを受け取る。入力部24は、受け取ったデータを量子演算部20に含まれる指定された量子ビットに記憶させる。入力部24は、受け取ったデータが0または1のデジタル値である場合、対応する量子ビットの成分を|0>または|1>の状態とする。
【0035】
操作部30は、操作ハミルトニアンの定義情報を予め受け取る。操作部30は、量子演算部20の演算中に、定義情報により特定される量子ビット、および、定義情報により特定される2つの量子ビットの組に対して、定義情報に応じた操作を印加する。
【0036】
出力部32は、量子演算部20による演算が終了した後、量子演算部20に含まれる複数の量子ビットからZ軸の成分を取得する。そして、出力部32は、取得した複数の量子ビットのZ軸成分を-1または+1に2値化して出力する。
【0037】
図2は、第1実施形態における、選択された4つの量子ビットのハミルトニアン、および、操作後の実効的なハミルトニアンを示す図である。
【0038】
なお、本実施形態において、量子ビットは、図中において丸印で示す。また、2つの丸印の間を結ぶ二重線は、量子演算部20に設定されている初期ハミルトニアンに従った結合がされた2つの量子ビットの関係を示す。また、2つの丸印の間を結ぶ点線は、操作部30が外部から操作をして相互作用を加えることが可能な2つの量子ビットの関係を示す。また、複数の丸印を接続する直線は、操作をした結果、実効的に相互関係が形成された複数の量子ビットの関係を示す。
【0039】
量子演算部20による演算時において、操作部30は、量子演算部20に含まれる複数の量子ビットの中から、第1量子ビット41、第2量子ビット42、第3量子ビット43および第4量子ビット44を含むセットを選択する。
【0040】
第2量子ビット42および第3量子ビット43は、初期ハミルトニアンにより設定された強さで、結合されている。
【0041】
第1量子ビット41は、第2量子ビット42および第3量子ビット43と結合されていない。しかし、第1量子ビット41は、第2量子ビット42と例えば制御用量子ビットを介して接続されており、外部からの操作に応じて第2量子ビット42との間で相互作用を調整可能となっている。
【0042】
第4量子ビット44は、第2量子ビット42および第3量子ビット43と結合されていない。しかし、第4量子ビット44は、第3量子ビット43と例えば制御用量子ビットを介して接続されており、外部からの操作に応じて第3量子ビット43との間で相互作用を調整可能となっている。
【0043】
操作部30は、選択した第1量子ビット41、第2量子ビット42、第3量子ビット43および第4量子ビット44に対して、外部からパルス等を印加することにより、操作ハミルトニアンHOPに応じた操作をする。これにより、操作部30は、選択した第1量子ビット41、第2量子ビット42、第3量子ビット43および第4量子ビット44を、Heff=Z1Z2Z3Z4で表される実効的なハミルトニアンに従って相互作用させることができる。
【0044】
このように第1実施形態に係る量子アニーリング装置10は、2体の量子ビットの相互作用を含む初期ハミルトニアンを、4体の量子ビットの相互作用を含む実効的なハミルトニアンに変化させる。
【0045】
図3は、第1実施形態に係る量子アニーリング装置10の処理の流れを示すフローチャートである。第1実施形態に係る量子アニーリング装置10は、
図3に示す流れで処理を実行する。
【0046】
まず、S11において、操作部30は、量子演算部20に含まれる複数の量子ビットの全てを初期化する。続いて、S12において、入力部24は、外部からデータを受け取り、受け取ったデータに応じて量子演算部20に含まれる複数の量子ビットの状態を設定する。続いて、S13において、量子演算部20は、複数の量子ビットに対して、予め設定された初期ハミルトニアンに従った結合の相互作用を機能させる。
【0047】
続いて、S14において、操作部30は、量子演算部20に含まれる複数の量子ビットの中から、4体間相互作用させる4つの量子ビットを選択する。すなわち、量子演算部20は、
図2の関係を有する4つの量子ビット(第1量子ビット41、第2量子ビット42、第3量子ビット43および第4量子ビット44)を含むセットを選択する。
【0048】
続いて、S15において、操作部30は、選択したセットに対して、4体間相互作用への変形操作を実行する。変形操作の詳細については、
図4以降でさらに説明する。
【0049】
続いて、S16において、操作部30は、量子演算部20に含まれる複数の量子ビットの中に、変形操作を実行しなければならない次のセットが存在するか否かを判断する。次のセットが存在する場合(S16のYes)、操作部30は、処理をS14に戻して、次のセットを選択する。次のセットが存在しない場合(S16のNo)、操作部30は、処理をS17に進める。
【0050】
S17において、出力部32は、量子演算部20に含まれる複数の量子ビットのそれぞれからZ軸の成分を取得する。そして、出力部32は、取得した複数の量子ビットのそれぞれのZ軸成分を-1または+1に2値化して出力する。
【0051】
第1実施形態に係る量子アニーリング装置10は、S17の処理を終えると、本フローを終了する。
【0052】
図4は、操作部30によるS15の4体間相互作用への変形操作の内容を示す図である。
【0053】
操作部30は、S15の4体間相互作用への変形操作として、第1回転操作(S21)、相互作用操作(S22)および第2回転操作(S23)を実行する。
【0054】
第1回転操作(S21)において、操作部30は、第2量子ビット42および第3量子ビット43のそれぞれに対して、第1軸周りの90度の回転操作をする。
【0055】
ここで、第1軸は、Z軸に対して直交する軸である。また、第2軸は、Z軸に対して直交し、且つ、第1軸に直交する軸である。
【0056】
例えば、第1軸は、X軸である。第1軸がX軸である場合、第2軸は、Y軸である。また、例えば、第1軸は、Y軸である。第1軸がY軸である場合、第2軸は、X軸である。
【0057】
第1回転操作(S21)を実行することにより、第2量子ビット42および第3量子ビット43のZ軸の成分は、第2軸の成分となる。例えば、第1回転操作(S21)において、操作部30がX軸周りに90度の回転操作をした場合には、第2量子ビット42および第3量子ビット43のZ軸の成分は、Y軸の成分となる。また、例えば、第1回転操作(S21)において、操作部30がY軸周りに90度の回転操作をした場合には、第2量子ビット42および第3量子ビット43のZ軸の成分は、X軸の成分となる。
【0058】
相互作用操作(S22)において、操作部30は、第1量子ビット41と第2量子ビット42の間の制御用量子ビット等を制御して、第1量子ビット41と第2量子ビット42とを相互作用させる。これと同時に、操作部30は、第3量子ビット43と第4量子ビット44の間の制御用量子ビット等を制御して、第3量子ビット43と第4量子ビット44とを相互作用させる。
【0059】
ここで、第1量子ビット41と第2量子ビット42との間の相互作用パラメータがJ12であるとする。この場合、操作部30は、時間τOP(=π/4J12)の間、第1量子ビット41と第2量子ビット42とを相互作用させる。これにより、操作部30は、第1量子ビット41と第2量子ビット42との間の相互作用を、上述した式(15)または式(19)に示した関係式を満たすように変換することができる。
【0060】
また、第3量子ビット43と第4量子ビット44との間の相互作用パラメータがJ34であるとする。この場合、操作部30は、時間τOP(=π/4J34)の間、第3量子ビット43と第4量子ビット44とを相互作用させる。これにより、操作部30は、第3量子ビット43と第4量子ビット44との間の相互作用を、上述した式(15)または式(19)に示した関係式を満たすように変換することができる。
【0061】
第2回転操作(S23)において、操作部30は、第2量子ビット42および第3量子ビット43のそれぞれに対して、第2軸周りの90度の回転操作をする。
【0062】
第2回転操作(S23)を実行することにより、第2量子ビット42および第3量子ビット43の第1軸の成分は、Z軸の成分となる。また、例えば、第2回転操作(S23)において、操作部30がY軸周りに90度の回転操作をした場合には、第2量子ビット42および第3量子ビット43のX軸の成分は、Z軸の成分となる。例えば、第2回転操作(S23)において、操作部30がX軸周りに90度の回転操作をした場合には、第2量子ビット42および第3量子ビット43のY軸の成分は、Z軸の成分となる。
【0063】
図5は、第1回転操作(S21)においてX軸周りの回転操作をし、第2回転操作(S23)においてY軸周りの回転操作をした場合の相互作用の変化を示す図である。
【0064】
第1回転操作(S21)において、操作部30は、第2量子ビット42および第3量子ビット43のそれぞれに対して、X軸周りに90度の回転操作をする。この結果、第2量子ビット42のZ軸の成分(Z2)は、Y軸の成分(Y2)に変換される。また、第3量子ビット43のZ軸の成分(Z3)は、Y軸の成分(Y3)に変換される。
【0065】
相互作用操作(S22)において、操作部30は、時間τOP(=π/4J12)の間パルス等を印加する操作を行い、第1量子ビット41と第2量子ビット42とを相互作用させる。この結果、第2量子ビット42のY軸の成分(Y2)は、第1量子ビット41のZ軸の成分(Z1)と、第2量子ビット42のX軸の成分(X2)との相互作用に変換される。
【0066】
また、相互作用操作(S22)において、操作部30は、時間τOP(=π/4J34)の間パルス等を印加する操作を行い、第3量子ビット43と第4量子ビット44とを相互作用させる。この結果、第3量子ビット43のY軸の成分(Y3)は、第4量子ビット44のZ軸の成分(Z4)と、第3量子ビット43のX軸の成分(X3)との相互作用に変換される。
【0067】
第2回転操作(S23)において、操作部30は、第2量子ビット42および第3量子ビット43のそれぞれに対して、Y軸周りに90度の回転操作をする。この結果、第2量子ビット42のX軸の成分(X2)は、Z軸の成分(Z2)に変換される。また、第3量子ビット43のX軸の成分(X3)は、Z軸の成分(Z3)に変換される。
【0068】
以上のような操作を実行することにより、操作部30は、2体の量子ビットの相互作用(Z2Z3)を、実効的に4体の量子ビットの相互作用(Z1Z2Z3Z4)に変換することができる。
【0069】
図6は、第1回転操作(S21)においてY軸周りの回転操作をし、第2回転操作(S23)においてX軸周りの回転操作をした場合の相互作用の変化を示す図である。
【0070】
第1回転操作(S21)において、操作部30は、第2量子ビット42および第3量子ビット43のそれぞれに対して、Y軸周りに90度の回転操作をする。この結果、第2量子ビット42のZ軸の成分(Z2)は、X軸の成分(X2)に変換される。また、第3量子ビット43のZ軸の成分(Z3)は、X軸の成分(X3)に変換される。
【0071】
相互作用操作(S22)において、操作部30は、時間τOP(=π/4J12)の間パルス等を印加する操作を行い、第1量子ビット41と第2量子ビット42とを、相互作用させる。この結果、第2量子ビット42のX軸の成分(X2)は、第1量子ビット41のZ軸の成分(Z1)と、第2量子ビット42のY軸の成分(Y2)との相互作用に変換される。
【0072】
また、相互作用操作(S22)において、操作部30は、時間τOP(=π/4J34)の間パルス等を印加する操作を行い、第3量子ビット43と第4量子ビット44とを相互作用させる。この結果、第3量子ビット43のX軸の成分(X3)は、第4量子ビット44のZ軸の成分(Z4)と、第3量子ビット43のY軸の成分(Y3)との相互作用に変換される。
【0073】
第2回転操作(S23)において、操作部30は、第2量子ビット42および第3量子ビット43のそれぞれに対して、X軸周りに90度の回転操作をする。この結果、第2量子ビット42のY軸の成分(Y2)は、Z軸の成分(Z2)に変換される。また、第3量子ビット43のY軸の成分(Y3)は、Z軸の成分(Z3)に変換される。
【0074】
以上のような操作を実行することにより、操作部30は、2体の量子ビットの相互作用(Z2Z3)を、実効的に4体の量子ビットの相互作用(Z1Z2Z3Z4)に変換することができる。
【0075】
図7は、操作部30による時系列の操作例を示すフローチャートである。
【0076】
操作部30は、第1回転操作(S21)、相互作用操作(S22)および第2回転操作(S23)をする場合、第2量子ビット42と第3量子ビット43との初期ハミルトニアンに従った結合を相互作用させる前後に、パルス等を印加する。この操作を数式で表すと、下記の式(21)に示すようになる。
【数11】
【0077】
式(21)において、R2,3
α(θ)は、第2量子ビット42および第3量子ビット43を、α軸周りにθ°回転させることを表す。なお、αは、XまたはYである。
【0078】
式(21)に対応する操作を実行する場合、操作部30は、式(21)の右側の部分式から左側の部分式に向かって順次に実行する。具体的には、操作部30は、
図7のS41~S47の処理を時系列に実行する。
【0079】
まず、S41において、操作部30は、第2量子ビット42および第3量子ビット43のそれぞれに対して、X軸周りに-45°回転させるパルスを印加する。このS41の処理は、第1回転操作(S21)の処理の一部に該当する。S41を実行することにより、操作部30は、下記の式(31)の部分式に対応する処理を実行することができる。
Rx
2,3(-45°)…(31)
【0080】
続いて、S42において、操作部30は、(τJ=π/(4J))時間分、第1量子ビット41と第2量子ビット42との間の相互作用をオンする。さらに、S42において、操作部30は、(τJ=π/(4J))時間分、第3量子ビット43と第4量子ビット44との間の相互作用をオンする。このS42の処理は、相互作用操作(S22)の処理の一部に該当する。S42を実行することにより、操作部30は、下記の式(32)の部分式に対応する処理を実行することができる。
exp(-iτJ[Z1Z2+Z3Z4])…(32)
【0081】
続いて、S43において、操作部30は、第2量子ビット42および第3量子ビット43のそれぞれに対して、Y軸周りに-90°回転させるパルスを印加する。このS43の処理は、第2回転操作(S23)の処理の一部に該当する。S43を実行することにより、操作部30は、下記の式(33)の部分式に対応する処理を実行することができる。
RY
2,3(-45°)…(33)
【0082】
続いて、S44において、操作部30は、t時間分、第2量子ビット42と第3量子ビット43との間の初期ハミルトニアンに従った結合の相互作用をオンする。このS44の処理は、初期ハミルトニアンに従った結合の相互作用(S13)の処理に該当する。S44を実行することにより、操作部30は、下記の式(34)の部分式に対応する処理を実行することができる。
exp(-itZ2Z3)…(34)
【0083】
続いて、S45において、操作部30は、第2量子ビット42および第3量子ビット43のそれぞれに対して、Y軸周りに90°回転させるパルスを印加する。このS45の処理は、第2回転操作(S23)の処理の一部に該当する。S45を実行することにより、操作部30は、下記の式(35)の部分式に対応する処理を実行することができる。
RY
2,3(45°)…(35)
【0084】
続いて、S46において、操作部30は、X軸周りに-180度回転させて、(τJ=π/(4J))時間分、第1量子ビット41と第2量子ビット42との間の相互作用をオンする。さらに、操作部30は、X軸周りに-180度回転させて、(τJ=π/(4J))時間分、第3量子ビット43と第4量子ビット44との間の相互作用をオンする。このS46の処理は、相互作用操作(S22)の処理の一部に該当する。S46を実行することにより、操作部30は、下記の式(36)の部分式に対応する処理を実行することができる。
RX
2,3(-90°)exp(-iτJ[Z1Z2+Z3Z4])RX
2,3(90°)…(36)
【0085】
続いて、S47において、操作部30は、第2量子ビット42および第3量子ビット43のそれぞれに対して、X軸周りに90°回転させるパルスを印加する。このS47の処理は、第1回転操作(S21)の処理の一部に該当する。S47を実行することにより、操作部30は、下記の式(37)の部分式に対応する処理を実行することができる。
Rx
2,3(45°)…(37)
【0086】
以上の処理を時系列に実行することにより、操作部30は、量子演算部20に対して、第1回転操作(S21)、相互作用操作(S22)および第2回転操作(S23)の操作を実行することができる。
【0087】
なお、式(21)の式において、最も左側の2つの部分式である、R
x
2,3(45°)およびR
X
2,3(-90°)は、両者ともX軸周りの回転の操作により実行される。そこで、操作部30は、これらの2つの部分式を合成した下記の式(22)に示す操作を実行してもよい。
【数12】
【0088】
以上のように、第1実施形態に係る量子アニーリング装置10は、2体の量子ビットの相互作用を含む初期ハミルトニアンを、4体の量子ビットの相互作用を含む実効的なハミルトニアンに変形して、量子演算を実行する。これにより、量子アニーリング装置10によれば、様々なハミルトニアンを用いた最適化演算を容易に実行することができる。
【0089】
(第2実施形態)
第2実施形態に係る量子アニーリング装置10は、マトリクス状に配置された複数の量子ビットの中の、2体の量子ビットの相互作用(Z2Z3)を、実効的に4体の量子ビットの相互作用(Z1Z2Z3Z4)に変換する。
【0090】
図8は、第2実施形態に係る量子アニーリング装置10の量子演算部20に含まれる複数の量子ビットを示す図である。
【0091】
第2実施形態に係る量子アニーリング装置10の量子演算部20は、例えば、
図8に示すようにマトリクス状に配置される。
図8の例では、量子演算部20は、4行×2列のマトリクス状に配置された8個の量子ビットを含む。
【0092】
第2実施形態において、量子演算部20は、列方向に隣接する量子ビットを結合していない。また、量子演算部20は、所定の開始行(例えば、
図8の第1行)に配置された量子ビットを他の量子ビットと結合していない。しかし、量子演算部20は、開始行を除く行(例えば、
図8の第2行、第3行および第4行)に配置された行方向に隣接する2つの量子ビットを、初期ハミルトニアンにより設定された強さで結合している。量子演算部20は、列方向に隣接する量子ビットの間の相互作用を外部からの操作に応じて調整可能となっている。例えば、量子演算部20は、列方向に隣接する2つの量子ビットの間のそれぞれに、制御用量子ビットを含む。
【0093】
図9は、第2実施形態に係る量子アニーリング装置10における操作部30の処理の流れを示すフローチャートである。
【0094】
まず、対象行選択処理(S51)において、操作部30は、複数の量子ビットが配置されたマトリクスにおける1つの行を選択する。1回目の対象行選択処理(S51)では、操作部30は、開始行に隣接する行を対象行として選択する。2回目以降の対象行選択処理(S51)では、操作部30は、直前の対象行に隣接する行であって、これまでに対象行として選択されていない行を、対象行として選択する。
【0095】
続いて、選択処理(S52)において、操作部30は、第1量子ビット41、第2量子ビット42、第3量子ビット43および第4量子ビット44を含むセットを選択する。
【0096】
より具体的には、操作部30は、第2量子ビット42および第3量子ビット43として、対象行に含まれている、初期ハミルトニアン従って行方向に結合された2つの量子ビットを選択する(S52-1)。
【0097】
続いて、操作部30は、第1量子ビット41として、直前に選択された対象行に含まれており、第2量子ビット42に対して列方向に隣接した量子ビットを選択する(S52-2)。なお、1回目の選択処理(S52)である場合には、操作部30は、第1量子ビット41として、開始行に含まれており、第2量子ビット42に対して列方向に隣接した量子ビットを選択する(S52-1)。
【0098】
続いて、操作部30は、第4量子ビット44として、直前に選択された対象行に含まれており、第3量子ビット43に対して列方向に隣接した量子ビットを選択する(S52-3)。なお、1回目の選択処理(S52)である場合には、操作部30は、第1量子ビット41として、開始行に含まれており、第3量子ビット43に対して列方向に隣接した量子ビットを選択する(S52-3)。
【0099】
続いて、変形操作処理(S53)において、操作部30は、選択したセットについて、第1回転操作(S21)、相互作用操作(S22)および第2回転操作(S23)を実行する。
【0100】
続いて、操作部30は、次に選択可能な行が存在するか否かを判断する(S54)。例えば、操作部30は、対象行として選択がされておらず、もし対象行として選択した場合に、第1量子ビット41、第2量子ビット42、第3量子ビット43および第4量子ビット44を含むセットを選択可能な行が存在するか否かを判断する。
【0101】
次に選択可能な行が存在する場合(S54のYes)、操作部30は、処理をS51に戻し、S51から処理を繰り返す。次に選択可能な行が存在しない場合(S54のNo)、操作部30は、本フローの処理を終了する。
【0102】
このように、第2実施形態に係る操作部30は、複数の量子ビットがマトリクス状に配置されている場合、対象行選択処理(S51)を実行する毎に、選択処理(S52)および変形操作処理(S53)を実行する。すなわち、操作部30は、対象行を選択する毎に、選択処理(S52)、第1回転操作(S21)、相互作用操作(S22)および第2回転操作(S23)を実行する。
【0103】
以下、
図10から
図14を参照して、4行×2列のマトリクス状に配置された8個の量子ビットに対して第2実施形態に係る処理を実行した場合の具体例について説明する。
【0104】
図10は、4行×2列のマトリクス状に配置された8個の量子ビットの第2行を対象行として選択した状態の選択例を示す図である。
【0105】
操作部30は、まず、開始行である第1行に隣接する第2行を対象行として選択する。この場合、操作部30は、
図10に示すような量子ビットを含むセットを選択する。
【0106】
図11は、4行×2列のマトリクス状に配置された8個の量子ビットの第3行を対象行として選択した状態の選択例を示す図である。
【0107】
操作部30は、第2行を対象行として選択したセットに対して4体相互作用の変換処理を実行する。これにより、第2行を対象行として選択されたセットのハミルトニアンは、
図11に示すように、実効的に4体が結合されたハミルトニアンに変換される。
【0108】
操作部30は、第2行を対象行とした後、第3行を対象行として選択する。この場合、操作部30は、
図11に示すような量子ビットを含むセットを選択する。
【0109】
図12は、4行×2列のマトリクス状に配置された8個の量子ビットの第4行を対象行として選択した状態の選択例を示す図である。
【0110】
操作部30は、第3行を対象行として選択したセットに対して4体相互作用の変換処理を実行する。これにより、第3行を対象行として選択されたセットのハミルトニアンは、
図12に示すように、実効的に4体が結合されたハミルトニアンに変換される。
【0111】
操作部30は、第3行を対象行とした後、第4行を対象行として選択する。この場合、操作部30は、
図12に示すような量子ビットを含むセットを選択する。
【0112】
図13は、4行×2列のマトリクス状に配置された8個の量子ビットに対して第2実施形態の処理をした後の実効的なハミルトニアンを示す図である。
【0113】
操作部30は、第3行を対象行として選択したセットに対して4体相互作用の変換処理を実行する。これにより、第4行を対象行として選択されたセットのハミルトニアンは、
図13に示すように、実効的に4体が結合されたハミルトニアンに変換される。
【0114】
以上のように第2実施形態に係る量子アニーリング装置10によれば、マトリクス状に配置された複数の量子ビットに含まれる複数のセットの2体の量子ビットの相互作用(Z2Z3)のそれぞれを、実効的に4体の量子ビットの相互作用(Z1Z2Z3Z4)に変換することができる。
【0115】
(第3実施形態)
第3実施形態に係る量子アニーリング装置10は、3列以上を含むマトリクス状に配置された複数の量子ビットの中の、2体の量子ビットの相互作用(Z2Z3)を、実効的に4体の量子ビットの相互作用(Z1Z2Z3Z4)に変換する。
【0116】
図14は、第3実施形態に係る量子アニーリング装置10の量子演算部20に含まれる複数の量子ビットを示す図である。
【0117】
第3実施形態に係る量子アニーリング装置10の量子演算部20は、例えば、
図14に示すようにマトリクス状に配置される。
図14の例では、量子演算部20は、4行×3列のマトリクス状に配置された12個の量子ビットを含む。なお、第3実施形態に係る複数の量子ビットは、1つの行に3以上の量子ビットを含むマトリクス状に配置されている点で、第2実施形態と異なる。
【0118】
なお、第3実施形態において、量子演算部20は、第2実施形態と同様の条件で、量子ビットを結合している。
【0119】
図15は、第3実施形態に係る量子アニーリング装置10における操作部30の処理の流れを示すフローチャートである。なお、第3実施形態の操作部30の処理は、第2実施形態と略同一なので、同一の処理については同一のステップ番号を付けて詳細な説明を省略する。
【0120】
第3実施形態に係る操作部30は、対象行選択処理(S51)に続いて、セット選択処理(S61)を実行する。セット選択処理(S61)において、操作部30は、1または複数のセットを選択する。
【0121】
例えば、操作部30は、選択処理(S52)を1回実行した後、S62において、次に選択可能なセットが存在するか否かを判断する。例えば、操作部30は、対象行に、まだセットとして選択していない、行方向に連結された2つの量子ビットが存在するか否かを判断する。次に選択可能なセットが存在する場合(S62のYes)、操作部30は、処理をS52に戻し、S52の処理を繰り返す。次に選択可能なセットが存在しない場合(S62のNo)、操作部30は、処理を変形操作処理(S53)に進める。これにより、操作部30は、対象行を選択する毎に、複数のセットを選択することができる。
【0122】
続いて、変形操作処理(S53)において、操作部30は、選択した全てのセットについて、同時に、第1回転操作(S21)、相互作用操作(S22)および第2回転操作(S23)を実行する。より具体的には、操作部30は、選択した複数のセットについて第1回転操作(S21)を同時に実行する。また、操作部30は、選択した複数のセットについて相互作用操作(S22)を同時に実行する。また、操作部30は、選択した複数のセットについて第2回転操作(S23)を同時に実行する。
【0123】
このように、第3実施形態に係る操作部30は、複数の量子ビットがマトリクス状に配置されている場合、対象行選択処理(S51)を実行する毎に、選択処理(S52)および変形操作処理(S53)を実行する。さらに、第3実施形態に係る操作部30は、対象行について複数のセットを選択した場合には、選択した複数のセットに対して変形操作処理(S53)を同時に実行する。
【0124】
つぎに、4行×3列のマトリクス状に配置された12個の量子ビットに対して
図15に示したフローに従って処理を実行した場合の具体例について、
図16から
図19を参照して説明する。
【0125】
図16は、4行×3列のマトリクス状に配置された12個の量子ビットの第2行を対象行として選択した状態の選択例を示す図である。
【0126】
操作部30は、まず、開始行に隣接する第2行を対象行として選択する。この場合、操作部30は、
図16に示すような2つのセットを選択する。
【0127】
ここで、あるセットの第1量子ビット41が、他のセットの第4量子ビット44と同一である場合がある。しかし、操作部30は、第1回転操作(S21)を、複数のセットに対して同時に実行する。従って、操作部30は、その同一の量子ビット対して、第1回転操作(S21)を、2回実行しないようにすることができる。また、操作部30は、第2回転操作(S23)を、複数のセットに対して同時に実行する。従って、操作部30は、その同一の量子ビット対して、第2回転操作(S23)を、2回実行しないようにすることができる。
【0128】
また、あるセットの第1量子ビット41および第2量子ビット42の組は、他のセットの第3量子ビット43および第4量子ビット44の組と同一である場合がある。しかし、操作部30は、相互作用操作(S22)を、複数のセットに対して同時に実行する。従って、操作部30は、その同一の量子ビットの組に対して、相互作用操作(S22)を、2回実行しないようにすることができる。
【0129】
図17は、4行×3列のマトリクス状に配置された12個の量子ビットの第3行を対象行として選択した状態の選択例を示す図である。
【0130】
操作部30は、第2行を対象行として選択した2つのセットに対して同時に4体相互作用の変換処理を実行する。これにより、第2行を対象行として選択された2つのセットのそれぞれのハミルトニアンは、
図17に示すように、実効的に4体が結合されたハミルトニアンに変換される。
【0131】
操作部30は、第2行を対象行とした後、第3行を対象行として選択する。この場合、操作部30は、
図17に示すような2つのセットを選択する。
【0132】
図18は、4行×3列のマトリクス状に配置された12個の量子ビットの第4行を対象行として選択した状態の選択例を示す図である。
【0133】
操作部30は、第3行を対象行として選択した2つのセットに対して同時に4体相互作用の変換処理を実行する。これにより、第3行を対象行として選択された2つのセットのそれぞれのハミルトニアンは、
図18に示すように、実効的に4体が結合されたハミルトニアンに変換される。
【0134】
操作部30は、第3行を対象行とした後、第4行を対象行として選択する。この場合、操作部30は、
図18に示すような2つのセットを選択する。
【0135】
図19は、4行×3列のマトリクス状に配置された12個の量子ビットに対して第3実施形態の処理をした後の実効的なハミルトニアンを示す図である。
【0136】
操作部30は、第4行を対象行として選択した2つのセットに対して同時に4体相互作用の変換処理を実行する。これにより、第4行を対象行として選択された2つのセットのそれぞれのハミルトニアンは、
図19に示すように、実効的に4体が結合されたハミルトニアンに変換される。
【0137】
以上のように第3実施形態に係る量子アニーリング装置10によれば、マトリクス状に配置された複数の量子ビットに対して、2体の量子ビットの相互作用(Z2Z3)を、実効的に4体の量子ビットの相互作用(Z1Z2Z3Z4)に変換することができる。さらに、第3実施形態に係る量子アニーリング装置10によれば、複数のセットに対する変形操作処理を同時に実行することができる。
【0138】
(第4実施形態)
第4実施形態に係る量子アニーリング装置10は、マトリクスにおける一部分に配置された複数の量子ビットの中の、2体の量子ビットの相互作用(Z2Z3)を、実効的に4体の量子ビットの相互作用(Z1Z2Z3Z4)に変換する。
【0139】
図20は、第4実施形態に係る量子アニーリング装置10の量子演算部20に含まれる複数の量子ビットのハミルトニアンを示す図である。
【0140】
第4実施形態に係る量子アニーリング装置10の量子演算部20は、例えば、
図20に示すように、マトリクスにおける1つの頂点を含む三角形領域を除く範囲に配置された複数の量子ビットを含む。
【0141】
図20の量子ビットの配置は、非特許文献1に記載された量子ビットの配置に対応する。具体的には、
図20のマトリクスは、第a行、第b行、第c行、第d行および第e行の5行を含む。また、
図20のマトリクスは、第1列、第2列、第3列、第4列および第5列の5列を含む。
【0142】
さらに、
図20の例では、複数の量子ビットは、5行×5列のマトリクスのうち、1つの頂点を含む三角形領域(底辺3個、高さ3個の三角形領域)を除く範囲に配置される。より具体的には、複数の量子ビットは、第e行×第3列、第e行×第4列、第e行×第5列、第d行×第4列、第d行×第5列、第c行×第5列を除く範囲に配置される。
【0143】
また、
図20に示す複数の量子ビットのうち、第e行×第2列、第d行×第3列、第c行×第4列および第b行×第5列に配置された4個の量子ビットは、固定値である。
【0144】
また、量子演算部20は、固定値の量子ビットと他の量子ビットとを結合していない。それ以外については、量子演算部20は、第2実施形態と同様の条件で、量子ビットを結合している。
【0145】
また、
図20に示す例では、第e行が開始行として設定されている。
【0146】
図21は、第4実施形態に係る操作部30による操作例を示す図である。第4実施形態において、操作部30は、例えば
図21に示す手順で処理を実行する。
【0147】
startにおいて、ハミルトニアン(Htgt)は、次のようになっている。
Htgt=Za1Za2+Za2Za3+Za3Za4+Za4Za5
+Zb1Zb2+Zb2Zb3+Zb3Zb4
+Zc1Zc2+Zc2Za3
+Zd1Zd2
【0148】
まず、step1において、操作部30は、第d行の量子ビットに対して第1回転操作(S21)を実行する。続いて、step2において、操作部30は、第e行の量子ビットと第d行との量子ビットの組に対して、相互作用操作(S22)を実行する。続いて、step3において、操作部30は、第d行の量子ビットに対して第2回転操作(S23)を実行する。
【0149】
さらに、step3において、操作部30は、第c行の量子ビットに対して第1回転操作(S21)も並行して実行する。続いて、step4において、操作部30は、第d行の量子ビットと第c行との量子ビットの組に対して相互作用操作(S22)を実行する。続いて、step5において、操作部30は、第c行の量子ビットに対して第2回転操作(S23)を実行する。
【0150】
さらに、step5において、操作部30は、第b行の量子ビットに対して第1回転操作(S21)も並行して実行する。続いて、step6において、操作部30は、第c行の量子ビットと第b行との量子ビットの組に対して相互作用操作(S22)を実行する。続いて、step7において、操作部30は、第b行の量子ビットに対して第2回転操作(S23)を実行する。
【0151】
さらに、step7において、操作部30は、第a行の量子ビットに対して第1回転操作(S21)も並行して実行する。続いて、step8において、操作部30は、第b行の量子ビットと第a行との量子ビットの組に対して相互作用操作(S22)を実行する。続いて、step9において、操作部30は、第a行の量子ビットに対して第2回転操作(S23)を実行する。
【0152】
図22は、
図20に示す初期ハミルトニアンを、
図21に示す手順で変換した後の実効的なハミルトニアンを示す図である。操作部30が
図21に示す手順で処理を実行した場合、実効的なハミルトニアンは、
図22に示すようになる。
【0153】
図22に示す実効的なハミルトニアンは、下記のように表される。
H
tgt=Z
a1Z
a2Z
b1Z
b2+Z
a2Z
a3Z
b2Z
b3+Z
a3Z
a4Z
b3Z
b4+Z
a4Z
a5Z
b4Z
b5
+Z
b1Z
b2Z
c1Z
c2+Z
b2Z
b3Z
c2Z
c3+Z
b3Z
b4Z
c3Z
c4
+Z
c1Z
c2Z
d1Z
d2+Z
c2Z
a3Z
d2Z
d3
+Z
d1Z
d2Z
e1Z
e2
【0154】
以上のように第4実施形態に係る量子アニーリング装置10によれば、マトリクスの一部分に配置された複数の量子ビットに対して、2体の量子ビットの相互作用(Z2Z3)を、実効的に4体の量子ビットの相互作用(Z1Z2Z3Z4)に変換することができる。さらに、第4実施形態に係る量子アニーリング装置10によれば、複数のセットに対する変形操作処理を同時に実行することができる。
【0155】
図23は、第4実施形態の変形例に係る、量子アニーリング装置10の量子演算部20に含まれる複数の量子ビットのハミルトニアンを示す図である。第4実施形態に係る量子アニーリング装置10の量子演算部20は、
図23に示すような初期ハミルトニアンが設定されていてもよい。
【0156】
図23に示す複数の量子ビットの配置は、
図20に示す量子ビットの配置と同一である。しかし、
図23に示す初期ハミルトニアンは、
図20に示す初期ハミルトニアンと構成が異なる。
【0157】
具体的には、変形例において、量子演算部20は、第c行に配置された量子ビットの行方向を結合していない。また、変形例において、量子演算部20は、第d行の3つの量子ビットを全て行方向に結合している。また、変形例において、量子演算部20は、第e行の2つの量子ビットを結合している。また、変形例において、量子演算部20は、第c行が開始行に設定されている。
【0158】
図24は、第4実施形態の変形例に係る操作部30による操作例を示す図である。第4実施形態の変形例において、操作部30は、例えば
図24に示す手順で処理を実行する。
【0159】
startにおいて、ハミルトニアン(Htgt)は、次のようになっている。
Htgt=Za1Za2+Za2Za3+Za3Za4+Za4Za5
+Zb1Zb2+Zb2Zb3+Zb3Zb4
+Zd1Zd2+Zd2Zd3
+Ze1Ze2
【0160】
まず、step1において、操作部30は、第b行の量子ビットおよび第d行の量子ビットに対して第1回転操作(S21)を実行する。
【0161】
続いて、step2において、操作部30は、第b行の量子ビットと第c行の量子ビットとの組に対して相互作用操作(S22)を実行する。これとともに、step2において、操作部30は、第c行の量子ビットと第d行の量子ビットとの組に対して相互作用操作(S22)を実行する。
【0162】
続いて、step3において、操作部30は、第b行の量子ビットおよび第d行の量子ビットに対して第2回転操作(S23)を実行する。これとともに、第step3において、操作部30は、第a行の量子ビットおよび第e行の量子ビットに対して第1回転操作(S21)を実行する。
【0163】
続いて、step4において、操作部30は、第a行の量子ビットと第b行の量子ビットとの組に対して相互作用操作(S22)を実行する。これとともに、step4において、操作部30は、第d行の量子ビットと第e行の量子ビットとの組に対して相互作用操作(S22)を実行する。
【0164】
続いて、step5において、操作部30は、第a行の量子ビットおよび第e行の量子ビットに対して第2回転操作(S23)を実行する。
【0165】
操作部30が
図24に示した手順で処理を実行した場合も、実効的なハミルトニアンは、
図22と同一となる。従って、操作部30は、
図23に示した初期ハミルトニアンを用いて変換処理を実行した場合、
図20に示した初期ハミルトニアンを用いる場合よりも、少ないステップ数で変換処理を実行することができる。
【0166】
(第5実施形態)
第5実施形態に係る量子アニーリング装置10は、2体の量子ビットの相互作用を含む初期ハミルトニアンを、3体の量子ビットの相互作用を含む実効的なハミルトニアンに変形して、量子演算を実行する。
【0167】
図25は、第5実施形態における、選択された3つの量子ビットの初期ハミルトニアン、および、操作後の実効的なハミルトニアンを示す図である。
【0168】
量子演算部20による演算時において、操作部30は、量子演算部20に含まれる複数の量子ビットの中から、第1量子ビット41、第2量子ビット42および第3量子ビット43を含むセットを選択する。
【0169】
第2量子ビット42および第3量子ビット43は、初期ハミルトニアンにより設定された強さで、結合されている。
【0170】
第1量子ビット41は、第2量子ビット42および第3量子ビット43とは結合されていない。しかし、第1量子ビット41は、第2量子ビット42と例えば制御用量子ビットを介して接続されており、外部からの操作に応じて第2量子ビット42との間で相互作用を調整可能となっている。
【0171】
操作部30は、選択した第1量子ビット41、第2量子ビット42および第3量子ビット43に対して、外部からパルス等を印加することにより、操作ハミルトニアンHOPに応じた操作をする。これにより、操作部30は、選択した第1量子ビット41、第2量子ビット42および第3量子ビット43を、Heff=Z1Z2Z3で表される実効的なハミルトニアンに従って相互作用させることができる。
【0172】
このように第5実施形態に係る量子アニーリング装置10は、2体の量子ビットの相互作用を含む初期ハミルトニアンを、3体の量子ビットの相互作用を含む実効的なハミルトニアンに変化させる。
【0173】
図26は、第5実施形態に係る量子アニーリング装置10の処理の流れを示すフローチャートである。第5実施形態に係る量子アニーリング装置10は、
図26に示す流れで処理を実行する。
【0174】
まず、S71において、操作部30は、量子演算部20に含まれる複数の量子ビットの全てを初期化する。続いて、S72において、入力部24は、外部からデータを受け取り、受け取ったデータに応じて量子演算部20に含まれる複数の量子ビットの状態を設定する。続いて、S73において、量子演算部20は、複数の量子ビットに対して、予め設定された初期ハミルトニアンに従った相互作用を機能させる。
【0175】
続いて、S74において、操作部30は、量子演算部20に含まれる複数の量子ビットの中から、外部から受け取った操作ハミルトニアンに応じて、3体間相互作用させる3つの量子ビットを選択する。すなわち、量子演算部20は、
図25の関係を有する3つの量子ビット(第1量子ビット41、第2量子ビット42および第3量子ビット43)を含むセットを選択する。
【0176】
続いて、S75において、操作部30は、選択したセットに対して、3体間相互作用への変形操作を実行する。変形操作の詳細については、
図27でさらに説明する。
【0177】
続いて、S76において、操作部30は、量子演算部20に含まれる複数の量子ビットの中に、変形操作を実行しなければならない次のセットが存在するか否かを判断する。次のセットが存在する場合(S76のYes)、操作部30は、処理をS74に戻して、次のセットを選択する。次のセットが存在しない場合(S76のNo)、操作部30は、処理をS77に進める。
【0178】
S77において、出力部32は、量子演算部20に含まれる複数の量子ビットのそれぞれからZ軸の成分を取得する。そして、出力部32は、取得した複数の量子ビットのそれぞれのZ軸成分を-1または+1に2値化して出力する。
【0179】
第5実施形態に係る量子アニーリング装置10は、S77の処理を終えると、本フローを終了する。
【0180】
図27は、操作部30によるS75の3体間相互作用への変形操作の内容を示す図である。
【0181】
操作部30は、S75の3体間相互作用への変形操作として第1回転操作(S81)、相互作用操作(S82)および第2回転操作(S83)を実行する。
【0182】
S81の第1回転操作(S81)において、操作部30は、第2量子ビット42および第3量子ビット43のそれぞれに対して、第1軸周りの90度の回転操作をする。
【0183】
第1回転操作(S81)を実行することにより、第2量子ビット42および第3量子ビット43のZ軸の成分は、第2軸の成分となる。例えば、第1回転操作(S81)において、操作部30がX軸周りに90度の回転操作をした場合には、第2量子ビット42および第3量子ビット43のZ軸の成分は、Y軸の成分となる。また、例えば、第1回転操作(S81)において、操作部30がY軸周りに90度の回転操作をした場合には、第2量子ビット42および第3量子ビット43のZ軸の成分は、X軸の成分となる。
【0184】
相互作用操作(S82)において、操作部30は、第1量子ビット41と第2量子ビット42の間の制御用量子ビット等を制御して、第1量子ビット41と第2量子ビット42とを相互作用させる。
【0185】
ここで、第1量子ビット41と第2量子ビット42との間の相互作用パラメータがJ12であるとする。この場合、操作部30は、時間τOP(=π/4J12)の間、第1量子ビット41と第2量子ビット42とを相互作用させる。これにより、操作部30は、第1量子ビット41と第2量子ビット42との間の相互作用を、上述した式(15)または式(19)に示した関係式を満たすように変換することができる。
【0186】
第2回転操作(S83)において、操作部30は、第2量子ビット42および第3量子ビット43のそれぞれに対して、第2軸周りの90度の回転操作をする。
【0187】
第2回転操作(S83)を実行することにより、第2量子ビット42および第3量子ビット43の第1軸の成分は、Z軸の成分となる。また、例えば、第2回転操作(S83)において、操作部30がY軸周りに90度の回転操作をした場合には、第2量子ビット42および第3量子ビット43のX軸の成分は、Z軸の成分となる。例えば、第2回転操作(S83)において、操作部30がX軸周りに90度の回転操作をした場合には、第2量子ビット42および第3量子ビット43のY軸の成分は、Z軸の成分となる。
【0188】
以上のように、第5実施形態に係る量子アニーリング装置10は、2体の量子ビットの相互作用を含む初期ハミルトニアンを、3体の量子ビットの相互作用を含む実効的なハミルトニアンに変形して、量子演算を実行する。これにより、量子アニーリング装置10によれば、様々なハミルトニアンを用いた最適化演算を容易に実行することができる。
【0189】
(第6実施形態)
第6実施形態に係る量子アニーリング装置10は、マトリクスにおける一部分に配置された複数の量子ビットの中の、2体の量子ビットの相互作用(Z2Z3)を、実効的に3体の量子ビットの相互作用(Z1Z2Z3)に変換する。
【0190】
図28は、第6実施形態に係る量子アニーリング装置10の量子演算部20に含まれる複数の量子ビットを示す図である。
【0191】
第6実施形態に係る量子アニーリング装置10の量子演算部20は、例えば、
図28に示すように、マトリクスにおける一部の領域に配置された複数の量子ビットを含む。
【0192】
図28のマトリクスは、第1行、第2行、第3行および第4行を含む。また、
図28のマトリクスは、第a列、第p列、第b列、第q列、第c列、第r列および第d列を含む。
【0193】
さらに、
図28の例では、複数の量子ビットは、第a列における第1行から第4行まで、第p列における第1行から第3行まで、第b列における第1行から第4行まで、第q列における第1行から第2行まで、第c列における第1行から第3行まで、第r列における第1行、および、第d列における第1行から第2行までに配置される。
【0194】
また、量子演算部20は、第1行における隣接する2つの量子ビットを結合している。また、量子演算部20は、第2行における第a列から第c列までの隣接する2つの量子ビットを結合している。また、量子演算部20は、第3行における第a列から第b列までの隣接する2つの量子ビットを結合している。
【0195】
また、
図28に示す例では、第4行が開始行として設定されている。
【0196】
また、量子演算部20は、第a列、第b列、第c列および第d列に、列方向に隣接する2つの量子ビットの相互作用を制御可能な例えば複数の制御用量子ビットをさらに含む。
【0197】
【0198】
操作部30は、
図28に示す複数の量子ビットに対して、
図15に示すフローチャートに従った手順で処理を実行する。なお、操作部30は、S53の処理については、
図27に示す3体間相互作用への変換操作処理を実行する。また、操作部30は、並行して実行可能な処理については、なるべく並行して処理を実行する。このような場合、操作部30は、例えば
図29および
図30に示す手順で操作を実行する。
【0199】
startにおいて、ハミルトニアン(Htgt)は、次のようになっている。
Htgt=Za1Zp1+Za2Zp2+Za3Zp3
+Zb1Zp1+Zb2Zp2+Zb3Zp3
+Zb1Zq1+Zb2Zq2
+Zc1Zq1+Zc2Zq2
+Zc1Zr1
+Zd1Zr1
【0200】
まず、step1において、操作部30は、第3行の量子ビットに対して第1回転操作(S81)を実行する。
【0201】
続いて、step2において、操作部30は、第3行の量子ビットと第4行との量子ビットの組に対して相互作用操作(S82)を実行する。
【0202】
続いて、step3において、操作部30は、第2行の量子ビットに対して第1回転操作(S81)を実行する。
【0203】
続いて、step4において、操作部30は、第3行の量子ビットに対して第2回転操作(S83)を実行する。さらに、step4において、操作部30は、第2行の量子ビットと第3行との量子ビットの組に対して相互作用操作(S82)も並行して実行する。
【0204】
続いて、step5において、操作部30は、第1行の量子ビットに対して第1回転操作(S81)を実行する。
【0205】
続いて、step6において、操作部30は、第2行の量子ビットに対して第2回転操作(S83)を実行する。さらに、step6において、操作部30は、第1行の量子ビットと第2行との量子ビットの組に対して相互作用操作(S82)も並行して実行する。
【0206】
最後に、step7において、操作部30は、第1行の量子ビットに対して第2回転操作(S83)を実行する。
【0207】
図31は、
図28に示す初期ハミルトニアンを、
図29および
図30に示す手順で変換した後の実効的なハミルトニアンを示す図である。
【0208】
操作部30が
図29および
図30に示す手順で処理を実行した場合、実効的なハミルトニアンは、
図31に示すようになる。
【0209】
図31に示す実効的なハミルトニアンは、下記のように表される。
H
tgt=Z
a1Z
a2Z
p1+Z
a2Z
a3Z
p2+Z
a3Z
a4Z
p3
+Z
b1Z
b2Z
p1+Z
b2Z
b3Z
p2+Z
b3Z
b4Z
p3
+Z
b1Z
b2Z
q1+Z
b2Z
b3Z
q2
+Z
c1Z
c2Z
q1+Z
c2Z
c3Z
q2
+Z
c1Z
c2Z
r1
+Z
d1Z
D2Z
r1
【0210】
以上のように第6実施形態に係る量子アニーリング装置10によれば、マトリクスの一部分に配置された複数の量子ビットに対して、2体の量子ビットの相互作用(Z2Z3)を、実効的に3体の量子ビットの相互作用(Z1Z2Z3)に変換することができる。さらに、第6実施形態に係る量子アニーリング装置10によれば、複数のセットに対する変形操作処理を同時に実行することができる。
【0211】
(第7実施形態)
第7実施形態に係る量子アニーリング装置10の量子演算部20は、フローティングゲート構造を含むセルを含む半導体装置により実現される。
【0212】
図32は、第7実施形態に係る量子演算部20の構造を示す図である。本実施形態において、量子演算部20は、半導体装置により実現される複数のメモリセル211を含む。複数のメモリセル211のそれぞれは、量子ビットとして機能する。例えば、
図32には、同一のビットラインのカラム方向に配列されたメモリセルC1~C7が示されている。
【0213】
複数のメモリセル211は、半導体基板101上に形成される。メモリセル211は、トンネリング膜104(トンネル酸化膜またはゲート絶縁膜ともいう)と、2つの拡散領域102,103と、フローティングゲート105と、制御ゲート106とを含む。
【0214】
半導体基板101は、例えばシリコン基板などである。トンネリング膜104は、半導体基板101の上面の上に形成され、絶縁膜である。トンネリング膜104は、電位障壁として機能する。
【0215】
拡散領域102,103は、例えば半導体基板101に対してドーパントが拡散された領域である。拡散領域102,103は、メモリセル211におけるソース・ドレインとして機能する。
【0216】
フローティングゲート105は、半導体基板101からトンネリング膜104を介して侵入した電荷を保持する電荷保持層である。制御ゲート106は、各メモリセル211の閾値電圧やトンネル効果を制御するための電圧が印加されるゲート電極である。各メモリセル211は、既存のNAND型フラッシュメモリにおけるセルと同様の構造を有することが可能である。
【0217】
メモリセル211のフローティングゲート105に保持された電荷の数は、量子ビットの状態を示す。ここで電荷とは、電子またはホールを指す。従って、‘0’のデータと‘1’のデータとはそれぞれ、メモリセル211の電荷数がN(Nは1以上の整数)個またはN+1個、もしくは、N個またはN-1個(N>1)という状態に対応している。半導体基板101におけるフローティングゲート105の下方の領域(チャネル領域)を流れる電流は、フローティングゲート105に保持された電荷の数により変化する。従って、フローティングゲート105に保持された電荷の数は、拡散領域102,103(ソース・ドレイン)間に流れる電流を測定することで検知することができる。
【0218】
また、本実施形態のように、量子ビットアレイを既存のNAND型フラッシュメモリにおけるメモリセルアレイと同様のレイアウトで構成した場合、微細なフローティングゲート105が近接して設置される。そのため、上下左右および斜め方向に隣接または近接する複数のメモリセル211の間には、距離に応じたクーロン相互作用に基づくメモリセル間干渉が働く。本実施形態に係る量子演算部20は、このメモリセル間干渉効果を、量子ビットの間の相互作用として利用する。
【0219】
複数のメモリセル211は、解くべき最適化問題を記述したデータを格納する。データを格納した各メモリセル211に対し、量子ゆらぎによるトンネリングを発生させた場合、量子演算部20は、データの配置がエネルギー的に最小となるように、各メモリセル211のフローティングゲート105に保持された電荷を移動させる。例えば、量子演算部20は、ある一定時間、半導体基板101とフローティングゲート105との間のトンネリングを発生させる。そして、その後、量子演算部20は、半導体基板101とフローティングゲート105との間のトンネリングを遮断する。これにより、量子演算部20は、量子アニーリングの工程を実現することができる。
【0220】
図33は、第7実施形態に係る量子演算部20に含まれるメモリセル211の配置を示す図である。量子演算部20は、平行に配置された複数のビットラインを含む。複数のメモリセル211は、それぞれのビットライン上に均等間隔で形成される。また、複数のメモリセル211は、ビットラインに対して垂直なワードラインに沿って並んで配置される。すなわち、量子演算部20は、半導体基板101上に、2次元のマトリクス状に配置される。
【0221】
従って、第7実施形態に係る量子演算部20は、例えば、
図8、
図14、
図20、
図23および
図28に示したようなマトリクス状(またはマトリクスの一部分)の量子ビットの配置を容易に実現することができる。
【0222】
また、例えば、量子演算部20は、
図20および
図23に示したような略三角形状の配置がされた複数の量子ビットを、例えば、
図33の点線で示した三角形の範囲に配置することができる。従って、このような量子演算部20は、矩形状に配置された複数のメモリセル211を用いて、略三角形の範囲に配置された複数の量子ビットを結合する初期ハミルトニアンを2個実現することができる。
【0223】
(第8実施形態)
図34は、第8実施形態に係る量子演算部20の一部分の構造例を示す図である。第8実施形態に係る量子アニーリング装置10の量子演算部20は、1または複数の制御用量子ビット250と、エアギャップ260とを含む。
【0224】
制御用量子ビット250は、外部からのパルス等の印加操作により相互作用をさせる2つの量子ビットの間に接続される。制御用量子ビット250は、例えば、量子ビットよりも大きな電圧が印加され、接続された2つの量子ビットの相互作用をオンしたりオフしたりする。制御用量子ビット250は、例えば、非特許文献5に記載された方法により実現される。
【0225】
また、エアギャップ260は、結合がされておらず、且つ、外部からの操作によって相互作用を生じさせない隣接する2つの量子ビットの間に設けられる。エアギャップ260は、量子ビットと量子ビットとの間の結合力の伝達を阻害する。例えば、量子ビットと量子ビットとがクーロン相互作用により結合する場合、エアギャップは、クーロン力の伝達を遮断する。なお、量子演算部20は、エアギャップに代えて、低誘電率材料により構成された低誘電率部であってもよい。
【0226】
図35は、第8実施形態に係る量子演算部20の他の構造例を示す図である。複数の量子ビットおよび複数の制御用量子ビット250のそれぞれは、格子の交点位置に配置されてもよい。このような、量子演算部20は、量子ビットと量子ビットとを直線により結合することができる。また、量子演算部20は、量子ビットと制御用量子ビットとを直線により結合することができる。これにより、量子演算部20は、結合力の調整を精度良く実行させたり、製造を容易にさせたりすることができる。
【0227】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0228】
10 量子アニーリング装置
20 量子演算部
22 設定部
24 入力部
30 操作部
32 出力部
211 メモリセル
250 制御用量子ビット
260 エアギャップ