量子コンピューティングの最短の紹介(Roman Dushkinによるゲスト投稿)。 量子コンピューティングの簡単な紹介(Roman Dushkinによるゲスト投稿)量子コンピューティングの原理

コンピューターはコンパクトになり、タスクの処理が以前よりもはるかに高速になりましたが、タスク自体は同じままです。ビットのシーケンスを操作し、このシーケンスを有用な計算結果として解釈します。 ビットは情報の基本単位であり、通常、デジタルコンピュータでは0または1として表されます。 各古典的なビットは、ハードディスクの磁化やコンデンサの電荷などの巨視的な物理システムによって物理的に実現されます。 たとえば、で構成されるテキスト NS文字は、一般的なコンピュータのハードドライブに保存され、次の文字列で表されます。 8nゼロと1。 これは、古典的なコンピューターと量子コンピューターの根本的な違いがあるところです。 古典コンピュータは古典物理学のよく理解されている法則に従いますが、量子コンピュータは量子力学的現象(特に 量子干渉)情報を処理するまったく新しい方法を実装する。 量子コンピューティング:賛否両論。 エド。 V.A. Sadovnichy。 -イジェフスク:出版社「UdmurtUniversity」、1999年。-212ページ。

量子コンピューターでは、情報の基本単位(量子ビットまたは キュービット)はバイナリではなく、本質的にクォータナリです。 キュービットのこの特性は、古典物理学の法則とは根本的に異なる量子力学の法則への従属の直接的な結果として生じます。 キュービットは、古典的なビットのように論理0または1に対応する状態だけでなく、混合または 重ね合わせこれらの古典的な状態。 言い換えれば、キュービットは0として、1として、同時に0と1として存在することができます。この場合、各状態にある確率を表す特定の数値係数を指定できます。 ..。 Belonuchkin V.E.、Zaikin D.A.、Tsipenyuk Yu.M.、Fundamentals of Physics

量子コンピューターを構築する可能性についての考えは、R。ファインマン1982-1986の作品にさかのぼります。 デジタルコンピュータで量子システムの進化を計算する問題を検討して、ファインマンはこの問題が「解決できない」ことを発見しました。古典的なマシンのメモリリソースと速度は量子問題を解決するには不十分であることがわかりました。 たとえば、 NS 2つの状態を持つ量子粒子(スピン 1/2 )それは持っています 2 NS基本的な状態; それを説明するには、設定する(そしてコンピュータのメモリに書き込む)必要があります 2 NSこれらの状態の振幅。 この否定的な結果に基づいて、ファインマンは、おそらく「量子コンピューター」は、その上の量子問題を解決することを可能にする特性を持っているだろうと示唆しました。 バリエフK.A. 「量子コンピューター:それらを「大きく」することができるか?」、Uspekhi fizicheskikh nauk、第169巻、第6号、1999年。

「クラシック」コンピュータは、入力電圧と出力電圧の間に非線形の関係を持つトランジスタ回路上に構築されています。 基本的に、これらは双安定要素です。 たとえば、入力電圧が低い場合(論理「0」)、入力電圧が高い場合(論理「1」)、またはその逆の場合です。 量子の世界では、このような双安定トランジスタ回路は2レベルの量子粒子に関連付けることができます:論理状態の値を状態、状態、 - ブール値。 ここでの双安定トランジスタ回路の遷移は、レベルからレベルへの遷移に対応します。 ただし、キュービットと呼ばれる量子双安定要素には、古典的な状態の重ね合わせの特性と比較して、新しい特性があります。複素数である任意の重ね合わせ状態にすることができます。 からの量子系の状態 NS 2レベルの粒子の一般的に重ね合わせの形をしています 2 NS基本的な状態。 最終的に、状態の重ね合わせの量子原理は、量子コンピューターに根本的に新しい「能力」を与えることを可能にします。

量子コンピュータは、1キュービット要素と2キュービット制御NOT(CNOT)要素の2つの要素(ゲート)だけで構築できることが証明されています。 マトリックス 2x2要素は次のようになります:

ゲートは、角度で指定されたz軸から極軸へのキュービット状態ベクトルの回転を記述します。 . が無理数の場合、繰り返し適用することにより、状態ベクトルに任意の所定の方向を与えることができます。 これはまさに(1)の形式の1量子ビットゲートの「普遍性」です。 特定のケースでは、1キュービットの論理ゲートNOT(NOT)を取得します:NOT =、NOT =。 要素の物理的な実装では、量子ビットをある状態から別の状態に転送する外部パルスで量子粒子(量子ビット)に作用する必要はありません。 制御されたゲートは、相互作用する2つのキュービットに作用することによって実行されません。この場合、相互作用を通じて、一方のキュービットが他方の進化を制御します。 外部パルスの影響下での遷移は、パルス磁気共鳴分光法でよく知られています。 ゲートは、インパルス(軸の周りの磁化の角度による回転)の作用下でのスピンフリップに対応していません . CNOTバルブは2つの背面で動作します 1/2 ハミルトニアン(スピンコントロール)を使用。 CNOTは、インパルス+時間の経過に伴う自由歳差運動-インパルスの3つのステップで実行されます。 (制御キュービットが状態にある)場合、示された影響下で、制御キュービットは遷移(または)を行います。 (制御量子ビットが状態にある)場合、制御量子ビットの進化の結果は異なります:()。 したがって、スピンは次の場所で異なって進化します。ここで、•は制御キュービットの状態です。 バリエフK.A. 「量子情報学:コンピューター、通信、暗号化」、ロシア科学アカデミー紀要、第70巻、第8号、p。 688-695、2000

