Kryentechロゴ 電気工学レポート

量子コンピュータはどう動くのか?

キュビット、重ね合わせ、もつれ、量子ゲート、アルゴリズムを分かりやすく、技術的に正確に解説

キュビット、重ね合わせ、もつれ、Shorアルゴリズムのイメージ図
量子コンピュータは制御された量子状態を利用する。単に高速な古典コンピュータではない。

量子コンピュータは、あらゆる解を同時に試す機械として説明されることが多い。この説明は印象的に聞こえるが、部分的にしか正しくなく、誤解を招きやすい。

量子コンピュータは特別に速い普通のコンピュータではない。異なる物理法則に従って動作する。古典コンピュータがビットで情報を処理するのに対し、量子コンピュータはキュビットと呼ばれるものを使う。キュビットは量子力学の法則に従う。

これにより量子コンピュータは、古典コンピュータにはほぼ不可能な方法で特定の数学的問題を解ける。しかし、あらゆるタスクで速いという意味ではない。文書作成、インターネット、ゲーム、通常の制御タスクでは、量子コンピュータに本質的な優位性はない。

要するに: 量子コンピュータは単純にすべての解を同時に試すわけではない。確率振幅を操作し、不要な計算経路を弱め、干渉によって望ましい結果の確率を高めるのである。

目次

古典コンピュータのビット

量子コンピュータの仕組みを理解するには、まず古典コンピュータがどのように情報を処理するかを見る必要がある。

古典コンピュータはビットで動作する。1つのビットはちょうど2つの状態を取れる:0または1。電子的には、これらの状態は例えば異なる電圧範囲で表現できる。

複数のビットを組み合わせると、より大きな数やより複雑な情報を表現できる。2ビットでは4つの組み合わせが可能である:

00
01
10
11

3ビットでは8つの組み合わせになる:

000
001
010
011
100
101
110
111

一般に、nビットで合計2n個の異なる状態を表現できる。

しかし、3ビットの古典レジスタは、ある時点では必ずこれらの状態のうちちょうど1つにある。例えば値101を持つことはできるが、000、011、101を同時に持つことはできない。

古典プロセッサは、AND、OR、NOT、XORなどの論理演算でこれらのビット状態を変化させる。

キュビット

量子コンピュータはビットの代わりに量子ビット、略してキュビットを使う。

キュビットにも2つの基本状態がある:|0⟩と|1⟩。山括弧を使った表記は量子力学に由来し、ディラック記法と呼ばれる。

古典ビットとの決定的な違いは、キュビットが|0⟩または|1⟩の状態だけに限定されないことである。両方の状態の重なりの状態も取れる。この重なりは重ね合わせ(superposition)と呼ばれる。

数学的には、キュビットの状態は次のように記述できる:

|ψ⟩ = α|0⟩ + β|1⟩

αとβは振幅と呼ばれる。これらは直接確率を表すのではない。振幅の絶対値の2乗が、測定で0または1を得る確率を決める。

次が成り立つ:

|α|² + |β|² = 1

キュビットが均等な重ね合わせにある場合、その状態は簡略化して次のように表せる:

|ψ⟩ = 1/√2 |0⟩ + 1/√2 |1⟩

このとき測定すると、50パーセントの確率で0、50パーセントの確率で1が得られる。

キュビットは0と1を同時に取るのか?

キュビットは0と1を同時に取る、とよく言われる。簡略化した説明としては使える。しかし物理的には、キュビットは|0⟩と|1⟩の成分を含む量子状態を持つ、と言う方が正確である。

キュビットは単純に2つの普通の値を同時に保存しているのではない。複数の振幅で記述される1つの状態を持っているのである。

キュビットを測定すると、得られるのは1つの古典値だけである:0または1。測定後、重ね合わせは直接には存在しなくなる。この過程はしばしば波動関数の収縮と呼ばれる。

重要: 量子コンピュータは多数の状態を単純に読み出して長いリストとして出力することはできない。本当の優位性は、測定前に振幅を狙って変化させることから生まれる。

複数のキュビット

