IBMは汎用量子コンピュータ「Q」をクラウドで提供、「Quantum Experience」で量子の世界に触れる

IBMは2017年3月6日、汎用量子コンピュータ (Universal Quantum Computer) を世界に先駆けて商品化することを明らかにした。この量子コンピュータは「IBM Q」という製品名でビジネスや科学向け商用機として開発されている。この発表に先立ち、IBMは量子コンピュータをクラウドとして提供している。実際に使ってみると簡単にプログラミングをしてそれを実行でき、量子の世界に触れることができる。

出典: IBM  

量子コンピュータクラウド

量子コンピュータクラウドは「Quantum Experience」と呼ばれ、インターネット経由でIBM研究所に設置されている量子コンピュータを使うことができる。量子コンピュータアルゴリズムを開発し、それをIBM Q (上の写真) で実行することができる。既に4万人の利用者があり量子コンピュータの普及が始まっている。IBMは量子コンピュータを公開することで革新的なアプリが登場することを期待している。

実際に使ってみると

Quantum ExperienceはIBM Q向けのインターフェイス「Quantum Composer」を提供している。実際に使ってみると簡単にプログラミングをしてそれを実行できる (下の写真)。ここでは5 Qubit (量子ビット、後述) のプロセッサが使われ、ライブラリーやゲートを指定してアルゴリズムを作る。完成したプログラムをサブミットするとIBM研究所に設置されているQで実行される。

出典: VentureClef

五線譜にゲートを割り当てる

Quantum Composerは音楽の五線譜 (上の写真上段) のような構造となっている。ここに演算子 (Gateと呼ばれる、右上の分部) を選んで張り付けていく。五線譜の五本のバーはQubitに対応しており、処理は左から右に進む。一番最後のピンク色の演算子 (Operationsと呼ばれる) はQubitの状態を表示する。つまり、Operationsがプリンターのように計算結果を出力する。下段はQubitの物理的な状態を表示する。ここではプロセッサは0.019651 Kelvin (0 Kelvinは摂氏マイナス273.15度) と極めて低い温度で稼働していることが分かる。

Qubitとは

量子コンピュータの動作原理については直感的に理解できないところが多いがQuantum Experienceを使うと少しは理解が早まる。量子コンピュータは原子など物質の基本単位の動きで稼働するシステムで、これらの動作はQuantum Mechanics (量子力学) に従う。量子コンピュータの情報最小単位を「Qubit」と呼ぶ。これが従来型コンピュータのBitに対応する。Bitは0と1で表されるが、Qubitは|0〉と|1〉と表記する。| 〉はKetと呼ばれ、数字ではなくベクトルであることを示す。|0〉はground stateとも呼ばれエネルギー量が最小であることを示す (下の写真、Z軸の方向)。この球体はBloch Sphereと呼ばれQubitの状態 (オレンジ色のライン) を示す。

出典: IBM  

Qubitの|0〉の状態とは

実際にQuantum Composerを使って|0〉の状態を見る。Quantum Composerで|0〉の状態を生成するが、全てのQubitは|0〉に初期化されており操作は不要で、Operations演算子でQubitを出力する (下の写真)。ここでは5つのQubitのうち最初のQubitの状態を出力する。

出典: VentureClef

その結果は棒グラフで示される (下の写真)。横軸はQubitの状態を示し、縦軸はその状態の存在率を示す。ここでは “00000”の値が0.937と示された。これはQubitが93.7%の割合で|0〉となっていることを表す。(本来は1.000となるべきだが誤差でこの値となっている)。同様に|1〉の状態を出力すると“00001”の値が1.000となる。

出典: VentureClef

Superpositionとは

Qubitは|0〉または|1〉の状態を取るだけでなく、両者の状態を同時に取ることができ、これを「Superposition」と呼ぶ。現行コンピュータのBitは0又は1のどちらかを示すが、SuperpositionではQubitは0と1を同時に示す。

出典: VentureClef

QubitをSuperpositionの状態にする

同様にQuantum Composerを使ってSuperpositionを表現すると分かりやすい。ここでも5つのQubitのうち最初のQubitを使う。Qubitは|0〉に初期化されており、それを「H」ゲートを使ってSuperpositionに遷移する。その結果をOperationsで出力する。(Hゲートは「Hadamard Gate」と呼ばれQubit |0〉を90度水平方向に倒す演算子となる。前述Bloch SphereでZ軸方向のベクトルをX軸方向に倒す操作となる。この状態がSuperpositionで(|0〉+ |1〉) / √2と記述する。)

Superpositionの状態を出力

その結果を出力すると (下のグラフ) “00000”の値 (上向きのベクトルで|0〉を示す) が0.529で、“00001”の値 (下向きのベクトルで|1〉を示す) が0.472となる。つまり、Superpositionとは|0〉と|1〉の状態が五分五分の割合で存在することを意味する。(このケースでも誤差のため0.500とはなっていない。)

出典: VentureClef

Superpositionとマシン性能