特定の量子システムでの量子コンピュータの実装の問題を検討するとき、まず、基本的なNOTゲートと制御されたNOTの実現可能性と特性が調査されます。

以下では、1キュービットのアダマール変換を導入することも役立ちます。

磁気共鳴の技術では、これらのバルブはパルス化されます:

量子コンピューターの図を図に示します。 コンピューターが動作を開始する前に、すべてのキュービット(量子粒子)を状態にする必要があります。 基底状態に。 この状態自体は簡単ではありません。

それは(ミリケルビンのオーダーの温度への)深い冷却または分極法の使用のいずれかを必要とします。 システム NSある状態の量子ビットは、入力データを記録して計算を実行するために用意されたメモリレジスタと見なすことができます。 このレジスタに加えて、通常、中間計算結果を記録するために必要な追加の(補助)レジスタがあると想定されます。 データの記録は、コンピューターの各キュービットに対する1つまたは別のアクションによって実行されます。 たとえば、アダマール変換がレジスタの各キュービットで実行されると仮定します。

その結果、システムはから重ね合わせの状態に移行しました 2 NS振幅のある基底状態 2 -n / 2 . 各基本状態は、からまでの2進数です。 図の横線は時間軸を表しています。

アルゴリズムは、重ね合わせのユニタリ変換によって実行されます。 次元のユニタリ行列です 2 NS . 外部からのキュービットへのインパルスの影響による物理的な実装では、行列は次元2との行列のベクトル積として表される必要があります。 . 後者は、単一のキュービットまたはキュービットのペアに対する順次アクションによって実行できます。 :

この拡張の要因の数によって、計算の期間(および複雑さ)が決まります。 (3)のすべては、NOT、CNOT、H(またはそれらのバリアント)を使用して実行されます。

線形ユニタリ演算子が重ね合わせのすべての項に同時に作用することは注目に値します

計算結果は、適用前の状態のスペアレジスタに記録されます。 計算プロセスの1回の実行で、引数のすべての値について、求められている関数fの値を取得します。 x = 0、...、 2 NS -- 1 ..。 この現象は量子並列処理と呼ばれます。

計算結果の測定は、(4)の重ね合わせベクトルを基本状態の1つのベクトルに射影することになります。 :

ここで、量子コンピューターの弱点の1つが浮かび上がります。それは、偶然の法則に従って、測定の過程で数が「脱落」することです。 与えられた場所で見つけるために , 誤って脱落するまで、何度も計算や測定を行う必要があります .

計算プロセスを実行する量子システムの単一進化を分析するとき、干渉などの物理プロセスの重要性が明らかになります。 ユニタリ変換は複素数の空間で実行され、これらの数の位相の加算には干渉の性質があります。 干渉と分光法の現象におけるフーリエ変換の生産性は知られています。 フーリエ変換は常に量子アルゴリズムに存在することが判明しました。 アダマール変換は、最も単純な離散フーリエ変換です。 NOTおよびСNOTゲートは、光子干渉とその偏光ベクトルの回転の現象を使用して、マッハツェンダー干渉計に直接実装できます。

量子コンピュータの物理的実現のさまざまな方法が調査されています。 量子コンピューティングのモデル実験は、パルス核磁気共鳴分光計で実行されます。 これらのモデルでは、2つまたは3つのスピン(キュービット)が機能しました。たとえば、13 C核の2つのスピンと、トリクロロエチレン分子のプロトンの1つのスピンです。

ただし、これらの実験では、量子コンピューターは「アンサンブル」コンピューターでした。コンピューターの出力信号は、溶液中の多数の分子(〜1020)によって追加されました。

これまで、真空中のトラップ内のイオンと分子、液体中の核スピン(上記を参照)、結晶シリコン中の31 P原子の核スピン、作成された量子ドット内の電子スピンに量子コンピューターを実装する提案がなされてきました。ジョセフソン接合上のGaAsヘテロ構造の二次元電子ガス中。 ご覧のとおり、原則として、量子コンピューターは真空、液晶、結晶中の原子粒子上に構築できます。 この場合、いずれの場合も、1つまたは別の障害を克服する必要がありますが、量子コンピューターでの量子ビットの動作原理により、いくつかの一般的な障害を区別できます。 たとえば、10 3キュービットを含む実物大の量子コンピューターを作成するという問題を提起しましょう(ただし、 n = 100量子コンピューターは便利なツールになり得ます)。

1.コンピューターのキュービットを状態に「初期化」する方法を見つける必要があります。 結晶のスピン系では、超低温と超強磁場の使用は明らかです。 励起スピン偏極の使用は、冷却磁場と高磁場を同時に使用する場合に役立ちます。

真空トラップ内のイオンの場合、イオン(原子)の超低冷却はレーザー法によって実現されます。 低温および超高真空の必要性も明らかです。

2.選択したキュービットに対するインパルスの選択的作用の技術が必要です。 無線周波数とスピン共鳴の領域では、これは、各スピンが(分光学的分解能の観点から)独自の共鳴周波数を持たなければならないことを意味します。 分子内のスピンの共鳴周波数の違いは、1つの同位体と1つの元素のスピンの化学シフトによるものです。 さまざまな元素の原子核のスピンに必要な周波数差が存在します。 ただし、常識では、これらの自然に与えられた共振周波数の違いは、103回のスピンで機能するのに十分ではないことを示しています。

