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

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

▶ 富士通株式会社の特許一覧

特開2024-58604量子コンピュータを用いた浅い回路上での最適化問題の解法
<>
  • 特開-量子コンピュータを用いた浅い回路上での最適化問題の解法 図1
  • 特開-量子コンピュータを用いた浅い回路上での最適化問題の解法 図2
  • 特開-量子コンピュータを用いた浅い回路上での最適化問題の解法 図3
  • 特開-量子コンピュータを用いた浅い回路上での最適化問題の解法 図4
  • 特開-量子コンピュータを用いた浅い回路上での最適化問題の解法 図5
  • 特開-量子コンピュータを用いた浅い回路上での最適化問題の解法 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024058604
(43)【公開日】2024-04-25
(54)【発明の名称】量子コンピュータを用いた浅い回路上での最適化問題の解法
(51)【国際特許分類】
   G06N 10/60 20220101AFI20240418BHJP
   G06N 10/40 20220101ALI20240418BHJP
【FI】
G06N10/60
G06N10/40
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2023170172
(22)【出願日】2023-09-29
(31)【優先権主張番号】18/046,186
(32)【優先日】2022-10-13
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.ZIGBEE
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】リィウ・シアオユアヌ
(72)【発明者】
【氏名】ウパデアーエ・サルバギア
(72)【発明者】
【氏名】ゴーシュ・インドラディープ
(57)【要約】      (修正有)
【課題】量子コンピュータを用いた浅い回路上での最適化問題の解法を提供する。
【解決手段】コンピューティング環境100において、システム102の動作は、現実世界の最適化問題に関連付けられたノード・ベースのグラフを含む入力を受信することと、ノード・ベースのグラフからエッジのサブセットを除去することによって疎グラフを生成することと、疎グラフに基づいて量子コンピュータ上で量子回路の演算子を定式化することと、最適化問題のためのコスト関数を定式化することと、量子コンピュータ上で量子回路を動作させて結果を生成し、結果を使用してコスト関数の値を推定し、値に基づいて演算子のパラメータを更新することを含む動作の集合を実行することと、コスト関数の推定された値が所定の閾値に近づくまで、更新されたパラメータを使用して動作の集合の実行を繰り返すことによって、最適化問題の最終的な解を生成することと、を含む。
【選択図】図1
【特許請求の範囲】
【請求項1】
現実世界の最適化問題に関連付けられたノード・ベースのグラフを含む入力を受領する段階と;
前記ノード・ベースのグラフからエッジのサブセットを除去することによって疎グラフを生成する段階と;
前記疎グラフに基づいて量子コンピュータ上で量子回路の演算子を定式化する段階と;
前記現実世界の最適化問題のためのコスト関数を定式化する段階と;
動作の集合であって:
前記量子コンピュータ上で前記量子回路を動作させて結果を生成し;
前記結果を使用して前記コスト関数の値を推定し;
前記値に基づいて前記量子回路において前記演算子のパラメータを更新することを含む、動作の集合を実行する段階と;
前記コスト関数の推定された値が事前定義された閾値に近づくまで、更新されたパラメータを使用して動作の前記集合の実行を繰り返すことによって、前記現実世界の最適化問題の最終的な解を生成する段階とを含む、
方法。
【請求項2】
前記現実世界の最適化問題は、グラフ・ベース最適化問題であり、前記ノード・ベースのグラフは、前記ノード・ベースのグラフの複数のノード間の関係を、前記複数のノードのノード対の間のエッジを通じて記述する、請求項1に記載の方法。
【請求項3】
前記グラフ・ベースの最適化問題は、最大カット問題である、請求項2に記載の方法。
【請求項4】
超大規模集積(VLSI)チップ設計タスクの2層ビア最小化問題に関連する入力データとしてチップの一過性のルーティング・データを受領する段階と;
前記一過性のルーティング・データに基づいて前記チップについてのレイアウト・グラフを構築する段階と;
前記レイアウト・グラフに基づいて、前記2層ビア最小化問題を最大カット問題として定式化する段階とをさらに含み、
前記ノード・ベースのグラフは前記レイアウト・グラフであり、前記コスト関数は前記最大カット問題についての目的関数をエンコードし、前記最終的な解は前記最大カット問題の解であり、前記レイアウト・グラフが最小の総ビアをもつ2つのグラフに分割されるような前記チップのレイアウト割り当てを含む、
請求項1に記載の方法。
【請求項5】
データ・クラスタリング問題に関連付けられた入力データとして、データセットのデータポイントに対応する属性および前記データポイント間の類似性メトリックを受領する段階と;
前記類似性メトリックおよび前記属性に基づいて、前記データポイントのすべての対についての隣接行列を生成する段階であって、
前記隣接行列は、前記データセットの前記データポイントの重み付けされた無向グラフ表現を定義する、段階と;
前記データ・クラスタリング問題を、前記隣接行列に基づく最小‐最大カット問題として定式化する段階であって、
前記ノード・ベースのグラフは、前記データポイントの前記重み付けされた無向グラフ表現であり、
前記コスト関数は、前記最小‐最大カット問題についての目的関数をエンコードし、
前記最終的な解は、前記最小‐最大カット問題の解であり、前記データポイントの、クラスターの集合への分割を含む、
請求項1に記載の方法。
【請求項6】
前記ノード・ベースのグラフは、重み付けされたグラフまたは重み付けされていないグラフである、請求項1に記載の方法。
【請求項7】
前記疎グラフは、グラフ近似関数、ヒューリスティック、または確率的グラフ疎化関数を使用することによって生成される、請求項1に記載の方法。
【請求項8】
前記入力は、前記ノード・ベースのグラフの疎化のためのターゲット比をさらに含み、
前記サブセット内のエッジの数と前記ノード・ベースのグラフ内の前記エッジの数との比が前記ターゲット比以下になるように、前記エッジの前記サブセットが除去される、
請求項1に記載の方法。
【請求項9】
前記量子回路は、前記演算子のための量子論理ゲートの集合と、前記演算子および前記量子論理ゲートがその上で動作するように構成されているキュービットの集合とを含む量子近似最適化アルゴリズム(QAOA)回路である、請求項1に記載の方法。
【請求項10】
キュービットの前記集合は、前記疎グラフの少なくとも1つのノード対に対応する、請求項1に記載の方法。
【請求項11】
前記演算子は、前記疎グラフが重み付けされていないグラフである位相演算子を含み、前記位相演算子は、前記疎グラフの各エッジについて第1のパラメータ(γ)を含むように定式化される、請求項1に記載の方法。
【請求項12】
前記演算子は、混合演算子を含み、前記混合演算子は、前記混合演算子について第2のパラメータ(β)を含むように定式化される、請求項1に記載の方法。
【請求項13】
前記コスト関数の値の前記推定および前記演算子の前記パラメータの前記更新は、一組の反復工程にわたってトランジスタ・ベースのコンピュータ上で最適化関数を実行することによって実行される、請求項1に記載の方法。
【請求項14】
前記最終的な解は、前記量子コンピュータによって生成され、かつ、それについて前記コスト関数の前記推定された値が前記事前定義された閾値に近づく前記結果に基づいて、生成される、請求項1に記載の方法。
【請求項15】
前記結果はビット・ストリングであり、前記最終的な解は前記現実世界の最適化問題の未知変数についての値を含む、請求項1に記載の方法。
【請求項16】
命令を記憶するように構成された非一時的なコンピュータ可読記憶媒体であって、前記命令は、実行されることに応答して、システムに動作を実行させ、前記動作は:
現実世界の最適化問題に関連付けられたノード・ベースのグラフを含む入力を受領する段階と;
前記ノード・ベースのグラフからエッジのサブセットを除去することによって疎グラフを生成する段階と;
前記疎グラフに基づいて、前記システムの量子コンピュータ上で量子回路の演算子を定式化する段階と;
前記現実世界の最適化問題のためのコスト関数を定式化する段階と;
動作の集合であって:
前記量子コンピュータ上で前記量子回路を動作させて結果を生成し;
前記結果を使用して前記コスト関数の値を推定し;
前記値に基づいて前記量子回路において前記演算子のパラメータを更新することを含む、動作の集合を実行する段階と;
前記コスト関数の推定された値が事前定義された閾値に近づくまで、更新されたパラメータを使用して動作の前記集合の実行を繰り返すことによって、前記現実世界の最適化問題の最終的な解を生成する段階とを含む、
非一時的なコンピュータ可読記憶媒体。
【請求項17】
前記量子回路は、前記演算子のための量子論理ゲートの集合と、前記演算子および前記量子論理ゲートがその上で動作するように構成されているキュービットの集合とを含む量子近似最適化アルゴリズム(QAOA)回路である、請求項16に記載の非一時的なコンピュータ可読記憶媒体。
【請求項18】
前記演算子は:
位相演算子であって、該位相演算子については前記疎グラフが重み付けされていないグラフであり、前記位相演算子は、前記疎グラフの各エッジについて第1のパラメータ(γ)を含むように定式化される、位相演算子と;
混合演算子であって、前記混合演算子は、前記混合演算子について第2のパラメータ(β)を含むように定式化される、混合演算子とを含む、
請求項16に記載の非一時的なコンピュータ可読記憶媒体。
【請求項19】
前記最終的な解は、前記量子コンピュータによって生成され、かつ、それについて前記コスト関数の前記推定された値が前記事前定義された閾値に近づく前記結果に基づいて、生成され、
前記結果はビット・ストリングであり、前記最終的な解は前記現実世界の最適化問題の未知変数についての値を含む、
請求項14に記載の非一時的なコンピュータ可読記憶媒体。
【請求項20】
一つまたは複数のプロセッサを有するシステムであって、
前記一つまたは複数のプロセッサは:
現実世界の最適化問題に関連付けられたノード・ベースのグラフを含む入力を受領する段階と;
前記ノード・ベースのグラフからエッジのサブセットを除去することによって疎グラフを生成する段階と;
前記疎グラフに基づいて前記システムの量子コンピュータ上で量子回路の演算子を定式化する段階と;
前記現実世界の最適化問題のためのコスト関数を定式化する段階と;
動作の集合であって:
前記量子コンピュータ上で前記量子回路を動作させて結果を生成することと;
前記結果を使用して前記コスト関数の値を推定することと;
前記値に基づいて前記量子回路において前記演算子のパラメータを更新することを含む、動作の集合を実行する段階と;
前記コスト関数の推定された値が事前定義された閾値に近づくまで、更新されたパラメータを使用して動作の前記集合の実行を繰り返すことによって、前記現実世界の最適化問題の最終的な解を生成する段階とを実行するように構成されている、
システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示で論じられる実施形態は、量子コンピュータを使用して浅い回路上で最適化問題を解くことに関する。
【背景技術】
【0002】
近い将来の量子デバイス上での組み合わせ最適化は、量子の利点を実証するための有望な経路でありうる。しかしながら、これらのデバイスの能力は、高い雑音または誤り率によって制約されることがある。量子近似最適化アルゴリズム(Quantum Approximate Optimization Algorithm、QAOA)は、近い将来の量子デバイスを使用して最適化における量子の利点を実証するための有望な候補アルゴリズムである。しかしながら、ハードウェアの接続性の制限に起因して、ハードウェア接続性と整列されないことがありうるグラフについては、目的関数をエンコードする位相演算子を実装するために、追加のゲートが必要とされることがある。多くのグラフ・ベースの最適化問題について、従来のQAOAアプローチは、最適化のために所望されるよりも多くの量子資源を利用することがある。
【0003】
本開示において特許請求される主題は、何らかの欠点を解決する実施形態、または上述したような環境においてのみ動作する実施形態に限定されない。むしろ、この背景は、本開示で説明されるいくつかの実施形態が実施されうる1つの例示的な技術領域を示すために提供されるにすぎない。
【発明の概要】
【課題を解決するための手段】
【0004】
本開示のある側面によれば、動作は、現実世界の最適化問題に関連付けられたノード・ベースのグラフを含む入力を受信することと、前記ノード・ベースのグラフからエッジのサブセットを除去することによって疎グラフを生成することとを含みうる。動作は、前記疎グラフに基づいてゲート・ベースの量子コンピュータ上で量子回路の演算子を定式化することと、前記現実世界の最適化問題のためのコスト関数を定式化することとをさらに含みうる。動作は、ゲート・ベース量子コンピュータ上で量子回路を動作させて結果を生成し、前記結果を使用して前記コスト関数の値を推定し、前記値に基づいて前記演算子のパラメータを更新することを含みうる、動作の集合を実行することをさらに含みうる。動作は、前記コスト関数の推定された値が所定の閾値に近づくまで、更新されたパラメータを使用して動作の前記集合の実行を繰り返すことによって、前記現実世界の最適化問題の最終的な解を生成することをさらに含んでいてもよい。
【0005】
実施形態の目的および利点は、少なくとも、特許請求の範囲において特に指摘される要素、特徴、および組み合わせによって実現および達成される。
【0006】
前述の一般的な説明および以下の詳細な説明の両方は、例として与えられ、説明的であり、特許請求される本発明を限定するものではない。
【図面の簡単な説明】
【0007】
例示的な実施形態は、添付の図面の使用を通じて追加の特異性および具体性および詳細をもって記載および説明される。
【0008】
図1】量子コンピュータを使用して浅い回路上で最適化問題を解くための例示的なコンピューティング環境を表す図である。
【0009】
図2】量子コンピュータを使用して浅い回路上で最適化問題を解くための例示的な方法のフローチャートである。
【0010】
図3】量子コンピュータを使用して浅い回路上でビア最小化問題を解くための例示的な動作を示す図である。
【0011】
図4】量子コンピュータを使用して浅い回路上でデータ・クラスタリング問題を解くための例示的な動作を示す図である。
【0012】
図5】量子コンピュータを使用して浅い回路上で最適化問題を解くためのシステムのブロック図である。
【0013】
図6】量子コンピュータを使用して浅い回路上で最適化問題を解くためのpレベルの量子近似最適化アルゴリズム(QAOA)の概略図である。
【0014】
みな、本開示に記載された少なくとも1つの実施形態に従う。
【発明を実施するための形態】
【0015】
本発明の実施形態について、添付の図面を参照して説明する。
【0016】
本開示で説明されるいくつかの実施形態は、ゲート・ベースの量子コンピュータなどの量子コンピュータを使用して、浅い回路上で最適化問題を解くための方法およびシステムに関する。量子コンピューティングは、多様な用途のために非常に有望であり、そのことは必要な物理的ハードウェアを開発するための探求を刺激してきた。量子アルゴリズムは、古典的な方法よりも指数関数的にスピードアップして、数を因数分解し、量子系をシミュレートし、あるいは連立方程式を解くことができる。非常に高い計算コストのために、複雑な量子系のシミュレーションまたは大規模な線形代数問題を解くなどの応用は、古典的なコンピュータにとっては非常に困難でありうる。フォールトトレラントな量子コンピュータが近い将来利用可能になる可能性は低いと思われるが、量子コンピュータ、特にゲート・ベースの量子コンピュータは、解決策を約束する。現在の量子デバイスは、限られた数のキュービットおよび回路深さを制限するノイズ過程など、かなり制限を有する。
【0017】
量子近似最適化アルゴリズム(QAOA)などのハイブリッドな量子‐古典アルゴリズムは、近い将来の量子コンピュータ上での最適化における量子の利点を実証するための有望な候補と見なされうる。QAOAは、典型的には、グラフ・ベースの最適化のような組み合わせ最適問題の近似解を得るために使用される。量子コンピュータへの各呼び出しにおいて、交互の量子演算子のペアのシーケンスを適用することによって、試行状態が準備されうる。2つの交互の演算子は、位相演算子〔フェーズ・オペレーター〕(これは、組み合わせ最適化問題の目的関数をエンコードする)および混合演算子〔ミキシング・オペレーター〕と呼ばれることがある。
【0018】
QAOAを改善するためのさまざまなアプローチが研究されてきた。典型的には、これらのアプローチは、QAOAパラメータを最適化すること、異なる混合演算子を設計すること、さまざまな初期化戦略およびコスト関数を使用すること、エラー緩和方式を導入すること、追加のパラメータを導入すること、問題固有のインスタンス固有のアンザッツを構築することなどを含む。しかしながら、ハードウェア接続性、高い誤り率、および近い将来の量子デバイス上のゲートの限られた忠実度などの要因が、特に回路の深さが増大しているときに、そのようなハイブリッド・アルゴリズムの性能を著しく制限する可能性がある。QAOAは、位相分離演算子において目的関数をエンコードする必要があり、ハードウェア接続性に潜在的にマッチしない多数のゲートを必要とするため、ゲート忠実度に対する高い要件を有する。ハードウェアの接続性の制限により、ハードウェア接続性と整合しないグラフについて、目的関数をエンコードする位相演算子を実装するために追加のゲートが必要とされることがある。
【0019】
本開示は、最適化問題の解に対して受け入れ可能な精度を提供しながら、ゲート・ベースの量子コンピュータにおいて利用可能な量子資源の効率的な利用に役立つ解決策を提供することによって、すべてのそのような問題に取り組みうる。本開示は、量子コンピュータ(たとえば、ゲート・ベースの量子計算機)および古典的なコンピュータ(すなわち、トランジスタ・ベースのコンピュータ)が一緒になって動作を実行して、現実世界の最適化問題を、該問題を最大カット問題(max-cut problem)などのグラフ・ベースの最適化問題としてモデル化し、該グラフ・ベースの問題に対してQAOAを使用することによって、現実世界の最適化問題を解く、ハイブリッド・コンピューティング・システムを開示する。本開示は、二次形式の任意の一般的な最適化に適用されてもよく、スピングラスのイジングモデル、モジュラリティ最大化、VLSI回路設計、符号付きグラフにおける最大平衡サブグラフ、データ・クラスタリング、Maximum-2-Satなどの多くの用途を含むことができる。
【0020】
本開示は、密なグラフ(すなわち、ノードおよびエッジを有するノード・ベースのグラフ)を受け取ってもよく、古典的な近似アルゴリズムまたはヒューリスティック・アルゴリズムを利用して、該密なグラフを疎化し、疎グラフを生成するための初期解を与えることができる。疎グラフ(重みなし)は、QAOA回路(すなわち、量子回路)の位相演算子を定式化するために使用されうる。追加の古典的パラメータが、QAOA回路において位相演算子および混合演算子に導入されてもよい。位相演算子において、重み付けされていないグラフ(すなわち重みなしの疎グラフ)を使用することによって、位相演算子のためのエネルギー・ランドスケープはよりなめらかでありえ、最適化は実行するのがより容易でありうる。
【0021】
本開示で説明する方法は、本開示で開示する方法のための量子資源が従来のアプローチと比較して少ないので、NISQデバイスに適用可能でありうる。本開示は、(たとえば量子回路内のゲート数を減らし、密なグラフの代わりに疎なグラフを使用することによって)量子資源を節約する一方で、多くの場合において匹敵する、またはさらに良好な近似比を達成する方法を提供することができる。本開示の量子回路は、より浅く、NISQデバイスにより好適でありうる。
【0022】
図1は、本開示で説明される少なくとも1つの実施形態による、量子コンピュータを使用して浅い回路上で最適化問題を解くための例示的なコンピューティング環境を表す図である。図1を参照すると、コンピューティング環境100が示されている。コンピューティング環境100は、システム102と、データベース106を格納するホスト端末104と、表示デバイス108とを含む。システム102は、量子コンピュータ110およびコントローラ112を含む。さらに示されるように、量子回路114は、量子コンピュータ110上に実装されてもよく、最適化器116は、コントローラ112上に実装されてもよい。ある種の実施形態では、システム102は、ハイブリッド量子‐古典ループ118を実装する最適化ソルバー・マシンと称されうる。システム102、ホスト端末104、および表示デバイス108は、通信ネットワーク(図示せず)を介して、互いに通信上結合されうる。
【0023】
システム102は、オンプレミス・コンピューティング環境またはクラウド・コンピューティング環境の一部であってもよい。システム102は、組み合わせ最適問題を解くための量子近似最適化アルゴリズム(QAOA)などのハイブリッドな量子‐古典アルゴリズムに関連する動作を実行するように構成されうる適切な論理、回路、およびインターフェースを含みうる。QAOAアルゴリズムは、量子コンピュータ110および古典的コンピュータ(すなわち、コントローラ112)の資源を使用して、現実世界の最適化問題を解くために好適でありうる。現実世界の最適化問題は、重み付けされた最大カット、重み付けされない最大カット、または最小‐最大カットなどのグラフ・ベースの問題として定式化することができる任意の最適化問題でありうる。最大カットについては、目標は典型的には、グラフ(G)の頂点(V)の集合を2つの分離した部分に分割して、2つの部分にまたがるエッジの数が最大化されるようにすることである。現実世界の最適化問題の例は、スピングラスのイジングモデル、モジュラリティ最大化の問題、VLSI回路設計(たとえば、ビア最小化問題)、データ・クラスタリング問題、符号付きグラフにおける最大平衡サブグラフの決定、またはmaximum-2-Sat問題を含みうるが、これらに限定されない。
【0024】
ホスト端末104は、現実世界の最適化問題を構成および提出するためのオプション(複数可)を有するユーザーインターフェース(UI)を表示するように構成されうる適切な論理、回路、およびインターフェースを含みうる。ホスト端末104は、ネットワーク・インターフェースを介してシステム102と通信しうる。ホスト端末104の例は、モバイルデバイス、デスクトップコンピュータ、ラップトップ、仮想マシン、コンピュータワークステーション、またはクラウドサーバー等のサーバーを含んでいてもよいが、それらに限定されない。ホスト端末104は、最適化問題を構成するためのUIテンプレートおよび構成された最適化問題についての情報を記憶するためのデータベース106を維持することができる。
【0025】
表示デバイス108は、ホスト端末104によって提供される入力およびシステム102によって生成される出力を表示するように構成されうる適切な論理、回路、およびインターフェースを含みうる。ある種の実施形態では、表示デバイス108は、ユーザーが表示デバイス108を介してユーザー入力を提供することを可能にしうる。表示デバイス108は、限定はしないが、液晶ディスプレイ(LCD)ディスプレイ、発光ダイオード(LED)ディスプレイ、プラズマディスプレイ、もしくは有機LED(OLED)ディスプレイ技術、または他の表示デバイスのうちの少なくとも1つなど、いくつかの既知の技術を通して実現されうる。ある実施形態によれば、表示デバイス108は、ヘッドマウントデバイス(HMD)、スマートグラスデバイス、シースルーディスプレイ、投影ベースのディスプレイ、エレクトロクロミックディスプレイ、または透明ディスプレイのディスプレイスクリーンを指してもよい。
【0026】
量子コンピュータ110は、入力を受け取り、ユニタリー演算(量子論理ゲート演算および測定のシーケンスとして定義されうる)に従って入力を変換するように構成されうるゲート・ベースの量子コンピュータであってもよい。この演算は、量子回路114によって表されうる。
【0027】
本開示の一つまたは複数の実施形態では、量子コンピュータ110は、クラウド最適化システム上でホストされうる一般化された量子コンピューティング・デバイスとして実装されうる。クラウド最適化システムは、プライベートクラウド、パブリッククラウド、またはハイブリッドクラウドのうちの1つとして実装されうる。そのような実装では、一般化された量子コンピューティング・デバイスは、離散的な解空間から最適化問題の解を探すためにQAOAなどのハイブリッド量子アルゴリズムを実装するために、アプリケーション層において特化した最適化解法ソフトウェア・アプリケーションまたはシミュレーション・ソフトウェアを使用しうる。
【0028】
一般化された量子コンピューティング・デバイスは、トランジスタ・ベースのデジタル回路に基づくデジタル・デバイスなどのデジタル・ビット・ベースのコンピューティング・デバイスとは異なりうる。一般化された量子コンピューティング・デバイスは、量子ビット(以下、「キュービット」と呼ぶ)を使用して、VLSI設計におけるビア最小化のためのQAOA計算など、種々の情報処理アプリケーションのための計算を実行する一つまたは複数の量子論理ゲートを含むことができる。一般に、キュービットは、「0」、「1」、または「0」と「1」の両方の重ね合わせを表すことができる。ほとんどの場合、一般化された量子コンピューティング・デバイスは、適切に機能するためには注意深く制御された極低温環境を必要とすることがある。一般化された量子コンピューティング・デバイスは、量子力学系において見出されるある種の特性(たとえば、量子ゆらぎ、その固有状態の量子重ね合わせ、量子トンネリング、および量子もつれ)を使用しうる。これらの特性は、一般化された量子コンピューティング・デバイスが、ある種の数学的問題(たとえば、QAOA回路を使用するグラフ・ベースの最適化)を解くための計算を実行して、量子の利点を示すのを助けることができる。典型的には、これらの問題は、従来のコンピューティング・デバイス(たとえば、トランジスタ・ベースの回路を使用する古典的なコンピュータ)にとって計算的に扱えないものでありうる。一般化された量子コンピューティング・デバイスの例は、シリコンベースの核スピン量子コンピュータ、トラップイオン量子コンピュータ、キャビティ量子電気力学(QED)コンピュータ、核スピンに基づく量子コンピュータ、量子ドット内の電子スピンに基づく量子コンピュータ、超伝導ループおよびジョセフソン接合を使用する超伝導量子コンピュータ、および核磁気共鳴量子コンピュータを含みうるが、これらに限定されない。
【0029】
いくつかの他の実施形態において、量子コンピュータ110は、QAOAまたはメタヒューリスティック・アルゴリズム(たとえば、量子アニーリング)を実装するように設計され、ハードウェア/ソフトウェアが最適化されうる特殊目的の量子コンピュータであってもよい。一般化された量子コンピューティング・デバイスと同様に、特殊目的の量子コンピュータは、キュービットを使用してもよく、適切に機能するために、慎重に制御された極低温環境を必要としてもよい。
【0030】
いくつかの他の実施形態において、量子コンピュータ110は、QAOAを使って最適化問題を解くためのデジタル量子コンピューティング・プロセッサであってもよい。より具体的には、量子コンピュータ110は、半導体ベースのプロセッサを有するデジタル・コンピュータ上で実行可能でありうる量子シミュレーション・ソフトウェアとして実装されうる。量子シミュレーション・ソフトウェアは、デジタル回路上で量子コンピュータ110の機能性をモデル化するように設計されてもよい。デジタル・コンピュータは、室温で動作してもよく、機能するために極低温環境を必要としなくてもよい。
【0031】
いくつかの他の実施形態では、量子コンピュータ110は、量子回路114のためのサブルーチンなどのソフトウェア命令を実行するプロセッサを含んでいてもよい。プロセッサの例示的な実装は、限定はしないが、縮小命令セットコンピューティング(RISC)プロセッサ、特定用途向け集積回路(ASIC)プロセッサ、複雑命令セットコンピューティング(CISC)プロセッサ、グラフィカル処理ユニット(GPU)、コプロセッサ、および/またはそれらの組み合わせを含みうる。
【0032】
コントローラ112は、最適化器116に関連付けられたプログラム命令を実行するように構成されうる適切な論理、回路、およびインターフェースを含みうる。コントローラ112は、最適化問題を解くために量子コンピュータ110とタンデムで、または連携して動作する古典的なコンピュータ(すなわち、半導体ベースのデジタル回路を有するトランジスタ・ベースのコンピュータ)であってもよい。
【0033】
量子回路114は、キュービットなどの量子データに対するコヒーレントな量子演算をリアルタイムの古典的計算と組み合わせる計算ルーチン(すなわち、命令の集合)に対応しうる。量子回路114は、順序付けられた一連の量子論理ゲート、測定、およびリセットを含むことができ、これらはすべて、リアルタイムの古典的計算を条件とすることができ、古典的計算から収集されたデータを使用することができる。ある実施形態によれば、量子回路114は、演算子(たとえば、位相演算子および混合演算子)のための量子論理ゲートの集合と、演算子および量子論理ゲートが作用するように構成されうるキュービット(たとえば、物理キュービットを表す論理キュービット)の集合とを含むQAOA回路であってもよい。キュービットの集合は、疎グラフの少なくとも1つのノード対に対応しうる。QAOAについて、量子論理ゲートは、たとえば、一つまたは複数のアダマール・ゲート、RxおよびRzゲート(すなわち、回転演算子)、ならびにCNOTゲートを含みうる。アンザッツ(および量子回路114)は、ノード・ベースのグラフに依存して変化しうる。
【0034】
最適化器116は、コントローラ112によって実行されると、最適化問題のコスト関数の値に基づいて、量子回路114のパラメータのための値を計算することができるソフトウェア・プログラムまたはルーチン/サブルーチンであってもよい。最適化器116は、機械学習で使用される最適化器と同様であってもよい。最適化器116は、超曲面(すなわち、コスト・ランドスケープ)を定義することができ、最適化器のタスクは、ランドスケープをナビゲートし、超曲面上の大域的最大値(または最小値)を見つけることでありうる。最適化器116の例は、勾配降下法、確率的勾配降下法、adagrad、およびADAMを含んでいてもよいが、これらに限定されない。
【0035】
動作中、システム102は、現実世界の最適化問題に関連付けられたノード・ベースのグラフを含む入力を受領することができる。たとえば、ホスト端末104上のユーザーインターフェース(UI)は、現実世界の最適化問題のパラメータ、データ、および/または制約条件を記述する情報を提出するための諸オプションを有する、ユーザー編集可能テンプレートを表示することができる。テンプレートは、ユーザーからの入力を受信するために使用されうる。入力を通じて、ユーザーは、最適化問題を選択して構成することができてもよい。たとえば、UI上の諸オプションは、ノード・ベースのグラフまたはノード・ベースのグラフを生成するために使用されうるデータをアップロードするためのボタンを含んでいてもよい。これらのオプションは、ノード・ベースのグラフおよび/または前記情報をシステム102に提出するための別のボタンを含んでいてもよい。
【0036】
ノード・ベースのグラフは、複数のノードのノード・ペア間のエッジを通じて、ノード・ベースのグラフの複数のノード間の関係を記述することができる。たとえば、最適化問題がデータ・クラスタリング問題である場合、グラフのノードは、データセットの個々のデータポイントを表すことができ、ノード・ペア間の各エッジについての重みは、2つのデータポイント間の類似性メトリックの値を表すことができる。
【0037】
入力を受け取った後、システム102は、ノード・ベースのグラフからエッジのサブセットを除去することによって疎グラフを生成することができる。入力(たとえば、プログラム入力またはホスト端末104を介したユーザー入力)および疎グラフに基づいて、|Ψ(θ)〉=|Ψ(β,γ)〉の形のパラメータ化された試行(アンザッツ)状態が定式化されうる。本明細書では、アンザッツ(anzatz)は、特定のサブシステムに作用する量子論理ゲートの集合を含む量子回路114のアーキテクチャーをいうことがある。
【0038】
システム102は、疎グラフに基づいて量子コンピュータ110上の量子回路114の演算子を定式化することができる。たとえば、演算子は、疎グラフが重み付けされていないグラフでありうる位相演算子を含んでいてもよく、位相演算子は、疎グラフの各エッジについて第1のパラメータ(γ)を含むように定式化されうる。同様に、演算子は、混合演算子のための第2のパラメータ(β)を含むように定式化されうる混合演算子を含みうる。第1および第2のパラメータ(β、γ)は、量子回路114(または、アンザッツ)のパラメータとも称されうる。
【0039】
最適化問題について、システム102は、最適化問題の目的関数をエンコードするコスト関数を定式化することもできる。たとえば、コスト関数は、重み付けされた最大カット問題の目的関数を二次形式でエンコードしてもよい。最適化問題は、量子コンピュータ110およびコントローラ112の最適化器116の両方の資源を使用して、ハイブリッドの量子‐古典ループ118内の量子回路114(すなわち、QAOA回路)上で解かれてもよい。具体的には、アンザッツは、ハイブリッドの量子‐古典ループ118において、アンザッツのパラメータ(β、γ)を変化させることによって、トレーニングされうる。反復工程の集合において、量子コンピュータ110は、コスト関数の推定のための結果(すなわち、量子的な進化測定結果)を生成するために使用されてもよく、最適化器116は、量子進化測定結果の期待される目的値を最大化するようにパラメータを更新するために使用されてもよい。
【0040】
生成された疎グラフについてシステム102は、量子コンピュータ110上で量子回路114を動作させて結果(たとえば、ビット・ストリング)を生成し、該結果を使用してコスト関数の値を推定することとを含む動作の集合を実行しうる。生成された結果について、最適化器116は、コスト関数の推定された値に基づいて量子回路114における演算子のパラメータ(β、γ)を更新するために使用されてもよい。コスト関数の値とコスト関数についての事前定義された閾値との差が差の閾値を上回る(すなわち、コスト関数の値が事前定義された閾値から離れている)場合、更新されたパラメータについて動作の集合が繰り返されてもよい。システム102は、コスト関数の推定された値が事前定義された閾値に近づくまで、更新されたパラメータを使用して動作の集合の実行を繰り返すことによって、現実世界の最適化問題の最終的な解を生成しうる。コスト関数の値と事前定義された閾値との差が差閾値未満である場合、値は事前定義された閾値に近づいたと言える。
【0041】
最終的な解は、量子コンピュータ110によって生成されることができ、かつ、それについてコスト関数の推定された値が事前定義された閾値に近づく結果に基づいて、生成されうる。システム102は、(該結果に含まれる)ビット・ストリングを使用して、現実世界の最適化問題の未知変数の値(すなわち、最終的な解)を決定することができる。たとえば、最適化問題がVLSI設計におけるビア最小化に関するものである場合、最終的な解は、チップ設計における総ビアが最小になるような、チップについてのレイアウト割り当てを含むことができる。
【0042】
一つまたは複数の実施形態では、システム102は、現実世界の最適化問題の最終的な解を表示デバイス108に出力することができる。たとえば、表示デバイス108は、現実世界の最適化問題の最終的な解をレンダリングするためのUIを含んでいてもよい。
【0043】
なお、システム102とホスト端末104と表示デバイス108との間の通信は、通信ネットワークを介して行われてもよい。通信ネットワークは、システム102がそれを通じてホスト端末104およびサーバー(図示せず)と通信することができる通信媒体を含むことができる。通信ネットワークの例は、インターネット、クラウドネットワーク、ワイヤレスフィデリティ(Wi-Fi)ネットワーク、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、および/またはメトロポリタンエリアネットワーク(MAN)を含みうるが、これらに限定されない。コンピューティング環境100内のさまざまなデバイスは、さまざまな有線および無線通信プロトコルに従って、通信ネットワークに接続するように構成されうる。そのような有線および無線通信プロトコルの例は、限定はしないが、伝送制御プロトコルおよびインターネットプロトコル(TCP/IP)、ユーザーデータグラムプロトコル(UDP)、ハイパーテキスト転送プロトコル(HTTP)、ファイル転送プロトコル(FTP)、ZigBee、EDGE、IEEE 802.11、ライトフィデリティ(Li-Fi)、802.16、IEEE 802.11s、IEEE 802.11g、マルチホップ通信、無線アクセスポイント(AP)、デバイスツーデバイス通信、セルラー通信プロトコル、および/またはBluetooth(登録商標)(BT)通信プロトコル、またはそれらの組み合わせのうちの少なくとも1つを含みうる。
【0044】
図2は、本開示において説明される少なくとも1つの実施形態に従って構成された、量子コンピュータを使用して浅い回路上で最適化問題を解くための例示的な方法のフローチャートである。図2は、図1の要素との関連で説明される。図2を参照すると、フローチャート200が示されている。フローチャート200に示される例示的な方法は、202で開始することができ、図1のシステム102によるなど、任意の適切なシステム、装置、またはデバイスによって実行されうる。
【0045】
202において、ノード・ベースのグラフを含む入力が受信されうる。システム102は、(図1で説明したように)UIを介してホスト端末104から入力を受信することができる。ある実施形態によれば、入力は、ノード・ベースのグラフを表す隣接行列を含んでいてもよい。隣接行列は、典型的には、ブール値の行列としてグラフを表す。行列の値は、グラフの2つの頂点の間に直接経路が存在するかどうかを示しうる。
【0046】
ノード・ベースのグラフは、VLSI設計におけるビア最小化、プリント回路レイアウト設計、またはデータ・クラスタリングなどの現実世界の最適化問題に関連しうる密なグラフでありうる。ノード・ベースのグラフは、複数のノードのノード・ペア間のエッジを通して、ノード・ベースのグラフの複数のノード間の関係を記述することができる。限定ではなく例として、ノード・ベースのグラフは、重み付けされたグラフ(無向)または重み付けされていないグラフ(無向)のうちの1つでありうる。現実世界の最適化問題を解くために、最適化問題は、最大カットまたは重み付き最大カット問題などのグラフ・ベースの最適化問題としてモデル化されうる。
【0047】
ある実施形態によれば、入力は、ノード・ベースのグラフの疎化のためのターゲット比を含んでいてもよい。たとえば、ユーザーは、ホスト端末104上のUIを介して0.3(すなわち、30%)の目標比率を指定することができる。代替的に、ターゲット比は、ノード・ベースのグラフのサイズまたは最適化問題のタイプについて事前定義されてもよい。
【0048】
204において、ノード・ベースのグラフから疎グラフが生成されうる。システム102は、ノード・ベースのグラフからエッジのサブセットを除去することによって疎グラフを生成しうる。そのような除去のプロセスは、ノードベースグラフの疎化〔スパース化〕と呼ばれることがある。エッジのサブセットは、サブセット中のエッジの数とノード・ベースのグラフ中のエッジの数との比がターゲット比(たとえば、0.3)以下となるように除去されうる。疎グラフは、グラフ近似関数、ヒューリスティック、または確率的グラフ疎化関数などの適切なアプローチを使用することによって生成されうる。確率的グラフ疎化関数は、グラフのカットを保存しうるスペクトルグラフ疎化などの方法を含みうる。そのようなアプローチの詳細は当業者に知られており、したがって、簡潔のために詳細は本開示から割愛される。
【0049】
疎化の目的は、グラフ(G0)のある種の特性がグラフ(G1)において保存されるように、所与のグラフ(G0)から代表的なグラフ(G1)を選択することである。ノード・ベースのグラフ(すなわち、問題グラフ)を疎化することは、システム102が、従来のアプローチと比較してより少ない量子資源で、ノード・ベースのグラフに関わる最適化問題を解くことを可能にしうる。最大カット問題を解くためのQAOAのコンテキストでは(すなわち、QAOA回路が使用されるとき)、位相演算子などの演算子のための量子論理ゲートの数は、ノード・ベースのグラフ(すなわち、疎グラフよりも多くのエッジを含む密グラフ)と比較して疎グラフについてはより少なくなりうる。実験結果に基づいて、疎グラフが同じ最適解につながるならば、QAOAのパフォーマンスは劣化しない可能性があることが観察される。いくつかの事例では、ノード・ベースのグラフの疎化は、浅い量子回路につながることがあり、匹敵するまたはより良好な近似比を達成するのに役立ちうる。
【0050】
206において、現実世界の最適化問題についてのコスト関数が定式化されうる。ある実施形態によれば、システム102は、コスト関数を定式化することができる。コスト関数について、疎グラフの代わりにもとのグラフ(すなわち、ノードベースのグラフ)が使用されてもよい。重み付けされた最大カット問題などのグラフ・ベースの問題に対するQAOAのコンテキストでは、コスト関数は、グラフ・ベースの問題のための目的関数をエンコードすることができる位相ハミルトニアン(C)であるように定式化されうる。重み付けされた最大カット問題についての位相ハミルトニアン(C)の例は、次の式(1)および(2)を用いて与えられる。
【数1】
ここで
iは恒等演算子であってもよく、
ZiおよびZjは、キュービット(iおよびj)に作用しうるパウリのZ演算子であり、
キュービットiおよびjは、ノード・ベースのグラフのエッジedge(i,j)∈Eによって接続されるノード・ベースのグラフのそれぞれのノードに対応することができ、
wijは、ノード・ベースのグラフの各エッジedge(i,j)∈Eについての重みを表すことができる。
【0051】
208において、量子回路114の演算子が定式化〔フォーミュレート〕されうる。システム102は、疎グラフに基づいて量子コンピュータ110上の量子回路114の演算子を定式化することができる。ある実施形態によれば、演算子は、疎グラフが重み付けされていないグラフでありうる位相演算子を含んでいてもよく、位相演算子は、疎グラフの各エッジについて第1のパラメータ(γ)を含むように定式化されうる。同様に、演算子は、混合演算子のための第2のパラメータ(β)を含むように定式化されうる混合演算子を含みうる。
【0052】
演算子の定式化は、パラメータ化された状態準備プロセスの一部であってもよい。プロセスの一部として、ホスト端末104またはコントローラ112は、コールを量子コンピュータ110に送信することができる。コールは、試行状態(アンザッツ)を準備するよう量子回路114(すなわち、QAOA回路)を構成するために量子コンピュータ110に送信されてもよい。試行状態は、交互のパラメータ化された位相のシーケンスを適用し、演算子ユニタリーを混合することによって準備されうる。位相演算子はU(H,γ)として定義されてもよく、混合演算子はU(B,β)として定義されてもよい。Hは、計算基底状態(computational basis state)における最適化問題(たとえば、重み付けされた最大カット)の目的関数をエンコードしうるハミルトニアン演算子と呼ばれうる。
【0053】
重み付けされた最大カット問題のための量子回路114(すなわち、QAOA回路)は、3つの構成要素を含みうる。第1の構成要素は、初期状態、すなわち、すべての可能な状態にわたる一様な重ね合わせを提供することができる。これは、各キュービット上でアダマール・ゲート(H)を使用することによって実装されうる。第2の構成要素は、位相ハミルトニアン(式(2))に対応する位相演算子U(H,γ)であってもよい。第3の構成要素は、各キュービットについてRx(2β)ゲートを有しうる混合演算子U(B,β)でありうる。
【0054】
回路内のもとのグラフおよびエッジ重みを使用する従来のQAOA回路と比較して、量子回路114の演算子は、位相演算子を定式化するために、重み付けされていないエッジを有する疎グラフを使用しうる。グラフ全体について1つのパラメータのみを有する代わりに、疎グラフの各エッジについてパラメータが割り当てられてもよい。混合演算子については、単一のパラメータが混合演算子の全体に割り当てられてもよく、単一のパラメータが各キュービットに割り当てられてもよい。重み付けされた最大カットまたは最大カットにQAOAを適用するための従来のアプローチは、混合演算子の設計またはQAOAの初期化に焦点を当てていた。従来のアプローチはまた、主に、重み付けされていない最大カット問題に焦点を当てていた。すなわち、各エッジの重みが1である。対照的に、システム102は、位相演算子を修正し、重み付けされていない疎グラフを使用して位相演算子を定式化することに焦点を当ててもよい。これは、システム102が、匹敵するまたはより良好な近似比を達成しながら、浅い量子回路を使用することを可能にしうる。
【0055】
パラメータ化された状態の準備の後、(208で準備された)試行状態は、(212で説明されるように)計算基底において(in the computational basis)測定されうる。状態準備および測定プロセスは、逐次反復的に繰り返されて、コスト関数の値を最大化するパラメータ(β,γ)を決定してもよい(目的関数をエンコードする)。
【0056】
210において、量子コンピュータ上の量子回路114が実行されうる。ある実施形態によれば、量子回路114が実行されて、結果を生成することができる。QAOAのコンテキストでは、結果は、グラフ・ベースの問題の目的関数の未知の変数(x)の値を表すビットのストリング(x∈{0,1}n)を含みうる。結果におけるストリングが最適化問題の最終的な解として扱われることができるかどうかを判定するために、本明細書で説明するように、コスト関数が評価される必要がある。
【0057】
212では、コスト関数の値が推定されうる。ある実施形態によれば、コントローラ112は、(210で得られた)結果を使用してコスト関数(式(1)および(2))の値を推定することができる。入力におけるもとのグラフ(すなわち、ノード・ベースのグラフ)は、値の推定のために使用されうる。
【0058】
214では、コスト関数の推定値が事前定義された閾値を満たしたか、またはそれに近づいたかどうかが判定されうる。ある実施形態によれば、コントローラ112は、コスト関数の推定値を事前定義された閾値と比較して、コスト関数の推定値が事前定義された閾値を満たした(またはそれに近づいた)かどうかを判定することができる。限定ではなく例として、事前定義された閾値は、コスト関数の最大可能値(CMAX)に対応してもよい。
【0059】
ある実施形態によれば、コントローラ112は、式(1)および事前定義された閾値(CMAX)を使用して近似比(ρ)を計算することによって量子状態|γ,β〉の品質を測定してもよい。近似比の値が1に近い場合、コスト関数の推定値は、事前定義された閾値を満たした、またはそれに近づいたと言える。そのような場合、量子状態|γ,β〉に対応する結果は、現実世界の最適化問題の最終的な解を生成するために使用されうる。
【0060】
コスト関数の推定値が所定の閾値に近づいたと判定された場合、制御は218に進んでもよい。そうでない場合、制御は216に進んでもよい。
【0061】
216では、量子回路114内の演算子のパラメータ(β,γ)が更新されうる。ある実施形態によれば、コントローラ112の最適化器116は、コスト関数の推定値に基づいて演算子のパラメータ(β,γ)を更新することができる。更新は、(コスト関数によって定義される)コスト・ランドスケープをナビゲートし、コスト・ランドスケープ上の大域的最大値(または最小値)を見つけるために、何回かの反復工程にわたって実行されうる。
【0062】
218において、現実世界の最適化問題の最終的な解を生成することができる。システム102は、コスト関数の推定値が事前定義された閾値に近づく(たとえば、近似比が0.9より大きく、1に近くなる)まで、(216で取得された)更新されたパラメータを使用して動作の集合(210~214)の実行を繰り返すことによって、最終的な解を生成してもよい。最終的な解は、(量子コンピュータ110によって生成された)結果に基づいて生成されうる。それについては、コスト関数の推定値が事前定義された閾値に近づく。
【0063】
システム102は、(前記結果に含まれる)ビット・ストリングを使用して、現実世界の最適化問題の未知変数の値(すなわち、最終的な解)を決定することができる。たとえば、最適化問題がVLSI設計におけるビア最小化に関するものである場合、最終的な解は、チップ設計における総ビアが最小になるようなチップのレイアウト割り当てを含むことができる。別の例として、最適化問題がデータ・クラスタリングに関するものである場合、最終的な解は、クラスターの集合へのデータポイントの割り当てを含むことができる。
【0064】
制御は終了に進んでもよい。フローチャート200は、202、204、206、208、210、212、214、216、および218などの離散的な動作として示されているが、ある種の実施形態では、そのような離散的な動作は、具体的な実装に依存して、追加の動作にさらに分割され、より少数の動作に組み合わされ、または削除されてもよい。
【0065】
図3は、本開示のある実施形態による、量子コンピュータを使用して浅い回路上でビア最小化問題を解くための例示的な動作を示す図である。図3は、図1および図2からの要素との関連で説明される。図3を参照すると、本明細書で説明する例示的な動作を示すブロック図 300が示されている。ブロック図 300に示される例示的な動作は、図1のシステム102など、任意のデバイス、装置、またはコンピューティングシステムによって実行されうる。離散的なブロックで示されているが、ブロック図 300の一つまたは複数のブロックに関連する例示的な動作は、具体的な実装に依存して、追加のブロックに分割され、より少数のブロックに組み合わされ、または削除されうる。
【0066】
チップ構築は、通例、VLSI設計および回路基板設計におけるいくつかのフェーズに分割され、これらのフェーズは、配置、ルーティング、および層割り当て〔レイヤー割り当て〕を含むことができる。層割り当て問題については、すべてのセルがチップ上に配置され、すべてのネットがルーティングされているが、ワイヤ・セグメントの諸層への割り当てはまだ実行されていない(すなわち、一過性のルーティング)と想定されてもよい。ネットは、2つ以上のピンをリンクすることができる。異なるネットからのワイヤは、一過性のルーティングにおいては交差しうる。実現可能な層割り当ては、そのような交差するワイヤ・セグメントを異なる層に割り当てる特性を有さなければならない。結果として、いくつかのワイヤは、異なる層上でルーティングされる必要がありうる。ビア・コンタクトは、典型的には、層を物理的に変更するために使用される。ビアは、典型的には、VLSI設計において追加のスペースを必要とすることがあり、典型的には、製造歩留まりを低下させるコンパクト化の障害と見なされる。結果として、ビアの数を最小にする層割り当てを見つけることが好ましい場合がある。ある種の設計制約条件(たとえば、所与のインターバル内で可能な最短距離で平行に走る2本のワイヤは、そのインターバル内にビアを含んではならない)が、ビアの配置を制限することがある。各ワイヤは、フリー・セグメントおよびクリティカル・セグメントに分割でき、ビアは、フリー・セグメント上では許容されるが、クリティカル・セグメント上では許容されない。
【0067】
VLSI設計問題のための入力データとして、システム102(たとえば、コントローラ112)は、チップの一過性ルーティング・データ302を受領することができる。一過性ルーティング・データ302は、VLSIチップ設計タスクの2層ビア最小化問題に関連していてもよい。
【0068】
システム102(たとえば、コントローラ112)は、一過性ルーティング・データ302に基づいてチップについてのレイアウト・グラフ304を構築することができる。2層割当てについては、すべてのネットがちょうど2つのピンを接続し、よって各ネットが1本のワイヤを有すると想定することが合理的でありうる。各ワイヤは、フリー・セグメントとクリティカル・セグメントとに分割できる。クリティカル・セグメントは、レイアウト・グラフ304のノードに対応することができる。レイアウト・グラフ304内には、競合エッジ(関連付けられたクリティカル・セグメントが異なる層上になければならない場合)および継続エッジ(関連付けられたクリティカル・セグメントがフリー・セグメントによって接続される場合)を見つけることができる。
【0069】
システム102(たとえば、コントローラ112)は、レイアウト・グラフ304に基づいて、2層ビア最小化問題を最大カット問題308として定式化することができる。具体的には、2層ビア最小化問題は、レイアウト・グラフ304を用いて定式化されうる。最小化問題の目的は、システム102が、すべての競合エッジAを含み、可能な限り少ない継続エッジを含むレイアウト・グラフ304のカットCを見つけることを要求しうる。
【0070】
システム102は、図2のフローチャート200に記載された動作を実行することによって、最大カット問題308を解くことができる。たとえば、疎化306が、レイアウト・グラフ304に適用されて、縮小されたまたは疎なレイアウト・グラフを得ることができる。図1および図2のコンテキストでは、ノード・ベースのグラフは、レイアウト・グラフ304と考えられてもよい。コスト関数は、最大カット問題についての目的関数をエンコードしてもよく、最終的な解は、最大カット問題の解であってもよく、レイアウト・グラフ304が、最小の総ビアをもつ2つのグラフに分割されるように、チップについてのレイアウト割り当て310を含んでいてもよい。
【0071】
図4は、本開示のある実施形態による、量子コンピュータを使用して浅い回路上でデータ・クラスタリング問題を解決するための例示的な動作を示す図である。図4は、図1および図2からの要素との関連で説明される。図4を参照すると、本明細書で説明される例示的な動作を示すブロック図 400が示されている。ブロック図 400に示される例示的な動作は、図1のシステム102など、任意のデバイス、装置、またはコンピューティングシステムによって実行されうる。離散的なブロックで示されているが、ブロック図 400の一つまたは複数のブロックに関連する例示的な動作は、具体的な実装に依存して、追加のブロックに分割され、より少数のブロックに組み合わされ、または削除されてもよい。
【0072】
データ・マイニングおよび機械学習における教師なし学習のコンテキストでは、データ・クラスタリングは、顧客セグメンテーション、医療撮像、検索結果クラスタリング、推奨エンジン、パターン認識、ソーシャルネットワーク分析、およびコンピュータビジョンなどの多くの分野で使用される重要な問題である。典型的には、データセット内のデータポイントの位置およびポイントの任意のペア間の類似性メトリックなどの属性が与えられると、ポイントのすべてのペア間の類似性を含む対称行列は、無向グラフの重み付けされた隣接行列を形成しうる。結果として、データ・クラスタリング問題は、グラフ分割問題に変換されうる。
【0073】
動作中、システム102(たとえば、コントローラ112)は、データセットのデータポイント402aに対応する属性402bと、データポイント402a間の類似性メトリック402cとを受領することができる。データポイント402a、属性402b、および類似性メトリック402cは、データ・クラスタリング問題に関連付けられた入力データとして受領されうる。類似性メトリック402cの例は、ユークリッド距離、マンハッタン距離、ミンコフスキー距離、およびコサイン類似性を含みうるが、これらに限定されない。
【0074】
受領後、システム102(たとえば、コントローラ112)は、類似性メトリック402cおよび属性402bに基づいて、データポイント402aのすべてのペアについて隣接行列を生成しうる。隣接行列は、データセットのデータ点402aの重み付けされた無向グラフ表現404を定義することができる。
【0075】
システム102(たとえば、コントローラ112)は、隣接行列に基づいて、データ・クラスタリング問題を最小‐最大(min-max)カット問題408として定式化することができる。重み付けされた無向グラフ表現404(ノード集合V、エッジ集合E、および重み行列WとしてG=G(E,V))について、目的は、システム102が、最小‐最大クラスタリング・アプローチに基づいて、重み付けされた無向グラフ表現404を2つのサブグラフXおよびYに分割することを要求しうる。分割は、2つのサブグラフ(XおよびY)間の類似性が最小であり、各サブグラフ内の類似性(すなわち、サブグラフXおよびサブグラフY内のノードのすべてのペア間の類似性の合計)が最大となるように実行されうる。
【0076】
システム102は、図2のフローチャート200に記載された動作を実行することによって、最小‐最大カット問題408を解くことができる。たとえば、疎化406が、重み付けされた無向グラフ表現404に対して実行されて、縮小または疎グラフを形成することができる。図1および図2のコンテキストでは、ノード・ベースのグラフは、データポイントの重み付けされた無向グラフ表現404とみなすことができる。コスト関数は、最小‐最大カット問題408についての目的関数をエンコードすることができる。最終的な解(すなわち、解410)は、最小‐最大カット問題の解であってもよく、データポイントの、クラスター412の集合(たとえば、2つのクラスター)への分割を含んでいてもよい。解410において、データポイント402aは、2つのクラスター間の類似性が最小であり、クラスター内の類似性が最大であるように、2つのクラスターに分割されうる。
【0077】
図5は、本開示の少なくとも1つの実施形態による、量子コンピュータを使用して浅い回路上で最適化問題を解くためのシステムのブロック図である。図5は、図1図2図3および図4からの要素との関連で説明される。図5を参照すると、システム102のブロック図500が示されている。システム102は、量子コンピュータ110とコントローラ112とを含む。示されるように、たとえば、量子コンピュータ110は、量子回路114、量子コンパイラ502a、および量子プロセッサ502bを含むゲート・ベースの量子コンピュータである。同様に、コントローラ112は、プロセッサ504a、メモリ504b、永続的データ記憶装置504c、および最適化器116を含むトランジスタ・ベースのコンピュータ(すなわち、古典的コンピュータ)であってもよい。ある種の実施形態では、最適化器116は、メモリ504bに格納されてもよい。プロセッサ504aおよび量子プロセッサ502bは、システム102の一つまたは複数のプロセッサと呼ばれることがある。
【0078】
典型的には、コンパイラは、2つの言語、すなわち、ソース言語とターゲット言語との間でコンピュータコードを変換するように構成されたコンピュータ・プログラムである。量子アルゴリズムは、エラーのないキュービットおよび論理ゲートを必要とするので、量子コンパイラ502aは、QAOAなどの量子アルゴリズムにおいて使用される量子ゲート演算を機械レベルの動作に変換し、デコヒーレンスによる量子情報の損失を低減するように構成されうる。ゲート・ベースの量子コンピュータのためのコンパイラは、物理層および論理層の両方において量子ゲートの合成を実行しうる。量子コンパイラ502aは、一連の命令(たとえば、量子回路114)に対して動作して、そのような命令が量子コンピュータ110上で実行可能であることを保証することができる。そのような命令は、量子命令セットを利用して、高レベル・アルゴリズムを量子プロセッサ502b上で実行可能でありうる物理的な命令に変えることができる。
【0079】
量子プロセッサ502b(量子処理ユニット(QPU)とも呼ばれる)は、相互接続されたキュービットの集合を含みうる物理デバイス(たとえば、チップ)を指しうる。量子プロセッサ502bは、典型的には、筐体環境(たとえば、極低温を達成するための冷却機構)、量子プロセッサ502bのための制御システム等を含んでいてもよい。
【0080】
図示しないが、量子コンピュータ110は、物理層、仮想層、誤り訂正層、論理層、アプリケーション層などの階層構造を有していてもよい。物理層は、物理的なキュービットおよび制御動作を含むがこれらに限定されないハードウェアを含んでいてもよい。仮想層は、エラーキャンセル(error cancellation)を組み込むことができ、キュービットの量子ダイナミクスを収集し、それらを仮想キュービットおよび量子ゲートに整形する役割を果たすことができる。誤り訂正(error correction)層は、フォールトトレラント量子コンピューティングのための量子誤り訂正論理を組み込むことができる。論理層は、ハードウェア独立層として作用することによってユニバーサル量子コンピューティングをサポートすることができる。アプリケーション層は、論理キュービットに頼るハードウェア独立層であってもよい。アプリケーション層は、量子回路114を含む一連の高レベル動作として量子アルゴリズムを受領することができる。
【0081】
プロセッサ504aは、システム102によって実行されるべき異なる動作に関連付けられたプログラム命令を実行するように構成されうる適切な論理、回路、および/またはインターフェースを含みうる。プロセッサ504aは、さまざまなコンピュータハードウェアまたはソフトウェアモジュールを含む、任意の好適な専用または汎用のコンピュータ、コンピューティングエンティティ、または処理デバイスを含んでいてもよく、任意の適用可能なコンピュータ可読記憶媒体上に記憶された命令を実行するように構成されてもよい。たとえば、プロセッサ504aは、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、またはプログラム命令をインタープリットおよび/または実行するように、および/またはデータを処理するように構成された任意の他のデジタルもしくはアナログ回路を含みうる。図2では単一のプロセッサとして示されているが、プロセッサ504aは、本開示で説明されるように、システム102の任意の数の動作を個別にまたは集合的に実行するかまたはその実行を指揮するように構成された任意の数のプロセッサを含みうる。
【0082】
いくつかの実施形態では、プロセッサ504aは、プログラム命令をインタープリットおよび/または実行し、および/またはメモリ504bおよび/または永続的データ記憶装置504cに記憶されたデータを処理するように構成されうる。いくつかの実施形態では、プロセッサ504aは、永続的データ記憶装置504cからプログラム命令をフェッチし、該プログラム命令をメモリ504bにロードすることができる。プログラム命令がメモリ504bにロードされた後、プロセッサ504aはプログラム命令を実行することができる。プロセッサ504aの例のいくつかは、GPU、CPU、RISCプロセッサ、ASICプロセッサ、CISCプロセッサ、コプロセッサ、および/またはこれらの組み合わせであってもよい。
【0083】
メモリ504bは、プロセッサ504aによって実行可能なプログラム命令を記憶するように構成されうる適切な論理、回路、および/またはインターフェースを含みうる。ある種の実施形態形態では、メモリ504bは、ノード・ベースのグラフ、ノード・ベースのグラフから取得されうる疎グラフ、ならびにコスト関数および最終的な解の中間値および最終値を記憶するように構成されうる。メモリ504bは、記憶されたコンピュータ実行可能命令またはデータ構造を搬送または有するためのコンピュータ可読記憶媒体を含みうる。そのようなコンピュータ可読記憶媒体は、プロセッサ504aなどの汎用または専用コンピュータによってアクセスされうる任意の利用可能な媒体を含みうる。
【0084】
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、電気的に消去可能なプログラマブル読み出し専用メモリ(EEPROM)、コンパクトディスク読み出し専用メモリ(CD-ROM)もしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気記憶デバイス、フラッシュメモリデバイス(たとえば、ソリッドステートメモリデバイス)、またはコンピュータ実行可能命令もしくはデータ構造の形で特定のプログラムコードを担持もしくは記憶するために使用されることができ、汎用もしくは専用コンピュータによってアクセスされうる任意の他の記憶媒体を含む、有形もしくは非一時的なコンピュータ可読記憶媒体を含みうる。上記の組み合わせも、コンピュータ可読記憶媒体の範囲内に含まれうる。コンピュータ実行可能命令は、たとえば、プロセッサ504aに、システム102に関連付けられたある種の動作または動作群を実行させるように構成された命令およびデータを含んでいてもよい。
【0085】
永続的データストレージ504cは、プロセッサ504aによって実行可能なプログラム命令、オペレーティングシステム、および/またはログおよびアプリケーション固有データベースなどのアプリケーション固有情報を記憶するように構成されうる適切な論理、回路、および/またはインターフェースを含みうる。永続的データ記憶装置504cは、現実世界の最適化問題に関連付けられた数学公式のセットなどの情報を記憶するように構成されうる。永続的データ記憶装置504cは、コンピュータ実行可能命令またはデータ構造を担持または記憶するためのコンピュータ可読記憶媒体を含むことができる。そのようなコンピュータ可読記憶媒体は、プロセッサ504aなどの汎用または専用コンピュータによってアクセスされうる任意の利用可能な媒体を含みうる。
【0086】
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、コンパクトディスク読み出し専用メモリ(CD-ROM)もしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気記憶デバイス(たとえば、ハードディスクドライブ(HDD))、フラッシュメモリデバイス(たとえば、ソリッドステートドライブ(SSD)、セキュアデジタル(SD)カード、他のソリッドステートメモリデバイス)、またはコンピュータ実行可能命令もしくはデータ構造の形で特定のプログラムコードを担持もしくは記憶するために使用されることができ、汎用もしくは専用コンピュータによってアクセスされうる任意の他の記憶媒体を含む、有形もしくは非一時的なコンピュータ可読記憶媒体を含みうる。上記の組み合わせも、コンピュータ可読記憶媒体の範囲内に含まれうる。コンピュータ実行可能命令は、たとえば、プロセッサ504aに、システム102に関連付けられたある種の動作または動作群を実行させるように構成された命令およびデータを含んでいてもよい。
【0087】
本開示の範囲から逸脱することなく、システム102に対して修正、追加、または省略が行われてもよい。たとえば、いくつかの実施形態では、システム102は、明示的に図示または説明されていないことがありうる任意の数の他の構成要素を含んでいてもよい。
【0088】
図6は、本開示の少なくとも1つの実施形態による、量子コンピュータを使用して浅い回路上で最適問題を解くためのpレベルの量子近似最適化アルゴリズム(QAOA)の概略図である。図6は、図1図2図3図4および図5からの要素との関連で説明される。図6を参照すると、pレベルのQAOA回路600の概略図が示されている。pレベルのQAOA回路600は、図1の量子回路114の例示的な実装形態でありうる。
【0089】
pレベルQAOA回路600は、(アダマール・ゲートを使用する)初期の均等重ね合わせ状態と、それに続く、パラメータ化された状態を準備するためにキュービット606a…606nに適用されるコスト・ユニタリー演算子610a…612aおよびミキサー・ユニタリー演算子610b…612bの交互シーケンス602…604とを含む。キュービット606a…606nに対応して、測定608a…608nは、pレベルQAOA回路600が何回かの反復工程にわたって実行されるときに計算基底状態で実行されうる。そのような逐次反復は、典型的には、重み付けされた最大カットなどの最適化問題のコスト関数を最大化または最小化するサイズnのビット・ストリングx∈{0,1}nを決定するために実行されうる。コスト・ユニタリー演算子610a…612aおよびミキサー・ユニタリー演算子610b…612bは、異なるパラメータγ1…γpおよびβ1…βpを使用してp回適用されうる。
【0090】
本開示のさまざまな実施形態は、実行されることに応答して、システム(システム102など)に、現実世界の最適化問題に関連付けられたノード・ベースのグラフを含む入力を受信することと、ノード・ベースのグラフからエッジのサブセットを除去することによって疎グラフを生成することとを含む動作を実行させる命令を記憶するように構成された非一時的コンピュータ可読記憶媒体を提供することができる。動作は、疎グラフに基づいて量子コンピュータ上で量子回路の演算子を定式化することと、現実世界の最適化問題についてのコスト関数を定式化することとをさらに含む。動作は、量子コンピュータ上で量子回路を動作させて結果を生成し、該結果を使用してコスト関数の値を推定し、該値に基づいて演算子のパラメータを更新することを含む動作の集合を実行することをさらに含む。動作は、コスト関数の推定値が事前定義された閾値に近づくまで、更新されたパラメータを使用して動作の集合の実行を繰り返すことによって、現実世界の最適化問題の最終的な解を生成することをさらに含む。
【0091】
本開示で使用されるところでは、「モジュール」または「コンポーネント」という用語は、該モジュールもしくはコンポーネントのアクションを実行するように構成された特定のハードウェア実装、および/またはコンピューティングシステムの汎用ハードウェア(たとえば、コンピュータ可読媒体、処理デバイスなど)に記憶され、および/または実行されうるソフトウェアオブジェクトもしくはソフトウェアルーチンを指すことがある。いくつかの実施形態では、本開示で説明される種々のコンポーネント、モジュール、エンジン、およびサービスは、コンピューティングシステム上で実行されるオブジェクトまたはプロセスとして(たとえば、別個のスレッドとして)実装されてもよい。本開示で説明されるシステムおよび方法のうちのいくつかは、概して、ソフトウェア(汎用ハードウェアに記憶される、および/または実行される)で実装されるものとして説明されるが、特定のハードウェア実装またはソフトウェアと特定のハードウェア実装との組み合わせも可能であり、考えられている。本稿では、「コンピューティングエンティティ」は、本開示で前に定義されたような任意のコンピューティングシステム、またはコンピューティングシステム上で動作する任意のモジュールもしくは小モジュールの組み合わせでありうる。
【0092】
本開示および特に添付の特許請求の範囲(たとえば、添付の特許請求の範囲の本体)で使用される用語は、一般に、「オープン」用語として意図される(たとえば、「含んでいる」という用語は、「含んでいるが、それに限定されない」と解釈されるべきであり、「有する」という用語は、「少なくとも…を有する」と解釈されるべきであり、「含む」という用語は、「含むが、それに限定されない」と解釈されるべきであるなど)。
【0093】
加えて、導入される請求項記載の特定の数が意図される場合、そのような意図は、請求項において明示的に記載され、そのような記載がない場合、そのような意図は存在しない。たとえば、理解の助けとして、以下の添付の特許請求の範囲は、請求項記載を導入するために、導入句「少なくとも1つ」および「一つまたは複数」の使用を含みうる。しかしながら、そのような句の使用は、たとえ同じ請求項が導入句「一つまたは複数」または「少なくとも1つ」および不定冠詞「a」または「an」(たとえば、「a」および/または「an」は、「少なくとも1つ」または「一つまたは複数」を意味すると解釈されるべきである)を含む場合であっても、不定冠詞「a」または「an」による請求項記載の導入が、そのような導入された請求項記載を含む任意の特定の請求項を、そのような記載を1つだけ含む実施形態に限定することを含意すると解釈されるべきではなく、同じことが、請求項記載を導入するために使用される定冠詞の使用にも当てはまる。
【0094】
加えて、導入される請求項の記載の特定の数が明示的に記載されている場合であっても、当業者は、そのような記載が少なくとも記載された数を意味すると解釈されるべきであることを認識するであろう(たとえば、他の修飾語句を伴わない「2つの記載」というだけの記載は、少なくとも2つの記載、または2つ以上の記載を意味する)。さらに、「A、B、およびCなどのうちの少なくとも1つ」または「A、B、およびCなどのうちの一つまたは複数」に類似する慣用表現が使用される場合、一般に、そのような構文は、Aのみ、Bのみ、Cのみ、AとBとの組み合わせ、AとCとの組み合わせ、BとCとの組み合わせ、またはAとBとCとの組み合わせなどを含むことが意図される。
【0095】
さらに、2つ以上の代替用語を提示する任意の選言的語句は、明細書、特許請求の範囲、または図面のいずれにおいてであれ、それらの用語のうちの1つ、それらの用語のいずれか、または両方の用語を含む可能性を考えているものと理解されるべきである。たとえば、「AまたはB」は、「A」もしくは「B」または「AおよびB」の可能性を含むと理解されるべきである。
【0096】
本開示に記載されるすべての例および条件付きの言辞は、読者が本開示および本発明者によって当技術分野の推進に寄与される概念を理解するのを助けるための教育的目的を意図しており、そのような具体的に記載された例および条件に限定されないものとして解釈されるべきである。本開示の実施形態を詳細に説明してきたが、本開示の趣旨および範囲から逸脱することなく、本明細書にさまざまな変更、置換、および改変を行うことができる。
【0097】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
現実世界の最適化問題に関連付けられたノード・ベースのグラフを含む入力を受領する段階と;
前記ノード・ベースのグラフからエッジのサブセットを除去することによって疎グラフを生成する段階と;
前記疎グラフに基づいて量子コンピュータ上で量子回路の演算子を定式化する段階と;
前記現実世界の最適化問題のためのコスト関数を定式化する段階と;
動作の集合であって:
前記量子コンピュータ上で前記量子回路を動作させて結果を生成し;
前記結果を使用して前記コスト関数の値を推定し;
前記値に基づいて前記量子回路において前記演算子のパラメータを更新することを含む、動作の集合を実行する段階と;
前記コスト関数の推定された値が事前定義された閾値に近づくまで、更新されたパラメータを使用して動作の前記集合の実行を繰り返すことによって、前記現実世界の最適化問題の最終的な解を生成する段階とを含む、
方法。
(付記2)
前記現実世界の最適化問題は、グラフ・ベース最適化問題であり、前記ノード・ベースのグラフは、前記ノード・ベースのグラフの複数のノード間の関係を、前記複数のノードのノード対の間のエッジを通じて記述する、付記1に記載の方法。
(付記3)
前記グラフ・ベースの最適化問題は、最大カット問題である、付記2に記載の方法。
(付記4)
超大規模集積(VLSI)チップ設計タスクの2層ビア最小化問題に関連する入力データとしてチップの一過性のルーティング・データを受領する段階と;
前記一過性のルーティング・データに基づいて前記チップについてのレイアウト・グラフを構築する段階と;
前記レイアウト・グラフに基づいて、前記2層ビア最小化問題を最大カット問題として定式化する段階とをさらに含み、
前記ノード・ベースのグラフは前記レイアウト・グラフであり、前記コスト関数は前記最大カット問題についての目的関数をエンコードし、前記最終的な解は前記最大カット問題の解であり、前記レイアウト・グラフが最小の総ビアをもつ2つのグラフに分割されるような前記チップのレイアウト割り当てを含む、
付記1に記載の方法。
(付記5)
データ・クラスタリング問題に関連付けられた入力データとして、データセットのデータポイントに対応する属性および前記データポイント間の類似性メトリックを受領する段階と;
前記類似性メトリックおよび前記属性に基づいて、前記データポイントのすべての対についての隣接行列を生成する段階であって、
前記隣接行列は、前記データセットの前記データポイントの重み付けされた無向グラフ表現を定義する、段階と;
前記データ・クラスタリング問題を、前記隣接行列に基づく最小‐最大カット問題として定式化する段階であって、
前記ノード・ベースのグラフは、前記データポイントの前記重み付けされた無向グラフ表現であり、
前記コスト関数は、前記最小‐最大カット問題についての目的関数をエンコードし、
前記最終的な解は、前記最小‐最大カット問題の解であり、前記データポイントの、クラスターの集合への分割を含む、
付記1に記載の方法。
(付記6)
前記ノード・ベースのグラフは、重み付けされたグラフまたは重み付けされていないグラフである、付記1に記載の方法。
(付記7)
前記疎グラフは、グラフ近似関数、ヒューリスティック、または確率的グラフ疎化関数を使用することによって生成される、付記1に記載の方法。
(付記8)
前記入力は、前記ノード・ベースのグラフの疎化のためのターゲット比をさらに含み、
前記サブセット内のエッジの数と前記ノード・ベースのグラフ内の前記エッジの数との比が前記ターゲット比以下になるように、前記エッジの前記サブセットが除去される、
付記1に記載の方法。
(付記9)
前記量子回路は、前記演算子のための量子論理ゲートの集合と、前記演算子および前記量子論理ゲートがその上で動作するように構成されているキュービットの集合とを含む量子近似最適化アルゴリズム(QAOA)回路である、付記1に記載の方法。
(付記10)
キュービットの前記集合は、前記疎グラフの少なくとも1つのノード対に対応する、付記1に記載の方法。
(付記11)
前記演算子は、前記疎グラフが重み付けされていないグラフである位相演算子を含み、前記位相演算子は、前記疎グラフの各エッジについて第1のパラメータ(γ)を含むように定式化される、付記1に記載の方法。
(付記12)
前記演算子は、混合演算子を含み、前記混合演算子は、前記混合演算子について第2のパラメータ(β)を含むように定式化される、付記1に記載の方法。
(付記13)
前記コスト関数の値の前記推定および前記演算子の前記パラメータの前記更新は、一組の反復工程にわたってトランジスタ・ベースのコンピュータ上で最適化関数を実行することによって実行される、付記1に記載の方法。
(付記14)
前記最終的な解は、前記量子コンピュータによって生成され、かつ、それについて前記コスト関数の前記推定された値が前記事前定義された閾値に近づく前記結果に基づいて、生成される、付記1に記載の方法。
(付記15)
前記結果はビット・ストリングであり、前記最終的な解は前記現実世界の最適化問題の未知変数についての値を含む、付記1に記載の方法。
(付記16)
命令を記憶するように構成された非一時的なコンピュータ可読記憶媒体であって、前記命令は、実行されることに応答して、システムに動作を実行させ、前記動作は:
現実世界の最適化問題に関連付けられたノード・ベースのグラフを含む入力を受領する段階と;
前記ノード・ベースのグラフからエッジのサブセットを除去することによって疎グラフを生成する段階と;
前記疎グラフに基づいて、前記システムの量子コンピュータ上で量子回路の演算子を定式化する段階と;
前記現実世界の最適化問題のためのコスト関数を定式化する段階と;
動作の集合であって:
前記量子コンピュータ上で前記量子回路を動作させて結果を生成し;
前記結果を使用して前記コスト関数の値を推定し;
前記値に基づいて前記量子回路において前記演算子のパラメータを更新することを含む、動作の集合を実行する段階と;
前記コスト関数の推定された値が事前定義された閾値に近づくまで、更新されたパラメータを使用して動作の前記集合の実行を繰り返すことによって、前記現実世界の最適化問題の最終的な解を生成する段階とを含む、
非一時的なコンピュータ可読記憶媒体。
(付記17)
前記量子回路は、前記演算子のための量子論理ゲートの集合と、前記演算子および前記量子論理ゲートがその上で動作するように構成されているキュービットの集合とを含む量子近似最適化アルゴリズム(QAOA)回路である、付記16に記載の非一時的なコンピュータ可読記憶媒体。
(付記18)
前記演算子は:
位相演算子であって、該位相演算子については前記疎グラフが重み付けされていないグラフであり、前記位相演算子は、前記疎グラフの各エッジについて第1のパラメータ(γ)を含むように定式化される、位相演算子と;
混合演算子であって、前記混合演算子は、前記混合演算子について第2のパラメータ(β)を含むように定式化される、混合演算子とを含む、
付記16に記載の非一時的なコンピュータ可読記憶媒体。
(付記19)
前記最終的な解は、前記量子コンピュータによって生成され、かつ、それについて前記コスト関数の前記推定された値が前記事前定義された閾値に近づく前記結果に基づいて、生成され、
前記結果はビット・ストリングであり、前記最終的な解は前記現実世界の最適化問題の未知変数についての値を含む、
付記14に記載の非一時的なコンピュータ可読記憶媒体。
(付記20)
一つまたは複数のプロセッサを有するシステムであって、
前記一つまたは複数のプロセッサは:
現実世界の最適化問題に関連付けられたノード・ベースのグラフを含む入力を受領する段階と;
前記ノード・ベースのグラフからエッジのサブセットを除去することによって疎グラフを生成する段階と;
前記疎グラフに基づいて前記システムの量子コンピュータ上で量子回路の演算子を定式化する段階と;
前記現実世界の最適化問題のためのコスト関数を定式化する段階と;
動作の集合であって:
前記量子コンピュータ上で前記量子回路を動作させて結果を生成することと;
前記結果を使用して前記コスト関数の値を推定することと;
前記値に基づいて前記量子回路において前記演算子のパラメータを更新することを含む、動作の集合を実行する段階と;
前記コスト関数の推定された値が事前定義された閾値に近づくまで、更新されたパラメータを使用して動作の前記集合の実行を繰り返すことによって、前記現実世界の最適化問題の最終的な解を生成する段階とを実行するように構成されている、
システム。
【符号の説明】
【0098】
102 システム
108 最終的な解:
110 量子コンピュータ
112 コントローラ
114 量子回路
116 最適化器

202 現実世界の最適化問題に関連するノード・ベースのグラフを含む入力を受領
204 ノード・ベースのグラフからエッジの部分集合を除去することにより疎グラフを生成
206 現実世界の最適化問題についてコスト関数を定式化
208 疎グラフに基づいてゲート・ベースの量子コンピュータ上で量子回路の演算子を定式化
210 ゲート・ベースの量子コンピュータ上で量子回路を動作させて結果を生成
212 結果を使ってコスト関数の値を推定
214 推定値が事前定義された閾値を満たすか否か?
216 推定値に基づいて、量子回路における演算子のパラメータを更新
218 現実世界の最適化問題の最終的な解を生成

302 一過性のルーティング・データ
306 疎化
308 最大カット定式化
310 最終的な解

402a データポイント
402b 属性
402c 類似性メトリック
406 疎化
408 最小‐最大カット定式化
410 最終的な解

502a 量子コンパイラ
502b 量子プロセッサ
504a プロセッサ
504b メモリ
504c 永続的データ記憶装置
図1
図2
図3
図4
図5
図6