(57)【要約】  組合せ最適化のためのハイブリッド量子−古典アルゴリズムを強化する方法は、量子プロセッサ上で変分アルゴリズムを実行することを含み、この実行は、変分アルゴリズムの一組の解（解空間）の部分集合を所定の期間内に生成し、変分アルゴリズムは、組合せ最適化問題に対応する量子系の量子状態を計算し、部分集合の中のそれぞれの解は対応する値を有し、この方法はさらに、ソート基準に従って解の部分集合をソートすること、およびこのソートに基づいて解の部分集合の部分を分離することを含み、この部分の中のそれぞれの解に対応する値は、しきい値によって定義された境界内にあり、この方法はさらに、解の部分集合の部分から解の平均値を計算すること、および解の第２の部分集合であり、境界内の値を有する解を含むような第２の部分集合を生成するように、変分アルゴリズムを変更することを含む。
2022502734.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
量子プロセッサ上で変分アルゴリズムを実行することであって、前記実行することが、前記変分アルゴリズムの一組の解（解空間）の部分集合を所定の期間内に生成し、前記変分アルゴリズムが、組合せ最適化問題に対応する量子系の量子状態を計算し、前記部分集合の中のそれぞれの解が対応する値を有する、前記実行することと、
ソート基準に従って解の前記部分集合をソートすることと、
前記ソートすることに基づいて解の前記部分集合の部分を分離することであって、前記部分の中のそれぞれの解に対応する値が、しきい値によって定義された境界内にある、前記分離することと、
解の前記部分集合の前記部分から前記解の平均値を計算することと、
解の第２の部分集合であり、前記境界内の値を有する解を含むような前記第２の部分集合を生成するように、前記変分アルゴリズムを変更することと
を含む方法。
【請求項２】
解の前記部分集合をソートすることが、
前記ソート基準に従って解の前記部分集合を昇順に配列すること
を含む、請求項１に記載の方法。
【請求項３】
解の前記部分集合の前記部分が、解の前記部分集合のうちの小さい方から５％に対応する、請求項１または２に記載の方法。
【請求項４】
前記量子プロセッサ上で、前記変更された変分アルゴリズムを実行することをさらに含み、前記実行することが、前記変更された変分アルゴリズムの解の前記第２の部分集合を所定の第２の期間内に生成し、前記第２の部分集合の中のそれぞれの解が対応する値を有する、請求項１ないし３のいずれかに記載の方法。
【請求項５】
解の前記部分集合の前記部分を分離する前に、前記しきい値に対応する入力変数を受け取ること
をさらに含む、請求項１ないし４のいずれかに記載の方法。
【請求項６】
前記入力変数が百分率値である、請求項５に記載の方法。
【請求項７】
解の前記部分集合の前記部分を分離する前に、前記しきい値に対応する第１の入力変数および第２のしきいレベルに対応する第２の入力変数を受け取ることと、
前記量子プロセッサ上で、前記変分アルゴリズムの一組の反復を実行することであって、前記実行することが、前記変分アルゴリズムの反復のたびに、前記変分アルゴリズムの一組の解（解空間）の部分集合を生成し、前記変分アルゴリズムのそれぞれの反復が、組合せ最適化問題に対応する量子系の量子状態を計算し、それぞれの部分集合の中のそれぞれの解が対応する値を有する、前記変分アルゴリズムの一組の反復を実行することと、
前記ソート基準に従って、解の第２の部分集合および解の第３の部分集合をソートすることと、
前記ソートすることに基づいて、解の第２の部分集合の第２の部分を分離することであって、前記第２の部分の中のそれぞれの解に対応する値が、前記しきい値によって定義された前記境界内である、前記解の第２の部分集合の第２の部分を分離することと、
解の前記第２の部分集合の前記部分から前記解の平均値を計算することと、
前記ソートすることに基づいて、解の第３の部分集合の第３の部分を分離することであって、前記第３の部分の中のそれぞれの解に対応する値が、前記第２のしきい値によって定義された第２の境界内にある、前記解の第３の部分集合の第３の部分を分離することと
をさらに含む、請求項１ないし６のいずれかに記載の方法。
【請求項８】
前記変分アルゴリズムを実行することが、
前記量子系の前記量子状態の期待値を計算すること
をさらに含み、前記量子系の前記量子状態が、前記量子プロセッサ上の一組の量子論理ゲートに対応する、
請求項１ないし７のいずれかに記載の方法。
【請求項９】
前記解の前記平均値が前記解空間の１つの極値を形成する、請求項１ないし８のいずれかに記載の方法。
【請求項１０】
コンピュータ可読ストレージ・デバイスを備え、前記ストレージ・デバイスに記憶されたプログラム命令を含むコンピュータ使用可能プログラム製品であって、前記記憶されたプログラム命令が、
量子プロセッサ上で変分アルゴリズムを実行するためのプログラム命令であり、前記実行することが、前記変分アルゴリズムの一組の解（解空間）の部分集合を所定の期間内に生成し、前記変分アルゴリズムが、組合せ最適化問題に対応する量子系の量子状態を計算し、前記部分集合の中のそれぞれの解が対応する値を有する、前記プログラム命令と、
ソート基準に従って解の前記部分集合をソートするためのプログラム命令と、
前記ソートすることに基づいて解の前記部分集合の部分を分離するためのプログラム命令であり、前記部分の中のそれぞれの解に対応する値が、しきい値によって定義された境界内にある、前記プログラム命令と、
解の前記部分集合の前記部分から前記解の平均値を計算するためのプログラム命令と、
解の第２の部分集合であり、前記境界内の値を有する解を含むような前記第２の部分集合を生成するように、前記変分アルゴリズムを変更するためのプログラム命令と
を含む、コンピュータ使用可能プログラム製品。
【請求項１１】
コンピュータ使用可能コードが、データ処理システム内のコンピュータ可読ストレージ・デバイスに記憶されており、前記コンピュータ使用可能コードが、ネットワークを介してリモート・データ処理システムから転送される、請求項１０に記載のコンピュータ使用可能プログラム製品。
【請求項１２】
コンピュータ使用可能コードが、サーバ・データ処理システム内のコンピュータ可読ストレージ・デバイスに記憶されており、前記コンピュータ使用可能コードが、リモート・データ処理システムに関連したコンピュータ可読ストレージ・デバイス内で使用されるために、ネットワークを介して前記リモート・データ処理システムにダウンロードされる、請求項１０に記載のコンピュータ使用可能プログラム製品。
【請求項１３】
解の前記部分集合をソートするための前記プログラム命令が、
前記ソート基準に従って解の前記部分集合を昇順に配列するためのプログラム命令
を含む、請求項１０に記載のコンピュータ使用可能プログラム製品。
【請求項１４】
解の前記部分集合の前記部分が、解の前記部分集合のうちの小さい方から５％に対応する、請求項１０ないし１３のいずれかに記載のコンピュータ使用可能プログラム製品。
【請求項１５】
前記記憶されたプログラム命令が、
前記量子プロセッサ上で、前記変更された変分アルゴリズムを実行するためのプログラム命令であり、前記実行することが、前記変更された変分アルゴリズムの解の前記第２の部分集合を所定の第２の期間内に生成し、前記第２の部分集合の中のそれぞれの解が対応する値を有する、前記プログラム命令
をさらに含む、請求項１０ないし１４のいずれかに記載のコンピュータ使用可能プログラム製品。
【請求項１６】
前記記憶されたプログラム命令が、
解の前記部分集合の前記部分を分離する前に、前記しきい値に対応する入力変数を受け取るためのプログラム命令
をさらに含む、請求項１０ないし１５のいずれかに記載のコンピュータ使用可能プログラム製品。
【請求項１７】
前記入力変数が百分率値である、請求項１０ないし１６のいずれかに記載のコンピュータ使用可能プログラム製品。
【請求項１８】
前記記憶されたプログラム命令が、
解の前記部分集合の前記部分を分離する前に、前記しきい値に対応する第１の入力変数および第２のしきいレベルに対応する第２の入力変数を受け取るためのプログラム命令と、
前記量子プロセッサ上で、前記変分アルゴリズムの一組の反復を実行するためのプログラム命令であり、前記実行することが、前記変分アルゴリズムの反復のたびに、前記変分アルゴリズムの一組の解（解空間）の部分集合を生成し、前記変分アルゴリズムのそれぞれの反復が、組合せ最適化問題に対応する量子系の量子状態を計算し、それぞれの部分集合の中のそれぞれの解が対応する値を有する、前記プログラム命令と、
前記ソート基準に従って、解の第２の部分集合および解の第３の部分集合をソートするためのプログラム命令と、
前記ソートすることに基づいて、解の前記第２の部分集合の第２の部分を分離するためのプログラム命令であり、前記第２の部分の中のそれぞれの解に対応する値が、前記しきい値によって定義された前記境界内にある、前記プログラム命令と、
前記ソートすることに基づいて、解の第３の部分集合の第３の部分を分離するためのプログラム命令であり、前記第３の部分の中のそれぞれの解に対応する値が、前記第２のしきい値によって定義された第２の境界内にある、前記プログラム命令と
をさらに含む、請求項１０ないし１７のいずれかに記載のコンピュータ使用可能プログラム製品。
【請求項１９】
前記変分アルゴリズムを実行するためのプログラム命令が、
前記量子系の前記量子状態の期待値を計算するためのプログラム命令であり、前記量子系の前記量子状態が、前記量子プロセッサ上の一組の量子論理ゲートに対応する、前記プログラム命令
をさらに含む、請求項１０ないし１８のいずれかに記載のコンピュータ使用可能プログラム製品。
【請求項２０】
プロセッサ、コンピュータ可読メモリおよびコンピュータ可読ストレージ・デバイスを備え、前記ストレージ・デバイスに、前記プロセッサが前記メモリを介して実行するためのプログラム命令が記憶されたコンピュータ・システムであって、前記記憶されたプログラム命令が、
量子プロセッサ上で変分アルゴリズムを実行するためのプログラム命令であり、前記実行することが、前記変分アルゴリズムの一組の解（解空間）の部分集合を所定の期間内に生成し、前記変分アルゴリズムが、組合せ最適化問題に対応する量子系の量子状態を計算し、前記部分集合の中のそれぞれの解が対応する値を有する、前記プログラム命令と、
ソート基準に従って解の前記部分集合をソートするためのプログラム命令と、
前記ソートすることに基づいて解の前記部分集合の部分を分離するためのプログラム命令であり、前記部分の中のそれぞれの解に対応する値が、しきい値によって定義された境界内にある、前記プログラム命令と、
解の前記部分集合の前記部分から前記解の平均値を計算するためのプログラム命令と、
解の第２の部分集合であり、前記境界内の値を有する解を含むような前記第２の部分集合を生成するように、前記変分アルゴリズムを変更するためのプログラム命令と
を含む、コンピュータ・システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に、量子コンピューティングを使用した変分アルゴリズム（variationalalgorithm）に関する。より詳細には、本発明は、最適化のためのハイブリッド量子−古典アルゴリズム（hybrid quantum-classical algorithm）を強化する方法に関する。
【背景技術】
【０００２】
使用されている箇所で明示的に区別されていない限り、本明細書では以降、語または句の中の接頭辞「Ｑ」が、量子コンピューティングの文脈でその語または句に言及していることを示す。
【０００３】
分子および亜原子粒子（subatomic particle）は量子力学の法則に従う。量子力学は、物質界（physical world）がどのように機能しているのかを最も基本的なレベルで探究する物理学の一部門である。このレベルにおいて、粒子は奇妙な振舞いを示し、同時に２つ以上の状態をとり、非常に遠く離れた別の粒子と相互作用する。量子コンピューティングはこれらの量子現象を利用して情報を処理する。
【０００４】
今日我々が使用しているコンピュータは、古典コンピュータ（本明細書では「従来型」コンピュータまたは従来型ノード（conventional node）ないし「ＣＮ」とも呼ぶ）として知られている。従来型コンピュータは、半導体材料および半導体技術を使用して製造された従来型プロセッサ、半導体メモリ、ならびに磁気または固体状態ストレージ・デバイスを、フォン・ノイマン型アーキテクチャとして知られているアーキテクチャで使用する。具体的には、従来型コンピュータのプロセッサは、２値プロセッサ、すなわち１および０で表された２値データに対して演算を実行するプロセッサである。
【０００５】
量子プロセッサ（ｑプロセッサ）は、エンタングルされた（entangled）キュービット・デバイス（本明細書では簡潔に「キュービット」（「qubit」、複数形は「qubits」）と呼ぶ）の変わった性質を使用して、計算タスクを実行する。量子力学が機能する特定の領域において、物質の粒子は、例えば「オン」状態、「オフ」状態、および「オン」と「オフ」の両方を同時にとる状態など、複数の状態で存在しうる。半導体プロセッサを使用する２値コンピューティングは、（２値コードの１および０と等価の）オンおよびオフ状態だけを使用することに限定されているが、量子プロセッサは、物質のこれらの量子状態を利用して、データ・コンピューティングで使用可能な信号を出力する。
【０００６】
従来型コンピュータは、情報をビットとしてコード化する。それぞれのビットは１または０の値をとることができる。これらの１および０は、コンピュータ機能を最終的に駆動するオン／オフ・スイッチの働きをする。一方、量子コンピュータはキュービットに基づき、キュービットは、量子物理学の鍵となる２つの原理、すなわち重ね合わせ（superposition）およびエンタングルメント（entanglement）に従って動作する。重ね合わせは、それぞれのキュービットが１と０の両方を同時に表すことができることを意味する。エンタングルメントは、重ね合わせの状態にあるキュービットを古典的でない手法で互いに相関させることができること、すなわち、１つのキュービットの状態（それが１なのかもしくは０なのかまたはその両方であるのかは問わない）が別のキュービットの状態に依存しうること、および２つのキュービットがエンタングルされているときの方が、それらの２つのキュービットが個別に処理されるときよりも、それらの２つのキュービットに関して確認することができるより多くの情報が存在することを意味する。
【０００７】
これらの２つの原理を使用して、キュービットは、従来型コンピュータを使用することによっては扱えない難しい問題を量子コンピュータが解決することを可能にする手法で量子コンピュータが機能することを可能にする、より洗練された情報処理装置として動作する。ＩＢＭ（Ｒ）は、超伝導キュービットを使用する量子プロセッサを構築し、その動作可能性を示すことに成功した（ＩＢＭ（Ｒ）は、米国および他の国におけるＩｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅs社の登録商標である）。
【０００８】
例示的な実施形態は、現在使用可能な従来型プロセッサが実行することができないか、または望ましくない正確さもしくは計算リソース消費を伴わずには実行することができない変分アルゴリズムを、量子プロセッサが実行することができることを認識している。変分アルゴリズムは、量子系の基底状態エネルギーの上限を決定するために変更される試験波動関数（trial wavefunction）を使用する。波動関数は、数学的記述、例えば量子系の量子状態の数学的記述である。量子プロセッサ上では、量子状態が、キュービットに作用している一連の量子論理ゲートとして表される。量子系のそれぞれの量子状態は、対応するエネルギー値を含む。
【０００９】
量子系の基底状態の全エネルギーは、量子系の全エネルギーの可能な最小値に対応する。ハミルトン演算子（Hamiltonian）は、量子状態の全エネルギーを記述する演算子である。波動関数に作用するハミルトン演算子（Hamiltonian operator）は、量子状態の全エネルギーに対応する値を決定する。
【００１０】
量子系の基底状態エネルギーの上限を計算するため、変分アルゴリズムは、初期波動関数から始まる多数の評価を実行する。それぞれの評価は、評価対象の波動関数に対応する量子状態の全エネルギーを計算する。変分アルゴリズムは次いで、一組の量子論理ゲートのうちの少なくとも１つの量子論理ゲートを変更してキュービット上で回転を実行するなど、評価された波動関数のパラメータを変更して新たな波動関数を生成することができる。新たな波動関数の評価は、新たな波動関数に対応する新たな量子状態の全エネルギーを計算する。変分アルゴリズムは、以前の波動関数の全エネルギーを新たな波動関数の全エネルギーと比較する。
【００１１】
従来型プロセッサは、波動関数のパラメータを変更する最適化アルゴリズムを実行する。量子プロセッサは、波動関数の対応する全エネルギーを計算する。新たな波動関数の全エネルギーと以前の波動関数との比較に基づいて、最適化アルゴリズムは、量子系の計算された全エネルギー（以後、計算全エネルギー）を最小化するために波動関数のパラメータをどのように変更すべきかを決定する。
【００１２】
変分アルゴリズムは、計算全エネルギーが比較的に安定するまで、例えば引き続く評価がしきい百分率（threshold percentage）内の全エネルギーを計算するまで、評価を実行し続けることができる。最終的な評価による安定した計算全エネルギーが、量子系の基底状態の最小エネルギーの上限に対応する。対応する波動関数は、量子系の固有関数（eigenfunction）の近似を表す。
【００１３】
例示的な実施形態は、変分アルゴリズムを使用して、一般的な組合せ最適化問題（combinatorial optimization problem）を解くことができることを認識している。組合せ最適化は、目的関数の最小値または最大値を決定することを含む。例えば、巡回セールスマン問題は、ｎ個の都市間の可能な最短経路であって、それぞれの都市を厳密に１回だけ訪問する経路を決定することを含む。組合せ最適化は、解（都市間の経路）を最小のコストで決定することを含む。組合せ最適化問題の解空間（solution space）は一組の可能な解である。コンディショナル・バリュー・アット・リスク（conditional value at risk）は、この一組の解の特定の部分集合（subset）に焦点を合わせる。例えば、金融リスク計測事例は、悪い方から５％の事例における期待収益（利益／損失）に注目することがある。
【００１４】
例示的な実施形態は、量子系中の粒子の量子状態をエンタングルすることができることを認識している。エンタングルされた量子状態を、量子系中の他の粒子の状態とは独立に記述することはできない。エンタングルされた量子状態は、量子系全体の記述を必要とする。例示的な実施形態は、変分アルゴリズムのそれぞれの反復が、量子系の量子状態に関する潜在的な単一の解だけを決定することを認識している。
【００１５】
例示的な実施形態は、組合せ最適化問題の解空間は通常、従来型コンピュータを使用して徹底的に探索するにはあまりに大きすぎることを認識している。多くの組合せ最適化問題に関して、解空間全体の十分に大きなサンプルを計算することは、法外に高コストとなるか、または従来のコンピューティングを使用して達成することは現在のところ不可能であるかのどちらかであるが、量子コンピューティング・アーキテクチャを使用すれば可能となる可能性がある。
【００１６】
例示的な実施形態は、組合せ最適化問題の真の解を近似するための従来の変分アルゴリズムが、変分アルゴリズムの反復ごとに一組の解（解空間）全体の平均に焦点を合わせていることをさらに認識している。例示的な実施形態は、一組の解の部分集合の中の潜在的ないくつかの解を、組合せ最適化問題の真の解に近づけることができることを認識している。例示的な実施形態は、最小の解または最大の解に最も近い潜在的な解の平均をとることが、真の解により近い近似値を変分アルゴリズムが決定するのに役立つことがあることも認識している。
【００１７】
さらに量子コンピューティング・リソースは不十分かつ高価であるため、十分に大きな解空間サンプルならびにそれらの最大値および最小値を、可能な最小の量子コンピューティング・コストで計算することが求められている。したがって、例示的な実施形態は、大きな解空間のサンプルならびにそれらの最大値および最小値を生成するための量子コンピューティング・コストが正確さの損失なしに最小化されるような手法で、量子コンピューティング・プラットホーム上で変分アルゴリズムを実行する新規の方法が求められていることを認識している。
【発明の概要】
【００１８】
例示的な実施形態は、組合せ最適化のためのハイブリッド量子−古典アルゴリズムを強化する方法、システムおよびコンピュータ・プログラム製品を提供する。一実施形態は、組合せ最適化のための量子−古典アルゴリズムを強化する方法を含み、この方法は、量子プロセッサ上で変分アルゴリズムを実行することを含み、この実行は、変分アルゴリズムの一組の解（解空間）の部分集合を所定の期間（predefined period）内に生成し、変分アルゴリズムは、組合せ最適化問題に対応する量子系の基底状態を計算し、部分集合の中のそれぞれの解は対応する値を有する。この実施形態は、ソート基準（sorting criterion）に従って解の部分集合をソートすることをさらに含む。
【００１９】
この実施形態は、このソートに基づいて解の部分集合の部分を分離することをさらに含み、この部分の中のそれぞれの解に対応する値は、しきい値によって定義された境界内にある。この実施形態は、解の部分集合の部分から解の平均値を計算することをさらに含む。この実施形態は、解の第２の部分集合であり、境界内の値を有する解を含むような第２の部分集合を生成するように、変分アルゴリズムを変更することをさらに含む。
【００２０】
解の部分集合をソートする実施形態は、ソート基準に従って解の部分集合を昇順に配列することを含む。一実施形態では、解の部分集合の部分が、解の部分集合のうちの小さい方から５％に対応する。
【００２１】
一実施形態は、量子プロセッサ上で、変更された変分アルゴリズムを実行することを含み、この実行することは、変更された変分アルゴリズムの解の第２の部分集合を所定の第２の期間内に生成し、第２の部分集合の中のそれぞれの解は対応する値を有する。一実施形態は、解の部分集合の部分を分離する前に、しきい値に対応する入力変数を受け取ることを含む。
【００２２】
一実施形態では、入力変数が百分率値である。一実施形態は、解の部分集合の部分を分離する前に、しきい値に対応する第１の入力変数および第２のしきいレベルに対応する第２の入力変数を受け取ることを含む。この実施形態は、量子プロセッサ上で、変分アルゴリズムの一組の反復を実行することをさらに含み、この実行は、変分アルゴリズムの反復のたびに、変分アルゴリズムの一組の解（解空間）の部分集合を生成し、変分アルゴリズムのそれぞれの反復は、組合せ最適化問題に対応する量子系の量子状態を計算し、それぞれの部分集合の中のそれぞれの解は対応する値を有する。
【００２３】
一実施形態は、ソート基準に従って、解の第２の部分集合および解の第３の部分集合をソートすることを含む。一実施形態は、このソートに基づいて、解の第２の部分集合の第２の部分を分離することを含み、第２の部分の中のそれぞれの解に対応する値は、しきい値によって定義された境界内にある。
【００２４】
一実施形態は、解の第２の部分集合の部分から解の平均値を計算することを含む。一実施形態は、ソートに基づいて、解の第３の部分集合の第３の部分を分離することを含み、第３の部分の中のそれぞれの解に対応する値は、第２のしきい値によって定義された第２の境界内にある。
【００２５】
一実施形態では、変分アルゴリズムを実行することが、量子系の量子状態の期待値を計算することを含み、量子系の量子状態は、量子プロセッサ上の一組の量子論理ゲートに対応する。一実施形態では、解の平均値が、解空間の１つの極値（extreme）を形成する。
【００２６】
一実施形態では、この方法が、１つまたは複数のコンピュータ可読ストレージ・デバイスと、この１つまたは複数の有形のコンピュータ可読ストレージ・デバイスに記憶されたコンピュータ可読プログラム命令であって、１つまたは複数のプロセッサによって実行されるコンピュータ可読プログラム命令とを含むコンピュータ・プログラム製品に実装されている。
【００２７】
一実施形態は、コンピュータが使用可能なプログラム製品（以後、コンピュータ使用可能プログラム製品）を含む。このコンピュータ使用可能プログラム製品はコンピュータ可読ストレージ・デバイスを含み、このストレージ・デバイスにはプログラム命令が記憶されている。
【００２８】
一実施形態はコンピュータ・システムを含む。このコンピュータ・システムは、プロセッサ、コンピュータ可読メモリおよびコンピュータ可読ストレージ・デバイスを含み、このストレージ・デバイスには、プロセッサがメモリを介して実行するためのプログラム命令が記憶されている。
【００２９】
添付の特許請求の範囲には、本発明の特徴と考えられる新規の特徴が記載されている。しかしながら、本発明自体、ならびに本発明の好ましい使用形態、さらに本発明の目的および利点は、例示的な実施形態の以下の詳細な説明を添付図面とともに読んだときに、その説明を参照することによって最もよく理解される。
【図面の簡単な説明】
【００３０】
【図１】例示的な実施形態を実施することができるデータ処理システムのネットワークのブロック図である。
【図２】例示的な実施形態を実施することができるデータ処理システムのブロック図である。
【図３】例示的な実施形態による、量子−古典ハイブリッド変分アルゴリズムを強化するための例示的な構成のブロック図である。
【図４】例示的な実施形態による、量子−古典ハイブリッド変分アルゴリズムを強化する例示的な方法の流れ図である。
【図５】例示的な実施形態による、量子−古典ハイブリッド変分アルゴリズムを強化するための分離ステップの例示的なグラフである。
【発明を実施するための形態】
【００３１】
本発明を説明するために使用される例示的な実施形態は一般に、量子コンピューティングのための変分アルゴリズムの上述の課題に対処し、その課題を解決する。例示的な実施形態は、組合せ最適化のための量子−古典アルゴリズムを強化する方法を提供する。
【００３２】
一実施形態は、組合せ最適化のために量子−古典アルゴリズムを強化する方法を提供する。別の実施形態は、コンピュータ可読ストレージ・デバイスを含む、従来型コンピュータまたは量子コンピュータが使用可能なプログラム製品であって、ストレージ・デバイスにプログラム命令が記憶されており、記憶されたプログラム命令が、組合せ最適化のための量子−古典アルゴリズムを強化する方法を含む、プログラム製品を提供する。この命令は、従来型プロセッサまたは量子プロセッサを使用して実行可能である。別の実施形態は、従来型プロセッサまたは量子プロセッサ、コンピュータ可読メモリおよびコンピュータ可読ストレージ・デバイスを備えるコンピュータ・システムであって、ストレージ・デバイスに、プロセッサがメモリを介して実行するためのプログラム命令が記憶されており、記憶されたプログラム命令が、組合せ最適化のための量子−古典アルゴリズムを強化する方法を含む、コンピュータ・システムを提供する。
【００３３】
例示的な実施形態は、量子プロセッサが、変分アルゴリズムを実行して、量子系の基底状態エネルギーの近似値、例えば所与の原子間間隔を有する分子の電子軌道構成を計算することができることを認識している。変分量子固有値ソルバ（Variational Quantum Eigensolver）（ＶＱＥ）は、量子プロセッサを用いて実行される変分アルゴリズムの非限定的な一例である。ＶＱＥは、量子状態を準備するためのパラメータを変更し、準備された量子状態の特性を決定する。量子プロセッサ上では、量子状態が、キュービットに作用している一連の量子論理ゲートとして準備される。
【００３４】
新たな量子状態を生成し、それらの量子状態に対応する特性を最小化するために、変分アルゴリズムを繰り返す。変分アルゴリズムは、量子状態に対応する特性を最小化するためのオプティマイザ（optimizer）を含む。変分アルゴリズムによって実行されるそれぞれの評価は、パラメータを変更して新たな量子状態を生成すること、新たな量子状態の特性を計算すること、新たな量子状態と以前の量子状態の特性を比較すること、およびこの比較に基づいて、引き続く評価においてパラメータをどのように変更するのかを決定することを含む。例えば、変分アルゴリズムは、量子系の基底状態エネルギーの上限を決定するための評価を実行することができる。
【００３５】
変分アルゴリズムは、パラメータを変更して新たな量子状態を生成し、新たな量子状態の全エネルギーを以前の量子状態の全エネルギーと比較する。変分アルゴリズムのオプティマイザは、生成された量子状態の計算全エネルギーを低減させるために、どのパラメータを変更するのか、もしくはパラメータをどのように変更するのか、またその両方を決定する。変分アルゴリズムは、計算全エネルギーが最小値に到達し、比較的に安定するまで評価を実行し続ける。最終的な評価の計算全エネルギーが、量子系の基底状態エネルギーの上限に対応する。
【００３６】
説明を明瞭にするため、その説明に限定されることを暗示することなく、例示的な実施形態は、いくつかの例示的な構成を使用して説明される。この開示から、当業者は、記載された目的を達成するための記載された構成の多くの改変、適合および変更を考案することができ、それらは、例示的な実施形態の範囲内で企図される。
【００３７】
さらに、図および例示的な実施形態では、データ処理環境の簡略図が使用される。実際のコンピューティング環境には、例示的な実施形態の範囲を逸脱することなく、本明細書に示されていないもしくは本明細書に記載されていない追加の構造体もしくは構成要素、または、示された構造体もしくは構成要素とは異なるが本明細書に記載された機能と同様の機能を有する構造体もしくは構成要素が存在することがある。
【００３８】
さらに、実際のまたは仮定の特定の構成要素に関して、例示的な実施形態は単なる例として記載されている。例示的なさまざまな実施形態によって説明されたステップを、データ処理環境内の記載された機能を提供することを目的としうる、またはそのような機能を提供するために転用しうるさまざまな構成要素を使用して、組合せ最適化のための量子−古典アルゴリズムを強化するように適合させることができ、そのような適合は、例示的な実施形態の範囲に含まれることが企図される。
【００３９】
例示的な実施形態は、あるタイプのステップ、アプリケーション、量子論理ゲートおよびデータ処理環境に関して、単なる例として説明される。これらのアーチファクトおよび他の同様のアーチファクトの特定の表現物（manifestation）が本発明を限定することは意図されていない。例示的な実施形態の範囲内で、これらのアーチファクトおよび他の同様のアーチファクトの適当な表現物を選択することができる。
【００４０】
本開示の例は、説明を明瞭にするためだけに使用され、例示的な実施形態を限定するものではない。本明細書に挙げられた利点は単なる例であり、それらの利点が例示的な実施形態を限定することは意図されていない。特定の例示的な実施形態によって追加の利点または異なる利点を実現することができる。さらに、特定の例示的な実施形態は、上に挙げた利点の一部もしくは全部を有することがあり、または上に挙げた利点を１つも持たないことがある。
【００４１】
図、具体的には図１および２を参照すると、これらの図は、例示的な実施形態を実施することができるデータ処理環境の例示的な図である。図１および２は単なる例であり、これらの図が、異なる実施形態を実施することができる環境に関する限定を主張または暗示することは意図されていない。特定の実施態様は、以下の説明に基づいて図示の環境に多くの変更を加えることができる。
【００４２】
図１は、例示的な実施形態を実施することができるデータ処理システムのネットワークのブロック図を示している。データ処理環境１００は、例示的な実施形態を実施することができる、コンピュータのネットワークである。データ処理環境１００はネットワーク１０２を含む。ネットワーク１０２は、データ処理環境１００内で一緒に接続されたさまざまなデバイスおよびコンピュータ間の通信リンクを提供するために使用される媒体である。ネットワーク１０２は、有線通信リンク、無線通信リンクまたは光ファイバ・ケーブルなどの接続を含むことができる。
【００４３】
クライアントまたはサーバは、ネットワーク１０２に接続されたある種のデータ処理システムの役割の単なる例であり、クライアントまたはサーバが、これらのデータ処理システムの他の構成または役割を排除することは意図されていない。ネットワーク１０２には、ストレージ・ユニット１０８とともにサーバ１０６が結合している。サーバ１０６は従来型データ処理システムである。ネットワーク１０２には量子処理システム１４０が結合している。量子処理システム１４０は量子データ処理システムである。データ処理環境１００内の任意の量子データ処理システム上でソフトウェア・アプリケーションを実行することができる。図１の量子処理システム１４０内で実行されると記載されたソフトウェア・アプリケーションはいずれも、別の量子データ処理システム内で同様に実行されるように構成することができる。図１の量子処理システム１４０内に記憶されたまたは量子処理システム１４０内で生成されたデータまたは情報はいずれも、別の量子データ処理システム内に同様に記憶されるように、または別の量子データ処理システム内で同様に生成されるように構成することができる。量子処理システム１４０などの量子データ処理システムはデータを含むことができ、量子コンピューティング・プロセスをその上で実行するソフトウェア・アプリケーションまたはソフトウェア・ツールを有することができる。
【００４４】
ネットワーク１０２にはさらにクライアント１１０、１１２および１１４が結合されている。サーバ１０６またはクライアント１１０、１１２もしくは１１４などの従来型データ処理システムはデータを含むことができ、従来型コンピューティング・プロセスをその上で実行するソフトウェア・アプリケーションまたはソフトウェア・ツールを有することができる。
【００４５】
単なる例として、このようなアーキテクチャに限定されることを暗示することなく、図１は、実施形態の例示的な実施態様で使用可能なある種の構成要素を示している。例えば、サーバ１０６およびクライアント１１０、１１２、１１４は、単なる例としてサーバおよびクライアントとして示されており、このことは、クライアント−サーバ・アーキテクチャに限定されることを暗示しない。別の例として、図示されているように、いくつかの従来型データ処理システム、量子データ処理システムおよびデータ・ネットワークを横断して実施形態を分散させることができ、一方で、例示的な実施形態の範囲内で、単一の従来型データ処理システム上または単一の量子データ処理システム上で別の実施形態を実施することもできる。従来型データ処理システム１０６、１１０、１１２および１１４はさらに、実施形態を実施するのに適したクラスタ、パーティションおよび他の構成の例示的なノードを表す。
【００４６】
デバイス１３２は、本明細書に記載された従来型コンピューティング・デバイスの例である。例えば、デバイス１３２は、スマートフォン、タブレット・コンピュータ、ラップトップ・コンピュータ、固定もしくは携帯可能形式のクライアント１１０、ウェアラブル・コンピューティング・デバイス、または他の適当なデバイスの形態をとることができる。図１の別の従来型データ処理システム内で実行されると記載されたソフトウェア・アプリケーションはいずれも、デバイス１３２内で同様に実行されるように構成することができる。図１の別の従来型データ処理システム内に記憶されたまたは図１の別の従来型データ処理システム内で生成されたデータまたは情報はいずれも、デバイス１３２内に同様に記憶されるように、またはデバイス１３２内で同様に生成されるように構成することができる。
【００４７】
サーバ１０６、ストレージ・ユニット１０８、量子処理システム１４０、クライアント１１０、１１２、および１１４、ならびにデバイス１３２は、有線接続、無線通信プロトコルまたは他の適当なデータ接続性を使用してネットワーク１０２に結合することができる。クライアント１１０、１１２および１１４は例えばパーソナル・コンピュータまたはネットワーク・コンピュータとすることができる。
【００４８】
図示の例では、サーバ１０６が、ブート・ファイル、オペレーティング・システム・イメージおよびアプリケーションなどのデータをクライアント１１０、１１２および１１４に提供することができる。この例では、クライアント１１０、１１２および１１４を、サーバ１０６に対するクライアントとすることができる。クライアント１１０、１１２、１１４またはこれらのクライアントのある組合せは、それら自体のデータ、ブート・ファイル、オペレーティング・システム・イメージおよびアプリケーションを含むことができる。データ処理環境１００は、図示されていない追加のサーバ、クライアントおよび他のデバイスを含むことができる。
【００４９】
図示の例では、メモリ１４４が、ブート・ファイル、オペレーティング・システム・イメージおよびアプリケーションなどのデータを量子プロセッサ１４２に提供することができる。量子プロセッサ１４２は、それ自体のデータ、ブート・ファイル、オペレーティング・システム・イメージおよびアプリケーションを含むことができる。データ処理環境１００は、図示されていない追加のメモリ、量子プロセッサおよび他のデバイスを含むことができる。メモリ１４４は、量子コンピューティングのための変分アルゴリズム解空間を収束させるための本明細書に記載された機能のうちの１つまたは複数の機能を１つまたは複数の実施形態に従って実施するように構成されていてもよいアプリケーション１０５を含む。
【００５０】
図示の例では、データ処理環境１００をインターネットとすることができる。
ネットワーク１０２は、伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）および他のプロトコルを使用して互いに通信するネットワークおよびゲートウェイの集合を表すことができる。インターネットの中心には、主要なノードまたはホスト・コンピュータ間のデータ通信リンクのバックボーンであって、データおよびメッセージの経路を指定する数千の商用、政府、教育およびその他のコンピュータ・システムを含むバックボーンが存在する。当然ながら、データ処理環境１００も、例えばイントラネット、ローカル・エリア・ネットワーク（ＬＡＮ）またはワイド・エリア・ネットワーク（ＷＡＮ）などのいくつかの異なるタイプのネットワークとして実施することができる。図１は、例であることが意図されており、図１が、異なる例示的な実施形態のアーキテクチャを限定することは意図されていない。
【００５１】
使用目的は他にもあるが、例示的な実施形態を実施することができるクライアント−サーバ環境を実施する目的にデータ処理環境１００を使用することができる。クライアント−サーバ環境は、従来型クライアント・データ処理システムと従来型サーバ・データ処理システムとの間のインタラクティブ性を使用することによってアプリケーションが機能するように、ソフトウェア・アプリケーションおよびデータを、ネットワークを横断して分散させることを可能にする。データ処理環境１００はさらにサービス指向アーキテクチャを使用することができ、サービス指向アーキテクチャでは、ネットワークを横断して分散した相互動作可能なソフトウェア構成要素を、コヒーレントなビジネス・アプリケーションとして一緒にパッケージングすることができる。データ処理環境１００はさらにクラウドの形態をとることができ、最小限の管理労力またはサービスのプロバイダとの最小限の対話ですばやく供給およびリリースすることができる構成可能なコンピューティング・リソース（例えばネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想機械およびサービス）の共用プールへの便利なオンデマンド・ネットワーク・アクセスを可能にするために、サービス送達のクラウド・コンピューティング・モデルを使用することができる。
【００５２】
図２を参照すると、この図は、例示的な実施形態を実施することができるデータ処理システムのブロック図を示している。データ処理システム２００は、図１のサーバ１０６またはクライアント１１０、１１２および１１４、または例示的な実施形態のためにプロセスを実施するコンピュータ使用可能プログラム・コードもしくは命令が置かれていてもよい別のタイプのデバイスなどの従来型コンピュータの一例である。
【００５３】
データ処理システム２００はさらに、例示的な実施形態のプロセスを実施するコンピュータ使用可能プログラム・コードまたは命令が置かれていてもよい図１の従来型データ処理システム１３２などの従来型データ処理システムまたはその構成を表している。データ処理システム２００は、単なる例としてコンピュータとして説明されるが、コンピュータに限定されるわけではない。図１のデバイス１３２など他のデバイスの形態の実施態様は、タッチ・インタフェースを追加することなどによってデータ処理システム２００を変更することができ、また、本明細書に記載されたデータ処理システム２００の動作および機能の全般的な説明を逸脱することなく、データ処理システム２００から、図示されたある種の構成要素を排除することもできる。
【００５４】
図示の例では、データ処理システム２００が、ノース・ブリッジおよびメモリ・コントローラ・ハブ（ＮＢ／ＭＣＨ）２０２ならびにサウス・ブリッジおよび入力／出力（Ｉ／Ｏ）コントローラ・ハブ（ＳＢ／ＩＣＨ）２０４を含むハブ・アーキテクチャを使用する。ノース・ブリッジおよびメモリ・コントローラ・ハブ（ＮＢ／ＭＣＨ）２０２には、処理ユニット２０６、主メモリ２０８およびグラフィックス・プロセッサ２１０が結合されている。処理ユニット２０６は、１つまたは複数のプロセッサを含むことができ、１つまたは複数の異種プロセッサ・システムを使用して実施することができる。処理ユニット２０６はマルチコア・プロセッサとすることができる。ある種の実施態様では、アクセラレーテッド・グラフィックス・ポート（accelerated graphics port）（ＡＧＰ）を通してグラフィックス・プロセッサ２１０をＮＢ／ＭＣＨ２０２に結合することができる。
【００５５】
図示の例では、サウス・ブリッジおよびＩ／Ｏコントローラ・ハブ（ＳＢ／ＩＣＨ）２０４にローカル・エリア・ネットワーク（ＬＡＮ）アダプタ２１２が結合されている。サウス・ブリッジおよびＩ／Ｏコントローラ・ハブ２０４には、バス２３８を通して、オーディオ・アダプタ２１６、キーボードおよびマウス・アダプタ２２０、モデム２２２、リード・オンリー・メモリ（ＲＯＭ）２２４、ユニバーサル・シリアル・バス（ＵＳＢ）およびその他のポート２３２、ならびにＰＣＩ／ＰＣＩｅデバイス２３４が結合されている。サウス・ブリッジおよびＩ／Ｏコントローラ・ハブ２０４には、バス２４０を通して、ハード・ディスク・ドライブ（ＨＤＤ）または固体状態ドライブ（ＳＳＤ）２２６およびＣＤ−ＲＯＭ２３０が結合されている。ＰＣＩ／ＰＣＩｅデバイス２３４は、例えばイーサネット（Ｒ）・アダプタ、アドイン・カード、およびノートブック・コンピュータ用のＰＣカードを含むことができる。ＰＣＩはカード・バス・コントローラを使用するが、ＰＣＩｅはカード・バス・コントローラを使用しない。ＲＯＭ２２４は例えば、フラッシュ・ベーシック入力／出力システム（ＢＩＯＳ）とすることができる。ハード・ディスク・ドライブ２２６およびＣＤ−ＲＯＭ２３０は例えば、インテグレーテッド・ドライブ・エレクトロニクス（ＩＤＥ）、シリアル・アドバンスト・テクノロジ・アタッチメント（ＳＡＴＡ）インタフェースまたはその変形、例えばエクスターナルＳＡＴＡ（ｅＳＡＴＡ）およびマイクロＳＡＴＡ（ｍＳＡＴＡ）を使用することができる。サウス・ブリッジおよびＩ／Ｏコントローラ・ハブ（ＳＢ／ＩＣＨ）２０４には、バス２３８を通してスーパーＩ／Ｏ（ＳＩＯ）デバイス２３６が結合されていてもよい。
【００５６】
主メモリ２０８、ＲＯＭ２２４またはフラッシュ・メモリ（図示せず）などのメモリは、コンピュータ使用可能ストレージ・デバイスのいくつかの例である。ハード・ディスク・ドライブまたは固体状態ドライブ２２６、ＣＤ−ＲＯＭ２３０および同様に使用可能な他のデバイスは、コンピュータ使用可能ストレージ媒体を含むコンピュータ使用可能ストレージ・デバイスのいくつかの例である。
【００５７】
処理ユニット２０６上ではオペレーティング・システムが実行される。このオペレーティング・システムは、図２のデータ処理システム２００内のさまざまな構成要素の制御を調整および提供する。このオペレーティング・システムは、限定はされないがサーバ・システム、パーソナル・コンピュータおよびモバイル・デバイスを含む任意のタイプのコンピューティング・プラットホーム用の市販オペレーティング・システムとすることができる。オペレーティング・システムとともに、オブジェクト指向プログラミング・システムまたは他のタイプのプログラミング・システムが動作してもよく、これらのプログラミング・システムは、データ処理システム２００上で実行されているプログラムまたはアプリケーションからオペレーティング・システムに呼出しを提供することができる。
【００５８】
オペレーティング・システム、オブジェクト指向プログラミング・システム、および図１のアプリケーション１０５などのアプリケーションまたはプログラムに対する命令は、ストレージ・デバイス上に、例えばハード・ディスク・ドライブ２２６上のコード２２６Ａの形態で置かれており、処理ユニット２０６によって実行するために、主メモリ２０８など、１つまたは複数のメモリのうちの少なくとも１つのメモリにロードすることができる。例示的な実施形態のプロセスは、コンピュータ実施命令を使用して処理ユニット２０６によって実行されてもよく、コンピュータ実施命令は、例えば主メモリ２０８、リード・オンリー・メモリ２２４などのメモリまたは１つもしくは複数の周辺デバイスに置かれていてもよい。
【００５９】
さらに、１つのケースでは、ネットワーク２０１Ａを介してリモート・システム２０１Ｂからコード２２６Ａをダウンロードすることができ、リモート・システム２０１Ｂのストレージ・デバイス２０１Ｄには同様のコード２０１Ｃが記憶されている。別のケースでは、ネットワーク２０１Ａを介してリモート・システム２０１Ｂにコード２２６Ａをダウンロードすることができ、リモート・システム２０１Ｂのストレージ・デバイス２０１Ｄにはダウンロードされたコード２０１Ｃが記憶されている。
【００６０】
実施態様に応じて図１〜２のハードウェアを変更することができる。図１〜２に示されたハードウェアに加えて、または図１〜２に示されたハードウェアの代わりに、フラッシュ・メモリ、等価の不揮発性メモリ、または光ディスク・ドライブなどの他の内部ハードウェアまたは周辺デバイスを使用することができる。さらに、例示的な実施形態のプロセスを、マルチプロセッサ・データ処理システムに適用することができる。
【００６１】
例示のためのいくつかの例では、データ処理システム２００をパーソナル・ディジタル・アシスタント（ＰＤＡ）とすることができ、ＰＤＡは一般に、オペレーティング・システム・ファイルもしくはユーザ生成データまたはその両方を記憶するための不揮発性メモリを、フラッシュ・メモリによって提供するように構成されている。バス・システムは、システム・バス、Ｉ／ＯバスおよびＰＣＩバスなどの１つまたは複数のバスを備えることができる。当然ながら、このバス・システムは、任意のタイプの通信ファブリックまたはアーキテクチャを使用して実施することができ、それらの通信ファブリックまたはアーキテクチャは、そのファブリックまたはアーキテクチャに接続された異なる構成要素またはデバイス間のデータ転送を提供する。
【００６２】
通信ユニットは、データを送受信するために使用される、モデムまたはネットワーク・アダプタなどの１つまたは複数のデバイスを含むことができる。メモリは例えば、主メモリ２０８、またはノース・ブリッジおよびメモリ・コントローラ・ハブ２０２内に見られるキャッシュなどのキャッシュとすることができる。処理ユニットは、１つまたは複数のプロセッサまたはＣＰＵを含むことができる。
【００６３】
図１〜２に示された例および上述の例は、アーキテクチャが限定されることを暗示するものではない。例えば、モバイル・デバイスまたはウェアラブル・デバイスの形態をとることに加えて、データ処理システム２００を、タブレット・コンピュータ、ラップトップ・コンピュータまたは電話機とすることもできる。
【００６４】
コンピュータまたはデータ処理システムが、仮想機械、仮想デバイスまたは仮想構成要素として説明されている場合、その仮想機械、仮想デバイスまたは仮想構成要素は、データ処理システム２００内に示された一部または全部の構成要素の仮想化された表現物を使用して、データ処理システム２００の方式で動作する。例えば、仮想機械、仮想デバイスまたは仮想構成要素では、処理ユニット２０６が、ホスト・データ処理システム内で使用可能な全部または一部のハードウェア処理ユニット２０６の仮想化事例として表現され、主メモリ２０８が、ホスト・データ処理システム内で使用可能であってもよい主メモリ２０８の全体または一部分の仮想化事例として表現され、ディスク２２６が、ホスト・データ処理システム内で使用可能であってもよいディスク２２６の全体または一部分の仮想化事例として表現される。このようなケースのホスト・データ処理システムは、データ処理システム２００によって表される。
【００６５】
図３を参照すると、この図は、量子コンピューティングのための量子−古典ハイブリッド変分アルゴリズムを強化するための例示的な構成３００のブロック図を示している。この例示的な実施形態はアプリケーション３０２を含む。特定の実施形態では、アプリケーション３０２が、図１のアプリケーション１０５の一例である。
【００６６】
アプリケーション３０２は、入力変数３０４およびパラメータ３０６を受け取る。入力変数３０４は、潜在的な解の部分であり、変分アルゴリズムの反復によって選択された部分を決定する。例えば、入力変数３０４を、潜在的な解の百分率などのしきい値とすることができる。パラメータ３０６は、量子系の量子状態に対応する波動関数を表す。
【００６７】
いくつかの実施形態では、ユーザが一組の変数を入力する。例えば、ユーザは、最初のしきい値および最後のしきい値を入力することができる。変分アルゴリズムの最初の反復は最初のしきい値を使用する。アプリケーション３０２は、最後のしきい値に到達するまで、後続の反復のためのしきい値を変更する。例えば、アプリケーション３０２は、最初の反復のための最初のしきい値から最後の反復のための最後のしきい値まで、しきい値を直線的に変更する。
【００６８】
アプリケーション３０２は、解空間探索構成要素（solution space search component）３０８、停止条件構成要素（stop condition component）３１０、解空間ソート構成要素（solution space sorter component）３１２、解空間分離構成要素（solution space isolator component）３１４、およびアルゴリズム調整構成要素（algorithm tuner component）３１６を含む。この実施形態では、解空間探索構成要素３０８が、量子プロセッサ上で変分アルゴリズムを実行して、一組の解（解空間）の部分集合を生成する。例えば、量子プロセッサは、変分アルゴリズムの反復を何回か実行して、解の部分集合を計算することができ、部分集合の中のそれぞれの解は、変分アルゴリズムの１回の反復による値に対応する。
【００６９】
一実施形態では、停止条件構成要素３１０が、量子プロセッサによって実行される反復の回数を監視および制御する。例えば、停止条件構成要素３１０は、変分アルゴリズムを５０回反復するための入力をユーザから受け取ることができる。いくつかの実施形態では、停止条件が、変分アルゴリズムを実行する所定の期間である。いくつかの実施形態では、停止条件が、最後のしきい値に到達したときに満たされる。
【００７０】
一実施形態では、解空間ソート構成要素３１２が、ソート基準に従って解の部分集合を配列および順序付けする。例えば、解空間ソート構成要素３１２は、解の部分集合を昇順に配列することができる。一実施形態では、解空間分離構成要素３１４が、解の部分集合の部分を選択する。この部分の中のそれぞれの解は、しきい値によって定義された境界内にある。例えば、入力変数が５パーセントである場合、解空間分離構成要素３１４は、解の部分集合の部分であり、解の部分集合の中の解の総数の５パーセントに対応する部分を分離することができる。
【００７１】
いくつかの実施形態では、解空間分離構成要素３１４が、この部分から、解空間の１つの極値を形成する平均解（average solution）を計算する。この平均解は、組合せ最適化問題に対するコンディショナル・バリュー・アット・リスクに対応する。例えば、解空間分離構成要素３１４は、解空間の最下端の解の部分集合の部分から、平均解を計算することができる。一実施形態では、アルゴリズム調整構成要素３１６が、解の第２の部分集合を生成するように変分アルゴリズムを変更する。例えば、アルゴリズム調整構成要素３１６は、解の第２の部分集合であり、境界内の値を有する解を含むような第２の部分集合を生成するように、変分アルゴリズムを変更することができる。
【００７２】
図４を参照すると、この図は、例示的な実施形態による、組合せ最適化のための量子−古典アルゴリズムを強化するためのデータ処理システムを動作させる例示的な方法４００の流れ図を示している。ブロック４０２で、アプリケーション３０２が、量子プロセッサ上で変分アルゴリズムを実行する。変分アルゴリズムの実行は、変分アルゴリズムの一組の解（解空間）の部分集合を所定の期間内に生成する。変分アルゴリズムは、組合せ最適化問題を実施する。部分集合の中のそれぞれの解は、対応する値を有する。例えば、変分アルゴリズムは、それぞれの反復のための解として、所与の原子間間隔を有する分子のハミルトン演算子の期待値を計算することができる。一実施形態では、これらの一組の期待値のうちのそれぞれの期待値が、それぞれの反復の解としてのハミルトン演算子の期待値に対応する。
【００７３】
ブロック４０４で、アプリケーション３０２は、ソート基準に従って解の部分集合をソートする。例えば、アプリケーション３０２は、一組の値を昇順に配列することができる。ブロック４０６で、アプリケーション３０２は、解の部分集合の部分を分離する。この部分の中のそれぞれの解に対応する値は、しきい値によって定義された境界内にある。例えば、アプリケーション３０２は、期待値の部分集合の部分であり、配列された一組の値のうちの最初のαパーセントの値を表す部分を選択することができる。αは入力変数である。アプリケーション３０２は、ソートされた配列に基づいて、解の部分集合の部分を選択する。例えば、アプリケーション３０２は、解の部分集合の部分であり、順序付けされた配列の中の最初のｎ個の値に対応する部分を選択することができる。
【００７４】
ブロック４０８で、アプリケーション３０２は、解の部分集合のこの部分から平均解を計算する。この部分からの平均解は、解空間の１つの極値を形成する。例えば、アプリケーション３０２は、解の部分集合の部分であり、解の部分集合のうちの小さい方から５％に対応する部分の平均を計算する。ブロック４１０で、アプリケーション３０２は、変分アルゴリズムを変更する必要があるかどうかを判定する。アプリケーション３０２は、計算された平均解および一組の解の生成された部分集合に基づいて、変分アルゴリズムの解析を実行する。
【００７５】
変分アルゴリズムが調整を必要としているとアプリケーション３０２が判定した場合（ブロック４１０の「はい」経路）、アプリケーション３０２は、変分アルゴリズムの態様を変更するようユーザに促す。いくつかの実施形態では、アプリケーション３０２が、解の第２の部分集合であり、境界内の値を有する解を含むような第２の部分集合を生成するように、変分アルゴリズムを変更する。例えば、量子プロセッサ上での変更された変分アルゴリズムの実行が、解の第２の部分集合であり、境界内の値を有する解を含むような第２の部分集合を生成する。一実施形態では、アプリケーション３０２がブロック４０２に戻って、変更された変分アルゴリズムを用いて方法４００を再び実行する。変分アルゴリズムが調整を必要としていないとアプリケーション３０２が判定した場合（ブロック４１０の「いいえ」経路）、方法４００は終了となる。
【００７６】
図５を参照すると、この図は、例示的な実施形態による、量子−古典ハイブリッド変分アルゴリズムを強化するための分離ステップの例示的なグラフ５００を示している。線５０２は、変分アルゴリズムを使用して計算された一組の値のうちの５パーセントの値の選択を表している。計算された一組の値のうちの５パーセントの値はグラフの線５０２よりも下にある。線５０４は、計算された一組の値の平均値を表している。線５０４は、計算された一組の値の全体から平均を決定することを表している。
【００７７】
本明細書では、本発明のさまざまな実施形態が関連図を参照して説明される。本発明の範囲を逸脱することなく代替実施形態を考案することができる。例えば、本発明の趣旨を逸脱することなく、方法４００に、量子コンピューティングのための追加の変分アルゴリズムを含めることができる。
【００７８】
特許請求の範囲および本明細書の解釈のために、以下の定義および略語が使用される。本明細書で使用されるとき、用語「備える（comprises）」、「備えている（comprising）」、「含む（includes）」、「含んでいる（including）」、「有する（has）」、「有している（having）」、「含有する（contains）」もしくは「含有している（containing）」、またはこれらの用語の他の変異語は、非排他的包含（non-exclusive inclusion）をカバーすることが意図されている。例えば、要素のリストを含む組成物、混合物、プロセス、方法、物品または装置は、必ずしもそれらの要素だけに限定されるわけではなく、明示的にはリストに入れられていない他の要素、あるいはこのような組成物、混合物、プロセス、方法、物品または装置に固有の他の要素を含みうる。
【００７９】
さらに、本明細書では、用語「例示的な」が、「例、事例または実例として役立つ」ことを意味するものとして使用されている。本明細書に「例示的」として記載された実施形態または設計は必ずしも、他の実施形態または設計よりも好ましいまたは有利であるとは解釈されない。用語「少なくとも１つの」および「１つまたは複数の」は、１以上の任意の整数、すなわち１、２、３、４などを含むと理解される。用語「複数」は、２以上の任意の整数、すなわち２、３、４、５などを含むと理解される。用語「接続」は、間接「接続」および直接「接続」を含みうる。
【００８０】
本明細書において「一実施形態」、「実施形態」、「例示的な実施形態」などに言及されているとき、それは、記載されたその実施形態は特定の特徴、構造もしくは特性を含みうるが、全ての実施形態がその特定の特徴、構造もしくは特性を含むことがあり、またはそうではないこともあることを示す。さらに、このような句が、同じ実施形態を指しているとは限らない。さらに、１つの実施形態に関して特定の特徴、構造または特性が記載されているとき、明示的に記載されているか否かを問わず、他の実施形態に関してそのような特徴、構造または特性に影響を及ぼすことは、当業者の知識の範囲内にあると考えられる。
【００８１】
用語「約」、「実質的に」、「およそ」およびこれらの用語の変異語は、特定の数量の大きさに関連した、本出願の提出時に利用可能な機器に基づく誤差の程度を含むことが意図されている。例えば、「約」は、所与の値の±８％、５％または２％の範囲を含みうる。
【００８２】
本発明のさまざまな実施形態の以上の説明は、例示のために示したものであり、以上の説明が網羅的であること、または、以上の説明が、開示された実施形態に限定されることは意図されていない。当業者には、記載された実施形態の範囲および思想を逸脱しない多くの変更および変形が明らかとなろう。本明細書で使用した用語は、実施形態の原理、実用的用途、もしくは市販されている技術にはない技術的改良点を最もよく説明するように、または本明細書に開示された実施形態を当業者が理解できるように選択された。
【図１】
2022502734.tif 000003
【図２】
2022502734.tif 000004
【図３】
2022502734.tif 000005
【図４】
2022502734.tif 000006
【図５】
2022502734.tif 000007
【国際調査報告】
2022502734.tif 000008
2022502734.tif 000009
2022502734.tif 000010