キュビットが複数になると、可能な基底状態の数は非常に速く増える。2キュビットには4つの基底状態がある:

|00⟩
|01⟩
|10⟩
|11⟩

全体の状態はこれら4つの状態の重ね合わせになりうる:

|ψ⟩ = α₀|00⟩ + α₁|01⟩ + α₂|10⟩ + α₃|11⟩

3キュビットには8つの基底状態がある。10キュビットではすでに1024個の基底状態になる。nキュビットでは合計2n個の振幅を記述しなければならない。

50キュビットでは:

250 = 1 125 899 906 842 624

個の基底状態になる。これが、大規模な量子系を古典コンピュータで完全にシミュレートするのが難しい理由の1つである。必要なメモリが指数関数的に増大するのだ。

それでも、50キュビットの量子コンピュータが自動的に1000兆個を超える古典的な数値を持っている、と結論してはいけない。振幅は個別に読み出せない。測定のたびに得られるのは単一の古典状態だけである。

量子アルゴリズムの技は、正しい解が高い確率で測定されるように振幅を変化させることにある。

ブロッホ球

単一キュビットの状態は、いわゆるブロッホ球を使って幾何学的に表現できる。

状態|0⟩は球の上の極に、状態|1⟩は下の極にある。表面上の他のすべての点は、可能な重ね合わせに対応する。

古典ビット

ブロッホ球上では2つの極のどちらかにしか位置できない:0なら上、1なら下。

キュビット

球面上の任意の点を取れる。量子操作はこの状態ベクトルの回転に対応する。

ブロッホ球はまた、キュビットが0と1の確率だけでなく、より多くの性質を持つことを示している。加えて、状態間の相対位相が重要な役割を果たす。

キュビットの2つの異なる状態は、標準基底での測定において0と1について同じ確率を持ちながら、相対位相が異なるために異なる振る舞いをすることがある。この位相が量子干渉にとって決定的である。

1) ブロッホ球でビット対キュビット

古典ビットは0か1しか知らない。キュビットは球面上の任意の点を取れる。θは測定確率を、φは相対位相を制御する。

古典ビット

状態: 0

古典ビットは常にどちらかの極にしかない。中間状態は存在しない。

キュビット(ブロッホ球)

量子干渉

量子干渉は量子コンピュータの最も重要なメカニズムの1つである。

異なる計算経路の振幅は互いに強め合ったり打ち消し合ったりできる。これは波の重ね合わせに似ている。

同じ位相の2つの水面波が出会うと、より大きな波ができる。波の山と谷が出会うと、互いに打ち消し合うことがある。量子振幅も同じように振る舞いうる。

量子アルゴリズムは次のように構成される:

最後に量子系を測定する。アルゴリズムが正しく構成されていれば、望ましい解が高い確率で現れる。

つまり量子コンピュータは、単純にすべての解を試して正しいものを読み出すのではない。振幅の系を操作し、干渉によって特定の結果の確率を高めるのである。

3) 干渉:位相が結果を決める

回路:|0⟩ → アダマール → |1⟩への位相シフト → アダマール → 測定。位相φが、経路が強め合うか打ち消し合うかを制御する。これこそが量子計算と古典的な総当たりの違いである。

相対位相 φ

干渉後の結果
P(0)
P(1)

量子もつれ

もう1つの重要な効果が量子もつれである。

2つのキュビットの共通状態が、もはや2つの独立した個別状態として記述できないとき、それらはもつれている。1つの例が次の状態である:

|ψ⟩ = 1/√2 |00⟩ + 1/√2 |11⟩

測定すると00または11のどちらかが得られる。2つの結果はそれぞれ50パーセントの確率で現れる。しかし01や10は決して得られない。

つまり2つのキュビットは互いに相関している。測定前には、どちらのキュビットも独立には確定した古典値を持たない。共通の状態だけが完全に記述されている。

もつれによって量子コンピュータは、独立した古典ビットでは同じようには表現できないキュビット間の関係を表せる。もつれは多くの量子アルゴリズムと量子誤り訂正で中心的な役割を果たす。

