グローバーのアルゴリズム
このQiskit教室モジュールの場合、学生は次のパッケージがインストールされた動作するPython環境を持っている必要があります:
qiskitv2.1.0以降qiskit-ibm-runtimev0.40.1以降qiskit-aerv0.17.0以降qiskit.visualizationnumpypylatexenc
上記のパッケージをセットアップしてインストールするには、Qiskitのインストールガイドを参照してください。 実際の量子コンピュータでジョブを実行するには、学生はIBM Cloudアカウントの設定ガイドの手順に従って、IBM Quantum®でアカウントを設定する必要があります。
このモジュールはテストされ、12秒のQPU時間を使用しました。これは誠実な見積もりです。実際の使用量は異なる場合があります。
# Added by doQumentation — required packages for this notebook
!pip install -q qiskit qiskit-ibm-runtime
# Uncomment and modify this line as needed to install dependencies
#!pip install 'qiskit>=2.1.0' 'qiskit-ibm-runtime>=0.40.1' 'qiskit-aer>=0.17.0' 'numpy' 'pylatexenc'
はじめに
グローバーのアルゴリズムは、構造化されていない検索問題に対処する基礎的な量子アルゴリズムです: 個のアイテムのセットと、任意のアイテムが探しているものであるかどうかをチェックする方法が与えられたとき、目的のアイテムをどれだけ速く見つけることができますか?古典的コンピューティングでは、データがソートされておらず、利用できる構造がない場合、最良のアプローチは各アイテムを1つずつチェックすることであり、クエリの複雑さはになります。平均して、ターゲットを見つける前に約半分のアイテムをチェックする必要があります。

1996年にLov Groverによって導入されたグローバーのアルゴリズムは、量子コンピュータがこの問題をはるかに効率的に解決できる方法を示し、マークされたアイテムを高い確率で見つけるためにステップしか必要としません。これは、古典的方法に対する二 次的な高速化を表しており、大規模なデータセットにとって重要です。
アルゴリズムは次の文脈で動作します:
- 問題設定: が欲しいアイテムである場合は1を返し、そうでない場合は0を返す関数があります。この関数は、をクエリすることによってのみデータについて学習できるため、しばしばオラクルまた はブラックボックスと呼ばれます。
- 量子の有用性: この問題の古典的アルゴリズムは平均して回のクエリを必要としますが、グローバーのアルゴリズムは約回のクエリで解を見つけることができ、大きなに対してははるかに高速です。
- 動作の仕組み(高レベル):
- 量子コンピュータはまず、すべての可能なアイテムを一度に表すすべての可能な状態の重ね合わせを作成します。
- 次に、正しい答えの確率を増幅し、他の確率を減少させる一連の量子演算(グローバー反復)を繰り返し適用します。
- 十分な反復の後、量子状態を測定すると、高い確率で正しい答えが得られます。
これは、多くのニュアンスをスキップしたグローバーのアルゴリズムの非常に基本的な図です。より詳細な図については、この論文を参照してください。