量子コンピュータ (りょうしコンピュータ、英語:quantum computer) 2018年1月 sbbit
量子力学的な重ね合わせを用いて並列性を実現するとされるコンピュータ。従来のコンピュータの論理ゲートに代えて、「量子ゲート」を用いて量子計算を行う原理のものについて研究がさかんであるが、他の方式についても研究・開発は行われている。
いわゆる電子式など従来の一般的な[1]コンピュータ(以下「古典コンピュータ」)の素子は、情報について、「0か1」などなんらかの2値をあらわすいずれかの状態しか持ち得ない「ビット」で扱う。量子コンピュータは「量子ビット」 (qubit; quantum bit、キュービット) により、重ね合わせ状態によって情報を扱う。
n量子ビットがあれば2のn乗の状態が同時に計算され、2のn乗個の重ね合わされた結果が得られる。しかし、重ね合わされた結果を観測してもランダムに選ばれた結果が1つ得られるだけで、古典コンピュータに対する高速性は得られない。高速性を得るには欲しい答えを高確率で求める工夫を施した量子コンピュータ専用のアルゴリズムが必須である。もし、数千qubitのハードウェアが実現した場合、この量子ビットを複数利用して、量子コンピュータは古典コンピュータでは実現し得ない規模の並列コンピューティングが実現すると言われる。
これまでコンピューターの性能を引き上げてきたのは半導体技術の進歩だ。有名なムーアの法則のもと、開発メーカーはチップ上の論理ゲートの数を増やし、高速化、高機能化、大容量化、低価格化などを実現してきた。半導体の回路を小型化し、たとえば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年代後半以降、ハイゼンベルグ方程式(波動方程式)、不確定性理論、ディラック方程式などさまざまな理論が発表された。
技術の進歩も相まって、1960年代以降、量子力学は実験ベースで発展していくことになる。量子システムを計算に使えるのではないか、という可能性が言及されたのはこの時期である。
1959年にリチャード・P・ファインマンが、量子力学的な「振る舞い」を使って計算を行うことができるのではないかとの考えを米国物理学会の年次総会における講演で示した。ファインマンは、原子や分子といったスケールになると、ニュートン力学上の物理法則とは異なるルールの動きになる。今後は、そうした"振る舞い"を新たなシステムの設計に利用できるようになるだろう、とした。
ただ、実際に量子コンピューターのアイデアが提示されるようになるのは、それから20年が経って1980年代に入ってからだ。完全に解明されていない量子の振る舞い、性質のとらえにくさ、マニピュレートのしにくさなどが理由で、量子コンピューターがいまだに実用化されない理由も根本的にはそこにある。
量子コンピュータの必要性 2017年12月 blogs.itmedia
「ムーアの法則」が限界を迎えつつあります。一方で、IoTやAIの普及と共に、データ量は爆発的に増大し、必要とされる演算能力もまた増大しています。この状況に対応すべく、プロセッサー・コアの並列化やASIC、FPGAなどの特定の処理目的に最適化された半導体、スーパー・コンピュータを使うというという解決策が採られていますが、必ずしも十分なものとは言えません。量子コンピュータは、このような状況に対応する新たな解決策として注目されています。
特に、総当たりで計算しなければならない素因数分解や組み合わせ最適化問題、あるいは検索問題などで、劇的な演算速度の高速化が期待されています。
ただ、現段階では全ての演算問題を解くことができる量子コンピュータにめどが立った訳ではありません。そのため、一気にこれまでの古典コンピュータを置き換えるとことにはならないでしょう。ただし範囲の限られた演算問題であっても、実用での適用範囲は広く、早期実用化への期待が高まっています。
古典コンピュータで解けない問題
古典コンピュータで解けない演算問題とは、入力されるデータ数に応じて指数関数的に増大してゆく場合です。このような演算問題は、最大規模のスーパー・コンピュータでも実用に供しないこともあり、厳密解ではなく近似値を求めるアルゴリズムを使って対処しています。
巡回セールスマン問題(組み合わせ最適化)
「古典コンピュータで解けない問題」の典型的な事例として「巡回セールスマン問題(組み合わせ最適化)」があります。セールスマンの訪問先が複数あるとき、最も短い時間で全てを巡回する手順を見つける問題です。
この問題は、訪問先が増えるたびに指数関数的に巡回経路が増えてゆきます。例えば、8地点では2,520であるのに対し、20地点になると6京8000兆となり、我が国最高速のスーパー・コンピュータ「京」をもってしても6秒かかります。これかが、30地点になると4.42×10の30乗となり、「京」でも1,401万年かかる計算になります。
そこでこのような問題を解くためには、計算量を減らし「近似解」をもとめるやり方が一般的です。しかし、量子コンピュータであれば、このような「組み合わせ最適化」問題の「厳密解」を一瞬で計算してしまう可能性があるのです。
量子コンピュータとは何か
コンピュータとは、抽象的な「数字」を物理的な動きを使って演算する機械のことです。例えば、太古の昔は、石や木の棒を並べて数えるといった「演算」方法が疲れていました。算盤を使うといった演算の道具も使われるようになりました。その後、蒸気機関やモーターの動力を利用して演算する道具、あるいは、真空管や半導体素子の電子の動きを利用して演算する道具が登場します。これが、いま我々が使っている(古典)コンピュータです。
量子コンピュータとは、やはり物理的な動きである「量子」の動きや振る舞いを利用して演算するコンピュータです。
量子力学
量子コンピュータの原理を支えているのが「量子力学」です。私たちの世界を創っている物質や光などの様々な物理現象を産み出している最小単位が「量子」です。「量子」の持つ物理的な特徴は「量子効果」とも言われ、我々の直感とはかなり違った動きや振る舞いがあります。例えば、光の量子は「光子」と呼ばれ、粒子と波の2つの異なる状態を同時に併せ持っています。また、物質を通り抜けてしまう「トンネル効果」や、同時に2つの特性、例えば電流の向きが同時に2つの方向に向けて流れているなどの「重ね合わせ」状態を持つなど、我々が見て感じるマクロな世界の直感とは異なる物理的な現象が存在しています。
量子コンピュータは、この「量子」の動きや振る舞いを数字の「演算」に使おうというわけです。
量子コンピュータの適用分野
量子コンピュータは、そんな量子の動きや振る舞いを利用して、古典コンピュータでは時間がかかりすぎてとても解けないと考えられていた問題を高速で解くことができると期待されています。特に、素因数分解や検索、組合せ最適化問題への期待は高く、いま注目の人工知能にも劇的な進展をもたらすものと期待されているのです。
BitとQubit
古典コンピュータで用いられるビット(Bit)は、一時点で1か0のいずれかの値を持ちます。これは、電子回路のスイッチのON/OFFまたは電圧の高/低に対応したものです。一方、量子コンピュータでは量子ビット(Qubit)と呼ばれる単位が用いられます。これは、量子の振る舞いである「重ね合わせ」を利用し、一時点で1と0を同時に示すことができる単位です。
量子コンピュータが高速で計算できる理由
古典コンピュータで4ビットの演算を行う場合、16通りの組合せが存在し、その組合せひとつひとつを逐次計算しなければなりません。しかし、量子コンピュータであれば、1量子ビットは0と1の状態を同時に示します。そのため4量子ビットは、0と1の16通りの組合せを同時に示すこととなり、古典コンピュータでは16回繰り返さなければならなかった演算を1回でできてしまうことになります。これが、量子コンピュータが高速で演算できる理由です。
この量子ビットの数を増やしてゆけば、1回で演算できる組合せ数が増大してゆくため、演算速度は速くなってゆきます。
現在、最大で20量子ビットのコンピュータが利用可能な状態にありますが、50量子ビットを越えるあたりで、現在最も高速な古典コンピュータであるスーパー・コンピュータを越える(量子スプレマシー/量子超越性)と言われています。
量子コンピュータの種類
量子コンピュータは、現在2つの方式が実用に向けて開発が進められています。1つは、「量子ゲート」方式で、古典コンピュータでできるあらゆる計算に対応する汎用的なものです。「量子スプレマシー」の可能性が期待されているのは、こちらのコンピュータです。現在、最大で20量子ビットのコンピュータがクラウド・サービスとして利用可能な状態にあります。また、IBMは50量子ビット、Googleは49量子ビットのコンピュータを数年のうちにリリースすると表明しています。
しかし、「量子ゲート」方式で利用できるアルゴリズムが、未だ揃っていない状況にあり、「理論的には汎用計算ができるはず」ではあるのですが、それができる状態にはありません。
もうひとつは「量子イジング・モデル」方式です。こちらは、組み合わせ最適化問題に特化したコンピュータです。組み合わせ最適化問題に特化しているとはいえ、実用面での適用分野は広く、実用化では大きく先行しています。
カナダのD-Waveが2014年に商用製品を発表し、Googleや NASAなどの企業で使われ始めています。また日本のNTTも2017年11月よりクラウド・サービスとしての提供を始めています。
量子コンピュータの現状
「量子イジング・モデル」方式が実用面では先行した状況にありますが、IBMやGoogle、Microsoftが「量子ゲート方式」の開発を熱心に進めています。ただ、「量子ゲート方式」でのアルゴリズは、まだ未発見の領域も広く、本格的な実用化には、まだしばらくの時間がかかるでしょう。
自然現象を借用したアルゴリズム
ところで、量子コンピュータが登場する以前は、自然現象のメカニズムを古典コンピュータでシミュレートし「組合せ最適化問題」などを効率的に解こうというアプローチが行われてきました。ただし、演算規模が大きくなるため「近似解」を求めるしかありませんでした。
この自然現象のひとつである「量子アニーリング」を、ソフトウェアによるシミュレーションではなく物理的な現象として再現することで、「近似解」ではなく「厳密解」を求めようと生まれたのが「量子イジング・モデル」方式のD-Waveです。NTTのQNN(量子ニューラルネットワーク)も人間の脳の中で行われている神経活動のメカニズムを使っているようです(現在、確認中)。
量子イジングマシンとスパコン
「量子イジング・モデル」方式は、全ての演算問題を解けるものではありません。しかし、組合せ最適化問題に限れば、既存のスーパー・コンピュータを凌ぐ速度と低消費電力、そして「厳密解」が期待されており、実用面での注目が高まっています。
D-Waveの計算原理
「量子イジング・モデル」方式で先行しているD-Waveは、絶対零度に冷やされた超伝導状態の素子が、同時に2つの電流の向きを持つ特性を使い、これを量子ビットの0と1の「重ね合わせ」状態と見立てて、量子計算を行おうというアプローチです。
まず不安定な超伝導素子の重ね合わせ状態を強い磁場で安定させます。そして、その素子同士の相互作用を解くべき問題に合わせて設定します。これは、古典コンピュータのプログラムに相当します。徐々に磁場を弱くして相互作用を強めてゆくと、設定した相互作用に最適化された電流の方法がひとつに決まります。これが、組み合わせ最適化問題の「厳密解(あるいは、厳密解に近い近似解)」になります。つまり、何度も計算しなくても1回の計算で解を求めることができるのです。
誤差が含まれることが考えられるためD-Waveでは複数回、同じ操作を行い、確認しているのだそうです。
グーグル量子コンピューターの本当のすごみ (日経サイエンス) 2020年01月
去る10月、グーグルを中心とする研究グループが、世界最速のスパコンで1万年かかる計算を量子コンピューターで200秒で実行したと発表した。このニュースは量子コンピューターがスパコンを超えたとして大きく報じられたが、最も重要なポイントがしばしば見すごされている。それは量子コンピューターが「たった53個の素子で」スパコンをしのぐ計算を実行したことだ。
グーグルが開発した量子コンピューターは、0.2ミリ角の超電導素子を53個並べた量子チップ「シカモア」1個だけだ。対するスパコン「サミット」は数万個の画像処理半導体(GPU)と数千個のCPU(中央演算処理装置)、10ペタ(ペタは1000兆)バイトのメモリーを持つ超大型計算機で、素子数はメモリーだけで1京個を超える。つまり、たった53個の量子素子が、1京個を超える半導体素子を持つスパコンを桁違いのスピードで破ったのである。
量子コンピューターの本当のすごみはここにある。実行したのは量子コンピューターが最も得意とするタイプの計算で、量子側に有利だったとはいえ、この圧倒的な物量の差はただごとではない。何かとてつもないことが起きているのは容易に想像がつくだろう。
たった53個で、どうやってスパコンを超えることができたのか。それを知るには量子力学を見る必要がある。量子力学によると、物体は外から見られていないときは、相反する状態を同時に実現する。電子1個は右と左に同時に存在するし、光子1個はあちらとこちらに同時に飛んでいく。これを「状態の重ね合わせ」と呼ぶ。量子素子は、この重ね合わせになった状態の一方で1、他方で0を表し、両者の"重み"を自由に変えられるデバイスだ。グーグルの量子素子は、超伝導回路の中に電子ペアが「ある=1」と「ない=0」という2つの状態を同時に実現している。
0と1が重ね合わせになった素子同士を相互作用させると「量子もつれ」と呼ばれる関係になり、重ね合わせが全体に広がって、00、01、10、11の4つのデータが重ね合わさる。重ね合わせになるデータの数は、素子の数とともに倍々ゲームで増える。53個を量子もつれにすると (注:2の53乗) 、約1京通りのデータが重ね合わせになり、その情報量は10ペタバイトを超える。ただし素子の値を読み出すと、その瞬間に重ね合わせは消え、ちょうどサイコロを振るように、重ね合わせになっていたデータのどれかが出現する。
量子コンピューターはこの膨大な重ね合わせをメモリーとして利用している。素子のどれかに演算を施すと、重ね合わせになったデータのすべてが同時に演算され、結果が各データに上書きされる。これを繰り返すことで計算を進める。つまり量子コンピューターというのは、限られた数の素子に、重ね合わせによって膨大な情報を保存し、それらを同時並行で演算することで、計算に必要な演算の回数を劇的に節約するコンピューターなのだ。
量子コンピューターはスパコンの延長ではない。量子だけが持つ新しいリソースを使って高速で計算するマシンだ。理論的には30年前から予測されていたが、今回、その威力が初めて誰の目にも見える形で明らかになった。「量子による計算の爆発的な加速が本当にあることが示された。その意義は大きい」と、量子コンピューター理論の第一人者である藤井啓祐・大阪大学教授は話す。
量子コンピューターの絶大な計算能力は実証されたが、今後これをどんどん実用に使っていくことができるかというと、話はそう単純ではない。第一に、莫大な同時並行計算の結果はやはり重ね合わせになっているので、普通に読み出すと、どれか1つを残して後は消えてしまう。従って情報のごく一部を読み出すだけで意味のあるような、量子コンピューターに合った問題を探す必要がある。例えば新材料のシミュレーションや、暗号解読を可能にする素因数分解などが知られている。
だが今の量子コンピューターにはそれらの計算は実行できない。量子素子は極めて脆弱で、演算を繰り返すうちに重ね合わせがどんどん壊れ、エラーが起きてしまうからだ。今回の実験では最大1600回の演算を実行したが、正しい答えが得られた確率は0.2%。同じ計算を100万回繰り返し(これに200秒かかる)、約2000回正答を得た。だがこれ以上計算を続けるとエラーがさらに積み上がり、正答が見えなくなってしまう。
エラーを修正しながら計算を続ける方法はわかっているが、実現は技術的に極めて難しく、研究者の多くはあと20年はかかると予想している。今後はその最終ゴールを目指すとともに、驚異的な計算能力を持つが計算が続けられない今の中途半端な量子コンピューターを使って、何か意味のある計算ができないかを探索する研究が続くだろう。目下のところ化学計算と機械学習の分野が有望と期待されており、世界中の大学やIT大手、そして多数の量子ベンチャーが、新たな用途の探索にしのぎを削っている。
(日経サイエンス編集部 古田彩)
出典 : Wikipedia , https://www.sbbit.jp , https://blogs.itmedia.co.jp など