超光速のトリックではない: もつれは超光速の情報伝達を可能にしない。測定結果は相関しているが、個々の結果はランダムである。結果を比較するには、依然として通常の通信チャネルが必要である。

4) もつれ対独立ビット

ベル状態 |Φ⁺⟩ = (|00⟩+|11⟩)/√2 では測定結果が強く相関する。2つの独立したランダムビットでは01と10も可能である。

モード選択

モード: もつれ 直近のペア: –

ペアの頻度
00
0
01
0
10
0
11
0

量子ゲート

古典プロセッサは論理ゲートでビットを処理する。量子コンピュータは量子ゲートを使う。

量子ゲートはキュビットの振幅と位相を変化させる。数学的には、いわゆるユニタリ行列で記述される。ユニタリとは、簡単に言えば、操作が可逆で全確率が保存されることを意味する。

Xゲート

Xゲートは古典のNOTゲートに似ている。次を入れ替える:

|0⟩ → |1⟩    および    |1⟩ → |0⟩

ブロッホ球上では、これはX軸周りの180度回転に対応する。

アダマールゲート

アダマールゲートは、均等な重ね合わせを作るためによく使われる。

状態|0⟩は次になる:

1/√2 |0⟩ + 1/√2 |1⟩

状態|1⟩は次になる:

1/√2 |0⟩ − 1/√2 |1⟩

違いはマイナス記号にある。このマイナス記号は測定確率を直接変えないが、後の干渉に影響する。同じキュビットにアダマールゲートを2回続けて適用すると、元の状態に戻る。

位相ゲート

位相ゲートは|0⟩と|1⟩の間の相対位相を変化させる。後の操作で振幅が強め合ったり打ち消し合ったりするようにできる。

CNOTゲート

CNOTゲートは2つのキュビットで動作する。1つ目が制御キュビット、2つ目が標的キュビットである。

制御キュビットが|1⟩なら標的キュビットが反転される。制御キュビットが|0⟩なら標的キュビットは変わらない。アダマールゲートとCNOTゲートの組み合わせで、2つのキュビットをもつれさせることができる。

例:2つのキュビットをもつれさせる

最初、両方のキュビットは状態|00⟩にある。1つ目のキュビットにアダマールゲートを適用する。これにより次が生じる:

1/√2 |00⟩ + 1/√2 |10⟩

1つ目のキュビットはいま重ね合わせにある。続いてCNOTゲートを使う。1つ目のキュビットが制御、2つ目が標的である。

その後の共通状態は:

1/√2 |00⟩ + 1/√2 |11⟩

2つのキュビットはいま、もつれている。測定すると00または11が得られる。

量子プログラムの流れ

量子プログラムは、簡略化すると5つのステップからなる。

  1. 初期化: キュビットを既知の初期状態、通常は|000…0⟩にする。
  2. 重ね合わせの生成: 量子ゲートで特定のキュビットを重ね合わせ状態にする。
  3. もつれと計算: さらなる量子ゲートでキュビット間に依存関係を作り、本来の量子計算を実行する。
  4. 干渉: 不要な振幅ができるだけ打ち消され、望ましい振幅が強まるように回路を構成する。
  5. 測定: キュビットを測定する。結果は古典的なビット列である。

結果は確率的になりうるため、同じ量子回路をしばしば何度も実行する。この繰り返しはショットと呼ばれる。例えば1000回測定すれば、様々な結果の頻度から確率分布を求められる。

なぜ量子プログラムは繰り返す必要があるのか?

量子コンピュータは実行のたびに同じ結果を返すとは限らない。あるアルゴリズムが次の確率を生むとしよう:

結果 確率
101 80 %
011 10 %
000 5 %
その他 5 %

1回の測定ではそれでも011が出るかもしれない。多くの繰り返しの後で初めて、101がはるかに頻繁に現れることが見えてくる。最も確率の高い結果が解として解釈される。

したがって量子アルゴリズムは必ずしも100パーセントの成功確率を持つ必要はない。正しい解が他のすべての結果より明らかに高い確率で現れれば、多くの場合それで十分である。

