開閉ボタン
ユーザーメニュー
ユーザーメニューコンテンツ
ログイン

関連ジャンル

  • 2018/01/22

量子コンピューターとは何か? 実用化進む次世代コンピューターの基礎と仕組みを解説

「量子コンピューター」が注目を集める一方で、登場するたびに「本当に量子コンピューターと言えるかどうか」が取り沙汰されてきた。過去にはD-Wave社の「D-Wave One」、2017年11月に発表された国立情報学研究所とNTTチームによる量子コンピューター試作機「QNN」もそうだ。果たして量子コンピューターとはいったい何なのか、量子コンピューターに何が期待されているのか。実用化が進む次世代コンピューターの仕組みを基礎から丁寧に解説する。

フリーライター/エディター 大内孝子

フリーライター/エディター 大内孝子

主に技術系の書籍を中心に企画・編集に携わる。2013年よりフリーランスで活動をはじめる。IT関連の技術・トピックから、デバイス、ツールキット、デジタルファブまで幅広く執筆活動を行う。makezine.jpにてハードウェアスタートアップ関連のインタビューを、livedoorニュースにてニュースコラムを好評連載中。CodeIQ MAGAZINEにも寄稿。著書に『ハッカソンの作り方』(BNN新社)、共編著に『オウンドメディアのつくりかた』(BNN新社)および『エンジニアのためのデザイン思考入門』(翔泳社)がある。

画像
従来のコンピューター(上)と量子コンピューター(下)の計算の仕組みの違い(内容は後ほど詳解)

量子コンピューターが注目される理由

 これまでコンピューターの性能を引き上げてきたのは半導体技術の進歩だ。有名なムーアの法則のもと、開発メーカーはチップ上の論理ゲートの数を増やし、高速化、高機能化、大容量化、低価格化などを実現してきた。半導体の回路を小型化し、たとえばk分の1に細かくすると動作速度がk倍あがり、回路の集積度はkの2乗になり、消費電力がk分の1に下がるという具合に進んできた。

 従来のコンピューターの動作原理は、電圧の高低で「0」と「1」の2ビットを表し、ビットで論理演算を行うという論理ゲートからなる。どんなプログラムも最終的にはビットの演算処理で実行される。

 そして、その仕組みが変わらない以上、「コンピューターをより高性能にする」というのは、上述したように(論理ゲートの数を増やし回路を小型化する、などにより)チップ上の回路の集積度を上げて計算処理スピードを得る、ということになる。

 ところが、このムーアの法則の限界説はかなり前から指摘されているし、現在のコンピューターで扱うことが非常に難しい天候予測やタンパク質の構造解析など、複雑な組み合わせ最適化問題も存在している。こうした、いまだ解析しきれていない事象を扱うため、スーパーコンピューターを含め、次世代コンピューティングの研究開発が行われている。

 量子コンピューターもその1つ。特に今、注目されている理由に、実用化が近づいてきたこと、さらに人や社会とICTのかかわり方に起きている変化があげられるだろう。

 その変化はムーアの描いた曲線ではカバーできない速さで進んでおり、将来的に、IoTやクラウド、AIが基本インフラとなれば、コンピューターが扱うデータの量はさらに莫大なものになると考えられる。

 そうした真のビッグデータ時代により速く大量の計算が可能なシステムが求められるのは自明のことで、そこで、特に注目されているのが量子コンピューターということなのだ。実現すれば、従来のコンピューターとは別次元の革新的な進化を起こすと期待が集まっている。

 量子コンピューターとは、従来のコンピューターとは異なる動作原理で「計算するプロセス」を実現しようというもの。目指すのは、論理ゲートによる回路ではなく、「重ね合わせ」や「量子もつれ(エンタングルメント)」といった量子力学的な振る舞いを使って計算を行うシステムだ。

 以降では、まず量子力学、量子コンピューターという概念が登場するまでの流れを見ていこう。