各キュービットの共振周波数を外部から制御できる場合、アプローチはより有望であるように思われます。 シリコン量子コンピューターの提案では、キュービットは不純物原子31Rの核スピンです。共鳴周波数は定数によって決定されます。 NS 31P原子の核スピンと電子スピンの超微細相互作用31P原子の上にあるナノ電極上の電場は、原子を分極し、定数を変化させます NS(それぞれ、核スピンの共鳴周波数)。 したがって、電極の存在は、キュービットを電子回路に埋め込み、その共振周波数を調整します。

3. CNOT操作(制御されたNOT)を実行するには、キュービットとタイプの間の相互作用が必要です。 このような相互作用は、原子核が1つの化学結合によって分離されている場合、分子内の原子核のスピン間で発生します。 基本的に、キュービットの任意のペアに対して操作を実行できる必要があります。 自然環境では、同じ大きさの「すべてとすべて」の原理に従って、同じ大きさの量子ビットの物理的相互作用を持つことはほとんど不可能です。 電位を制御した電極を導入することにより、外部から量子ビット間の環境を調整する方法が明らかに必要とされています。 このようにして、例えば、隣接する量子ドットにおける電子の波動関数の重なりや、電子スピン間の形態の相互作用の出現を作り出すことが可能です[。 隣接する31P原子の電子の波動関数の重なりは、核スピン間のタイプの相互作用を引き起こします。

とが離れた量子ビットであり、その間でフォームの相互作用がない操作を提供するには、状態が一致するため、操作を提供するように、コンピューターのチェーンに沿った状態交換の操作を適用する必要があります。状態。

4.選択したアルゴリズムに対応するユニタリ変換を実行する過程で、コンピューターの量子ビットは環境の影響を受けます。 その結果、キュービット状態ベクトルの振幅と位相はランダムに変化します-デコヒーレン化。 本質的に、デコヒーレンスは、キュービットで使用される粒子の自由度の緩和です。 デコヒーレンス時間は緩和時間と同じです。 液体中の核磁気共鳴では、時間と緩和は1〜10秒です。 E0レベルとE1レベルの間に光学遷移があるトラップ内のイオンの場合、デコヒーレンス時間は自然放出時間と残留原子との衝突時間です。 デコヒーレンスが量子コンピューティングの深刻な障害であることは明らかです。開始された計算プロセスは、デコヒーレンス時間が経過した後にランダム性の特徴を獲得します。 ただし、量子コーディングとエラー訂正(位相と振幅)の方法を体系的に使用すれば、任意の長い時間τ>τaで安定した量子計算プロセスを実現できます。 NОТやСNОТなどの基本操作のエラーのない実行に対する要件が比較的低く(エラー確率が10-5以下)、量子エラー訂正(QEC)メソッドが量子コンピューターの安定した操作を保証することが証明されています。

量子ビットのシステム上で定期的な測定が実行される場合、デコヒーレンスプロセスのアクティブな抑制も可能です。 測定では、粒子が「正しい」状態にあることが最も多く検出され、測定中の状態ベクトルの小さなランダムな変化が崩壊します(量子ゼノン効果)。 ただし、そのような測定自体が計算プロセスに影響を与え、それを混乱させる可能性があるため、そのような手法がどれほど有用であるかをまだ言うことは困難です。

5.計算プロセスの完了後のキュービットの状態を測定して、計算の結果を決定する必要があります。 今日、そのような測定の習得された技術はありません。 しかし、そのような技術を探す方法は明らかです。量子測定では増幅法を使用する必要があります。 たとえば、核スピンの状態は電子スピンに移されます。 軌道波動関数は後者に依存します。 軌道波動関数を知っていると、電荷の移動(イオン化)を組織化することが可能です。 単一の電子電荷の有無は、古典的な電気測定法によって検出できます。 プローブフォース顕微鏡法は、おそらくこれらの測定において重要な役割を果たすでしょう。

これまでに、古典的なコンピューターでの計算と比較して、計算の指数関数的な加速につながる量子アルゴリズムが発見されました。 これらには、大きな(複数桁の)素因数を決定するためのショアのアルゴリズムが含まれます。 現代の暗号化コードはそのような要素の「計算不可能性」に基づいて構築されているため、この純粋に数学的な問題は社会の生活と密接に関連しています。 ショアのアルゴリズムが発見されたときにセンセーションを巻き起こしたのはこの状況でした。 物理学者にとって、量子コンピューターを使用する場合、量子問題の解(多粒子系のシュレディンガー方程式の解)が指数関数的に加速されることが重要です。

最後に、量子コンピューティングの問題に関する研究の過程で、量子物理学の主な問題が新しい分析と実験的検証にかけられることが非常に重要です:局所性、現実、相補性、隠れたパラメーター、波動関数の崩壊の問題。

量子コンピューティングと量子通信のアイデアは、量子物理学の元のアイデアの誕生から100年後に生まれました。 量子コンピュータと通信システムを構築する可能性は、これまでに行われた理論的および実験的研究によって示されています。 量子物理学は、さまざまな「要素ベース」での量子コンピューターの設計に「十分」です。 量子コンピューターは、構築できれば21世紀の技術となるでしょう。 それらの製造には、ナノメートルおよび原子サイズレベルでの新技術の創出と開発が必要になります。 この作業には、明らかに数十年かかる場合があります。 量子コンピューターを構築することは、自然の無尽蔵の原則のもう1つの確認です。自然には、人が正しく定式化したタスクを実行する手段があります。

従来のコンピュータでは、情報は一連のビットでエンコードされ、これらのビットはブールゲートによって順次処理されて、目的の結果が得られます。 同様に、量子コンピューターは、量子ゲートを使用して一連の操作を実行することによって量子ビットを処理します。各演算は、単一の量子ビットまたは量子ビットのペアに作用するユニタリ変換です。 これらの変換を順次実行することにより、量子コンピューターは、ある初期状態で準備されたキュービットのセット全体に対して複雑なユニタリ変換を実行できます。 その後、キュービットを測定して、計算の最終結果を得ることができます。 量子コンピューターと古典的なコンピューターの間のこの計算上の類似性は、少なくとも理論的には、古典的なコンピューターが量子コンピューターの動作を正確に再現できることを示唆しています。 言い換えれば、古典的なコンピューターは量子コンピューターとまったく同じことをすることができます。 では、なぜこのすべてが量子コンピューターに大騒ぎするのでしょうか。 事実、古典的なコンピューターは理論的には量子コンピューターをシミュレートできますが、非常に非効率的であるため、実際には古典的なコンピューターは量子コンピューターが処理できる多くの問題を解決できません。 John Bellが最初に示したように、量子ビット間の相関は古典的なビット間の相関とは質的に異なるため、古典的なコンピューターで量子コンピューターをシミュレートすることは計算上困難です。 たとえば、わずか数百キュービットのシステムを取ることができます。 それは次元のヒルベルト空間に存在します ~10 90 , これには、古典的なコンピューターをシミュレートするときに、指数関数的に大きな行列を使用する必要があります(個々の状態の計算を実行するために、これも行列によって記述されます)。 これは、古典的なコンピューターが原始的な量子コンピューターよりも指数関数的に長くかかることを意味します。

リチャード・ファインマンは、そのような問題をはるかに速く解決するために、量子重ね合わせの現象に内在する可能性を最初に認識しました。 たとえば、古典的に先延ばしにすることは事実上不可能である500キュービットのシステムは、 2 500 状態。 このような重ね合わせの各値は、古典的に500個の1と0のリストと同等です。 このようなシステムでの量子操作、たとえば、特定の方法で調整された電波パルスは、たとえば100キュービットと101キュービットで制御されたNOT操作を実行できます。 2 500 状態。 したがって、コンピュータクロックの1ティックで、量子操作は通常のコンピュータのように1つのマシン状態を計算するのではなく、 2 500 すぐに状態! しかし、最終的には、量子ビットのシステムで測定が行われ、システムは、問題の単一の解に対応する単一の量子状態、500個の1と0の単一のセットに崩壊します。量子力学。 これは本当にスリリングな結果です。重ね合わせに根ざした集合的な量子並列計算プロセスによって発見されたこのソリューションは、古典的なスーパーコンピューターで同じ操作を実行するのと同じです。 10 150 別々のプロセッサ(もちろん、それは不可能です)!! もちろん、この分野の最初の研究者は、そのような巨大な可能性に触発されたので、そのような計算能力に適したタスクの真の探求がすぐに始まりました。 ニュージャージーにあるAT&Tのベル研究所の研究者兼コンピューター科学者であるPeter Shorは、量子コンピューターと量子アルゴリズムで解決できる問題を提案しました。Shorのアルゴリズムは、量子重ね合わせの力を利用して、多数(〜のオーダー)を分解します。数秒で10,200バイナリ桁以上)この問題は、暗号化の重要な実用的なアプリケーションを持っています。RSAとして知られる一般的に受け入れられている(そして最良の)暗号化アルゴリズムは、大きな複合数を主要な要素に因数分解することの難しさに正確に基づいています。もちろん、このような問題を簡単に解決できる。は、これまで「壊れない」と考えられていたRSAを使用する多くの政府機関や、データのセキュリティに関心のある人にとって非常に興味深いものです。