2) 測定とショット

1回の測定は0か1しか返さない。多くの繰り返し(ショット)で初めて確率分布が見えてくる。理論確率は上のブロッホ球デモのθの値から来る。

実験

直近の結果: –

ショット: 0 · 0の回数: 0 · 1の回数: 0

ヒストグラム
|0⟩
0%
|1⟩
0%

量子優位性の簡単な例

有名な量子タスクの1つがDeutsch–Jozsaアルゴリズムである。

与えられた関数が定数か均等(balanced)かを判定するタスクである。古典的な決定性アルゴリズムは最悪の場合、最大2n−1+1回の評価を必要とする。

量子アルゴリズムは、重ね合わせ、位相変化、干渉を使って、求める性質を1回の量子クエリで判定できる。

この優位性は、すべての関数値を直接読み出すことから生まれるのではない。個々の結果はむしろ量子状態の位相に符号化される。その後、干渉によって、求める大域的な性質だけが見えるようになる。

この例は実用上は特に有用ではないが、量子アルゴリズムがどう働くかをよく示している。

注: 乱数を使えば、古典アルゴリズムも少ないクエリ数で高い確率で正解できることが多い。明確な優位性は主に決定性の古典手法に対して成り立つ。

有名な量子アルゴリズム

すべての問題が量子コンピュータで速く解けるわけではない。しかし一部のタスクでは明確な優位性が知られている。

Shorアルゴリズム

Shorアルゴリズムは大きな整数を素因数分解できる。

多くの古典暗号方式は、大きな数の素因数分解が古典コンピュータには極めて困難であることに依存している。十分に大きく誤り訂正された量子コンピュータは、今日使われている特定の暗号方式を破りうる。

しかし現在の量子コンピュータは、そのためにはまだ小さすぎ、誤りが多すぎる。ただしリソース見積りは下がり続けている:2019年にはRSA-2048に約2000万個のノイズのある物理キュビットが必要と見積もられたが、2025年にはこの見積りは100万個未満に引き下げられた(実行時間は約1週間)。比較として、適切な誤り率を持つ今日のプロセッサはおよそ100~1000キュビットである。そのため、NISTなどによって耐量子暗号方式の標準化がすでに進められている。

Groverアルゴリズム

Groverアルゴリズムは未整列の集合内の探索を高速化する。

古典コンピュータは最悪の場合およそN回のチェックを必要とする。Groverアルゴリズムはおよそ√N回のチェックで済む。これは2次の高速化である。意義は大きいが、指数的ではない。

5) 古典探索対Groverのアイデア

16個のセルの中からマークされた要素を1つ見つける。古典ではセルを1つずつ調べる。量子(簡略化)では、約√Nステップでマークされたセルの振幅を増幅する。

古典:順番に調べる

チェック: 0 · まだ見つかっていない

量子:振幅を増幅(簡略化)

量子シミュレーション

特に自然な応用分野は、他の量子系のシミュレーションである。

分子、電子、化学結合はそれ自体が量子力学の法則に従う。非常に大きな量子系の厳密なシミュレーションには、古典コンピュータは膨大なリソースを必要とする。量子コンピュータはそのような系をより直接的に再現できる可能性がある。

考えられる応用分野:

量子最適化

量子コンピュータは最適化問題についても研究されている。例えば:

ただし、これらの応用の多くでは、実用的な量子コンピュータが古典手法を実際に大きく上回るかどうかはまだ確実ではない。

量子コンピュータが敏感な理由

キュビットは量子的性質を失わないように制御されなければならない。すべてのキュビットが環境と相互作用しうるため、これは難しい。

擾乱は例えば次から生じる:

キュビットが量子力学的な重ね合わせを失うことをデコヒーレンスと呼ぶ。キュビットが量子状態を十分よく保持できる時間はコヒーレンス時間と呼ばれる。量子計算は、保存された量子情報が擾乱によって使えなくなる前に完了しなければならない。

量子エラー

古典コンピュータでは個々のビットエラーは比較的まれである。加えて、データは単純にコピーして複数保存できる。キュビットでは状況はより難しい。

