(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025055825
(43)【公開日】2025-04-08
(54)【発明の名称】期待値算出システム、期待値算出装置、及び期待値算出方法
(51)【国際特許分類】
G06N 10/60 20220101AFI20250401BHJP
G06N 10/70 20220101ALI20250401BHJP
【FI】
G06N10/60
G06N10/70
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023165202
(22)【出願日】2023-09-27
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】飯嶋 直輝
(57)【要約】
【課題】量子コンピュータを用いた期待値計算の計算精度を向上させる。
【解決手段】量子コンピュータは、量子回路を用いて計算対象の期待値を計算する。更新部は、量子コンピュータから期待値を取得し、期待値に基づいて量子回路のパラメータを更新することで更新後のパラメータを求め、更新後のパラメータを適用した量子回路を用いて期待値を計算するように量子コンピュータを制御する更新処理を行う。更新部は、更新処理を所定回数行うことで、特定のパラメータを求める。計算部は、特定のパラメータを適用した量子回路を用いて、量子コンピュータよりも高い精度で期待値を計算する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
量子回路を用いて計算対象の期待値を計算する量子コンピュータと、
前記量子コンピュータから前記期待値を取得し、前記期待値に基づいて前記量子回路のパラメータを更新することで更新後のパラメータを求め、前記更新後のパラメータを適用した前記量子回路を用いて前記期待値を計算するように前記量子コンピュータを制御する更新処理を、所定回数行うことで、特定のパラメータを求める更新部と、
前記特定のパラメータを適用した前記量子回路を用いて、前記量子コンピュータよりも高い精度で前記期待値を計算する計算部と、
を備えることを特徴とする期待値算出システム。
【請求項2】
前記計算部は、量子シミュレータを用いて前記期待値を計算することを特徴とする請求項1記載の期待値算出システム。
【請求項3】
前記計算部は、誤り訂正機能を有する量子コンピュータであることを特徴とする請求項1記載の期待値算出システム。
【請求項4】
前記更新部は、前記量子コンピュータから取得された前記期待値が収束したときのパラメータを、前記特定のパラメータとして求めることを特徴とする請求項1乃至3の何れか1項に記載の期待値算出システム。
【請求項5】
量子回路を用いて計算対象の期待値を計算する量子コンピュータから、前記期待値を取得し、前記期待値に基づいて前記量子回路のパラメータを更新することで更新後のパラメータを求め、前記更新後のパラメータを適用した前記量子回路を用いて前記期待値を計算するように前記量子コンピュータを制御する更新処理を、所定回数行うことで、特定のパラメータを求める更新部と、
前記特定のパラメータを適用した前記量子回路を用いて、前記量子コンピュータよりも高い精度で前記期待値を計算する計算部と、
を備えることを特徴とする期待値算出装置。
【請求項6】
量子コンピュータが、量子回路を用いて計算対象の期待値を計算し、
更新部が、前記量子コンピュータから前記期待値を取得し、前記期待値に基づいて前記量子回路のパラメータを更新することで更新後のパラメータを求め、前記更新後のパラメータを適用した前記量子回路を用いて前記期待値を計算するように前記量子コンピュータを制御する更新処理を、所定回数行うことで、特定のパラメータを求め、
計算部が、前記特定のパラメータを適用した前記量子回路を用いて、前記量子コンピュータよりも高い精度で前記期待値を計算する、
ことを特徴とする期待値算出方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、量子コンピュータを用いた期待値算出技術に関する。
【背景技術】
【0002】
量子コンピュータは、量子力学の現象を利用して計算を実現するコンピュータである。量子コンピュータは、量子アルゴリズムを記述した量子計算モデルである量子回路を用いて、計算対象の期待値を計算することがある。
【0003】
量子コンピュータに関して、量子デバイスのノイズ除去方法が知られている(例えば、特許文献1を参照)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
量子コンピュータの一例として、NISQ(Noisy Intermediate-Scale Quantum)デバイスが知られている。NISQデバイスは、数十個から数百個程度の量子ビットを用いた中規模の量子コンピュータである。
【0006】
NISQデバイスでは、量子エラーの訂正が不十分であるか又はまったく行われないため、ノイズの影響によって期待値の計算結果が変動する。ノイズの影響は、量子アルゴリズムを記述した量子計算モデルである量子回路の大きさに依存する。量子回路の大きさは、例えば、量子ビットの個数及びゲートの個数により表される。
【0007】
なお、かかる問題は、NISQデバイスによる期待値計算に限らず、ノイズの影響を受ける様々な量子コンピュータによる期待値計算において生ずるものである。
【0008】
1つの側面において、本発明は、量子コンピュータを用いた期待値計算の計算精度を向上させることを目的とする。
【課題を解決するための手段】
【0009】
1つの案では、期待値算出システムは、量子コンピュータ、更新部、及び計算部を含む。量子コンピュータは、量子回路を用いて計算対象の期待値を計算する。
【0010】
更新部は、量子コンピュータから期待値を取得し、期待値に基づいて量子回路のパラメータを更新することで更新後のパラメータを求め、更新後のパラメータを適用した量子回路を用いて期待値を計算するように量子コンピュータを制御する更新処理を行う。更新部は、更新処理を所定回数行うことで、特定のパラメータを求める。
【0011】
計算部は、特定のパラメータを適用した量子回路を用いて、量子コンピュータよりも高い精度で期待値を計算する。
【発明の効果】
【0012】
1つの側面によれば、量子コンピュータを用いた期待値計算の計算精度を向上させることができる。
【図面の簡単な説明】
【0013】
【
図3】実施形態の期待値算出システムの機能的構成図である。
【
図4】実施形態の第1の量子コンピュータシステムの構成図である。
【
図6】量子コンピュータのハードウェア構成図である。
【
図9】パラメータを用いて計算された期待値を示す図である。
【
図10】分子の基底エネルギーの計算結果を示す図である。
【
図12】実施形態の第2の量子コンピュータシステムの構成図である。
【
図14】情報処理装置のハードウェア構成図である。
【発明を実施するための形態】
【0014】
以下、図面を参照しながら、実施形態を詳細に説明する。
【0015】
NISQデバイス向けの変分アルゴリズムとして、変分量子アルゴリズム(Variational Quantum Algorithm,VQA)が知られている。VQAは、量子コンピュータと古典コンピュータとを交互に用いるアルゴリズムである。VQAは、量子化学計算、組み合わせ最適化問題等の様々な分野で利用される。
【0016】
図1は、第1のVQAの例を示している。量子コンピュータ101は、量子回路の計算を実行することで計算対象の期待値を計算する。例えば、量子化学計算の場合、分子の基底エネルギー、電子の位置等の物理量が、計算対象として用いられる。
【0017】
古典コンピュータ102は、量子コンピュータ101から出力される期待値を取得し、取得された期待値に基づいて量子回路のパラメータを更新する。そして、古典コンピュータ102は、更新後のパラメータを量子コンピュータ101へ出力する。量子コンピュータ101は、更新後のパラメータを量子回路に設定して、量子回路の計算を再度実行する。
【0018】
このような更新処理を期待値が収束するまで繰り返すことで、適切なパラメータが設定された量子回路を生成することができる。VQAでは量子コンピュータ101と古典コンピュータ102とが交互に用いられるため、量子コンピュータ101が比較的小さな量子回路を用いたNISQデバイスである場合でも、期待値計算を行うことができる。
【0019】
しかしながら、量子コンピュータ101がNISQデバイスである場合、ノイズの影響によって、量子コンピュータ101から出力される期待値の精度が低下する。この場合、精度が低い期待値に基づいて期待値が収束したか否かを判定することは難しいため、古典コンピュータ102によるパラメータの最適化が困難になる。量子回路の規模が大きくなるほど、期待値の精度が低下する度合いは大きくなる。
【0020】
そこで、期待値の精度低下を防止するために、量子コンピュータ101の代わりに量子シミュレータを用いることも可能である。量子シミュレータは、量子コンピュータ101による量子ビットの計算を古典コンピュータ上で模擬するプログラムであり、ノイズを含まない量子ビットの計算を行うことができる。量子シミュレータは、量子コンピュータシミュレータと呼ばれることもある。
【0021】
図2は、第2のVQAの例を示している。
図2のVQAでは、
図1の量子コンピュータ101の代わりに量子シミュレータ201が用いられる。量子シミュレータ201は、量子回路の計算を実行することで計算対象の期待値を計算する。
【0022】
古典コンピュータ102は、量子シミュレータ201から出力される期待値を取得し、取得された期待値に基づいて量子回路のパラメータを更新する。そして、古典コンピュータ102は、更新後のパラメータを量子シミュレータ201に入力する。量子シミュレータ201は、更新後のパラメータを量子回路に設定して、量子回路の計算を再度実行する。
【0023】
量子シミュレータ201を用いることで、ノイズのない期待値計算を行うことができるため、期待値の精度が向上する。したがって、古典コンピュータ102によるパラメータの最適化が容易になる。
【0024】
しかしながら、量子シミュレータ201による期待値計算は負荷が大きいため、量子ビットの増加に伴って計算時間が指数関数的に増加する。このため、期待値が収束するまで、長い時間がかかる期待値計算が繰り返されることになる。
【0025】
図3は、実施形態の期待値算出システムの機能的構成例を示している。
図3の期待値算出システム301は、量子コンピュータ311、更新部312、及び計算部313を含む。量子コンピュータ311は、量子回路を用いて計算対象の期待値を計算する。
【0026】
更新部312は、量子コンピュータ311から期待値を取得し、期待値に基づいて量子回路のパラメータを更新することで更新後のパラメータを求め、更新後のパラメータを適用した量子回路を用いて期待値を計算するように量子コンピュータを制御する更新処理を行う。更新部312は、更新処理を所定回数行うことで、特定のパラメータを求める。
【0027】
計算部313は、特定のパラメータを適用した量子回路を用いて、量子コンピュータ311よりも高い精度で期待値を計算する。
【0028】
図3の期待値算出システムによれば、量子コンピュータを用いた期待値計算の計算精度を向上させることができる。
【0029】
図4は、実施形態の第1の量子コンピュータシステムの構成例を示している。
図4の量子コンピュータシステムは、
図3の期待値算出システム301に対応し、VQAを用いて計算対象の期待値を計算する。VQAとしては、変分量子固有値ソルバ(Variational Quantum Eigensolver,VQE)、量子近似最適化アルゴリズム(Quantum Approximate Optimization Algorithm,QAOA)、量子ニューラルネットワーク(Quantum Neural Network,QNN)等が用いられる。
【0030】
図4の量子コンピュータシステムは、量子コンピュータ401及びサーバ402を含む。量子コンピュータ401及びサーバ402は、ハードウェアである。量子コンピュータ401は、
図3の量子コンピュータ311に対応し、例えば、NISQデバイスである。サーバ402は、古典コンピュータである。
【0031】
サーバ402は、通信回線403を介して量子コンピュータ401と通信する。まず、サーバ402は、複数の量子ビットそれぞれの初期値と、計算対象に応じた量子回路の情報とを、量子コンピュータ401へ送信する。
【0032】
量子コンピュータ401は、各量子ビットの初期値に対して、量子回路の情報が示す量子ビット操作を行うことで、計算対象の期待値を示す各量子ビットの値を求める。そして、量子コンピュータ401は、求められた各量子ビットの値をサーバ402へ送信する。
【0033】
サーバ402は、受信した各量子ビットの値が示す期待値に基づいて、量子回路のパラメータを更新し、更新後のパラメータを含む量子回路の情報を、量子コンピュータ401へ送信する。
【0034】
量子コンピュータ401は、各量子ビットの初期値に対して、更新後のパラメータを含む量子回路の情報が示す量子ビット操作を行うことで、計算対象の期待値を示す各量子ビットの値を求める。これにより、計算対象の期待値が更新される。
【0035】
サーバ402は、このような更新処理を複数回繰り返すことで、量子回路のパラメータ値を決定する。そして、サーバ402は、決定されたパラメータ値を適用した量子回路を用いて、量子シミュレータにより計算対象の期待値を計算する。
【0036】
図5は、量子回路の例を示している。
図5の量子回路は、アンザッツ(ansatz)501、演算子回路502、及び測定回路503を含む。アンザッツ501は、初期化回路511及び生成回路512を含み、量子回路のパラメータを用いて量子状態を生成する。アンザッツ501は、第1回路の一例であり、演算子回路502は、第2回路の一例である。
【0037】
初期化回路511は、各量子ビットに初期値を設定する。
図5の例では、各量子ビットの初期値は、論理値“0”である。生成回路512は、複数の量子ゲートを含み、複数の量子ビットそれぞれの初期値から、試行状態を生成する。試行状態は、VQAの試行関数となる量子状態を表す。生成回路512の各量子ゲートは、回転角θに応じた量子ビット操作を行う。回転角θは、量子ゲート毎に異なる値を有する。回転角θは、量子回路のパラメータの一例である。
【0038】
演算子回路502は、計算対象の演算子を表す複数の量子ゲートを含み、アンザッツ501により生成された試行状態から、演算子の期待値を計算する。測定回路503は、演算子回路502により計算された期待値を測定し、測定された期待値を示す各量子ビットの値を出力する。出力される各量子ビットの値は、論理値“0”又は論理値“1”である。
【0039】
例えば、量子化学計算において、計算対象が分子の基底エネルギーである場合、試行状態は、分子の電子状態に対応し、計算対象の演算子は、分子のエネルギーのハミルトニアンに対応する。また、組み合わせ最適化問題において、計算対象が目的関数の最大値又は最小値である場合、試行状態は、解の候補に対応し、計算対象の演算子は、目的関数に対応する。
【0040】
図6は、
図4の量子コンピュータ401のハードウェア構成例を示している。
図6の量子コンピュータ401は、通信インタフェース611、制御装置612、及び量子システム613を含む。これらの構成要素は、ハードウェアである。
【0041】
通信インタフェース611は、通信回線403に接続され、通信に伴うデータ変換を行う通信回路である。量子システム613は、複数の量子ビットを実現する量子デバイスを含む。
【0042】
通信インタフェース611は、サーバ402から、複数の量子ビットそれぞれの初期値と量子回路の情報とを受信し、制御装置612へ出力する。制御装置612は、各量子ビットの初期値と量子回路の情報とを用いて制御信号を生成し、量子システム613へ出力する。
【0043】
量子システム613は、制御信号に従って量子ビット操作を行うことで、各量子ビットの初期値から、計算対象の期待値を示す各量子ビットの値を求める。そして、制御装置612は、量子システム613により求められた各量子ビットの値を、通信インタフェース611を介してサーバ402へ送信する。
【0044】
その後、通信インタフェース611は、サーバ402から、更新後のパラメータを含む量子回路の情報を受信し、制御装置612へ出力する。更新後のパラメータを含む量子回路の情報は、例えば、更新後の回転角θが設定された生成回路512の情報である。制御装置612は、各量子ビットの初期値と量子回路の情報とを用いて制御信号を生成し、量子システム613へ出力する。
【0045】
量子システム613は、制御信号に従って量子ビット操作を行うことで、各量子ビットの初期値から、更新された期待値を示す各量子ビットの値を求める。そして、制御装置612は、量子システム613により求められた各量子ビットの値を、通信インタフェース611を介してサーバ402へ送信する。
【0046】
図7は、
図4のサーバ402の第1の機能的構成例を示している。
図7のサーバ402は、通信部711、更新部712、計算部713、出力部714、及び記憶部715を含む。更新部712及び計算部713は、
図3の更新部312及び計算部313にそれぞれ対応する。
【0047】
通信部711は、通信回線403を介して量子コンピュータ401と通信する。記憶部715は、量子回路のパラメータ721を記憶する。
【0048】
まず、更新部712は、複数の量子ビットそれぞれの初期値と、パラメータ721の初期値を含む量子回路の情報とを、通信部711を介して量子コンピュータ401へ送信する。そして、更新部712は、計算対象の期待値を示す各量子ビットの値を、通信部711を介して量子コンピュータ401から受信することで、量子コンピュータ401から期待値を取得する。
【0049】
次に、更新部712は、各量子ビットの値が示す期待値に基づいて、期待値が最適値に近づくようにパラメータ721を更新する。更新部712は、最急降下法等の勾配法を用いて、パラメータ721を更新してもよい。期待値の最適値は、例えば、分子のエネルギーの最小値であってもよく、目的関数の最大値又は最小値であってもよい。
【0050】
次に、更新部712は、更新後のパラメータ721を含む量子回路の情報を量子コンピュータ401へ送信することで、更新後のパラメータ721を適用した量子回路を用いて期待値を計算するように量子コンピュータ401を制御する。そして、更新部712は、更新された期待値を示す各量子ビットの値を量子コンピュータ401から受信する。
【0051】
更新部712は、このような更新処理を複数回繰り返すことで、パラメータ721の最終値を決定する。更新部712は、期待値が収束したときのパラメータ721の値を最終値に決定してもよく、更新処理を規定回数繰り返すことで得られたパラメータ721の値を最終値に決定してもよい。
【0052】
期待値が収束するまで更新処理を繰り返すことで、期待値が収束する前に更新処理を終了した場合よりも、パラメータ721の最終値が最適値に近くなる。パラメータ721の最終値は、特定のパラメータの一例である。
【0053】
次に、計算部713は、パラメータ721の最終値を適用した量子回路を用いて、量子シミュレータにより計算対象の期待値を計算する。量子シミュレータは、量子コンピュータ401におけるノイズの影響を受けないため、量子コンピュータ401よりも高い精度で期待値を計算することができる。量子シミュレータを用いた期待値計算は、1回だけ実行される。
【0054】
出力部714は、計算部713により計算された期待値を出力する。組み合わせ最適化問題の場合、出力部714は、目的関数の最大値又は最小値を期待値として出力するとともに、期待値に対応する解も併せて出力する。
【0055】
図8は、
図7のパラメータ721の変化の例を示している。この例では、量子コンピュータ401は、NISQデバイスである。横軸は、更新処理のイタレーションの回数を表し、縦軸は、パラメータ721の値を表す。破線801は、期待値の最適値に対応するパラメータ721の最適値を表し、曲線802は、更新処理のイタレーションに伴うパラメータ721の変化を表す。
【0056】
この例では、更新処理を複数回繰り返すことで得られたパラメータ721の最終値803が、破線801が示す最適値に近づいており、最終値803と最適値との誤差が小さくなっている。このように、期待値が収束したか否かを判定することが難しい場合であっても、更新処理を複数回繰り返すことで、パラメータ721の最終値803が最適値に近づくことが多い。
【0057】
図9は、パラメータ721を用いて計算された期待値の例を示している。
図9(a)は、
図8に示したパラメータ721の変化に伴って変化する期待値の例を示している。横軸は、更新処理のイタレーションの回数を表し、縦軸は、期待値を表す。破線901は、期待値の最適値を表し、曲線902は、更新処理のイタレーションに応じて量子コンピュータ401により計算される期待値の変化を表す。
【0058】
この例では、量子コンピュータ401におけるノイズの影響により、更新処理を複数回繰り返すことで得られた期待値903と、破線901が示す最適値との誤差が大きくなっている。このように、量子コンピュータ401がNISQデバイスである場合、パラメータ721の最終値803が最適値に近づいたとしても、ノイズの影響によって、最終値803を用いて量子コンピュータ401により計算される期待値903の精度が低下する。
【0059】
図9(b)は、パラメータ721の最終値803を適用した量子回路を用いて、量子シミュレータにより計算された期待値の例を示している。横軸は、更新処理のイタレーションの回数を表し、縦軸は、期待値を表す。破線901は、期待値の最適値を表し、期待値904は、更新処理のイタレーションが終了した後に、量子シミュレータにより計算された期待値を表す。
【0060】
期待値904は量子コンピュータ401におけるノイズの影響を受けないため、期待値904と破線901が示す最適値との誤差は、
図9(a)の期待値903と最適値との誤差よりも小さくなっている。このように、量子コンピュータ401がNISQデバイスである場合でも、パラメータ721の最終値803が最適値に近づいていれば、最終値803を用いて量子シミュレータにより計算される期待値904の精度が高くなる。
【0061】
なお、パラメータ721の最終値が最適値にあまり近くない場合であっても、量子シミュレータにより計算される期待値の精度は、同じ最終値を用いて量子コンピュータ401により計算される期待値の精度よりも高くなる。したがって、
図4の量子コンピュータシステムによれば、VQAにより求められたパラメータ721の最終値を用いて、ノイズのない量子シミュレータにより期待値計算を行うことで、計算された期待値の精度が向上する。
【0062】
図10は、量子化学計算における分子の基底エネルギーの計算結果の例を示している。縦軸は、計算された期待値と最適値との誤差(hartree)を表す。H2は、2個の水素原子が結合した水素分子を表し、LiHは、水素化リチウムの分子を表し、Hchain4は、4個の水素原子が結合した分子を表す。
【0063】
この例では、VQEを用いてパラメータ721が更新されている。電子状態を表す基底関数としては、sto-3gが用いられ、アンザッツとしては、UCCSD(Unitary Coupled-Cluster Singles and Doubles)が用いられている。また、最適化方法としては、SPSA(Simultaneous Perturbation Stochastic Approximation)が用いられている。
【0064】
棒1001、棒1002、及び棒1003は、パラメータ721の最終値を用いて量子コンピュータ401により計算された期待値の誤差を表す。棒1011、棒1012、及び棒1013は、パラメータ721の最終値を用いて量子シミュレータにより計算された期待値の誤差を表す。
【0065】
棒1011が表す誤差は、棒1001が表す誤差よりも小さく、棒1012が表す誤差は、棒1002が表す誤差よりも小さく、棒1013が表す誤差は、棒1003が表す誤差よりも小さい。したがって、何れの分子についても、量子シミュレータにより期待値計算を行うことで、基底エネルギーの期待値の精度が向上している。
【0066】
図11は、
図4の量子コンピュータシステムが行う期待値計算処理の例を示すフローチャートである。まず、サーバ402の更新部712は、複数の量子ビットそれぞれの初期値を決定し、各量子ビットの初期値と、パラメータ721の初期値を含む量子回路の情報とを、量子コンピュータ401へ送信する(ステップ1101)。
【0067】
次に、量子コンピュータ401は、量子回路の情報を用いて量子ビット操作を行うことで、各量子ビットの初期値から、計算対象の期待値を示す各量子ビットの値を求める(ステップ1102)。そして、量子コンピュータ401は、期待値を示す各量子ビットの値をサーバ402へ送信する。
【0068】
次に、サーバ402の更新部712は、各量子ビットの値が示す期待値に基づいて、期待値が最適値に近づくようにパラメータ721を更新し(ステップ1103)、終了条件が満たされたか否かをチェックする(ステップ1104)。
【0069】
終了条件は、期待値が収束したことを示す条件であってもよく、パラメータ721の更新回数が規定回数に達したことを示す条件であってもよい。更新部712は、例えば、各量子ビットの値が示す期待値と、過去に受信した各量子ビットの値が示す期待値との差分が、所定値よりも小さい場合、期待値が収束したと判定する。規定回数は、例えば、1以上の整数である。
【0070】
終了条件が満たされていない場合(ステップ1104,NO)、更新部712は、更新後のパラメータ721を含む量子回路の情報を量子コンピュータ401へ送信する(ステップ1108)。
【0071】
量子コンピュータ401は、更新後のパラメータ721を含む量子回路の情報を用いて量子ビット操作を行うことで、各量子ビットの初期値から、更新された期待値を示す各量子ビットの値を求める(ステップ1102)。そして、量子コンピュータシステムは、ステップ1103以降の処理を繰り返す。
【0072】
終了条件が満たされた場合(ステップ1104,YES)、更新部712は、更新後のパラメータ721を最終値に決定する(ステップ1105)。
【0073】
次に、計算部713は、記憶部715からパラメータ721の最終値を取得し、その最終値を適用した量子回路を用いて、量子シミュレータにより計算対象の期待値を計算する(ステップ1106)。そして、出力部714は、計算部713により計算された期待値を出力する(ステップ1107)。出力部714は、期待値に対応する解を併せて出力してもよい。
【0074】
図12は、実施形態の第2の量子コンピュータシステムの構成例を示している。
図12の量子コンピュータシステムは、
図3の期待値算出システム301に対応し、
図4の量子コンピュータシステムにFTQC(Fault Tolerant Quantum Computer)1201を追加した構成を有する。FTQC1201は、ハードウェアであり、誤り訂正機能を有する量子コンピュータである。FTQC1201は、
図3の計算部313に対応する。
【0075】
サーバ402は、通信回線1202を介してFTQC1201と通信する。サーバ402は、
図4の量子コンピュータシステムと同様の更新処理を複数回繰り返すことで、量子回路のパラメータ値を決定する。そして、サーバ402は、各量子ビットの初期値と、決定されたパラメータ値を含む量子回路の情報とを、FTQC1201へ送信する。
【0076】
FTQC1201は、各量子ビットの初期値に対して、量子回路の情報が示す量子ビット操作を行うことで、計算対象の期待値を示す各量子ビットの値を求める。そして、FTQC1201は、求められた各量子ビットの値をサーバ402へ送信する。
【0077】
FTQC1201は、量子コンピュータ401とは異なり、誤り訂正機能を有するため、量子コンピュータ401よりも高い精度で期待値を計算することができる。FTQC1201による期待値計算は、1回だけ実行される。FTQC1201のハードウェア構成は、
図6の量子コンピュータ401のハードウェア構成と同様である。
【0078】
組み合わせ最適化問題の場合、FTQC1201は、期待値に対応する解を示す各量子ビットの値もサーバ402へ送信する。
【0079】
図13は、
図12のサーバ402の第2の機能的構成例を示している。
図13のサーバ402は、
図7のサーバ402から計算部713を削除した構成を有する。通信部711は、通信回線1202を介してFTQC1201と通信する。
【0080】
更新部712は、
図4の量子コンピュータシステムと同様の更新処理を複数回繰り返すことで、パラメータ721の最終値を決定する。そして、更新部712は、各量子ビットの初期値と、パラメータ721の最終値を含む量子回路の情報とを、通信部711を介してFTQC1201へ送信する。
【0081】
更新部712は、通信部711を介して、計算対象の期待値を示す各量子ビットの値をFTQC1201から受信し、各量子ビットの値が示す期待値を取得する。出力部714は、取得された期待値を出力する。
【0082】
組み合わせ最適化問題の場合、更新部712は、期待値に対応する解を示す各量子ビットの値も併せて、FTQC1201から受信し、各量子ビットの値が示す解を取得する。そして、出力部714は、取得された解も併せて出力する。
【0083】
図3の期待値算出システム301の構成は一例に過ぎず、期待値算出システムの用途又は条件に応じて一部の構成要素を省略又は変更してもよい。
【0084】
図4及び
図12の量子コンピュータシステムの構成は一例に過ぎず、量子コンピュータシステムの用途又は条件に応じて一部の構成要素を省略又は変更してもよい。
図6の量子コンピュータ401の構成は一例に過ぎず、量子コンピュータシステムの用途又は条件に応じて一部の構成要素を省略又は変更してもよい。
図7及び
図13のサーバ402の構成は一例に過ぎず、量子コンピュータシステムの用途又は条件に応じて一部の構成要素を省略又は変更してもよい。
【0085】
図11のフローチャートは一例に過ぎず、量子コンピュータシステムの構成又は条件に応じて、一部の処理を省略又は変更してもよい。
【0086】
図1及び
図2に示したVQAは一例に過ぎず、別の方法でVQAを実装してもよい。
図5に示した量子回路は一例に過ぎず、量子回路は、計算対象に応じて変化する。
図8に示したパラメータ721と
図9に示した期待値は一例に過ぎず、計算されるパラメータ721及び期待値は、計算対象に応じて変化する。
図10に示した計算結果は一例に過ぎず、基底エネルギーの計算結果は、分子に応じて変化する。
【0087】
図14は、
図7及び
図13のサーバ402として用いられる情報処理装置(コンピュータ)のハードウェア構成例を示している。
図14の情報処理装置は、CPU(Central Processing Unit)1401、メモリ1402、入力装置1403、出力装置1404、補助記憶装置1405、媒体駆動装置1406、及びネットワーク接続装置1407を含む。これらの構成要素はハードウェアであり、バス1408により互いに接続されている。
【0088】
メモリ1402は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)等の半導体メモリであり、処理に用いられるプログラム及びデータを記憶する。メモリ1402は、
図7及び
図13の記憶部715として動作してもよい。
【0089】
CPU1401(プロセッサ)は、例えば、メモリ1402を利用してプログラムを実行することにより、
図7及び
図13の更新部712、及び
図7の計算部713として動作する。
【0090】
入力装置1403は、例えば、キーボード、ポインティングデバイス等であり、ユーザ又はオペレータからの指示又は情報の入力に用いられる。出力装置1404は、例えば、表示装置、プリンタ等であり、ユーザ又はオペレータへの問い合わせ又は指示、及び処理結果の出力に用いられる。処理結果は、計算対象の期待値であってもよい。出力装置1404は、
図7及び
図13の出力部714として動作してもよい。
【0091】
補助記憶装置1405は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置1405は、ハードディスクドライブ又はSSD(Solid State Drive)であってもよい。情報処理装置は、補助記憶装置1405にプログラム及びデータを格納しておき、それらをメモリ1402にロードして使用することができる。補助記憶装置1405は、
図7及び
図13の記憶部715として動作してもよい。
【0092】
媒体駆動装置1406は、可搬型記録媒体1409を駆動し、その記録内容にアクセスする。可搬型記録媒体1409は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体1409は、CD-ROM(Compact Disk Read Only Memory)、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリ等であってもよい。ユーザ又はオペレータは、可搬型記録媒体1409にプログラム及びデータを格納しておき、それらをメモリ1402にロードして使用することができる。
【0093】
このように、処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体は、メモリ1402、補助記憶装置1405、又は可搬型記録媒体1409のような、物理的な(非一時的な)記録媒体である。
【0094】
ネットワーク接続装置1407は、通信回線403及び通信回線1202に接続され、通信に伴うデータ変換を行う通信回路である。ネットワーク接続装置1407は、
図7及び
図13の出力部714として動作してもよい。情報処理装置は、ネットワーク接続装置1407を介して、外部の装置からプログラム及びデータを受信し、それらをメモリ1402にロードして使用することができる。
【0095】
なお、情報処理装置が
図14のすべての構成要素を含む必要はなく、情報処理装置の用途又は条件に応じて一部の構成要素を省略することも可能である。例えば、ユーザ又はオペレータとのインタフェースが不要である場合は、入力装置1403及び出力装置1404を省略してもよい。可搬型記録媒体1409を使用しない場合は、媒体駆動装置1406を省略してもよい。
【0096】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【0097】
図1乃至
図14を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
(付記1)
量子回路を用いて計算対象の期待値を計算する量子コンピュータと、
前記量子コンピュータから前記期待値を取得し、前記期待値に基づいて前記量子回路のパラメータを更新することで更新後のパラメータを求め、前記更新後のパラメータを適用した前記量子回路を用いて前記期待値を計算するように前記量子コンピュータを制御する更新処理を、所定回数行うことで、特定のパラメータを求める更新部と、
前記特定のパラメータを適用した前記量子回路を用いて、前記量子コンピュータよりも高い精度で前記期待値を計算する計算部と、
を備えることを特徴とする期待値算出システム。
(付記2)
前記計算部は、量子シミュレータを用いて前記期待値を計算することを特徴とする付記1記載の期待値算出システム。
(付記3)
前記計算部は、誤り訂正機能を有する量子コンピュータであることを特徴とする付記1記載の期待値算出システム。
(付記4)
前記更新部は、前記量子コンピュータから取得された前記期待値が収束したときのパラメータを、前記特定のパラメータとして求めることを特徴とする付記1乃至3の何れか1項に記載の期待値算出システム。
(付記5)
前記量子回路は、前記量子回路のパラメータを用いて量子状態を生成する第1回路と、前記量子状態から前記期待値を計算する第2回路とを含むことを特徴とする付記1乃至3の何れか1項に記載の期待値算出システム。
(付記6)
量子回路を用いて計算対象の期待値を計算する量子コンピュータから、前記期待値を取得し、前記期待値に基づいて前記量子回路のパラメータを更新することで更新後のパラメータを求め、前記更新後のパラメータを適用した前記量子回路を用いて前記期待値を計算するように前記量子コンピュータを制御する更新処理を、所定回数行うことで、特定のパラメータを求める更新部と、
前記特定のパラメータを適用した前記量子回路を用いて、前記量子コンピュータよりも高い精度で前記期待値を計算する計算部と、
を備えることを特徴とする期待値算出装置。
(付記7)
前記計算部は、量子シミュレータを用いて前記期待値を計算することを特徴とする付記6記載の期待値算出装置。
(付記8)
前記更新部は、前記量子コンピュータから取得された前記期待値が収束したときのパラメータを、前記特定のパラメータとして求めることを特徴とする付記6又は7記載の期待値算出装置。
(付記9)
前記量子回路は、前記量子回路のパラメータを用いて量子状態を生成する第1回路と、前記量子状態から前記期待値を計算する第2回路とを含むことを特徴とする付記6又は7記載の期待値算出装置。
(付記10)
量子コンピュータが、量子回路を用いて計算対象の期待値を計算し、
更新部が、前記量子コンピュータから前記期待値を取得し、前記期待値に基づいて前記量子回路のパラメータを更新することで更新後のパラメータを求め、前記更新後のパラメータを適用した前記量子回路を用いて前記期待値を計算するように前記量子コンピュータを制御する更新処理を、所定回数行うことで、特定のパラメータを求め、
計算部が、前記特定のパラメータを適用した前記量子回路を用いて、前記量子コンピュータよりも高い精度で前記期待値を計算する、
ことを特徴とする期待値算出方法。
(付記11)
前記量子コンピュータよりも高い精度で前記期待値を計算する処理は、量子シミュレータを用いて前記期待値を計算する処理を含むことを特徴とする付記10記載の期待値算出方法。
(付記12)
前記計算部は、誤り訂正機能を有する量子コンピュータであることを特徴とする付記10記載の期待値算出方法。
(付記13)
前記特定のパラメータを求める処理は、前記量子コンピュータから取得された前記期待値が収束したときのパラメータを、前記特定のパラメータとして求める処理を含むことを特徴とする付記10乃至12の何れか1項に記載の期待値算出方法。
(付記14)
前記量子回路は、前記量子回路のパラメータを用いて量子状態を生成する第1回路と、前記量子状態から前記期待値を計算する第2回路とを含むことを特徴とする付記10乃至12の何れか1項に記載の期待値算出方法。
【符号の説明】
【0098】
101、311、401 量子コンピュータ
102 古典コンピュータ
201 量子シミュレータ
301 期待値算出システム
312、712 更新部
313、713 計算部
402 サーバ
403、1202 通信回線
501 アンザッツ
502 演算子回路
503 測定回路
511 初期化回路
512 生成回路
611 通信インタフェース
612 制御装置
613 量子システム
711 通信部
714 出力部
715 記憶部
721 パラメータ
801、901 破線
802、902 曲線
803 最終値
903、904 期待値
1001~1003、1011~1013 棒
1401 CPU
1402 メモリ
1403 入力装置
1404 出力装置
1405 補助記憶装置
1406 媒体駆動装置
1407 ネットワーク接続装置
1408 バス
1409 可搬型記録媒体