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

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

▶ 日本電気株式会社の特許一覧 ▶ 国立大学法人東京工業大学の特許一覧

<>
  • 特許-演算装置、方法、及びプログラム 図1
  • 特許-演算装置、方法、及びプログラム 図2
  • 特許-演算装置、方法、及びプログラム 図3
  • 特許-演算装置、方法、及びプログラム 図4
  • 特許-演算装置、方法、及びプログラム 図5
  • 特許-演算装置、方法、及びプログラム 図6
  • 特許-演算装置、方法、及びプログラム 図7
  • 特許-演算装置、方法、及びプログラム 図8
  • 特許-演算装置、方法、及びプログラム 図9
  • 特許-演算装置、方法、及びプログラム 図10
  • 特許-演算装置、方法、及びプログラム 図11
  • 特許-演算装置、方法、及びプログラム 図12
  • 特許-演算装置、方法、及びプログラム 図13
  • 特許-演算装置、方法、及びプログラム 図14
  • 特許-演算装置、方法、及びプログラム 図15
  • 特許-演算装置、方法、及びプログラム 図16
  • 特許-演算装置、方法、及びプログラム 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-10
(45)【発行日】2024-09-19
(54)【発明の名称】演算装置、方法、及びプログラム
(51)【国際特許分類】
   G06N 10/00 20220101AFI20240911BHJP