異なる種類のエラーが起こりうる:

未知の量子状態は自由にコピーできない。これはノークローニング定理によって排除されている。測定による直接の検査も不可能である。測定が状態を変えてしまうからだ。

量子誤り訂正

それでも量子エラーは訂正できる。

そのために、1つの論理キュビットの情報を複数の物理キュビットに分散させる。完全な量子状態を測定するのではなく、キュビット間の特定の関係をチェックする。これらの測定はいわゆるエラーシンドロームを与える。

エラーシンドロームから、実際の量子情報を直接読み出すことなく、どのエラーが起こった可能性が高いかを判別できる。

よく知られたアプローチが表面符号(surface code)である。多数の物理キュビットを2次元構造に配置する。

ハードウェアの品質によっては、信頼できる1つの論理キュビットのために非常に多くの物理キュビットが必要になりうる。したがって、物理キュビットを1000個持つ量子コンピュータが、自動的に信頼して使える論理キュビットを1000個持つわけではない。

研究の現状: 量子誤り訂正は、高性能な量子コンピュータを作る上で最大の課題の1つである。重要な進歩は、表面符号のしきい値を下回る誤り訂正の実証(Google Willow、2024/2025年)である:符号を大きくすると論理エラー率が下がる。ただし、実用的に有用なエラー率のためには、論理キュビット1つあたり依然として非常に多くの物理キュビットが必要なことが多い。

キュビットは物理的にどう作られるのか?

キュビットは特定の部品ではない。様々な物理系がキュビットとして使える。

超伝導キュビット

超伝導キュビットは極めて小さな電気回路からなる。絶対零度近くまで冷却される。この温度では回路内に量子力学的状態を作り出し、マイクロ波信号で制御できる。

利点は高速な量子ゲートと確立された製造技術である。欠点は短いコヒーレンス時間、大がかりな冷却、場合によっては高いエラー率である。

イオントラップ

ここでは、電荷を帯びた原子(イオン)を電磁場で空間に保持する。レーザーがイオンの内部状態を制御する。

イオンはしばしば長いコヒーレンス時間と非常に正確な量子ゲートを持つ。ただし操作は比較的遅く、非常に多くのキュビットへのスケーリングは技術的に難しい。

中性原子

中性原子はレーザー場を使って光格子や光ピンセットに配置できる。狙ったレーザー励起によって原子同士を相互作用させられる。この技術は大きく規則的なキュビット配列を可能にする。

光子

光の粒子も量子情報を運べる。光量子コンピュータは、例えば偏光、位相、異なる光路を使う。

光子は環境との相互作用が弱く、量子通信に適している。一方で、個々の光子間の信頼できる相互作用を作り出すのは難しい。

半導体中のスピン

電子や原子核のスピンもキュビットとして使える。このようなキュビットは既存の半導体技術にうまく統合できる可能性がある。

一部の量子コンピュータが強く冷却される理由

超伝導キュビットは通常、わずか数ミリケルビンの温度で動作する。これは宇宙空間より冷たい。

冷却が必要なのは、熱が無秩序な運動や励起を引き起こすからである。これらは繊細な量子状態を乱してしまう。いわゆる希釈冷凍機がこの極低温を作り出す。

量子コンピュータの写真でよく目立つ金色の配線は、主に冷却と信号伝送のためのものである。実際の量子チップはたいてい一番下にあり、比較的小さい。

ただし、すべてのキュビット技術が同じ冷却を必要とするわけではない。イオントラップや光子系は別の条件で動作する。

量子コンピュータには今後も古典コンピュータが必要

量子コンピュータは単独では動かない。古典コンピュータが次のために必要である:

今日の量子手法の多くはハイブリッドである。古典コンピュータが計算の一部を実行する。量子コンピュータが特定の部分を計算し、結果が古典コンピュータに戻される。この流れが何度も繰り返される。

したがって量子コンピュータは、古典コンピュータの完全な代替というより、特殊なアクセラレータである。グラフィックカードが特定の計算タスクを引き受けるのと同じように、量子プロセッサは将来、選ばれた問題に使われる可能性がある。

