量子コンピューティングは、環境、農業、健康、エネルギー、気候、材料科学などの分野で、地球の最大の課題のいくつかを解決する約束を持っています。 これらの問題の一部では、システムのサイズが大きくなるにつれて、従来のコンピューティングはますます困難になっています。 スケーリングするように設計されている場合、量子システムには、今日の最も強力なスーパーコンピューターを超える機能が備わる可能性があります。
この記事では、量子コンピューティングの原則、従来のコンピューティングと比較する方法、および量子力学の原則を使用する方法について説明します。
量子コンピューティングの歴史
原子や分子などの量子システムは、古典的なコンピューターでシミュレートするのが困難または不可能な場合があります。 1980 年代、リチャード・ファインマンとユーリ・マニンは、量子現象に基づくハードウェアは従来のコンピューターと比べて量子システムのシミュレーションをするのにより効率的である可能性があると提唱しました。
量子システムを通常のコンピューターでシミュレートするのが難しい理由はいくつかあります。 主な理由の 1 つは、量子レベルでは、複数の構成 (状態と呼ばれます) の組み合わせとして同時に記述されるということです。
量子状態が指数関数的に増加する
パーティクルのシステムと、それらのパーティクルが存在する可能性がある 40 個の場所について考えてみましょう。 システムは、 $2^{40}$ の一意の状態になる可能性があります。これは、各場所にパーティクルが存在するか、持っていないかのどちらかであるためです。 これらが古典的なパーティクルの場合、システムは常に $2^{40}$ 状態のいずれかであるため、システムの状態を記述するのに必要なビット数は 40 ビットのみです。 しかし、これらが量子粒子である場合、システムはすべての $2^{40}$ 状態の組み合わせで存在します。 従来のコンピューターでは、130 GB を超えるメモリを必要とする量子システムを記述するために、 $2^{40}$ 番号を格納する必要があります。 ただし、量子コンピューターでは、この量子システムを記述するために必要な量子ビットは 40 個のみです。
電子が 41 個の場所に存在できるようにシステムに別の場所を追加すると、システムの一意の構成の数は $2^{41}$ に倍になります。 その量子状態を従来のコンピューターに格納するには、260 GB を超えるメモリが必要です。 私たちは永遠に場所の数を増やすこのゲームをプレイすることはできません。 従来のコンピューターに量子状態を格納するには、世界で最も強力なマシンのメモリ容量をすぐに超えます。 数百電子で、システムを格納するために必要なメモリは、宇宙の粒子の数を超えています。 従来のコンピューターでは、大規模なシステムの量子ダイナミクスを完全にシミュレートする望みはありません。
困難をチャンスに変える
この指数関数的成長の観察は、強力な疑問を引き起こしました:この困難を機会に変えることができますか? 量子システムを通常のコンピューターでシミュレートするのが難しい場合、基本的な操作に量子効果を使用するマシンを構築するとどうなるでしょうか。 まったく同じ物理法則を悪用するマシンで量子システムをシミュレートできますか? また、そのマシンを使用して、量子力学以外の他の重要な問題を調査できますか? これらは、量子情報と量子コンピューティングの分野を生み出した質問の種類です。
1985 年、デイヴィッド・ドイッチュは、量子コンピューターによってあらゆる物理システムの動作を効率的にシミュレートできることを示しました。 この発見は、量子コンピューターを使用して、従来のコンピューターでは解決が難しすぎる問題を解決できることを示す最初の兆候でした。
1994年、Peter Shorは、大きな整数の素因数を見つけるための量子アルゴリズムを発見しました。 Shor のアルゴリズムは、この因数分解の問題で最もよく知られている古典的アルゴリズムよりも指数関数的に高速に実行されます。 このような高速アルゴリズムは、Rivest-Shamir-Adleman (RSA) や楕円曲線暗号化など、e コマースのトランザクションをセキュリティで保護するために使用する最新の公開キー暗号システムの多くを破壊する可能性があります。 この発見により、量子コンピューティングへの大きな関心が引き起こされ、他の多くの問題に対する量子アルゴリズムの開発につながりました。
それ以来、従来のコンピュータでは解決が困難な他の問題に対して、高速かつ効率的な量子コンピュータアルゴリズムが開発されました。 たとえば、順序付けられていないデータベースを検索し、線形方程式のシステムを解決し、機械学習を実行し、化学、物理学、材料科学の物理システムをシミュレートするための量子アルゴリズムが用意されました。
量子ビットとは?
ビットが従来のコンピューティングにおける情報の基本的な目的であるのと同様に、量子ビット (量子ビット) は量子コンピューティングにおける情報の基本的なオブジェクトです。
量子ビットは、ビットが従来のコンピューティングで果たすのと同様の役割を果たしますが、量子ビットの動作はビットとは異なります。 従来のビットはバイナリであり、任意の時点で、0 または 1 の 2 つの状態のうちの 1 つだけにすることができます。 ただし、量子ビットは、同時に 0 と 1 の両方の状態の重ね合わせにすることができます。 実際には、0 と 1 の無限の重ね合わせがあり、それぞれが有効な量子ビット状態です。
量子コンピューティングでは、情報は状態 0 と 1 の重ね合わせでエンコードされます。 たとえば、8 つの標準ビットは最大 256 個の一意の値をエンコードできますが、これらの 8 ビットは一度に 256 個の値のうち 1 つだけを表すことができます。 8 量子ビットでは、すべての 256 個の値を同時にエンコードできます。これは、量子ビットが 256 個の状態の重ね合わせになる可能性があるためです。
詳細については、「量子コンピューティングの量子ビット」を参照してください。
量子コンピューターを構築するための要件は何ですか?
量子コンピューターは、量子システムと量子力学の特性を使用して計算の問題を解決します。 量子コンピューターのシステムは、量子ビット、量子ビット間の相互作用、および情報を格納および計算するための量子ビットに対する演算で構成されます。 量子コンピューターを使用して、量子エンタングルメントや量子干渉などの効果をプログラムし、従来のコンピューターよりも速く特定の問題を正確に解決できます。
量子コンピューターを構築するには、量子ビットを作成して格納する方法を検討する必要があります。 また、量子ビットを操作する方法と、計算の結果を測定する方法についても考える必要があります。
一般的な量子ビット テクノロジには、トラップされたイオン量子ビット、超伝導量子ビット、トポロジカル量子ビットが含まれます。 量子ビットストレージの一部の方法では、量子ビットを格納するユニットは、コヒーレンスを最大化し、干渉を低減するために絶対ゼロ付近の温度に保たれる必要があります。 量子ビットの他の種類の格納場所では、振動を最小限に抑え、量子ビットを安定させるために真空槽が使用されています。 信号は、マイクロ波、レーザー、電圧など、さまざまな方法で量子ビットに送信できます。
量子コンピューターの 5 つの条件
優れた量子コンピューターには、次の 5 つの機能が必要です。
- スケーラブル:多数の量子ビットを持つことができます。
- 初期化可能:量子ビットを特定の状態 (通常は 0 状態) に設定できます。
- 回復性がある:。重ね合わせ状態の量子ビットを長時間保持できます。
- ユニバーサル:量子コンピューターでは、可能なすべての演算を実行する必要はなく、"ユニバーサル セット" と呼ばれる演算のセットのみを実行します。 一連のユニバーサル量子演算は、他の操作をそれらのシーケンスに分解できるようにするものです。
- 信頼性がある:量子ビットを正確に測定できます。
これら 5 つの条件は、量子計算の Di Vincenzo 基準 と呼ばれることがよくあります。
これらの 5 つの条件を満たすデバイスを構築することは、人類がこれまでに直面した中で最も困難なエンジニアリングの課題の 1 つです。 Azure Quantum は、量子ビット テクノロジが異なるさまざまな量子コンピューティング ソリューションを提供します。 詳細については、Azure Quantum プロバイダーの完全な一覧を参照してください。
量子現象を理解する
量子現象は、量子コンピューティングと古典的なコンピューティングを区別する基本的な原則です。 量子コンピューターがどのように動作し、なぜそのような可能性を持つのかを把握するには、これらの現象を理解することが重要です。 2つの最も重要な量子現象は重ね合わせとエンタングルメントです。
重ね合わせ
あなたがリビング ルームでエクササイズしていると想像してください。 身体を回して完全に左側を向いてから、身体を逆に回して完全に右側を向いてください。 次に、左右同時に向いてください。 これは不可能です (少なくとも体を 2 つに分割しない限り)。 当然ながら、一度にこの両方の状態になる (左右同時に向く) ことはきません。
しかし、あなたが量子粒子であれば、特定の確率で "左側を向き"、かつ特定の確率で "右側を向く" ことができます。これは、重ね合わせ (またはコヒーレンス) と呼ばれる現象によるものです。
量子コンピューティングのパワーを可能にする重ね合わせ状態には、イオン、電子、超電導回路などの量子システムのみが存在できます。 たとえば、電子は、"左向きまたは右向き" と呼ばれるスピンという独自のプロパティを持つ量子粒子です。 2つのスピン状態はスピンアップとスピンダウンと呼ばれ、電子の量子状態はスピンアップ状態とスピンダウン状態の重ね合わせです。
重ね合わせの詳細と実践を学ぶ場合は、「トレーニング モジュール: 重ね合わせをQ#探索する」 を参照してください。
もつれ
エンタングルメント は、2 つ以上の量子システム間の量子相関関係です。 2 つの量子ビットが絡み合うと、それらの量子ビットは相関し、個々の量子ビットの量子状態を個別に記述できない状態の情報を共有します。 量子エンタングルメントでは、個々の状態ではなく、グローバル システムの量子状態のみを知ることができます。
エンタングル量子システムは、大きな距離で分離された場合でも、この相関関係を維持します。 これは、1 つのサブシステムに適用する演算や処理が他のサブシステムにも相関されることを意味します。 したがって、1 つの量子ビットの状態を測定すると、もう一方の量子ビットの状態に関する情報が提供されます。この特定のプロパティは、量子コンピューティングに非常に役立ちます。
詳細については、「チュートリアル: 量子エンタングルメントをQ#探索する」を参照してください。実際の実装については、「トレーニング モジュール: エンタングルメントを使用して量子ビットをテレポートする」を参照してください。