量子コンピュータ

概要

 近年,量子コンピュータの発展が著しい.インテルは,シリコン型の量子コンピュータを開発し,はGoogleやIBMなどの大企業が量子コンピュータを活用して,新たなビジネスを展開している.日本でも理化学研究所が独自の量子コンピュータ開発したり,インテルなどと提携して量子コンピュータのハード・ソフトから開発をしている.日本政府においても,文科省か平成30年(かなり前)から「光・量子飛躍フラッグシッププログラム」を進めており,内閣府でも令和4年4月に「量子未来社会ビジョン」を打ち出し,2030年までに量子技術の国内利用者1000万人まで増やす目標を掲げている.ただ,量子技術を学ぶためには,量子力学をはじめとして様々な知識が必要となる.

  このWebページでは,量子コンピュータのある部分のみにテーマを絞り,量子力学の知識がなくても量子回路の基礎的な部分を習得できるように心がける.

量子コンピュータとは

 量子コンピュータとは,量子ビットを利用し,様々な計算をするコンピュータである.従来の古典コンピュータは,論理素子(bit)が「0」か「1」のどちらかの状態をとり,それを用いて計算を行う.それに対して,量子コンピュータで用いられる量子ビット(qubit)「0」と「1」を重ね合わせた状態で操作を行って,計算を行う.この性質を用いると,例えば,10個の量子ビット(10qubit)を準備すれば,210の1024通りの重ね合わせ状態を確定させることなく保持している状態を作ることができる.問題を解く時,たくさんの可能性の重ね合わせの中からもっともらしい答えを高確率で得ることができ,従来のコンピュータよりも指数的に高速に計算をすることができる.量子力学の法則に従っている電子の振る舞いのシミュレーション(量子シミュレーション)や素因数分解の高速化が代表例である.

 量子コンピュータと呼ばれる計算機は,大きく分けて3種類ある. エラー耐性量子コンピュータ,NISQ 量子コンピュータ,量子アニーラーの3種理である.

 エラー耐性量子コンピュータ(FTQC)は量子誤り訂正符号により多数の物理的な量子ビットから論理ビットに符号化し,大規模な計算を精度よく実行するデジタルコンピュータである.この量子誤りは,外からのノイズが原因で生じる.エラー耐性量子コンピュータの計算原理は量子回路モデルと呼ばれ,量子力学の性質を積極的に活用して計算を行う.具体的には,量子力学の重ね合わせ原理により指数関数的に膨大な数の超並列計算を行い,そこで得られた無数の計算結果から確率振幅の波の干渉を利用して正答を高速に取り出す.このような方法で古典コンピュータよりも速く問題を解くことができるアルゴリズムとして,Shorの因数分解アルゴリズムやGrover の検索アルゴリズムなどが知られている.このエラー耐性量子コンピュータの問題点として,ノイズにより,量子コンピュータは環境の影響で重ね合わせの状態が崩れやすく,量子もつれ(後述)を維持するのが難しいことが挙げられる.

 そこで,近年,NISQ (ニスク)コンピュータ(Noisy Intermediate Scale Quantum Computer)が実現性の観点で注目されている.NISQコンピュータは,文字通り,(ノイズ除去をせず)ノイズを残した中規模な量子コンピュータのことである.ノイズを残している分,エラー耐性量子コンピュータよりqubitが多いが,50qubit程度しか望めない.それでも,NISQコンピュータが古典コンピュータ(スーパーコンピュータ)を上回るかもしれないと言われている.このように,量子コンピュータが古典コンピュータを上回ることを量子超越 (Quantum Supremacy:量子スプレマシー)という.計算原理は量子的(量子回路型)であるが,誤り訂正機能を持たず量子ビット数も少ないため,近似的量子コンピュータとも呼ばれる.近年,各社が開発している量子コンピュータの多く(IBMのQ systemなど)は,このNISQコンピュータである.

 現段階では,量子ビットが増やせず実用的な計算が難しいので,量子・ 古典ハイブリッドの計算アルゴリズムが複数提案されており,古典コンピュータシステムとして見ると,CPU が実行する計算の一部分を担うアクセラレータの位置づけとなる.また,量子誤り訂正が無いことで,計算機システムの構造は,先述のエラー耐性量子コンピュータとは異なる部分も多い.

 量子アニーラーは,量子アニーリングという計算原理により組み合わせ最適化問題を解く専用計算機である.カナダのD-wave Systems 社が,「世界初の商用量子コンピュータ」と宣伝され注目が集まったが,エラー耐性量子コンピュータやNISQコンピュータとは異なった計算原理に基づく計算機と理解した方が良い.量子アニーラーは,組合せ最適化問題をエネルギー最低化問題としてハードウェアにマッピングし,超伝導量子ビット上の物理現象により最適解を求めるアナログコンピューターである.また,ここから派生した組み合わせ最適化問題をイジングモデル(のエネルギー最低化問題)に 帰着させて解くイジングマシンが,日立製作所,富士通,NTT などから相次いで提案されている.