量子力学分野から見る量子コンピューター誕生の背景

 そもそも「量子」は、温度だけで決まる黒体放射を説明するために、プランクが1900年に提唱した概念だ。黒体放射とは19世紀後半、多くの科学者が取り組んでいた問題の1つ。当時、製鉄業において溶鉱炉の内部の温度を正確に知る方法が求められていたことから、温度と色(スペクトラム)の関係を解明しようとしたのだ。

 しかし、原子から放出される光のエネルギーは1、2、3…というように整数倍で離散的な数値を示す。ニュートン力学をベースにした自然界の法則では、これはあり得ないことだった。

 プランクはそれを説明するための仮説として量子仮説を発表。振動数νの光を放出・吸収する場合、そのエネルギーは連続的でなく、hνを単位とする不連続な量の放出・吸収だけが許されるとし、hを作用という次元の量の最小単位とした(hをプランク定数、あるいは作用量子と呼ぶ)。

 このように量子とは何らかの物理量のかたまりのことで、たとえば光のエネルギーのかたまりを「光量子」と呼ぶ。ただ、それではとらえにくいので、逆説的になるが、量子力学で扱うことのできる物質(原子、分子、電子など)の総称が量子だと考ればよいだろう。

 はじまりからわかるように、ミクロのスケールでの物質の振る舞いには、私たちが知覚できる世界の認識とはまるで違う、2つの特徴がある。

・量子は波の性質と粒子の性質を持つ(波と粒子の二面性)
・1つのものが同時に複数の場所に存在する(状態の共存)

 もちろん、私たちが目や耳で知覚できるマクロな物体も、その運動や性質などについて量子レベルで説明することができる。

 マクロな物体の運動は、いわゆるニュートン力学を基本とする古典的な物理法則を使った計算でも、量子論を用いた計算でも同じ結果になるという。

 ただ、原子以下の大きさ、電子や分子のサイズ(約1000万分の1mm)となると、量子力学で考えないと説明できない現象が現れるということなのだ。

画像
ミクロのスケールからマクロスケールへ

 ざっと量子力学の確立までの流れをさらうと、量子という概念をプランクが表したのが1900年。その時代からミクロの物質の探求が本格的に始まり、1920年代後半以降、ハイゼンベルグ方程式(波動方程式)、不確定性理論、ディラック方程式などさまざまな理論が発表された。

 1930年ディラックが『量子力学』を、1932年にフォン・ノイマンが『量子力学の数学的基礎』を著す。そして、1932年にハイゼンベルクが、1933年にシュレーディンガーおよびディラックが、量子力学の理論を打ち立てた功績により、ノーベル物理学賞を受賞。ここに、理論として量子力学という分野が確立したと言える。

 量子力学は、よく知られているボーア・アインシュタイン論争や、ある種の思考実験「シュレーディンガーの猫」のように、どう解釈するのかといった解釈問題がいまだに存在する分野でもある。

 しかしながら、技術の進歩も相まって、1960年代以降、量子力学は実験ベースで発展していくことになる。量子システムを計算に使えるのではないか、という可能性が言及されたのはこの時期である。

 1959年にリチャード・P・ファインマンが、量子力学的な「振る舞い」を使って計算を行うことができるのではないかとの考えを米国物理学会の年次総会における講演(注1)で示した。ファインマンは、原子や分子といったスケールになると、ニュートン力学上の物理法則とは異なるルールの動きになる。今後は、そうした"振る舞い"を新たなシステムの設計に利用できるようになるだろう、とした。

注1:There's Plenty of Room at the Bottom[December 29th 1959 at the annual meeting of the American Physical Society at the California Institute of Technology](http://calteches.library.caltech.edu/47/2/1960Bottom.pdf)


 ただ、実際に量子コンピューターのアイデアが提示されるようになるのは、それから20年が経って1980年代に入ってからだ。完全に解明されていない量子の振る舞い、性質のとらえにくさ、マニピュレートのしにくさなどが理由で、量子コンピューターがいまだに実用化されない理由も根本的にはそこにある。