量子コンピュータはSuperpositionという特性を持つため、Qubitは取りえる場合の数がBitに比べて飛躍的に増える。例えば、現行の5 Bitマシンはある時点で表現できる情報は1通り (例えば“10011”) であるが、5 Qubitマシンではこれが32 (2^5) 通り (“00000”から“11111”) と増大する。これが量子コンピュータの処理能力が飛躍的に大きくなる理由である。(500 Qubitマシンが登場すると2の500乗 (2^500) の情報を処理できる。これは宇宙全体の物質の数に相当し、大規模な処理ができることになる。)

Entanglementとは

量子コンピュータで一番理解しにくい概念がEntanglementである。これはQubit同士が連携した状態で極めて特異な動きをする性質を指す。これはSuperpositionの特性に帰属し、多くのSuperpositionの状態でEntanglementが発生する。Entanglementの状態で個々のQubitはランダムに動くが、全体を観察するとそこにはあるルールが存在する。例えば、二つのQubitがEntanglementの状態になると、個々のQubitはランダムに動くが、二つのQubit間には強い相関関係があることを否定できない。

Entanglementの状態を作り出す

実際にQuantum Composerを使ってEntanglementの状態を生成し (下の写真)、その特異な動きを見る。ここでは5つのQubitのうち1番目と2番目のQubitを使う。1番目のQubitを「H」ゲートでSuperpositionにする。次に1番目と2番目を「+」ゲートでつなぎEntanglementの状態を作り出す。(+ゲートは「Controlled-NOT Gate」と呼ばれControl Qubitの値が1であればTarget Qubitの値を反転する。ここでは1番目のQubitが|1〉であれば2番目のQubitの値を反転させる。) 最後にそれぞれのQubitの状態を出力する。

出典: VentureClef

Entanglementの状態を出力すると

この結果を出力すると (下のグラフ)、二つのQubitは”00” (どちらも上向き) と”11” (どちらも下向き) となる。(このケースでも誤差のため”01” (上向きと下向き) 及び”10” (下向きと上向き) の状態が発生している。) それぞれのQubitはランダムな動きをするが、二つのQubitは同時に上向きか下向きの状態しかとらない。つまり一方の動きを観察すれば他方の動きが分かることになる。

出典: VentureClef

Entanglementの奇妙な特性

EntanglementはIBM Qのように隣り合ったQubit同士で発生するだけでなく、距離に関係なく発生する。つまり、遠く離れたQubit間でもEntanglementが起こる。(仮に、上述のEntanglementの状態となったQubitの一方をSpaceXのFalcon 9で火星に送っても二つのQubitは上述の挙動を示す。地上のQubitが|0〉(上向き) であれば火星のQubitも同時に|0〉(上向き)となる。|1〉のケースでも同じ動きをする。このことは光の速度を超えて二つのQubitが同期していることを示し、物理現象の定理を根本から破ることになる。)

高速検索アルゴリズム:Grover’s Algorithm

未知な領域を含む量子コンピュータであるが、その膨大な計算能力を引き出すため早くからアルゴリズムの研究が進んでいる。その代表が「Grover’s Algorithm」で1996年にベル研究所のLov K. Groverにより発表された。これは非定形データの検索アルゴリズムで現行コンピュータより大幅に性能が向上することが示された。当時は量子コンピュータは存在せず論文発表に留まったが、今では量子コンピュータでこれを実証することができる。(先頭から二番目の写真はQuantum ExperienceでGrover’s Algorithmをコーディングしたもの。)

整数因数分解アルゴリズム:Shor’s Algorithm

ベル研究所のPeter Shorは1994年、量子コンピュータで整数因数分解 (integer factorization) の問題を解くアルゴリズムを開発した。これは「Shor’s Algorithm」と呼ばれ量子コンピュータを使うと高速で整数因数分解ができる。暗号化されたデータを復号化するときも整数因数分解が使われ、Shor’s Algorithmを使うと量子コンピュータで暗号データを解読できることになる。

量子コンピュータとセキュリティ

つまり、量子コンピュータが暗号文を解読しセキュリティが破られるという危機に直面している。

オンラインバンキングの通信プロトコールで「https」が使われるが、量子コンピュータが悪用されるとIDやパスワードを読み取ることができる。暗号化してもセキュリティは担保されないことになり対策が求められる。Shor’s Algorithmは暗号化技法の中心部である数学問題を解くことができるとして早くから課題が指摘されていた。量子コンピュータの登場が予想外に早くNSA (アメリカ国家安全保障局) はこの危険性に関する報告書を公開し対応を呼び掛けている。

量子コンピュータの登場が早まる

IBMは汎用量子コンピュータを世界に先駆けて商品化し数年以内に出荷することを明らかにした。Googleは研究所「Quantum AI Laboratory」で独自の量子コンピュータを開発しているが、五年以内に商用化することを公表した。両社とも製品内容についての情報は乏しいが商用量子コンピュータの道筋を示す形となった。量子コンピュータの登場は10年先と思われていたが、市場の予測を覆し製品出荷は大幅に早まった。(カナダのベンチャー企業D-Waveは既にQuantum Annealer型の量子コンピュータを出荷しているがその評価については意見が分かれている。)