ただし、暗号化は、量子コンピューターで可能なアプリケーションの1つにすぎません。 ショアは、量子コンピューターでのみ実行できる数学演算のセット全体を開発しました。 これらの操作のいくつかは、彼の因数分解アルゴリズムで使用されています。 さらに、ファインマンは、量子コンピューターが量子物理学のシミュレーターとして機能し、この分野での多くの発見への扉を開く可能性があると主張しました。 現在、量子コンピューターの能力と能力は主に理論的推論の対象です。 最初の真に機能的な量子コンピューターの出現は、間違いなく多くの新しくエキサイティングな実用的なアプリケーションをもたらすでしょう。

シュレディンガー表現では、ユニタリ作用素の作用下でのキュービットの時間変化が便利にグラフィカルに表現されます。 このアプローチは、量子コンピューティングの分野で広く使用されています。 いわゆる量子回路は、電気回路のグラフィック表現に類似しています。 また、デジタルAND、OR、NOTゲート、フリップフロップ、レジスタ、加算器などと同様のゲートまたはゲートのセットから構築されます。

基本状態「0」のキュービットがあるとします。 ここでも、列ベクトル(1 0)として表すことができます。 それをゲート入力に供給する場合、それをXと呼びましょう。そうすると、状態ベクトルが変化します。 このゲートは、Paulisigma-x行列で表されます。 はい、エルミートであることに加えて、パウリ行列もユニタリです。 すべてのエルミート行列が単一であるわけではありませんが、パウリ行列は単一です。