量子コンピュータの決まり事

 量子コンピュータにはいろいろな法則・定理・原理があるが,ここではそれをひとくくりに決まり事として覚えてもらう.それら決まり事は,量子力学の知識から導けるが時間がないので,割愛する.詳しく知りたい学生は,量子力学や量子コンピュータの本などを読んで学習すること.

量子力学的な決まり事

 「量子」という言葉が示すように,量子コンピュータでは,量子力学の決まり事と適用する.その1つとして,電子は,波の性質と固体の性質の2つの性質をもつといわれるが,本稿では電子は波として扱う.また,電子は観測しないときには,確率的にある状態になっているが,観測したとたん状態が特定される.後で説明するが,観測すると量子コンピュータの特徴の重ね合わせができなくなる.

1量子ビットに関する決まり事(ブロッホ球)

 一般的なコンピュータでは,電圧の低・高で0と1を表し,コンピュータ内部(論理回路)では,かならずどちらかの値(状態)に定まっている.一方,量子コンピュータでも光子の偏光,電子・核スピンの状態で0と1を表している.ただし,量子コンピュータでは,状態がまだ確定していない状態(量子的重ね合わせ状態)が許されている.したがって,この重ね合わせの状態を(3-1)式で表す.

  |φ> =α|0>+β|0>   (3-1)

    ここでは,0か1か測定時に決定される状態で,&|0>が0の状態を表し,αは状態の重みである.また, |1>は1の状態を表し,βはの状態の重みである.ここで注意することは,&|0>|1>は状態であって,単なる記号と考えてもよい.つまり,これらの状態を|↑>や|↓>で表しても問題ない(実際,このように表している教科書やネットの解説もある).これらの状態は,2次元複素ベクトルの直交基底になっており,|0> = 1 0 , |1> = 0 1 と表せる.

    重みαβは,複素数で表される.これらの数値の絶対値の2乗が,その状態になる確率に相当する.したがって,|α|2+|β|2=1となる.なお,量子ビット1つの状態は,|0>という基底(軸)と|1> という基底(軸)を使った2次元で表現できるが,αβが複素数なので4次元空間となる.しかし,|α|2+< |β|2=1という条件があるので,実際には,量子ビットの状態を3次元空間で表現できる.それを図3-1に示すブロッホ球というものを用いて表現する.

スクリーンショット 2023-08-14 15.50.40

図3-1 ブロッホ球

複数量子ビットに関する決まり事(テンソル積)

 量子ビット1つの場合,(3-1)式のように2つの基底で状態を表せるが,量子ビットが複数の場合は,さらに複雑になる.例えば,量子ビットが2つの場合,量子ビットψ1> を表す|0> という基底と|1> という基底と,量子ビットψ2> を表す|0> という基底と|1> という基底で,別々のグラフに表せない.量子コンピュータの場合,テンソル積を使って,|00>|01>|10>|11> という4つの基底に拡張し,4次元空間として表現する(図3-2参照).このテンソル積の作り方は,2つの基底の線形表示(足し算)した式を単に掛ければよく,(3-2)式で計算できる.

|ψ1> |ψ2> = (|0>+|1>) (|0>+|1>)

                              = |0> |0> + |0> |1> + |1> |0> + |1> |1>

                          = |00> + |01> + |10> + |11> (3-2)

スクリーンショット 2023-08-14 16.06.30

図3-2 2量子ビットでのテンソル積表現