【FI】
G06N10/00
【請求項の数】 10
(21)【出願番号】P 2020187552
(22)【出願日】2020-11-10
(65)【公開番号】P2022076900
(43)【公開日】2022-05-20
【審査請求日】2023-10-04
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成30年度、国立研究開発法人新エネルギー・産業技術総合開発機構「高効率・高速処理を可能とするAIチップ・次世代コンピューティングの技術開発/次世代コンピューティング技術の開発/超電導パラメトロン素子を用いた量子アニーリング技術の研究開発」委託研究、産業技術力強化法第17条の適用を受ける特許出願
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(73)【特許権者】
【識別番号】304021417
【氏名又は名称】国立大学法人東京工業大学
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】須佐 友紀
(72)【発明者】
【氏名】西森 秀稔
【審査官】真木 健彦
(56)【参考文献】
【文献】国際公開第2020/156680(WO,A1)
【文献】Wolfgang Lechner,A quantum annealing architecture with all-to-all connectivity from local interactions,Science Advances,2015年10月23日,Vol.1 , No.9,全5頁
(58)【調査した分野】(Int.Cl.,DB名)
G06N 10/00
G06F 7/38
(57)【特許請求の範囲】
【請求項1】
LHZ模型において多体相互作用で表現される制約項の量子アニーリングにおける強度スケジュール関数を、1又は複数の時刻における当該強度スケジュール関数の値を変分パラメータとするハイブリッドアルゴリズムにより調整する演算部、
を備えた演算装置。
【請求項2】
前記演算部は、
前記1又は複数の時刻における前記変分パラメータの値を滑らかな関数でフィッティングするフィッティング処理と、当該滑らかな関数を前記強度スケジュール関数として前記LHZ模型上の量子アニーリングを実行した結果に基づき、エネルギー期待値が低くなるように前記変分パラメータを更新する更新処理と、を実行する前記ハイブリッドアルゴリズムにより、前記強度スケジュール関数を調整する、
請求項1に記載の演算装置。
【請求項3】
前記滑らかな関数は、多項式関数である請求項2に記載の演算装置。
【請求項4】
前記演算装置は、
前記フィッティング処理の結果に基づき、前記LHZ模型を構成する複数の量子ビット間の相互作用の強さを変化させる量子計算部、
をさらに備える請求項2または3のいずれかに記載の演算装置。
【請求項5】
前記演算部は、
前記ハイブリッドアルゴリズムにより前記強度スケジュール関数を調整した後、調整した当該強度スケジュール関数に基づく量子アニーリングを実行した結果を取得する、
請求項1から4のいずれか1項に記載の演算装置。
【請求項6】
LHZ模型において多体相互作用で表現される制約項の量子アニーリングにおける強度スケジュール関数を、1又は複数の時刻における当該強度スケジュール関数の値を変分パラメータとするハイブリッドアルゴリズムにより調整する、
演算方法。
【請求項7】
前記1又は複数の時刻における前記変分パラメータの値を滑らかな関数でフィッティングするフィッティング処理と、当該滑らかな関数を前記強度スケジュール関数として前記LHZ模型における量子アニーリングを実行した結果に基づき、エネルギー期待値が低くなるように前記変分パラメータを更新する更新処理と、を実行する前記ハイブリッドアルゴリズムにより、前記強度スケジュール関数を調整する、
請求項6に記載の演算方法。
【請求項8】
前記滑らかな関数は、多項式関数である請求項7に記載の演算方法。
【請求項9】
前記フィッティング処理の結果に基づき前記LHZ模型を構成する複数の量子ビット間の相互作用の強さを変化させる、
請求項7または8のいずれかに記載の演算方法。
【請求項10】
コンピュータに、
LHZ模型において多体相互作用で表現される制約項の量子アニーリングにおける強度スケジュール関数を、1又は複数の時刻における当該強度スケジュール関数の値を変分パラメータとするハイブリッドアルゴリズムにより調整する処理を実行させる
演算プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、演算装置、方法、及びプログラムに関し、特に量子アニーリングに関する。
【背景技術】
【0002】
量子アニーリングは、まず初めに全ての量子ビットに量子揺らぎを印加し、そして量子揺らぎを徐々に減らしていくと同時に予め設定しておいた組合せ最適化問題を表現する量子ビット間の相互作用の重みを徐々に強めることで、所望の最適解を得る方法である。
【0003】
量子アニーリングを実行する場合、一般的にアニーリング時間が長い(断熱的な)方が組合せ最適化問題の最適解が得られやすいことが知られている。一方で、実機においては、ノイズやデコヒーレンスのために、そのような長時間に亘る理想的な量子アニーリングを実行することは困難である。よって、量子アニーリングが短時間かつ非断熱的に実行されることを前提として、効率化の方法を検討する必要がある。
【0004】
そのような方法の一つにvariationally scheduled quantum simulation algorithm(VSQS)と呼ばれる、量子アニーリングと古典計算機とによる古典量子ハイブリッドアルゴリズムがある(非特許文献1参照)。このアルゴリズムは、量子アニーリングで最適解を得るために古典計算機を繰り返し用いて適切な強度スケジュール関数を求めるというものである。
【0005】
一方、量子アニーリングを行うアーキテクチャとして、LHZ模型が提案されている(非特許文献2参照)。LHZ模型は、イジング模型と論理的に等価な模型であることが知られており、多体相互作用を基本とする。LHZ模型は、量子ビットにおける局所場と、量子ビット同士の多体相互作用とで表現される。
【先行技術文献】
【非特許文献】
【0006】
【文献】S. Matsuura, S. Buck, V. Senicourt, and A. Zaribafiyan, arXiv:2003.09913.
【文献】W. Lechner, P. Hauke, and P. Zoller, Sci Adv 1, (2015):e1500838
【発明の概要】
【発明が解決しようとする課題】
【0007】
ここで、上記のLHZ模型上の量子アニーリングを効率化することは困難であるという問題があった。尚、非特許文献1にかかる技術は、LHZ模型上の量子アニーリングに古典量子ハイブリッドアルゴリズムを適用するものではない。
【0008】
本開示は、このような課題を解決するためになされたものである。即ち、LHZ模型上の量子アニーリングを効率化する演算装置、方法、及びプログラムを提供することである。
【課題を解決するための手段】
【0009】
本開示にかかる演算装置は、LHZ模型において多体相互作用で表現される制約項の量子アニーリングにおける強度スケジュール関数を、1又は複数の時刻における当該強度スケジュール関数の値を変分パラメータとするハイブリッドアルゴリズムにより調整する演算部、を備える。
【0010】
本開示にかかる演算方法は、LHZ模型において多体相互作用で表現される制約項の量子アニーリングにおける強度スケジュール関数を、1又は複数の時刻における当該強度スケジュール関数の値を変分パラメータとするハイブリッドアルゴリズムにより調整する、ものである。
【0011】
本開示にかかる演算プログラムは、コンピュータに、LHZ模型において多体相互作用で表現される制約項の量子アニーリングにおける強度スケジュール関数を、1又は複数の時刻における当該強度スケジュール関数の値を変分パラメータとするハイブリッドアルゴリズムにより調整する処理、を実行させるものである。
【発明の効果】
【0012】
本開示によれば、LHZ模型上の量子アニーリングを効率化することができる。
【図面の簡単な説明】
【0013】
図1】ハイブリッドアルゴリズムの概要を示す概略図である。
図2】LHZ模型の概要を示す概略図である。
図3】全結合イジング模型の概要を示す概略図である。
図4】実施形態1にかかる演算装置の構成を示すブロック図である。
図5】実施形態2にかかる演算装置の構成を示すブロック図である。
図6】変分パラメータを折れ線で接続した強度スケジュール関数を示すグラフである。
図7】変分パラメータを多項式関数でフィッティングした強度スケジュール関数を示すグラフである。
図8】実施形態2にかかる演算装置が実行するハイブリッドアルゴリズムにおける処理の流れを示す流れ図である。
図9】最適解が自明な問題(J=0.5)にハイブリッドアルゴリズムを適用した場合のエネルギー期待値の変化を示すグラフである。
図10】最適解が自明な問題(J=0.5)にハイブリッドアルゴリズムを適用した場合のフィデリティの変化を示すグラフである。
図11】ランダムに生成した組合せ最適化問題に対して、ハイブリッドアルゴリズムを適用した場合と、適用しない場合との最適解に対するフィデリティの違いを示すグラフである。
図12】ランダムに生成した組合せ最適化問題に対して、ハイブリッドアルゴリズムを適用した場合と、適用しない場合との最適解及び準最適解に対するフィデリティの違いを示すグラフである。
図13】最適解が自明な問題(J=0.2)において、変分パラメータを折れ線で接続した強度スケジュール関数を示すグラフである。
図14】最適解が自明な問題(J=0.2)において、変分パラメータを多項式関数でフィッティングした強度スケジュール関数を示すグラフである。
図15】変分パラメータを折れ線で接続した場合と、変分パラメータを多項式関数でフィッティングした場合とのエネルギー期待値の比較結果を示す。
図16】変分パラメータを折れ線で接続した場合と、変分パラメータを多項式関数でフィッティングした場合とのフィデリティの比較結果を示す。
図17】演算装置のハードウェア構成を例示するブロック図である。
【発明を実施するための形態】
【0014】
以下の実施の形態を説明するにあたり、量子アニーリング、及びLHZ模型の概要について説明する。量子アニーリングとは、巡回セールスマン問題等の組合せ最適化問題の汎用近似解法であり、設定した評価(エネルギー)関数をもとに最適な変数の組の探索を行う方法である。評価関数は、イジング模型のハミルトニアンとして、式(1)のように表現される。
【0015】
【数1】
ここで、σ は+1若しくは-1をとる2値変数(ビット)であり、Jijは変数間の相関係数を表し、hは局所バイアスを表す。Jij及びhは、解きたい組合せ最適化問題に応じて与えられる。σ は、スピンのz成分を表す。後述するように、量子アニーリングは、横磁場を量子揺らぎとして利用する。横磁場の方向をx方向とする。
【0016】
量子アニーリングは、物理現象(自然現象)を利用した解法である。手順を説明すると、量子アニーリングでは、(1)解きたい問題の評価関数を設定し、(2)全ての量子ビットに横磁場(量子揺らぎ)を印加して重ね合わせ状態を作り(初期化)、(3)横磁場を徐々に弱くし、(4)エネルギーを最小にする量子ビットの組合せを得る。この過程は、式(2)で表現される。
【0017】
【数2】
【0018】
tは、量子アニーリングの過程における時刻を表す時間パラメータである。Tは、量子アニーリングを実行するアニーリング時間である。即ち、アニーリングの開始時はt=0であり、アニーリングの完了時はt=Tとなる。なお、(t/T)を時刻と考えてもよい。アニーリング開始時は、時刻(t/T)=0であり、アニーリング完了時は時刻(t/T)=1となる。σ は、スピンのx成分であり、右辺第1項は量子揺らぎに対応する。量子揺らぎ項が、量子アニーリングを実行するためのドライバとしての役割を果たす。t=0においては、横磁場によりスピンはx方向を向いた状態となる。t=Tにおいては、スピンは、イジング模型の基底状態に対応した状態となり、+z方向、又は-z方向を向いた状態となる。
【0019】
このようなイジングモデルにおける量子アニーリングを効率化する方法として、ハイブリッドアルゴリズムが知られている。図1は、ハイブリッドアルゴリズムの概要を示す概略図である。ハイブリッドアルゴリズムは、量子計算機111及び情報処理装置112を用いて変分パラメータと呼ばれるパラメータを更新することにより、量子アニーリングを効率化する。
【0020】
以下、変分パラメータについて具体的に説明する。式(2)の右辺第1項に付与された重み係数(1-t/T)をA(t)とし、右辺第2項に付与された重み係数(t/T)をB(t)とする。そして、式(2)に特殊なハミルトニアンを付加し、当該ハミルトニアンに対する重み係数C(t)とする。ここで、アニーリング時間TをS個の区間に分割し、各区間のA(t)、B(t)、及びC(t)の値を、変分パラメータ{a,b,c}とする。
【0021】
図1に戻って、ハイブリッドアルゴリズムの流れについて説明する。ハイブリッドアルゴリズムは、エネルギー期待値が小さい(最適解に近い)組合せを探索する。量子計算機111は、情報処理装置112から受け取った変分パラメータ{a,b,c}に基づくA(t)、B(t)、及びC(t)を用いて量子計算を実行し、量子計算の結果として、エネルギー期待値と量子状態とを情報処理装置112に渡す。エネルギー期待値はコスト値とも呼び、量子状態は組合せとも呼ぶ。なお、A(t)、B(t)、及びC(t)を生成する際、変分パラメータ{a,b,c}を折れ線で接続することもできる。しかし、折れ線で近似する場合には、量子状態を実現するハードウェアを適切に制御することができない場合もある。情報処理装置112は、エネルギー期待値を更に下げられるように変分パラメータ{a,b,c}の調整を行い、更新した変分パラメータ{al+1,bm+1,cn+1}を量子計算機111に渡す。以上の処理を繰り返すことにより、A(t)、B(t)、及びC(t)が最適化される。
【0022】
式(1)で表現されるイジングモデルを実装する場合、全てのビット同士が互いに相関を持つ全結合イジング模型を用いる必要がある。このような場合、図3に例示されるように、ハードウェアにて実装される場合には、長距離の結線や、結線同士の交差(混線)が生じることとなるため、2次元平面に実装することは困難である。
【0023】
そこで、図2に示すLHZ模型が提案されている。LHZ模型は、イジング模型と論理的に等価な模型であることが知られており、多体相互作用を基本とする。LHZ模型は、ハードウェアを用いて実装可能である。LHZ模型は、量子ビットにおける局所場と、量子ビット同士の4体相互作用で表されるアーキテクチャである。
【0024】
一方、図3は、上記の全結合イジング模型を表す。以下、図2に示すLHZ模型と図3に示す全結合イジング模型との関係について説明する。図3の量子ビットa1~a6は、全結合イジング模型における量子ビットである。結合b12~b56は、全結合イジング模型における量子ビットa1~a6の結合を表す。例えば、結合b12は、量子ビットa1及びa2の結合を表す。
【0025】
図2に示すLHZ模型の量子ビット(物理ビット)は、量子ビットc12~c56である。量子ビットc12~c56は、図3の結合b12~b56に対応している。例えば、全結合イジング模型の結合b12は、LHZ模型の量子ビットc12に対応する。相互作用d1~d10は、LHZ模型における多体相互作用を示す。例えば、相互作用d1は、量子ビットc15、c16、c25、c26の4体近接相互作用を表す。LHZ模型を用いた場合、N論理ビットを表現するために必要な物理ビットKは、N(N-1)/2個となる。LHZ模型を用いた場合、ハミルトニアンは式(3)で表現される。
【0026】
【数3】
【0027】
式(3)の右辺第1項は、式(1)におけるJijをJに置き換えたものである。式(3)の右辺第2項は、量子ビットが満たすべき制約条件を表す項であり、各相互作用の周囲の4つの量子ビットの積が1という条件を表している。l(lはアルファベットのエルを示している)は、制約条件を表すパラメータであり、制約条件の数Lは、(N-1)(N-2)/2個となる。
【0028】
式(3)において、右辺第2項は、量子ビットの間に課された制約条件を表す項であり、制約項という。また、式(3)において、右辺第1項は、目的項という。制約項は、このように、量子ビットの多体相互作用で表現される。多体相互作用を含む組合せ最適化問題の一部は、量子アニーリングでは解くことが困難であることが知られている。なお、式(3)の制約条件を表すL個の項のそれぞれを制約項と考えてもよい。すなわち、式(3)は複数の制約項を含むと考えても良い。
【0029】
なお、上述の処理では、局所場の情報(式(1)の右辺第2項)は、式(3)に持ち込めていないようにも思える。しかし、局所場が存在する場合であっても、式(4)に示すように隠れた変数σ が存在するとして局所場の情報を式(3)に含むことが可能である。このような場合は、LHZ模型の量子ビットをイジング模型の量子ビットに復号する際に、σ =1とすることになる。
【数4】
【0030】
以下、図面を参照しつつ、実施の形態について説明する。なお、図面は簡略的なものであるから、この図面の記載を根拠として実施の形態の技術的範囲を狭く解釈してはならない。また、同一の要素には、同一の符号を付し、重複する説明は省略する。
【0031】
(実施形態1)
以下、図面を参照して本発明の実施の形態について説明する。図4は、実施形態1にかかる演算装置100の構成を示すブロック図である。演算装置100は、演算部110を備える。
【0032】
演算部110は、LHZ模型において多体相互作用で表現される制約項の量子アニーリングにおける強度スケジュール関数を調整する。強度スケジュール関数は、LHZ模型上の量子アニーリングの過程を示す式(5)のC(t/T)である。
【0033】
【数5】
【0034】
式(5)の第1項は、量子揺らぎを表す。第2項は、組合せ最適化問題を表現する目的項である。第3項は、多体相互作用で表現される制約項である。
【0035】
演算部110は、強度スケジュール関数C(t/T)を調整する際、1又は複数の時刻における強度スケジュール関数の値を変分パラメータとするハイブリッドアルゴリズムにより調整する。ハイブリッドアルゴリズムとは、量子計算の実行結果に基づいて、エネルギー期待値が低くなるように変分パラメータを更新するアルゴリズムである。
【0036】
換言すると、演算部110は、変分パラメータに基づきスケジュール関数を生成する処理と、生成したスケジュール関数を用いて式(5)に示す量子アニーリングを実行した結果に基づきエネルギーが低くなるように変分パラメータを更新する更新処理とを行う。なお、式(5)に示す量子アニーリングは、演算装置100の外部で行われてもよい。
【0037】
演算部110は、各時刻における変分パラメータを折れ線で接続することにより強度スケジュール関数を生成してもよく、各時刻における変分パラメータを滑らかな関数でフィッティングすることにより強度スケジュール関数を生成してもよい。量子アニーリングは、量子コンピュータによって実行されてもよく、情報処理装置上で量子モンテカルロ法等のアルゴリズムを実行することにより行われてもよい。更新処理は、BFGS(Broyden Fletcher Goldfarb Sharno)法等の非線形最適化法により実行可能である。
【0038】
実施形態1にかかる演算装置100は、LHZ模型の制約項の強度スケジュール関数を、ハイブリッドアルゴリズムによりエネルギー期待値が低くなるように調整する。よって、演算装置100は、LHZ模型上の量子アニーリングを効率化することができる。
【0039】
(実施形態2)
実施形態2にかかる演算装置100aは、実施形態1の具体例である。演算装置100aは、ハイブリッドアルゴリズムにおいて、多項式関数でフィッティングしたスケジュール関数を用いて量子計算を実行する。以下の説明において、実施形態1と重複する説明は省略される。
【0040】
図5は、演算装置100aの構成を示すブロック図である。演算装置100aは、演算部110を備える。演算部110は、1又は複数の時刻における前記変分パラメータの値を多項式関数でフィッティングするフィッティング処理と、当該多項式関数を強度スケジュール関数としてLHZ模型上の量子アニーリングを実行した結果に基づき、エネルギー期待値が低くなるように変分パラメータを更新する更新処理と、を実行するハイブリッドアルゴリズムにより、強度スケジュール関数を調整する。変分パラメータは、上述の通り、強度スケジュール関数C(t/T)を調整するためのパラメータである。
【0041】
演算部110は、ハイブリッドアルゴリズムにより強度スケジュール関数C(t/T)を調整した後に、調整した当該強度スケジュール関数C(t/T)を用いて量子アニーリングを実行した結果を取得してもよい。これにより、演算部110は、最適解に近い解を得ることができる。
【0042】
演算部110は、量子アニーリングを実行する量子計算部111と、上記フィッティング処理及び上記更新処理を実行する情報処理部112を備える。また、強度スケジュール関数C(t/T)を調整した後の量子アニーリングも、量子計算部111により実行される。
【0043】
量子計算部111は、制御部1111、量子アニール部1112、及び読み出し部1113を備える。量子計算部111は、フィッティング処理の結果に基づきLHZ模型を構成する複数の量子ビット間の相互作用の強さを変化させる。
【0044】
制御部1111は、情報処理部112から強度スケジュール関数C(t/T)を受け取り、量子アニール部1112に制御信号を入力する。制御信号は、量子揺らぎ項に付与される強度スケジュール関数(1-t/T)に基づく第1の制御信号と、目的項に付与される強度スケジュール関数(t/T)に基づく第2の制御信号と、制約項に付与される強度スケジュール関数C(t/T)に基づく第3の制御信号とを含む。制御部1111は、常温に置かれた半導体装置でもよいし、数mK(ミリケルビン)から数K程度の極低温に冷却された超電導回路であってもよい。
【0045】
量子アニール部1112は、LHZ模型をハードウェアで実現したものである。量子アニール部1112は、複数の量子ビット回路が互いに結合されている回路である。量子アニール部1112は、例えば超電導材料を用いた超電導回路で実現される。超電導回路で量子アニール部1112を実現した場合、量子アニール部1112は、数mK程度の極低温に冷却されて動作する。冷却する場合、量子アニール部1112は、例えば希釈冷凍機を用いて冷却される。
【0046】
読み出し部1113は、量子アニール部1112の状態を読み出す。具体的には、読み出し部1113は、量子アニール部1112を構成する複数の量子ビット回路の状態を読み出す。読み出し部1113は、常温に置かれた半導体装置でもよいし、数mKから数K程度の極低温に冷却された超電導回路であってもよい。
【0047】
量子計算部111は、例えば、10000回程度量子アニーリングを実行して、エネルギー期待値を算出してもよい。ここで、量子計算部111は、図示しない常温に置かれた半導体装置を用いてエネルギー期待値を算出してもよい。量子計算部111は、算出したエネルギー期待値を情報処理部112に渡す。情報処理部112は、エネルギー期待値が低くなるように変分パラメータを更新して、更新した変分パラメータを多項式関数でフィッティングし、新たな強度スケジュール関数C(t/T)を量子計算部111に渡す。
【0048】
次に、図6及び図7を用いて、フィッティング処理について詳細に説明する。図6及び図7のvariational pointは、変分パラメータを示す点である。変分パラメータは、例えば、アニーリング時間TをS等分した場合における時刻{1/(S+1)},{2/(S+1)}、・・・、及び{S/(S+1)}における強度スケジュール関数C(t/T)の値を表す。
【0049】
図6及び図7は、S=3の場合であり、各変分パラメータは、時刻(t/T)=0.25、0.5、及び0.75のそれぞれにおける強度スケジュール関数C(t/T)の値を表している。fixed pointは、強度スケジュール関数C(t/T)がアニーリング開始時に0となる条件と、アニーリング完了時に1となる条件とを表す点である。
【0050】
図6において点線で示すような、各点を折れ線で接続したスケジュール関数を用いて量子アニーリングを実行することもできる。なお、すでに述べた通り、非特許文献1において最適化しているスケジュール関数は、LHZ模型の制約項にかかるものではない。一方、演算装置100aは、図7に示すように、各点を多項式関数でフィッティングした強度スケジュール関数C(t/T)を用いて量子アニーリングを実行する。
【0051】
次に、図8を用いて、演算部110における処理の流れについて説明する。なお、上述したフィッティング処理は図8のステップS104に対応し、上述した更新処理はステップS103に対応する。ステップS101~ステップS104に示す処理をまとめて、変分パラメータ更新処理と呼ぶ。変分パラメータ更新処理をm回実行した後の変分パラメータを、{cn,m}とする。なお、nは、1以上(S-1)以下の整数である。後述する初期変分パラメータ{cn,0}は、m=0の場合に対応する。
【0052】
ステップS100において、演算部110は、初期変分パラメータ{cn,0}を設定し、初期強度スケジュール関数C(t/T)を構成する。初期変分パラメータ{cn,0}は、例えば、初期強度スケジュール関数C(t/T)=t/Tとなるように定められてもよい。
【0053】
変分パラメータ更新処理をm回実行した後、演算部110は、ステップS101において、強度スケジュール関数C(t/T)を量子アニーリングマシン(量子計算部111)に入力する(ステップS101)。なお、強度スケジュール関数C(t/T)は、m=0の場合はステップS100で生成され、m=0以外の場合は後述するステップS104で生成される。
【0054】
ステップS102において、演算部110は、量子アニーリングを実行し、エネルギー期待値<E>を算出する。ステップS103において、演算部110は、変分パラメータ{cn,m}及びエネルギー期待値<E>を情報処理装置(情報処理部112)に入力し、変分パラメータ{cn,m}を更新し{cn,m+1}とする。ここで、情報処理部112は、量子アニーリングの計算結果であるエネルギー期待値をさらに下げるように、変分パラメータを更新する。
【0055】
ステップS104において、演算部110は、点{n/(S+1),cm+1}を多項式関数でフィッティングしたものを新たな強度スケジュール関数Cm+1(t/T)とする。新たな強度スケジュール関数は、再度、ステップS101で量子アニーリングマシンに入力されてもよい。以上の処理により、より小さいエネルギー期待値を与えるような量子状態が、量子アニーリングにより得られる。
【0056】
次に、演算装置100aが、点{n/(S+1),c}を多項式関数でフィッティングする理由について説明する。発明者が、点{n/(S+1),c}を折れ線で接続してハイブリッドアルゴリズムを実行したところ、シュレディンガー方程式を解くことはできなかった。滑らかでない関数の下で適切にシュレディンガー方程式を解くことはできないため、このことが主な原因であると考えられる。
【0057】
したがって、滑らかでない強度スケジュール関数C(t/T)を用いてシミュレーションを行った場合、結果が信頼できるものであるかは不透明であり、実機で効果が本当に得られるかも不透明である。そこで、発明者は、滑らかな強度スケジュール関数C(t/T)を用いて、発明の効果を検証することとした。これにより、発明者は、ハイブリッドアルゴリズムで得られる効果を適切に評価することができた。
【0058】
図9及び図10は、最適解が自明な問題に対して実施形態2にかかる方法を適用した場合のシミュレーション結果を示すグラフである。最適解が自明な問題として、量子ビット数を10、T=10、J=0.5とする問題を用いた。
【0059】
効果検証の際、発明者は、量子アニーリングの部分において既存のpythonライブラリ(Qutip:量子力学の数値計算に用いる標準的なライブラリ)を用いてシュレディンガー方程式を解くことによりシミュレーションを行った。また、発明者は、情報処理装置を使用する部分においても同様に既存のpythonの最適化ライブラリ(Scipy)を使用した。
【0060】
図9は、上述した変分パラメータ更新処理の回数に対する、量子アニーリングで得られた解のエネルギー期待値の変化を示すグラフである。変分パラメータ更新処理の回数を、Iterationとも呼ぶ。実線は、実施形態2を適用した場合のシミュレーション結果を示し、一転鎖線は、基底状態のエネルギーを示す。エネルギー期待値が取り得る下限値は、基底状態のエネルギーである。図9から、Iterationの増加に伴い、エネルギー期待値が下がることがわかる。また、変分パラメータ更新処理を10回程度繰り返すことにより、エネルギー期待値は、ほぼ基底状態のエネルギーとなることがわかる。なお、Iteration=0では、強度スケジュール関数C(t/T)=t/Tとしており、通常の量子アニーリングに対応する。
【0061】
図10は、Iterationに対するフィデリティの変化を示すグラフである。ここで、フィデリティは、成功確率とも呼び、量子アニーリングで得られた解がどれだけ最適解に近いかを表す。フィデリティが取り得る上限値は、1である。変分パラメータ更新処理を繰り返すことにより、フィデリティは向上することがわかる。また、変分パラメータ更新処理を10回程度繰り返すことにより、フィデリティは、ほぼ1となる。図9及び図10から、ハイブリッドアルゴリズムをループさせる毎に、エネルギー期待値は下がり、より最適に近い解の探索に成功することがわかる。
【0062】
なお、パラメータ更新処理を10回繰り返した後に得られた強度スケジュール関数C(t/T)は、図7に示したグラフとなる。このような強度スケジュール関数C(t/T)により、量子アニーリングを効率化できることは非自明である。
【0063】
図11及び図12は、ランダムな組合せ最適化問題に対する実施形態2の効果を示すグラフである。発明者は、|Jk|≦0.5、T=20、量子ビット数10としてランダムに生成された1000パターンの組合せ最適化問題に対してハイブリッドアルゴリズムのシミュレーションを行った。ここで、発明者は、強度スケジュール関数C(t/T)を線形に変化させた場合(C(t/T)=(t/T))のフィデリティと、強度スケジュール関数C(t/T)をハイブリッドアルゴリズムにより調整した場合のフィデリティとを比較した。
【0064】
図11の横軸は、スケジュールを線形に変化させた場合のフィデリティ(F)を示し、縦軸は、ハイブリッドアルゴリズムを用いてスケジュール関数C(t/T)を調整した場合のフィデリティ(F)を示す。なお、Fは、量子アニーリングで得られる解が最適解にどれだけ近いかを表す。各点は、組合せ最適化問題のそれぞれに対応する。点線の上側の領域は、ハイブリッドアルゴリズムが有利な領域である。図示の通り、ほぼ全ての組合せ最適化問題に対して、ハイブリッドアルゴリズムにより量子アニーリングを効率化できることがわかった。
【0065】
図12は、準最適解を考慮した場合のフィデリティを比較した結果を示す。横軸は、スケジュール関数C(t/T)を線形に変化させた場合のフィデリティ(F+F)を示し、縦軸は、スケジュール関数C(t/T)をハイブリッドアルゴリズムにより調整した場合のフィデリティ(F+F)を示す。ここで、Fは、量子アニーリングで得られる解が準最適解(最適解に一番近い解)にどれだけ近いかを示す。図11と同様に、点線の上の領域は、ハイブリッドアルゴリズムが有利な領域である。したがって、準最適解を考慮した場合にも、ハイブリッドアルゴリズムによりLHZ模型上の量子アニーリングを効率化できることが分かる。
【0066】
次に、図13図14図15及び図16を用いて、各変分パラメータを折れ線で接続した場合と、各変分パラメータを多項式関数でフィッティングした場合との比較結果について説明する。
【0067】
発明者は、解が自明な問題を用いてシミュレーションを行った。最適解が自明な問題として、量子ビット数を10、T=10、J=0.2とする問題を用いた。図13は、各変分パラメータを折れ線で接続した場合の強度スケジュール関数C(t/T)を示す。図14は、各変分パラメータを多項式関数でフィッティングした場合の強度スケジュール関数C(t/T)を示す。
【0068】
図15の横軸はIterationを表し、縦軸はエネルギー期待値を表す。図16の横軸はIterationを表し、縦軸はフィデリティを表す。図15及び図16において、丸のシンボル(a)は、各変分パラメータを多項式関数でフィッティングした場合のシミュレーション結果を表し、三角形のシンボル(b)は、各変分パラメータを折れ線で接続した場合のシミュレーション結果を表す。
【0069】
図15を参照すると、Iteration=2~4のとき、シンボル(a)のエネルギー期待値が、シンボル(b)のエネルギー期待値より低くなっている。また、図16を参照すると、シンボル(a)のフィデリティが、シンボル(b)のフィデリティより高くなっている。したがって、多項式関数でフィッティングを行った場合の方が、スケジュール関数C(t/T)がより早く最適化されることがわかる。
【0070】
また、Iteration=10のとき、シンボル(a)のエネルギー期待値が、シンボル(b)のエネルギー期待値よりも低くなっている。また、シンボル(a)のフィデリティは、シンボル(b)のフィデリティよりも高くなっている。よって、多項式関数でフィッティングを行った場合の方が、量子アニーリングをより効率化できることがわかる。
【0071】
最後に、実施形態2の効果について説明する。発明者は、滑らかな関数の下でシュレディンガー方程式を適切に数値計算することにより、ハイブリッドアルゴリズムの効果を適切に評価した。得られた評価結果より、実施形態2にかかる演算方法は、実機においても効果を有し、LHZ模型上の量子アニーリングを効率化できる。
【0072】
フィッティング手法は、スプライン補間、放射基底関数を用いる補間等、滑らかな関数を作成する補間方法であってもよい。なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【0073】
(ハードウェアの構成例)
図17は、演算装置100及び100aを実現するためのハードウェア構成を例示する図である。演算装置100及び100aは、プロセッサ1001、メモリ1002、及び量子ビット回路1003、を備える。プロセッサ1001は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、又はFPGA(Field-Programmable Gate Array)などの種々のプロセッサである。プロセッサは、常温におかれた半導体装置でもよく、数mKから数K程度の極低温に冷却された超電導回路であってもよい。演算部110における量子計算以外の処理は、プロセッサ1001がメモリ1002に記憶されたプログラムを読み込んで実行することにより実現されてもよい。量子ビット回路1003は、量子アニーリング中に、量子ビット回路の量子揺らぎと量子ビット間の結合の強さと磁場を制御する。
【0074】
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体は、例えば、磁気記録媒体、光磁気記録媒体、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリを含む。磁気記録媒体は、例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブなどである。光磁気記録媒体は、例えば光磁気ディスクなどである。半導体メモリは、例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory)などである。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【0075】
100、100a 演算装置
110 演算部
111 量子計算部
1111 制御部
1112 量子アニール部
1113 読み出し部
112 情報処理部
1001 プロセッサ
1002 メモリ
1003 量子ビット回路
a1~a6、c12~c56 量子ビット
b12~b56 結合
d1~d10 相互作用
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17