(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-30
(45)【発行日】2023-09-07
(54)【発明の名称】二次制約なしバイナリ最適化問題を解くためのハイブリッド量子計算アーキテクチャ
(51)【国際特許分類】
G06N 10/60 20220101AFI20230831BHJP
G06N 99/00 20190101ALI20230831BHJP
【FI】
G06N10/60
G06N99/00 180
【外国語出願】
(21)【出願番号】P 2021151618
(22)【出願日】2021-09-16
【審査請求日】2022-01-28
(32)【優先日】2020-09-29
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】521124319
【氏名又は名称】テラ クアンタム アーゲー
【氏名又は名称原語表記】TERRA QUANTUM AG
(74)【代理人】
【識別番号】100109210
【氏名又は名称】新居 広守
(72)【発明者】
【氏名】パホムチク・アレクセイ
(72)【発明者】
【氏名】ペレルシュタイン・ミハイル
【審査官】渡辺 一帆
(56)【参考文献】
【文献】米国特許出願公開第2019/0164079(US,A1)
【文献】TAN, B et al.,“Qubit-efficient encoding schemes for binary optimisation problems”,arXiv.org [online],2020年07月03日,pp. 1-14,[retrieved on 2022.01.30], Retrieved from the Internet: <URL: https://arxiv.org/abs/2007.01774v1>,<DOI: 10.48550/arXiv.2007.01774>
【文献】RUDER, S,“An overview of gradient descent optimization algorithms”,arXiv.org [online],2017年,pp. 1-14,[retrieved on 2022.01.30], Retrieved from the Internet: <URL: https://arxiv.org/abs/1609.04747v2>,<DOI: 10.48550/arXiv.1609.04747>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 10/00-10/80
G06N 99/00
(57)【特許請求の範囲】
【請求項1】
二次制約なしバイナリ最適化問題の解のコスト関数の極値を決定するための量子計算ネットワークを動作させる方法において、
前記量子計算ネットワークは、量子ビットレジスタ内に、複数のレジスタ量子ビットおよび少なくとも1つのアンシラ量子ビットを含む、複数の量子ビットを備え、前記量子ビットに作用する複数の量子ゲート層をさらに備え、
前記方法は、
前記量子ビットを初期化するステップと、
前記量子ゲート層を前記量子ビットに順次適用するステップであって、各層は、複数の量子ビットに作用するマルチ量子ビット量子ゲート、ならびに、2つの固有値および前記量子ビットへの可変作用を持つ複数の変分量子ゲートを備え、前記量子ゲート層の前記変分量子ゲートの前記可変作用は、変分パラメータ
【数1】
のセットを形成する、ステップと、
変分パラメータ
【数2】
の前記セットに関連付けられた解を得るための前記量子計算ネットワークの出力状態を決定するステップであって、前記二次制約なしバイナリ最適化問題の各バイナリ変数は、前記レジスタ量子ビットの計算基底状態に関連付けられ、前記バイナリ変数に対応する前記計算基底状態を測定する前記確率を評価することによって、前記解が得られる、ステップとを含み、
ここで、
前記解は、
シフトされた変分パラメータ
【数3】
を有する前記量子ゲート層を順次適用するステップであって、前記シフトされた変分パラメータ
【数4】
は、シフトによってシフトされた前記変分パラメータ
【数5】
のサブセットを備えた、ステップと、
前記変分パラメータ
【数6】
の前記サブセットに関して偏導関数を評価するために、前記シフトされた変分パラメータ
【数7】
の前記出力状態を決定するステップと、
前記シフトされた変分パラメータ
【数8】
の前記出力状態に基づいて、前記コスト関数の勾配を決定するステップと、
前記コスト関数の前記勾配にわたる移動平均の更新関数、および前記コスト関数の前記二乗勾配にわたる移動平均の更新関数に基づいて、前記変分パラメータ
【数9】
を更新するステップと、
により、繰り返し改善される、方法。
【請求項2】
前記量子ゲート層は、各層内に量子ゲートの同じ配置を備え、各層内の前記量子ゲートは、特に、前記量子ビットレジスタのすべての量子ビットに、ともに作用する複数のマルチ量子ビット量子ゲートを備える、請求項1に記載の方法。
【請求項3】
量子ゲートの各層は、前記量子ビットレジスタの各量子ビットに作用する変分量子ビットゲートのセットを備え、変分量子ビットゲートの前記セットは、特に、変分単一量子ビットゲートのセットである、請求項1から2のいずれか一項に記載の方法。
【請求項4】
各層内の変分量子ビットゲートの数は、前記量子ビットレジスタ内の量子ビットの数に実質的に等しい、請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記レジスタ量子ビットの前記計算基底状態は、複数の前記レジスタ量子ビットの前記計算基底のテンソル積、特に、すべてのレジスタ量子ビットの前記計算基底のテンソル積である、請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記量子計算ネットワークの前記量子ビットは、N
c古典バイナリ変数を有する二次制約なしバイナリ最適化問題を解くために、対数(N
c)レジスタ量子ビット、および、N
aアンシラ量子ビットに配置される、請求項1から5のいずれか一項に記載の方法。
【請求項7】
前記解は、前記少なくとも1つのアンシラ量子ビットのアンシラ状態を測定する前記条件付き確率、および、前記バイナリ変数に対応する前記レジスタ量子ビットの前記計算基底状態のうちの1つを測定する前記条件付き確率、を評価することによって得られる、請求項1から6のいずれか一項に記載の方法。
【請求項8】
前記更新関数は、前記コスト関数の前記勾配にわたる前記移動平均に実質的に比例し、前記コスト関数の前記二乗勾配にわたる前記移動平均の前記平方根に実質的に反比例し、前記コスト関数の前記勾配にわたる前記移動平均、および前記コスト関数の前記二乗勾配にわたる移動平均は、特に、指数関数的に減衰する移動平均である、請求項1から7のいずれか一項に記載の方法。
【請求項9】
反復ステップtにおける前記更新関数は、
【数10】
と、数学的に等価であり、
m
tは、前記コスト関数の前記勾配にわたる前記移動平均に比例し、v
tは、前記コスト関数の前記二乗勾配にわたる前記移動平均に比例し、αは、学習速度ハイパーパラメータであり、
【数11】
は、前記更新の予測される大きさに対して小さい数である、請求項1から8のいずれか一項に記載の方法。
【請求項10】
【数12】
および
【数13】
であり、
ここで、β
1およびβ
2は、0から1の間の実数値であり、
【数14】
は、前記シフトされた変分パラメータ
【数15】
の前記出力状態に基づいて反復ステップtで決定された勾配であり、
【数16】
は、反復ステップtで決定された前記勾配の前記要素二乗であり、一方、m
t-1およびv
t-1は、それぞれ時間ステップt-1でのm
tおよび、v
tの前記以前に決定された値であり、そして、m
0およびv
0は、0である、請求項
1から9のいずれか一項に記載の方法。
【請求項11】
前記方法は、各変分ゲートに対して2回シフトされた変分パラメータ
【数17】
を有する前記量子ゲート層を順次適用するステップであって、前記シフトされた変分パラメータ
【数18】
は、前記変分パラメータ
【数19】
を更新する前に、前記勾配を決定するための前記変分パラメータ
【数20】
の各可変作用に対する偏導関数を評価するために、各変分ゲートに対して対称シフトによってシフトされた前記変分パラメータ
【数21】
のサブセットを備える、ステップを含む、請求項1から10のいずれか一項に記載の方法。
【請求項12】
前記変分量子ゲートの前記2つの固有値は、±1/2であり、前記シフトは、±π/2である、請求項1から11のいずれか一項に記載の方法。
【請求項13】
二次制約なしバイナリ最適化問題の解のコスト関数の極値を決定するための量子計算ネットワークを動作させる方法において、
前記量子計算ネットワークは、複数の量子ビットを備え、前記量子ビットに作用する量子ゲートの複数の層を、さらに備え、
前記方法は、
前記量子ビットを初期化するステップと、
前記量子ゲート層を前記量子ビットに順次適用するステップであって、各層は、複数の量子ビットに作用するマルチ量子ビット量子ゲート、および前記量子ビットに対して可変作用を有する複数の変分量子ゲートGを備え、前記量子ゲート層の前記変分量子ゲートの前記可変作用θ
jは、変分パラメータ
【数22】
のセットを形成する、ステップと、
変分パラメータ
【数23】
の前記セットに関連付けられた解を得るための前記量子計算ネットワークの出力状態を決定するステップであって、前記二次制約なしバイナリ最適化問題の各バイナリ変数は、前記レジスタ量子ビットの計算基底状態に関連付けられ、前記バイナリ変数に対応する前記計算基底状態を測定する前記条件付き確率を評価することによって、前記解が得られる、ステップとを含み、
ここで、前記解は、
前記量子ゲート層、および、アンシラ量子ビットの前記状態に基づいて条件付きで適用された追加量子ゲートA
kに適用するステップであって、前記追加量子ゲートは、Kが真の正値である、前記方程式
【数24】
を満たす、ステップと、
前記変分パラメータ
【数25】
の前記可変作用θ
jに関する前記量子ゲート層の偏導関数を評価するために、前記出力状態を決定するステップと、
前記量子ゲート層の前記偏導関数に基づいて、前記コスト関数の勾配を決定するステップと、
前記コスト関数の前記勾配にわたる移動平均の更新関数、および、前記コスト関数の前記二乗勾配にわたる移動平均の更新関数に基づいて、前記変分パラメータ
【数26】
を更新するステップと
により、繰り返し改善される、方法。
【請求項14】
二次制約なしバイナリ最適化問題の解のコスト関数の極値を決定するためのハイブリッド量子計算システムにおいて、
前記システムは、
量子計算ネットワークであって、
複数のレジスタ量子ビットを備える量子ビットレジスタと、
前記量子ビットレジスタの複数の量子ビットに作用するマルチ量子ゲートを含む、前記量子ビットレジスタの前記量子ビットに選択的に作用する複数の量子ゲートであって、前記量子ゲートは、前記量子ビットレジスタの前記量子ビットに対するそれぞれの可変作用を有する複数の変分量子ゲートを備え、前記可変作用は、変分パラメータ
【数27】
のセットを形成する、複数の量子ゲートと、
を備える量子計算ネットワークと、
コントローラであって、
前記量子ビットレジスタの前記量子ビットを初期化し、
前記変分パラメータ
【数28】
を有する層のシーケンスで、前記量子ビットレジスタに前記量子ゲートを適用し、各層は、出力状態を決定するための変分量子ゲートを備え、
シフトされた変分パラメータ
【数29】
に前記シーケンスを適用し、
前記シフトされた変分パラメータ
【数30】
は、シフトによってシフトされた前記変分パラメータ
【数31】
のサブセットを備え、前記シフトされた変分パラメータ
【数32】
に対する関連する出力状態を決定し、変分パラメータ
【数33】
の前記サブセットに関して偏導関数を評価するために、前記シフトされた変分パラメータ
【数34】
の前記出力状態を決定するように構成されおり、
および/または、
前記アンシラ量子ビットの状態に基づいて、前記量子ゲート層および追加量子ゲートA
kの層を条件付きで適用し、前記追加量子ゲートは、Kが真の正値である、方程式
【数35】
を満たし、前記変分パラメータ
【数36】
の前記可変作用θ
jに関する前記量子ゲート層の偏導関数を評価するために、前記出力状態を決定し、
前記偏導関数に基づいて、コスト関数の勾配を決定し、前記コスト関数は、前記出力状態で符号化された解にコストを関連付け、前記二次制約なしバイナリ最適化問題の各バイナリ変数は、前記レジスタ量子ビットの計算基底状態と関連付けられ、前記バイナリ変数に対応する前記計算基底状態を測定する前記条件付き確率を評価することによって前記解が得られ、
前記コスト関数の前記勾配にわたる移動平均の更新関数、および前記コスト関数の前記二乗勾配にわたる移動平均の更新関数に基づいて、前記変分パラメータ
【数37】
を更新するように構成されたコントローラと、を備えたシステム。
【請求項15】
機械可読命令を含むコンピュータプログラムであって、前記コンピュータプログラムが処理ユニットによって実行されると、前記処理ユニットに、請求項1から13のいずれか一項に記載の方法を実施させ、ならびに/あるいは、請求項14に記載のシステムを実施および/または制御させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、量子計算の分野に関する。より詳細には、本発明は、離散最適化問題の解を見つけるための量子計算アーキテクチャに関する。
【背景技術】
【0002】
量子コンピュータは、計算を実行するために、その状態および相互作用を制御することができる制御可能な量子力学システムのプラットフォームを提供する。計算は、制御可能な量子力学システムの決定論的発展によって実現され、量子力学システムの状態を測定して計算結果を決定できる。
【0003】
量子コンピュータは、一般に、古典ビットの量子力学的な等価物として作用する、いわゆる量子ビットで、情報を符号化する。量子ビットは、その量子力学的状態が計算時に2つの基底状態の間で(コヒーレントに)制御され(実質的に)保存され得る物理システムであり、以下では|0>および|1>と呼ばれる。一例として、量子ビットは、電子のスピン状態(例えば、電子が「アップ」状態または「ダウン」状態にある状態)で情報を符号化することによって実装され得るが、光子の偏光状態、(超伝導)発振器の状態、原子のエネルギーレベル、などでも符号化され得る。
【0004】
これらの量子ビットに対する制御動作は、量子ゲートと呼ばれる。量子ゲートは、単一の量子ビット状態の変化を引き起こす(いわゆる単一量子ビットゲート)ために、および、複数の量子ビットに作用する(いわゆるマルチ量子ビットゲート)ために、例えば、複数の量子ビット状態およびそれらの任意の組み合わせをもつれさせるために、量子ビットにコヒーレントに作用できる。例えば、単一量子ビットゲートは、選択可能な値(例えばπ/2)だけ、電子のスピン状態の回転を引き起すことができる。マルチ量子ビットゲートは、2つの量子ビット状態に対するコヒーレントCNOT演算など、2つ以上の量子ビットに対してコヒーレントに作用し得る。複数の量子ゲートは、計算を実行するために、並列にまたは順次に、量子コンピュータの量子ビットに適用できる。最後に、量子ビット状態は、量子ゲートのシーケンスを適用した後に、繰り返し測定され、計算で起こりうる結果の各々に対する確率を決定できる。
【0005】
古典コンピュータでは扱いにくいと考えられる問題の解を計算するために、量子コンピュータは、量子力学的状態の特別な特性(特に、異なる量子状態の重ね合わせ、および、もつれ)を活用して、比較的少ない計算ステップ数で解を見つけることができる。
【0006】
しかしながら、量子力学システムの重ね合わせ状態/もつれ状態は、本質的に揮発性である(例えば、量子デコヒーレンスに悩まされる)。そして、これらのシステムの制御および測定は、忠実度の余裕の影響を受けるため、制御可能な量子力学システム数(量子ビット)、および連続的に実行される制御動作の数(量子ゲート)、の両方において、最先端の量子コンピュータは、現在、限界がある。
【0007】
したがって、少ない量子ビット数および短いシーケンスの連続する計算動作の技術的制約内で有用な計算を実行するためには、多くの場合、量子力学的特性を巧妙に利用することが必要になる。
【0008】
グーグル量子AI研究所および協力者による「Quantum Approximate Optimization of Non-Planar Graph Problems on a Planar Superconducting Processor」(予稿、量子物理学/2004.04197、arxiv.org記載)では、接続された頂点のグラフの最大カット問題などの離散バイナリ最適化問題のための量子近似最適化アルゴリズムの実装を示している。量子プロセッサは、量子ゲート層のシーケンスを量子ビットレジスタに適用し、制御パラメータが、計算の複数の評価の二次適合からの古典的なフィードバックに基づいて、反復的に最適化される。
【0009】
Tanらによる「Qubit-efficient encoding schemes for binary optimisation problems」(予稿、量子物理学/2007.01774、arxiv.org記載)では、変分量子アルゴリズムを用いた二次制約なしバイナリ最適化(QUBO)タイプの問題を解くための符号化方式を教示しており、最適化問題の古典バイナリ変数は、量子ビットレジスタの計算基底状態、すなわち、量子ビットレジスタの状態のテンソル積により、またがった(スパン化された)状態に圧縮される。アンシラ量子ビットのある特定状態および計算基底状態のうちの1つを測定する条件付き確率を測定することによって、QUBO問題に対する解を調べることができる。この解は、コバイラ(COBYLA)アルゴリズムを介して得られる最良の性能を有する古典オプティマイザで最適化される。
【0010】
Schuldらによる「Evaluating analytical gradients on quantum hardware」(フィジカル・レビューA,99(3))では、一連のユニタリ展開における単一パラメータゲートに対する複合量子ゲートの偏導関数を決定するために、複合量子ゲートの調整されたセットの結果を調べることで、複合量子ゲートの勾配の評価を教示している。
【先行技術文献】
【非特許文献】
【0011】
【文献】グーグル量子AI研究所および協力者による「Quantum Approximate Optimization of Non-Planar Graph Problems on a Planar Superconducting Processor」(予稿、量子物理学/2004.04197、arxiv.org記載)
【文献】Tanらによる「Qubit-efficient encoding schemes for binary optimisation problems」(予稿、量子物理学/2007.01774、arxiv.org記載)
【文献】Schuldらによる「Evaluating analytical gradients on quantum hardware」(フィジカル・レビューA,99(3))
【発明の概要】
【0012】
しかしながら、既知のシステムおよび方法は、ハードウェア・アーキテクチャによって制限され、より短いまたは同等の時間枠で古典コンピュータ上で解を見つけることができる単純化した例題に、主に適用されている。例えば、グーグル量子AI研究所および協力者による量子アルゴリズムの実装は、ハードウェア形状と一致する23個またはそれ以下の頂点のグラフ問題に限定される。Tanらによって提案されたアルゴリズムは、QUBO問題を解くために必要な量子ビット数を指数関数的に削減することができ、指数関数的により多くの頂点を有する問題に対処できる。しかしながら、アルゴリズムをスケーリングすると、おそらく不適切な古典最適化アルゴリズムの使用が原因となって、極小値に陥る傾向があるため、最適解を確実に見つけられない。
【0013】
この最先端技術を考慮して、本発明の目的は、古典コンピュータでは扱いにくい問題の解を見出す可能性を有する、二次制約なしバイナリ最適化問題を、多項式時間で解くための効率的な量子アルゴリズムを提供することである。
【0014】
本目的は、独立請求項による量子計算ネットワークおよびハイブリッド量子計算システムを動作させる方法によって解決される。従属請求項は、好ましい実施形態に関する。
【0015】
第1の態様によれば、本発明は、二次制約なしバイナリ最適化(QUBO)問題の解のコスト関数の極値を決定するための量子計算ネットワークを動作させる方法に関する。量子計算ネットワークは、量子ビットレジスタ内に、複数のレジスタ量子ビットおよび少なくとも1つのアンシラ量子ビットを含む、複数の量子ビットを備え、量子ビットに作用する複数の量子ゲート層をさらに備える。本方法は、量子ビットを初期化するステップと、量子ゲート層を量子ビットに順次適用するステップとを含み、各層は、複数の量子ビットに作用するマルチ量子ビット量子ゲート、ならびに、2つの固有値および量子ビットに対する可変作用を有する複数の変分量子ゲートとを備え、量子ゲート層の変分量子ゲートの可変作用は、変分パラメータ
【数1】
のセットを形成する。本方法は、変分パラメータ
【数2】
のセットに関連付けられた解を得るために量子計算ネットワークの出力状態を決定するステップをさらに含み、二次制約なしバイナリ最適化問題の各バイナリ変数は、レジスタ量子ビットの計算基底状態に関連付けられ、バイナリ変数に対応する計算基底状態を測定する確率を評価することによって、解が得られる。シフトされた変分パラメータ
【数3】
を有する量子ゲート層を順次適用するステップであって、シフトされた変分パラメータ
【数4】
は、シフトによってシフトされた変分パラメータ
【数5】
のサブセットを備える、ステップと、変分パラメータ
【数6】
のサブセットに関する偏導関数を評価するために、シフトされた変分パラメータ
【数7】
の出力状態を決定するステップと、シフトされた変分パラメータ
【数8】
の出力状態に基づいてコスト関数の勾配を決定するステップと、コスト関数の勾配にわたる移動平均の更新関数、およびコスト関数の二乗勾配にわたる移動平均の更新関数に基づいて、変分パラメータ
【数9】
を更新するステップとによって、解が反復的に改善される。
【0016】
量子計算ネットワークを動作させる本方法は、ニューラル・ネットワークの動作と同様の発見的手法でQUBO問題の解を決定できる。変分パラメータ
【数10】
は、初期(ランダム)推測を符号化することができ、変分パラメータ
【数11】
を用いた量子計算ネットワークの評価の結果を測定して、対応する解を決定できる。解に基づいて、QUBO問題のコスト関数を古典的に評価して、コストを解に関連付けることができ、言い換えれば、解がどの程度良好であるかの尺度が計算される。変分パラメータ
【数12】
を更新することを通じて解を反復的に改善することによって、ニューラル・ネットワークの勾配降下に類似し得る方法で、量子計算ネットワークは最適解に徐々に近づく。
【0017】
従来技術とは対照的に、量子計算ネットワークの直接測定に基づいて、変分パラメータ
【数13】
に関する量子計算ネットワークの偏導関数を決定することによって、量子計算ネットワークは最適化される。量子計算ネットワークの偏導関数に基づいて、コスト関数の勾配は、古典計算によって決定され、以下では、量子計算ネットワークの測定された勾配と呼ばれる。しかしながら、古典深層(ニューラル)ネットワークにおける勾配法とは対照的に、何らかの追加戦略がない量子ネットワークにおける勾配降下法では、安定性能を提供できない。
【0018】
本発明によれば、コスト関数の勾配にわたる移動平均の更新関数、およびコスト関数の二乗勾配にわたる移動平均の更新関数に基づいて、変分パラメータ
【数14】
が更新され、以下では、適応モーメント・ベースの更新関数と呼ばれる。本発明者らは、適応モーメント・ベースの更新関数が、量子計算ネットワークの測定された勾配に基づいた勾配降下を有効にし、最適解に向かう勾配降下を大幅に改善することを見出した。
【0019】
実際、適応モーメント・ベースの更新関数に基づく更新は、Tanらで使用されているような(勾配のない)古典オプティマイザに基づく手法と競合し、さらにはそれよりも優れていることが、本発明者らによって見出された。驚くべきことに、量子計算ネットワークの測定された勾配に基づく更新関数は、解(したがって問題も)が、量子ビットの計算基底状態に圧縮される場合にも効果的であり、量子ビットの数を指数関数的に減らすことが可能となる。
【0020】
言い換えれば、量子ビットの計算基底状態への解の符号化、量子計算ネットワークの測定された勾配の評価、および適応モーメント・ベースの更新関数を組み合わせることによって、従来技術の欠点を相殺する有利な量子アーキテクチャが設計され、その結果、多項式時間における複雑な問題に対する解を効率的に見つけながら、比較的低い量子ビット数で計算を実行できる。したがって、本方法は、ハイブリッド計算アーキテクチャを定義することができ、関数評価ならびに勾配推定は、量子ハードウェア上で計算することができ、同時に、測定値と問題との間の関係を、古典ハードウェア上で決定できる。
【0021】
当業者であれば、「量子計算ネットワーク」という用語は、リンクされた(物理的な)ネットワークに限定されると理解されるべきではなく、むしろ、マルチ量子ビット演算を介して量子ビット状態をリンクするために、順次に、および/または並列に、量子ビットに対する(層に編成された)複数の量子ゲートの動作を指すことができることを理解するであろう。言い換えれば、ネットワークは、量子ビットレジスタに作用する量子ゲートの連結を介して確立されてもよく、複数の量子ビットをもつれさせるマルチ量子ビットゲートに起因して、ネットワーク内のリンクが生じてもよい。
【0022】
量子計算ネットワークを評価するために、量子ビットは、各量子ビットの基底状態などの初期状態に初期化できる。いくつかの実施形態では、量子ビットを基底状態に初期化した後、量子ビットレジスタ内の各量子ビットの重ね合わせ状態が、例えば、アダマール(Hadamard)ゲートを適用して、準備される。
【0023】
次いで、量子ゲート層は、量子ビットに作用して量子計算ネットワーク内の量子ビットを連結することができ、(変分)量子計算ネットワークの作用は、変分パラメータ
【数15】
によってパラメータ化される。量子ゲート層は、量子ビットレジスタ内の量子ビット状態に対する複数のコヒーレント動作の累積作用を備えることができる。1つの層におけるコヒーレント動作の累積作用は、一般に、計算に関与する量子ビットレジスタのすべての量子ビットに作用するべきであり、言い換えれば、量子ゲート層は、量子ビットレジスタ内のすべての量子ビット状態に直接影響を及ぼすべきである。各層は、少なくとも1つのマルチ量子ビットゲートおよび少なくとも1つの変分量子ゲート(原理的には同一ゲートであり得る)を備えるべきである。好ましくは、マルチ量子ビットゲートおよび層の変分ゲートは、両方とも、量子ビットレジスタのすべての量子ビット状態に直接作用する。同時に、層は時間的または構造的に制限されてもよく、例えば、コヒーレント動作のシーケンス内の層は、少なくとも1つの変分量子ゲート、好ましくは量子ビットレジスタ内の量子ビットの数に実質的に対応する数の変分量子ゲート(またはそれらの倍数)を含む、計算に使用される量子ビットレジスタの大部分またはすべての量子ビットに作用する基準を満たす量子ゲート、の最短シーケンスによって定義されてもよい。当業者は、層内の量子ビット状態に対するコヒーレント動作のシーケンスを短縮するために、層内の複数の量子ゲートが、量子ビットに並列に適用され得ることを理解するであろう。続いて、複数の量子ゲート層を量子ビットに適用することにより、量子計算ネットワークを形成することができる。
【0024】
好ましい実施形態では、量子ゲート層は、各層に量子ゲートの同一配置を備え、各層の量子ゲートは、特に、量子ビットレジスタのすべての量子ビットにともに作用する複数のマルチ量子ビット量子ゲートを備える。
【0025】
層は、同一または異なるタイプの量子ゲートを含んでもよく、量子ビットレジスタに順次適用されてもよい。例えば、各層は量子ゲートの同一アーキテクチャを特徴とすることができるが、変分パラメータ
【数16】
の異なる要素は、層の変分ゲートに適用できる。言い換えれば、層は同一量子ゲート・アーキテクチャを特徴とし得るが、各層内の量子ビットに対する量子ゲートの作用は、変分パラメータ
【数17】
に基づいて異なり得る。
【0026】
好ましい実施形態では、量子ゲートの各層は、量子ビットレジスタの各量子ビットに作用する変分量子ゲートのセットを備え、変分量子ゲートのセットは、特に、変分単一量子ゲートのセットである。
【0027】
各層内の量子ビットレジスタの各量子ビットに変分量子ゲートを適用することによって、解に向かって収束するための層の数を減らすことができ、その結果、量子計算アーキテクチャは、より短い量子ゲート・シーケンスで実行することができ、ノイズの影響を受けにくくできる。
【0028】
好ましい実施形態では、各層内の変分量子ゲートの数は、量子ビットレジスタ内の量子ビットの数に実質的に等しい。
【0029】
本発明者らは、変分ゲートの数および/またはタイプを制限することによって、最適解への収束を有効にするために、コスト関数のランドスケープの複雑さが制約され得ることを見出した。いくつかの実施形態では、量子ゲートの各層内の量子ビットレジスタの各量子ビットに作用する変分量子ゲートのセットを提供することによって、有利な妥協点を見出すことができ、そして、各層内の変分量子ゲート数は、量子ビットレジスタ内の量子ビット数に実質的に等しい。
【0030】
量子ゲート層が量子ビットに作用した後、量子ビットを測定して、既知の初期状態に関する量子計算ネットワークの特徴的な結果を得ることができる。量子力学的計算の結果は、量子ビットの計算基底状態を介して問題の古典解にリンクされ得る。計算基底状態は、各量子ビットの基底状態のテンソル積により、またがった(スパン化された)ヒルベルト(Hilbert)空間の直交基底状態であり得る。
【0031】
好ましい実施形態では、レジスタ量子ビットの計算基底状態は、複数のレジスタ量子ビットの計算基底のテンソル積、特に、すべてのレジスタ量子ビットの計算基底のテンソル積である。
【0032】
例えば、2つの量子ビットがそれぞれ基底状態|0>および|1>を有する場合、計算基底状態は|00>、|01>、|10>および|11>であり得、計算基底状態の各々は、1つの古典バイナリ変数に関連付けることができる。したがって、Nc個の古典変数は、いくつかのNq=log(Nc)個のレジスタ量子ビットを有する量子ビットレジスタの計算基底状態によって表すことができる。
【0033】
好ましい実施形態では、量子計算ネットワークの量子ビットは、Nc個の古典バイナリ変数を用いた二次制約なしバイナリ最適化問題を解くために、対数(Nc)レジスタ量子ビット、およびいくつかのNaアンシラ量子ビットに配置される。
【0034】
例えば、古典変数は、N
q=log(N
c)レジスタ量子ビットと、完全なグラフ上の最大カット問題を解くのに十分な最小符号化のための1つのアンシラ量子ビットとに符号化されてもよく、例えば、変分パラメータ
【数18】
を有する量子計算ネットワークの評価後の量子ビットレジスタの状態は、
【数19】
によって、与えられてもよく、レジスタ量子ビットの計算基底状態|i>は、古典変数に関連付けられており、振幅b
i(またはa
i)は、古典変数の状態を符号化している。例えば、計算基底状態ごとに
【数20】
を測定することによって、変分パラメータ
【数21】
に対応するQUBO問題に対する古典解を決定できる。
【0035】
いくつかの実施形態では、量子計算ネットワークの量子ビットは、少なくとも2つのアンシラ量子ビットを特徴とし、捕捉された古典変数間の相関の次数を増加させ、したがって、量子計算アーキテクチャによって解決可能な問題のタイプを異なるタイプのQUBO問題に拡張することができる。2つ以上のアンシラ量子ビットを有するQUBOタイプの問題を符号化するための一般的な符号化方式は、Tanらの(「Qubit-efficient encoding schemes for binary optimisation problems」、arxiv.orgに記載)によって、第IV章「TWO-BODY CORRELATIONS」で提案されており、符号化に関する対応する教示は参照により本明細書に組み込まれる。
【0036】
好ましい実施形態では、解は、少なくとも1つのアンシラ量子ビットのアンシラ状態を測定する条件付き確率、および、バイナリ変数に対応するレジスタ量子ビットの計算基底状態のうちの1つを測定する条件付き確率、を評価することによって得られる。
【0037】
アンシラ量子ビットおよびレジスタ量子ビットの測定は、計算基底状態のうちの1つが結果として測定されるように、レジスタ量子ビットの複素量子力学状態を計算基底上に射影できる。測定を繰り返すことにより、変分パラメータ
【数22】
の計算の各結果の(条件付き)確率を見つけることができる。例えば、(変分パラメータ
【数23】
によってパラメータ化された)各量子計算ネットワークについて、量子ビットレジスタのN
q量子ビットは、結果状態を近似するために
【数24】
回を測定され得る。
【0038】
コスト関数は、QUBO問題のコスト関数に従って量子計算ネットワークによって得られた解(測定結果)に、コストを関連付けることができる。
【0039】
例えば、コスト関数は、任意のグラフ上の最大カット問題、すなわち、2つの分離されたセット間のエッジの総重みが可能な限り大きくなるように、接続されたノードのセットを通るカットを見つける問題であってもよい。この問題は、VLSI回路設計におけるチップレイアウトの最適化などのいくつかの同等の問題に割り当てることができ、したがって、正解を見つけることは技術的に重要である。最大カット問題は、コスト関数
【数25】
を最小化するQUBO問題としてパラメータ化されてもよく、ここで、d
ijは、グラフ内のi番目のノードとj番目のノードとの間のエッジの重みである。解は、2つのセットのうちの1つへの対応を示すノードのバイナリ文字列
【数26】
である。次に、対応するQUBO行列の要素は、
【数27】
および
【数28】
であってもよい。したがって、量子計算ネットワークの結果状態の確率を決定した後、それぞれのコスト関数に従ってコストを計算できる。
【0040】
一般に、1つのアンシラ量子ビットを有する第1の態様による本方法は、コスト関数
【数29】
を用いてQUBO問題を解くことができ、ここで、
【数30】
は、if
【数31】
,then
【数32】
,さらにここで、
【数33】
は、整数端数処理、の特性を有する二次関数である。しかしながら、アンシラ量子ビットの数を増やすことによって、本方法は、変数間の相関が増加するより一般的なQUBO問題を解くために適用できる。
【0041】
次いで、量子計算ネットワークの測定された勾配に従って解を反復的に改善することにより、コスト関数が最小化され得る。具体的には、量子力学的ネットワークは、変分パラメータに関して量子ゲート層の偏導関数を決定するために繰り返し評価することができ、勾配は、測定された偏導関数から古典的に計算できる。次いで、変分パラメータは、適応モーメント・ベースの更新関数で更新できる。適応モーメント・ベースの更新関数は、コスト関数の勾配にわたる移動平均、およびコスト関数の勾配にわたる移動平均の(要素)二乗に依存するため、変分パラメータの更新は、勾配の一次および二次モーメントによって平滑化され、最適解に向かって降下することを可能にする。
【0042】
好ましい実施形態では、更新関数は、コスト関数の勾配にわたる移動平均に実質的に比例し、コスト関数の二乗勾配にわたる移動平均の平方根に実質的に反比例し、コスト関数の勾配にわたる移動平均、およびコスト関数の二乗勾配にわたる移動平均は、特に、指数関数的に減衰する移動平均である。
【0043】
例えば、更新関数は、コスト関数の勾配の移動平均の絶対値によって正規化された、コスト関数の勾配にわたる正規化された移動平均に、実質的に比例してもよい。
【0044】
好ましい実施形態では、反復ステップtにおける更新関数は、
【数34】
と、数学的に等価であり、m
tは、コスト関数の勾配にわたる移動平均に比例し、v
tは、コスト関数の二乗勾配にわたる移動平均に比例し、αは、学習速度ハイパーパラメータであり、
【数35】
は予測される更新の大きさに対して小さい数である。
【0045】
例えば、
【数36】
は、10
-8はであってもよく、αは、0.01であってもよく、その結果、
【数37】
は更新の予想される大きさよりも、10
6倍だけ小さい。
【0046】
好ましい実施形態では、
【数38】
および
【数39】
であり、ここで、β
1およびβ
2は、0から1の間の実数値であり、
【数40】
は、シフトされた変分パラメータ
【数41】
出力状態に基づいて反復ステップtで決定された勾配であり、
【数42】
は、反復ステップtで決定された勾配の要素二乗であり、一方、m
t-1およびv
t-1は、それぞれ時間ステップt-1でのm
tおよびv
tの以前に決定された値であり、そして、m
0およびv
0は0である。
【0047】
商1-β1
tおよび1-β2
tは、mtおよびvtが、0に初期化される(すなわち、t=0である)初期値の初期化バイアスを補正するためのバイアス補正項として理解でき、その結果、mtおよびvtは、コスト関数の勾配/コスト関数の二乗勾配の移動平均をそれぞれ、指数関数的に減衰させ、減衰率はβ1およびβ2によって与えられる。例えば、β1およびβ2は、それぞれ0.9および0.999として選択できる。
【0048】
本発明者らは、適応モーメント・ベースの更新関数が、他の勾配降下アルゴリズムと比較して、量子計算ネットワークの性能を大幅に改善することを見出した。更新関数は、量子システムのノイズを克服ために、勾配mtの指数移動平均を使用することによって、勾配成分に有利に作用する、と同時に、変分量子計算ネットワークに課されるコスト関数のランドスケープを考慮して更新の大きさを最適化するために、学習率αを二乗勾配vtの指数移動平均で除算することによって、学習率成分に有利に作用すると考えられる。
【0049】
勾配降下の効率はまた、勾配の正確性に依存し得る。量子計算ネットワークの偏導関数を、変分パラメータ
【数43】
/変分ゲートの一部に関してのみ評価することが原理的に可能であり得る一方で、変分パラメータ
【数44】
を最適化する各ステップ関して、変分パラメータ
【数45】
の各変分パラメータについて量子計算ネットワークの偏導関数を個別に評価することが有利であり得る。
【0050】
好ましい実施形態では、本方法は、各変分ゲートに対して2回シフトされた変分パラメータ
【数46】
を有する量子ゲート層を順次適用することを含み、シフトされた変分パラメータ
【数47】
は、各変分ゲートに対して対称シフトによってシフトされた変分パラメータ
【数48】
のサブセットを含み、変分パラメータ
【数49】
を更新する前に勾配を決定するための変分パラメータ
【数50】
の各可変作用に対する偏導関数を評価する。
【0051】
変分パラメータ
【数51】
のサブセットは、単一の変分パラメータであってもよく、すなわち、偏導関数は、各変分ゲートに対して決定されてもよく、または複数の変分パラメータ
【数52】
であってもよい。対称シフトは、変分量子ゲートの固有値に依存するはずである。一般に、偏導関数は、シフト
【数53】
でゲートをシフトすることによって、推定することができ、rは、変分量子ゲートの固有値である。次いで、量子計算ネットワークを、変分パラメータθ
jを有する変分量子ゲートに関する量子ビットレジスタの初期状態に適用する結果fの偏導関数を、
【数54】
に従って、評価できる。したがって、量子計算ネットワークの偏導関数は、解を決定するために使用されるものと同じ量子計算ネットワーク・アーキテクチャの結果を評価することによって直接計算することができ、その結果、量子計算ネットワークのアーキテクチャを単純化することができる。
【0052】
好ましい実施形態では、変分量子ゲートの2つの固有値は±1/2であり、シフトは±π/2である。
【0053】
固有値±1/2を有する単一量子ビットゲート、例えば、1/2{σx、σy、σz}の1量子ビット回転発生器の場合、シフトは±π/2でなければならない。単一量子ビット回転は、量子コンピュータのほとんどの実装に固有であり、2つの固有値を有し、しばしば、マルチ量子ビットゲートよりも高い忠実度を特徴とする。したがって、変分ゲートが単一量子ビット回転である場合、変分マルチ量子ビットゲートの場合よりも高い正確性で、偏導関数を決定できる。
【0054】
最適解に向かう「勾配降下」の各ステップについて、2*T*
【数55】
回、すなわち、Nq量子ビットの計算ベースで各評価の結果を推定するために、各変分パラメータに関して、Tおよび
【数56】
回を2回、量子計算ネットワークを、評価できる。N
c個の古典変数は、いくつかのN
q=log(N
c)量子ビットに圧縮され得るので、評価の数は、古典変数の数で多項式的にのみスケーリングされ得る。したがって、QUBO問題を解くための効率的な量子計算アーキテクチャを提供できる。
【0055】
第2の態様によれば、本発明は、二次制約なしバイナリ最適化問題の解のコスト関数の極値を決定するための量子計算ネットワークを動作させる方法に関する。量子計算ネットワークは複数の量子ビットを備え、量子ビットに作用する複数の量子ゲート層をさらに備える。本方法は、量子ビットを初期化するステップと、量子ゲート層を量子ビットに順次適用するステップとを含み、各層は、複数の量子ビットをもつれさせるマルチ量子ビット量子ゲートと、量子ビットに対する可変作用を有する複数の変分量子ゲートGとを備え、量子ゲート層の変分量子ゲートの可変作用θ
jは、変分パラメータ
【数57】
のセットを形成する。本方法は、変分パラメータ
【数58】
のセットに関連付けられた解を得るために量子計算ネットワークの出力状態を決定するステップをさらに含み、二次制約なしバイナリ最適化問題の各バイナリ変数は、レジスタ量子ビットの計算基底状態に関連付けられ、バイナリ変数に対応する計算基底状態を測定する条件付き確率を評価することによって、解が得られる。アンシラ量子ビットの状態に基づいて条件付きで適用される量子ゲートおよび追加量子ゲートAkの層を適用するステップであって、追加量子ゲートは方程式
【数59】
を満たし、Kは実正値である、ステップと、変分パラメータ
【数60】
の可変作用θ
jに関して量子ゲート層の偏導関数を評価するために出力状態を決定するステップと、量子ゲート層の偏導関数に基づいてコスト関数の勾配を決定するステップと、コスト関数の勾配にわたる移動平均の更新関数、およびコスト関数の二乗勾配にわたる移動平均の更新関数に基づいて変分パラメータ
【数61】
を更新するステップ、とによって、解が反復的に改善される。
【0056】
一般に、変分ゲートは、2つの固有値のみを有する必要はない。代わりに、変分ゲートはまた、3つ以上の固有値を特徴としてもよい。その後、アンシラ量子ビットを追加し、アンシラ量子ビットの状態に対して条件付きで量子ビットレジスタに作用する追加量子ゲートAkを特徴とする調整された量子計算を実行することによって、量子計算ネットワークを評価することで、量子計算ネットワークの偏導関数を、引き続き得ることができる。アダマール・ゲートは、アンシラ量子ビットを重ね合わせ状態にすることができ、変分量子ゲートGまたは追加量子ゲートAkは、アンシラの状態に応じて量子ビットに作用できる。次いで、量子計算の結果およびアンシラの状態を測定して、追加量子ゲートA
kの各々について確率p
0およびp
1を有する、アンシラの状態がそれぞれ|0>および|1>である期待値E
0およびE
1を、取得することができる次いで、偏導関数を、
【数62】
に従って決定できる。
【0057】
第3の態様によれば、本発明は、二次制約なしバイナリ最適化問題の解のコスト関数の極値を決定するためのハイブリッド量子計算システムに関する。本システムは、複数の量子ビットを含む量子ビットレジスタと、複数の量子ゲートと、コントローラとを備える、量子計算ネットワークを備える。複数の量子ゲートは、量子ビットレジスタの量子ビットに選択的に作用し、量子ビットレジスタの複数の量子ビットに作用するマルチ量子ゲートと、量子ビットレジスタの量子ビットに対するそれぞれの可変作用を有する複数の変分量子ゲートとを含み、可変作用は変分パラメータ
【数63】
のセットを形成する。コントローラは、量子ビットレジスタの量子ビットを初期化し、量子ゲートを変分パラメータ
【数64】
を有する層のシーケンスで量子ビットレジスタに適用するように構成され、各層は出力状態を決定するための変分量子ゲートを備える。コントローラは、シフトされた変分パラメータ
【数65】
を有するシーケンスを適用するようにさらに構成され、シフトされた変分パラメータ
【数66】
は、シフトによってシフトされた変分パラメータ
【数67】
のサブセットを備え、シフトされた変分パラメータ
【数68】
の関連する出力状態を決定し、変分パラメータ
【数69】
のサブセットに関する偏導関数を評価するためにシフトされた変分パラメータ
【数70】
の出力状態を決定し、および/または、アンシラ量子ビットの状態に基づいて量子ゲート層および追加量子ゲートAkを条件付きで適用するようにさらに構成され、追加量子ゲートは方程式
【数71】
を満たし、Kは実正の値であり、変分パラメータ
【数72】
の可変作用θ
jに関する量子ゲート層の偏導関数を評価するために出力状態を決定するように、さらに構成される。コントローラは、偏導関数に基づいてコスト関数の勾配を決定するようにさらに構成され、コスト関数は、出力状態において符号化された解にコストを関連付け、二次制約なしバイナリ最適化問題の各バイナリ変数は、量子ビットの計算基底状態に関連付けられ、バイナリ変数に対応する計算基底状態を測定する条件付き確率を評価することによって解が得られ、コスト関数の勾配にわたる移動平均の更新関数、およびコスト関数の二乗勾配にわたる移動平均の更新関数に基づいて、変分パラメータ
【数73】
を更新するようにさらに構成される。
【0058】
第4の態様によれば、本発明は、機械可読命令を含むコンピュータプログラムまたはコンピュータプログラム製品に関し、機械可読命令は、コンピュータプログラムが処理ユニットによって実行されると、処理ユニットに、第1の様態、および/または第2の態様による方法を実施させ、ならびに/あるいは、第3の態様によるシステムを実施および/または制御させる。
【0059】
本発明による方法およびハイブリッド量子計算システムの特徴および多くの利点は、添付の図面を参照して好ましい実施形態の詳細な説明から、最もよく理解されるであろう。
【図面の簡単な説明】
【0060】
【
図1】ハイブリッド量子計算システムの一例を概略的に示す。
【
図2】複数の量子ゲートを有する量子計算ネットワーク20の一例を示す。
【
図3】QUBO問題の解を得るための方法のフロー図の一例を示す。
【
図4】量子計算ネットワークを用いて計算問題の解を反復的に改善するための方法のフロー図の一例を示す。
【
図5】量子計算ネットワークを用いて計算問題の解を改善するための反復方法のフローチャートを示す。
【
図6A】ハイブリッド量子計算アーキテクチャのシミュレートされた性能の2つの図を示す。
【
図6B】ハイブリッド量子計算アーキテクチャのシミュレートされた性能の2つの図を示す。
【
図7】量子計算ネットワークを有するハイブリッド量子計算アーキテクチャのシミュレートされた性能の図を示す。
【
図8A】量子計算ネットワークの解および量子計算アーキテクチャの対応する部分を反復的に改善するための方法のフロー図の別の例を示す。
【
図8B】量子計算アーキテクチャの解および量子計算ネットワークの対応する部分を反復的に改善するための方法のフロー図の別の例を示す。
【発明を実施するための形態】
【0061】
図1は、量子計算ネットワークを実装および動作させるためのハイブリッド量子計算システム10の一例を概略的に示す。システム10は、複数の量子ビットを備える量子ビットレジスタ12を備える。複数の量子ゲート14が、計算を実行するために量子ビットレジスタ12の量子ビットに作用できる。計算結果は、量子ビット状態をハイブリッド量子計算システム10の計算基底状態に投影する測定センサ16によって測定できる。結果は、コントローラ18によって受信できる。
【0062】
コントローラ18は、計算シーケンスを繰り返し実行するように構成されてもよい。計算シーケンスは、例えば|00...0>の量子ビットの初期状態を形成するために、各量子ビットの基底状態などに、各計算の前に量子ビットレジスタ12の量子ビットを初期化することを含んでもよい。次に、コントローラ18は、複数の量子ゲート14を量子ビットレジスタ12の量子ビットに適用して、量子ビットのコヒーレント展開を進めることができる。最初に、コントローラは、例えば、アダマール・ゲートを量子ビットの各々に適用することによって、すべての量子ビットの重ね合わせ状態を生成することができ、その後、可変作用を有する変分量子ゲートを含む複数の量子ゲート14を適用することができる。コヒーレント展開に続いて、量子ビットレジスタ12内の量子ビット状態を、センサ16で測定できる。コントローラ18は、この測定結果に基づいて、解を求めるQUBO問題のコスト関数により、解の「エネルギー」/「コスト」を古典的に計算できる。
【0063】
次いで、コントローラ18は、測定結果に関連するQUBOタイプの問題に対する解を徐々に改善するなどのために、結果に基づいて調整された可変作用を有する計算シーケンスを繰り返すことができる。具体的には、コントローラ18は、測定結果から複数の量子ゲート14の勾配を決定するために、変分量子ゲートの調整された動作パラメータを用いて計算シーケンスを繰り返すことができ、量子計算ネットワークを改善された解に向かって徐々に調整するために、推定された勾配に基づいて可変作用を更新できる。
【0064】
複数の量子ゲート14は、類似または同一の構造の層に配置されてもよく、コントローラ18は、その後、量子ゲート層をそれぞれの変分パラメータで適用できる。好ましくは、各層は、量子ビット状態の複数またはすべてをもつれさせるマルチ量子ビットゲートと、すべての量子ビット状態に影響を及ぼす変分量子ゲートとを備える。
【0065】
図2は、複数の量子ゲート14を有する量子計算ネットワーク20の一例を示す。量子計算ネットワーク20は、状態Ψ
1~Ψ
Nを有する複数の量子ビットを含む量子ビットレジスタ12を備え、各量子ビット状態の展開は、量子ビットレジスタ12から測定センサ16に向かって水平に延びる水平線として示されている。
【0066】
量子ビットは、最初に基底状態、例えば|0>に初期化されてもよい。複数の量子ゲート14は、各量子ビットを重ね合わせ状態で準備するために、量子ビットが初期化された後に量子ビットレジスタ12の各量子ビットに作用する複数のアダマール(H)・ゲート22を備えてもよい。次いで、量子計算ネットワーク20は、等しい構造を有する量子ゲートの複数のL層24a、24bを含むことができ、層は、その後に適用される量子ビットレジスタ12内の量子ビットに対する複数の量子動作を表す。
【0067】
各層24a、24bは、複数のマルチ量子ビットゲート、例えばCNOTゲート(「制御量子ビット」のそれぞれの水平線上に垂直線および中空円として示されている)を備える。さらに、各層24a、24bにおいて、変分単一量子ビットゲートは、軸yを中心とする各量子ビットの単一量子ビット回転R
y(θ)を、可変角θ
iで動作させる。24a、24bのすべての層にわたる変分角θ
1~θ
Nは、量子計算ネットワーク20の変分パラメータ
【数74】
のセットを形成する。L層24a、24b、および、N個の量子ビットを有する、
図2に示される量子計算ネットワーク20は、
【数75】
の変分パラメータとしてL*N個の可変作用(角度)を特徴とし、各層24a、24bは、量子ビットレジスタ12の隣接する量子ビットのすべての対に作用する複数の2量子ビットゲートを備え、可変作用は、各層24a、24bにおける各量子ビットの可変単一量子ビット回転を動作できる。
【0068】
当業者は、
図2のゲートの配置が例示のみを目的としており、量子計算ネットワーク20の適切な幾何学的形状が図示の表現とは異なり得ることを理解するであろう。例えば、
図2において、隣接する量子ビット対に作用するCNOTゲートは、(時間的)シーケンスで量子ビットに作用する。しかしながら、好ましい実施形態では、例えば、隣接する量子ビットの奇数/偶数番号の対に並列に作用する2量子ビットゲートの2つの順次適用において、複数のマルチ量子ビットゲートを量子ビットに並列に適用できる。
【0069】
量子ゲート層24a、24bを量子ビット上に適用した後、測定センサ16によって、量子ビット状態を測定できる。測定センサ16は、複数の量子ゲート14による展開に続く、各量子ビット状態を測定するための複数の単一量子ビット状態検出器であってもよい。測定を繰り返すことにより、各測定結果の確率を決定することができ、その結果をQUBO問題の解を見つけるために使用できる。
【0070】
図3は、QUBO問題の解を得るための方法のフロー図の例を示す。本方法は、量子ビットレジスタ12内の量子ビットを初期化するステップ(S10)と、量子ゲートの層24a、24bを量子ビットに順次適用するステップであって、各層24a、24bは、複数の量子ビットに作用するマルチ量子ビット量子ゲート、および変分パラメータ
【数76】
のセットを形成する量子ビットに可変作用する複数の変分量子ゲートを備えるステップ(S12)と、を含む。本方法は、変分パラメータ
【数77】
のセットに関連する解を得るために量子計算ネットワーク20の出力状態を決定するステップであって、二次制約なしバイナリ最適化問題の各バイナリ変数は、レジスタ量子ビットの計算基底状態に関連し、バイナリ変数に対応するレジスタ量子ビットの計算基底状態を測定する確率を評価することによって解が得られる、ステップを含む(S14)。
【0071】
変分パラメータ
【数78】
は、
図2に示すような単一量子ビット回転R
y(θ
i)の変分角θ
iであってもよいし、
【数79】
の各変分パラメータθiによりパラメータ化された変分量子ゲートの他の変分パラメータであってもよい。そして、出力状態は、計算ベースにおける各量子ビットの状態であり得る。例えば、基底状態|0>および|1>を有する2つのレジスタ量子ビットについて、レジスタ量子ビットの計算基底状態は、|00>、|01>、|10>、および|11であり得、計算基底状態の各々は、一つの古典バイナリ変数に関連付けることができる。したがって、本方法は、量子ビットレジスタが2つのレジスタ量子ビットを備えるときに4つの変数を有する(離散的な)バイナリ最適化問題に対する、一般的には、いくつものN
q量子ビットについての2
Nq変数を有する問題に対する、解を見つけるのに適し得る。
【0072】
符号化された変数と解との間の関係は、レジスタ量子ビットのあるレジスタ状態、および少なくとも1つのアンシラ量子ビット状態、を測定する条件付き確率を測定することによって得ることができる。例えば、1つのアンシラ量子ビットおよび量子レジスタへの古典変数の最小符号化について、最終状態は
【数80】
によって与えられてもよく、ここで、和における第1の状態は、アンシラ量子ビット状態であり、状態|i>は、レジスタ量子ビットの計算基底状態に対応する。この状態のサンプリングにより、古典的な解の
【数81】
の成分が得られる。この確率は、古典コンピュータ上で、
【数82】
を評価することによって、問題に対するQUBO行列Q特性を介して、QUBO問題のコスト関数に関連付けることができる。したがって、量子ゲート層24a、24bを適用した後の量子ビットレジスタ12内の量子ビット状態の測定値を使用して、QUBO問題に対する(最初はランダムな)解を得ることができる。
【0073】
量子計算ネットワーク20、すなわち量子計算ネットワーク20の量子ビットへの作用をパラメータ化する変分パラメータ
【数83】
は、次いで、解のコストを最小化する目的でフィードバック・ループ内で最適化され得る。
【0074】
図4は、量子計算ネットワーク20を用いて計算問題の解を反復的に改善するための方法のフロー図の例を示す。本方法は、シフトされた変分パラメータ
【数84】
を有する量子ゲート層24a、24bを順次適用するステップであって、シフトされた変分パラメータ
【数85】
は、シフトによってシフトされた変分パラメータ
【数86】
のサブセットを備える、ステップ(S16)と、変分パラメータ
【数87】
のサブセットに関する偏導関数を評価するために、シフトされた変分パラメータ
【数88】
の出力状態を決定するステップ(S18)と、を含む。本方法は、シフトされた変分パラメータ
【数89】
の出力状態に基づいてコスト関数の勾配を決定するステップ(S20)と、コスト関数の勾配にわたる移動平均の更新関数、およびコスト関数の二乗勾配にわたる移動平均の更新関数に基づいて、変分パラメータ
【数90】
を更新するステップ(S22)と、をさらに含む。
【0075】
具体的には、2つの固有値±1/2(
図2の例のような、パウリ生成行列による単一量子ビット回転)、および可変作用θjを有する変分ゲートの場合、シフトは、π/2であり得る。次に、可変作用θjに関する量子計算ネットワーク20内の量子ビットレジスタ12の展開による結果fの偏導関数は、
【数91】
に従って、決定され得る。
【0076】
図3に関連して説明したコスト関数に従って重み付けされた解を改善するために、可観測確率
【数92】
に基づくコスト関数の勾配は、
【数93】
に従って評価することができ、コスト関数の可観測確率
【数94】
の偏導関数は、
【数95】
で与えられる。
【0077】
上記の式における可変作用θ
jを有する変分ゲートの偏導関数は、それぞれπ/2だけ対称的にシフトされた変分パラメータ
【数96】
に対して、あるレジスタ状態
【数97】
、および、|i>を測定する期待値に基づいて、
【数98】
および
【数99】
に従ってシフトされた変分パラメータ
【数100】
を有する測定された期待値から決定できる。
【0078】
言い換えれば、コスト関数の勾配は、シフトされた変分パラメータ
【数101】
についての量子計算ネットワーク20の測定結果に基づいて決定され得、ここで、コスト関数の偏導関数は、シフトされた変分パラメータ
【数102】
についてのレジスタ量子ビットの計算基底状態を測定する確率、ならびに、少なくとも1つのアンシラ量子ビットのアンシラ状態(例えば、|1>)、および、シフトされた変分パラメータ
【数103】
についてのレジスタ量子ビットの計算基底状態、を測定する確率、に基づいている。
【0079】
次いで、勾配を使用して、最適解に向けて変分パラメータ
【数104】
を更新できる。しかしながら、このようにして決定された量子計算ネットワーク20の測定された勾配は、安定性能を提供しないことが観察されたので、勾配に対する追加の最適化、例えば適応モーメント・ベースの更新関数が、一般には必要とされ得る。
【0080】
適応モーメント・ベースの更新関数は、コスト関数の測定された勾配にわたる移動平均の更新関数、およびコスト関数の測定された二乗勾配にわたる移動平均の更新関数に基づいて、変分パラメータ
【数105】
を更新できる。特に、変分パラメータ
【数106】
は、関数
【数107】
に応じて更新でき、ここで、m
tは、コスト関数の勾配にわたる移動平均に比例し、v
tは、コスト関数の二乗勾配にわたる移動平均に比例し、αは、学習速度ハイパーパラメータ(例えば0.01)であり、
【数108】
は、更新の予測される大きさに対して小さい数(例えば10
-8)である。
【0081】
移動平均は、指数関数的に減衰することができ、
【数109】
および
【数110】
に従って反復的に決定することができ、ここで、
【数111】
は、シフトされた変分パラメータ
【数112】
の出力状態に基づいて反復ステップtで決定された勾配であり、
【数113】
は、反復ステップtで決定された勾配の要素二乗であり、一方、m
t-1およびv
t-1は、それぞれ時間ステップt-1でのm
tおよびv
tの以前に決定された値であり、そして、m
0およびv
0は、0である。
【0082】
商1-β1
tおよび商1-β2
tは、mtおよびvtが、0に初期化される(すなわち、t=0である)初期値の初期化バイアスを補正するためのバイアス補正項として理解でき、その結果、mtおよびvtは、コスト関数の勾配の勾配/二乗の移動平均をそれぞれ指数関数的に減衰させ、減衰率がそれぞれβ1およびβ2として与えられると、当業者であれば理解することができる。例えば、β1およびβ2は、それぞれ0.9および0.999として選択できる。
【0083】
本発明者らは、適応モーメント・ベースの更新関数が、ネットワーク性能を大幅に改善し、勾配の単純な移動平均とともに、適応学習率アルゴリズムでも個別に優れていることを見出した。
【0084】
いくつかの実施形態では、更新関数に基づいて更新された変分パラメータ
【数114】
のセットを決定することには、例えば、偏導関数を決定するために各反復において変分パラメータ
【数115】
のサブセットを確率的に選択すること、および、確率的勾配降下法と同様の変分パラメータ
【数116】
の確率的に選択されたサブセットに基づいて勾配を推定することなどの確率的要素を組み込むことができる。したがって、すべての変分パラメータ
【数117】
に対する偏導関数の決定と比較すると、変分パラメータ
【数118】
を更新する時間を短縮することができる。
【0085】
いくつかの実施形態では、コスト関数正則化のためにコスト関数に追加ペナルティを追加することができ、または変分パラメータ
【数119】
の変化の大きさを制限して、解に追加制約を組み込むか、または最適解を見つける複雑さを低減することができる。
【0086】
図4に示される方法を反復的に繰り返すことによって、変分パラメータ
【数120】
は、最適化された変分パラメータ
【数121】
に向けて最適化されるべきであり、量子計算ネットワーク20を量子ビットレジスタ12の量子ビットに適用する関連測定結果(解)は、コスト関数に応じてより低い(最小の)コストを特徴とする。したがって、QUBO問題に対する解は、量子計算ネットワーク20の測定された勾配に依存することで、古典的な更新関数の制約なしに量子計算ネットワーク20を用いて見出すことができる。
【0087】
図5は、
図2に示す量子計算ネットワーク20と類似の量子計算ネットワーク20を用いて計算問題の解を改善するための反復方法のフローチャートを示し、
図3および
図4に応じて方法を適用できる。
【0088】
最初に、量子計算ネットワーク20は、量子コンピュータ上で実行され得る初期量子計算ネットワーク評価26において、ランダム変分パラメータ
【数122】
で評価され得る。次いで、(最初はランダムな)変分パラメータ
【数123】
に関連するコストを決定するために古典コンピュータ上で実行され得るコスト関数評価モジュール28によって、得られた結果を分析できる。コストを目標コストCtargetと比較するか、または以前の反復に基づいてコスト/解が収束するかどうかをチェックする、同じ古典コンピュータ上で実行され得る収束/閾値評価モジュール30に、コストを渡すことができる。コストが、閾値を下回るかまたは収束した場合、本方法は、変分パラメータ
【数124】
に対する量子計算ネットワーク20の評価の結果に対応する古典変数(x)を出力することができる。
【0089】
コストが、閾値を上回るかまたは収束していない場合、ハイブリッド勾配評価32を、実行できる。ハイブリッド勾配評価32は、量子コンピュータ上で実行され得るシフトされた変分パラメータ
【数125】
に対する量子計算ネットワーク20の評価34を備え、可変作用θ
jは対称シフトによって個別にシフトされ、結果は偏導関数評価モジュール36に渡され、偏導関数評価モジュールは、古典コンピュータ上で実行されていてもよく、それぞれの可変作用θ
jに関するコスト関数の偏導関数を計算する。次いで、ハイブリッド勾配評価は、量子計算ネットワーク20の測定された勾配を更新モジュール38に出力し、量子計算ネットワーク20の測定された勾配に基づいて変分パラメータ
【数126】
を更新する。
【0090】
次いで、更新された変分パラメータ
【数127】
を有する量子計算ネットワーク、量子20は、更新された変分パラメータ
【数128】
に対する量子計算ネットワーク20の結果を(量子力学的に)決定する量子計算コンピュータ上で実行され得る量子計算ネットワーク評価40において、評価され得る。結果のコストが収束するかまたは所定の閾値を下回るまで、最適化プロセスを反復的に繰り返すために、量子計算ネットワーク評価40の結果が、コスト関数評価モジュール28および収束/閾値評価モジュール30に渡され得る。
【0091】
図6A、
図6Bは、
図3~5に関連して説明したハイブリッド量子計算アーキテクチャのシミュレートされた性能の2つの図を示す。これらの図は、解の正規化されたコストを、(凡例に見られるように)異なる数のノード/頂点を有する「サン・グラフ」上の最大カット問題について、
図2に示す例と同一の量子計算ネットワーク20の24a、24bの層数Lの関数としてプロットしている。
【0092】
サン・グラフは、第1のノードが他のすべてのノードと接続されているが、他のノード間には接続されていない簡単な単純化したグラフである。サン・グラフは、最大カットが第1のノードを分離し、したがってすべてのエッジをカットするため、x=[1,0,・・・,0]およびx=[0,1,・・・,1]の明らかな解を有するが、アルゴリズムは解を理解していないので、ランダム推測から開始しなければならない。
【0093】
図6Aは、さらに最適化することなく、すなわち上記の更新関数を適用することなく、量子計算ネットワーク20の測定された勾配に基づいて勾配降下を実装するが、
【数129】
に従って、変分パラメータを更新することによって実装される。曲線の各点は、20個のランダム・サン・グラフにわたって平均化されたα=0.01の学習率を用いた、勾配降下のT=300ステップの結果である。回路の深さが増すと、すなわち量子計算ネットワーク20の24a、24bの層数Lが増すと、解の正確性は高まる。しかしながら、問題が大きくなると、勾配は、簡単な単純化したグラフ例題でさえ不安定になる可能性がある。
【0094】
図6Bは、量子計算ネットワーク20の測定された勾配に基づいて勾配降下を実装するが、変分パラメータ
【数130】
は、
図4に関連して説明した適応モーメント・ベースの更新関数に従って更新される。ここでも、各曲線は、20個のランダムなサン・グラフにわたって平均化されたα=0.01の学習率を用いた、勾配降下のT=300ステップで得られる。比較的浅い量子計算ネットワーク20が厳密解を見つけることを示す、L=4層の24a、24bから始まるすべての数の古典的変数(ノード)ncに対して、コスト関数が0に達することに気付くことができる。8192個のノードに関する問題について、量子計算ネットワーク20は、56個のパラメータを最適化しながら、14個の量子ビット、および量子ゲートの4層24a、24bのみを備えることに留意されたい。
【0095】
図7は、
図6Bで使用されたものと類似の量子計算ネットワーク20を有するハイブリッド量子計算アーキテクチャのシミュレートされた性能の図を示す。しかしながら、
図7では、[0.01,1]の連続範囲からランダムに選択した256個のノードとエッジ重みとを有するランダム完全グラフ上の最大カット問題を解くように、量子計算ネットワーク20が適用された。解のエネルギーは、勾配降下のステップ数(すなわち、
図4に示す反復方法の反復回数)に対してプロットされ、古典ソルバーとしてのIBM ILOG CPLEX最適化ソフトウェア・パッケージの性能と比較される。
【0096】
CPLEX最適化ソフトウェア・パッケージは、64 GBのRAMを有する6つのインテルのi9-CPU上の32個のノードグラフ上の最大カットを、数分で正確に解くことができるが、グラフのサイズが≧64ノードの場合、厳密解の探索は困難になる可能性がある。
【0097】
各グラフについて、量子計算ネットワーク深さLは、固定され(層数Lを凡例に示す)、近似解を見つけるために、6つのインテルのi9-CPU上で、1時間および5時間実行されるCPLEX最適化ソフトウェア・パッケージで得られた結果と比較される。量子計算ネットワーク(QCN)勾配降下は、同じプロセッサ上で「シルク(Cirq)」シミュレータを使用して実行された。シミュレーションは、1000ステップに対して、10層の24a、24bを有する量子計算ネットワーク20の動作をシミュレートするために約30分間実行され、20層の24a、24bを有する量子計算ネットワーク20の動作をシミュレートするために約3時間実行された。
図7から明らかなように、より深い量子回路は、原理的に、より少ない反復回数でより正確な解を提供する。これは、より正確な解を見つけるためのより深い量子計算ネットワーク20の一般的な利点を示している。
【0098】
当業者であれば、256ノードグラフの最大カットを探索する20層QCNにおける400ステップの勾配降下は、シミュレートされた量子プロセッサ上で20分で実行することができ、一方、CPLEXは、同じ時間軸で著しく悪い正確性になることを理解するであろう。したがって、量子計算ネットワーク20が量子ハードウェアにアクセスすることなく同じ古典ハードウェア上でシミュレートされる場合でも、上記ハイブリッド量子計算アーキテクチャは、古典ソルバーよりも優れている。したがって、ハイブリッド量子計算アーキテクチャは、量子ハードウェア上で動作するときに、さらなる利点を提供することが期待される。
【0099】
当業者はまた、量子計算ネットワーク20は、例示目的のために2つの固有値を有する変分単一量子ビットゲートを用いて説明されていることを理解するであろう。単一量子ビットゲートは、マルチ量子ビットゲートよりも高い忠実度を特徴とすることが多く、各層24a、24b内の変分量子ゲートの数を制限して解の収束を改善することも可能であるが、原理的には、他のタイプの変分量子ゲートを使用してもよい。
【0100】
より一般的な場合には、アンシラ量子ビットの状態に基づいて変分量子ゲートおよび追加量子ゲートAkを条件付きで適用することによって、量子計算ネットワーク20の評価に基づいて、偏導関数を、引き続き決定することができる。
【0101】
図8Aは、一般的な変分量子ゲートのための量子計算ネットワーク20の解を反復的に改善するための方法のフロー図の別の例を示す。本方法は、第2のアンシラ量子ビットの状態に基づいて、条件付きで適用される追加量子ゲートA
kを有する量子ゲート層24a、24bを適用するステップと、変分パラメータ
【数131】
の可変作用θ
jに関する量子ゲート層24a、24bの偏導関数を評価するために、出力状態を決定するステップと、を含む(S24)。本方法は、量子ゲート層24a、24bの偏導関数に基づいてコスト関数の勾配を決定するステップ(S26)と、コスト関数の勾配にわたる移動平均の更新関数、およびコスト関数の二乗勾配にわたる移動平均の更新関数に基づいて、変分パラメータ
【数132】
を更新するステップ(S28)と、をさらに含む。
【0102】
追加量子ゲートは、方程式
【数133】
を満たす必要があり、Kは自然数(例えば2)である。追加量子ゲートA
kは、それぞれの変分ゲートを条件付きで適用した後に、アンシラ量子ビットの状態に条件付きで適用されてもよく、出力状態は、変分パラメータ
【数134】
の可変作用θ
jに関して量子ゲート層の偏導関数を評価するように決定されてもよい。
【0103】
例えば、
図8Bに示すように、状態|0>のアンシラ量子ビット42を、第1のアダマール・ゲート22aにより、重ね合わせ状態で、用意してもよい。量子計算ネットワーク20の評価中に、例えば、条件付きでアンシラ量子ビット42の状態が、|0>であることに対して、量子ビットレジスタ12内の量子ビット状態44は、条件付きで変分量子ゲート46の動作を受けることができる。その後、結果として生じる量子ビットレジスタ12内の量子ビット状態44は、例えば、アンシラ量子ビット42が|1>である状態に対して、条件付きで追加量子ゲート48の動作を受けることができる。次いで、第2のアダマール・ゲート22bがアンシラ量子ビット42の状態に作用してもよく、アンシラ量子ビット42の状態が測定センサ50によって測定されてもよい。
【0104】
追加量子ゲートA
kの各々について確率p
0およびp
1を有し、アンシラの状態が、それぞれ|0>および|1>である期待値E
0およびE
1を取得するために、量子計算の結果およびアンシラ42の状態を測定できる。次いで、偏導関数を、
【数135】
に従って決定できる。
【0105】
したがって、いくつかの実施形態では、本方法は、3つ以上の固有値を有する変分量子ゲート46を含むことができ、一方、解は、
図8A、
図8Bに示すものと同様の反復方法で最適化できる。
【0106】
好ましい実施形態および図面の説明は、本発明およびそれに関連する有益な効果を説明するのに役立つにすぎず、限定を暗示するものと理解されるべきではない。本発明の範囲は、添付の特許請求の範囲によってのみ決定されるべきである。
【符号の説明】
【0107】
10 システム
12 量子ビットレジスタ
14 複数の量子ゲート
16 測定センサ
18 コントローラ
20 量子計算ネットワーク
22,22a,22b アダマール・ゲート
24a,24b 層
26 初期量子計算ネットワーク評価
28 コスト関数評価モジュール
30 収束/閾値評価モジュール
32 ハイブリッド勾配評価
34 シフトされた変分パラメータに対する量子計算ネットワーク評価
36 偏導関数評価モジュール
38 更新モジュール
40 更新された変分パラメータに対する量子計算ネットワーク評価
42 アンシラ量子ビット
44 量子ビットレジスタ状態
46 変分量子ゲート
48 追加量子ゲート
50 アンシラ測定デバイス