量子コンピューティングについて

量子コンピューティングは、環境、農業、健康、エネルギー、気候、材料科学などの分野において、地球の最大の課題のいくつかを解決するという約束を果たします。 これらの問題の一部では、システムのサイズが大きくなるにつれて、従来のコンピューティングはますます困難になっています。 スケーリングするように設計されている場合、量子システムには、今日の最も強力なスーパーコンピューターを超える機能が含まれる可能性があります。 量子研究者、科学者、エンジニア、ビジネス リーダーのグローバル コミュニティが協力して量子エコシステムを発展させる中で、すべての業界で量子への影響が加速することが期待されます。

ヒント

量子コンピューティングの取り組みを加速する場合は、Azure Quantum Web サイトのユニークな機能である Azure Quantum を使用してコードをチェックします。 ここでは、組み込みのサンプルまたは独自Q#のQ#プログラムを実行し、プロンプトから新しいQ#コードを生成し、ワンクリックで VS Code for the Web でコードを開いて実行し、Copilot に量子コンピューティングについて質問することができます。

量子コンピューターを使用する理由

量子コンピューターのアイデアは、従来のコンピューターで量子システムをシミュレートする難しさから生まれました。 1980年代、Richard Feynmanとユーリ・マニンは、量子現象に基づくハードウェアは、従来のコンピュータよりも量子システムのシミュレーションの方が効率的かもしれないと独立して提案した。

量子力学をシミュレートすることが難しい理由を理解するには、さまざまな方法があります。 最も簡単なのは、量子レベルで、可能な構成 (状態と呼ばれる) が多数あることを確認することです。

量子コンピューティングが指数関数的に増加する

可能な場所が 40$ 個ある$電子のシステムを考えてみましょう。 したがって、システムは 2^{40}$ の構成のいずれかに$存在する可能性があります (各場所に電子を持つか持たないかのどちらかになるため)。 電子の量子状態を従来のコンピューター メモリに格納するには、130$ GB を超える$メモリが必要です。 パーティクルを 41$ 個の任意の$位置に配置すると、2^{41}$ の構成$の 2 倍の数になり、量子状態を格納するために 260$ GB を超える$メモリが必要になります。

場所の数を増やすこのゲームは無期限に再生することはできません。 従来の状態を保存する場合は、世界で最も強力なマシンのメモリ容量をすぐに超えることになります。 原子の数が数百を超えた時点で、システムを格納するために必要なメモリ数は全宇宙に存在する粒子の数を超えるため、従来のコンピューターでは量子力学をシミュレートすることは不可能です。

困難を機会に変える

この指数関数的成長の観察は、この困難を機会に変えることができるか、という強力な質問をしました。 具体的には、もし量子力学のシミュレーションを行うことが困難な場合、基本演算に量子効果を採用したハードウェアを構築した場合に何が起こるかという問いです。 まったく同じ物理学法則を悪用するマシンを使用して、相互作用する粒子の量子システムをシミュレートできますか? また、そのマシンを使用して、量子粒子には存在しないが、重要な他のタスクを調査することはできますか? これらの質問は、量子コンピューティングの起源につながりました。

1985年、David Deutschは量子コンピュータが物理システムの動作を効率的にシミュレートできることを示しました。 この発見は、量子コンピューターを使用して、従来のコンピューターでは難しい問題を解決できることを示す最初の兆候でした。

1994年、Peter Shorは、最もよく知られている古典的アルゴリズムよりも指数関数的に高速に実行される整数をファクタリングするための量子アルゴリズムを発見しました。 要因の解決により、RSA や楕円曲線暗号など、今日の e コマースのセキュリティの基礎となる公開キー暗号システムの多くを破る機能が可能になります。 この発見は、量子コンピューティングに大きな関心を引き起こし、他の多くの問題に対する量子アルゴリズムの開発につながりました。

それ以来、高速で効率的な量子コンピュータアルゴリズムは、化学、物理学、材料科学の物理システムのシミュレーション、順序なしのデータベースの検索、線形方程式のシステムの解決、機械学習など、多くの困難な古典的なタスクに対して開発されました。

量子ビットとは

ビットが、従来のコンピューティングにおける情報の基本的オブジェクトであるのと同様に、"量子ビット" (qubit) は、量子コンピューティングにおける情報の基本的オブジェクトです。

