JP2023507139A - 離散二次モデルの解を求めるためのハイブリッドアルゴリズムのシステム及び方法 - Google Patents

離散二次モデルの解を求めるためのハイブリッドアルゴリズムのシステム及び方法 Download PDF

Info

Publication number
JP2023507139A
JP2023507139A JP2022537040A JP2022537040A JP2023507139A JP 2023507139 A JP2023507139 A JP 2023507139A JP 2022537040 A JP2022537040 A JP 2022537040A JP 2022537040 A JP2022537040 A JP 2022537040A JP 2023507139 A JP2023507139 A JP 2023507139A
Authority
JP
Japan
Prior art keywords
variable
variables
processor
arbitrary
computing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022537040A
Other languages
English (en)
Other versions
JPWO2021126773A5 (ja
Inventor
エスファハニ,ホセイン,サデギ
ベルヌーディ,ウィリアム,ダヴリュー.
ラーマニ,モーセン
Original Assignee
ディー-ウェイブ システムズ インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ディー-ウェイブ システムズ インコーポレイテッド filed Critical ディー-ウェイブ システムズ インコーポレイテッド
Publication of JP2023507139A publication Critical patent/JP2023507139A/ja
Publication of JPWO2021126773A5 publication Critical patent/JPWO2021126773A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/60Quantum algorithms, e.g. based on quantum optimisation, quantum Fourier or Hadamard transforms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B82NANOTECHNOLOGY
    • B82YSPECIFIC USES OR APPLICATIONS OF NANOSTRUCTURES; MEASUREMENT OR ANALYSIS OF NANOSTRUCTURES; MANUFACTURE OR TREATMENT OF NANOSTRUCTURES
    • B82Y10/00Nanotechnology for information processing, storage or transmission, e.g. quantum computing or single electron logic

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Analysis (AREA)
  • Software Systems (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

離散二次モデルの解を求めるための方法が説明される。方法は、各変数と他の変数との相互作用に基づいて各変数の各状態のエネルギーを演算し、指数重みを演算し、指数重みに比例する正規化確率を演算する。各変数のエネルギーは、各変数の大きさ及び他のすべての変数の現在の状態の関数として演算され、指数重みが演算され、各変数に対する実行可能領域が演算され、指数重み及び尊重する制約に比例する正規化確率が演算される。ハイブリッドコンピューティングシステムを介して実行される方法は、各変数に対する2つの候補値を得て、各変数がどちらの候補値を取るべきかを決定するために二進値を使用するハミルトニアンを構築し、次いで、ハミルトニアンに基づいて二元二次モデルを構築する。二元二次モデルからのサンプルは、量子プロセッサを介して得られる。方法は、資源スケジューリング最適化問題及び/又はタンパク質の側鎖最適化の解を求めるために適用することができる。

Description

分野
この開示は、一般に、ギブスサンプリング(Gibbs sampling)及びクロスボルツマン更新(Cross-Boltzmann updates)を使用して離散二次モデルの解を求めるためのハイブリッドアルゴリズムに関する。
背景
量子プロセッサ
量子プロセッサは、超電導量子プロセッサの形態を取り得る。超電導量子プロセッサは、多くの超電導量子ビット及び関連付けられた局所バイアス素子を含み得る。また、超電導量子プロセッサは、量子ビット間の通信可能な結合を選択的に提供する結合素子(カプラとしても知られている)も含み得る。
本システム及びデバイスと併せて使用することができる例示的な量子プロセッサのさらなる詳細及び実施形態については、例えば、米国特許第7533068号、米国特許第8008942号、米国特許第8195596号、米国特許第8190548号及び米国特許第8421053号において説明されている。
量子演算
量子コンピュータは、重ね合わせ、トンネリング及び絡み合いなどの少なくとも1つの量子力学的現象を直接使用して、データに対する動作を実行するシステムである。量子コンピュータの要素は量子ビットである。量子コンピュータは、量子物理学をシミュレーションする演算問題など、特定のクラスの演算問題の高速化を提供することができる。
量子アニーリング
量子アニーリングは、システムの低エネルギー状態、典型的には、好ましくは、システムの基底状態を見出すために使用することができる演算方法である。方法は、自然システムが、エネルギー状態が低いほど安定していることを理由に、より低いエネルギー状態に向かう傾向があるという基本原理に依拠する。量子アニーリングは、エネルギー最小値に達するための非局在化の根源として、量子トンネリングなどの量子効果を使用することができる。
量子プロセッサは、量子アニーリング及び/又は断熱的量子演算を実行するように設計することができる。進化ハミルトニアンは、問題ハミルトニアンに比例する第1の項と非局在化ハミルトニアンに比例する第2の項との和に比例するものであり、以下の通り構築することができる。
∝A(t)H+B(t)H
式中、Hは、進化ハミルトニアンであり、Hは、問題ハミルトニアンであり、Hは、非局在化ハミルトニアンであり、A(t)、B(t)は、進化の速度を制御することができる係数であり、典型的には、[0,1]の範囲にある。
いくつかの実装形態では、問題ハミルトニアンに時変包絡関数を入れることができる。適切な非局在化ハミルトニアンは、
Figure 2023507139000002
によって与えられ、式中、Nは、量子ビットの数を表し、
Figure 2023507139000003
は、i番目の量子ビットのパウリx行列であり、Δは、i番目の量子ビットにおいて誘発される単一量子ビットのトンネル分裂である。ここでは、
Figure 2023507139000004
項は、「非対角」項の例である。
一般的な問題ハミルトニアンは、単一量子ビットの対角項に比例する第1の成分と、複数量子ビットの対角項に比例する第2の成分とを含み、以下の形態であり得る。
Figure 2023507139000005
式中、Nは、量子ビットの数を表し、
Figure 2023507139000006
は、i番目の量子ビットのパウリz行列であり、h及びJijは、量子ビットの無次元局所場及び量子ビット間の結合であり、εは、Hの何らかの特性エネルギースケールである。
ここでは、
Figure 2023507139000007
項は、「対角」項の例である。σ は、単一量子ビット項であり、σ σjは、2量子ビット項である。
この明細書全体を通じて、「問題ハミルトニアン」及び「最終ハミルトニアン」という用語は、文脈上で指示されない限り、互いに交換可能に使用される。量子プロセッサの特定の状態は、エネルギー的に好まれるか又は単に問題ハミルトニアンによって好まれるものである。これらには、基底状態が含まれるが、励起状態が含まれる場合もある。
上記の2つの方程式におけるH及びHなどのハミルトニアンはそれぞれ、様々な異なる方法で物理的に実現することができる。特定の例は、超電導量子ビットの実装によって実現される。
サンプリング
この明細書及び添付の特許請求の範囲全体を通じて、「サンプル」、「サンプリング」、「サンプリングデバイス」及び「サンプルジェネレータ」という用語が使用される。
統計学上では、サンプルは、母集団の部分集合、すなわち、統計的な母集団から取られたいろいろなデータである。電気工学及び関連分野では、サンプリングは、アナログ信号又は他の何らかの物理システムの測定値セットを取ることに関連する。
物理システムのシミュレーション及びコンピューティング(特に、アナログコンピューティング)を含む多くの分野では、前述の意味を融合させることができる。例えば、ハイブリッドコンピュータは、アナログコンピュータからサンプルを引き出すことができる。アナログコンピュータは、サンプルのプロバイダとして、サンプルジェネレータの一例である。アナログコンピュータは、選択された確率分布からサンプルを提供するように動作することができ、確率分布は、サンプリングされたそれぞれの確率を母集団の各データポイントに割り当てる。母集団は、プロセッサのすべての可能な状態に対応し得、各サンプルは、プロセッサのそれぞれの状態に対応し得る。
マルコフ連鎖モンテカルロ
マルコフ連鎖モンテカルロ(MCMC)は、演算技法のクラスであり、例えば、疑似アニーリング、パラレルテンパリング、母集団アニーリング及び他の技法を含む。マルコフ連鎖は、離散型確率変数のシーケンスとして及び/又は各時間ステップにおいて状態が以前の状態にのみ依存するランダムプロセスとして説明することができる。
マルコフ連鎖は、マルコフ提案プロセスに従って新しいポイントを提案することによって得ることができる。新しいポイントは、受理されるか又は拒否される。新しいポイントが拒否された場合は、新しい提案が出されるなど、以下同様である。受理される新しいポイントは、ターゲット分布に確率的に収束するものである。
ギブスサンプリング
ギブスサンプリングは、ターゲット分布の1つの変数の条件付き分布からサンプリングするマルコフ連鎖モンテカルロ(MCMC)アルゴリズムであり、他のすべての変数は与えられている。他のMCMCアルゴリズムと同様に、ギブスサンプリングは、サンプルのマルコフ連鎖を生成し、その各々は、近くのサンプルと相関関係がある。
ソフトマックス分布
ソフトマックス関数は、K個の実数のベクトルを入力として取り、入力数値の指数に比例するK個の確率から成る確率分布に正規化する関数である。すなわち、ソフトマックスを適用した後、各成分は(0,1)の区間にあり、それらの成分を合計すると1になり、その結果、確率として解釈することができる。ソフトマックスは、ニューラルネットワークで使用される場合が多く、ネットワークの非正規化出力を予測出力クラスにわたる確率分布にマッピングする。
関連技術の前述の例及びそれに関連する制限は、例示であって排他的ではないことを意図する。関連技術の他の制限は、本明細書を読み進めるにつれて及び図面を学習するにつれて、当業者に明らかになるであろう。
簡単な概要
いくつかのクラスの問題(例えば、任意の変数を有する問題)は、二次制約なし二値最適化(QUBO)問題又はイジングハミルトニアン問題に効率的にマッピングすることができない。従って、それらの問題は、何らかのオーバーヘッド(例えば、変数の変換)を古典的又はデジタルプロセッサ上で実行し、次いで、量子コンピュータによって解が求められる必要がある。従って、問題をモデル(例えば、二元二次モデル)に効率的にマッピングし、次いで、量子コンピュータによって解を求めることによって、任意の変数の問題の解を効率的に求めることが望ましい。プロセッサベースのシステムにおける演算方法について説明する。方法は、n個の任意の変数vを有する問題にアルゴリズムを適用することと、アルゴリズムから任意の変数vの各々に対する2つの候補値を得ることと、任意の変数vの各々が2つの候補値のうちのどちらを取るべきかを決定するために二進値sを使用するハミルトニアンを構築することと、ハミルトニアンに基づいて二元二次モデルを構築することと、問題の解として、二元二次モデルからのサンプルを量子プロセッサから得ることとを含み得る。n個の任意の変数vを有する問題にはギブスサンプラを適用することができ、ギブスサンプラから任意の変数vの各々に対する2つの候補値を得ることができる。n個の任意の変数vを有する問題にアルゴリズムを適用することは、任意の変数の各々に対して、任意の変数と任意の変数の他の変数との相互作用に基づいて、任意の変数の各状態のエネルギーを演算することと、任意の変数の各々に対して、任意の変数の全く異なる値の数Dの各々に対する任意の変数のそれぞれの指数重みを演算することと、指数重みに比例する、任意の変数の各々が値Dのうちの1つを取る正規化確率を演算することとを含み得る。n個の任意の変数vを有する問題にアルゴリズムを適用することは、任意の変数の各々に対して、任意の変数の大きさ及び任意の変数の他のすべての変数の現在の状態の関数として、任意の変数のエネルギーを演算することと、任意の変数の各々に対して、任意の変数の全く異なる値のそれぞれの数Dの各々に対する任意の変数のそれぞれの指数重みを演算することと、任意の変数の各々に対して、任意の変数に対する実行可能領域を演算することであって、実行可能領域が、制約セットを尊重する値の集合を含む、演算することと、任意の変数の各々に対して、全く異なる値のそれぞれの数Dの各々における任意の変数に対するマスクを演算することと、任意の変数の各々に対して、指数重み及びマスクに比例する、任意の変数が任意の変数の全く異なる値のそれぞれの数Dのうちの1つを取る確率を集合的に表す正規化確率を演算することとを含み得る。二元二次モデルを構築することは、s及び2つの候補値を用いて新しい変数xを定義し、問題をsの空間における最適化問題に変換することを含み得る。二元二次モデルを構築することは、ペナルティ項を使用して、制約付き二値最適化問題を制約なし二値最適化問題に緩和することと、2つの候補値のそれぞれの合計を求めることとを含み得る。方法は、二元二次モデルからのサンプルを量子プロセッサから得る前に、量子プロセッサにおける埋め込みを定義するために、二元二次モデルに埋め込みアルゴリズムを適用することをさらに含み得る。方法は、終了条件が満たされるまで、n個の任意の変数vを有する問題にアルゴリズムを適用することと、アルゴリズムから任意の変数vの各々に対する2つの候補値を得ることと、任意の変数vの各々が2つの候補値のうちのどちらを取るべきかを決定するために二進値sを使用するハミルトニアンを構築することと、ハミルトニアンに基づいて二元二次モデルを構築することと、二元二次モデルからのサンプルを量子プロセッサから得ることと、サンプルを問題に組み入れることとを反復的に繰り返すことをさらに含み得る。方法は、終了条件が満たされているかどうかを判断することをさらに含み得る。終了条件は、任意の変数の品質評価を表す尺度が満たされているかどうかを判断することを含み得る。問題は、資源スケジューリング問題であり得る。少なくとも1つの古典的プロセッサを含むプロセッサベースのシステムは、上記の方法のいずれかを実行するように動作可能である。プロセッサベースのシステムは、少なくとも1つの古典的プロセッサに通信可能に結合された量子プロセッサを含み得る。
タンパク質設計問題は、組合せ最適化問題として定式化することができる。この最適化問題は、分枝限定アルゴリズム及び/又は疑似アニーリングを使用して解を求めることができる。疑似アニーリング方法は、メトロポリス提案を使用するが、カテゴリ分布の事例の数が増えるにつれて、メトロポリス提案の使用は非効率的になり、従って、演算時間が長くなり、これらの方法は、複雑な問題に対して非効率的になる。本開示は、例えば、タンパク質側鎖最適化を効率的に実行する際に使用することができる、演算効率を向上する上で有用なシステム及び方法について説明する。プロセッサベースのシステムにおける、n個の変数を有する入力問題のソフトマックス分布を演算するための動作の方法が説明される。各変数は、全く異なる値のそれぞれの数Dを取る。方法は、入力問題の各変数に対して、それぞれの変数と他の変数との相互作用に基づいて、入力問題の変数の各状態のエネルギーを演算することと、入力問題の各変数に対して、変数の全く異なる値のそれぞれの数Dの各々における変数のそれぞれの指数重みを演算することと、入力問題の各変数に対して、指数重みに比例する、変数が変数の全く異なる値のそれぞれの数Dのうちの1つを取る確率を集合的に表す正規化確率を演算することと、正規化確率の数値から多数のサンプルを得ることとを含む。多数のサンプルは、逆変換サンプリングを介して正規化確率から得ることができる。入力問題は、タンパク質側鎖最適化問題であり得る。方法は、終了条件が満たされるまで、入力問題の各変数に対して、それぞれの変数と他の変数との相互作用に基づいて、変数の各状態のエネルギーを演算することと、入力問題の各変数に対して、変数の全く異なる値のそれぞれの数Dの各々における変数に対するそれぞれの指数重みの数値を演算することと、入力問題の各変数に対して、指数重みに比例する、変数が変数の全く異なる値のそれぞれの数Dのうちの1つを取る確率を集合的に表す正規化確率を演算することと、正規化確率から多数のサンプルを得ることと、多数のサンプルを入力問題に組み入れることとを反復的に繰り返すことをさらに含み得る。方法は、終了条件が満たされているかどうかを判断することをさらに含み得る。終了条件は、変数の品質評価を表す尺度が満たされているかどうかを判断することを含み得る。少なくとも1つの古典的プロセッサを含むプロセッサベースのシステムは、上記の方法のいずれかを実行するように動作可能である。
整数問題は、一般的に、分枝限定、又は、例えば、デッドエンド削除(DEE)などのツリーベースのアルゴリズムを使用して解が求められる。特定の状況下では、整数問題は、整数変数を連続変数に緩和することによって解を求めることができるが、変数を緩和しても、実行可能空間における最適解を見出すことは保証されない。それに加えて、現在のソルバの多くは、問題サイズが増加するとうまくスケーリングすることができなくなり、従って、演算時間が非常に長くなり、すべてのアプリケーションに適しているとは言えなくなる。プロセッサベースのシステムにおける、n個の変数を有する入力問題のソフトマックス分布を演算するための動作の方法が説明される。各変数は、全く異なる値のそれぞれの数Dを取る。方法は、入力問題の各変数に対して、変数の大きさ及び他のすべての変数の現在の状態の関数として、入力問題の変数のエネルギーを演算することと、入力問題の各変数に対して、変数の全く異なる値のそれぞれの数Dの各々における変数の指数重みの数値を演算することと、入力問題の各変数に対して、変数に対する実行可能領域を演算することであって、実行可能領域が、制約セットを尊重する値の集合を含む、演算することと、入力問題の各変数に対して、変数の全く異なる値のそれぞれの数Dの各々における変数に対するマスクを演算することと、入力問題の各変数に対して、指数重み及びマスクに比例する、変数が変数の全く異なる値のそれぞれの数Dのうちの1つを取る確率を表す正規化確率の数値を演算することと、正規化確率の数値から多数のサンプルを得ることとを含む。入力問題は、制約付き二次整数問題であり得る。正規化確率の数値からの多数のサンプルは、逆変換サンプリングを介して得ることができる。方法は、終了条件が満たされるまで、入力問題の各変数に対して、変数の大きさ及び他のすべての変数の現在の状態の関数として、入力問題の変数のエネルギーを演算することと、入力問題の各変数に対して、変数の全く異なる値のそれぞれの数Dの各々における変数に対するそれぞれの指数重みの数値を演算することと、入力問題の各変数に対して、変数に対する実行可能領域を演算することであって、実行可能領域が、制約セットを尊重する値の集合を含む、演算することと、入力問題の各変数に対して、変数の全く異なる値のそれぞれの数Dの各々における変数に対するマスクを演算することと、入力問題の各変数に対して、指数重み及びマスクに比例する、変数が変数の全く異なる値のそれぞれの数Dのうちの1つを取る正規化確率の数値を演算することと、正規化確率から多数のサンプルを得ることと、多数のサンプルを入力問題に組み入れることとを反復的に繰り返すことをさらに含み得る。方法は、終了条件が満たされているかどうかを判断することをさらに含み得る。終了条件は、変数の品質評価を表す尺度が満たされているかどうかを判断することを含み得る。少なくとも1つの古典的プロセッサを含むプロセッサベースのシステムは、上記の方法のいずれかを実行するように動作可能である。
図面のいくつかの図の簡単な説明
図面では、同一の参照番号は、同様の要素又は行為を識別する。図面における要素のサイズ及び相対位置は、必ずしも原寸に比例するとは限らない。例えば、様々な要素の形状及び角度は、必ずしも原寸に比例するとは限らず、これらの要素の一部は、図面を読み易くするために、任意に拡大及び位置決めすることができる。さらに、描かれるような要素の特定の形状は、必ずしも特定の要素の実際の形状に関する情報を伝えることを意図するとは限らず、図面において認識し易くするためだけに選択されたものであり得る。
量子プロセッサ及び古典的プロセッサを含むハイブリッドコンピューティングシステムの例の概略図である。 カテゴリ分布の事例にわたってソフトマックス分布からサンプリングするためのコンピューティングシステムの動作の方法の例のフロー図である。 カテゴリ分布の事例にわたってソフトマックス分布からサンプリングするためのコンピューティングシステムの動作の反復方法の例のフロー図である。 制約付きでカテゴリ分布の事例にわたってソフトマックス分布からサンプリングするためのコンピューティングシステムの動作の方法の例のフロー図である。 制約付きでカテゴリ分布の事例にわたってソフトマックス分布からサンプリングするためのコンピューティングシステムの動作の反復方法の例のフロー図である。 クロスボルツマン更新を使用したハイブリッドコンピューティングシステムの動作の方法の例のフロー図である。 クロスボルツマン更新を使用したハイブリッドコンピューティングシステムの動作の反復方法の例のフロー図である。 カテゴリ分布の事例にわたってソフトマックス分布からサンプリングするための、クロスボルツマン更新を使用したハイブリッドコンピューティングシステムの動作の方法の例のフロー図である。 カテゴリ分布の事例にわたってソフトマックス分布からサンプリングするための、クロスボルツマン更新を使用したハイブリッドコンピューティングシステムの動作の反復方法の例のフロー図である。 制約を使用してカテゴリ分布の事例にわたってソフトマックス分布からサンプリングするための、クロスボルツマン更新を使用したハイブリッドコンピューティングシステムの動作の方法の例のフロー図である。 制約を使用してカテゴリ分布の事例にわたってソフトマックス分布からサンプリングするための、クロスボルツマン更新を使用したハイブリッドコンピューティングシステムの動作の反復方法の例のフロー図である。 資源スケジューリングを最適化するためのハイブリッドコンピューティングシステムの動作の方法の例のフロー図である。
詳細な説明
以下の説明では、開示される様々な実装形態の徹底的な理解を提供するために、特定の具体的な詳細を記載する。しかし、当業者であれば、これらの特定の詳細のうちの1つ若しくは複数がなくとも、又は、他の方法、コンポーネント、材料などを用いても、実装形態を実践できることが認識されよう。他の例では、コンピュータシステム、サーバコンピュータ及び/又は通信ネットワークと関連付けられた周知の構造については、実装形態を不必要に曖昧に説明することのないように、詳細に示すことも説明することもしていない。
文脈上他の意味に解すべき場合を除いて、本明細書及び以下に続く特許請求の範囲全体を通じて、「備える、含む(comprising)」という語は、「含む(including)」と同義であり、包括的又は制限のないものである(すなわち、追加の、記述されていない要素又は方法行為を除外するものではない)。
この明細書全体を通じて、「一実装形態」又は「実装形態」への言及は、実装形態と関係して説明される特定の特徴、構造又は特性が少なくとも1つの実装形態に含まれることを意味する。従って、この明細書全体を通じて様々な場所における「一実装形態では」又は「実装形態では」という語句の出現は、必ずしもすべてが同じ実装形態を指しているわけではない。その上、特定の特徴、構造又は特性は、1つ又は複数の実装形態において、任意の適切な様式で組み合わせることができる。
この明細書及び添付の特許請求の範囲で使用される場合、「a」、「an」及び「the」などの単数形は、文脈上で明確に指示されない限り、複数形の指示対象を含む。また、「又は」という用語は、文脈上で明確に指示されない限り、「及び/又は」を含む意味で一般的に使用されることにも留意すべきである。
この明細書及び添付の特許請求の範囲全体を通じて、「サンプル」、「サンプリング」、「サンプルジェネレータ」という用語は、統計学及び電気工学の分野では、それらの対応する意味を有することが意図される。統計学上では、サンプルは、母集団の部分集合であり、例えば、個々のデータ、データポイント、オブジェクト、又は、データ、データポイント若しくはオブジェクトの部分集合である。電気工学上では、サンプリングは、物理システムの多数の測定値(例えば、アナログ信号)を収集することを指す。
ハイブリッドコンピューティングシステムは、アナログプロセッサからサンプルを引き出すことができる。アナログプロセッサは、統計分布からサンプルを提供するように構成することができ、従って、サンプルジェネレータとなる。サンプルジェネレータとして動作することができるプロセッサの例は、量子アニーリングを実行するように設計された量子プロセッサであり、各サンプルは、プロセッサの状態に対応し、母集団は、プロセッサのすべての可能な状態に対応する。
本明細書で提供される本開示の見出し及び要約は、単に便宜上のものであり、実装形態の範囲又は意味として解釈してはならない。
図1は、量子コンピュータ104に結合された古典的コンピュータ102を含むハイブリッドコンピューティングシステム100を示す。古典的コンピュータ102の例は、古典的デジタル処理タスクを実行するために使用することができるデジタルプロセッサ(CPU)106を含み、従って、本明細書及び特許請求の範囲では、古典的プロセッサとして表示される。
古典的コンピュータ102は、少なくとも1つのデジタルプロセッサ(1つ又は複数のコアを有する中央プロセッサユニット106など)と、少なくとも1つのシステムメモリ108と、様々なシステムコンポーネントを結合する(システムメモリ108を中央プロセッサユニット106に結合することを含む)少なくとも1つのシステムバス110とを含み得る。デジタルプロセッサは、1つ又は複数の中央処理装置(「CPU」)、グラフィックス処理装置(「GPU」)、デジタル信号プロセッサ(「DSP」)、特定用途向け集積回路(「ASIC」)、プログラマブルゲートアレイ(「FPGA」)、プログラマブルロジックコントローラ(PLC)など、任意の論理処理ユニットであり得る。
古典的コンピュータ102は、ユーザ入力/出力サブシステム112を含み得る。いくつかの実装形態では、ユーザ入力/出力サブシステムは、ディスプレイ114、マウス116及び/又はキーボード118などの1つ又は複数のユーザ入力/出力コンポーネントを含む。
システムバス110は、メモリコントローラと結合されたメモリバス、周辺バス及びローカルバスを含む、任意の公知のバス構造又はアーキテクチャを採用することができる。システムメモリ108は、読み取り専用メモリ(「ROM」)、スタティックランダムアクセスメモリ(「SRAM」)、フラッシュNANOなどの不揮発性メモリ及び、ランダムアクセスメモリ(「RAM」)などの揮発性メモリ(図示せず)を含み得る。
また、古典的コンピュータ102は、他の非一時的なコンピュータ若しくはプロセッサ可読記憶媒体又は不揮発性メモリ120も含み得る。不揮発性メモリ120は、ハードディスクからの読み取り用及びハードディスクへの書き込み用のハードディスクドライブ、取り外し可能な光ディスクからの読み取り用及び取り外し可能な光ディスクへの書き込み用の光ディスクドライブ、及び/又は、磁気ディスクからの読み取り用及び磁気ディスクへの書き込み用の磁気ディスクドライブを含む、様々な形態を取ることができる。光ディスクは、CD-ROM又はDVDであり得、磁気ディスクは、磁気フロッピーディスク又はディスケットであり得る。不揮発性メモリ120は、システムバス110を介してデジタルプロセッサと通信することができ、システムバス110に結合された適切なインタフェース又はコントローラ122を含み得る。不揮発性メモリ120は、古典的コンピュータ102用のプロセッサ若しくはコンピュータ可読命令、データ構造又は他のデータ(プログラムモジュールと呼ばれる場合がある)のための長期記憶装置として機能し得る。
古典的コンピュータ102は、ハードディスク、光ディスク及び/又は磁気ディスクを採用するものとして説明されてきたが、当業者であれば、磁気カセット、フラッシュメモリカード、フラッシュ、ROM、スマートカードなどの他のタイプの不揮発性コンピュータ可読媒体を採用できることが理解されよう。当業者であれば、一部のコンピュータアーキテクチャは揮発性メモリ及び不揮発性メモリを採用することが理解されよう。例えば、揮発性メモリ内のデータは、不揮発性メモリにキャッシュすることも、又は集積回路を使用して不揮発性メモリを提供するソリッドステートディスクにキャッシュすることもできる。
様々なプロセッサ若しくはコンピュータ可読命令、データ構造又は他のデータは、システムメモリ108に格納することができる。例えば、システムメモリ108は、リモートクライアントと通信するための命令及び、古典的コンピュータ102及び量子コンピュータ104上の資源を含む資源の使用をスケジュールするための命令を格納することができる。例えば、システムメモリ108は、プロセッサ又はコンピュータによって実行されると、方法200(図2)~1100(図11)の行為の1つ、複数又はすべてをプロセッサ又はコンピュータに実行させる、プロセッサ若しくはコンピュータ可読命令、データ構造又は他のデータを格納することができる。
いくつかの実装形態では、システムメモリ108は、量子コンピュータ104に対する前処理、共処理及び後処理を実行するためのプロセッサ又はコンピュータ可読計算命令を格納することができる。システムメモリ108は、量子コンピュータ104と対話するための量子コンピュータインタフェース命令セットで格納することができる。
量子コンピュータ104は、量子プロセッサ124などの1つ又は複数の量子プロセッサを含み得る。量子コンピュータ104は、隔離環境において提供することができ、例えば、熱、磁場及び他の外部雑音(図示せず)から量子コンピュータの内部要素を保護する隔離環境などが挙げられる。量子プロセッサ124は、量子ビット、カプラ及び他のデバイスなどのプログラム可能な要素を含む。本開示によれば、量子プロセッサ124などの量子プロセッサは、量子アニーリング及び/又は断熱的量子演算を実行するように設計することができる。量子プロセッサの例は、米国特許第7533068号において説明されている。
タンパク質は、天然に存在する小分子の群であるアミノ酸でできており、タンパク質の一次構造は、アミノ酸の配列によって決定される。タンパク質の二次及び三次構造は、静電気力(例えば、ファンデルワールス、塩橋、水素結合、双極子間など)の影響を受けて折り畳まれたタンパク質の3D構造によって決定され、タンパク質フォールディングは、タンパク質鎖がその自然の三次元構造を取得する物理的プロセスである。従って、タンパク質フォールディングの問題は、アミノ酸の配列を考慮して、タンパク質の三次構造を決定するものとして要約することができる。逆問題(タンパク質設計)は、所望の特性を有する所望の折り畳まれた構造を形成するアミノ酸の配列を見出す問題である。所望され得る特性の例は、薬物動態、結合性、熱安定性、機能、柔軟性、開発性及び/又は製造性を含む。
側鎖最適化は、アミノ酸の配列と、何らかの目的関数のエネルギーを最小化するその最適な構成とを見出すために、組合せ最適化問題を定式化するタンパク質設計の一部である。側鎖最適化は、演算ペプチド設計の心臓部であり、生化学及び製薬業界における応用性がある。側鎖最適化は、組合せ最適化問題としてうまく表される。この最適化問題は、分枝限定アルゴリズム及び/又は疑似アニーリングを使用して解を求めることができる。側鎖最適化に対して使用されるアルゴリズムの例は、デッドエンド削除(DEE)である。疑似アニーリング方法は、メトロポリス提案を使用し、メトロポリス提案では、カテゴリ変数の変更が提案され、次いで、受理率が測定される。しかし、カテゴリ分布の事例の数が増えるにつれて、メトロポリス提案の使用は非効率的になり、従って、演算時間が長くなり、これらの方法は、複雑な問題に対して非効率的になる。
本開示は、例えば、タンパク質側鎖最適化を効率的に実行する際に使用することができる、演算効率の向上に有用なシステム及び方法について説明する。古典的コンピュータは、マルコフ連鎖モンテカルロ(MCMC)方法(例えば、疑似アニーリング、パラレルテンパリング、母集団アニーリングなど)を使用することができ、メトロポリス提案処置をギブスサンプリングに置き換えることができる。
側鎖最適化問題は、
Figure 2023507139000008
を用いて表現することができ、式中、変数xは、Dの値又は状態を取ることができる。
Figure 2023507139000009
MCMC方法の所定のいかなる段階でも、メトロポリス提案処置は、ギブスサンプリングに置き換えられる。変数xの各状態の有効エネルギーは、他の変数とのその相互作用に基づいて演算される。変数x及びすべての事例j=(1,2,...,D)に対するエネルギー
Figure 2023507139000010
、すなわち、
Figure 2023507139000011
は、指数重み、すなわち、
Figure 2023507139000012
を演算するために使用される。
変数xが状態jを取る確率は、重みwijに比例する。この確率は、ソフトマックス確率分布として知られている。確率分布からサンプルを得るため、従って、変数
Figure 2023507139000013
の状態のサンプルを得るため、以下の通り重みが正規化される。
Figure 2023507139000014
式中、βは、サンプリングが実行される逆温度である。
サンプルは、例えば、逆変換サンプリングなど、標準的なアルゴリズム又は方法を用いて、方程式(6)のソフトマックス分布から得ることができる。
得られたサンプルは、例えば、クラスタ縮小を使用するハイブリッドアルゴリズムの一部として、量子コンピュータによってさらに精製することができる。クラスタ縮小ハイブリッドアルゴリズムについては、米国特許出願公開第20200234172号においてより詳細に開示されている。
図2は、カテゴリ分布の事例にわたってソフトマックス分布からサンプリングするためのコンピューティングシステムの動作の方法200の例のフロー図である。方法200は、少なくとも1つのデジタル又は古典的プロセッサと、量子プロセッサとを含む、ハイブリッドコンピューティングシステム(例えば、図1のハイブリッドコンピューティングシステム100)上で実行することも、又は少なくとも1つのデジタル又は古典的プロセッサを含む古典的コンピューティングシステムによって実行することもできる。
方法200は、行為201~206を含む。しかし、当業者であれば、示される行為の数は例であり、いくつかの実装形態では、特定の行為を省略すること、さらなる行為を追加すること及び/又は行為の順番を変更することができることが理解されよう。
方法200は、例えば、別のルーチンからの呼び出しに応答して、201から始まる。
202では、デジタルプロセッサは、n個のカテゴリ変数を有する入力問題の有効エネルギー
Figure 2023507139000015
を演算する。エネルギー
Figure 2023507139000016
(方程式6)は、変数xと他の変数との相互作用に基づいて、カテゴリ変数x(i=1,..,n)の各状態j=1,..,Dに対して演算される。問題は、201において入力セットの一部として受信することができる。問題は、例えば、タンパク質側鎖最適化問題であり得る。
203では、デジタルプロセッサは、変数xのすべての事例jに対する指数重みwij(方程式7)を演算する。
204では、デジタルプロセッサは、203で演算した重みwijに比例する、各変数xが状態jを取る正規化確率pij(方程式8)を演算する。
205では、デジタルプロセッサは、例えば、逆変換サンプリングを使用して、確率分布pijからサンプルを得る。
206では、方法200は終了し、例えば、再び呼び出されるまで開始されない。
図3は、カテゴリ分布の事例にわたってソフトマックス分布からサンプリングするためのコンピューティングシステムの動作の反復方法300の例のフロー図である。方法300は、少なくとも1つのデジタル又は古典的プロセッサと、量子プロセッサとを含む、ハイブリッドコンピューティングシステム(例えば、図1のハイブリッドコンピューティングシステム100)上で実行することも、少なくとも1つのデジタル又は古典的プロセッサを含む古典的コンピューティングシステムによって実行することもできる。
方法300は、行為301~308を含む。しかし、当業者であれば、示される行為の数は例であり、いくつかの実装形態では、特定の行為を省略すること、さらなる行為を追加すること及び/又は行為の順番を変更することができることが理解されよう。
方法300は、例えば、別のルーチンからの呼び出しに応答して、301から始まる。
302では、デジタルプロセッサは、n個のカテゴリ変数を有する入力問題の有効エネルギー
Figure 2023507139000017
を演算する。エネルギー
Figure 2023507139000018
(方程式6)は、変数xと他の変数との相互作用に基づいて、カテゴリ変数x(i=1,..,n)の各状態j=1,..,Dに対して演算される。入力問題は、301において入力セットの一部として受信することができる。問題は、例えば、タンパク質側鎖最適化問題であり得る。
303では、デジタルプロセッサは、変数xのすべての事例jに対する指数重みwij(方程式7)を演算する。
304では、デジタルプロセッサは、303で演算した重みwijに比例する、各変数iが状態jを取る正規化確率pij(方程式8)を演算する。
305では、デジタルプロセッサは、例えば、逆変換サンプリングを使用して、確率分布pijからサンプルを得る。
306では、デジタルプロセッサは、305で得たサンプルを302の入力問題に組み入れる。
307では、デジタルプロセッサは、終了条件が満たされているかどうかをチェックする。終了条件が満たされている場合は、制御は308に移る。そうでなければ、制御は302に移り、方程式(6)に従って、サンプルが組み入れられた問題に対して、有効エネルギー
Figure 2023507139000019
が再び演算される。例示的な終了条件は、変数の品質を表す尺度又はパラメータが満たされたという決定であり得る。変数の品質の尺度の例は、変数のエネルギーである。決定は、例えば、変数の評価に基づき得、その評価は、デジタルプロセッサによって実行される。
308では、方法300は終了し、例えば、再び呼び出されるまで開始されない。
制約付き整数問題は、数理最適化又は実行可能性問題であり、変数のいくつか又はすべては、整数に制限され、制約セットを尊重しなければならない。整数問題は、一般的に、分枝限定、又は、例えば、デッドエンド削除(DEE)などのツリーベースのアルゴリズムを使用して解が求められる。特定の状況下では、整数問題は、整数変数を連続変数に緩和することによって解を求めることができるが、変数を緩和しても、実行可能空間における最適解を見出すことは保証されない。それに加えて、現在のソルバの多くは、問題サイズが増加するとうまくスケーリングすることができなくなり、従って、演算時間が非常に長くなり、すべてのアプリケーションに適しているとは言えなくなる。
本開示は、少なくとも1つの古典的若しくはデジタルコンピュータと、量子コンピュータとを含む、コンピューティングシステム(例えば、図1のハイブリッドコンピューティングシステム100)を使用して、又は、少なくとも1つのデジタル若しくは古典的コンピュータを含む古典的コンピューティングシステムによって、制約付き二次整数問題の解を求めるためのシステム及び方法について説明する。古典的又はデジタルコンピュータは、マルコフ連鎖モンテカルロ(MCMC)方法(例えば、疑似アニーリング、パラレルテンパリング、母集団アニーリングなど)を使用することができ、メトロポリス提案処置を制約付きのギブスサンプリングに置き換えることができる。
整数変数xの有効エネルギーEは、整数の大きさ及び他のすべての変数の現在の状態の関数として、デジタルプロセッサによって演算することができる。
Figure 2023507139000020
式中、hは、変数xのバイアスであり、Qi,jは、2つの変数xとxのペアワイズ相互作用である。
すべての変数x及びすべての事例又は値jに対するエネルギー
Figure 2023507139000021
は、指数重み、すなわち、
Figure 2023507139000022
を演算するために使用される。変数xが値jを取る確率は、重み
Figure 2023507139000023
(方程式10)に比例する。この確率は、ソフトマックス確率分布として知られている。確率分布からサンプルを得るため、従って、変数xの状態のサンプルを得るため、以下の通り重みが正規化される。
Figure 2023507139000024
式中、Dは、変数xに対する可能な値の数である。
サンプルは、例えば、逆変換サンプリングなど、標準的なアルゴリズム又は方法を用いて、ソフトマックス分布から得ることができる。しかし、方程式11の確率分布p(x)からのサンプリングは、問題の1つ又は複数の制約の違反をもたらし、従って、対象の制約付き二次整数問題に対する解を提供することはない。
制約Cを
Figure 2023507139000025
として表現できると想定すると(式中、Sは、制約Cを尊重しなければならない変数の集合を示す)、変数xに対する実行可能領域は、
Figure 2023507139000026
である。
変数xのマスクMは、
Figure 2023507139000027
の二進値として定義することができる。
従って、実行可能領域のみにおける、変数xが値jを取る確率は、
Figure 2023507139000028
である。
サンプルは、例えば、逆変換サンプリングを使用して、上記の確率分布(方程式15)から得ることができる。
得られたサンプルは、例えば、クラスタ縮小を使用するハイブリッドアルゴリズムの一部として、量子コンピュータによってさらに精製することができる。クラスタ縮小ハイブリッドアルゴリズムについては、米国特許出願公開第20200234172号においてより詳細に開示されている。
図4は、制約を使用してカテゴリ分布の事例にわたってソフトマックス分布からサンプリングするためのコンピューティングシステムの動作の方法400の例のフロー図である。方法400は、少なくとも1つのデジタル又は古典的プロセッサと、量子プロセッサとを含む、ハイブリッドコンピューティングシステム(例えば、図1のハイブリッドコンピューティングシステム100)上で実行することも、又は少なくとも1つのデジタル又は古典的プロセッサを含む古典的コンピューティングシステムによって実行することもできる。
方法400は、行為401~408を含む。しかし、当業者であれば、示される行為の数は例であり、いくつかの実装形態では、特定の行為を省略すること、さらなる行為を追加すること及び/又は行為の順番を変更することができることが理解されよう。
方法400は、例えば、別のルーチンからの呼び出しに応答して、401から始まる。
402では、デジタルプロセッサは、n個の整数変数を有する入力問題の整数変数の有効エネルギーEを演算する。整数変数xのエネルギーE(x)は、方程式9に従って、整数の大きさ及び他の変数の現在の状態の関数として演算される。入力問題は、401において入力セットの一部として受信することができる。
403では、デジタルプロセッサは、方程式10に従って、各変数x及びすべての事例jに対する指数重みwijを演算する。
404では、デジタルプロセッサは、方程式13に従って、各整数変数xに対する実行可能領域
Figure 2023507139000029
を演算し、実行可能領域
Figure 2023507139000030
は、制約Cに依存する。
405では、デジタルプロセッサは、方程式14に従って、値jを取る各変数xに対するマスクMを演算する。
406では、デジタルプロセッサは、実行可能領域のみにおける、各変数xが状態jを取り入れる正規化確率pijを演算し、変数xが状態jを取り入れる確率は、方程式15に従って、指数重み
Figure 2023507139000031
及びマスクMに比例する。
407では、デジタルプロセッサは、例えば、逆変換サンプリングを使用することによって、406で演算した確率分布pijからサンプルを得る。
408では、方法400は終了し、例えば、再び呼び出されるまで開始されない。
図5は、制約付きでカテゴリ分布の事例にわたってソフトマックス分布からサンプリングするためのコンピューティングシステムの動作の反復方法500の例のフロー図である。方法500は、少なくとも1つのデジタル又は古典的プロセッサと、量子プロセッサとを含む、ハイブリッドコンピューティングシステム(例えば、図1のハイブリッドコンピューティングシステム100)上で実行することも、少なくとも1つのデジタル又は古典的プロセッサを含む古典的コンピューティングシステムによって実行することもできる。
方法500は、行為501~510を含む。しかし、当業者であれば、示される行為の数は例であり、いくつかの実装形態では、特定の行為を省略すること、さらなる行為を追加すること及び/又は行為の順番を変更することができることが理解されよう。
方法500は、例えば、別のルーチンからの呼び出しに応答して、501から始まる。
502では、デジタルプロセッサは、方法400の行為402を参照して上記で説明されるように、入力問題の整数変数の有効エネルギーEを演算する。
503では、デジタルプロセッサは、方程式10に従って、各変数x及びすべての事例jに対する指数重みwijを演算する。
504では、デジタルプロセッサは、方程式13に従って、各整数変数xに対する実行可能領域
Figure 2023507139000032
を演算し、実行可能領域
Figure 2023507139000033
は、制約Cに依存する。
505では、デジタルプロセッサは、方程式14に従って、値jを取る各変数xに対するマスクMを演算する。
506では、デジタルプロセッサは、実行可能領域のみにおける、各変数xが状態jを取り入れる正規化確率pijを演算し、変数xが状態jを取り入れる確率は、方程式15に従って、指数重み
Figure 2023507139000034
及びマスクMに比例する。
507では、デジタルプロセッサは、例えば、逆変換サンプリングを使用して、506で演算した確率分布pijからサンプルを得る。
508では、デジタルプロセッサは、507で得たサンプルを502の入力問題に組み入れる。
509では、デジタルプロセッサは、終了条件が満たされているかどうかをチェックする。終了条件が満たされている場合は、制御は510に移る。そうでなければ、制御は502に移り、サンプルが組み入れられた問題に対して、有効エネルギーEが再び演算される。終了条件は、変数の品質を表す尺度又はパラメータが満たされたという決定であり得る。変数の品質の尺度の例は、変数のエネルギーである。決定は、例えば、変数の評価に基づき得、その評価は、デジタルプロセッサによって実行される。
510では、方法500は終了し、例えば、再び呼び出されるまで開始されない。
いくつかのクラスの問題(例えば、任意の変数を有する問題)は、二次制約なし二値最適化(QUBO)問題又はイジングハミルトニアン問題に効率的にマッピングすることができない。従って、それらの問題は、何らかのオーバーヘッド(例えば、変数の変換)を古典的又はデジタルプロセッサ上で実行し、次いで、量子コンピュータによって解が求められる必要がある。従って、問題をモデル(例えば、二元二次モデル)に効率的にマッピングし、次いで、量子コンピュータによって解を求めることによって、任意の変数の問題の解を効率的に求めることが望ましい。本開示及び添付の特許請求の範囲では、任意の変数という用語は、連続、離散又は二値変数を示すために使用されている。
本開示は、少なくとも1つの古典的又はデジタルコンピュータと、量子コンピュータとを含む、ハイブリッドコンピューティングシステム(例えば、図1のハイブリッドコンピューティングシステム100)を使用して、クロスボルツマン更新を用いて任意の変数を有する問題の解を求めるためのシステム及び方法について説明する。少なくとも1つの古典的又はデジタルコンピュータは、クロスボルツマン更新を使用してバイナリ問題を構築し、次いで、バイナリ問題は、量子コンピュータによって解を求めることができる。
問題は、連続、離散又は二値であり得る多数の任意の変数vを含み得る。デジタルコンピュータは、多数の任意の変数を有する問題にアルゴリズムを適用することができ、古い値
Figure 2023507139000035
を有する任意の変数vは、更新値
Figure 2023507139000036
に置き換えることができる。vが更新値を取る場合(すなわち、更新が受理されている場合)は、二値変数sは、既定の値(例えば、1)に等しい。単純な更新ルールの事例では、変数vが更新されるかどうかの判断は、問題の多数の変数における他の変数とは無関係に行われる。しかし、以下の通り、2つのv及びvの更新と関連付けられるエネルギーを演算することは可能である。
Figure 2023507139000037
式中、h及びhはそれぞれ、変数v及びvを個別に更新する上でのエネルギーコストであり、Jijは、両方の変数を一緒に更新するか又は互いに依存する形で更新する上でのエネルギーコストである。
次いで、変数v及びvを更新するかどうかの判断は、ハミルトニアンHを通じて表現することができる。
Figure 2023507139000038
二値変数s(例えば、階乗ベルヌーイ決定(factorial Bernoulli decisions))、すなわち、
~p(s|vt-1) (20)
は、以下の通り、ボルツマン分布からのサンプルと置き換えることができ、
Figure 2023507139000039
式中、Zは、分配関数を表す。
非二値変数vの各々に対して、デジタルプロセッサは、2つの候補値を選択することができる。デジタルプロセッサは、整数又は連続変数の空間においてネイティブサンプラを使用して、候補値を選択することができる。少なくとも1つの実装形態では、ネイティブサンプラは、ギブスサンプラであり得る。例えば、ネイティブサンプラは、2つの独立したサンプルX及びXを返すことができる。次いで、デジタルプロセッサは、二値変数sを用いて、新しい変数xを定義することができる。
Figure 2023507139000040
次いで、入力問題、すなわち、空間xにおける最適化問題は、空間sにおける探索に変わり、この形式、すなわち、
minf(x)=minf((X-X)s+X) (23)
で量子プロセッサに送信することができる。
離散、非二値変数vの場合、問題は、以下の方法で、二次制約なし二値最適化(QUBO)問題に変換することができる。エネルギー関数Eは、QUBOと同等である。
Figure 2023507139000041
式中、λは、ペナルティ項の係数であり、Nは、変数の数である。
上記の方程式24は、
Figure 2023507139000042
のうちの1つのみが1の値を取ることができるような制約付きの離散、非二値問題を表す。従って、制約付き二値最適化問題は、係数λを有するペナルティ項を使用する制約なし二値最適化問題に緩和される。
上記の問題は、量子プロセッサ(例えば、量子アニーラ)を用いて又は古典的疑似アニーリングを介して、解を直接求めることができる。しかし、方程式24の解を直接求めることは、1変数当たりの量子ビット数が多いため、非効率であり得る。
方程式24の解を直接求める代わりに、量子プロセッサによって、以下の方程式25の形態の部分問題の解を求めることができる。
Figure 2023507139000043
式中、j及びlは、変数j及びlの異なる値である。
方程式25の問題は、入力問題と同様であるが、変数xのすべての可能な値のそれぞれの合計を求める代わりに、ネイティブサンプラを用いてデジタルプロセッサによって選択される2つの値のそれぞれの合計を求める。方程式25は、
Figure 2023507139000044
を設定することによって単純化することができる。
Figure 2023507139000045
図6は、クロスボルツマン更新を使用したハイブリッドコンピューティングシステムの動作の方法600の例のフロー図である。方法600は、少なくとも1つのデジタル又は古典的プロセッサと、量子プロセッサとを含む、ハイブリッドコンピューティングシステム(例えば、図1のハイブリッドコンピューティングシステム100)上で実行することができる。
方法600は、行為601~608を含む。しかし、当業者であれば、示される行為の数は例であり、いくつかの実装形態では、特定の行為を省略すること、さらなる行為を追加すること及び/又は行為の順番を変更することができることが理解されよう。
方法600は、例えば、別のルーチンからの呼び出しに応答して、601から始まる。
602では、デジタルプロセッサは、n個の任意の変数xを有する入力問題にアルゴリズムを適用する。n個の任意の変数は、連続、離散又は二値変数であり得る。入力問題は、601において入力セットの一部として受信することができる。デジタルプロセッサは、ネイティブソルバ(例えば、ギブスサンプラ)を入力問題に適用することができる。
603では、デジタルプロセッサは、602で適用したネイティブソルバを介して、入力問題の各変数に対する2つの候補値を得る。候補値は、独立サンプルであり得る。
604では、デジタルプロセッサは、二進値sを使用して問題のハミルトニアンHを構築し、古い値vt-1を有する変数vが更新値vを取り入れる場合は、sは1の値を取り、ハミルトニアンHは、二値変数sに依存する。
H=Σ+Σijij (19)
方程式19は、上記で導入しており、ここでは、明確にするために再現している。その詳細については、方程式19を参照して上記で説明している。
605では、デジタルプロセッサは、行為604のハミルトニアンHから問題の二元二次モデルを構築する。任意の変数xの性質に応じて、デジタルプロセッサは、異なる方法で二元二次モデルを縮小する。非二値変数の場合、新しい変数xは、上記の方程式22の最初の参照においてより詳細に説明されるように、sを用いて以下の通り定義される。
Figure 2023507139000046
離散、非二値変数の場合、上記の方程式26の最初の参照においてより詳細に説明されるように、部分問題E、すなわち、
Figure 2023507139000047
が構築される。
606では、デジタルプロセッサは、605の二元二次モデルを量子プロセッサに送信する。少なくとも1つの実装形態では、埋め込みアルゴリズム(例えば、マイナー埋め込み)が行為605のモデルに適用され、量子プロセッサに送信することができる埋め込み問題が生成される。埋め込み技法の例は、米国特許第7984012号、米国特許第8244662号、米国特許第9727823号、米国特許第9875215号及び米国特許第10789540号において見ることができる。
607では、デジタルプロセッサは、量子プロセッサによって生成された、605で送信したモデルからのサンプルを受信する。サンプルは、入力問題の解を表す。
方法600は、608で終了し、例えば、再び呼び出されるまで開始されない。
図7は、クロスボルツマン更新を使用したハイブリッドコンピューティングシステムの動作の反復方法700の例のフロー図である。方法700は、少なくとも1つのデジタル又は古典的プロセッサと、量子プロセッサとを含む、ハイブリッドコンピューティングシステム(例えば、図1のハイブリッドコンピューティングシステム100)上で実行することができる。
方法700は、行為701~710を含む。しかし、当業者であれば、示される行為の数は例であり、いくつかの実装形態では、特定の行為を省略すること、さらなる行為を追加すること及び/又は行為の順番を変更することができることが理解されよう。
方法700は、例えば、別のルーチンからの呼び出しに応答して、701から始まる。
702では、デジタルプロセッサは、方法600の行為602を参照して上記で説明されるように、n個の任意の変数xを有する入力問題にアルゴリズムを適用する。
703では、デジタルプロセッサは、方法600の行為603を参照して上記で説明されるように、入力問題の各変数に対する2つの候補値を得る。
704では、デジタルプロセッサは、方法600の行為604を参照して上記で説明されるように、二進値sを使用して問題のハミルトニアンHを構築する。
705では、デジタルプロセッサは、方法600の行為605を参照して上記で説明されるように、行為704のハミルトニアンHから問題の二元二次モデルを構築する。
706では、デジタルプロセッサは、方法600の行為606を参照して上記で説明されるように、二元二次モデルを量子プロセッサに送信する。
707で、デジタルプロセッサは、量子プロセッサによって生成された、706で送信したモデルからのサンプルを受信する。
708では、デジタルプロセッサは、707で受信したサンプルを入力問題に組み入れる。
709では、デジタルプロセッサは、終了条件が満たされているかどうかをチェックする。終了条件が満たされている場合は、制御は710に移る。そうでなければ、制御は702に移り、デジタルプロセッサは、サンプルが組み入れられた入力問題にアルゴリズムを再び適用する。終了条件は、変数の品質を表す尺度又はパラメータが満たされたという決定であり得る。変数の品質の尺度の例は、変数のエネルギーである。決定は、例えば、変数の評価に基づき得、その評価は、デジタルプロセッサによって実行される。
710では、方法700は終了し、例えば、再び呼び出されるまで開始されない。
また、方法600及び700は、図2の方法200及び図3の方法300を参照して上記で説明されるように、カテゴリ分布からサンプルを得ることから利益を得ることができる問題(例えば、タンパク質構造を最適化する問題)の解を求める際にも適用することができる。
図8は、カテゴリ分布の事例にわたってソフトマックス分布からサンプリングするための、クロスボルツマン更新を使用したハイブリッドコンピューティングシステムの動作の方法800の例のフロー図である。方法800は、少なくとも1つのデジタル又は古典的プロセッサと、量子プロセッサとを含む、ハイブリッドコンピューティングシステム(例えば、図1のハイブリッドコンピューティングシステム100)上で実行することができる。
方法800は、行為801~810を含む。しかし、当業者であれば、示される行為の数は例であり、いくつかの実装形態では、特定の行為を省略すること、さらなる行為を追加すること及び/又は行為の順番を変更することができることが理解されよう。
方法800は、例えば、別のルーチンからの呼び出しに応答して、801から始まる。
802では、デジタルプロセッサは、n個のカテゴリ変数を有する入力問題の有効エネルギー
Figure 2023507139000048
を演算する。エネルギー
Figure 2023507139000049
(方程式6)は、変数xと他の変数との相互作用に基づいて、カテゴリ変数x(i=1,..,n)の各状態j=1,..,Dに対して演算される。問題は、801において入力セットの一部として受信することができる。
803では、デジタルプロセッサは、変数xのすべての事例jに対する指数重みwij(方程式7)を演算する。
804では、デジタルプロセッサは、803で演算した重みwijに比例する、各変数iが状態jを取る正規化確率pij(方程式8)を演算する。
805では、デジタルプロセッサは、804で演算した確率からのサンプリングを介して、入力問題の各変数に対する2つの候補値を得る。候補値は、独立サンプルであり得る。
806では、デジタルプロセッサは、上記の方程式19の最初の参照において説明されるように、二進値sを使用して問題のハミルトニアンHを構築し、古い値vt-1を有する変数vが更新値vを取り入れる場合は、sは1の値を取り、ハミルトニアンHは、二値変数sに依存する。
Figure 2023507139000050
807では、デジタルプロセッサは、行為806のハミルトニアンHから問題の二元二次モデルを構築する。任意の変数の性質に応じて、デジタルプロセッサは、方法600の行為605を参照して上記で説明されるように、異なる方法で二元二次モデルを縮小する。
808では、デジタルプロセッサは、二元二次モデルを量子プロセッサに送信する。少なくとも1つの実装形態では、埋め込みアルゴリズム(例えば、マイナー埋め込み)が行為807のモデルに適用され、量子プロセッサに送信することができる埋め込み問題が生成される。
809では、デジタルプロセッサは、量子プロセッサによって生成された、808で送信したモデルからのサンプルを受信する。サンプルは、入力問題の解を表す。
810では、方法800は終了し、例えば、再び呼び出されるまで開始されない。
図9は、カテゴリ分布の事例にわたってソフトマックス分布からサンプリングするための、クロスボルツマン更新を使用したハイブリッドコンピューティングシステムの動作の反復方法900の例のフロー図である。方法900は、少なくとも1つのデジタル又は古典的プロセッサと、量子プロセッサとを含む、ハイブリッドコンピューティングシステム(例えば、図1のハイブリッドコンピューティングシステム100)上で実行することができる。
方法900は、行為901~912を含む。しかし、当業者であれば、示される行為の数は例であり、いくつかの実装形態では、特定の行為を省略すること、さらなる行為を追加すること及び/又は行為の順番を変更することができることが理解されよう。
方法900は、例えば、別のルーチンからの呼び出しに応答して、901から始まる。
902では、デジタルプロセッサは、方法800の行為802を参照して上記で説明されるように、n個のカテゴリ変数を有する入力問題の有効エネルギー
Figure 2023507139000051
を演算する。
903では、デジタルプロセッサは、変数xのすべての事例jに対する指数重みwij(方程式7)を演算する。
904では、デジタルプロセッサは、903で演算した重みwijに比例する、各変数iが状態jを取る正規化確率pij(方程式8)を演算する。
905では、デジタルプロセッサは、904で演算した確率からのサンプリングを介して、入力問題の各変数に対する2つの候補値を得る。候補値は、独立サンプルであり得る。
906では、デジタルプロセッサは、方法800の行為806を参照して上記で説明されるように、二進値sを使用して問題のハミルトニアンHを構築する。
907では、デジタルプロセッサは、方法800の行為807を参照して上記で説明されるように、行為906のハミルトニアンHから問題の二元二次モデルを構築する。
908では、デジタルプロセッサは、二元二次モデルを量子プロセッサに送信する。少なくとも1つの実装形態では、埋め込みアルゴリズム(例えば、マイナー埋め込み)が行為907のモデルに適用され、量子プロセッサに送信することができる埋め込み問題が生成される。
909では、デジタルプロセッサは、量子プロセッサによって生成された、908で送信したモデルからのサンプルを受信する。サンプルは、入力問題の解を表す。
910では、デジタルプロセッサは、909で受信したサンプルを902の入力問題に組み入れる。
911では、デジタルプロセッサは、終了条件が満たされているかどうかをチェックする。終了条件が満たされている場合は、制御は912に移る。そうでなければ、制御は902に移り、デジタルプロセッサは、サンプルが組み入れられた入力問題の有効エネルギー
Figure 2023507139000052
を再び演算する。終了条件は、変数の品質を表す尺度又はパラメータが満たされたという決定であり得る。変数の品質の尺度の例は、変数のエネルギーである。決定は、例えば、変数の評価に基づき得、その評価は、デジタルプロセッサによって実行される。
912では、方法900は終了し、例えば、再び呼び出されるまで開始されない。
また、方法800及び900は、図4の方法400及び図5の方法500を参照して上記で説明されるように、カテゴリ分布からサンプルを得ることから利益を得ることができる制約問題(例えば、制約付き二次整数問題)の解を求める際にも適用することができる。
図10は、制約を使用してカテゴリ分布の事例にわたってソフトマックス分布からサンプリングするための、クロスボルツマン更新を使用したハイブリッドコンピューティングシステムの動作の方法1000の例のフロー図である。方法1000は、少なくとも1つのデジタル又は古典的プロセッサと、量子プロセッサとを含む、ハイブリッドコンピューティングシステム(例えば、図1のハイブリッドコンピューティングシステム100)上で実行することができる。
方法1000は、行為1001~1012を含む。しかし、当業者であれば、示される行為の数は例であり、いくつかの実装形態では、特定の行為を省略すること、さらなる行為を追加すること及び/又は行為の順番を変更することができることが理解されよう。
方法1000は、例えば、別のルーチンからの呼び出しに応答して、1001から始まる。
1002では、デジタルプロセッサは、n個の整数変数を有する入力問題の整数変数の有効エネルギーEを演算する。整数変数xのエネルギーE(x)は、方程式9に従って、整数の大きさ及び他の変数の現在の状態の関数として演算される。入力問題は、1001において入力セットの一部として受信することができる。
1003では、デジタルプロセッサは、方程式10に従って、各変数x及びすべての事例jに対する指数重みwijを演算する。
1004では、デジタルプロセッサは、方程式13に従って、各整数変数xに対する実行可能領域
Figure 2023507139000053
を演算し、実行可能領域は、制約Cに依存する。
1005では、デジタルプロセッサは、方程式14に従って、値jを有する各変数xに対するマスクMを演算する。
1006では、デジタルプロセッサは、実行可能領域のみにおける、各変数xが状態jを取り入れる正規化確率pijを演算し、変数xが状態jを取り入れる確率は、方程式15に従って、指数重み
Figure 2023507139000054
及びマスクMに比例する。
1007では、デジタルプロセッサは、1006で演算した確率からのサンプリングを介して、入力問題の各変数に対する2つの候補値を得る。候補値は、独立サンプルであり得る。
1008では、デジタルプロセッサは、上記の方程式19の最初の参照において説明されるように、二進値sを使用して問題のハミルトニアンHを構築し、古い値vt-1を有する変数vが更新値vを取り入れる場合は、sは1の値を取り、ハミルトニアンHは、二値変数sに依存する。
Figure 2023507139000055
1009では、デジタルプロセッサは、行為1008のハミルトニアンHから問題の二元二次モデルを構築する。変数xの性質に応じて、デジタルプロセッサは、方法600の行為605を参照して上記で説明されるように、異なる方法で二元二次モデルを縮小する。
1010では、デジタルプロセッサは、二元二次モデルを量子プロセッサに送信する。少なくとも1つの実装形態では、埋め込みアルゴリズム(例えば、マイナー埋め込み)が行為1009のモデルに適用され、量子プロセッサに送信することができる埋め込み問題が生成される。
1011では、デジタルプロセッサは、量子プロセッサによって生成された、1010で送信したモデルからのサンプルを受信する。サンプルは、入力問題の解を表す。
1012では、方法1000は終了し、例えば、再び呼び出されるまで開始されない。
図11は、制約を使用してカテゴリ分布の事例にわたってソフトマックス分布からサンプリングするための、クロスボルツマン更新を使用したハイブリッドコンピューティングシステムの動作の反復方法1100の例のフロー図である。方法1100は、少なくとも1つのデジタル又は古典的プロセッサと、量子プロセッサとを含む、ハイブリッドコンピューティングシステム(例えば、図1のハイブリッドコンピューティングシステム100)上で実行することができる。
方法1100は、行為1101~1114を含む。しかし、当業者であれば、示される行為の数は例であり、いくつかの実装形態では、特定の行為を省略すること、さらなる行為を追加すること及び/又は行為の順番を変更することができることが理解されよう。
方法1100は、例えば、別のルーチンからの呼び出しに応答して、1101から始まる。
1102では、デジタルプロセッサは、方法1000の行為1002を参照して上記で説明されるように、n個の整数変数を有する入力問題の整数変数の有効エネルギーEを演算する。
1103では、デジタルプロセッサは、方程式10に従って、各変数x及びすべての事例jに対する指数重みwijを演算する。
1104では、デジタルプロセッサは、方程式13に従って、各整数変数xに対する実行可能領域
Figure 2023507139000056
を演算し、実行可能領域は、制約Cに依存する。
1105では、デジタルプロセッサは、方程式14に従って、値jを有する各変数xに対するマスクMを演算する。
1106では、デジタルプロセッサは、実行可能領域のみにおける、各変数xが状態jを取り入れる正規化確率pijを演算し、変数xが状態jを取り入れる確率は、方程式15に従って、指数重み
Figure 2023507139000057
及びマスクMに比例する。
1107では、デジタルプロセッサは、1106で演算した確率からのサンプリングを介して、入力問題の各変数に対する2つの候補値を得る。候補値は、独立サンプルであり得る。
1108では、デジタルプロセッサは、方法1000の行為1008を参照して上記で説明されるように、二進値sを使用して問題のハミルトニアンHを構築する。
1109では、デジタルプロセッサは、方法1000の行為1009を参照して上記で説明されるように、行為1108のハミルトニアンHから問題の二元二次モデルを構築する。
1110では、デジタルプロセッサは、方法1000の行為1010を参照して上記で説明されるように、行為1109の二元二次モデルを量子プロセッサに送信する。
1111では、デジタルプロセッサは、量子プロセッサによって生成された、1110で送信したモデルからのサンプルを受信する。サンプルは、入力問題の解を表す。
1112では、デジタルプロセッサは、1111で受信したサンプルを入力問題に組み入れる。
1113では、デジタルプロセッサは、終了条件が満たされているかどうかをチェックする。終了条件が満たされている場合は、制御は1114に移る。そうでなければ、制御は1102に移り、デジタルプロセッサは、サンプルが組み入れられた入力問題の有効エネルギー
Figure 2023507139000058
を再び演算する。終了条件は、変数の品質を表す尺度又はパラメータが満たされたという決定であり得る。変数の品質の尺度の例は、変数のエネルギーである。決定は、例えば、変数の評価に基づき得、その評価は、デジタルプロセッサによって実行される。
1114では、方法1100は終了し、例えば、再び呼び出されるまで開始されない。
上記で説明されるシステム及び方法は、例えば、ある場所における仕事の割り当てのための機器及び/又は人員のスケジューリングなど、資源スケジューリングを最適化するために使用することができる。資源スケジューリングは、NP困難問題であり、例えば、線形整数プログラムとして定式化することができる。線形整数プログラムは、例えば、SCIPソルバ、CPLEX(登録商標)オプティマイザ又はGurobi(登録商標)オプティマイザなど、市販のソフトウェアで解を求めることができる。しかし、整数線形プログラミングとして資源スケジューリングを定式化することにより、論理制約を実施するために二値変数が導入され、それにより、複雑性が増し、延いては、資源スケジューリング問題の解を求めるために要する演算時間が増加する。演算時間が長いと、資源管理者は、仕事、シフト又は場所への資源の配分に多大な時間を費やすことになり、事業の非効率性が高まる。
資源スケジューリングは、離散二次モデルfとして定式化することができ、離散二次モデルfは、one-hot制約を符号化し、次いで、量子プロセッサ上でその解が求められる。そのようなモデルは、方程式19を参照して上記で説明されるように、one-hot制約付きの二元二次モデルと考えることができる。
Figure 2023507139000059
式中、Σij=1(xij∈{0,1})及びhij、Qijklはそれぞれ、線形及び二次バイアスである。
変数xd,iは、各資源i及び各日にちdに対して定義することができる。資源は、様々な時刻に、様々な時間の間に並びに異なる部門及び場所で開始して利用することができる。これらの属性のすべての組合せのうち、一度に選択できるオプションは1つのみである。例えば、x(d,i),(s,u,j,l)は、資源iが、日にちdに、時刻sに、時間uの間、部門jにおいて、場所lで開始されることを示す。上記の定式化が開始時刻のみを考慮するとすれば、説明される時刻、時間、部門及び場所の利用可能な組合せのいずれかが同時に起こることは不可能である。
Figure 2023507139000060
式中、Sd,i={Ad,i,s,u,j,l=1の場合(s,u,j,l)}は、資源が使用可能な属性の集合(s,u,j,l)であり、Aは、日にちdの、開始時刻sの、時間uの間の、部門jにおける及び場所lでの資源iの利用可能性である。
集合Sd,iを事例0(事例が選択されていないことを示す)で拡大することにより、上記の不等式を等式に変換することができる。
Figure 2023507139000061
いくつかの実装形態では、特定の資源(例えば、より効率的な資源、新しい資源など)を特定の仕事、シフト又は場所にスケジュールすることが望ましく、それは、問題の複雑性が増さないようにするために、新しい変数を導入せずに行うことが望ましい。資源スケジューリング問題は、個々の資源にバイアスをかけることによって最適化することができる。
Figure 2023507139000062
式中、関数fは、日にちdに、開始sに対して、時間uの間、部門jにおいて、場所lで資源iがスケジュールされるバイアスがかかっており、αは、バイアスを表す。
資源の需要は、あらゆる日にち、時間、部門及び場所に対するスケジュールされた時間と必要な時間との間の間隔を最小化することによって最適化することができる。関数fは、スケジュールされた資源と資源の需要との間の間隔を最小化する。
Figure 2023507139000063
式中、bは、時間ビンであり、S={(s,u,):s≦b<s+u}は、ビンbにおいてオーバーラップする開始s及び時間uの集合であり、Rd,b,j,lは、日にちdの、時間ビンbに対する、部門jにおける及び場所lでの資源の需要である。
また、各資源が一定数の時間uに割り振られることを保証するために、問題に別の目的関数fを追加することが望ましい場合もある。関数fは、スケジュールされた時間と計画された時間との間の間隔を最小化し、式中、Sは、計画された時間の集合である。
Figure 2023507139000064
いくつかの実装形態では、所定の資源に非活動期間(例えば、2日間連続の非活動)がスケジュールされることを保証するために、別の目的関数fを追加することが望ましい場合があり、ここでは、0で表される(すなわち、スケジュールされていない)。ある実装形態では、例えば、定期メンテナンスのために、2日間連続休日をスケジュールすることが望ましい場合がある。
Figure 2023507139000065
以下は、資源スケジューリング問題に適用することができる制約セットの例である。しかし、当業者であれば、以下の制約セットは、単なる例示を目的とし、いくつかの制約が使用されなくとも、他の制約が追加されてもよいことが理解されよう。
各資源には、資源の利用可能性に基づいて、作業時間が割り当てられる。
シフトの長さは、例えば、割り当てのタイプ又は場所に応じて変化し得る。
2つの連続シフト間の時間は、例えば、2つの連続シフトの物理的な場所間の距離に応じて又は機器の定期メンテナンスに応じて変化し得る。例示的な一実装形態では、資源に対するシフト間の時間は、少なくとも15時間であり得る。
Figure 2023507139000066
式中、Sδt={(s,u,s’):ts’-ts,u≦tgap}である。
各資源には、計画された時間数に近い時間が割り当てられる。
各資源には、スケジュールされた非活動期間を配分することができる。例えば、機器は、毎週行われる定期メンテナンスのために、週に1日又は週に2日間連続してアイドル状態にすることができる。
各部門には、1日当たり及び1週間当たり必要な数の資源にクローズされた資源が割り当てられる。
複数の部門又は場所を一緒に最適化し、同じ資源を共有することができる。
次いで、上述の制約を用いて構築された二元二次モデルは、図6、7、8、9、10、11のそれぞれの方法600、700、800、900、1000、1100のいずれかを使用して、ハイブリッドコンピューティングシステム(例えば、図1のハイブリッドコンピューティングシステム100)を使用して、解を求めることができる。
図12は、資源スケジューリングを最適化するためのハイブリッドコンピューティングシステムの動作の方法1200の例のフロー図である。方法1200は、少なくとも1つのデジタル又は古典的プロセッサと、量子プロセッサとを含む、ハイブリッドコンピューティングシステム(例えば、図1のハイブリッドコンピューティングシステム100)上で実行することができる。
方法1200は、行為1201~1206を含む。しかし、当業者であれば、示される行為の数は例であり、いくつかの実装形態では、特定の行為を省略すること、さらなる行為を追加すること及び/又は行為の順番を変更することができることが理解されよう。
方法1200は、例えば、別のルーチンからの呼び出しに応答して、1201から始まる。方法1200は、入力セットとして、各資源についてのデータ(例えば、計画された利用可能性及び計画された非活動期間)並びに各作業部門及び場所についてのデータ(例えば、必要な資源)を取ることができる。
1202では、デジタルプロセッサは、各資源、日にち、時間、部門及び場所に対する制約セットに入力データを定式化する。少なくとも1つの実装形態では、デジタルプロセッサは、以下の制約を定式化する。各資源には、資源の利用可能性に基づいて、作業時間が割り当てられる。シフトの長さは、例えば、割り当てのタイプ又は場所に応じて変化し得る。2つの連続シフト間の時間は、例えば、2つの連続シフトの物理的な場所間の距離に応じて又は機器の定期メンテナンスに応じて変化し得る。各資源には、計画された時間数に近い時間が割り当てられる。各資源には、スケジュールされた非活動期間を配分することができる。各部門には、1日当たり及び1週間当たり必要な数の資源にクローズされた資源が割り当てられる。
1203では、デジタルプロセッサは、1202で定式化した制約セットに基づいて、二元二次モデルを構築する。デジタルプロセッサは、図6、7、8、9、10、11のそれぞれの方法600、700、800、900、1000、1100のいずれかを採用することができる。
1204では、デジタルプロセッサは、1203で構築した二元二次モデルを量子プロセッサに送信する。少なくとも1つの実装形態では、埋め込みアルゴリズム(例えば、マイナー埋め込み)が行為1203のモデルに適用され、量子プロセッサに送信することができる埋め込み問題が生成される。
1205では、デジタルプロセッサは、量子プロセッサによって生成された、1204で送信したモデルからのサンプルを受信する。サンプルは、入力問題の解を表す。
1206では、方法1200は終了し、例えば、再び呼び出されるまで開始されない。
上記で説明される方法、プロセス又は技法は、1つ又は複数の非一時的なプロセッサ可読媒体に格納された一連のプロセッサ可読命令によって実装することができる。上記で説明される方法、プロセス又は技法方法のいくつかの例は、断熱的量子コンピュータ又は量子アニーラの動作をプログラムするか又は制御するための断熱的量子コンピュータ又は量子アニーラ若しくはシステムなどの特殊なデバイス(例えば、少なくとも1つのデジタルプロセッサを含むコンピュータ)によって部分的に実行される。上記で説明される方法、プロセス又は技法は、様々な行為を含み得るが、当業者であれば、代替の例では、特定の行為を省略すること及び/又はさらなる行為を追加することができることが理解されよう。当業者であれば、示される行為の順番は、単なる例示を目的として示されており、代替の例では変更できることが理解されよう。上記で説明される方法、プロセス又は技法の行為又は動作の例のいくつかは、反復的に実行される。上記で説明される方法、プロセス又は技法のいくつかの行為は、各反復の間、多数の反復後又はすべての反復の終了時に実行することができる。
示される実装形態の上記の説明は、要約書で説明されているものを含めて、網羅的であることも、実装形態を開示される正確な形態に限定することも意図するものではない。特定の実装形態及び例は、本明細書では、例示を目的として説明されているが、当業者によって認識されるように、本開示の精神及び範囲から逸脱しない範囲で、様々な同等の変更形態を作成することができる。本明細書で提供される様々な実装形態の教示は、必ずしも上記で概して説明される量子演算の方法の例に限らず、量子演算の他の方法にも適用することができる。
上記で説明される様々な実装形態は、さらなる実装形態を提供するために組み合わせることができる。この明細書で言及される及び/又は出願データシートに列挙される同一出願人による米国特許出願公報、米国特許出願、外国特許及び外国特許出願はすべて、これらに限定されないが、米国特許第7533068号、米国特許公開第20200234172号、米国特許第7984012号、米国特許第8244662号、米国特許第9727823号、米国特許第9875215号、米国特許第10789540号及び米国仮特許出願第62/951749号を含めて、その全体が参照により本明細書に組み込まれる。
実装形態に対するこれらの及び他の変更は、上記の詳細な説明を踏まえて行うことができる。一般に、以下の特許請求の範囲では、使用される用語は、特許請求の範囲を本明細書及び特許請求の範囲において開示される特定の実装形態に限定するものと解釈すべきではなく、そのような特許請求の範囲が権利を有する均等物の全範囲と共に、すべての可能な実装形態を含むものと解釈すべきである。それに従って、特許請求の範囲は本開示によって限定されない。

Claims (27)

  1. プロセッサベースのシステムにおける演算方法であって、
    n個の任意の変数vを有する問題にアルゴリズムを適用することと、
    前記アルゴリズムから任意の変数vの各々に対する2つの候補値を得ることと、
    任意の変数vの各々が前記2つの候補値のうちのどちらを取るべきかを決定するために二進値sを使用するハミルトニアンを構築することと、
    前記ハミルトニアンに基づいて二元二次モデルを構築することと、
    前記問題の解として、前記二元二次モデルからのサンプルを量子プロセッサから得ることと
    を含む、方法。
  2. n個の任意の変数vを有する問題にアルゴリズムを適用することが、n個の任意の変数vを有する問題にギブスサンプラを適用することを含み、前記アルゴリズムから任意の変数vの各々に対する2つの候補値を得ることが、前記ギブスサンプラから任意の変数vの各々に対する2つの候補値を得ることを含む、請求項1に記載の方法。
  3. n個の任意の変数vを有する問題にアルゴリズムを適用することが、
    前記任意の変数の各々に対して、前記任意の変数と前記任意の変数の他の変数との相互作用に基づいて、前記任意の変数の各状態のエネルギーを演算することと、
    前記任意の変数の各々に対して、前記任意の変数の全く異なる値の数Dの各々に対する前記任意の変数のそれぞれの指数重みを演算することと、
    前記指数重みに比例する、任意の変数の各々が前記値Dのうちの1つを取る正規化確率を演算することと
    を含む、請求項1に記載の方法。
  4. n個の任意の変数vを有する問題にアルゴリズムを適用することが、
    前記任意の変数の各々に対して、前記任意の変数の大きさ及び前記任意の変数の他のすべての変数の現在の状態の関数として、前記任意の変数のエネルギーを演算することと、
    前記任意の変数の各々に対して、前記任意の変数の全く異なる値のそれぞれの数Dの各々に対する前記任意の変数のそれぞれの指数重みを演算することと、
    前記任意の変数の各々に対して、前記任意の変数に対する実行可能領域を演算することであって、前記実行可能領域が、制約セットを尊重する値の集合を含む、演算することと、
    前記任意の変数の各々に対して、全く異なる値のそれぞれの数Dの各々における前記任意の変数に対するマスクを演算することと、
    前記任意の変数の各々に対して、前記指数重み及び前記マスクに比例する、前記任意の変数が前記任意の変数の全く異なる値の前記それぞれの数Dのうちの1つを取る確率を集合的に表す正規化確率を演算することと
    を含む、請求項1に記載の方法。
  5. 二元二次モデルを構築することが、s及び2つの候補値を用いて新しい変数xを定義し、前記問題をsの空間における最適化問題に変換することを含む、請求項1~4のいずれか一項に記載の方法。
  6. 二元二次モデルを構築することが、ペナルティ項を使用して、制約付き二値最適化問題を制約なし二値最適化問題に緩和することと、前記2つの候補値のそれぞれの合計を求めることとを含む、請求項1~4のいずれか一項に記載の方法。
  7. 前記二元二次モデルからのサンプルを前記量子プロセッサから得る前に、前記量子プロセッサにおける埋め込みを定義するために、前記二元二次モデルに埋め込みアルゴリズムを適用することをさらに含む、請求項1~4のいずれか一項に記載の方法。
  8. 終了条件が満たされるまで、
    n個の任意の変数vを有する問題にアルゴリズムを適用することと、
    前記アルゴリズムから任意の変数vの各々に対する2つの候補値を得ることと、
    任意の変数vの各々が前記2つの候補値のうちのどちらを取るべきかを決定するために二進値sを使用するハミルトニアンを構築することと、
    前記ハミルトニアンに基づいて二元二次モデルを構築することと、
    前記二元二次モデルからのサンプルを前記量子プロセッサから得ることと、
    前記サンプルを前記問題に組み入れることと
    を反復的に繰り返すこと
    をさらに含む、請求項1に記載の方法。
  9. 終了条件が満たされているかどうかを判断することをさらに含む、請求項8に記載の方法。
  10. 終了条件が満たされているかどうかを判断することが、前記任意の変数の品質評価を表す尺度が満たされているかどうかを判断することを含む、請求項9に記載の方法。
  11. 前記問題が、資源スケジューリング問題である、請求項1~4のいずれか一項に記載の方法。
  12. 少なくとも1つの古典的プロセッサを含むプロセッサベースのシステムであって、請求項1~11の方法のいずれかを実行するように動作可能であるシステム。
  13. 前記少なくとも1つの古典的プロセッサに通信可能に結合された量子プロセッサをさらに含む、請求項12に記載のプロセッサベースのシステム。
  14. プロセッサベースのシステムにおける、n個の変数を有する入力問題のソフトマックス分布を演算するための動作の方法であって、各変数が、全く異なる値のそれぞれの数Dを取る、方法であり、
    前記入力問題の各変数に対して、前記それぞれの変数と他の前記変数との相互作用に基づいて、前記入力問題の前記変数の各状態のエネルギーを演算することと、
    前記入力問題の各変数に対して、前記変数の全く異なる値の前記それぞれの数Dの各々における前記変数のそれぞれの指数重みを演算することと、
    前記入力問題の各変数に対して、前記指数重みに比例する、前記変数が前記変数の全く異なる値の前記それぞれの数Dのうちの1つを取る確率を集合的に表す正規化確率を演算することと、
    前記正規化確率の数値から多数のサンプルを得ることと
    を含む、方法。
  15. 前記正規化確率から多数のサンプルを得ることが、逆変換サンプリングを介して前記正規化確率から多数のサンプルを得ることを含む、請求項14に記載の方法。
  16. 前記入力問題の各変数に対して、前記変数の各状態のエネルギーを演算することが、タンパク質側鎖最適化問題の各変数の各状態のエネルギーを演算することを含む、請求項14に記載の方法。
  17. 終了条件が満たされるまで、
    前記入力問題の各変数に対して、前記それぞれの変数と前記他の変数との相互作用に基づいて、前記変数の各状態のエネルギーを演算することと、
    前記入力問題の各変数に対して、前記変数の全く異なる値の前記それぞれの数Dの各々における前記変数のそれぞれの指数重みの数値を演算することと、
    前記入力問題の各変数に対して、前記指数重みに比例する、前記変数が前記変数の全く異なる値の前記それぞれの数Dのうちの1つを取る確率を集合的に表す正規化確率を演算することと、
    前記正規化確率から多数のサンプルを得ることと、
    前記多数のサンプルを前記入力問題に組み入れることと
    を反復的に繰り返すこと
    をさらに含む、請求項14に記載の方法。
  18. 終了条件が満たされているかどうかを判断することをさらに含む、請求項17に記載の方法。
  19. 終了条件が満たされているかどうかを判断することが、前記変数の品質評価を表す尺度が満たされているかどうかを判断することを含む、請求項18に記載の方法。
  20. 少なくとも1つの古典的プロセッサを含むプロセッサベースのシステムであって、請求項14~19の方法のいずれかを実行するように動作可能であるプロセッサベースのシステム。
  21. プロセッサベースのシステムにおける、n個の変数を有する入力問題のソフトマックス分布を演算するための動作の方法であって、各変数が、全く異なる値のそれぞれの数Dを取る、方法であり、
    前記入力問題の各変数に対して、前記変数の大きさ及び他のすべての前記変数の現在の状態の関数として、前記入力問題の前記変数のエネルギーを演算することと、
    前記入力問題の各変数に対して、前記変数の全く異なる値の前記それぞれの数Dの各々における前記変数の指数重みの数値を演算することと、
    前記入力問題の各変数に対して、前記変数に対する実行可能領域を演算することであって、前記実行可能領域が、制約セットを尊重する値の集合を含む、演算することと、
    前記入力問題の各変数に対して、前記変数の全く異なる値の前記それぞれの数Dの各々における前記変数に対するマスクを演算することと、
    前記入力問題の各変数に対して、前記指数重み及び前記マスクに比例する、前記変数が前記変数の全く異なる値の前記それぞれの数Dのうちの1つを取る確率を表す正規化確率の数値を演算することと、
    前記正規化確率の数値から多数のサンプルを得ることと
    を含む、方法。
  22. 前記入力問題の各変数に対して、前記変数のエネルギーを演算することが、制約付き二次整数問題の各変数のエネルギーを演算することを含む、請求項21に記載の方法。
  23. 前記正規化確率の数値から多数のサンプルを得ることが、逆変換サンプリングを介して前記正規化確率の数値から多数のサンプルを得ることを含む、請求項21に記載の方法。
  24. 終了条件が満たされるまで、
    前記入力問題の各変数に対して、前記変数の大きさ及び他のすべての前記変数の現在の状態の関数として、前記入力問題の前記変数のエネルギーを演算することと、
    前記入力問題の各変数に対して、前記変数の全く異なる値の前記それぞれの数Dの各々における前記変数のそれぞれの指数重みの数値を演算することと、
    前記入力問題の各変数に対して、前記変数に対する実行可能領域を演算することであって、前記実行可能領域が、制約セットを尊重する値の集合を含む、演算することと、
    前記入力問題の各変数に対して、前記変数の全く異なる値の前記それぞれの数Dの各々における前記変数に対するマスクを演算することと、
    前記入力問題の各変数に対して、前記指数重み及び前記マスクに比例する、前記変数が前記変数の全く異なる値の前記それぞれの数Dのうちの1つを取る正規化確率の数値を演算することと、
    前記正規化確率から多数のサンプルを得ることと、
    前記多数のサンプルを前記入力問題に組み入れることと
    を反復的に繰り返すこと
    をさらに含む、請求項21に記載の方法。
  25. 終了条件が満たされているかどうかを判断することをさらに含む、請求項24に記載の方法。
  26. 終了条件が満たされているかどうかを判断することが、前記変数の品質評価を表す尺度が満たされているかどうかを判断することを含む、請求項25に記載の方法。
  27. 少なくとも1つの古典的プロセッサを含むプロセッサベースのシステムであって、請求項21~26の方法のいずれかを実行するように動作可能であるプロセッサベースのシステム。
JP2022537040A 2019-12-20 2020-12-14 離散二次モデルの解を求めるためのハイブリッドアルゴリズムのシステム及び方法 Pending JP2023507139A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962951749P 2019-12-20 2019-12-20
US62/951,749 2019-12-20
PCT/US2020/064875 WO2021126773A1 (en) 2019-12-20 2020-12-14 Systems and methods of hybrid algorithms for solving discrete quadratic models

Publications (2)

Publication Number Publication Date
JP2023507139A true JP2023507139A (ja) 2023-02-21
JPWO2021126773A5 JPWO2021126773A5 (ja) 2023-12-19

Family

ID=76476653

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022537040A Pending JP2023507139A (ja) 2019-12-20 2020-12-14 離散二次モデルの解を求めるためのハイブリッドアルゴリズムのシステム及び方法

Country Status (4)

Country Link
US (1) US20230042979A1 (ja)
JP (1) JP2023507139A (ja)
CN (1) CN115136158A (ja)
WO (1) WO2021126773A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10599988B2 (en) 2016-03-02 2020-03-24 D-Wave Systems Inc. Systems and methods for analog processing of problem graphs having arbitrary size and/or connectivity
CN113544711A (zh) 2019-01-17 2021-10-22 D-波系统公司 用于使用聚类收缩的混合算法系统和方法
GB2614063A (en) * 2021-12-20 2023-06-28 Mastercard International Inc Hidden flow discovery

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7398162B2 (en) * 2003-02-21 2008-07-08 Microsoft Corporation Quantum mechanical model-based system and method for global optimization
US8229863B2 (en) * 2008-05-28 2012-07-24 D-Wave Systems Inc. Method and apparatus for evolving a quantum system using a mixed initial hamiltonian comprising both diagonal and off-diagonal terms
JP2017515195A (ja) * 2014-03-12 2017-06-08 テンポラル ディフェンス システムズ, エルエルシー 断熱量子計算を介してデジタル論理制約問題を解く
ES2850151T3 (es) * 2015-06-29 2021-08-25 Parity Quantum Computing GmbH Dispositivo y procedimiento de procesamiento cuántico
US10599988B2 (en) * 2016-03-02 2020-03-24 D-Wave Systems Inc. Systems and methods for analog processing of problem graphs having arbitrary size and/or connectivity

Also Published As

Publication number Publication date
WO2021126773A1 (en) 2021-06-24
CN115136158A (zh) 2022-09-30
US20230042979A1 (en) 2023-02-09

Similar Documents

Publication Publication Date Title
US11900216B2 (en) Systems and methods for hybrid algorithms using cluster contraction
JP2023507139A (ja) 離散二次モデルの解を求めるためのハイブリッドアルゴリズムのシステム及び方法
US10846366B1 (en) Selecting parameters for a quantum approximate optimization algorithm (QAOA)
CN108369668B (zh) 用于创建和使用量子玻尔兹曼机的系统和方法
Ohzeki Breaking limitation of quantum annealer in solving optimization problems under constraints
Helbig et al. Population-based metaheuristics for continuous boundary-constrained dynamic multi-objective optimisation problems
Liu et al. Adiabatic quantum computation applied to deep learning networks
Hickish et al. Investigating Bayesian Optimization for rail network optimization
JP6853955B2 (ja) 人流パターン推定システム、人流パターン推定方法および人流パターン推定プログラム
Clay et al. Towards real-time crowd simulation under uncertainty using an agent-based model and an unscented Kalman filter
JP6853968B2 (ja) パラメータ推定システム、パラメータ推定方法およびパラメータ推定プログラム
Albareti et al. A structured survey of quantum computing for the financial industry
Dash et al. QORA-ANN: quasi opposition based Rao algorithm and artificial neural network for cryptocurrency prediction
Yang et al. Learning dynamical systems from data: A simple cross-validation perspective, part v: Sparse kernel flows for 132 chaotic dynamical systems
Bdeir et al. Attention, filling in the gaps for generalization in routing problems
Durumeric et al. Explaining classifiers to understand coarse-grained models
Gupta et al. Sequential knowledge transfer across problems
JP2021184148A (ja) 最適化装置、最適化方法、および最適化プログラム
Herdiana et al. Optimization of Adaptive Genetic Algorithm Parameters in Traveling Salesman Problem
Leung et al. A collaborative neurodynamic optimization approach to bicriteria portfolio selection
Olteanu et al. Sparse online self-organizing maps for large relational data
US20230051447A1 (en) Quantum Rating System
Şahinarslan et al. Machine learning algorithms to forecast population: Turkey example
Kong et al. DF2: Distribution-Free Decision-Focused Learning
Gen et al. Advances in hybrid EDA for manufacturing scheduling with uncertainty: part I

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231211

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231211