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

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

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

特許7335330最適化のためのハイブリッド量子-古典アルゴリズムの強化
<>
  • 特許-最適化のためのハイブリッド量子-古典アルゴリズムの強化 図1
  • 特許-最適化のためのハイブリッド量子-古典アルゴリズムの強化 図2
  • 特許-最適化のためのハイブリッド量子-古典アルゴリズムの強化 図3
  • 特許-最適化のためのハイブリッド量子-古典アルゴリズムの強化 図4
  • 特許-最適化のためのハイブリッド量子-古典アルゴリズムの強化 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-21
(45)【発行日】2023-08-29
(54)【発明の名称】最適化のためのハイブリッド量子-古典アルゴリズムの強化
(51)【国際特許分類】
   G06N 10/00 20220101AFI20230822BHJP
   G06F 7/24 20060101ALI20230822BHJP
   G06F 7/38 20060101ALI20230822BHJP
【FI】
G06N10/00
G06F7/24 A
G06F7/38 510
【請求項の数】 9
(21)【出願番号】P 2021514329
(86)(22)【出願日】2019-09-24
(65)【公表番号】
(43)【公表日】2022-01-11
(86)【国際出願番号】 EP2019075613
(87)【国際公開番号】W WO2020069905
(87)【国際公開日】2020-04-09
【審査請求日】2022-02-22
(31)【優先権主張番号】16/151,444
(32)【優先日】2018-10-04
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】ロバート、アントン
(72)【発明者】
【氏名】バーコートソス、パナギオティス
(72)【発明者】
【氏名】ナニッチーニ、ジャコモ
(72)【発明者】
【氏名】タヴァーネッリ、イヴァーノ
(72)【発明者】
【氏名】ヴェルナー、ステファン
【審査官】北川 純次
(56)【参考文献】
【文献】国際公開第2018/080553(WO,A1)
【文献】GANZHORN, M. et al.,Gate-Efficient Simulation of Molecular Eigenstates on a Quantum Computer,arxiv.org [online],2018年09月13日,[検索日 2023.03.06], インターネット:<URL:https://arxiv.org/pdf/1809.05057v1.pdf, <DOI: 10.48550/arXiv.1809.05057>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 10/00
G06F 7/24
G06F 7/38
(57)【特許請求の範囲】
【請求項1】
方法であって、コンピュータに、
量子プロセッサ上で変分アルゴリズムの反復を実行することであって、前記実行することが、前記変分アルゴリズムの一組の解の部分集合を所定の期間内に生成し、前記変分アルゴリズムが、組合せ最適化問題に対応する量子系の量子状態をパラメータに基づいて計算し、前記部分集合の中のそれぞれの解が前記変分アルゴリズムの1回の反復によるに対応する、前記実行することと、
ソート基準に従って解の前記部分集合をソートすることと、
前記ソートすることに基づいて解の前記部分集合の部分を分離することであって、前記部分の中のそれぞれの解に対応する値が、しきい値によって定義された境界内にある、前記分離することと、
解の前記部分集合の前記部分から前記解の平均値を計算することと、
前記解の平均値が最小化または最大化するように前記パラメータを変更することにより、前記変分アルゴリズムを変更することと
実行させる方法。
【請求項2】
解の前記部分集合をソートすることが、
前記ソート基準に従って解の前記部分集合を昇順に配列すること
を含む、請求項1に記載の方法。
【請求項3】
解の前記部分集合の前記部分が、解の前記部分集合のうちの小さい方から5%に対応する、請求項1または2に記載の方法。
【請求項4】
前記量子プロセッサ上で、前記変更された変分アルゴリズムの反復を実行することをさらに実行させ、前記実行することが、前記変更された変分アルゴリズムの一組のの第2の部分集合を所定の第2の期間内に生成し、前記第2の部分集合の中のそれぞれの解が前記変更された変分アルゴリズムの1回の反復によるに対応する、請求項1ないし3のいずれかに記載の方法。
【請求項5】
解の前記部分集合の前記部分を分離する前に、前記しきい値に対応する入力変数を受け取ること
をさらに実行させる、請求項1ないし4のいずれかに記載の方法。
【請求項6】
前記入力変数が百分率値である、請求項5に記載の方法。
【請求項7】
前記変分アルゴリズムを実行することが、
前記量子系の前記量子状態の期待値を計算すること
をさらに含み、前記量子系の前記量子状態が、前記量子プロセッサ上の一組の量子論理ゲートに対応する、
請求項1ないしのいずれかに記載の方法。
【請求項8】
コンピュータに、
量子プロセッサ上で変分アルゴリズムの反復を実行するステップであり、前記実行するステップにおいて、前記変分アルゴリズムの一組の解の部分集合を所定の期間内に生成し、前記変分アルゴリズムが、組合せ最適化問題に対応する量子系の量子状態をパラメータに基づいて計算し、前記部分集合の中のそれぞれの解が前記変分アルゴリズムの1回の反復によるに対応する、前記実行するステップと、
ソート基準に従って解の前記部分集合をソートするステップと、
前記ソートするステップに基づいて解の前記部分集合の部分を分離するステップであり、前記部分の中のそれぞれの解に対応する値が、しきい値によって定義された境界内にある、前記分離するステップと、
解の前記部分集合の前記部分から前記解の平均値を計算するステップと、
前記解の平均値が最小化または最大化するように前記パラメータを変更することにより、前記変分アルゴリズムを変更するステップと
を実行させるためのプログラム。
【請求項9】
プロセッサ、コンピュータ可読メモリおよびコンピュータ可読ストレージ・デバイスを備え、前記ストレージ・デバイスに、前記プロセッサが前記メモリを介して実行するためのプログラム命令が記憶されたコンピュータ・システムであって、前記記憶されたプログラム命令が、
量子プロセッサ上で変分アルゴリズムの反復を実行するためのプログラム命令であり、前記実行することが、前記変分アルゴリズムの一組の解の部分集合を所定の期間内に生成し、前記変分アルゴリズムが、組合せ最適化問題に対応する量子系の量子状態をパラメータに基づいて計算し、前記部分集合の中のそれぞれの解が前記変分アルゴリズムの1回の反復によるに対応する、前記プログラム命令と、
ソート基準に従って解の前記部分集合をソートするためのプログラム命令と、
前記ソートすることに基づいて解の前記部分集合の部分を分離するためのプログラム命令であり、前記部分の中のそれぞれの解に対応する値が、しきい値によって定義された境界内にある、前記プログラム命令と、
解の前記部分集合の前記部分から前記解の平均値を計算するためのプログラム命令と、
前記解の平均値が最小化または最大化するように前記パラメータを変更することにより、前記変分アルゴリズムを変更するためのプログラム命令と
を含む、コンピュータ・システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は一般に、量子コンピューティングを使用した変分アルゴリズム(variationalalgorithm)に関する。より詳細には、本発明は、最適化のためのハイブリッド量子-古典アルゴリズム(hybrid quantum-classical algorithm)を強化する方法に関する。
【背景技術】
【0002】
使用されている箇所で明示的に区別されていない限り、本明細書では以降、語または句の中の接頭辞「Q」が、量子コンピューティングの文脈でその語または句に言及していることを示す。
【0003】
分子および亜原子粒子(subatomic particle)は量子力学の法則に従う。量子力学は、物質界(physical world)がどのように機能しているのかを最も基本的なレベルで探究する物理学の一部門である。このレベルにおいて、粒子は奇妙な振舞いを示し、同時に2つ以上の状態をとり、非常に遠く離れた別の粒子と相互作用する。量子コンピューティングはこれらの量子現象を利用して情報を処理する。
【0004】
今日我々が使用しているコンピュータは、古典コンピュータ(本明細書では「従来型」コンピュータまたは従来型ノード(conventional node)ないし「CN」とも呼ぶ)として知られている。従来型コンピュータは、半導体材料および半導体技術を使用して製造された従来型プロセッサ、半導体メモリ、ならびに磁気または固体状態ストレージ・デバイスを、フォン・ノイマン型アーキテクチャとして知られているアーキテクチャで使用する。具体的には、従来型コンピュータのプロセッサは、2値プロセッサ、すなわち1および0で表された2値データに対して演算を実行するプロセッサである。
【0005】
量子プロセッサ(qプロセッサ)は、エンタングルされた(entangled)キュービット・デバイス(本明細書では簡潔に「キュービット」(「qubit」、複数形は「qubits」)と呼ぶ)の変わった性質を使用して、計算タスクを実行する。量子力学が機能する特定の領域において、物質の粒子は、例えば「オン」状態、「オフ」状態、および「オン」と「オフ」の両方を同時にとる状態など、複数の状態で存在しうる。半導体プロセッサを使用する2値コンピューティングは、(2値コードの1および0と等価の)オンおよびオフ状態だけを使用することに限定されているが、量子プロセッサは、物質のこれらの量子状態を利用して、データ・コンピューティングで使用可能な信号を出力する。
【0006】
従来型コンピュータは、情報をビットとしてコード化する。それぞれのビットは1または0の値をとることができる。これらの1および0は、コンピュータ機能を最終的に駆動するオン/オフ・スイッチの働きをする。一方、量子コンピュータはキュービットに基づき、キュービットは、量子物理学の鍵となる2つの原理、すなわち重ね合わせ(superposition)およびエンタングルメント(entanglement)に従って動作する。重ね合わせは、それぞれのキュービットが1と0の両方を同時に表すことができることを意味する。エンタングルメントは、重ね合わせの状態にあるキュービットを古典的でない手法で互いに相関させることができること、すなわち、1つのキュービットの状態(それが1なのかもしくは0なのかまたはその両方であるのかは問わない)が別のキュービットの状態に依存しうること、および2つのキュービットがエンタングルされているときの方が、それらの2つのキュービットが個別に処理されるときよりも、それらの2つのキュービットに関して確認することができるより多くの情報が存在することを意味する。
【0007】
これらの2つの原理を使用して、キュービットは、従来型コンピュータを使用することによっては扱えない難しい問題を量子コンピュータが解決することを可能にする手法で量子コンピュータが機能することを可能にする、より洗練された情報処理装置として動作する。IBM(R)は、超伝導キュービットを使用する量子プロセッサを構築し、その動作可能性を示すことに成功した(IBM(R)は、米国および他の国におけるInternational Business Machines社の登録商標である)。
【0008】
例示的な実施形態は、現在使用可能な従来型プロセッサが実行することができないか、または望ましくない正確さもしくは計算リソース消費を伴わずには実行することができない変分アルゴリズムを、量子プロセッサが実行することができることを認識している。変分アルゴリズムは、量子系の基底状態エネルギーの上限を決定するために変更される試験波動関数(trial wavefunction)を使用する。波動関数は、数学的記述、例えば量子系の量子状態の数学的記述である。量子プロセッサ上では、量子状態が、キュービットに作用している一連の量子論理ゲートとして表される。量子系のそれぞれの量子状態は、対応するエネルギー値を含む。
【0009】
量子系の基底状態の全エネルギーは、量子系の全エネルギーの可能な最小値に対応する。ハミルトン演算子(Hamiltonian)は、量子状態の全エネルギーを記述する演算子である。波動関数に作用するハミルトン演算子(Hamiltonian operator)は、量子状態の全エネルギーに対応する値を決定する。
【0010】
量子系の基底状態エネルギーの上限を計算するため、変分アルゴリズムは、初期波動関数から始まる多数の評価を実行する。それぞれの評価は、評価対象の波動関数に対応する量子状態の全エネルギーを計算する。変分アルゴリズムは次いで、一組の量子論理ゲートのうちの少なくとも1つの量子論理ゲートを変更してキュービット上で回転を実行するなど、評価された波動関数のパラメータを変更して新たな波動関数を生成することができる。新たな波動関数の評価は、新たな波動関数に対応する新たな量子状態の全エネルギーを計算する。変分アルゴリズムは、以前の波動関数の全エネルギーを新たな波動関数の全エネルギーと比較する。
【0011】
従来型プロセッサは、波動関数のパラメータを変更する最適化アルゴリズムを実行する。量子プロセッサは、波動関数の対応する全エネルギーを計算する。新たな波動関数の全エネルギーと以前の波動関数との比較に基づいて、最適化アルゴリズムは、量子系の計算された全エネルギー(以後、計算全エネルギー)を最小化するために波動関数のパラメータをどのように変更すべきかを決定する。
【0012】
変分アルゴリズムは、計算全エネルギーが比較的に安定するまで、例えば引き続く評価がしきい百分率(threshold percentage)内の全エネルギーを計算するまで、評価を実行し続けることができる。最終的な評価による安定した計算全エネルギーが、量子系の基底状態の最小エネルギーの上限に対応する。対応する波動関数は、量子系の固有関数(eigenfunction)の近似を表す。
【0013】
例示的な実施形態は、変分アルゴリズムを使用して、一般的な組合せ最適化問題(combinatorial optimization problem)を解くことができることを認識している。組合せ最適化は、目的関数の最小値または最大値を決定することを含む。例えば、巡回セールスマン問題は、n個の都市間の可能な最短経路であって、それぞれの都市を厳密に1回だけ訪問する経路を決定することを含む。組合せ最適化は、解(都市間の経路)を最小のコストで決定することを含む。組合せ最適化問題の解空間(solution space)は一組の可能な解である。コンディショナル・バリュー・アット・リスク(conditional value at risk)は、この一組の解の特定の部分集合(subset)に焦点を合わせる。例えば、金融リスク計測事例は、悪い方から5%の事例における期待収益(利益/損失)に注目することがある。
【0014】
例示的な実施形態は、量子系中の粒子の量子状態をエンタングルすることができることを認識している。エンタングルされた量子状態を、量子系中の他の粒子の状態とは独立に記述することはできない。エンタングルされた量子状態は、量子系全体の記述を必要とする。例示的な実施形態は、変分アルゴリズムのそれぞれの反復が、量子系の量子状態に関する潜在的な単一の解だけを決定することを認識している。
【0015】
例示的な実施形態は、組合せ最適化問題の解空間は通常、従来型コンピュータを使用して徹底的に探索するにはあまりに大きすぎることを認識している。多くの組合せ最適化問題に関して、解空間全体の十分に大きなサンプルを計算することは、法外に高コストとなるか、または従来のコンピューティングを使用して達成することは現在のところ不可能であるかのどちらかであるが、量子コンピューティング・アーキテクチャを使用すれば可能となる可能性がある。
【0016】
例示的な実施形態は、組合せ最適化問題の真の解を近似するための従来の変分アルゴリズムが、変分アルゴリズムの反復ごとに一組の解(解空間)全体の平均に焦点を合わせていることをさらに認識している。例示的な実施形態は、一組の解の部分集合の中の潜在的ないくつかの解を、組合せ最適化問題の真の解に近づけることができることを認識している。例示的な実施形態は、最小の解または最大の解に最も近い潜在的な解の平均をとることが、真の解により近い近似値を変分アルゴリズムが決定するのに役立つことがあることも認識している。
【0017】
さらに量子コンピューティング・リソースは不十分かつ高価であるため、十分に大きな解空間サンプルならびにそれらの最大値および最小値を、可能な最小の量子コンピューティング・コストで計算することが求められている。したがって、例示的な実施形態は、大きな解空間のサンプルならびにそれらの最大値および最小値を生成するための量子コンピューティング・コストが正確さの損失なしに最小化されるような手法で、量子コンピューティング・プラットホーム上で変分アルゴリズムを実行する新規の方法が求められていることを認識している。
【発明の概要】
【0018】
例示的な実施形態は、組合せ最適化のためのハイブリッド量子-古典アルゴリズムを強化する方法、システムおよびコンピュータ・プログラム製品を提供する。一実施形態は、組合せ最適化のための量子-古典アルゴリズムを強化する方法を含み、この方法は、量子プロセッサ上で変分アルゴリズムを実行することを含み、この実行は、変分アルゴリズムの一組の解(解空間)の部分集合を所定の期間(predefined period)内に生成し、変分アルゴリズムは、組合せ最適化問題に対応する量子系の基底状態を計算し、部分集合の中のそれぞれの解は対応する値を有する。この実施形態は、ソート基準(sorting criterion)に従って解の部分集合をソートすることをさらに含む。
【0019】
この実施形態は、このソートに基づいて解の部分集合の部分を分離することをさらに含み、この部分の中のそれぞれの解に対応する値は、しきい値によって定義された境界内にある。この実施形態は、解の部分集合の部分から解の平均値を計算することをさらに含む。この実施形態は、解の第2の部分集合であり、境界内の値を有する解を含むような第2の部分集合を生成するように、変分アルゴリズムを変更することをさらに含む。
【0020】
解の部分集合をソートする実施形態は、ソート基準に従って解の部分集合を昇順に配列することを含む。一実施形態では、解の部分集合の部分が、解の部分集合のうちの小さい方から5%に対応する。
【0021】
一実施形態は、量子プロセッサ上で、変更された変分アルゴリズムを実行することを含み、この実行することは、変更された変分アルゴリズムの解の第2の部分集合を所定の第2の期間内に生成し、第2の部分集合の中のそれぞれの解は対応する値を有する。一実施形態は、解の部分集合の部分を分離する前に、しきい値に対応する入力変数を受け取ることを含む。
【0022】
一実施形態では、入力変数が百分率値である。一実施形態は、解の部分集合の部分を分離する前に、しきい値に対応する第1の入力変数および第2のしきいレベルに対応する第2の入力変数を受け取ることを含む。この実施形態は、量子プロセッサ上で、変分アルゴリズムの一組の反復を実行することをさらに含み、この実行は、変分アルゴリズムの反復のたびに、変分アルゴリズムの一組の解(解空間)の部分集合を生成し、変分アルゴリズムのそれぞれの反復は、組合せ最適化問題に対応する量子系の量子状態を計算し、それぞれの部分集合の中のそれぞれの解は対応する値を有する。
【0023】
一実施形態は、ソート基準に従って、解の第2の部分集合および解の第3の部分集合をソートすることを含む。一実施形態は、このソートに基づいて、解の第2の部分集合の第2の部分を分離することを含み、第2の部分の中のそれぞれの解に対応する値は、しきい値によって定義された境界内にある。
【0024】
一実施形態は、解の第2の部分集合の部分から解の平均値を計算することを含む。一実施形態は、ソートに基づいて、解の第3の部分集合の第3の部分を分離することを含み、第3の部分の中のそれぞれの解に対応する値は、第2のしきい値によって定義された第2の境界内にある。
【0025】
一実施形態では、変分アルゴリズムを実行することが、量子系の量子状態の期待値を計算することを含み、量子系の量子状態は、量子プロセッサ上の一組の量子論理ゲートに対応する。一実施形態では、解の平均値が、解空間の1つの極値(extreme)を形成する。
【0026】
一実施形態では、この方法が、1つまたは複数のコンピュータ可読ストレージ・デバイスと、この1つまたは複数の有形のコンピュータ可読ストレージ・デバイスに記憶されたコンピュータ可読プログラム命令であって、1つまたは複数のプロセッサによって実行されるコンピュータ可読プログラム命令とを含むコンピュータ・プログラム製品に実装されている。
【0027】
一実施形態は、コンピュータが使用可能なプログラム製品(以後、コンピュータ使用可能プログラム製品)を含む。このコンピュータ使用可能プログラム製品はコンピュータ可読ストレージ・デバイスを含み、このストレージ・デバイスにはプログラム命令が記憶されている。
【0028】
一実施形態はコンピュータ・システムを含む。このコンピュータ・システムは、プロセッサ、コンピュータ可読メモリおよびコンピュータ可読ストレージ・デバイスを含み、このストレージ・デバイスには、プロセッサがメモリを介して実行するためのプログラム命令が記憶されている。
【0029】
添付の特許請求の範囲には、本発明の特徴と考えられる新規の特徴が記載されている。しかしながら、本発明自体、ならびに本発明の好ましい使用形態、さらに本発明の目的および利点は、例示的な実施形態の以下の詳細な説明を添付図面とともに読んだときに、その説明を参照することによって最もよく理解される。
【図面の簡単な説明】
【0030】
図1】例示的な実施形態を実施することができるデータ処理システムのネットワークのブロック図である。
図2】例示的な実施形態を実施することができるデータ処理システムのブロック図である。
図3】例示的な実施形態による、量子-古典ハイブリッド変分アルゴリズムを強化するための例示的な構成のブロック図である。
図4】例示的な実施形態による、量子-古典ハイブリッド変分アルゴリズムを強化する例示的な方法の流れ図である。
図5】例示的な実施形態による、量子-古典ハイブリッド変分アルゴリズムを強化するための分離ステップの例示的なグラフである。
【発明を実施するための形態】
【0031】
本発明を説明するために使用される例示的な実施形態は一般に、量子コンピューティングのための変分アルゴリズムの上述の課題に対処し、その課題を解決する。例示的な実施形態は、組合せ最適化のための量子-古典アルゴリズムを強化する方法を提供する。
【0032】
一実施形態は、組合せ最適化のために量子-古典アルゴリズムを強化する方法を提供する。別の実施形態は、コンピュータ可読ストレージ・デバイスを含む、従来型コンピュータまたは量子コンピュータが使用可能なプログラム製品であって、ストレージ・デバイスにプログラム命令が記憶されており、記憶されたプログラム命令が、組合せ最適化のための量子-古典アルゴリズムを強化する方法を含む、プログラム製品を提供する。この命令は、従来型プロセッサまたは量子プロセッサを使用して実行可能である。別の実施形態は、従来型プロセッサまたは量子プロセッサ、コンピュータ可読メモリおよびコンピュータ可読ストレージ・デバイスを備えるコンピュータ・システムであって、ストレージ・デバイスに、プロセッサがメモリを介して実行するためのプログラム命令が記憶されており、記憶されたプログラム命令が、組合せ最適化のための量子-古典アルゴリズムを強化する方法を含む、コンピュータ・システムを提供する。
【0033】
例示的な実施形態は、量子プロセッサが、変分アルゴリズムを実行して、量子系の基底状態エネルギーの近似値、例えば所与の原子間間隔を有する分子の電子軌道構成を計算することができることを認識している。変分量子固有値ソルバ(Variational Quantum Eigensolver)(VQE)は、量子プロセッサを用いて実行される変分アルゴリズムの非限定的な一例である。VQEは、量子状態を準備するためのパラメータを変更し、準備された量子状態の特性を決定する。量子プロセッサ上では、量子状態が、キュービットに作用している一連の量子論理ゲートとして準備される。
【0034】
新たな量子状態を生成し、それらの量子状態に対応する特性を最小化するために、変分アルゴリズムを繰り返す。変分アルゴリズムは、量子状態に対応する特性を最小化するためのオプティマイザ(optimizer)を含む。変分アルゴリズムによって実行されるそれぞれの評価は、パラメータを変更して新たな量子状態を生成すること、新たな量子状態の特性を計算すること、新たな量子状態と以前の量子状態の特性を比較すること、およびこの比較に基づいて、引き続く評価においてパラメータをどのように変更するのかを決定することを含む。例えば、変分アルゴリズムは、量子系の基底状態エネルギーの上限を決定するための評価を実行することができる。
【0035】
変分アルゴリズムは、パラメータを変更して新たな量子状態を生成し、新たな量子状態の全エネルギーを以前の量子状態の全エネルギーと比較する。変分アルゴリズムのオプティマイザは、生成された量子状態の計算全エネルギーを低減させるために、どのパラメータを変更するのか、もしくはパラメータをどのように変更するのか、またその両方を決定する。変分アルゴリズムは、計算全エネルギーが最小値に到達し、比較的に安定するまで評価を実行し続ける。最終的な評価の計算全エネルギーが、量子系の基底状態エネルギーの上限に対応する。
【0036】
説明を明瞭にするため、その説明に限定されることを暗示することなく、例示的な実施形態は、いくつかの例示的な構成を使用して説明される。この開示から、当業者は、記載された目的を達成するための記載された構成の多くの改変、適合および変更を考案することができ、それらは、例示的な実施形態の範囲内で企図される。
【0037】
さらに、図および例示的な実施形態では、データ処理環境の簡略図が使用される。実際のコンピューティング環境には、例示的な実施形態の範囲を逸脱することなく、本明細書に示されていないもしくは本明細書に記載されていない追加の構造体もしくは構成要素、または、示された構造体もしくは構成要素とは異なるが本明細書に記載された機能と同様の機能を有する構造体もしくは構成要素が存在することがある。
【0038】
さらに、実際のまたは仮定の特定の構成要素に関して、例示的な実施形態は単なる例として記載されている。例示的なさまざまな実施形態によって説明されたステップを、データ処理環境内の記載された機能を提供することを目的としうる、またはそのような機能を提供するために転用しうるさまざまな構成要素を使用して、組合せ最適化のための量子-古典アルゴリズムを強化するように適合させることができ、そのような適合は、例示的な実施形態の範囲に含まれることが企図される。
【0039】
例示的な実施形態は、あるタイプのステップ、アプリケーション、量子論理ゲートおよびデータ処理環境に関して、単なる例として説明される。これらのアーチファクトおよび他の同様のアーチファクトの特定の表現物(manifestation)が本発明を限定することは意図されていない。例示的な実施形態の範囲内で、これらのアーチファクトおよび他の同様のアーチファクトの適当な表現物を選択することができる。
【0040】
本開示の例は、説明を明瞭にするためだけに使用され、例示的な実施形態を限定するものではない。本明細書に挙げられた利点は単なる例であり、それらの利点が例示的な実施形態を限定することは意図されていない。特定の例示的な実施形態によって追加の利点または異なる利点を実現することができる。さらに、特定の例示的な実施形態は、上に挙げた利点の一部もしくは全部を有することがあり、または上に挙げた利点を1つも持たないことがある。
【0041】
図、具体的には図1および2を参照すると、これらの図は、例示的な実施形態を実施することができるデータ処理環境の例示的な図である。図1および2は単なる例であり、これらの図が、異なる実施形態を実施することができる環境に関する限定を主張または暗示することは意図されていない。特定の実施態様は、以下の説明に基づいて図示の環境に多くの変更を加えることができる。
【0042】
図1は、例示的な実施形態を実施することができるデータ処理システムのネットワークのブロック図を示している。データ処理環境100は、例示的な実施形態を実施することができる、コンピュータのネットワークである。データ処理環境100はネットワーク102を含む。ネットワーク102は、データ処理環境100内で一緒に接続されたさまざまなデバイスおよびコンピュータ間の通信リンクを提供するために使用される媒体である。ネットワーク102は、有線通信リンク、無線通信リンクまたは光ファイバ・ケーブルなどの接続を含むことができる。
【0043】
クライアントまたはサーバは、ネットワーク102に接続されたある種のデータ処理システムの役割の単なる例であり、クライアントまたはサーバが、これらのデータ処理システムの他の構成または役割を排除することは意図されていない。ネットワーク102には、ストレージ・ユニット108とともにサーバ106が結合している。サーバ106は従来型データ処理システムである。ネットワーク102には量子処理システム140が結合している。量子処理システム140は量子データ処理システムである。データ処理環境100内の任意の量子データ処理システム上でソフトウェア・アプリケーションを実行することができる。図1の量子処理システム140内で実行されると記載されたソフトウェア・アプリケーションはいずれも、別の量子データ処理システム内で同様に実行されるように構成することができる。図1の量子処理システム140内に記憶されたまたは量子処理システム140内で生成されたデータまたは情報はいずれも、別の量子データ処理システム内に同様に記憶されるように、または別の量子データ処理システム内で同様に生成されるように構成することができる。量子処理システム140などの量子データ処理システムはデータを含むことができ、量子コンピューティング・プロセスをその上で実行するソフトウェア・アプリケーションまたはソフトウェア・ツールを有することができる。
【0044】
ネットワーク102にはさらにクライアント110、112および114が結合されている。サーバ106またはクライアント110、112もしくは114などの従来型データ処理システムはデータを含むことができ、従来型コンピューティング・プロセスをその上で実行するソフトウェア・アプリケーションまたはソフトウェア・ツールを有することができる。
【0045】
単なる例として、このようなアーキテクチャに限定されることを暗示することなく、図1は、実施形態の例示的な実施態様で使用可能なある種の構成要素を示している。例えば、サーバ106およびクライアント110、112、114は、単なる例としてサーバおよびクライアントとして示されており、このことは、クライアント-サーバ・アーキテクチャに限定されることを暗示しない。別の例として、図示されているように、いくつかの従来型データ処理システム、量子データ処理システムおよびデータ・ネットワークを横断して実施形態を分散させることができ、一方で、例示的な実施形態の範囲内で、単一の従来型データ処理システム上または単一の量子データ処理システム上で別の実施形態を実施することもできる。従来型データ処理システム106、110、112および114はさらに、実施形態を実施するのに適したクラスタ、パーティションおよび他の構成の例示的なノードを表す。
【0046】
デバイス132は、本明細書に記載された従来型コンピューティング・デバイスの例である。例えば、デバイス132は、スマートフォン、タブレット・コンピュータ、ラップトップ・コンピュータ、固定もしくは携帯可能形式のクライアント110、ウェアラブル・コンピューティング・デバイス、または他の適当なデバイスの形態をとることができる。図1の別の従来型データ処理システム内で実行されると記載されたソフトウェア・アプリケーションはいずれも、デバイス132内で同様に実行されるように構成することができる。図1の別の従来型データ処理システム内に記憶されたまたは図1の別の従来型データ処理システム内で生成されたデータまたは情報はいずれも、デバイス132内に同様に記憶されるように、またはデバイス132内で同様に生成されるように構成することができる。
【0047】
サーバ106、ストレージ・ユニット108、量子処理システム140、クライアント110、112、および114、ならびにデバイス132は、有線接続、無線通信プロトコルまたは他の適当なデータ接続性を使用してネットワーク102に結合することができる。クライアント110、112および114は例えばパーソナル・コンピュータまたはネットワーク・コンピュータとすることができる。
【0048】
図示の例では、サーバ106が、ブート・ファイル、オペレーティング・システム・イメージおよびアプリケーションなどのデータをクライアント110、112および114に提供することができる。この例では、クライアント110、112および114を、サーバ106に対するクライアントとすることができる。クライアント110、112、114またはこれらのクライアントのある組合せは、それら自体のデータ、ブート・ファイル、オペレーティング・システム・イメージおよびアプリケーションを含むことができる。データ処理環境100は、図示されていない追加のサーバ、クライアントおよび他のデバイスを含むことができる。
【0049】
図示の例では、メモリ144が、ブート・ファイル、オペレーティング・システム・イメージおよびアプリケーションなどのデータを量子プロセッサ142に提供することができる。量子プロセッサ142は、それ自体のデータ、ブート・ファイル、オペレーティング・システム・イメージおよびアプリケーションを含むことができる。データ処理環境100は、図示されていない追加のメモリ、量子プロセッサおよび他のデバイスを含むことができる。メモリ144は、量子コンピューティングのための変分アルゴリズム解空間を収束させるための本明細書に記載された機能のうちの1つまたは複数の機能を1つまたは複数の実施形態に従って実施するように構成されていてもよいアプリケーション105を含む。
【0050】
図示の例では、データ処理環境100をインターネットとすることができる。
ネットワーク102は、伝送制御プロトコル/インターネット・プロトコル(TCP/IP)および他のプロトコルを使用して互いに通信するネットワークおよびゲートウェイの集合を表すことができる。インターネットの中心には、主要なノードまたはホスト・コンピュータ間のデータ通信リンクのバックボーンであって、データおよびメッセージの経路を指定する数千の商用、政府、教育およびその他のコンピュータ・システムを含むバックボーンが存在する。当然ながら、データ処理環境100も、例えばイントラネット、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)などのいくつかの異なるタイプのネットワークとして実施することができる。図1は、例であることが意図されており、図1が、異なる例示的な実施形態のアーキテクチャを限定することは意図されていない。
【0051】
使用目的は他にもあるが、例示的な実施形態を実施することができるクライアント-サーバ環境を実施する目的にデータ処理環境100を使用することができる。クライアント-サーバ環境は、従来型クライアント・データ処理システムと従来型サーバ・データ処理システムとの間のインタラクティブ性を使用することによってアプリケーションが機能するように、ソフトウェア・アプリケーションおよびデータを、ネットワークを横断して分散させることを可能にする。データ処理環境100はさらにサービス指向アーキテクチャを使用することができ、サービス指向アーキテクチャでは、ネットワークを横断して分散した相互動作可能なソフトウェア構成要素を、コヒーレントなビジネス・アプリケーションとして一緒にパッケージングすることができる。データ処理環境100はさらにクラウドの形態をとることができ、最小限の管理労力またはサービスのプロバイダとの最小限の対話ですばやく供給およびリリースすることができる構成可能なコンピューティング・リソース(例えばネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想機械およびサービス)の共用プールへの便利なオンデマンド・ネットワーク・アクセスを可能にするために、サービス送達のクラウド・コンピューティング・モデルを使用することができる。
【0052】
図2を参照すると、この図は、例示的な実施形態を実施することができるデータ処理システムのブロック図を示している。データ処理システム200は、図1のサーバ106またはクライアント110、112および114、または例示的な実施形態のためにプロセスを実施するコンピュータ使用可能プログラム・コードもしくは命令が置かれていてもよい別のタイプのデバイスなどの従来型コンピュータの一例である。
【0053】
データ処理システム200はさらに、例示的な実施形態のプロセスを実施するコンピュータ使用可能プログラム・コードまたは命令が置かれていてもよい図1の従来型データ処理システム132などの従来型データ処理システムまたはその構成を表している。データ処理システム200は、単なる例としてコンピュータとして説明されるが、コンピュータに限定されるわけではない。図1のデバイス132など他のデバイスの形態の実施態様は、タッチ・インタフェースを追加することなどによってデータ処理システム200を変更することができ、また、本明細書に記載されたデータ処理システム200の動作および機能の全般的な説明を逸脱することなく、データ処理システム200から、図示されたある種の構成要素を排除することもできる。
【0054】
図示の例では、データ処理システム200が、ノース・ブリッジおよびメモリ・コントローラ・ハブ(NB/MCH)202ならびにサウス・ブリッジおよび入力/出力(I/O)コントローラ・ハブ(SB/ICH)204を含むハブ・アーキテクチャを使用する。ノース・ブリッジおよびメモリ・コントローラ・ハブ(NB/MCH)202には、処理ユニット206、主メモリ208およびグラフィックス・プロセッサ210が結合されている。処理ユニット206は、1つまたは複数のプロセッサを含むことができ、1つまたは複数の異種プロセッサ・システムを使用して実施することができる。処理ユニット206はマルチコア・プロセッサとすることができる。ある種の実施態様では、アクセラレーテッド・グラフィックス・ポート(accelerated graphics port)(AGP)を通してグラフィックス・プロセッサ210をNB/MCH202に結合することができる。
【0055】
図示の例では、サウス・ブリッジおよびI/Oコントローラ・ハブ(SB/ICH)204にローカル・エリア・ネットワーク(LAN)アダプタ212が結合されている。サウス・ブリッジおよびI/Oコントローラ・ハブ204には、バス238を通して、オーディオ・アダプタ216、キーボードおよびマウス・アダプタ220、モデム222、リード・オンリー・メモリ(ROM)224、ユニバーサル・シリアル・バス(USB)およびその他のポート232、ならびにPCI/PCIeデバイス234が結合されている。サウス・ブリッジおよびI/Oコントローラ・ハブ204には、バス240を通して、ハード・ディスク・ドライブ(HDD)または固体状態ドライブ(SSD)226およびCD-ROM230が結合されている。PCI/PCIeデバイス234は、例えばイーサネット(R)・アダプタ、アドイン・カード、およびノートブック・コンピュータ用のPCカードを含むことができる。PCIはカード・バス・コントローラを使用するが、PCIeはカード・バス・コントローラを使用しない。ROM224は例えば、フラッシュ・ベーシック入力/出力システム(BIOS)とすることができる。ハード・ディスク・ドライブ226およびCD-ROM230は例えば、インテグレーテッド・ドライブ・エレクトロニクス(IDE)、シリアル・アドバンスト・テクノロジ・アタッチメント(SATA)インタフェースまたはその変形、例えばエクスターナルSATA(eSATA)およびマイクロSATA(mSATA)を使用することができる。サウス・ブリッジおよびI/Oコントローラ・ハブ(SB/ICH)204には、バス238を通してスーパーI/O(SIO)デバイス236が結合されていてもよい。
【0056】
主メモリ208、ROM224またはフラッシュ・メモリ(図示せず)などのメモリは、コンピュータ使用可能ストレージ・デバイスのいくつかの例である。ハード・ディスク・ドライブまたは固体状態ドライブ226、CD-ROM230および同様に使用可能な他のデバイスは、コンピュータ使用可能ストレージ媒体を含むコンピュータ使用可能ストレージ・デバイスのいくつかの例である。
【0057】
処理ユニット206上ではオペレーティング・システムが実行される。このオペレーティング・システムは、図2のデータ処理システム200内のさまざまな構成要素の制御を調整および提供する。このオペレーティング・システムは、限定はされないがサーバ・システム、パーソナル・コンピュータおよびモバイル・デバイスを含む任意のタイプのコンピューティング・プラットホーム用の市販オペレーティング・システムとすることができる。オペレーティング・システムとともに、オブジェクト指向プログラミング・システムまたは他のタイプのプログラミング・システムが動作してもよく、これらのプログラミング・システムは、データ処理システム200上で実行されているプログラムまたはアプリケーションからオペレーティング・システムに呼出しを提供することができる。
【0058】
オペレーティング・システム、オブジェクト指向プログラミング・システム、および図1のアプリケーション105などのアプリケーションまたはプログラムに対する命令は、ストレージ・デバイス上に、例えばハード・ディスク・ドライブ226上のコード226Aの形態で置かれており、処理ユニット206によって実行するために、主メモリ208など、1つまたは複数のメモリのうちの少なくとも1つのメモリにロードすることができる。例示的な実施形態のプロセスは、コンピュータ実施命令を使用して処理ユニット206によって実行されてもよく、コンピュータ実施命令は、例えば主メモリ208、リード・オンリー・メモリ224などのメモリまたは1つもしくは複数の周辺デバイスに置かれていてもよい。
【0059】
さらに、1つのケースでは、ネットワーク201Aを介してリモート・システム201Bからコード226Aをダウンロードすることができ、リモート・システム201Bのストレージ・デバイス201Dには同様のコード201Cが記憶されている。別のケースでは、ネットワーク201Aを介してリモート・システム201Bにコード226Aをダウンロードすることができ、リモート・システム201Bのストレージ・デバイス201Dにはダウンロードされたコード201Cが記憶されている。
【0060】
実施態様に応じて図1~2のハードウェアを変更することができる。図1~2に示されたハードウェアに加えて、または図1~2に示されたハードウェアの代わりに、フラッシュ・メモリ、等価の不揮発性メモリ、または光ディスク・ドライブなどの他の内部ハードウェアまたは周辺デバイスを使用することができる。さらに、例示的な実施形態のプロセスを、マルチプロセッサ・データ処理システムに適用することができる。
【0061】
例示のためのいくつかの例では、データ処理システム200をパーソナル・ディジタル・アシスタント(PDA)とすることができ、PDAは一般に、オペレーティング・システム・ファイルもしくはユーザ生成データまたはその両方を記憶するための不揮発性メモリを、フラッシュ・メモリによって提供するように構成されている。バス・システムは、システム・バス、I/OバスおよびPCIバスなどの1つまたは複数のバスを備えることができる。当然ながら、このバス・システムは、任意のタイプの通信ファブリックまたはアーキテクチャを使用して実施することができ、それらの通信ファブリックまたはアーキテクチャは、そのファブリックまたはアーキテクチャに接続された異なる構成要素またはデバイス間のデータ転送を提供する。
【0062】
通信ユニットは、データを送受信するために使用される、モデムまたはネットワーク・アダプタなどの1つまたは複数のデバイスを含むことができる。メモリは例えば、主メモリ208、またはノース・ブリッジおよびメモリ・コントローラ・ハブ202内に見られるキャッシュなどのキャッシュとすることができる。処理ユニットは、1つまたは複数のプロセッサまたはCPUを含むことができる。
【0063】
図1~2に示された例および上述の例は、アーキテクチャが限定されることを暗示するものではない。例えば、モバイル・デバイスまたはウェアラブル・デバイスの形態をとることに加えて、データ処理システム200を、タブレット・コンピュータ、ラップトップ・コンピュータまたは電話機とすることもできる。
【0064】
コンピュータまたはデータ処理システムが、仮想機械、仮想デバイスまたは仮想構成要素として説明されている場合、その仮想機械、仮想デバイスまたは仮想構成要素は、データ処理システム200内に示された一部または全部の構成要素の仮想化された表現物を使用して、データ処理システム200の方式で動作する。例えば、仮想機械、仮想デバイスまたは仮想構成要素では、処理ユニット206が、ホスト・データ処理システム内で使用可能な全部または一部のハードウェア処理ユニット206の仮想化事例として表現され、主メモリ208が、ホスト・データ処理システム内で使用可能であってもよい主メモリ208の全体または一部分の仮想化事例として表現され、ディスク226が、ホスト・データ処理システム内で使用可能であってもよいディスク226の全体または一部分の仮想化事例として表現される。このようなケースのホスト・データ処理システムは、データ処理システム200によって表される。
【0065】
図3を参照すると、この図は、量子コンピューティングのための量子-古典ハイブリッド変分アルゴリズムを強化するための例示的な構成300のブロック図を示している。この例示的な実施形態はアプリケーション302を含む。特定の実施形態では、アプリケーション302が、図1のアプリケーション105の一例である。
【0066】
アプリケーション302は、入力変数304およびパラメータ306を受け取る。入力変数304は、潜在的な解の部分であり、変分アルゴリズムの反復によって選択された部分を決定する。例えば、入力変数304を、潜在的な解の百分率などのしきい値とすることができる。パラメータ306は、量子系の量子状態に対応する波動関数を表す。
【0067】
いくつかの実施形態では、ユーザが一組の変数を入力する。例えば、ユーザは、最初のしきい値および最後のしきい値を入力することができる。変分アルゴリズムの最初の反復は最初のしきい値を使用する。アプリケーション302は、最後のしきい値に到達するまで、後続の反復のためのしきい値を変更する。例えば、アプリケーション302は、最初の反復のための最初のしきい値から最後の反復のための最後のしきい値まで、しきい値を直線的に変更する。
【0068】
アプリケーション302は、解空間探索構成要素(solution space search component)308、停止条件構成要素(stop condition component)310、解空間ソート構成要素(solution space sorter component)312、解空間分離構成要素(solution space isolator component)314、およびアルゴリズム調整構成要素(algorithm tuner component)316を含む。この実施形態では、解空間探索構成要素308が、量子プロセッサ上で変分アルゴリズムを実行して、一組の解(解空間)の部分集合を生成する。例えば、量子プロセッサは、変分アルゴリズムの反復を何回か実行して、解の部分集合を計算することができ、部分集合の中のそれぞれの解は、変分アルゴリズムの1回の反復による値に対応する。
【0069】
一実施形態では、停止条件構成要素310が、量子プロセッサによって実行される反復の回数を監視および制御する。例えば、停止条件構成要素310は、変分アルゴリズムを50回反復するための入力をユーザから受け取ることができる。いくつかの実施形態では、停止条件が、変分アルゴリズムを実行する所定の期間である。いくつかの実施形態では、停止条件が、最後のしきい値に到達したときに満たされる。
【0070】
一実施形態では、解空間ソート構成要素312が、ソート基準に従って解の部分集合を配列および順序付けする。例えば、解空間ソート構成要素312は、解の部分集合を昇順に配列することができる。一実施形態では、解空間分離構成要素314が、解の部分集合の部分を選択する。この部分の中のそれぞれの解は、しきい値によって定義された境界内にある。例えば、入力変数が5パーセントである場合、解空間分離構成要素314は、解の部分集合の部分であり、解の部分集合の中の解の総数の5パーセントに対応する部分を分離することができる。
【0071】
いくつかの実施形態では、解空間分離構成要素314が、この部分から、解空間の1つの極値を形成する平均解(average solution)を計算する。この平均解は、組合せ最適化問題に対するコンディショナル・バリュー・アット・リスクに対応する。例えば、解空間分離構成要素314は、解空間の最下端の解の部分集合の部分から、平均解を計算することができる。一実施形態では、アルゴリズム調整構成要素316が、解の第2の部分集合を生成するように変分アルゴリズムを変更する。例えば、アルゴリズム調整構成要素316は、解の第2の部分集合であり、境界内の値を有する解を含むような第2の部分集合を生成するように、変分アルゴリズムを変更することができる。
【0072】
図4を参照すると、この図は、例示的な実施形態による、組合せ最適化のための量子-古典アルゴリズムを強化するためのデータ処理システムを動作させる例示的な方法400の流れ図を示している。ブロック402で、アプリケーション302が、量子プロセッサ上で変分アルゴリズムを実行する。変分アルゴリズムの実行は、変分アルゴリズムの一組の解(解空間)の部分集合を所定の期間内に生成する。変分アルゴリズムは、組合せ最適化問題を実施する。部分集合の中のそれぞれの解は、対応する値を有する。例えば、変分アルゴリズムは、それぞれの反復のための解として、所与の原子間間隔を有する分子のハミルトン演算子の期待値を計算することができる。一実施形態では、これらの一組の期待値のうちのそれぞれの期待値が、それぞれの反復の解としてのハミルトン演算子の期待値に対応する。
【0073】
ブロック404で、アプリケーション302は、ソート基準に従って解の部分集合をソートする。例えば、アプリケーション302は、一組の値を昇順に配列することができる。ブロック406で、アプリケーション302は、解の部分集合の部分を分離する。この部分の中のそれぞれの解に対応する値は、しきい値によって定義された境界内にある。例えば、アプリケーション302は、期待値の部分集合の部分であり、配列された一組の値のうちの最初のαパーセントの値を表す部分を選択することができる。αは入力変数である。アプリケーション302は、ソートされた配列に基づいて、解の部分集合の部分を選択する。例えば、アプリケーション302は、解の部分集合の部分であり、順序付けされた配列の中の最初のn個の値に対応する部分を選択することができる。
【0074】
ブロック408で、アプリケーション302は、解の部分集合のこの部分から平均解を計算する。この部分からの平均解は、解空間の1つの極値を形成する。例えば、アプリケーション302は、解の部分集合の部分であり、解の部分集合のうちの小さい方から5%に対応する部分の平均を計算する。ブロック410で、アプリケーション302は、変分アルゴリズムを変更する必要があるかどうかを判定する。アプリケーション302は、計算された平均解および一組の解の生成された部分集合に基づいて、変分アルゴリズムの解析を実行する。
【0075】
変分アルゴリズムが調整を必要としているとアプリケーション302が判定した場合(ブロック410の「はい」経路)、アプリケーション302は、変分アルゴリズムの態様を変更するようユーザに促す。いくつかの実施形態では、アプリケーション302が、解の第2の部分集合であり、境界内の値を有する解を含むような第2の部分集合を生成するように、変分アルゴリズムを変更する。例えば、量子プロセッサ上での変更された変分アルゴリズムの実行が、解の第2の部分集合であり、境界内の値を有する解を含むような第2の部分集合を生成する。一実施形態では、アプリケーション302がブロック402に戻って、変更された変分アルゴリズムを用いて方法400を再び実行する。変分アルゴリズムが調整を必要としていないとアプリケーション302が判定した場合(ブロック410の「いいえ」経路)、方法400は終了となる。
【0076】
図5を参照すると、この図は、例示的な実施形態による、量子-古典ハイブリッド変分アルゴリズムを強化するための分離ステップの例示的なグラフ500を示している。線502は、変分アルゴリズムを使用して計算された一組の値のうちの5パーセントの値の選択を表している。計算された一組の値のうちの5パーセントの値はグラフの線502よりも下にある。線504は、計算された一組の値の平均値を表している。線504は、計算された一組の値の全体から平均を決定することを表している。
【0077】
本明細書では、本発明のさまざまな実施形態が関連図を参照して説明される。本発明の範囲を逸脱することなく代替実施形態を考案することができる。例えば、本発明の趣旨を逸脱することなく、方法400に、量子コンピューティングのための追加の変分アルゴリズムを含めることができる。
【0078】
特許請求の範囲および本明細書の解釈のために、以下の定義および略語が使用される。本明細書で使用されるとき、用語「備える(comprises)」、「備えている(comprising)」、「含む(includes)」、「含んでいる(including)」、「有する(has)」、「有している(having)」、「含有する(contains)」もしくは「含有している(containing)」、またはこれらの用語の他の変異語は、非排他的包含(non-exclusive inclusion)をカバーすることが意図されている。例えば、要素のリストを含む組成物、混合物、プロセス、方法、物品または装置は、必ずしもそれらの要素だけに限定されるわけではなく、明示的にはリストに入れられていない他の要素、あるいはこのような組成物、混合物、プロセス、方法、物品または装置に固有の他の要素を含みうる。
【0079】
さらに、本明細書では、用語「例示的な」が、「例、事例または実例として役立つ」ことを意味するものとして使用されている。本明細書に「例示的」として記載された実施形態または設計は必ずしも、他の実施形態または設計よりも好ましいまたは有利であるとは解釈されない。用語「少なくとも1つの」および「1つまたは複数の」は、1以上の任意の整数、すなわち1、2、3、4などを含むと理解される。用語「複数」は、2以上の任意の整数、すなわち2、3、4、5などを含むと理解される。用語「接続」は、間接「接続」および直接「接続」を含みうる。
【0080】
本明細書において「一実施形態」、「実施形態」、「例示的な実施形態」などに言及されているとき、それは、記載されたその実施形態は特定の特徴、構造もしくは特性を含みうるが、全ての実施形態がその特定の特徴、構造もしくは特性を含むことがあり、またはそうではないこともあることを示す。さらに、このような句が、同じ実施形態を指しているとは限らない。さらに、1つの実施形態に関して特定の特徴、構造または特性が記載されているとき、明示的に記載されているか否かを問わず、他の実施形態に関してそのような特徴、構造または特性に影響を及ぼすことは、当業者の知識の範囲内にあると考えられる。
【0081】
用語「約」、「実質的に」、「およそ」およびこれらの用語の変異語は、特定の数量の大きさに関連した、本出願の提出時に利用可能な機器に基づく誤差の程度を含むことが意図されている。例えば、「約」は、所与の値の±8%、5%または2%の範囲を含みうる。
【0082】
本発明のさまざまな実施形態の以上の説明は、例示のために示したものであり、以上の説明が網羅的であること、または、以上の説明が、開示された実施形態に限定されることは意図されていない。当業者には、記載された実施形態の範囲および思想を逸脱しない多くの変更および変形が明らかとなろう。本明細書で使用した用語は、実施形態の原理、実用的用途、もしくは市販されている技術にはない技術的改良点を最もよく説明するように、または本明細書に開示された実施形態を当業者が理解できるように選択された。
図1
図2
図3
図4
図5