量子ビットは、量子コンピューティングにおける情報の基本的な単位です。 量子ビットは、ビットが従来のコンピューティングで果たすのと同様の役割を果たしますが、動作は非常に異なります。 従来のビットはバイナリであり、0$ または $1$ の$位置のみを保持できますが、量子ビットは考えられるすべての状態の重ね合わせを保持できます。 つまり、量子ビットは、0$、1$、$または 2 つの量子重ね合わせの状態$にすることができます。 0$ と $1$ の無限の$重ね合わせがあり、それぞれが有効な量子ビット状態です。

量子コンピューティングでは、情報は状態 $0$ と $1$ の重ね合わせでエンコードされます。 たとえば、8 ビットの$場合、256$ 個の異なる値をエンコード$できますが、エンコードするにはそのうちの 1 つを選択する必要$があります。 8$ 量子ビットを使用$すると、256$ 個の$値を同時にエンコードできます。 この動作は、量子ビットが考えられるすべての状態の重ね合わせになる可能性があるためです。

詳細については、「 量子コンピューティングの量子ビット」を参照してください。

量子コンピューターを構築する方法

量子コンピューターは、量子機械現象を利用するコンピューターです。 量子コンピューターでは、量子状態を使用して情報を格納および計算します。 彼らは量子することができます &。プログラム&量子;古典的なコンピュータよりも速く、またはより良いことを行うための量子干渉。

量子コンピューターを構築するときは、量子ビットを作成する方法と、量子ビットを格納する方法について考える必要があります。 また、それらを操作する方法と、計算の結果を読み取る方法についても考える必要があります。

最も使用されている量子ビットテクノロジは、トラップイオン量子ビット、超電導量子ビット、トポロジ量子ビットです。 量子ビットストレージの一部の方法では、量子ビットを収容するユニットは、コヒーレンスを最大化し、干渉を低減するために絶対ゼロに近い温度に保たれます。 量子ビットの他の種類の格納場所では、振動を最小限に抑え、量子ビットを安定させるために真空槽が使用されています。 信号は、マイクロ波、レーザー、電圧など、さまざまな方法を使用して量子ビットに送信できます。

量子コンピューターの 5 つの条件

優れた量子コンピューターには、次の 5 つの機能が必要です。

  1. スケーラブル: 多くの量子ビットを持つことができます。
  2. 初期化可能:量子ビットを特定の状態 (通常は 0$ 状態) に$設定できます。
  3. 弾力 性: 量子ビットを重ね合わせ状態に長期間保持できます。
  4. ユニバーサル: 量子コンピューターは、可能なすべての操作を実行する必要はありません。 ユニバーサル セットと呼ばれる一連の操作のみです。 一連のユニバーサル量子演算は、他の操作をそれらのシーケンスに分解できるようにします。
  5. 信頼性: 量子ビットを正確に測定できます。

この 5 つの条件は、多くの場合、量子計算の Di Vincenzo 条件と呼ばれます。

これらの 5 つの条件を満たすデバイスを構築することは、人類がこれまでに直面した中で最も困難なエンジニアリングの課題の 1 つです。 お客様が Azure Quantum を介して最新の量子コンピューティング ソリューションにアクセスできるように、Microsoft は世界各国の最高クラスの量子コンピューター メーカー数社と提携しています。 詳細については、 Azure Quantum プロバイダーの完全な一覧を参照してください。

量子コンピューティングと Azure Quantum の用途

量子コンピューターは、あらゆることをより高速に実行できるスーパー コンピューターではありません。 実際、量子コンピューティング研究の目的の 1 つは、従来のコンピューターよりも高速に量子コンピューターで解決できる問題と、高速化の大きさを調査することです。

量子コンピューターは、膨大な数の可能な組み合わせの計算を必要とする問題に抜群の効果を発揮します。 このような問題は、量子シミュレーション、暗号化、量子機械学習、検索の問題など、多くの領域に存在します。

Microsoft の量子コンピューティングの研究に関する最新情報については、Microsoft Research Quantum Computing のページを参照してください。

リソースの見積もり

現在利用可能な量子コンピューターは興味深い実験と研究を可能にしていますが、実際の問題を解決するために必要な計算を高速化することはできません。 業界がハードウェアの進歩を待っている間、量子ソフトウェアのイノベーターは進歩を続け、量子の未来に備えたい考えです。 将来のフォールト トレラントなスケーリングされた量子コンピューターで最終的に実行されるアルゴリズムを今日作成することは、困難な作業です。 これらのイノベーターは、必要なハードウェア リソースなどの質問に直面しています。 必要な物理量子ビットと論理量子ビットの数と種類 実行時間はどれくらいですか?