量子コンピューターの始まり

 ファインマンの1959年の講演は、動作原理に量子力学的な振る舞いを用いた計算システムが「可能なのではないか」と示唆したに過ぎない。その後、具体的に「何が」可能なのかを示したのがポール・ベニオフだ。

 ベニオフは1980年に「チューリングマシンでできることは量子システムでも可能だ」との見方を一連の論文の中で示した。

 ファインマンが示していたように、量子力学のアプローチを使えば高速に大量な計算ができるだろうとは推測されていた。

 たとえば「状態の共存」という特徴を使って、「0の状態」「1の状態」「0と1が共存する状態」を使って並行で計算処理を行うことができれば、単純に考えても、2ビット(「0の状態」「1の状態」)の計算よりも速くなる。

 しかし、問題はこうした計算機(コンピューター)の中で起こるエネルギーの変化だ。

 上述のように、コンピューターは物理的な回路を用いて、電圧やスピンなどの物理現象でビットを表し、計算する。このときエネルギーの散逸が起こっている。これは感覚的にわかるだろう。具体的にいえば、コンピューター、たとえばスマートフォンで重いアプリを駆動し続ければデバイスそのものが熱くなってくる現象がそれだ。実際、パソコンを自作したことがある人であればわかると思うが、CPUにはファンが必須となる。

 量子は熱に弱い。弱いというと語弊があるが、エネルギー量があがると1つの量子の系(系≒対象とする領域、同じ状態だと括れる量子のかたまり)の情報が維持できなくなってしまう。

 そうなると計算というプロセスには使えない。ベニオフは、可逆コンピューターの考え方を用いることで量子コンピューターが実現できるというアイデアを示した。

 可逆コンピューターは、「入力された値を計算し、解を出すと入力値を消す」という通常のコンピューターとは異なり、「答えまでのステップを記録し、解を出すと後戻りし、初期状態に帰る」という仕組みをとる。

 これは、「エネルギーがいつ消費されるかというと計算に用いた情報を消去するときである。つまり、可逆的なシステムであればエネルギーの増減は起こらない」とするランダウアーの原理をもとに、1973年にチャールズ・ベネットがロルフ・ランダウアーとともに実現したものだ。

 一方、ファインマンは、1982年、古典的なコンピューターでは難しいとされる2つの問題「整数分解法」と「離散対数解析法」に対し、効率的に解くアルゴリズムが仮想量子コンピューター上で得られるとした。これは、離散対数の分野における量子コンピューターの有効性を示したものといえる。

 そして1985年にディヴィッド・ドイッチェがチューリングマシン(計算機の論理モデル)を拡張する量子チューリングマシンを定義。1989年には論理ゲートおよび論理回路の量子版として、それぞれ「量子ゲート」と「量子回路」を提示した。基本的には、このドイッチェの量子チューリングマシンが、量子コンピューターの始まりとされる。

 しかし、この段階では、量子コンピューターに果たして何ができるのか、具体的な応用となると現実的にまだ見えてきていない。量子コンピューターが大きな注目を集めるのは、そこからおよそ10年後のこと。

 1994年、ショアが発表した量子アルゴリズムが量子コンピューターの可能性を広く知らしめることになる。ショアの量子アルゴリズムは、n桁の整数の因数分解をO(n^3)以下の手順で効率的に解くというもの。

 離散フーリエ変換を量子コンピューターで行う量子フーリエ変換を応用したもので、因数分解を高速に解くことができる。プロセスは確率的であり、正しい答えが得られるまで何度も試行する。

 量子計算を行うことで、大量の桁数でも因数分解が高速に行えることを数学的に証明してしまったわけで、その何が大きな衝撃だったのかというと、因数分解の困難さから成立しているRAS暗号が破られる可能性があるということを示してしまったのだ。

 因数分解は組み合わせ(桁数)が増えれば増えるほど、計算量は莫大になっていく。200桁にもなると現行のコンピューターでは天文学的な時間がかかる。

 そのため、「破ることができないわけではないが、(破ることは)現実的ではない」ということがRAS暗号の安全性の担保になっている。RAS暗号は、現在さまざまな情報システムで用いられており、「量子コンピューターが実用化されたら、RAS暗号が一瞬で破られてしまう」というのは脅威につながり、大きな注目を集めたのだ。

 以降、量子コンピューターの研究は加速していく。

 物理系の科学者だけではなく、セキュリティ分野、IT分野など、さまざまな分野の研究者が量子コンピューターのアルゴリズム開発に着手、現在すでに、さまざまな量子アルゴリズムがある。

 量子アルゴリズムとして有名なものに、1996年に発表された、グローバーによるデータベース検索のための量子アルゴリズムがある。これは、n個のデータのうちのあるデータをルートnのステップで特定できる(現状のコンピューターでは平均N/2回の探索であるのに対し、O(√N)回で探すことができる)というもの。検索アルゴリズムはコンピューター技術の中でも重要なポジションにあり、現在、グローバーの量子アルゴリズムはさまざまな研究に応用されている。

