量子ビットとは何か? 量子コンピューターの構成要素をわかりやすく解説
量子ビット(qubit)の基本を平易に解説。量子ビットとは何か、重ね合わせと測定はどう働くのか、そして古典ビットと何が違うのかを説明します。
このページは英語から翻訳されています。企業名・製品名・出典リンクは変更していません。 英語の原文を読む
量子ビット(qubit)は、量子情報の基本単位です。古典的なビットに対応する量子的な存在であり、読み出したときに最終的に得られる結果はビットと同じく通常 0 と 1 のいずれかですが、測定前には両方の基底状態を含む重ね合わせの量子状態をとることができます。この違いは一見すると単純ですが、量子コンピューター内部で情報がどのように表現され、操作され、制約を受けるかを大きく変えます。
要するに、量子ビットは量子力学的な二状態系
古典計算では、ビットは 0 か 1 のどちらかです。量子計算では、量子ビットは二状態の量子系としてモデル化され、基底状態は (|0\rangle) と (|1\rangle) と書かれます。
量子ビットは、物理的にはさまざまな方法で実装できます。Wikipedia の qubit の記事では、たとえば電子スピンが挙げられており、この場合は 2 つの準位をスピンアップとスピンダウンとして扱えます。また、単一光子の偏光も例として挙げられており、2 つの偏光状態が 2 つの準位の役割を果たします。重要なのは特定のハードウェアそのものではなく、抽象的なモデルです。制御可能な二状態の量子系として振る舞う物理系であれば、量子ビットを表現できます。
このため、量子ビットは量子コンピューターの構成要素と呼ばれます。通常の計算機におけるビットと似た役割を担いますが、従うのは古典論理だけではなく量子力学です。
量子ビットは古典ビットと何が違うのか
中核となる違いは、重ね合わせです。
古典ビットは、ある時点で 1 つの確定した値しか持ちません。これに対して量子ビットは、(|0\rangle) と (|1\rangle) の線形結合の状態をとることができます。標準的な記法では、状態は次のように表されます。
[ |\psi\rangle = \alpha|0\rangle + \beta|1\rangle ]
ここで (\alpha) と (\beta) は確率振幅で、一般には複素数です。これらは確率そのものではありません。量子ビットを標準基底で測定したとき、0 が得られる確率は (|\alpha|^2)、1 が得られる確率は (|\beta|^2) です。そして、それらの確率の和は 1 でなければなりません。
[ |\alpha|^2 + |\beta|^2 = 1 ]
ここで、よくある誤解を 1 つ解いておく価値があります。量子ビットは「同時に両方の状態にある」と言うのは便利な言い回しですが、それだけでは不十分です。重要なのは、両方の基底状態に 0 でない重みを持てることだけではありません。振幅どうしの相対位相も重要で、それが干渉に影響します。Wikipedia の quantum computing の記事でも、振幅は結果の確率以上の情報を符号化しており、その相対位相が干渉効果の原因になると説明されています。
この位相情報には、通常の古典情報に対応するものがありません。
測定:量子的な可能性が古典的な答えになる場所
量子ビットは量子状態として時間発展しますが、標準基底で測定すると、得られる結果は古典ビット、つまり 0 か 1 のどちらかです。
この測定過程は本質的なものです。量子ビットを測定すると、その状態は乱されます。重ね合わせはコヒーレンスを失い、状態はボルン則に従って基底状態のいずれかへと収縮します。これは、原理的には状態を変えずに読み出せる古典ビットとは異なります。
たとえば、次の状態
[ \frac{1}{\sqrt{2}}|0\rangle + \frac{1}{\sqrt{2}}|1\rangle ]
を標準基底で測定すると、0 と 1 が等確率で得られます。
これが、量子計算が単なる「並列な古典計算」ではない理由の 1 つです。重ね合わせのすべての成分を直接観測できるわけではありません。量子アルゴリズムでは、測定が行われる前に、有用な答えが得られる確率が干渉によって高まるように振幅を操作する必要があります。
なぜ複素振幅が重要なのか
量子ビットの状態を記述するには、2 つの複素振幅が必要です。一見すると技術的な細部に思えるかもしれませんが、量子計算が古典計算と異なる振る舞いをする理由の核心です。
古典確率では、確率は 0 以上の数で、その総和は 1 です。これに対し量子ビットでは、振幅は複素数であり、Wikipedia の quantum computing の記事でも明示されているように、振幅は必ずしも正である必要はありません。これによって、建設的干渉だけでなく破壊的干渉も可能になります。量子アルゴリズムは、計算経路を組み合わせることで、ある結果を起こりやすくし、別の結果を打ち消すことができます。
これが量子アルゴリズム設計の概念的な土台です。つまり、波の干渉によって望ましい測定結果の確率が増幅されるように量子ビットを操作するのです。
そのため、量子ビットはしばしば「ビットの量子版」として紹介されますが、より忠実な説明をするなら、干渉しうる形で振幅が時間発展する二次元の量子状態空間におけるベクトルだと言えます。
シンプルな比較
| Feature | Classical bit | Qubit |
|---|---|---|
| 基本状態 | 0 または 1 | 測定時には ( |
| 読み出し前の状態 | 確定値 | (\alpha |
| 数学的記述 | 1 つの二値 | 二次元の量子状態ベクトル |
| 読み出し | 量子的な収縮という概念なしに 0 または 1 を返す | ( |
| 測定の影響 | 保存された古典状態を本質的には乱さない | 量子状態を乱し、測定された重ね合わせのコヒーレンスを破壊する |
| 複数単位の記述 | (n) ビットは (2^n) 個の可能な状態のうち 1 つをその時点で表す | (n) 量子ビットには (2^n) 次元空間の状態ベクトルが必要 |
1 量子ビットから多量子ビットへ
単一の量子ビットは出発点にすぎません。量子コンピューターは複数量子ビットのレジスタを使って動作します。
古典ビット 2 個なら、可能な状態は 00、01、10、11 の 4 つです。しかし、ある瞬間に古典的な 2 ビットレジスタが占めるのはそのうち 1 つだけです。これに対し 2 量子ビットは、基底状態 (|00\rangle)、(|01\rangle)、(|10\rangle)、(|11\rangle) によって張られる 4 次元の状態空間に存在します。より一般には、(n) 量子ビットのレジスタは (2^n) 次元のヒルベルト空間で記述されます。
Wikipedia の quantum computing の記事は、このことの実用的な帰結も強調しています。(n) 量子ビットの完全な状態を記述するには、(2^n) 個の複素数が必要です。この爆発的な増大は、量子系の古典シミュレーションが難しい理由の 1 つであり、また量子コンピューターが特定の問題で大きな優位性を持ちうる理由の 1 つでもあります。
量子計算は、重ね合わせ、干渉、そして量子もつれを活用します。この解説は量子ビットに焦点を当てていますが、実際には量子計算の力は、孤立した 1 つの量子ビットの存在そのものではなく、多数の量子ビットがどう相互作用するかから生まれます。
ブロッホ球による直感的理解
量子ビットを視覚的に表す代表的なモデルがブロッホ球です。Wikipedia の qubit の記事によると、量子ビットの振幅は 2 つの角度、通常は (\theta) と (\phi) を用いてパラメータ化できます。生の振幅 (\alpha) と (\beta) は複素数ですが、正規化によって 1 つの自由度が取り除かれるため、純粋状態の量子ビットはより単純な幾何学的表現に写像できます。
専門家でない読者にとって重要な直感は次の通りです。量子ビットは、単なる曖昧な 0/1 スイッチではありません。その状態には構造があります。ある基底では同じ測定確率を与える異なる重ね合わせであっても、位相が異なれば、その後の計算で異なる振る舞いを示しえます。
だからこそ、ブロッホ球は有用です。量子ビットの状態は、確率だけを調整できるコイントスよりも豊かなものだと気づかせてくれます。
量子ビットではないもの
量子ビットのできることは、誇張されがちです。
第一に、量子ビットがあるからといって、多数の答えを一度に読み出せるわけではありません。測定で返ってくる古典的な結果は 1 つです。
第二に、Wikipedia の qubit の記事には、superdense coding を使えば特定のプロトコルで 1 量子ビットがより多くの情報を保持でき、最大 2 ビットに言及できるとあります。ただし、これを「量子ビットは日常的な計算でビットの 2 倍のデータを単純に保存できる」という一般的な主張として解釈すべきではありません。振る舞いは、用いるプロトコルや関与する量子資源に依存します。
第三に、量子ビットは量子的であるというだけで自動的に役立つわけではありません。Qubit は、現在のハードウェア実装の多くを、主として実験段階にあり、特定の専門的な用途にしか適さないものと説明しています。特定の課題で量子優位性が示されたという主張は科学的な節目ではありますが、それは量子コンピューターが近い将来に幅広く実用展開できることの証拠ではありません。
量子ビットの構築が難しい理由
量子ビットという概念は数学的には明快です。しかし、ハードウェアはそうではありません。
量子計算には、コヒーレントな量子状態を精密に制御する必要があります。物理量子ビットが環境から十分に隔離されていないと、デコヒーレンスによってノイズや誤りが生じます。Qubit は、より長いコヒーレンス時間とより低いエラー率を持つ量子ビットに各国政府が投資していることを指摘し、超伝導やイオントラップを含む実装例を挙げています。
この工学的課題は中心的な問題です。量子ビットを強力にする性質そのものが、同時にそれを脆弱にもします。有用な量子コンピューターは、演算を実行し、誤りを管理し、最後に正確な測定を行えるだけの時間、コヒーレンスを保たなければなりません。
このトレードオフは、この分野の現在地をよく説明しています。理論的な期待は大きく、実験的進展も目覚ましい一方で、大規模で実用的なシステムの実現にはなお大きな障害があります。
なぜ量子ビットが重要なのか
量子ビットが重要なのは、計算モデルそのものを変えるからです。
古典コンピューターは、古典的な状態と状態遷移の規則として抽象化できます。これに対して量子コンピューターは、コヒーレントな量子状態を用い、重ね合わせ、相対位相、干渉そのものを計算の一部として使います。これにより、少なくとも原理的には、特定の課題で古典的手法を上回るアルゴリズムへの道が開かれます。Qubit は、十分に大規模なマシンがあれば、広く使われている暗号方式を破ることや物理系のシミュレーションを助けることを含め、一部の計算を古典コンピューターより指数関数的に速く完了できる可能性があると述べています。
とはいえ、「可能性」という言葉が適切です。量子ビットは量子計算の土台ですが、有用な量子優位性を保証するものではありません。この分野の成否は、現実のデバイスがデコヒーレンスと誤りを抑えながらスケールできるかどうかにかかっています。
要点
- 量子ビットは量子情報の基本単位であり、古典ビットに対応するが、支配する法則は量子力学である。
- 標準基底で測定すると、量子ビットは 0 か 1 のいずれかを返す。
- 測定前には、量子ビットは (\alpha|0\rangle + \beta|1\rangle) と書かれる重ね合わせ状態をとりうる。
- (|\alpha|^2) と (|\beta|^2) は 0 または 1 を測定する確率を決め、その和は 1 でなければならない。
- 量子ビットの振幅は位相情報を持ち、これが干渉を可能にし、量子の振る舞いを通常の確率より豊かなものにしている。
- 測定は量子ビットの重ね合わせを乱す。これは通常の古典ビットの読み出しとは異なる。
- 複数量子ビットのレジスタは、量子ビット数に対して指数関数的に増大する状態空間を占める。
- 量子ビットは量子計算の可能性を支える基盤だが、実際の量子ビットは脆弱であり、現在のハードウェアの多くはなお実験段階にある。
出典
このページの情報は、以下の出典をもとにDesignQuantumが収集したものです。
- Qubit en.wikipedia.org
- Quantum computing en.wikipedia.org