Azure Quantum リソース推定器を使用して、これらの質問に答えることができます。 その結果、アルゴリズムを改良し、使用可能になったときにスケーリングされた量子コンピューターを利用するソリューションを構築できるようになります。

開始するには、最初の リソース見積もりの実行に関するページを参照してください。

arXiv:2211.07629 の Azure Quantum リソース推定器を使用して、実際の量子上の利点にスケーリングするための要件の評価の詳細について説明します。

量子シミュレーション

量子力学は基になる &量子です。&私たちの宇宙のオペレーティングシステムの量子。 自然を構成する基本的な要素がどのように作用するかを表すために使用されます。 化学反応、生体反応、材料形成などの自然の作用は、多体量子相互作用を伴うことがよくあります。 分子などの本質的に量子力学システムをシミュレートする場合、量子コンピューティングは有望です。量子 ビット (量子ビット) を使用して問題の自然な状態を表すことができるためです。 モデル化できる量子システムの例としては、光合成、超伝導、分子錯体形成などがあります。

Azure Quantum Elements は、科学的発見を加速するために専用に構築されています。 Azure High-Performance Computing (HPC) クラスターでのスケーリング用に最適化されたシミュレーション ワークフロー、AI 高速コンピューティング、AI を使用した拡張推論、既存の量子ハードウェアの実験を開始するための量子ツールとの統合、Microsoft の量子スーパーコンピューターへの将来のアクセスを使用して、研究開発の生産性を再発明します。 詳細については、「 Azure for Molecular Dynamics の機能のロック解除」を参照してください。

量子高速化

量子コンピューティング研究の目標の 1 つは、従来のコンピューターよりも高速に量子コンピューターで解決できる問題と、どの程度の高速化を実現できるかを研究することです。 よく知られている 2 つの例は、Grover のアルゴリズムと Shor のアルゴリズムであり、従来のアルゴリズムに対してそれぞれ多項式と指数関数的な高速化が実現されます。

スケーラブルな量子コンピューターで実行される Shor のアルゴリズムは、セキュリティで保護されたデータ転送のために電子商取引で広く使用されている Rivest-Shamir-Adleman (RSA) スキームなどの従来の暗号化方式を破る可能性があります。 この方式は、古典的アルゴリズムを使用して素数を因数分解することの現実的な難しさに基づいて行います。 量子暗号化により、複雑さの仮定ではなく、基本的な物理学を使用することで情報セキュリティを保証します。

Shor の因子分解アルゴリズムと同様に、隠れシフト問題は、最もよく知られた従来のアルゴリズムに対して量子コンピューターが指数関数的な優位性を持つ問題の自然発生源です。 これは、最終的にデコンボリューション問題を解決するのに役立ち、複雑なデータセットのパターンを効率的に見つけることができる可能性があります。 量子コンピューターは、原理上高速にコンボリューションを計算でき、これはフーリエ変換を非常に高速に計算する量子コンピューターの能力に基づいていることが判明しました。 Azure Quantum ワークスペースのサンプル ギャラリーには、隠れシフトの Jupyter ノートブック サンプルがあります (Azure アカウントが必要です)。

Grover のアルゴリズムでは、非構造化データ検索の求解が大幅に高速化され、従来のどのアルゴリズムよりも少ない手順で検索を実行できます。 実際、指定された値$x$ チェックが有効な解("はい、またはいいえ問題") は、検索の問題の観点から定式化できます。 次はその例の一部です。

  • ブール値の満足度の問題: ブール値 $のセット x$ は、指定されたブール式を満たす解釈 (変数への値の割り当て) ですか?
  • 旅行セールスマンの問題:x$はすべての都市を結ぶ最短のループを記述していますか$?
  • データベース検索の問題: データベース テーブルにレコード $x$ が含まれていますか?
  • 整数因数分解の問題: 固定数 N$ は数値 $$x$ で割り切れるか。

グローバーのアルゴリズムの詳細については、「でグローバーのアルゴリズムQ#を実装する」のチュートリアルを参照してください。

量子コンピューティングで問題を解決する方法

量子コンピューターは、量子物理学の性質を利用して計算を実行する制御可能な量子力学デバイスです。 一部の計算タスクでは、量子コンピューティングを使用することで速度が飛躍的に向上します。 このような高速化を実現できるのは、量子力学の 3 つの現象である重ね合わせ、干渉、エンタングルメントによるものです。

重ね合わせ