量子コンピューターの原理となる量子の「振る舞い」

 ここで、量子コンピューターの原理となる量子の「振る舞い」について見ておこう。ただ、あくまで量子コンピューターに使われる(とされている)特徴ということで、量子論としての解説ではないので、その部分はご了承いただきたい。

 まず量子の持つ特徴として「状態の共存」があることは先に述べた。1つのものが同時に複数の場所に存在する、複数の状態を持ちうる。この「重ね合わせ状態(共存した状態)」を使ってビット(量子ビット)を表現するのだ。

 たとえば、粒子の持つ物理量の1つである「スピン(≒自転)」を使って、ある電子の右回りのスピンを「0」、左回りのスピンを「1」としたとき、重ね合わせ状態にある電子はこの「0」と「1」を同時に持つことができる。こうした電子を2つ用いて、「00」「01」「11」「10」を表現できるということになる。

画像
量子の重ね合わせ状態によるビットの表現

 もう1つ重要なのが「量子もつれ(エンタングルメント、量子からみ)」と呼ばれる、量子の特徴だ。量子もつれの状態にある2つの電子があるとき、一方の電子において右回りのスピンが“観測”された場合にもう一方は左回りのスピンが確定する。つまり、1つが右(左)回りであるとき、もう1つは左(右)回りである、という状態が量子もつれだ。量子もつれの状態にある2つの電子は、このようにスピンの値を打ち消し合う。

 これが量子コンピューターになぜ必要なのかというと、高速に並列計算を行うためだ。絡み合っていない量子ビットのビット列は個々に動いてしまう。複数の量子ビットが絡み合っていれば、1つの量子ビットに対する作用を、瞬時に、全体へ及ぼすことができる。

画像
量子の絡み合いにより量子ビット列全体を作用の対象にできる

 ちなみに、この量子もつれの特性を用いたものに「量子テレポーテーション」がある。アリスとボブの2者の間で量子もつれにある光子の対を、アリスが光子(a)、ボブが光子(b)というように持つ。そして、この光子対には重ね合わせ状態を持つ量子ビット(c)がある。このときアリスが(a)と(c)を一緒に観測し、その”結果”をボブに伝えると、ボブはその情報をもとに(b)を操作することで(c)が得られる、というものだ。

 これは、暗号鍵の交換方法として非常に魅力的だ。実際、量子テレポーテーションは1995年頃から実験が行われており、2012年には100kmの距離で成功している。1万kmの距離で実験するために人工衛星も打ち上げられている。

photo
量子テレポーテーションの実験の模式図

(出典:『佐藤文隆先生の量子論』ブルーバックス)

 このように、量子状態の素子があれば、複数の値を同時に入力し並列的に計算できるということになる。ただ、量子状態は維持することが非常に難しい。時間が経てば崩れてしまうし、外部からの刺激にも非常に影響される。この重ね合わせ状態が崩れることを「デコヒーレンス」というが、ほんのわずかでもエネルギーが加わることで、ごく小さな量子はすぐにその状態を遷移してしまう。

 また、膨大な桁の計算を高速に可能とするためには、それなりに大量の量子ビットが必要になる。

 つまり、ハードウェア的に実現する困難さがそのまま量子コンピューターの実現の難しさになっているのだ。絶対零度を保つ巨大な冷蔵庫を作ってその中に量子状態の電子を大量に配置し、回路化する。そうできれば話は早いかもしれないが、果たして、それは可能なことなのだろうか? 実際には、まだ、さまざまな実装方法が提案されているという段階だ。

量子コンピューターの実装方法とは?

 量子コンピューターの実装方法として、まず、量子ゲート方式が挙げられる。

 これは、ドイッチェが定義した量子コンピューターの実装を目指すもので、従来のコンピューターのビットに相当する量子ビットを用意し、論理ゲートに相当する量子ゲートが作用を行い演算処理を行う。いわば、従来のコンピューターの論理回路の拡張版である。量子回路はユニタリー行列をとり、量子ビットに対して操作を行う。可逆計算であることも特徴の1つだ。