したがって、Pauli X行列に元のベクトルを掛けると、列ベクトル(0 1)が得られます。 これは、2番目の基本的なケットベクトル| 1>です。 つまり、このゲートは0を1に変換しました。 このゲートは、否定、反転を実行するため、NOTとも呼ばれます。 実際、そのような別のゲートをさらに配置すると、状態ゼロに戻ります。

古典的なビットとは異なり、キュービットは基底ベクトルの重ね合わせにすることができます。 次のゲートはアダマールゲートと呼ばれ、次のユニタリ行列で表されます。 状態ゼロを重ね合わせ| 0> + | 1>に変換します。

この行列がketベクトル| 1>に作用すると、| 0>-| 1>に変換されることに注意してください。

これらの2つのゲートを使用して、前のビデオで説明したマッハツェンダー干渉計の実験をグラフィカルに表すことができます。 私たちが提示した行列は、そこで検討されている進化演算子と同じです。 光子による半透明ミラーの通過は、アダマールゲートに対応します。 ミラーは反転ゲートXです。2番目の半透明ミラーもアダマールゲートで表されます。 最初のゲートはキュービットを重ね合わせに変換し、2番目のゲートは結果の状態に対して何も行わず、3番目のゲートは重ね合わせを基本ベクトルに変換し直します。

2キュービットの状態は、別の水平線を追加することによってグラフィカルに表されます。 これで、元のベクトルは状態| 00>になります。これは、対応する1キュービットベクトルのテンソル積に等しくなります。 これは、4つのコンポーネントを持つ列ベクトルとして表されます。

たとえば、各キュービットにアダマールゲートを配置できます。 実際、これは、初期ベクトルが2つのアダマール行列のテンソル積によって作用されなければならないことを意味します。 4x4行列に4成分の列ベクトルを掛けたものがあります。 結果は、4成分の列ベクトルにもなります。

ただし、すべての4x4ユニタリ行列を2x2行列のテンソル積に分解できるわけではありません。 例として、一般的なCNOTゲート-制御された拒否があります。 これは、2量子ビットの状態ベクトル全体にすぐに適用する必要があります。 通常、このような2つの円で示されます。

最も一般的な2量子ビットの状態ベクトルは、4つの基底ベクトルの重ね合わせによって記述されます。 したがって、それを説明するには、4つの複素数(確率振幅)が必要です。

3キュービットベクトルの場合、重ね合わせは2 3、つまり8つの項で構成されます。 このような8成分の列ベクトルに作用するユニタリ演算子は、8x8行列で表されます。 そのため、量子コンピューティングの場合、古典的なコンピューターでのモデリングは、量子ビットの数が少なくても不可能になります。

したがって、100キロビットの状態で動作するには、ベクトル自体を記述するためだけに2,100個の複素数を格納する必要があります。 2 100は、すでに宇宙の観測可能な部分にある素粒子の数を超えています。 そのため、人類は古典的なシミュレーターではなく、ハードウェア量子コンピューターを必要としています。

インターネット上で量子回路のシミュレーターを見つけて実験することができます。 これがquirkと呼ばれるものの1つです。 出力には、キュービットを測定するときに単一性を検出する確率が表示されます。 また、球上の点としてキュービットをグラフィカルに表すブロッホ球。 また、確率振幅のグラフィック表示-1キュービットの場合は2つの複素数、2キュービット状態の場合は4。

最初、2量子ビットベクトルは基底ベクトル| 00>の状態にあります。 つまり、対応する確率振幅は1であり、他の3つはゼロです。 ただし、一般的なケースでは、4つの振幅すべてがゼロ以外です。 わかりやすくするために、行列自体が時間の経過とともに変化するいくつかのゲートを配置しましょう。 ええと、例えば、CNOTゲート。 4つの確率振幅すべてがそれらの値を変更することがわかります。

マッハツェンダー干渉計での経験に一致する回路をまとめましょう。 アダマールゲートを配置しましょう。 測定の結果、単位を取得する確率は50%になりました。 確率振幅自体は0.707になりました。つまり、0と1の場合です。

NOTゲート、つまりPauliX行列を配置しましょう。何も変更されていません。 2番目のアダマールゲートは、状態ベクトルを元のベースベクトルに戻しました。 3キュービットのベクトルに移動すると、振幅はすでに8になっていることに注意してください。 4キュービットの場合は16。など。 このシミュレータは、最大16ビットの状態で動作できます。 これを行うには、少なくとも2 16、つまり64kBのメモリを使用します。 32キュービットの場合、少なくとも4GBのメモリが必要です。 必要なリソースは急速に増加しています。 このシミュレーターには、一般的なアルゴリズムのスキームがすでに組み立てられています。 たとえば、これはベルの不等式をテストするためのチェーンです。これはパート26と27で検討しました。