なぜ量子コンピュータは単に速いわけではないのか?

普通のプロセッサでは、例えばクロック周波数を上げたりコア数を増やしたりして速度を上げられる。

量子コンピュータは別の種類の優位性を提供する。特定のアルゴリズムは、量子干渉によって、既知の古典アルゴリズムより少ない計算ステップで済む。しかし多くのタスクには、優位性を持つ量子アルゴリズムが知られていない。

したがって量子コンピュータは、次の用途で自動的に優れているわけではない:

加えて、キュビットの初期化、制御、読み出しには高い技術的コストがかかる。適切な量子アルゴリズムが存在し、タスクが十分に大きい場合にのみ、実際の優位性が生まれうる。

量子超越性とは何か?

量子超越性(quantum supremacy)という用語は、古典コンピュータには実質的にほぼ計算不可能な特定のタスクを量子コンピュータが実行する実験を指す。

これは直接の実用的価値を持たない、人工的に構成されたタスクでもよい。

このような実証は、量子系が特定の計算を効率的に実行できることを示す。しかし、量子コンピュータが古典コンピュータより一般に優れていることを意味するわけではない。しかも境界は動き続けている:2019年のGoogleのSycamoreのような初期の実証は、後に改良された古典シミュレーションによって部分的に追いつかれ、大きく相対化された。

実用的な応用には、量子優位性(quantum advantage)という用語の方が適切なことが多い。これは実際のタスクにおける測定可能な優位性、例えば実行時間、エネルギー消費、精度、コストにおける優位性を指す。

最大の課題

実用的に使える量子コンピュータには、複数の問題を同時に解決しなければならない。これには次が含まれる:

キュビットの数を増やすだけでは不十分である。非常に誤りの多いキュビットを持つ大きな量子コンピュータは、小さくても正確なシステムより役に立たないことがある。

したがって重要な品質指標には次が含まれる:

シンプルな全体像

量子コンピュータは、簡略化すると確率振幅を制御する機械と見なせる。流れは次の通り:

  1. キュビットを既知の状態にする。
  2. 量子ゲートが重ね合わせを作る。
  3. キュビット同士をもつれさせる。
  4. 位相と振幅を狙って変化させる。
  5. 量子干渉が望ましい結果を増幅する。
  6. 系を測定する。
  7. 測定が古典ビットを与える。
  8. この過程を何度も繰り返す。
  9. 古典コンピュータが結果を評価する。

本当の計算上の優位性は重ね合わせだけから生まれるのではない。重ね合わせ、もつれ、干渉の相互作用があって初めて、特別な量子アルゴリズムが可能になる。

まとめ

古典コンピュータは0か1のビットを処理する。量子コンピュータは、異なる状態の重ね合わせを取れるキュビットを使う。

複数のキュビットは互いにもつれさせることができる。その結果、共通状態はもはや独立した個別状態では記述できなくなる。

量子ゲートはこれらの状態の振幅と位相を変化させる。量子干渉によって、間違った解の経路を弱め、正しい解の経路を強められる。

測定時に重ね合わせは失われ、量子コンピュータは古典的なビット列を返す。結果はしばしば確率的なので、計算は何度も繰り返される。

量子コンピュータはすべてのタスクで速いわけではない。その潜在力は主に、素因数分解、量子シミュレーション、探索、そして場合によっては複雑な最適化といった特定の問題にある。

最大の技術的困難は、キュビットを十分長く擾乱から守り、発生したエラーを訂正することにある。

したがって高性能な量子コンピュータは古典コンピュータの代替にはならないだろう。量子力学的アルゴリズムが本当の優位性を発揮するタスクのための、特殊な計算アクセラレータになるだろう。

出典と参考文献

基礎と教科書

アルゴリズム

ハードウェア、誤り訂正、最新研究

最適化と量子優位性

著者: Ruedi von Kryentech

作成・技術レビュー: 2026年7月20日

内容は量子レポートおよび上記の一次資料に基づく。