ジャパン/コンピュータ・ネット代表取締役 岩戸あつし

 

最近、量子コンピュータがIT業界で話題になっている。馴染みはないが、用語だけなら聞いたことがあるという人はいるだろう。まずコンピュータはいいとして、量子という物理学の用語を聞いただけで「もうだめ、聞いても無駄」と思う人も多くいると思う。量子というのはここでは物質の最小単位である電子、陽子、光子、素粒子などを言うが、今から量子力学の話をするのではなく、この新しいコンピュータが従来のものと比べてどれほど優れたものなのかということを話したいと思う。

通常我々が使っているパソコンやタブレット、銀行がオンラインで使っている汎用コンピュータ、日本の誇る最速スーパーコンピュータ「京(けい)」はすべてノイマン型コンピュータという種類に分類されている。このノイマン型コンピュータの情報単位はみなさんも馴染みのビットである。1ビットはよく0と1というように表される。たとえて言うなら、箱を1つ用意しそのなかに0を入れるか1を入れるかする。すなわちその箱1つを1ビットと言い、1ビットは0もしくは1という2通りを表現することができる。箱が2つの場合は(00,01,10,11)の4通り、3つの場合は(000,001,010,011, 100,101,110,111)の8通り、8つの場合は256通りという具合になる。

ノイマン型(通常の)コンピュータではビットの箱をいくつ並べるかによって何ビットコンピュータというように言われている。箱が32個並ぶのを32ビットコンピュータと言い、2の32乗は約43億、つまり一度に0から43億までの数字を作ることができる。これが一昔前のパソコンの標準で、現在は64ビットが標準になっている。64ビットだと184垓(がい)という億、兆、京のさらに一つ上の単位が一度に表現できる。

これだけの数字を一度に作ることができたらそれで十分ではないかと思うかも知れないがそうではない。例えば1+2=という足し算をするときは、1という数字を最初に造り、その次に足すという命令を出し(足すという命令もビットで並べた数字になる)、最後に2という数字を作って入れるという3段階の作業が必要になる。何億、何兆の数字が一度に作れると言えど、たった1という数字を作るのも1兆という数字を作るもの同じ1回の作業になる。そしてそれを足したり引いたりするときには、ビットの箱を一度クリアして次の数字や作業用の数字を作り直す必要がある。

この数字をクリアして入れなおす作業の速度は通常ヘルツで表され、たとえば30GHzというのは、一秒間に300億回の入れなおし作業が可能になると言う意味である。要するに、ノイマン型(通常の)コンピュータの速度というのは、おおまかに言えば、ビットの数(どれだけの数字を一度に並べられるか)とそれらの数字をどれだけ速く変更できるかということでそのコンピュータの性能になる。そして1秒間300億回の変更ができても、最適化問題や人の脳を真似た人工知能の開発にはスピードが全然足りないのだ。

それに対し量子コンピュータの単位は量子ビットと言う違う単位を使う。上の箱の例で言うと、ノイマン型では1つの箱の中に0と1を同時に入れることはなかったが、量子ビットの箱にはなんと0と1が同時に入ることができる。例えがよくないかも知れないが一人用トイレに二人同時にはいれることになる(本当によくない例えだが、なにかいい例えがないものか)。これを専門用語で「重ね合わせ」状態と言う。

1量子ビットの箱に0と1が同時に存在できるのであれば(意味がわからないと思うが、我慢して続きを読んでください)、例えば2量子ビット、3量子ビットと増えていった場合に、一度に表現できる数字が増えていくだけでなく、そのビット数で作ることができる全ての数字を、一度に同時に表すことができる。もう一度言うが、例えば32ビットだったら0から43億までの数字を作ることができる。通常のビットの場合は一度に一つの数字しか作れないのに対し、量子ビットは一度に全ての数字を表すことができる(理解が難しいと思うが)。そのことによって究極的には従来のコンピュータの何億倍、何兆倍の速さを出せるといわれている。ではそれをどのようにして実際の計算に持っていくかとうのは、それ専用のアルゴリズムが開発されている。

量子コンピュータは一昔前まではSF世界の話であった。それが2011年にカナダの企業、D-Wave Systems社がいきなり製品化し売り出したことで俄かに注目された。彼らは従来から言われていた「万能ゲート」方式を使わず、「量子アニ―リング」という方式を使ったことで他社を抜きんじた。そしてGoogle社、Microsoft社、NASAなどの大手がD-Waveから機械を購入してさらなる研究を続けている。従来のコンピュータでは限界が感じられていた人工知能への応用、最適化問題への応用など数々のイノペーションが考えられる。興味のある方は「量子コンピュータ」で検索すればいろいろでてくるのでお試しあれ。

Share This