しかし、量子コンピューターを古典的なコンピューターの類似物と考えるのではなく、指数関数的に大きな計算能力を備えていると考えるべきです。 サイエンスポップでよく言われるように、組み込みの量子並列処理。 確かに、許容可能な時間で量子コンピューターのいくつかの問題を解決することを可能にするアルゴリズムがありますが、古典的なコンピューターではそれは数十億年かかるでしょう。 しかし、これらの問題は非常に特殊です。たとえば、大きな数の離散対数をとったり、大きな数を因数分解したりします。

つまり、量子コンピューターは必ずしも古典的なコンピューターよりもはるかに高速であるとは限りません。 むしろ、狭い範囲のタスクに特化したプロセッサと見なすことができます。 たとえば、化学の問題については、行列または量子現象のシミュレーションを使用した同じ操作。

しかし、技術が安価なマルチキュービット量子プロセッサの大量生産になると、この分野がどのように発展するかは誰にも分かりません。

歴史的参照

個々の素粒子の量子状態を制御しなければ、量子計算は考えられません。 フランス人のセルジュ・ロックとアメリカ人のデービッド・ワインランドの2人の物理学者が成功しました。 Lroshは共振器で単一光子を捕らえ、長い間それらを外界から「切り離し」ました。 ワインランドは、特定の量子状態を持つ単一イオンをトラップに収集し、外部の影響からそれらを分離しました。 アロッシュは原子を使って光子の状態を観察しました。 ワインランドは、光子を使用してイオンの状態を変化させました。 彼らはなんとか量子世界と古典世界の関係の研究を進めることができました。 2012年には、「個々の量子システムの測定と制御を可能にした画期的な実験方法」でノーベル物理学賞を受賞しました。

量子コンピューターの操作は、情報の量子ビットの特性に基づいています。 計算プロセスが使用する場合 NSキュービットの場合、量子系のヒルベルト空間は2 "に等しい次元を持ちます。 ヒルベルト空間スカラー積が次の条件で定義されるn次元のベクトル空間を意味します。 NS無限に。

私たちの場合、これは2つの「基本状態」があり、コンピューターはこれら2つの「基本状態」の重ね合わせで動作できることを意味します。

キュービットへの影響は、2つの「基本状態」すべての同時変化にすぐにつながることに注意してください。 このプロパティは呼ばれます 「量子並列処理».

量子コンピューティングはユニタリ変換です。 これは、変換される変数の2乗の合計を変更せずに、複素係数を使用した線形変換が実行されることを意味します。 ユニタリ変換は、係数がユニタリ行列を形成する直交変換です。

ユニタリ行列正方行列|| aj |を意味し、その積は複素共役と転置行列||です。 aJIは単位行列を与えます。 数字 jk繁雑。 数字の場合 ikが実数の場合、ユニタリ行列は直交します。 いくつかの量子ビットがコンピューターの量子レジスターを形成します。 このような量子ビットのチェーンでは、1ビットおよび2ビットの論理演算は、従来のレジスタNOT、AND-NOT、2OR-HEなどで演算が実行されるのと同じ方法で実行できます。 (図5.49)。

ある数 NSレジスタは本質的に量子コンピュータを形成します。 量子コンピューターは、開発された計算アルゴリズムに従って動作します。

米。 5.49。

NOT-ブールNOT; CNOT-制御されたNOT

情報キャリアとしての量子ビットには、古典的なビットとは完全に区別できる興味深い特性がいくつかあります。 量子情報理論の主な論文の1つは 状態のもつれ。 2つの2レベル量子ビットがあると仮定します NSV、電子または核スピンを持つ原子、2つの核スピンを持つ分子の形で実現されます。 2つのサブシステムの相互作用のため NSV純粋に量子的な性質を持つ非局所的な相関関係が発生します。 このような相関関係は、混合状態密度行列で説明できます。