あなたがリビング ルームでエクササイズしていると想像してください。 身体を回して完全に左側を向いてから、身体を逆に回して完全に右側を向いてください。 次に、左右同時に向いてください。 これは不可能です (少なくとも体を 2 つに分割しない限り)。 当然ながら、一度にこの両方の状態になる (左右同時に向く) ことはきません。

しかし、あなたが量子粒子であれば、特定の確率で "左側を向き"、かつ特定の確率で "右側を向く" ことができます。これは、重ね合わせ (またはコヒーレンス) と呼ばれる現象によるものです。

古典的な粒子とは異なり、2つの状態AとBが量子粒子の有効な量子状態である場合、状態の任意の線形組み合わせも有効な量子状態である:$\text{量子ビット状態}=\alphaA + \beta B$。$$$$ 量子状態 $A と B$ のこの線形の組み合わせは重ね合わせと$呼$ばれます。 ここで、 $\alpha$ A$及び$$\beta$B$の$確率振幅は、それぞれ^{2}{+|\beta|^={2}1$である。$|\alpha|

量子コンピューティングの威力を実現できる重ね合わせ状態になることができるのは、イオンや電子、超電導回路のような量子系だけです。 電子のような量子粒子には、"左向きまたは右向き" という独自の特性(つまりスピン)があり、上または下と呼ばれるので、電子の量子状態は量子の重ね合わせ&です。量子をスピンアップし&、量子をスピンアップ&します。量子をスピンダウン&します。。

一般に、そして古典的バイナリ コンピューティングへの関連を高めるために、ある量子系が 2 つの量子状態を取ることができる場合、これらの状態は 0 状態と 1 状態と呼ばれます。

量子ビットと確率

従来型コンピューターでは、情報がビット単位で格納および処理されます。ビットは、1 か 0 のいずれかの状態になることができますが、両方の状態になることはできません。 量子コンピューティングでは量子ビットがこれに相当します。 量子ビットは 2 つの量子状態 (0 と 1) の重ね合わせとなることができる量子系です。 可能性のある量子状態にはそれぞれ、関連付けられている確率振幅があります。 量子ビットを測定した後にのみ、その状態は、関連する確率に応じて 0 状態または 1 状態になります。したがって、考えられる状態の 1 つが特定の確率で取得されます。

いずれかの形で収縮される量子ビットの確率は量子干渉によって決まります。 量子干渉は、量子ビットの状態に影響を与えて、測定時の特定の結果の確率に影響を及ぼします。この確率論的な状態が、量子コンピューティングが威力を発揮する分野です。

たとえば、従来型コンピューターの 2 つのビットでは、各ビットに 1 または 0 を格納できます。そのため、全部で 00011011 の 4 つの可能な値を格納できます。ただし、一度に格納できるのは 1 つだけです。 しかし、重ね合わせの 2 つの量子ビットでは、各量子ビットは 1 か 0 または両方 になることができるため、同じ 4 つの値を同時に表すことができます。 3 つの量子ビットでは 8 つの値を表すことができ、4 つの量子ビットでは 16 の値を表すことができる、というようになります。

詳細については、「 量子コンピューティングの量子ビット」を参照してください。

もつれ

量子力学の最も興味深い現象の 1 つは、2 つ以上の量子系が相互にもつれた状態になることができることです。 もつれとは、量子系の間の量子相関関係です。 量子ビットがもつれた状態になると、グローバル システムが形成され、個々のサブシステムの量子状態を個別に記述できません。 グローバル システムの状態をサブシステムの状態の組み合わせとして書き込むことができない場合、2 つのシステムが絡み合います。特に、グローバル システムの状態をサブシステムの状態の テンソル積 として書き込むことができない場合、2 つのシステムが絡み合います。 製品の状態に相関関係が含まれない。

エンタングル量子システムは、大きな距離で分離された場合でも、この相関関係を維持します。 これは、1 つのサブシステムに適用する演算や処理が他のサブシステムにも相関されることを意味します。 もつれた量子ビット間に相関関係が存在するため、1 つの量子ビットの状態を測定すると、他方の量子ビットの状態に関する情報が得られます。この特性が量子コンピューティングに非常に役立ちます。

Note

2 つの量子ビットの測定の間に相関関係があったとしても、それが常に 2 つの量子ビットがエンタングルされることを意味するわけではありません。 量子相関に加えて、古典的相関も存在する。 従来と量子の相関関係の違いは微妙ですが、量子コンピューターによって提供される高速化には不可欠です。 詳細については、「 従来の相関関係について」を参照してください。

詳細については、「での量子エンタングルメントQ#の探索」のチュートリアルを参照してください。

次の手順