画像
従来のコンピューター(上)と量子コンピューター(下)の計算の仕組みの違い

 ただし、量子コンピューターとして期待される性能を出すには大量の量子ビットが必要とされる。数千個クラスの量子ビットを生成し、いかに制御するか。それが量子ゲート方式のハードウェア実装における大きな課題となっている。

 では量子ビットとして「何を使うか」だが、超伝導素子を使う、あるいはレーザー冷却によるイオン・トラップ型であったり、核磁気共鳴・電子スピン共鳴などによる量子コンピューターの研究も進んでいる。

 レーザー冷却によるイオン・トラップ型量子コンピューターの原理はこうだ。

 プラスイオン、マイナスイオンという状態で浮遊するイオンの振る舞いが棒磁石のようであることから、それぞれの向きを量子ビットの1と0に対応させ、レーザー冷却により静止させる。こうして捕捉したトラップ内のイオンは、イオンどうしの電気的反発により量子もつれの状態となり、量子ビットとして扱うことができるというもの。

 核磁気共鳴(NMR)による量子コンピューターは、主に半導体の中の原子核スピンで量子ビットを構成する。また、半導体の中の電子スピンを量子ビットとするのが電子スピン共鳴。原子核スピン、あるいは電子スピンを電磁波によって操作するというもの。

 このように、原子、イオン、超伝導素子などを用いた量子ゲートがさまざまな方法で研究されているが、やはり課題はその大規模化にある。現状、実現している量子ビット数は、いっても2桁というところ。とでも、スケールするところまでいかない。

量子アニーリングが注目を集める理由

 一方、ここに来て注目を浴びているのが、量子ゲート方式とは異なるアプローチをとる「量子アニーリング」方式だ。

関連記事


 量子アニーリングは組み合わせ最適化問題に特化した量子アルゴリズムで、基本原理を提案したのは西森秀稔氏(東京工業大学教授)と門脇正史氏。西森氏らは、シミュレーテッドアニーリングのプロセスに量子効果を用いる手法(電子アニーリング)を1998年に発表(注2)。

注2:Tadashi Kadowaki, Hidetoshi Nishimori, Quantum annealing in the transverse Ising model" Phys. Rev. E 58, 5355 (1998)

 シミュレーテッドアニーリングというシミュレーション手法は「熱ゆらぎ」を用いて最適解を効率よく見つけようというものだが、温度を変化させる代わりに量子効果の強さを変化させることで、従来よりも、より高い確率で高精度な解が効率よく得られるとしている。

 ここでは詳しくは触れないが、量子のトンネル効果(ニュートン力学的には乗り越えられないはずの障壁を粒子があたかもすり抜けたかのように通過する量子力学的な現象)を活用した発想だ。

 2011年、量子コンピューターの開発に成功したと登場したD-Wave Systemsの「D-Wave One」はこの量子アニーリングのハードウェア実装だ。超電導回路が量子効果の操作を可能にしている。

 量子アニーリングは最適化問題に特化したものであることから、現在、量子アニーリングを実装したコンピューターは、量子コンピューターとは別の名称で、「量子アニーリングマシン」と呼ばれることもある。

 そのほか、光を用いる「光量子コンピューター」も考案されている。こちらも量子アニーリングと同様、「量子ビットとそれに対する量子ゲートの操作」による量子ゲート方式とは異なるアプローチをとる。基本原理は、光子間の量子干渉により確率的にゲート操作を行うというもの。ただ、実装ベースでは一桁の量子ビットで実現されているという状態だ。

量子コンピューターの現状と可能性(と難しさ)

 では、量子コンピューターの現状はどうなのだろうか。

 実際、どのくらいまで実現されているかというと、量子ゲート方式の量子コンピューターとしては、現在IBMが2016年に5量子ビットの量子コンピューターを発表。そして、2017年に16量子ビットの量子コンピューターをクラウドで公開している。

 D-Wave Systems量子アニーリング方式では、2011年の「D-Wave One」の第1世代が128量子ビット、2013年にNASAとGoogleが共同購入した第2世代が512量子ビット、2015年の第3世代「D-Wave 2X」が1152量子ビット、2017年1月の第4世代「D-Wave 2000Q」が2000量子ビットという状況だ。

 量子ゲート方式と量子アニーリング方式とでは、実現されている量子ビットの数が違い過ぎ、並べて語ることが難しいが、いずれにしても超伝導量子ビットがハードウェアとしては最も進んでいる。

 主な研究拠点に、カリフォルニア大学サンタバーバラ校/グーグル(注3)、IBM、イエール大学、Rigetti、デルフ工科大学(オランダ)、日本では東大、理研、NECなどがある。