どこ p i-人口または確率 私-状態、そのように NS ( + p 2 + p 3 + + Ra = 1-

確率の合計が1に等しいコヒーレント量子状態の特性は、状態のエンタングルメントまたはエンタングルメントと呼ばれます。 絡み合った、または絡み合った量子オブジェクトは、それらがどれほど離れていてもリンクされます。 リンクされたオブジェクトの1つの状態が測定されると、他のオブジェクトの状態に関する情報がすぐに取得されます。

2つのキュービットが一緒にリンクされている場合、それらは個々の量子状態を欠いています。 それらは互いに依存しているため、一方のタイプの測定では「O」が得られ、もう一方のタイプでは「1」が得られ、その逆も同様です(図5.50)。 この場合、彼らは最大にリンクされたペアが1つを運ぶと言います eビット接着。

エンタングル状態は量子コンピューティングデバイスのリソースであり、エンタングル状態の数を補充するためには、エンタングルキュービットを確実に生成する方法を開発する必要があります。 方法の1つ

米。 5.50。量子ビットの最大に絡み合ったペアのスキームは、トラップ、核スピン、または光子のペアのイオンでもつれ合ったキュービットを取得するためのアルゴリズム的な方法です。 一重項状態の粒子を2つの粒子に崩壊させることは非常に効果的です。 この場合、粒子のペアが生成され、座標、運動量、またはスピンで絡み合います。

包括的なエンタングルメント理論の開発は、量子情報理論における重要な課題です。 その助けを借りて、テレポーテーション、超高密度コーディング、暗号化、データ圧縮の問題の解決に近づくことが可能になります。 この目的のために、量子フーリエ変換を含む量子アルゴリズムが開発されています。

量子コンピューターの計算スキームには、次のアルゴリズムがあります。キュービットのシステムが形成され、その上に初期状態が書き込まれます。 ユニタリ変換により、論理演算を実行すると、システムとそのサブシステムの状態が変化します。 プロセスは、キュービットの新しい値の測定で終了します。 古典的なコンピューターの導体を接続する役割はキュービットによって果たされ、古典的なコンピューターの論理ブロックはユニタリ変換です。 量子プロセッサと量子論理ゲートのこの概念は、1989年にDavidDeutschによって策定されました。 それから彼は、あらゆる量子計算を実行できるユニバーサルロジックブロックを提案しました。

Doyne-Yojiアルゴリズム「1回の計算で」関数がバイナリ変数/(/?)定数であるかどうかを判断できます (f x(ri)=ああ、 f 2(ri)= 1に関係なく NS)または「バランスのとれた」 (f 3( 0) = 0,/ 3 (1) = 1;/ 4 (0) = 1, / 4 (1) = 0).

計算を構築するには、2つの基本的な操作で十分であることが判明しました。 量子システムは、ある程度の確率でのみ正しい結果をもたらします。 ただし、アルゴリズムの演算がわずかに増加するため、正しい結果が得られる確率を必要なだけ1に近づけることができます。 基本的な量子操作を使用して、通常のコンピューターを構成する通常の論理ゲートの操作をシミュレートできます。

グローバーのアルゴリズム方程式の解を見つけることができます f(x)= O(VN)時間で0 xの場合は1であり、データベースで検索することを目的としています。 グローバーの量子アルゴリズムは、従来のコンピューターのどのランダム検索アルゴリズムよりも本質的に効率的です。

ショアの因数分解アルゴリズム素因数を決定することができます ab与えられた整数 M = a "Xb適切な量​​子回路を使用する。 このアルゴリズムを使用すると、A桁の整数の因数を見つけることができます。 その助けを借りて、あなたは計算プロセスの時間を見積もることができます。 同時に、ショアのアルゴリズムは、量子コンピューティングシステムのエネルギー準位を決定するための手順の例として解釈することができます。

Zalka-Wisnerアルゴリズム量子系の単一進化をシミュレートできます NSを使用してほぼ線形時間で粒子 オン)キュービット。

サイモンのアルゴリズムブラックボックス問題を、確率的アルゴリズムを含む従来のアルゴリズムよりも指数関数的に高速に解決します。

エラー訂正アルゴリズム壊れやすい量子状態の破壊を受けやすい量子コンピューティングシステムのノイズ耐性を高めることができます。 このアルゴリズムの本質は、nsがキュービットのクローンを作成し、それらの状態を見つける必要があるということです。 個々の状態を実際に読み取ることなく、任意のキュービットのエラーを修正できる量子論理回路が形成されます。 たとえば、そのようなデバイスを通過するトリプレット010は、誤ったミドルビットを検出します。 デバイスは、3ビットのいずれについても特定の値を検出せずにそれを裏返します。 したがって、情報理論と量子力学に基づいて、基本的なアルゴリズムの1つが生まれました- 量子誤り訂正。

これらの問題は、量子コンピューターを作成するために重要ですが、量子プログラマーの能力の範囲内です。

量子コンピューターは、多くの指標において、古典的なコンピューターよりも進歩的です。 最新のコンピューターのほとんどは、フォンノイマンまたはハーバードスキームに従って動作します。 NSメモリビットは状態を格納し、クロックサイクルごとにプロセッサによって変更されます。 量子コンピューターでは、 NSキュービットの数はすべての基本状態の重ね合わせである状態にあるため、システムの変更はすべてに影響します 2" 同時に基本状態。 理論的には、新しいスキームは従来のスキームよりも指数関数的に高速に機能します。 ほぼ量子のデータベース検索アルゴリズムは、2次パワーゲインと従来のアルゴリズムを示しています。

リチャード・ファインマンは、特定の量子力学的プロセスを古典的なコンピューターで効果的にモデル化できないと述べました。 この観察は、量子プロセスが計算を実行するために古典的なものより効率的であるというより一般的な声明につながりました。 この仮定は、多項式時間で整数を素因数分解するための量子アルゴリズムを開発したPeterShorによって確認されました。

量子システムでは、計算空間はシステムのサイズに応じて指数関数的に増大するため、指数関数的な並列処理が可能になります。 この並列処理により、従来のアルゴリズムよりも指数関数的に高速な量子アルゴリズムが実現する可能性があります。

量子コンピューターと量子コンピューティングの理論が新しい科学分野として確立されたのは1990年代半ばまででした。 明らかに、ハンガリーの数学者I. von Neumannは、量子論理を開発する可能性に最初に注目を集めました。 しかし、当時、量子だけでなく、普通の古典的なコンピューターもまだ作られていませんでした。 そして後者の出現により、科学者の主な努力は、根本的に異なるコンピューティングデバイスを作成することではなく、主に彼らのための新しい要素(トランジスタ、次に集積回路)を見つけて開発することを目的としていることが判明しました。

1960年代、アメリカの物理学者R. Landauerは、計算は常にある種の物理プロセスであるという事実に注意を向けようとしました。つまり、どの物理実装に対応するかを指定せずに、計算能力の限界を理解することは不可能です。 残念ながら、当時、科学者の間では、物理学者ではなく数学者が研究すべき、ある種の抽象的な論理的手順としての計算の一般的な見方がありました。

