
近年、「量子コンピュータ」という言葉がメディアに登場してきました。
「現在のコンピュータより一億倍速く計算できる」という具合に書かれている場合が多いのですが、現在のコンピュータとはどこが違うのかを正確に理解されている方はあまり多くはいらっしゃらないと思います。
そこで「現在のコンピュータの原理」と「量子コンピュータの原理」を分かりやすく解説してみたいと思います。
目次
そもそもコンピュータとは何をしてくれるものなのか?その仕組みをわかりやすく解説
まずその前に「そもそもコンピュータとは何をしてくれる物なのか?」から説明してみましょう。
一言で言うとコンピュータとは「入力をすると、それに応じた出力をしてくれる」ものです。
入力を「質問」、出力を「答え」と言い換えると分かりやすくなります。
「124X24」という質問をすると「2976」という答えを出してくれる訳です。
いわば「質問を入れると答えを出してくれる箱」とイメージして頂ければ間違いありません。
実は現在のコンピュータでも量子コンピュータでも、この点は変わりません。
「質問を入れると答えを出してくれる箱」なのです。
違うのは「答えを出すまでにかかる時間」つまり計算スピードで、現在のコンピュータとは比較にならないほど早く計算をしてくれるのです。
「124X24」というような簡単な質問であれば、現在のコンピュータでもすぐに答えを出してくれます。
ですが、例えば「北海道の稚内駅から九州の鹿児島駅まで列車で行くとしたら何種類のルートがあるのか?」という複雑な質問になると、現在のコンピュータの処理では相当な時間がかかってしまいます。
それを量子コンピュータは「あっという間」に答えを出してくれるのです。
何故、そんなに計算速度が速く出来るのか、を出来るだけ簡単に説明してみましょう。
量子コンピュータの原理を簡単にわかりやすく説明すると
パソコンやスマホを買う時に「メモリー」という言葉が出てきます。
100GBとか400MBという形で表現されています。
何となく「多ければ多いほど良いのだろう」と思ってしまいますが、その通りです。
メモリーは多ければ多いほど良いのです。
ではメモリーとは何か? というと「コンピュータが計算をするために使う場所」なのです。
そしてメモリーというのは総称名でメモリーは「ビット」という物が集まって出来ています。
現在のコンピュータでは「1ビット」で表せる数字は、0か1のどちらか1つです。
つまり1ビットで2つの状態を表せる事が出来る訳です。
これを2ビットに拡大して考えてみますと、1ビットで2つの状態を表せるわけですから2ビットだと、00,01,10,11という4つの状態が表せる事になります。
このようにビット数が増えれば増えるほど表せる状態は増えていきます。
そして、現在のコンピュータとの根本的な違いはこの「1ビット」で表す事が出来る内容にあるのです。
現在のコンピュータでは1ビットでは0か1のどちらか1つしか表す事が出来ません。
ですが、量子コンピュータの1ビットは「0か1のどちらか1つ」では無く、例えば「0の可能性が30%で1の可能性が70%」という具合に表現できるのです。
1ビットで表せる内容が多くなれば必然的に処理能力は飛躍的にアップします。
量子コンピュータの早い処理能力の原理をわかりやすく解説
具体的に例題をやってみましょう。
「1から5までの5個の数字をそれぞれ2倍して、すべて合計したらいくらになるのか?」
という質問を現在のコンピュータに入れてみたとします。
つまり「同じ計算を5回繰り返してから」答えを出してくれるわけです。
では、同じ質問を量子コンピュータにしたらどうなるのでしょうか?
少し誇張して表現しますと以下のようになるのです。
「1なら2、2なら4、3なら6、4なら8、5なら10 全部足すと30」という具合に繰り返し計算する事無く一回で答えを出してくれるのです。
これは単純な問題ですから大した時間差は出ませんが、問題が複雑になればなるほど答えを出すまでの時間差は大きくなります。
現在のコンピュータは複雑な問題に対しては「しらみつぶし方式」に全てを計算するしか方法が無いのですが、量子コンピュータはビット情報の多量さを利用して複雑な問題でも一回の処理で答えを出してくれるのです。
現在のコンピュータなら10日かかる計算を量子コンピュータは5分くらいで終わらせられるとも言われています。
ここでは分かりやすくするために、あえて「1,2,3,4,5の可能性がそれぞれ20%」という内容を1ビットで表現できるかのように書きましたが、現時点では0と1の割合までしか表現できないので実際には3ビットが必要です。
まとめ
量子コンピュータは、まだまだ開発途上でカナダのDWAVE社が世界初と銘打った商用利用機を発売していますが、本来は複雑な問題に対して力を発揮する物ですので、簡単な問題の計算をするための物ではありません。
それなら現在あるコンピュータで十分なのです。
量子コンピュータが実用化されるようになるには、まだまだ相当な時間がかかるでしょう。