注3:カリフォルニア大学サンタバーバラ校のMartinisグループは2014年にグーグルの量子コンピューター研究プロジェクトに参加。

 グーグルは、量子コンピューターが現在のコンピューターを凌駕する計算処理を実行可能であるという実証をスタートする計画を明らかにしている。いわゆる「量子超越性がある」ことを証明しようというのだ。

 量子超越性とは、「(従来型コンピューターを使うよりも)明らかに量子コンピューターでなければ処理できないほどの計算量を量子コンピューティングで処理できるようになること」を指すのだが、それには、数千万個から数億個の量子ビットを搭載し、量子ビットのエラー訂正が可能な量子コンピューターでなければならないとされてきた。

 量子超越性を実証する方法として考えられているのは、さまざまな量子アルゴリズムが実行できる汎用の量子コンピューターではなく、単一の用途に特化した量子コンピューターを用いるものだ。

 つまり、特定のアルゴリズムにおいて量子超越性が示せることを証明しようということ。具体的には、量子もつれを使ったコイントスのシミュレーションだ。グーグルが設定する「量子超越性に必要となる量子ビットの数」は49個。すでに9量子ビットの量子コンピューターによる量子サンプリングを成功させている。量子ビット数を5から9に増やしたときのエラーの増加率から考えて、この技術の先に60量子ビットまで拡張可能だとする。

 ただ、IBMが49量子ビットでは量子超越性を示せないという見解も示しており、「実用量子コンピューター」のレベルはまだわからないといったところだろう。とはいえ、「49量子ビット」を巡って各社の動きはこうだ。2017年11月、IBMはラボで50量子ビットのプロトタイプを構築したと発表。残念ながら、グーグルの昨年末までに49個の量子ビットを搭載する量子コンピューターの稼働を開始するという計画はうまくいかなかったようだが、インテルが2018年1月のCESで49量子ビットの量子コンピューティングチップ「Tangle Lake」を発表している。

 「Q2B Conference」の講演でグーグルのMartinis氏が「Google Cloud」の一部として、開発中の量子ゲート方式の量子コンピューターをインターネット経由で利用できるようにする計画を明らかにしている。この計画が成功すれば、はじめて量子超越性が実証されることになる。

 また、この12月にマイクロソフトは開発中の量子コンピューター向けのアプリケーション開発ツールキット「Quantum Development Kit」の無償プレビュー版をリリースした。これは、量子コンピューター向けに新たに開発したプログラミング言語や量子コンピューターの振る舞いをシミュレーションする開発環境といったリソースだ。量子状態の振る舞い、量子コンピューターに固有の要素に触れることができるとしている。

 量子コンピューターというハードウェアが本格的に出てくるのはまだ先としても、いよいよ使うためのフェーズに移行しつつあるということなのだろう。

 実際、フォルクスワーゲンやゴールドマンサックスなど、量子コンピューターのビジネス活用の検討段階にあることを明らかにしている。D-Wave 2000QおよびGoogleが開発を進める量子ゲート方式の量子コンピューターを使ってアルゴリズムの開発や検証を進めている。

 フォルクスワーゲンのCIOであるマーティン・ホフマン氏が「Q2B Conference」の講演で語ったもので、たとえば、D-Wave 2000Qでは都市交通サービスの最適化に有効なのではないか、量子ゲート方式の量子コンピューターに関しては化学分野のシミュレーションへの活用を期待しているという。

 このように、見えてきているのは特化型の量子コンピューター(とその使い方)といえるが、ここ数年でいっきに動いた量子コンピューター、次の進化は近いのかもしれない。

サーバ ジャンルのセミナー

サーバ ジャンルのトピックス

サーバ ジャンルのIT導入支援情報

PR

ビジネス+IT 会員登録で、会員限定コンテンツやメルマガを購読可能、スペシャルセミナーにもご招待!