コンピューターが普及するにつれ、量子科学者たちは、CH4メタン分子などの相互作用する粒子が数十個しかない進化するシステムの状態を直接計算することは事実上不可能であるという結論に達しました。 これは、複雑なシステムを完全に説明するために、コンピュータのメモリに(粒子の数に関して)指数関数的に大きな数の変数、いわゆる量子振幅を保持する必要があるという事実によって説明されます。 逆説的な状況が発生しました。進化の方程式を知り、粒子の相互作用のすべての可能性とシステムの初期状態を十分な精度で知っているため、システムが30だけで構成されていても、その将来を計算することは事実上不可能です。ポテンシャル井戸内の電子、およびランダムアクセスメモリを備えたスーパーコンピュータが利用可能であり、そのビット数は宇宙の可視領域の原子数に等しい。 同時に、そのようなシステムのダイナミクスを研究するために、30個の電子を使って実験を設定し、それらを特定のポテンシャルと初期状態に置くことができます。 これは特に、1980年に量子コンピューティングデバイスの理論を開発する必要性を指摘したロシアの数学者Yu。I.Maninに注目を集めました。 1980年代に、同じ問題が、量子システムが計算を実行できることを明確に示したアメリカの物理学者P. Benevと、古典的なアナログよりも優れたユニバーサル量子コンピューターを理論的に開発したイギリスの科学者D.Deutschによって研究されました。 。

R.ファインマンは量子コンピューターの開発の問題に大きな注目を集めました。 彼の権威ある訴えのおかげで、量子コンピューティングに注意を払う専門家の数は何倍にも増えました。

それでも、量子コンピューターの仮想的な計算能力を使用して実際の問題の解決をスピードアップできるかどうかは、長い間不明でした。 1994年、アメリカの数学者P. Shoreは、多数の高速因数分解を可能にする量子アルゴリズムを提案しました。 これまでに知られている最高の古典的な方法と比較して、ショアの量子アルゴリズムは計算の倍数加速を提供し、因数分解された数が長いほど、速度の向上が大きくなります。 古典的なアルゴリズムの場合、因数分解された数の増加は、必要なリソースの指数関数的な増加につながります。 たとえば、500桁の数値を因数分解するには、250桁の数値の1億倍の反復が必要です。 ショアのアルゴリズムの場合、必要なリソースの量は多項的にのみ増加します。500桁の数値は、250桁の数値の8倍のステップしか必要としません。

量子力学の法則を使用して、因数分解の問題(および他の多くの問題!)が難しくないコンピューターを構築することが可能であることがわかりました。 わずか約10,000量子ビットのメモリを備えた量子コンピュータは、わずか数時間で1000桁の数を素因数に分解できると推定されています。 高速因数分解アルゴリズムは、たとえば、暗号化されていないメッセージのバンクを蓄積しているさまざまな特別なサービスにとって非常に実用的な関心事です。

1997年、L。Groverは、順序付けられていないデータベースで量子高速検索アルゴリズムを提案しました。 (このようなデータベースの例は、加入者の名前がアルファベット順にではなく、任意の方法で配置されている電話帳です。)多数のオプションの中から最適な要素を検索して選択するタスクは、経済、軍事で非常に頻繁に発生します。 、エンジニアリングの問題、コンピュータゲーム。 グローバーのアルゴリズムは、検索プロセスを高速化するだけでなく、最適なものを選択するときに考慮されるパラメーターの数を約2倍にすることもできます。

量子コンピューターの実際の作成は、エラーや干渉などの深刻な問題によって妨げられています。 事実、同じレベルの干渉は、古典的な計算よりもはるかに集中的に量子計算のプロセスを台無しにします。 この問題を解決する方法は、量子状態をエンコードし、それらのエラーを修正するためのスキームを開発したP.Shorによって1995年に概説されました。

並列プロセッサを使用することで、特定の計算の実行にかかる時間を短縮できます。 時間の指数関数的な減少を達成するには、プロセッサの数、したがって物理スペースの量を指数関数的に増やす必要があります。 量子システムでは、時間の指数関数的減少のために、必要な物理的空間の体積の線形増加のみが必要です。 この現象は、量子並列処理に直接関係しています(Deutsch and Josha、1992)。

もう1つの重要な機能があります。 量子システムが計算を実行している間、結果へのアクセスは制限されます。 結果にアクセスするプロセスは、量子状態を混乱させ、歪める測定プロセスです。 ここでの状況は、古典的な計算よりもさらに悪いように思われるかもしれません。 並列プロセスの1つの結果しかカウントできないことがわかりました。また、測定は確率的であるため、どのプロセスの結果を受け取るかを選択することすらできません。

しかし、過去数年にわたって、人々は、量子並列処理を利用するために、測定問題を巧みに解決するための非標準的な方法を発見しました。 この種の操作には、古典派理論に類似したものがなく、型にはまらないプログラミング手法を使用する必要があります。 そのような手法の1つは、関数の対称性や周期など、結果として得られるすべての値の共通のプロパティを読み取ることができるように、量子状態を操作することです。 同様の手法がショアの因数分解アルゴリズムで使用されます。 別のアプローチでは、量子状態は、関心のある計算結果を読み取る確率を高めるような方法で変換されます。 この手法は、グローバーの検索アルゴリズムで使用されます。

関連記事