JP2022517100A - クラスタ収縮を使用するハイブリッドアルゴリズムのためのシステム及び方法 - Google Patents

クラスタ収縮を使用するハイブリッドアルゴリズムのためのシステム及び方法 Download PDF

Info

Publication number
JP2022517100A
JP2022517100A JP2021540401A JP2021540401A JP2022517100A JP 2022517100 A JP2022517100 A JP 2022517100A JP 2021540401 A JP2021540401 A JP 2021540401A JP 2021540401 A JP2021540401 A JP 2021540401A JP 2022517100 A JP2022517100 A JP 2022517100A
Authority
JP
Japan
Prior art keywords
processor
state
classical
variables
clusters
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.)
Granted
Application number
JP2021540401A
Other languages
English (en)
Other versions
JPWO2020150156A5 (ja
JP7535049B2 (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 JP2022517100A publication Critical patent/JP2022517100A/ja
Publication of JPWO2020150156A5 publication Critical patent/JPWO2020150156A5/ja
Application granted granted Critical
Publication of JP7535049B2 publication Critical patent/JP7535049B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Software Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Operations Research (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Computational Linguistics (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

大きく密な入力を、量子プロセッサに容易にマッピングされ得る縮小入力に変換するためにクラスタ収縮を使用するハイブリッド計算システムを動作させるシステム及び方法が記載される。縮小入力は、問題のグローバル構造を表す。技法は、入力変数をクラスタに区分けし、且つ各クラスタを収縮させることを伴う。入力変数は、算術平均アルゴリズムを用いる非加重対グループ方法を使用して区分けされ得る。量子プロセッサは、縮小入力に基づいてサンプルを返し、及びサンプルは、元の入力に対応するように拡張される。

Description

分野
本開示は、概して、量子プロセッサ及び古典プロセッサを利用するハイブリッド計算システムにおいて計算問題を解くためのシステム及び方法に関する。
背景
量子アニーリング
量子アニーリングとは、系の低エネルギー状態、典型的には好ましくは系の基底状態を見つけるために使用され得る計算方法である。方法は、エネルギー状態が低いほど安定するため、自然系が低エネルギー状態に向かう傾向がある基本原理に依拠する。古典アニーリングは、系を低エネルギー状態にガイドするために従来の熱揺らぎを使用するが、量子アニーリングは、古典アニーリングよりもエネルギー最小に正確及び/又は高速に達するための非局在化のソースとして、量子トンネリング等の量子効果を使用し得る。
量子プロセッサは、量子アニーリング及び/又は断熱量子計算を実行するように設計され得る。以下:
∝A(t)H+B(t)H
のように、問題ハミルトニアンに比例する第1の項と、非局在化ハミルトニアンに比例する第2の項との和に比例する進化ハミルトニアンを構築することができ、式中、Hは、進化ハミルトニアンであり、Hは、問題ハミルトニアンであり、Hは、非局在化ハミルトニアンであり、A(t)、B(t)は、進化速度を制御することができる係数であり、典型的には範囲[0,1]内にある。
特定の例は、超伝導量子ビットの実施により実現される。
マルコフ連鎖モンテカルロ
マルコフ連鎖モンテカルロ(MCMC)とは、例えば、模擬アニーリング、パラレルテンパリング、ポピュレーションアニーリング及び他の技法を含む計算技法のクラスである。マルコフ連鎖は、例えば、確率分布を使用することができない場合に使用され得る。マルコフ連鎖は、一連の離散ランダム変数及び/又は各時間ステップにおいて、状態が前の状態のみに依存するランダムプロセスとして記述され得る。連鎖が十分に長い場合、平均等の連鎖の集約特性は、標的分布の集約特性に一致することができる。
マルコフ連鎖は、マルコフ提案プロセス(一般に「更新演算」と呼ばれる)に従った新しい点を提案することにより取得することができる。新しい点は、許容又は拒絶される。新しい点が拒絶される場合、新しい提案がなされる等である。許容される新しい点は、標的分布に確率収束するものである。提案及び許容基準が詳細釣合いを満たし、且つ提案がエルゴード性要件を満たす場合、収束が保証される。更に、提案の許容は、マルコフ連鎖が可逆的である、すなわち連鎖中の状態の閉ループにわたる遷移率の積が何れの方向でも同じであるように行うことができる。可逆的マルコフ連鎖は、詳細釣合いを有するとも言える。典型的には、多くの場合、新しい点は、前の点にとってローカルである。
二次非拘束二元最適化問題
二次非拘束二元最適化(QUBO)問題は、従来、コンピュータ科学で使用されている。変数は、1値及び0値に対応する真状態及び偽状態である。
QUBO問題は、上対角行列Qを使用して定義され、この行列は、実際の重みのN×N上三角行列であり、xは、関数
Figure 2022517100000002
を最小化する二値変数のベクトルであり、式中、対角項Qi,iは、線形係数であり、非ゼロ非対角項は、二次係数Qi,jである。
これは、
Figure 2022517100000003
としてより簡潔に表現することができる。
スカラー表記では、QUBOとして表現される目的関数は、以下の通りである。
Figure 2022517100000004
二次非拘束二元最適化問題は、Qで表現されるもの以外の変数に制約がない点で非拘束である。
関連する技術分野の上記の例及びそれに関連する制限は、例示的であることが意図され、網羅的であることを意図されない。関連する技術分野の他の制限は、本明細書を読み、図面を研究した上で当業者に明らかになるであろう。
概要
ハイブリッド計算システムの動作の方法が記載される。ハイブリッド計算システムは、量子プロセッサ及び古典プロセッサを有する。本方法は、古典プロセッサを介して、n個の集団変数を有する入力を有する問題にアルゴリズムを適用することと、古典プロセッサを介して、n個の集団変数を有する入力を、k個の集団変数を有する縮小入力に変換することであって、k≦nである、変換することと、量子プロセッサを介して、縮小入力からのサンプルSを取得することと、古典プロセッサを介して、サンプルSを拡張して、問題への変更状態の組を取得することとを含む。古典プロセッサを介して、n個の変数を有する入力を有する問題に適用されるアルゴリズムは、パラレルテンパリングアルゴリズムであり得る。n個の集団変数は、k個のクラスタに区分けされ得、及びk個のクラスタのそれぞれは、収縮されて、k個の集団変数を有する縮小入力を生成し得る。クラスタは、低エネルギー状態sに関して又は可能な場合には低エネルギー状態Sの組に基づいて非決定的に収縮され、且つ拡張されて収縮をアンドゥし得るか、又は可能な場合、行われた収縮、Sで観測される相関又は相互エネルギー及びエネルギー関数f又は各クラスタ内の変数へのfの制約に従って非決定的プロセスで拡張され得る。状態sのクラスタ内の全ての集団変数の値は、互いに関してクランプされて、クラスタを収縮させ得る。n個の集団変数は、状態の低エネルギーサブセットを使用して区分けされ得る。集団変数の値は、各クラスタ内の状態の低エネルギーサブセットに関して平均化されて、k個のクラスタのそれぞれを収縮させ得る。n個の集団変数は、算術平均アルゴリズムを用いる非加重対グループ方法を使用して区分けされ得る。対エントロピーは、算術平均アルゴリズムを用いる非加重対グループ方法における距離尺度として使用され得る。新しい状態sがクラスタリングに基づいて作成されて、k個のクラスタのそれぞれを収縮させ得る。ヒューリスティックソルバは、新しい状態sを作成するために使用され得る。埋め込みアルゴリズムは、量子プロセッサからサンプルを得る前に、縮小入力を有する問題に適用され得る。方法は、終了条件が満たされるまで反復的に繰り返され得る。終了条件は、集団変数の品質の尺度を満たすことであり得る。
ハイブリッド計算システムが記載される。ハイブリッド計算システムは、量子プロセッサ及び古典プロセッサを含む。n個の集団変数を有する入力を有する問題にアルゴリズムを適用することと、n個の集団変数を有する入力を、k個の集団変数を有する縮小入力に変換することであって、k≦nである、変換することと、量子プロセッサから、縮小入力からのサンプルSを得ることと、サンプルSを拡張して、問題への変更状態の組を得ることとを行うように動作可能である古典プロセッサである。アルゴリズムは、パラレルテンパリングアルゴリズムであり得る。古典プロセッサは、n個の集団変数をk個のクラスタに区分けし、且つk個のクラスタのそれぞれを収縮さて、k個の変数を有する縮小入力を生成し得る。k個のクラスタのそれぞれは、低エネルギー状態sに関して又は可能な場合には低エネルギー状態Sの組に基づいて非決定的に収縮し得る。サンプルSは、拡張されて収縮をアンドゥし得るか、又は可能な場合、行われた収縮、Sで観測される相関又は相互エネルギー及びエネルギー関数f又は各クラスタ内の変数へのfの制約に従って非決定的プロセスで拡張し得る。クラスタ内の全ての集団変数の値は、状態sにおけるその値に基づいて互いに関してクランプされて、クラスタを収縮させ得る。n個の集団変数は、状態の低エネルギーサブセットを使用して区分けし得る。全ての集団変数の値は、各クラスタ内の状態の低エネルギーサブセットに関して平均化し得る。n個の集団変数は、算術平均アルゴリズムを用いる非加重対グループ方法を介してk個のクラスタに区分けし得る。対エントロピーが、算術平均アルゴリズムを用いる非加重対グループ方法における距離尺度として使用され得る。古典プロセッサは、量子プロセッサから、縮小入力からのサンプルSを得る前に、埋め込みアルゴリズムを介して、縮小入力を有する問題を埋め込むように動作可能であり得る。
ハイブリッド計算システムの動作の方法が記載される。ハイブリッド計算システムは、量子プロセッサ及び古典プロセッサを含む。方法は、古典プロセッサを介して、問題の状態sに関して複数の変数変更提案を生成することと、古典プロセッサを介して、複数の変数変更提案のサブセットを許容するエネルギー変化に対応する二次非拘束二元最適化問題を定式化することと、量子プロセッサを介して、二次非拘束二元最適化問題を解くこととを含む。問題は、二次拘束二元最適化問題又は整数二次プログラミング問題であり得る。方法は、ランダム状態sに関して問題についての複数の変数変更提案を生成し得る。複数の変数変更問題は、2つの提案が同じ変数を変更せず、及び3つ以上の提案が二次非拘束二元最適化問題の費用関数の項に影響しないようなものであり得る。方法は、二次非拘束二元最適化問題を解くことにより、指定された複数の変数変更提案のサブセットを許容することによって状態sを変更し、且つ終了条件が満たされるまで、古典プロセッサを介して、状態sn-1に関して複数の変数変更提案を生成することと、古典プロセッサを介して、複数の変数変更提案のサブセットを許容するエネルギー変化に対応する二次非拘束二元最適化問題を定式化することと、量子プロセッサを介して、二次非拘束二元最適化問題を解くことと、二次非拘束二元最適化問題を解くことにより、指定された提案のサブセットを許容することによって状態sn-1を状態sに変更することとを反復的に繰り返すことを更に含み得る。方法は、終了条件が満たされたか否かを判断することを更に含み得る。終了条件は、反復数及び状態sが品質の尺度を満たすことの一方であり得る。
ハイブリッド計算システムが記載される。ハイブリッド計算システムは、古典プロセッサ及び量子プロセッサを含む。問題の状態sに関して複数の変数変更提案を生成することと、複数の変数変更提案のサブセットを許容するエネルギー変化に対応する二次非拘束二元最適化問題を定式化することと、量子プロセッサに二次非拘束二元最適化問題を解かせることとを行うように動作可能である古典プロセッサである。問題は、二次拘束二元最適化問題及び整数二次プログラミング問題の一方であり得る。状態sは、ランダム状態sであり得る。古典プロセッサは、2つの提案が同じ変数を変更せず、及び3つ以上の提案が二次非拘束二元最適化問題の費用関数の項に影響しないように複数の変数変更提案を生成するように動作可能であり得る。古典プロセッサは、二次非拘束二元最適化問題を解くことにより、指定された複数の変数変更提案のサブセットを許容することによって状態sを変更し、且つ終了条件が満たされるまで、状態sn-1に関して複数の変数変更提案を生成することと、複数の変数変更提案のサブセットを許容するエネルギー変化に対応する二次非拘束二元最適化問題を定式化することと、量子プロセッサに二次非拘束二元最適化問題を解かせることと、二次非拘束二元最適化問題を解くことにより、指定された提案のサブセットを許容することによって状態sn-1を状態sに変更することとを反復的に繰り返すように更に動作可能である。古典プロセッサは、終了条件が満たされたか否かを判断するように更に動作可能であり得る。古典プロセッサは、経過した反復数及び状態sが品質の尺度を満たすことを含む終了条件の群の1つが満たされたか否かを判断するように動作可能であり得る。
図面の幾つかの図の簡単な説明
図面中、同一の参照番号は、同様の要素又は動作を識別する。図面中の要素のサイズ及び相対位置は、必ずしも一定の縮尺で描かれているわけではない。例えば、種々の要素の形状及び角度は、必ずしも一定の縮尺で描かれているわけではなく、これらの要素によっては、図面の見やすさを改善するように任意に拡大され、位置決めされていることがある。更に、描かれた要素の特定の形状は、必ずしも、その特定の要素の実際の形状に関する任意の情報を伝達することが意図されるわけではなく、単に図面において認識しやすくするために選択されていることがある。
量子プロセッサ及び古典プロセッサを有する一例のハイブリッド計算システムの概略図である。 クラスタ収縮を使用するハイブリッド計算システムにおける一例の動作方法の流れ図である。 クラスタ収縮を使用するハイブリッド計算システムにおける動作の一例の反復方法の流れ図である。 クラスタ収縮を使用する古典コンピュータにおける一例の動作方法の流れ図である。 クラスタ収縮を使用する古典コンピュータにおける動作の一例の反復方法の流れ図である。 古典ソルバ及びクラスタ収縮のポートフォリオを使用するハイブリッド計算システムにおける一例の動作方法の流れ図である。 古典ソルバ及びクラスタ収縮のポートフォリオを使用するハイブリッド計算システムにおける動作の一例の反復方法の流れ図である。 古典ソルバ及びクラスタ収縮のポートフォリオを使用する古典コンピュータにおける一例の動作方法の流れ図である。 古典ソルバ及びクラスタ収縮のポートフォリオを使用する古典コンピュータにおける動作の一例の反復方法の流れ図である。 複数の制約ベースの更新を用いるハイブリッド計算システムにおける一例の動作方法の流れ図である。 複数の制約ベースの更新を用いるハイブリッド計算システムにおける動作の一例の反復方法の流れ図である。 縮約及びそれらの埋め込みを計算するハイブリッド計算システムにおける一例の動作方法の流れ図である。
詳細な説明
以下の説明では、種々の開示される実装形態の詳細な理解を提供するために、特定の具体的な詳細が記載される。しかしながら、実装形態が、これらの具体的な詳細の1つ若しくは複数なしで又は他の方法、構成要素、材料等を用いて実施され得ることを当業者は認識するであろう。他の場合、コンピュータシステム、サーバコンピュータ及び/又は通信ネットワークに関連する周知の構造は、実装形態の説明を不必要に曖昧しないように詳細に図示又は記載されない。
文脈により別段のことが求められる場合を除き、本明細書及び続く特許請求の範囲全体を通して、用語「含む」は、「包含する」と同義であり、包括的、すなわちオープンエンドである(すなわち追加の記載されていない要素又は方法動作を除外しない)。
本明細書全体を通した「一実装形態」又は「実装形態」への言及は、その実装形態と併せて説明された特定の特徴、構造又は特性が少なくとも1つの実装形態に含まれることを意味する。したがって、本明細書全体を通した種々の箇所での句「一実装形態では」又は「実装形態では」の出現は、必ずしも全て同じ実装形態を指すわけではない。更に、1つ又は複数の実装形態では、特定の特徴、構造又は特性は、任意の適した様式で組み合わされ得る。
本明細書及び添付の特許請求の範囲全体を通して、用語「サンプル」、「サンプリング」、「サンプル生成器」は、統計及び電気工学の分野での対応する意味を有することが意図される。統計では、サンプルは、集団のサブセットであり、例えば個々のデータ、データ点、オブジェクト又はデータ、データ点若しくはオブジェクトのサブセットである。電気工学では、サンプリングは、物理系、例えばアナログ信号の複数の測定の収集を指す。本明細書及び添付の特許請求の範囲全体を通して、用語「平均」、「平均化」、「平均された」は、統計及び算術の分野における対応する意味を有することが意図されるが、これに限定されない。統計の分野では、平均値は、例えば、平均、メジアン及びモードを指し得る一方、算術の分野では、平均値は、算術平均を指し得る。
ハイブリッド計算システムは、アナログプロセッサからサンプルを引き出すことができる。アナログプロセッサは、統計分布からサンプルを提供するように構成することができ、したがってサンプル生成器になることができる。サンプル生成器として動作ことができるプロセッサの一例は、量子アニーリングを実行するように設計された量子プロセッサであり、各サンプルは、プロセッサの状態に対応し、集団は、プロセッサから引き出された状態の組に対応する。
本明細書及び添付の特許請求の範囲で使用されるとき、単数形「1つの(a)」、「1つの(an)」及び「その」は、文脈が明らかに別段のことを示す場合を除き、複数形を含む。用語「又は」は、一般に、文脈が明らかに別段のことを示す場合を除き、「及び/又は」を含む意味で利用されることにも留意されたい。
本明細書に提供される本開示の見出し及び要約書は、単に便宜を目的とし、実装形態の範囲又は意味を解釈しない。
図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)、300(図3)、400(図4)、500(図5)、600(図6)、700(図7)、800(図8)、900(図9)、1000(図10)、1100(図11)及び図1200(図12)の動作の1つ、複数又は全てを実行させる他のデータを記憶し得る。
幾つかの実装形態では、システムメモリ108は、量子コンピュータ104への事前処理、共同処理及び事後処理を実行するプロセッサ又はコンピュータ可読計算命令を記憶し得る。システムメモリ108は、量子コンピュータ104と対話する組における量子コンピュータインターフェース命令を記憶し得る。
量子コンピュータ104は、量子プロセッサ124等の1つ又は複数の量子プロセッサを含み得る。量子コンピュータ104は、分離された環境、例えば量子コンピュータの内部要素を熱、地場及び他の外部ノイズ(図示せず)からシールドする分離された環境に提供することができる。量子プロセッサ124は、量子ビット、カプラ及び他のデバイス等のプログラマブル要素を含む。本開示によれば、量子プロセッサ124等の量子プロセッサは、量子アニーリング及び/又は断熱量子計算を実行するように設計される。量子プロセッサの例は、米国特許第7,533,068号に記載されている。
ハイブリッド計算システム、例えばハイブリッド計算システム100は、量子プロセッサのトポロジへのマッピングが難しいか又は適合できない問題に使用され得る。例えば、量子プロセッサの不十分な接続に起因して量子プロセッサに容易にマッピングされない問題の例は、大きく密な入力を有する問題がある。そのような問題は、パラレルテンパリング又は集団ベースの方法(例えば、遺伝アルゴリズム)等のアルゴリズムを使用して古典プロセッサを用いて解くことができる。しかしながら、Houdayer等エネルギークラスタ移動を用いるパラレルテンパリング等の幾つかのアルゴリズムは、疎な入力に適用される場合には強力であるが、密な入力には効率的ではない。現行技法は、クラスタ更新を実行しないか、又は一度に1つのフリップを実行し、したがってクラスタが例えばハード入力の場合に互いに非自明関係を有する場合、非効率的である。
したがって、量子プロセッサに適合する入力への量子プロセッサのトポロジよりも大きく及び/又は密な入力を縮小し、ハードでグローバルな構造の問題を提示する技法が必要とされる。本開示に記載のハイブリッドアルゴリズムは、古典リソース(例えば、GPU)を利用して、問題のローカル構造を解き、量子プロセッサを利用して、問題のグローバルでよりハードな構造を解く。
問題サイズを低減する手法は、入力変数を、収縮することができるクラスタに区分けし、量子プロセッサで解くことができる縮小入力問題にすることである。変数は、各変数が厳密に1つのクラスタであるように区分けされる。次に、各クラスタは、n個の変数の元の入力をk個の変数の入力に縮小するように収縮し、ここで、nは、非常に大きい数であり得、kは、区画内のクラスタ数である。kの値は、量子プロセッサのトポロジに基づいて選択することができ、例えば、kは、量子プロセッサのトポロジに適合する変数の最大数であり得る。少なくとも1つの実装形態では、kの値は、nに等しい値であり得る。
所与の状態s及び変数のk個のクラスタへの区分けの場合、sに対してk個のクラスタをフリップする又はフリップしない2個の方法がある。フリップするサブセットを見つけることは、k個の変数の縮小入力へのイジング最小化問題に等しく、量子プロセッサで解くことができる。量子プロセッサは、次に、縮小入力に基づいてサンプルの組を生成し、サンプルの組は、sに基づいて又は本明細書に記載の手段を含むが、これに限定されない他の手段に従って拡張することができる。この手法は、純粋に古典的な方法を用いて解くことが難しいことがある問題のグローバル構造を解く強力なマルチクラスタ移動を可能にする。例えば、変数をクラスタに区分けする古典アルゴリズム、例えばリンケージツリー遺伝アルゴリズムは、クラスタに基づく基本更新のみを考慮し、例えばk個のクラスタをフリップすることができる全ての可能な方法を考慮するのではなく、一度に1つのクラスタフリップすることを考慮する。
図2は、クラスタ収縮を使用するハイブリッド計算システムの一例の動作方法200の流れ図である。方法200は、量子プロセッサ及び非量子又は古典プロセッサを含むハイブリッド計算システム、例えばハイブリッド計算システム100を介して実行される。
方法200は、動作201~208を含むが、動作の数は、一例であり、幾つかの実装形態では、特定の動作を省略し得、更なる動作を追加し得、及び/又は動作の順序が変更可能であることを当業者は理解するであろう。
方法200は、例えば、別のルーチンからの呼び出しに応答して、201において開始される。
202において、古典プロセッサは、n個の集団変数を有する問題にアルゴリズムを適用する。問題は、201において入力の組の部分として受け取られ得る。少なくとも1つの実装形態では、202において、パラレルテンパリングアルゴリズムが適用される。アルゴリズムは、所定の時間にわたり、例えばn個の集団変数を203において区分けするために有用であり得る状態を生成するのに十分な時間にわたり適用され得る。
203において、古典プロセッサは、各変数が厳密に1つのクラスタ内にあるように、n個の集団変数をk個のクラスタに区分けし、ここで、k<nである。少なくとも1つの実装形態では、k≦nである。幾つかの実装形態では、n個の集団変数は、202におけるアルゴリズムの実行から導出された低エネルギー状態Sのサブセットに関して区分けされる。例えば、202においてパラレルテンパリングアルゴリズムが適用された場合、コールデストランダムウォークが直面する状態は、最低エネルギーを有することになり、これらの状態は、n個の集団変数を区分けするように選択される。少なくとも1つの実装形態では、算術平均を用いる非加重対グループ方法(UPGMA)アルゴリズムが使用されて、n個の集団変数をk個のクラスタに区分けする。対相互情報は、UPGMAで使用することができる距離尺度の一例であるが、他の対対象尺度又はスコアを使用することもできる。代替的に、n個の集団変数は、関心のある低エネルギー状態sに関して区分けされる。
204において、古典プロセッサは、k個のクラスタのそれぞれを収縮させ、したがって集団変数の数を低減し、202の問題への縮小入力を生成する。幾つかの実装形態では、k≦nである。幾つかの実装形態では、古典プロセッサは、クラスタ内の全ての変数を、状態sに対するその値に基づいてクランプすることにより各クラスタを収縮させ、したがって202の問題への縮小入力を表すk個の変数を得る。状態sは、202において特定され得るか、又は203において特定されるクラスタリングに基づいてヒューリスティックソルバを使用して、古典プロセッサにより作成され得る。代替的に、古典プロセッサは、例えば、各クラスタ内を平均化することにより、サンプリングヒューリスティックを、クラスタに制限されたエネルギー関数に適用することにより、又は状態の組内で観測された相関又は相互譲歩をシミュレートする非決定的アルゴリズムにより、1つの状態sではなく、状態の組に基づいて各クラスタを収縮させる。
205において、古典プロセッサは、縮小入力を有する問題を量子プロセッサに送る。幾つかの実装形態では、埋め込みアルゴリズム、例えばマイナー埋め込みは、縮小入力を有する問題に適用されて、量子プロセッサに送ることができる埋め込み問題を生成する。
206において、量子プロセッサは、縮小入力からのサンプルSを返す。
207において、古典プロセッサは、サンプルSを拡張して、n個の集団変数の元の入力に対して変更された新しい状態の組を得る。状態sが204において入力の縮小に使用される場合、サンプルSは、Sからの状態により示されるクラスタをフリップすることによりsに対して拡張される。幾つかの実装形態では、サンプルSは、低エネルギー状態の組に基づいて拡張される。これら又は他の実装形態では、拡張は、低エネルギー状態内で観測された統計(相互情報又は相関等)及びエネルギー関数を更に考慮し得る。
208において、方法200は、例えば、再び呼び出されるまで終了する。
図3は、クラスタ収縮を使用するハイブリッド計算システムの動作の一例の反復方法300の流れ図である。方法300は、量子プロセッサ及び非量子又は古典プロセッサを含むハイブリッド計算システム、例えばハイブリッド計算システム100を介して実行される。
方法300は、動作301~310を含むが、動作の数は、一例であり、幾つかの実装形態では、特定の動作を省略し得、更なる動作を追加し得、及び/又は動作の順序が変更可能であることを当業者は理解するであろう。
方法300は、例えば、別のルーチンからの呼び出しに応答して、301において開始される。
302において、古典プロセッサは、方法200の動作202を参照して上述したように、n個の集団変数を有する問題にアルゴリズムを適用する。
303において、古典プロセッサは、方法200の動作203を参照して上述したように、n個の集団変数をk個のクラスタに区分けする。
304において、古典プロセッサは、方法200の動作204を参照して上述したように、k個のクラスタのそれぞれを収縮させる。
305において、古典プロセッサは、縮小入力を有する問題を量子プロセッサに送る。
306において、量子プロセッサは、縮小入力からのサンプルSを返す。
307において、古典プロセッサは、方法200の動作207を参照して上述したように、サンプルSを拡張する。
308において、古典プロセッサは、変更状態をn個の集団変数に統合する。
309において、古典プロセッサは、終了条件が満たされたか否かをチェックする。終了条件が満たされた場合、制御は、310に渡り、他の場合、制御は、302に渡り、ここで、アルゴリズムが問題に再び適用される。終了条件は、集団変数の品質の尺度が満たされたか否かを判断することであり得る。
310において、方法300は、例えば、再び呼び出されるまで終了する。
古典コンピュータは、一般に、量子プロセッサよりも大きい入力サイズを有する問題を解くことができる。しかしながら、非常に大きい入力の場合、古典コンピュータから解を得るまでの時間は、法外に長くなり得る。したがって、古典コンピュータに向けて問題入力サイズを低減する必要がある。上述した方法は、1つの古典コンピュータ又は複数の古典コンピュータを含む古典計算システムを動作させるために利用され得る。更に、ハイブリッド計算システムは、古典コンピュータを使用して上記の方法を利用することができる。
問題サイズを縮小する手法は、入力変数を、収縮することができるクラスタに区分けし、量子プロセッサで解くことができる縮小入力問題にすることである。変数は、各変数が厳密に1つのクラスタにあるように区分けされる。次に、各クラスタは、収縮して、n個の変数の元の入力をk個の変数の入力に縮小させ、ここで、nは、非常に大きい数であり得、kは、区画内のクラスタ数である。少なくとも1つの実装形態では、kの値は、nに等しい値であり得る。
所与の状態s及び変数のk個のクラスタへの区分けの場合、sに対してk個のクラスタをフリップする又はフリップしない2個の方法がある。フリップするサブセットを見つけることは、k個の変数の縮小入力へのイジング最小化問題に等しく、古典ソルバを使用して古典プロセッサで解くことができる。古典ソルバ又は古典アルゴリズムという用語は、本開示及び添付の特許請求の範囲では、古典(すなわち非量子)計算リソースのみを使用するソルバ又はアルゴリズムを示すために使用される。使用することができる古典ソルバの例は、パラレルテンパリング及び模擬アニーリングである。古典プロセッサは、次に、縮小入力に基づいてサンプルの組を生成し、サンプルの組は、sに基づいて拡張することができる。他の実装形態では、拡張は、エネルギー関数及び/又は問題解決実行全体を通して観測された統計に部分的に基づき得る。
図4は、クラスタ収縮を使用して計算問題を解く一例の方法400の流れ図である。方法400は、少なくとも1つの非量子、すなわち古典プロセッサを含む古典計算システムを介して実行される。代替的に、方法400は、古典プロセッサを使用するハイブリッド計算システム、例えばハイブリッド計算システム100を介して実行することができる。方法400は、動作401~408を含むが、動作の数は、一例であり、幾つかの実装形態では、特定の動作を省略し得、更なる動作を追加し得、及び/又は動作の順序が変更可能であることを当業者は理解するであろう。
方法400は、例えば、別のルーチンからの呼び出しに応答して、401において開始される。
402において、古典プロセッサは、n個の集団変数を有する問題にアルゴリズムを適用する。問題は、401において入力の組の部分として受け取られ得る。少なくとも1つの実装形態では、402において、パラレルテンパリングアルゴリズムが適用される。アルゴリズムは、所定の時間にわたり、例えばn個の集団変数を403において区分けするために有用であり得る状態を生成するのに十分な時間にわたり適用され得る。
403において、古典プロセッサは、各変数が厳密に1つのクラスタ内にあるように、n個の集団変数をk個のクラスタに区分けし、ここで、k<nである。少なくとも1つの実装形態では、k≦nである。幾つかの実装形態では、n個の集団変数は、402におけるアルゴリズムの実行から導出された低エネルギー状態Sのサブセットに関して区分けされる。例えば、402においてパラレルテンパリングアルゴリズムが適用された場合、コールデストランダムウォークが直面する状態は、最低エネルギーを有することになり、これらの状態は、n個の集団変数を区分けするように選択される。少なくとも1つの実装形態では、算術平均を用いる非加重対グループ方法(UPGMA)アルゴリズムが使用されて、n個の集団変数をk個のクラスタに区分けする。対相互情報は、UPGMAで使用することができる距離尺度の一例であるが、他の対対称尺度又はスコアを使用することもできる。代替的に、n個の集団変数は、関心のある低エネルギー状態sに関して区分けされる。
404において、古典プロセッサは、k個のクラスタのそれぞれを収縮させ、したがって集団変数の数を低減し、402の問題への縮小入力を生成する。少なくとも1つの実装形態では、k≦nである。幾つかの実装形態では、古典プロセッサは、クラスタ内の全ての変数を、状態sに対するその値に基づいてクランプすることにより各クラスタを収縮させ、したがって402の問題への縮小入力を表すk個の変数を得る。状態sは、402において特定され得るか、又は403において特定されるクラスタリングに基づいてヒューリスティックソルバを使用して、古典プロセッサにより作成され得る。代替的に、古典プロセッサは、例えば、各クラスタ内を平均化することにより、1つの状態sではなく、状態の組に基づいて各クラスタを収縮させる。これら又は他の実装形態では、収縮は、低エネルギー状態内で観測された統計及び各クラスタに制限されたエネルギー関数を更に考慮し得る。
405において、古典プロセッサは、古典アルゴリズムを、縮小入力を有する問題に適用する。幾つかの実装形態では、パラレルテンパリングアルゴリズムが適用される。少なくとも1つの実装形態では、模擬アニーリングアルゴリズムが適用される。
406において、古典プロセッサは、405において古典アルゴリズムを適用した後、縮小入力からのサンプルSを得る。
407において、古典プロセッサは、サンプルSを拡張して、n個の集団変数の元の入力に対して変更された新しい状態の組を得る。状態sが404において入力の縮小に使用される場合、サンプルSは、Sからの状態により示されるクラスタをフリップすることによりsに対して拡張される。幾つかの実装形態では、サンプルSは、低エネルギー状態の組に基づいて拡張される。これら又は他の実装形態では、拡張は、低エネルギー状態の組内で観測された統計及びエネルギー関数を更に考慮し得る。
408において、方法400は、例えば、再び呼び出されるまで終了する。
図5は、クラスタ収縮を使用して計算問題を解く一例の反復方法500の流れ図である。方法500は、少なくとも1つの非量子、すなわち古典プロセッサを含む古典計算システムを介して実行される。代替的に、方法500は、古典プロセッサを使用するハイブリッド計算システム、例えばハイブリッド計算システム100を介して実行することができる。方法500は、動作501~510を含むが、動作の数は、一例であり、幾つかの実装形態では、特定の動作を省略し得、更なる動作を追加し得、及び/又は動作の順序が変更可能であることを当業者は理解するであろう。
方法500は、例えば、別のルーチンからの呼び出しに応答して、501において開始される。
502において、方法400の動作402を参照して上述したように、古典プロセッサは、n個の集団変数を有する問題にアルゴリズムを適用する。
503において、方法400の動作403を参照して上述したように、古典プロセッサは、n個の集団変数をk個のクラスタに区分けする。
404において、方法400の動作404を参照して上述したように、古典プロセッサは、k個のクラスタのそれぞれを収縮させる。
505において、方法400の動作405を参照して上述したように、古典プロセッサは、古典アルゴリズムを、縮小入力を有する問題に適用する。
506において、古典プロセッサは、505において古典アルゴリズムを適用した後、縮小入力からのサンプルSを得る。
507において、方法400の動作407を参照して上述したように、古典プロセッサは、サンプルSを拡張する。
508において、古典プロセッサは、変更状態をn個の集団変数に統合する。
509において、古典プロセッサは、終了条件が満たされたか否かをチェックする。終了条件が満たされた場合、制御は、510に渡り、他の場合、制御は、502に渡り、ここで、アルゴリズムが問題に再び適用される。終了条件は、集団変数の品質の尺度が満たされたか否かを判断することであり得る。
510において、方法500は、例えば、再び呼び出されるまで終了する。
代替的に、問題サイズは、古典ソルバのポートフォリオをn個の変数の問題に適用することにより縮小し、少なくとも1つのサンプル又は解を古典ソルバのポートフォリオ内の各古典ソルバから取得し、したがってk個の変数の縮小入力問題を取得することができ、ここで、k<nである。少なくとも1つの実装形態では、k≦nである。古典ソルバは、全て並行に異なる古典コンピュータで実行され得る。次に、縮小入力問題は、古典ソルバを使用して古典プロセッサで解くことができ、縮小入力に基づいてサンプルの組を取得する。代替的に、縮小入力は、縮小入力に基づいて量子プロセッサで解くことができる。サンプルの組は、次に、元の問題サイズに拡張することができる。
図6は、古典ソルバのポートフォリオを使用するハイブリッド計算システムでの一例の動作方法600の流れ図である。方法600は、量子プロセッサ及び非量子、すなわち古典プロセッサを含むハイブリッド計算システム、例えばハイブリッド計算システム100を介して実行される。
方法600は、動作601~609を含むが、動作の数は、一例であり、幾つかの実装形態では、特定の動作を省略し得、更なる動作を追加し得、及び/又は動作の順序が変更可能であることを当業者は理解するであろう。
方法600は、例えば、別のルーチンからの呼び出しに応答して、601において開始される。
602において、古典プロセッサは、古典アルゴリズムのポートフォリオを、n個の集団変数を有する問題に適用する。問題は、601における入力の組の部分として受け取られ得る。少なくとも1つの実装形態では、古典アルゴリズムのポートフォリオは、パラレルテンパリング、模擬アニーリング及び分枝限定法を含む。アルゴリズムは、所定の時間にわたり、例えば605においてサンプルのクラスタを収縮させるために有用であり得る状態を生成するのに十分な時間にわたり適用され得る。
603において、古典プロセッサは、各古典アルゴリズムから少なくとも1つのサンプルを取得する。
604において、古典プロセッサは、サンプル統計に基づいてn個の集団変数をk個のクラスタに区分けする。
605において、古典プロセッサは、k個のクラスタのそれぞれを収縮させ、したがって集団変数の数を低減し、602の問題への縮小入力を生成する。幾つかの実装形態では、古典プロセッサは、クラスタ内の全ての変数を、状態sに対するその値に基づいてクランプすることにより各クラスタを収縮させ、したがって602の問題への縮小入力を表すk個の変数を得る。状態sは、古典アルゴリズムのポートフォリオを実行した後、602において特定され得る。代替的に、古典プロセッサは、例えば、各クラスタ内を平均化することにより、1つの状態sではなく、状態の組に基づいて各クラスタを収縮させる。これら又は他の実装形態では、拡張は、低エネルギー状態内で観測された統計及び各クラスタに制限されたエネルギー関数を更に考慮し得る。少なくとも1つの実装形態では、kの値は、nに等しい値であり得る。
606において、古典プロセッサは、縮小入力を有する問題を量子プロセッサに送る。幾つかの実装形態では、埋め込みアルゴリズム、例えばマイナー埋め込みは、縮小入力を有する問題に適用されて、量子プロセッサに送ることができる埋め込み問題を生成する。
607において、量子プロセッサは、縮小入力からのサンプルSを返す。
608において、古典プロセッサは、サンプルSを拡張して、n個の集団変数の元の入力に対して変更された新しい状態の組を得る。状態sが605において入力の縮小に使用される場合、サンプルSは、Sからの状態により示されるクラスタをフリップすることによりsに対して拡張される。幾つかの実装形態では、サンプルSは、低エネルギー状態の組に基づいて拡張される。これら又は他の実装形態では、拡張は、低エネルギー状態内で観測された統計(相互情報又は相関等)及びエネルギー関数を更に考慮し得る。
609において、方法600は、例えば、再び呼び出されるまで終了する。
図7は、古典ソルバのポートフォリオを使用するハイブリッド計算システムの動作の一例の反復方法700の流れ図である。方法700は、量子プロセッサ及び非量子、すなわち古典プロセッサを含むハイブリッド計算システム、例えばハイブリッド計算システム100を介して実行される。
方法700は、動作701~711を含むが、動作の数は、一例であり、幾つかの実装形態では、特定の動作を省略し得、更なる動作を追加し得、及び/又は動作の順序が変更可能であることを当業者は理解するであろう。
方法700は、例えば、別のルーチンからの呼び出しに応答して、701において開始される。
702において、方法600の動作602を参照して上述したように、古典プロセッサは、古典アルゴリズムのポートフォリオを、n個の集団変数を有する問題に適用する。
703において、方法600の動作603を参照して上述したように、古典プロセッサは、各古典アルゴリズムから少なくとも1つのサンプルを取得する。
704において、古典プロセッサは、サンプル統計に基づいてn個の集団変数をk個のクラスタに区分けする。
705において、方法600の動作605を参照して上述したように、古典プロセッサは、k個のクラスタのそれぞれを収縮させる。
706において、方法600の動作606を参照して上述したように、古典プロセッサは、縮小入力を有する問題を量子プロセッサに送る。
707において、量子プロセッサは、縮小入力からのサンプルSを返す。
708において、方法600の動作608を参照して上述したように、古典プロセッサは、サンプルSを拡張する。
709において、古典プロセッサは、変更状態を動作702からの元の問題のn個の集団変数に統合する。
710において、古典プロセッサは、終了条件が満たされたか否かをチェックする。終了条件が満たされた場合、制御は、711に渡り、他の場合、制御は、702に渡り、ここで、古典アルゴリズムのポートフォリオが問題に再び適用される。終了条件は、集団変数の品質の尺度が満たされたか否かを判断することであり得る。
711において、方法700は、例えば、再び呼び出されるまで終了する。
図8は、古典ソルバのポートフォリオを使用して計算問題を解く一例の方法800の流れ図である。方法800は、少なくとも1つの非量子、すなわち古典プロセッサを含む古典計算システムを介して実行される。代替的に、方法800は、古典プロセッサを使用するハイブリッド計算システム、例えばハイブリッド計算システム100を介して実行することができる。方法800は、動作801~809を含むが、動作の数は、一例であり、幾つかの実装形態では、特定の動作を省略し得、更なる動作を追加し得、及び/又は動作の順序が変更可能であることを当業者は理解するであろう。
方法800は、例えば、別のルーチンからの呼び出しに応答して、801において開始される。
802において、古典計算システムは、古典アルゴリズムのポートフォリオを、n個の集団変数を有する問題に適用する。問題は、801における入力の組の部分として受け取られ得る。少なくとも1つの実装形態では、古典アルゴリズムのポートフォリオは、パラレルテンパリング、模擬アニーリング及び分枝限定法を含む。アルゴリズムは、所定の時間にわたり、例えば805においてサンプルのクラスタを収縮させるために有用であり得る状態を生成するのに十分な時間にわたり適用され得る。古典ソルバは、別個の古典プロセッサに並行して実行され得る。
803において、古典プロセッサは、各古典アルゴリズムから少なくとも1つのサンプルを取得する。
804において、古典プロセッサは、サンプル統計に基づいてn個の集団変数をk個のクラスタに区分けする。
805において、古典プロセッサは、k個のクラスタのそれぞれを収縮させ、したがって集団変数の数を低減し、802の問題への縮小入力を生成する。幾つかの実装形態では、古典プロセッサは、クラスタ内の全ての変数を、状態sに対するその値に基づいてクランプすることにより各クラスタを収縮させ、したがって802の問題への縮小入力を表すk個の変数を得る。状態sは、古典アルゴリズムのポートフォリオを実行した後、602において特定され得る。代替的に、古典プロセッサは、例えば、各クラスタ内を平均化することにより、1つの状態sではなく、状態の組に基づいて各クラスタを収縮させる。これら又は他の実装形態では、収縮は、低エネルギー状態内で観測された統計及び各クラスタに制限されたエネルギー関数を更に考慮し得る。少なくとも1つの実装形態では、kの値は、nに等しい値であり得る。
806において、古典プロセッサは、古典アルゴリズムを、縮小入力を有する問題に適用する。幾つかの実装形態では、パラレルテンパリングアルゴリズムが適用される。少なくとも1つの実装形態では、模擬アニーリングアルゴリズムが適用される。
807において、古典プロセッサは、806において古典アルゴリズムを適用した後、縮小入力からのサンプルSを得る。
808において、古典プロセッサは、サンプルSを拡張して、n個の集団変数の元の入力に対して変更された新しい状態の組を得る。状態sが805において入力の縮小に使用される場合、サンプルSは、Sからの状態により示されるクラスタをフリップすることによりsに対して拡張される。幾つかの実装形態では、サンプルSは、低エネルギー状態の組に基づいて拡張される。これら又は他の実装形態では、拡張は、低エネルギー状態の組内で観測された統計及びエネルギー関数を更に考慮し得る。
809において、方法800は、例えば、再び呼び出されるまで終了する。
図9は、古典ソルバのポートフォリオを使用して計算問題を解く動作の一例の反復方法900の流れ図である。方法900は、少なくとも1つの非量子、すなわち古典プロセッサを含む古典計算システムを介して実行される。代替的に、方法900は、古典プロセッサを使用するハイブリッド計算システム、例えばハイブリッド計算システム100を介して実行することができる。
方法900は、動作901~911を含むが、動作の数は、一例であり、幾つかの実装形態では、特定の動作を省略し得、更なる動作を追加し得、及び/又は動作の順序が変更可能であることを当業者は理解するであろう。
方法900は、例えば、別のルーチンからの呼び出しに応答して、901において開始される。
902において、方法800の動作802を参照して上述したように、古典プロセッサは、古典アルゴリズムのポートフォリオを、n個の集団変数を有する問題に適用する。
903において、方法800の動作803を参照して上述したように、古典プロセッサは、各古典アルゴリズムから少なくとも1つのサンプルを取得する。
904において、古典プロセッサは、サンプル統計に基づいてn個の集団変数をk個のクラスタに区分けする。
905において、方法800の動作805を参照して上述したように、古典プロセッサは、k個のクラスタのそれぞれを収縮させる。
906において、方法800の動作806を参照して上述したように、古典プロセッサは、古典アルゴリズムを、縮小入力を有する問題に適用する。
907において、古典プロセッサは、906において古典アルゴリズムを適用した後、縮小入力からのサンプルSを得る。
908において、方法800の動作808を参照して上述したように、古典プロセッサは、サンプルSを拡張する。
909において、古典プロセッサは、変更状態を動作902からの元の問題のn個の集団変数に統合する。
910において、古典プロセッサは、終了条件が満たされたか否かをチェックする。終了条件が満たされた場合、制御は、911に渡り、他の場合、制御は、902に渡り、ここで、古典アルゴリズムが問題に再び適用される。終了条件は、集団変数の品質の尺度が満たされたか否かを判断することであり得る。
911において、方法900は、例えば、再び呼び出されるまで終了する。
特定のクラスの問題、例えば二次拘束二元最適化(QCBO)問題は、量子アニーラとして動作可能な量子プロセッサを用いて直接解くことができないことがある。QCBO問題は、大きいペナルティ項を追加することにより二次非拘束二元最適化(QUBO)問題に変換することができ、次に、量子プロセッサは、解をQUBOに提供するようにプログラムすることができる。ペナルティ項をQCBOに追加することは、制約を満たさないQUBOへの任意の潜在的な解が、ペナルティ項の1つ又は複数を生じさせ、したがって制約を満たすようにQUBOの任意の基底状態を向けることを保証するために必要である。
しかしながら、QUBO問題へのペナルティ項の追加は、解くことを難しくさせることがある。特に、量子アニーラ等のアナログデバイスは、動作するために高い精度を必要とし、ペナルティ項の追加は、一般に、問題を解くために必要とされる制度の程度を上げる。したがって、ペナルティ項が追加されたQUBOを解くことは、アナログデバイス単独で実現可能でないことがある。したがって、追加の制約を遵守しながら、量子アニーラ等のアナログプロセッサを利用するハイブリッド方法は、QCBOを解くために望ましい。
モンテカルロアルゴリズムは、変数フリップを提案し、エネルギーの変化に基づく確率で変数フリップを許容する。ハイブリッドモンテカルロアルゴリズムは、ハイブリッドモンテカルロアルゴリズムが、変数フリップ提案の組合せの結果としてのエネルギー変化に対応するエネルギーを有するQUBO問題を定式化する。QUBO内の各変数は、1つの変数フリップの許容又は拒絶に対応する。QUBOは、次に、量子プロセッサを介して解くことができ、生成される解は、許容される可能性が最も高い提案された変数フリップの組合せである。ハイブリッドモンテカルロアルゴリズムは、QCBO問題及び提案のサブセットを許容する効果がQUBOとしてモデリングすることができる他の問題に適用することができる。例えば、ハイブリッドモンテカルロアルゴリズムは、二次問題、混合整数問題及び整数二次プログラミングに適用することができる。
ハイブリッドモンテカルロアルゴリズムは、まず、状態sを問題へのポテンシャル解として採用する。状態sは、ランダム状態であり得る。ハイブリッドモンテカルロアルゴリズムは、次に、複数の提案が集合的に2つの制約を遵守するように、状態sに提案される複数の変更(例えば、変数フリップ)を生成する。第1の制約は、2つの提案が同じ変数を変更しないことである。第2の制約は、3つ以上の提案が費用関数の項に影響しないことであり、ここで、費用関数(又はエネルギー/適合関数)は、全ての項の和として表現される。ハイブリッドモンテカルロアルゴリズムは、k個の提案を生成し得る。
ハイブリッドモンテカルロアルゴリズムは、長さkの所与の二進列sのQUBOのエネルギーが、sで表されるk個の提案のサブセットを許容することによりsを変更した後に生じる状態sを有する元の問題のエネルギーに対応するように、k個の変数のQUBOを定式化する。
QUBOは、次に、量子プロセッサ、例えば量子アニーラ又は任意の他のQUBOソルバにプログラムされて、解を提供することができる。解は、提案された変更のサブセットである。解に従って変数を変更することは、元の問題へのポテンシャル解として新しい状態sをもたらす。
ハイブリッドモンテカルロアルゴリズムは、アルゴリズムの前の反復から変更された状態に基づいて、提案される新しい組の変更を生成し、QUBOを定式化し、量子プロセッサを介してQUBOを解くことを反復することができる。
図10は、複数の制約ベースの更新を用いるハイブリッド計算システムの一例の動作方法1000の流れ図である。方法1000は、量子プロセッサ及び古典プロセッサを含むハイブリッド計算システム、例えば図1のハイブリッド計算システム100で実行され、ハイブリッド計算システム100を参照して説明される。
方法1000は、動作1001~1007を含むが、動作の数は、一例であり、幾つかの実装形態では、特定の動作を省略し得、更なる動作を追加し得、及び/又は動作の順序が変更可能であることを当業者は理解するであろう。
方法1000は、例えば、別のルーチンからの呼び出しに応答して、1001において開始される。
1002において、ハイブリッド計算システム100は、状態sを問題への解と見なす。状態sは、ランダム状態又は入力の組の一部としてのものであり得る。
1003において、ハイブリッド計算システム100は、2つの制約を満たす、状態sに関する変更提案を生成することが可能であるか否かを判断する。制約は、2つの提案が同じ変数を変更しないこと及び3つ以上の提案が費用関数の項に影響しないことである。第1の提案は、常に制約を満たすが、現在の提案と前に生成された提案との和集合は、両方の制約を満たさないことがある。そのような提案を生成することが可能である場合、制御は、1004に渡り、他の場合、制御は、1005に渡る。
1004において、ハイブリッド計算システム100は、変更提案を生成する。提案は、後に使用するためにメモリシステムに記憶され得る。制御は、1003に渡り、ハイブリッド計算システム100は、制約を遵守する別の提案を生成することが可能であるか否かを判断する。
1005において、ハイブリッド計算システム100は、k個の変数のQUBOを定式化し、ここで、kは、長さkの所与の二進列sのQUBOのエネルギーが、sで表されるk個の提案のサブセットを許容することによりsを変更した後に生じる状態sを有する元の問題のエネルギーに対応するような変更提案数である。
1006において、ハイブリッド計算システム100は、QUBOを量子プロセッサ124によって解かせる。量子プロセッサ124からの解は、提案された変更のサブセットである。解に従って変数を変更することは、元の問題へのポテンシャル解として新しい状態sをもたらす。
1007において、方法1000は、例えば、再び呼び出されるまで終了する。
図11は、複数の制約ベースの更新を用いるハイブリッド計算システムの動作の一例の反復方法1100の流れ図である。
方法1100は、量子プロセッサ及び古典プロセッサを含むハイブリッド計算システム、例えば図1のハイブリッド計算システム100で実行され、ハイブリッド計算システム100を参照して説明される。
方法1100は、動作1101~1109を含むが、動作の数は、一例であり、幾つかの実装形態では、特定の動作を省略し得、更なる動作を追加し得、及び/又は動作の順序が変更可能であることを当業者は理解するであろう。
方法1100は、例えば、別のルーチンからの呼び出しに応答して、1101において開始される。
1102において、方法1000の動作1002を参照して上述したように、ハイブリッド計算システム100は、状態sを問題への解と見なす。
1103において、方法1100の動作1003を参照して上述したように、ハイブリッド計算システム100は、2つの制約を満たす、状態sに関する変更提案を生成することが可能であるか否かを判断する。
1104において、方法1000の動作1004を参照して上述したように、ハイブリッド計算システム100は、変更提案を生成する。
1105において、方法1000の動作1005を参照して上述したように、ハイブリッド計算システム100は、QUBOを定式化する。
1106において、方法1000の動作1006を参照して上述したように、ハイブリッド計算システム100は、QUBOを量子プロセッサ124によって解かせる。
1107において、ハイブリッド計算システム100は、状態sを状態sn+1に変更し、ここで、sn+1は、動作1106においてQUBOの解により表されるk個のサブセットを許容することにより状態sを変更した後に生成される状態である。
1108において、ハイブリッド計算システム100は、終了条件が満たされたか否かを判断する。少なくとも1つの実装形態では、終了条件は、状態sn+1の品質尺度が満たされることである。別の実装形態では、終了条件は、方法1100の反復数の完了である。
1109において、方法1100は、例えば、再び呼び出されるまで終了する。
量子プロセッサ及び古典プロセッサを含むハイブリッド計算システム、例えばハイブリッド計算システム100で実行されるアルゴリズムは、問題を量子プロセッサのハードウェアに適合させる埋め込みアルゴリズムから恩恵を受け得る。
問題を量子プロセッサのトポロジに埋め込む一例のアルゴリズムは、以下の埋め込み基準に基づく。ソースグラフS及び例えば量子プロセッサのトポロジを表すターゲットグラフTを所与として、εの埋め込みは、以下であるようなSのノードからTのノードの組へのマッピングとして定義される。
1.各ν∈V(S)について、誘導されるサブグラフT[ε(ν)]は、非空であり、連結され、
2.全てのu、ν∈V(S)について、u≠νである場合のみ、ε(u)∩ε(ν)=φである。組ε(ν)は、連鎖と呼ばれる。
第2の基準は、以下に記載するようにテアアップ及び置換演算を用いて緩和することができる。
ソースノードu∈Sについて、
1.ε(u):={}に設定。
2.各ノードq∈Tについて、ペナルティ関数W(u,q):=α|{(v∈S:q∈ε(v))}|を定義する-現在、qを占有しているソースノード数における指数関数。
3.uの各S近傍νについて、ダイクストラアルゴリズムのノード加重変形を実行して、W(u,q)をqの重みとしてノード距離D(ν,q)及び親P(ν,q)を計算する。
4.各ノードq∈Tについて、ルート費用推定R(q):=Σν~uD(ν,q)を定義し、式中、ν~uは、νがuのS近傍であることを意味する。
5.R(q)を最小化するノードqを選択し、ε(u):={q}を更新する。
6.各S近傍νについて、q0から親を通してε(ν)までのパス:
Figure 2022517100000005
を構築し、パス(pを省略)をε(u)に追加する。
上記のアルゴリズムは、グラフSで定義される問題から、グラフTで定義される埋め込み問題への重なり埋め込みと呼ばれる埋め込みを返す。上記のアルゴリズムは、ヒューリスティック的に改善される外部供給の重なり埋め込みと併用することもできる。
イジング問題を所与として、変数[σ,...,σ]にわたり、
Figure 2022517100000006
であり、全てのiについてJi,i=0の場合、縮小は、これらの変数の相対割り当てであり、イジング問題の制約部分空間を表す。i≠jでの縮小(σ≡±σ)は、n-1個の変数にわたり縮小イジング問題を生成し、これは、Eの記号簡略化を介して計算することができる。イジング問題がQUBOに変換可能であることを当業者は理解するであろう。
本開示のシステム及び方法は、ペナルティ関数を最小化する埋め込み可能な縮小を見つけるために、フィードバックプロセスにおいて計算、埋め込み及び縮小を用いるアルゴリズムを記載する。ペナルティ関数は、ユーザにより又は別の方法若しくはアルゴリズムにより供給し得る。
図12は、縮小及びそれらの埋め込みを計算するハイブリッド計算システムにおける一例の動作方法1200の流れ図である。方法1200は、量子プロセッサ及び古典プロセッサを含むハイブリッド計算システム、例えば図1のハイブリッド計算システム100で実行され、ハイブリッド計算システム100を参照して説明される。方法1200は、問題の入力サイズを縮小し、それを量子プロセッサに埋め込むために、方法200(図2)、300(図3)、400(図4)、500(図5)、600(図6)、700(図7)、800(図8)及び900(図9)の一環として利用し得る。
方法1200は、動作1201~1211を含むが、動作の数は、一例であり、幾つかの実装形態では、特定の動作を省略し得、更なる動作を追加し得、及び/又は動作の順序が変更可能であることを当業者は理解するであろう。
方法1200は、例えば、別のルーチンからの呼び出しに応答して、1201において開始される。
1202において、ハイブリッド計算システム100は、縮小ペナルティ生成関数Xを受け取る。縮小ペナルティ生成関数Xは、Sノードの各順序付き対(u,ν)にペナルティX(u,ν)を割り当てる。縮小ペナルティ生成関数Xは、方法1200への入力の組の一部として受け取られ得る。
1203において、ハイブリッド計算システム100は、1202の縮小ペナルティ生成関数Xに基づいて新しいペナルティ関数
Figure 2022517100000007
を決定する。
1204において、ハイブリッド計算システム100は、1203のペナルティ関数W’に従ってSからTへの重なり埋め込みεを特定する。ハイブリッド計算システム100は、ヒューリスティック埋め込みを使用して、重なり埋め込みを生成し得る。
1205において、ハイブリッド計算システム100は、1204において特定された重なり埋め込みεが重複連鎖を含むか否かを判断する。εが重複連鎖を含む場合、制御は、1206に渡り、他の場合、制御は、1211に渡り、方法1200は、終了する。
1206において、ハイブリッド計算システム100は、各Tノードqについてsノードの組Y(q)={ν:q∈ε(ν)}を計算する。
1207において、ハイブリッド計算システム100は、グラフGからエッジのフォレストMを選択し、ここで、Gは、任意のq及びエッジ重み1-X(u,ν)で、{u,ν}⊂Y(q)の場合、エッジ(u,ν)を有するグラフとして定義される。ハイブリッド計算システム100は、幾つかの技法に従ってフォレストMを選択し得る。一実装形態では、Mは、エッジ重みに従った分布でランダムに選択される1つのエッジを含むシングルトンであり得る。代替的に、Mは、Gの最大重みマッチングであり得る。別の実装形態では、Mは、エッジをランダムに追加することにより構築されたフォレストであり得、確率は、各重みに従う。更に別の実装形態では、エッジ重みは、ε(u)∪ε(ν)のサイズ、誘導されるグラフT[ε(u)∪ε(ν)]の直径又はマージされた連鎖の性能を予測するより複雑な尺度により更に拡張される。
12008において、ハイブリッド計算システム100は、縮小イジング問題を特定する。各(a,b)∈Mについて、ハイブリッド計算システム100は、(σ≡±σ)を割り当て、bを簡略化する。ハイブリッド計算システム100は、複数の技法に従って符号を選択し得る。幾つかの実装形態では、過去のサンプルのコーパスが利用可能である場合、1つのサンプルが採用され、各関係の符号は、サンプルに基づいて選択される。代替的に、過去のサンプルのコーパスが利用可能である場合、各関係の符号は、各関係のサンプルエネルギーに従って分布する、そのコーパスに見られる関係から選択される:(σ≡σ)vs(σ≡-σ)。更に別の実装形態では、例えば、方法1200の連続反復で問題が既に縮小されている場合、ハイブリッド計算システム100は、補助ソルバからサンプルのコーパスを収集し、上記の技法の1つに従って各関係の符号を特定する。少なくとも1つの実装形態では、エッジ及び符号の選択は、縮小イジング問題のハミルトニアンにおける最大大きさh及びJi,jを最小化するエッジ及び符号を選択することにより並行して行われる。これら又は他の実装形態では、収縮は、低エネルギー状態内で観測される統計及び各クラスタに制限されたエネルギー関数を更に考慮し得る。
12009において、ハイブリッド計算システム100は、ペナルティ関数を縮小する。ハイブリッド計算システム100は、幾つかの技法に従ってXを縮小し得る。一実装形態では、Mの各(a,b)について、ハイブリッド計算システム100は、X(a,x):=X(a,x)+X(b,x)及びX(x,b):=X(x,a)+X(x,b)を設定し、間隔(0,1)に正規化する。代替的に、Xがサンプルのコーパスから計算される場合、ハイブリッド計算システム100は、1208の符号選択に従ってコーパスをフィルタリングし、縮小コーパスでXを再計算する。更に別の実装形態では、ハイブリッド計算システム100は、補助ソルバを介して1208の縮小イジング問題からサンプルを計算し、得られたサンプルからXを再計算する。
1210において、ハイブリッド計算システム100は、埋め込みεを縮小する。ハイブリッド計算システム100は、幾つかの異なる技法に従って埋め込みεを縮小し得る。一実装形態では、ハイブリッド計算システム100は、Mの各(a,b)について、ε(a):=ε(a)∪ε(b)に設定し、1208の縮小イジング問題に向けてヒューリスティックソルバを介して埋め込みεを改良する。代替的に、ハイブリッド計算システム100は、ヒューリスティックソルバを介して新しい埋め込みεを決定し、幾つかの場合、新しい埋め込みは、重なり埋め込みであり得る。
12011において、方法1200は、例えば、再び呼び出されるまで終了する。
実施形態例の列記
以下に列記される実施形態は、本発明の非限定的な実施形態例の特徴及び特徴の組合せの例を提供する。
実施形態例1.量子プロセッサ及び古典プロセッサを含むハイブリッド計算システムの動作の方法であって、
古典プロセッサを介して、n個の集団変数を有する入力を有する問題にアルゴリズムを適用することと、
古典プロセッサを介して、n個の集団変数を有する入力を、k個の集団変数を有する縮小入力に変換することであって、k≦nである、変換することと、
量子プロセッサを介して、縮小入力からのサンプルSを得ることと、
古典プロセッサを介して、サンプルSを拡張して、問題への変更状態の組を得ることと
を含む方法。
実施形態例2.古典プロセッサを介して、n個の集団変数を有する入力を有する問題にアルゴリズムを適用することは、古典プロセッサを介して、n個の集団変数を有する入力を有する問題にパラレルテンパリングアルゴリズムを適用することを含む、実施形態例1に記載の方法。
実施形態例3.n個の集団変数を有する入力を、k個の集団変数を有する縮小入力に変換することであって、k≦nである、変換することは、n個の集団変数をk個のクラスタに区分けし、且つk個のクラスタのそれぞれを収縮させて、k個の集団変数を有する縮小入力を生成することを含む、実施形態例1又は2に記載の方法。
実施形態例4.k個のクラスタのそれぞれを収縮させて、k個の集団変数を有する縮小入力を生成することは、低エネルギー状態sに関してk個のクラスタのそれぞれを収縮させて、k個の集団変数を有する縮小入力を生成することを含み、及びサンプルSを拡張して、問題への変更状態の組を得ることは、低エネルギー状態sに関してサンプルSを拡張して、問題への変更状態の組を得ることを含む、実施形態例3に記載の方法。
実施形態例5.低エネルギー状態sに関してk個のクラスタのそれぞれを収縮させることは、各クラスタ内の全ての集団変数を、状態sにおけるその値に基づいて互いに対してクランプすることを含む、実施形態例4に記載の方法。
実施形態例6.低エネルギー状態sに関してk個のクラスタのそれぞれを収縮させることは、クラスタリングに基づいて新しい状態sを作成することを含む、実施形態例5に記載の方法。
実施形態例7.n個の集団変数をk個のクラスタに区分けすることは、状態の低エネルギーサブセットを使用してn個の集団変数をk個のクラスタに区分けすることを含む、実施形態例3に記載の方法。
実施形態例8.k個のクラスタのそれぞれを収縮させることは、各クラスタ内の状態の低エネルギーサブセットに関して全ての集団変数の値を平均化することを含む、実施形態例7に記載の方法。
実施形態例9.状態の低エネルギーサブセットを使用してn個の集団変数をk個のクラスタに区分けすることは、算術平均アルゴリズムを用いる非加重対グループ方法を介してn個の集団変数をk個のクラスタに区分けすることを含む、実施形態例7又は8に記載の方法。
実施形態例10.算術平均アルゴリズムを用いる非加重対グループ方法を介してn個の集団変数をk個のクラスタに区分けすることは、距離尺度として対エントロピーを使用して、算術平均アルゴリズムを用いる非加重対グループ方法を介してn個の集団変数をk個のクラスタに区分けすることを含む、実施形態例9に記載の方法。
実施形態例11.クラスタリングに基づいて新しい状態sを作成することは、ヒューリスティックソルバを使用して、各クラスタについて新しい状態sを作成することを含む、実施形態例6に記載の方法。
実施形態例12.量子プロセッサを介して、縮小入力からのサンプルSを得ることは、量子プロセッサを介して、縮小入力からのサンプルSを得る前に、古典プロセッサを介して、縮小入力を有する問題に埋め込みアルゴリズムを適用することを含む、実施形態例1~11の何れか一項に記載の方法。
実施形態例13.終了条件が満たされるまで、
古典プロセッサを介して、問題にアルゴリズムを適用することと、
古典プロセッサを介して、n個の集団変数を有する入力を、k個の集団変数を有する縮小入力に変換することであって、k≦nである、変換することと、
量子プロセッサを介して、縮小入力からのサンプルSを得ることと、
古典プロセッサを介して、サンプルSを拡張して、問題への変更状態の組を得ることと、
変更状態を問題に統合することと
を反復的に繰り返すことを更に含む、実施形態例1~12の何れか一項に記載の方法。
実施形態例14.終了条件が満たされたか否かを判断することを更に含む、実施形態例13に記載の方法。
実施形態例15.終了条件が満たされたか否かを判断することは、集団変数の品質の尺度が満たされているか否かを判断することを含む、実施形態例14に記載の方法。
実施形態例16.量子プロセッサ及び古典プロセッサを含むハイブリッド計算システムであって、古典プロセッサは、
n個の集団変数を有する入力を有する問題にアルゴリズムを適用することと、
n個の集団変数を有する入力を、k個の集団変数を有する縮小入力に変換することであって、k≦nである、変換することと、
量子プロセッサから、縮小入力からのサンプルSを得ることと、
サンプルSを拡張して、問題への変更状態の組を得ることと
を行うように動作可能である、ハイブリッド計算システム。
実施形態例17.アルゴリズムは、パラレルテンパリングアルゴリズムである、実施形態例16に記載のシステム。
実施形態例18.古典プロセッサは、n個の集団変数をk個のクラスタに区分けし、且つk個のクラスタのそれぞれを収縮させて、k個の変数を有する縮小入力を生成するように動作可能である、実施形態例16又は17に記載のシステム。
実施形態例19.k個のクラスタのそれぞれは、低エネルギー状態sに関して収縮され、及びサンプルSは、低エネルギー状態sに関して拡張される、実施形態例18に記載のシステム。
実施形態例20.各クラスタ内の全ての集団変数は、状態sにおけるその値に基づいて互いに対してクランプされる、実施形態例19に記載のシステム。
実施形態例21.n個の集団変数は、状態の低エネルギーサブセットを使用してk個のクラスタに区分けされる、実施形態例18に記載のシステム。
実施形態例22.全ての集団変数の値は、各クラスタ内の状態の低エネルギーサブセットに関して平均化される、実施形態例21に記載のシステム。
実施形態例23.n個の集団変数は、算術平均アルゴリズムを用いる非加重対グループ方法を介してk個のクラスタに区分けされる、実施形態例21又は22に記載のシステム。
実施形態例24.算術平均アルゴリズムを用いる非加重対グループ方法は、距離尺度として対エントロピーを使用する、実施形態例23に記載のシステム。
実施形態例25.新しい状態sは、クラスタリングに基づいて作成される、実施形態例20に記載のシステム。
実施形態例26.ヒューリスティックソルバは、各クラスタについて新しい状態sを作成するために使用される、実施形態例25に記載のシステム。
実施形態例27.古典プロセッサは、量子プロセッサから、縮小入力からのサンプルSを得る前に、埋め込みアルゴリズムを介して、縮小入力を有する問題を埋め込むように動作可能である、実施形態例16~26の何れか一項に記載のシステム。
実施形態例28.量子プロセッサ及び古典プロセッサを含むハイブリッド計算システムの動作の方法であって、
古典プロセッサを介して、問題の状態sに関して複数の変数変更提案を生成することと、
古典プロセッサを介して、複数の変数変更提案のサブセットを許容するエネルギー変化に対応する二次非拘束二元最適化問題を定式化することと、
量子プロセッサを介して、二次非拘束二元最適化問題を解くことと
を含む方法。
実施形態例29.問題についての複数の変数変更提案を生成することは、二次拘束二元最適化問題及び整数二次プログラミング問題の一方からなる問題についての複数の変数変更提案を生成することを含む、実施形態例28に記載の方法。
実施形態例30.状態sに関して複数の変数変更提案を生成することは、ランダム状態sに関して問題についての複数の変数変更提案を生成することを含む、実施形態例28又は29に記載の方法。
実施形態例31.古典プロセッサを介して、状態sに関して複数の変数変更提案を生成することは、2つの提案が同じ変数を変更せず、及び3つ以上の提案が二次非拘束二元最適化問題の費用関数の項に影響しないように複数の変数変更提案を生成することを含む、実施形態例28~30の何れか一項に記載の方法。
実施形態例32.二次非拘束二元最適化問題を解くことにより、指定された複数の変数変更提案のサブセットを許容することによって状態sを変更し、且つ終了条件が満たされるまで、
古典プロセッサを介して、状態sn-1に関して複数の変数変更提案を生成することと、
古典プロセッサを介して、変数変更提案のサブセットを許容するエネルギー変化に対応する二次非拘束二元最適化問題を定式化することと、
量子プロセッサを介して、二次非拘束二元最適化問題を解くことと、
二次非拘束二元最適化問題を解くことにより、指定された提案のサブセットを許容することによって状態sn-1を状態sに変更することと
を反復的に繰り返すことを更に含む、実施形態例28~31の何れか一項に記載の方法。
実施形態例33.終了条件が満たされたか否かを判断することを更に含む、実施形態例32に記載の方法。
実施形態例34.終了条件が満たされたか否かを判断することは、反復数及び状態sが品質の尺度を満たすことの群からの少なくとも1つの条件が満たされたか否かを判断することを含む、実施形態例33に記載の方法。
実施形態例35.古典プロセッサ及び量子プロセッサを含むハイブリッド計算システムであって、古典プロセッサは、
問題の状態sに関して複数の変数変更提案を生成することと、
複数の変数変更提案のサブセットを許容するエネルギー変化に対応する二次非拘束二元最適化問題を定式化することと、
量子プロセッサに二次非拘束二元最適化問題を解かせることと
を行うように動作可能である、ハイブリッド計算システム。
実施形態例36.問題は、二次拘束二元最適化問題及び整数二次プログラミング問題の少なくとも一方である、実施形態例35に記載のシステム。
実施形態例37.状態sは、ランダム状態sである、実施形態例35又は36に記載のシステム。
実施形態例38.前記古典プロセッサは、2つの提案が同じ変数を変更せず、及び3つ以上の提案が二次非拘束二元最適化問題の費用関数の項に影響しないように複数の変数変更提案を生成するように動作可能である、実施形態例35~37の何れか一項に記載のシステム。
実施形態例39.古典プロセッサは、二次非拘束二元最適化問題を解くことにより、指定された複数の変数変更提案のサブセットを許容することによって状態sを変更し、且つ終了条件が満たされるまで、
状態sn-1に関して複数の変数変更提案を生成することと、
変数変更提案のサブセットを許容するエネルギー変化に対応する二次非拘束二元最適化問題を定式化することと、
量子プロセッサに二次非拘束二元最適化問題を解かせることと、
二次非拘束二元最適化問題を解くことにより、指定された提案のサブセットを許容することによって状態sn-1を状態sに変更することと
を反復的に繰り返すように更に動作可能である、実施形態例35~38の何れか一項に記載のシステム。
実施形態例40.終了条件が満たされたか否かを判断するように動作可能な古典プロセッサを更に含む、実施形態例39に記載のシステム。
実施形態例41.古典プロセッサは、経過した反復数及び状態sが品質の尺度を満たすことを含む終了条件の群の1つが満たされたか否かを判断するように動作可能である、実施形態例40に記載のシステム。
上記の方法、プロセス又は技法は、1つ又は複数の非一時的プロセッサ可読媒体に記憶された一連のプロセッサ可読命令により実施することができる。上記の方法、プロセス又は技法、方法の幾つかの例は、部分的に、断熱量子コンピュータ若しくは量子アニーラ等の専用デバイス又は断熱量子コンピュータ若しくは量子アニーラの動作をプログラム若しくは他の方法で制御するシステム、例えば少なくとも1つのデジタルプロセッサを含むコンピュータにより実行される。上記の方法、プロセス又は技法が種々の動作を含み得、代替の例では、特定の動作を省き得、及び/又は追加の動作を追加し得ることを当業者は理解するであろう。動作の示された順序が単に例を目的としたものであり、代替の例では変更され得ることを当業者は理解するであろう。上記の方法、プロセス又は技法の動作又は演算の幾つかは、反復的に実行される。上記の方法、プロセス又は技法の幾つかの動作は、各反復中、複数の反復後又は全ての反復後に実行することができる。
要約書に記載されるものを含め、示された実装形態の上記の説明は、網羅的であること又は開示された厳密な形態に実装形態を限定することを意図しない。特定の実装形態及び例が例示目的で本明細書に記載されているが、当業者に認識されるように、他の趣旨及び範囲から逸脱せずに種々の均等な変更形態がなされ得る。種々の実装形態の本明細書に提供される教示は、必ずしも、概して上述した量子計算の方法例ではなく、量子計算の他の方法に適用することも可能である。
上述した種々の実装形態を組み合わせて、更なる実装形態を提供することができる。本明細書において参照され、及び/又は出願データシートに列記される本願の譲受人に譲渡された米国特許出願公開、米国特許出願、外国特許及び外国特許出願の全ては、米国特許第7,533,068号を含むが、これに限定されず、全体的に参照により本明細書に援用される。
上記の詳細な説明に鑑みて、実装形態に対するこれら及び他の変更形態がなされ得る。一般に、以下の特許請求の範囲において、使用される用語は、本明細書及び特許請求の範囲において開示される特定の実装形態に請求項を限定するものとして解釈されるべきではなく、そのような特許請求の範囲が権利を有する全範囲の均等物と共に可能な全ての実装形態を包含するものと解釈されるべきである。したがって、特許請求の範囲は、本開示により限定されない。

Claims (41)

  1. 量子プロセッサ及び古典プロセッサを含むハイブリッド計算システムの動作の方法であって、
    前記古典プロセッサを介して、n個の集団変数を有する入力を有する問題にアルゴリズムを適用することと、
    前記古典プロセッサを介して、n個の集団変数を有する前記入力を、k個の集団変数を有する縮小入力に変換することであって、k≦nである、変換することと、
    前記量子プロセッサを介して、前記縮小入力からのサンプルSを得ることと、
    前記古典プロセッサを介して、前記サンプルSを拡張して、前記問題への変更状態の組を得ることと
    を含む方法。
  2. 前記古典プロセッサを介して、n個の集団変数を有する入力を有する問題にアルゴリズムを適用することは、前記古典プロセッサを介して、n個の集団変数を有する入力を有する問題にパラレルテンパリングアルゴリズムを適用することを含む、請求項1に記載の方法。
  3. n個の集団変数を有する前記入力を、k個の集団変数を有する縮小入力に変換することであって、k≦nである、変換することは、前記n個の集団変数をk個のクラスタに区分けし、且つ前記k個のクラスタのそれぞれを収縮させて、k個の集団変数を有する縮小入力を生成することを含む、請求項1又は2に記載の方法。
  4. 前記k個のクラスタのそれぞれを収縮させて、k個の集団変数を有する縮小入力を生成することは、低エネルギー状態sに関して前記k個のクラスタのそれぞれを収縮させて、k個の集団変数を有する縮小入力を生成することを含み、及び前記サンプルSを拡張して、前記問題への変更状態の組を得ることは、前記低エネルギー状態sに関して前記サンプルSを拡張して、前記問題への変更状態の組を得ることを含む、請求項3に記載の方法。
  5. 低エネルギー状態sに関して前記k個のクラスタのそれぞれを収縮させることは、各クラスタ内の全ての集団変数を、前記状態sにおけるその値に基づいて互いに対してクランプすることを含む、請求項4に記載の方法。
  6. 低エネルギー状態sに関して前記k個のクラスタのそれぞれを収縮させることは、前記クラスタリングに基づいて新しい状態sを作成することを含む、請求項5に記載の方法。
  7. 前記n個の集団変数をk個のクラスタに区分けすることは、状態の低エネルギーサブセットを使用して前記n個の集団変数をk個のクラスタに区分けすることを含む、請求項3に記載の方法。
  8. 前記k個のクラスタのそれぞれを収縮させることは、各クラスタ内の状態の前記低エネルギーサブセットに関して全ての前記集団変数の前記値を平均化することを含む、請求項7に記載の方法。
  9. 状態の低エネルギーサブセットを使用して前記n個の集団変数をk個のクラスタに区分けすることは、算術平均アルゴリズムを用いる非加重対グループ方法を介して前記n個の集団変数をk個のクラスタに区分けすることを含む、請求項7又は8に記載の方法。
  10. 算術平均アルゴリズムを用いる非加重対グループ方法を介して前記n個の集団変数をk個のクラスタに区分けすることは、距離尺度として対エントロピーを使用して、算術平均アルゴリズムを用いる非加重対グループ方法を介して前記n個の集団変数をk個のクラスタに区分けすることを含む、請求項9に記載の方法。
  11. 前記クラスタリングに基づいて新しい状態sを作成することは、ヒューリスティックソルバを使用して、各クラスタについて新しい状態sを作成することを含む、請求項6に記載の方法。
  12. 前記量子プロセッサを介して、前記縮小入力からのサンプルSを得ることは、前記量子プロセッサを介して、前記縮小入力からのサンプルSを得る前に、前記古典プロセッサを介して、前記縮小入力を有する前記問題に埋め込みアルゴリズムを適用することを含む、請求項1~11の何れか一項に記載の方法。
  13. 終了条件が満たされるまで、
    前記古典プロセッサを介して、前記問題にアルゴリズムを適用することと、
    前記古典プロセッサを介して、n個の集団変数を有する前記入力を、k個の集団変数を有する縮小入力に変換することであって、k≦nである、変換することと、
    前記量子プロセッサを介して、前記縮小入力からのサンプルSを得ることと、
    前記古典プロセッサを介して、前記サンプルSを拡張して、前記問題への変更状態の組を得ることと、
    前記変更状態を前記問題に統合することと
    を反復的に繰り返すことを更に含む、請求項1~12の何れか一項に記載の方法。
  14. 終了条件が満たされたか否かを判断することを更に含む、請求項13に記載の方法。
  15. 終了条件が満たされたか否かを判断することは、前記集団変数の品質の尺度が満たされているか否かを判断することを含む、請求項14に記載の方法。
  16. 量子プロセッサ及び古典プロセッサを含むハイブリッド計算システムであって、前記古典プロセッサは、
    n個の集団変数を有する入力を有する問題にアルゴリズムを適用することと、
    n個の集団変数を有する前記入力を、k個の集団変数を有する縮小入力に変換することであって、k≦nである、変換することと、
    前記量子プロセッサから、前記縮小入力からのサンプルSを得ることと、
    前記サンプルSを拡張して、前記問題への変更状態の組を得ることと
    を行うように動作可能である、ハイブリッド計算システム。
  17. 前記アルゴリズムは、パラレルテンパリングアルゴリズムである、請求項16に記載のシステム。
  18. 前記古典プロセッサは、n個の集団変数をk個のクラスタに区分けし、且つ前記k個のクラスタのそれぞれを収縮させて、k個の変数を有する縮小入力を生成するように動作可能である、請求項16又は17に記載のシステム。
  19. 前記k個のクラスタのそれぞれは、低エネルギー状態sに関して収縮され、及び前記サンプルSは、前記低エネルギー状態sに関して拡張される、請求項18に記載のシステム。
  20. 各クラスタ内の全ての集団変数は、前記状態sにおけるその値に基づいて互いに対してクランプされる、請求項19に記載のシステム。
  21. 前記n個の集団変数は、状態の低エネルギーサブセットを使用してk個のクラスタに区分けされる、請求項18に記載のシステム。
  22. 全ての前記集団変数の前記値は、各クラスタ内の状態の前記低エネルギーサブセットに関して平均化される、請求項21に記載のシステム。
  23. 前記n個の集団変数は、算術平均アルゴリズムを用いる非加重対グループ方法を介してk個のクラスタに区分けされる、請求項21又は22に記載のシステム。
  24. 前記算術平均アルゴリズムを用いる非加重対グループ方法は、距離尺度として対エントロピーを使用する、請求項23に記載のシステム。
  25. 新しい状態sは、前記クラスタリングに基づいて作成される、請求項20に記載のシステム。
  26. ヒューリスティックソルバは、各クラスタについて新しい状態sを作成するために使用される、請求項25に記載のシステム。
  27. 前記古典プロセッサは、前記量子プロセッサから、前記縮小入力からのサンプルSを得る前に、埋め込みアルゴリズムを介して、前記縮小入力を有する前記問題を埋め込むように動作可能である、請求項16~26の何れか一項に記載のシステム。
  28. 量子プロセッサ及び古典プロセッサを含むハイブリッド計算システムの動作の方法であって、
    前記古典プロセッサを介して、問題の状態sに関して複数の変数変更提案を生成することと、
    前記古典プロセッサを介して、前記複数の変数変更提案のサブセットを許容するエネルギー変化に対応する二次非拘束二元最適化問題を定式化することと、
    前記量子プロセッサを介して、前記二次非拘束二元最適化問題を解くことと
    を含む方法。
  29. 問題についての複数の変数変更提案を生成することは、二次拘束二元最適化問題及び整数二次プログラミング問題の一方からなる問題についての複数の変数変更提案を生成することを含む、請求項28に記載の方法。
  30. 状態sに関して複数の変数変更提案を生成することは、ランダム状態sに関して問題についての複数の変数変更提案を生成することを含む、請求項28又は29に記載の方法。
  31. 前記古典プロセッサを介して、状態sに関して複数の変数変更提案を生成することは、2つの提案が同じ変数を変更せず、及び3つ以上の提案が前記二次非拘束二元最適化問題の費用関数の項に影響しないように複数の変数変更提案を生成することを含む、請求項28~30の何れか一項に記載の方法。
  32. 前記二次非拘束二元最適化問題を解くことにより、指定された前記複数の変数変更提案の前記サブセットを許容することによって前記状態sを変更し、且つ終了条件が満たされるまで、
    前記古典プロセッサを介して、状態sn-1に関して複数の変数変更提案を生成することと、
    前記古典プロセッサを介して、前記変数変更提案のサブセットを許容する前記エネルギー変化に対応する二次非拘束二元最適化問題を定式化することと、
    前記量子プロセッサを介して、前記二次非拘束二元最適化問題を解くことと、
    前記二次非拘束二元最適化問題を解くことにより、指定された前記提案の前記サブセットを許容することによって前記状態sn-1を状態sに変更することと
    を反復的に繰り返すことを更に含む、請求項28~31の何れか一項に記載の方法。
  33. 終了条件が満たされたか否かを判断することを更に含む、請求項32に記載の方法。
  34. 終了条件が満たされたか否かを判断することは、反復数及び前記状態sが品質の尺度を満たすことの群からの少なくとも1つの条件が満たされたか否かを判断することを含む、請求項33に記載の方法。
  35. 古典プロセッサ及び量子プロセッサを含むハイブリッド計算システムであって、前記古典プロセッサは、
    問題の状態sに関して複数の変数変更提案を生成することと、
    前記複数の変数変更提案のサブセットを許容するエネルギー変化に対応する二次非拘束二元最適化問題を定式化することと、
    前記量子プロセッサに前記二次非拘束二元最適化問題を解かせることと
    を行うように動作可能である、ハイブリッド計算システム。
  36. 前記問題は、二次拘束二元最適化問題及び整数二次プログラミング問題の少なくとも一方である、請求項35に記載のシステム。
  37. 前記状態sは、ランダム状態sである、請求項35又は36に記載のシステム。
  38. 前記古典プロセッサは、2つの提案が同じ変数を変更せず、及び3つ以上の提案が前記二次非拘束二元最適化問題の費用関数の項に影響しないように複数の変数変更提案を生成するように動作可能である、請求項35~37の何れか一項に記載のシステム。
  39. 前記古典プロセッサは、前記二次非拘束二元最適化問題を解くことにより、指定された前記複数の変数変更提案の前記サブセットを許容することによって前記状態sを変更し、且つ終了条件が満たされるまで、
    状態sn-1に関して複数の変数変更提案を生成することと、
    前記変数変更提案のサブセットを許容する前記エネルギー変化に対応する二次非拘束二元最適化問題を定式化することと、
    前記量子プロセッサに前記二次非拘束二元最適化問題を解かせることと、
    前記二次非拘束二元最適化問題を解くことにより、指定された前記提案の前記サブセトを許容することによって前記状態sn-1を状態sに変更することと
    を反復的に繰り返すように更に動作可能である、請求項35~38の何れか一項に記載のシステム。
  40. 前記終了条件が満たされたか否かを判断するように動作可能な前記古典プロセッサを更に含む、請求項39に記載のシステム。
  41. 前記古典プロセッサは、経過した反復数及び前記状態sが品質の尺度を満たすことを含む終了条件の群の1つが満たされたか否かを判断するように動作可能である、請求項40に記載のシステム。
JP2021540401A 2019-01-17 2020-01-13 クラスタ収縮を使用するハイブリッドアルゴリズムのためのシステム及び方法 Active JP7535049B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201962793694P 2019-01-17 2019-01-17
US62/793,694 2019-01-17
US201962841533P 2019-05-01 2019-05-01
US62/841,533 2019-05-01
US201962860972P 2019-06-13 2019-06-13
US62/860,972 2019-06-13
PCT/US2020/013366 WO2020150156A1 (en) 2019-01-17 2020-01-13 Systems and methods for hybrid algorithms using cluster contraction

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2024128231A Division JP2024155921A (ja) 2019-01-17 2024-08-02 クラスタ収縮を使用するハイブリッドアルゴリズムのためのシステム及び方法

Publications (3)

Publication Number Publication Date
JP2022517100A true JP2022517100A (ja) 2022-03-04
JPWO2020150156A5 JPWO2020150156A5 (ja) 2023-01-20
JP7535049B2 JP7535049B2 (ja) 2024-08-15

Family

ID=71610029

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021540401A Active JP7535049B2 (ja) 2019-01-17 2020-01-13 クラスタ収縮を使用するハイブリッドアルゴリズムのためのシステム及び方法

Country Status (4)

Country Link
US (2) US11537926B2 (ja)
JP (1) JP7535049B2 (ja)
CN (1) CN113544711B (ja)
WO (1) WO2020150156A1 (ja)

Families Citing this family (19)

* 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
US10671937B2 (en) 2016-06-08 2020-06-02 D-Wave Systems Inc. Systems and methods for quantum computation
US11263547B2 (en) 2017-01-30 2022-03-01 D-Wave Systems Inc. Quantum annealing debugging systems and methods
US11586915B2 (en) 2017-12-14 2023-02-21 D-Wave Systems Inc. Systems and methods for collaborative filtering with variational autoencoders
US11593174B2 (en) 2018-10-16 2023-02-28 D-Wave Systems Inc. Systems and methods for scheduling programs for dedicated execution on a quantum processor
US11574030B1 (en) 2018-10-29 2023-02-07 Rigetti & Co, Llc Solving optimization problems using a hybrid computer system
JP7535049B2 (ja) 2019-01-17 2024-08-15 ディー-ウェイブ システムズ インコーポレイテッド クラスタ収縮を使用するハイブリッドアルゴリズムのためのシステム及び方法
US11900264B2 (en) * 2019-02-08 2024-02-13 D-Wave Systems Inc. Systems and methods for hybrid quantum-classical computing
US11625612B2 (en) 2019-02-12 2023-04-11 D-Wave Systems Inc. Systems and methods for domain adaptation
US11593695B2 (en) 2019-03-26 2023-02-28 D-Wave Systems Inc. Systems and methods for hybrid analog and digital processing of a computational problem using mean fields
US11372895B2 (en) * 2019-04-01 2022-06-28 International Business Machines Corporation Sketching using a hybrid quantum-classical system
US11714730B2 (en) 2019-08-20 2023-08-01 D-Wave Systems Inc. Systems and methods for high availability, failover and load balancing of heterogeneous resources
US11663291B2 (en) * 2020-06-12 2023-05-30 Accenture Global Solutions Limited Quantum computation for cost optimization problems
US20220084123A1 (en) * 2020-09-16 2022-03-17 Accenture Global Solutions Limited Quantum mixed integer quadratic programming and graphical user interface for portfolio optimization
CN114529002B (zh) * 2020-11-09 2024-04-12 本源量子计算科技(合肥)股份有限公司 量子连通图谱的聚团划分方法、装置、终端及存储介质
US20240248947A1 (en) * 2021-04-13 2024-07-25 D-Wave Systems Inc. Systems and methods for improving computational efficiency of processor-based devices in solving constrained quadratic models
CN114399004A (zh) * 2022-02-25 2022-04-26 上海图灵智算量子科技有限公司 模拟分叉与脑启发认知的混合聚类方法
WO2023209828A1 (ja) 2022-04-26 2023-11-02 富士通株式会社 複数量子ビットオブザーバブルのパーティショニングプログラム、複数量子ビットオブザーバブルのパーティショニング方法、および情報処理装置
US20240183670A1 (en) * 2022-12-02 2024-06-06 Fujitsu Limited Route generation for vehicle routing problem and variants thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150161524A1 (en) * 2013-12-05 2015-06-11 D-Wave Systems Inc. Sampling from a set spins with clamping
US20170255592A1 (en) * 2016-03-02 2017-09-07 1Qb Information Technologies Inc. Method and system for decomposing a problem involving discrete optimization into a plurality of smaller subproblems and use of the method for solving the problem
US20180307988A1 (en) * 2017-04-19 2018-10-25 Accenture Global Solutions Limited Solving computational tasks using quantum computing

Family Cites Families (114)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1102227A (en) 1908-01-30 1914-07-07 Baird Corn Husker Co Corn-harvesting machine.
US20150297949A1 (en) * 2007-06-12 2015-10-22 Intheplay, Inc. Automatic sports broadcasting system
US7176921B2 (en) 2000-10-20 2007-02-13 Sony Corporation Graphical rewriting system for multimedia descriptions
US20030121028A1 (en) 2001-12-22 2003-06-26 Michael Coury Quantum computing integrated development environment
TWI230130B (en) 2002-09-27 2005-04-01 Honda Motor Co Ltd Motorcycle electronic key system
US7398162B2 (en) 2003-02-21 2008-07-08 Microsoft Corporation Quantum mechanical model-based system and method for global optimization
US7135701B2 (en) 2004-03-29 2006-11-14 D-Wave Systems Inc. Adiabatic quantum computation with superconducting qubits
US20070239366A1 (en) 2004-06-05 2007-10-11 Hilton Jeremy P Hybrid classical-quantum computer architecture for molecular modeling
EP1788377B1 (en) 2004-08-11 2015-11-04 Nihon Dempa Kogyo Co., Ltd. Sensing apparatus
CN100585629C (zh) * 2004-12-23 2010-01-27 D-波系统公司 包括量子装置的模拟处理器
US7533068B2 (en) 2004-12-23 2009-05-12 D-Wave Systems, Inc. Analog processor comprising quantum devices
US7619437B2 (en) 2004-12-30 2009-11-17 D-Wave Systems, Inc. Coupling methods and architectures for information processing
US7639035B2 (en) 2005-04-26 2009-12-29 D-Wave Systems, Inc. Qubit state copying
US7898282B2 (en) 2005-04-26 2011-03-01 D-Wave Systems Inc. Systems, devices, and methods for controllably coupling qubits
WO2010148120A2 (en) 2009-06-17 2010-12-23 D-Wave Systems Inc. Systems and methods for solving computational problems
US7624088B2 (en) 2005-08-03 2009-11-24 D-Wave Systems Inc. Analog processor comprising quantum devices
KR101309677B1 (ko) 2006-01-27 2013-09-17 디-웨이브 시스템즈, 인코포레이티드 단열 양자 연산 방법
US7870523B1 (en) 2006-06-15 2011-01-11 Cadence Design Systems, Inc. System and method for test generation with dynamic constraints using static analysis and multidomain constraint reduction
WO2007147243A1 (en) 2006-06-20 2007-12-27 D-Wave Systems Inc. Systems, devices, and methods for solving computational problems
US7877333B2 (en) 2006-09-06 2011-01-25 D-Wave Systems Inc. Method and system for solving integer programming and discrete optimization problems using analog processors
US7870087B2 (en) 2006-11-02 2011-01-11 D-Wave Systems Inc. Processing relational database problems using analog processors
US7984012B2 (en) 2006-11-02 2011-07-19 D-Wave Systems Inc. Graph embedding techniques
US20090077001A1 (en) 2006-11-02 2009-03-19 William Macready Integrating optimization directly into databases
JP5313912B2 (ja) 2006-12-05 2013-10-09 ディー−ウェイブ システムズ,インコーポレイテッド 量子プロセッサ要素の局所的プログラミングのためのシステム、方法、および装置
WO2008083498A1 (en) 2007-01-12 2008-07-17 D-Wave Systems, Inc. Systems, devices and methods for interconnected processor topology
JP2010525431A (ja) 2007-04-19 2010-07-22 ディー−ウェイブ システムズ,インコーポレイテッド 自動画像認識用のシステム、方法、および装置
US20080313430A1 (en) 2007-06-12 2008-12-18 Bunyk Paul I Method and system for increasing quantum computer processing speed using digital co-processor
US8670807B2 (en) 2007-08-21 2014-03-11 D-Wave Systems Inc. Systems, methods, and apparatus for controlling the elements of superconducting processors
US20090070402A1 (en) 2007-09-11 2009-03-12 Geordie Rose Systems, methods, and apparatus for a distributed network of quantum computers
US8190548B2 (en) 2007-11-08 2012-05-29 D-Wave Systems Inc. Systems, devices, and methods for analog processing
US8832165B2 (en) * 2007-12-12 2014-09-09 Lockheed Martin Corporation Computer systems and methods for quantum verification and validation
WO2009086430A2 (en) 2007-12-28 2009-07-09 D-Wave Systems Inc. Systems, methods, and apparatus for cryogenic refrigeration
US8260144B2 (en) 2008-03-12 2012-09-04 Hypres Inc. Digital radio frequency tranceiver system and method
WO2009120638A2 (en) 2008-03-24 2009-10-01 D-Wave Systems Inc. Systems, devices, and methods for analog processing
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
WO2009152180A2 (en) * 2008-06-10 2009-12-17 D-Wave Systems Inc. Parameter learning system for solvers
US8063657B2 (en) 2008-06-13 2011-11-22 D-Wave Systems Inc. Systems and devices for quantum processor architectures
CA2738669C (en) 2008-10-09 2019-02-26 D-Wave Systems, Inc. Systems, methods and apparatus for measuring magnetic fields
US10169445B2 (en) * 2008-11-07 2019-01-01 The Board Of Trustees Of The Leland Stanford Junior University Systems and methods for determining optimal parameters for dynamic quantum clustering analyses
US8745622B2 (en) 2009-04-22 2014-06-03 International Business Machines Corporation Standalone software performance optimizer system for hybrid systems
US8494993B2 (en) 2009-06-26 2013-07-23 D-Wave Systems Inc. Systems and methods for quantum computation using real physical hardware
US8301214B1 (en) 2010-01-08 2012-10-30 Hypres, Inc. System and method for providing multi-conductive layer metallic interconnects for superconducting integrated circuits
EP2638448B1 (en) 2010-11-11 2019-01-02 D-Wave Systems Inc. Systems and methods for superconducting flux qubit readout
US8977576B2 (en) 2010-11-19 2015-03-10 D-Wave Systems Inc. Methods for solving computational problems using a quantum processor
CA2840958C (en) 2011-07-06 2018-03-27 D-Wave Systems Inc. Quantum processor based systems and methods that minimize an objective function
US20130117200A1 (en) 2011-11-09 2013-05-09 D-Wave Systems Inc. Systems and methods for optimization of investment portfolios
US9396440B2 (en) 2012-04-19 2016-07-19 D-Wave Systems Inc. Systems and methods for solving combinatorial problems
US9178154B2 (en) 2012-10-09 2015-11-03 D-Wave Systems Inc. Quantum processor comprising a second set of inter-cell coupling devices where a respective pair of qubits in proximity adjacent unit cells crossed one another
US9501747B2 (en) 2012-12-18 2016-11-22 D-Wave Systems Inc. Systems and methods that formulate embeddings of problems for solving by a quantum processor
US9207672B2 (en) 2013-01-25 2015-12-08 D-Wave Systems Inc. Systems and methods for real-time quantum computer-based control of mobile systems
US9471880B2 (en) * 2013-04-12 2016-10-18 D-Wave Systems Inc. Systems and methods for interacting with a quantum computing system
US9424526B2 (en) * 2013-05-17 2016-08-23 D-Wave Systems Inc. Quantum processor based systems and methods that minimize a continuous variable objective function
US9727824B2 (en) * 2013-06-28 2017-08-08 D-Wave Systems Inc. Systems and methods for quantum processing of data
US10318881B2 (en) 2013-06-28 2019-06-11 D-Wave Systems Inc. Systems and methods for quantum processing of data
US9183508B2 (en) 2013-08-07 2015-11-10 D-Wave Systems Inc. Systems and devices for quantum processor architectures
US9588940B2 (en) * 2013-12-05 2017-03-07 D-Wave Systems Inc. Sampling from a set of spins with clamping
GB2524039A (en) 2014-03-12 2015-09-16 Nokia Technologies Oy Method and apparatus for adiabatic quantum annealing
AU2015229255A1 (en) 2014-03-12 2016-09-29 Temporal Defense Systems, Llc Solving digital logic constraint problems via adiabatic quantum computation
WO2015143439A1 (en) * 2014-03-21 2015-09-24 Google Inc. Chips including classical and quantum computing processors
US9425804B2 (en) 2014-06-06 2016-08-23 Wisconsin Alumni Research Foundation System and method for controlling superconducting quantum circuits using single flux quantum logic circuits
US10769545B2 (en) 2014-06-17 2020-09-08 D-Wave Systems Inc. Systems and methods employing new evolution schedules in an analog computer with applications to determining isomorphic graphs and post-processing solutions
US20160034423A1 (en) * 2014-08-04 2016-02-04 Microsoft Corporation Algorithm for Optimization and Sampling
CA2901048C (en) 2014-08-20 2022-09-27 Lockheed Martin Corporation Heuristic graph embedding methods for adiabatic quantum computation optimization
WO2016029172A1 (en) * 2014-08-22 2016-02-25 D-Wave Systems Inc. Systems and methods for problem solving, useful for example in quantum computing
US10552755B2 (en) 2014-08-22 2020-02-04 D-Wave Systems Inc. Systems and methods for improving the performance of a quantum processor to reduce intrinsic/control errors
US10031887B2 (en) 2014-09-09 2018-07-24 D-Wave Systems Inc. Systems and methods for improving the performance of a quantum processor via reduced readouts
US9898689B2 (en) * 2014-11-06 2018-02-20 Qualcomm Incorporated Nonparametric model for detection of spatially diverse temporal patterns
WO2016182608A2 (en) 2015-02-10 2016-11-17 D-Wave Systems Inc. Systems, devices, articles, and methods for quantum processor architecture
US10452989B2 (en) * 2015-05-05 2019-10-22 Kyndi, Inc. Quanton representation for emulating quantum-like computation on classical processors
ES2850151T3 (es) 2015-06-29 2021-08-25 Parity Quantum Computing GmbH Dispositivo y procedimiento de procesamiento cuántico
EP3338222A4 (en) * 2015-08-19 2019-05-01 D-Wave Systems Inc. SYSTEMS AND METHODS FOR MACHINE LEARNING USING QUANTIC ADIABATIC COMPUTERS
US11062227B2 (en) * 2015-10-16 2021-07-13 D-Wave Systems Inc. Systems and methods for creating and using quantum Boltzmann machines
US11100416B2 (en) * 2015-10-27 2021-08-24 D-Wave Systems Inc. Systems and methods for degeneracy mitigation in a quantum processor
CA2947578C (en) 2015-11-04 2019-11-26 1Qb Information Technologies Inc. Method and system for generating an embedding pattern used for solving a quadratic binary optimization problem
US11113620B2 (en) * 2015-12-30 2021-09-07 Google Llc Enhancing simulated annealing with quantum annealing
US10268622B2 (en) 2016-01-29 2019-04-23 D-Wave Systems Inc. Systems and methods for increasing analog processor connectivity
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
US10789540B2 (en) 2016-04-18 2020-09-29 D-Wave Systems Inc. Systems and methods for embedding problems into an analog processor
CA3022037C (en) * 2016-04-25 2021-09-21 Google Llc Quantum assisted optimization
CA3022167C (en) * 2016-05-09 2021-07-20 1Qb Information Technologies Inc. Method and system for improving a policy for a stochastic control problem
US10044638B2 (en) 2016-05-26 2018-08-07 1Qb Information Technologies Inc. Methods and systems for quantum computing
US11507871B2 (en) 2016-06-07 2022-11-22 D-Wave Systems Inc. Systems and methods for quantum processor topology
US20180046933A1 (en) 2016-08-11 2018-02-15 Board Of Regents, The University Of Texas System System and method for controlling a quantum computing emulation device
WO2018064535A1 (en) 2016-09-30 2018-04-05 Rigetti & Co., Inc. Simulating quantum systems with quantum computation
KR101945599B1 (ko) * 2016-12-12 2019-02-07 서울시립대학교 산학협력단 양자점 기반의 양자역학적 인공 시각 시스템 및 연산 방법
WO2018119522A1 (en) * 2016-12-30 2018-07-05 1Qb Information Technologies Inc. Methods and systems for unified quantum computing frameworks
US10346508B2 (en) 2017-01-12 2019-07-09 D-Wave Systems Inc. Re-equilibrated quantum sampling
US20180260245A1 (en) 2017-03-10 2018-09-13 Rigetti & Co, Inc. Event Scheduling in a Hybrid Computing System
US10902089B2 (en) * 2017-05-22 2021-01-26 United States Of America As Represented By The Secretary Of The Air Force Method for predicting stochastic output performance or scaling stochastic inputs
WO2018236925A1 (en) 2017-06-19 2018-12-27 Rigetti & Co, Inc. QUANTICALLY DISTRIBUTED COMPUTING SYSTEM
US11281987B2 (en) 2017-11-28 2022-03-22 Duke University Software-defined quantum computer
US10846366B1 (en) * 2017-12-12 2020-11-24 Rigetti & Co, Inc. Selecting parameters for a quantum approximate optimization algorithm (QAOA)
US11194573B1 (en) 2018-02-09 2021-12-07 Rigetti & Co, Llc Streaming execution for a quantum processing system
US11481354B2 (en) 2018-04-24 2022-10-25 D-Wave Systems Inc. Systems and methods for calculating the ground state of non-diagonal Hamiltonians
TW202007091A (zh) * 2018-07-02 2020-02-01 美商札帕塔運算股份有限公司 藉由量子自動編碼器進行之壓縮的無監督量子態準備
US11568293B2 (en) * 2018-07-18 2023-01-31 Accenture Global Solutions Limited Quantum formulation independent solver
US11087232B2 (en) 2018-07-18 2021-08-10 IonQ, Inc. Quantum hybrid computation
US10977111B2 (en) 2018-08-28 2021-04-13 Amazon Technologies, Inc. Constraint solver execution service and infrastructure therefor
WO2020047426A1 (en) 2018-08-30 2020-03-05 Rigetti & Co, Inc. Low-latency, high-performance hybrid computing
JP7349175B2 (ja) * 2018-09-13 2023-09-22 ザ ユニバーシティ オブ シカゴ 量子コンピュータの命令を最適化するシステム及び方法
US10657212B2 (en) 2018-09-18 2020-05-19 International Business Machines Corporation Application- or algorithm-specific quantum circuit design
US11593174B2 (en) 2018-10-16 2023-02-28 D-Wave Systems Inc. Systems and methods for scheduling programs for dedicated execution on a quantum processor
JP2022511331A (ja) * 2018-10-24 2022-01-31 ザパタ コンピューティング,インコーポレイテッド 量子ボルツマンマシンを実装及び最適化するためのハイブリッド量子古典コンピュータシステム
US10592816B1 (en) 2018-12-03 2020-03-17 Accenture Global Solutions Limited Quantum computation for optimization in exchange systems
WO2020131798A1 (en) 2018-12-17 2020-06-25 Google Llc Majorana loop stabilizer codes for error correction of fermionic quantum simulations
US10902085B2 (en) * 2019-01-15 2021-01-26 International Business Machines Corporation Solving mixed integer optimization problems on a hybrid classical-quantum computing system
JP7535049B2 (ja) * 2019-01-17 2024-08-15 ディー-ウェイブ システムズ インコーポレイテッド クラスタ収縮を使用するハイブリッドアルゴリズムのためのシステム及び方法
US11620534B2 (en) 2019-03-18 2023-04-04 International Business Machines Corporation Automatic generation of Ising Hamiltonians for solving optimization problems in quantum computing
US11593695B2 (en) 2019-03-26 2023-02-28 D-Wave Systems Inc. Systems and methods for hybrid analog and digital processing of a computational problem using mean fields
WO2020214910A1 (en) * 2019-04-19 2020-10-22 Zapata Computing, Inc. Simulating errors of a quantum device using variational quantum channels
US11714730B2 (en) 2019-08-20 2023-08-01 D-Wave Systems Inc. Systems and methods for high availability, failover and load balancing of heterogeneous resources
US20210097776A1 (en) * 2019-09-28 2021-04-01 Apple Inc. Devices, Methods, and Graphical User Interfaces for Interacting with Three-Dimensional Environments
US20230042979A1 (en) 2019-12-20 2023-02-09 D-Wave Systems Inc. Systems and methods of hybrid algorithms for solving discrete quadratic models
US20240248947A1 (en) 2021-04-13 2024-07-25 D-Wave Systems Inc. Systems and methods for improving computational efficiency of processor-based devices in solving constrained quadratic models

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150161524A1 (en) * 2013-12-05 2015-06-11 D-Wave Systems Inc. Sampling from a set spins with clamping
US20170255592A1 (en) * 2016-03-02 2017-09-07 1Qb Information Technologies Inc. Method and system for decomposing a problem involving discrete optimization into a plurality of smaller subproblems and use of the method for solving the problem
US20180307988A1 (en) * 2017-04-19 2018-10-25 Accenture Global Solutions Limited Solving computational tasks using quantum computing

Also Published As

Publication number Publication date
CN113544711B (zh) 2024-08-02
CN113544711A (zh) 2021-10-22
JP7535049B2 (ja) 2024-08-15
US11900216B2 (en) 2024-02-13
US11537926B2 (en) 2022-12-27
US20200234172A1 (en) 2020-07-23
WO2020150156A1 (en) 2020-07-23
US20230169378A1 (en) 2023-06-01

Similar Documents

Publication Publication Date Title
JP2022517100A (ja) クラスタ収縮を使用するハイブリッドアルゴリズムのためのシステム及び方法
Abd Elaziz et al. A Grunwald–Letnikov based Manta ray foraging optimizer for global optimization and image segmentation
US10846366B1 (en) Selecting parameters for a quantum approximate optimization algorithm (QAOA)
US12067075B1 (en) Solving optimization problems using a hybrid computer system
Vondrous et al. Parallel computing for phase-field models
US7647215B2 (en) Modeling directed scale-free object relationships
US20220067245A1 (en) Low-cost linear orders for quantum-program simulation
US11776666B2 (en) Simulating electronic structure with quantum annealing devices and artificial neural networks
US20230042979A1 (en) Systems and methods of hybrid algorithms for solving discrete quadratic models
Shao et al. Accurately solving rod dynamics with graph learning
Kelany et al. Quantum annealing approaches to the phase-unwrapping problem in synthetic-aperture radar imaging
Kofler et al. Kd-tree based n-body simulations with volume-mass heuristic on the GPU
Solomon The Microscopic Representation of Complex Macroscopic Phenomena; Critical Slowing Down-A blessing in Disguise
Kumari et al. Approximation and updation of betweenness centrality in dynamic complex networks
Baioletti et al. A performance analysis of Basin hopping compared to established metaheuristics for global optimization
JP2024155921A (ja) クラスタ収縮を使用するハイブリッドアルゴリズムのためのシステム及び方法
Eckhardt et al. On-the-fly memory compression for multibody algorithms
Qin Stacking with Time-dependent and Covariate-dependent Weights with Survival Data
WO2024157507A1 (ja) モデル評価装置、モデル評価方法、プログラム
Jia et al. Bayesian optimization considering constrained boundary exploration
WO2022264414A1 (ja) シミュレーテッドアニーリング装置およびシミュレーテッドアニーリング方法
Nguyen et al. High resolution self-organizing maps
Zaslavsky et al. Accelerating the neighbor-joining algorithm using the adaptive bucket data structure
Chandramouli et al. Efficient Parallel Algorithms for Computing Percolation Centrality
Sullivan et al. Merging Data Science and Large Scale Computational Modeling

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230111

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231211

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240312

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240606

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20240612

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240802

R150 Certificate of patent or registration of utility model

Ref document number: 7535049

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150