『量子コンピュータ―超並列計算のからくり (ブルーバックス) 』2005/2/18
竹内 繁樹 (著)

「量子ビット」を使うと、なぜ「超並列計算」ができるのか? まったく新しい仕組みによって、現在のスーパーコンピュータをはるかに凌ぐ力を発揮する量子コンピュータについて、研究の最先端にいる竹内さんが、従来のコンピュータのしくみと対比させながら、その基礎と、実現にむけた試みを平易に解説してくれる本です。
「1993年にショアは、「量子コンピュータ」を使うと、因数分解を桁数に比例する程度の時間で解けることを発見した。先ほど、スーパーコンピュータを使っても決して解けないと述べた1000桁の数の因数分解が、量子コンピュータを使うと数分で解けてしまうのだ!」
「量子コンピュータが因数分解問題を高速で解くのは、決して動作周波数が速いから(個々の計算を速く行うから)ではない。ある種の計算に対して「量子並列性」を利用して、効率的に莫大な数の並列計算を実行できるからである。」
……ということで、その計算力の速さから、最近では「ビッグデータ分析」や「人工知能」での活用も期待されている量子コンピュータですが、個人的には、「なんだか胡散臭いコンピュータ」と感じてもいます(汗)。そもそも「量子」ってのが、いまいちピントこないのです。
それでもこの本は、「第2章 「量子」とはなにか」で、(他の本に比べると)すごく分かりやすく説明してくれるので、この部分だけでも、この本を読む価値は十分あったと感じました。
「光電効果の発見を通じて、光は、波長に対応した基本的なエネルギー単位「光子」からできていることがわかった。また、同じように、電気も基本的な単位「電子」からできている。このように、ある基本的な単位量のことを、「量子」とよぶ。また、「電子」や「光子」は、基本単位が存在するという点では、ボールのような「粒子」のように思えるが、同時に、波としての性質もあわせ持つことを見た。物質は原子からできているが、その原子はさらに中性子や陽子、電子などからできていることがわかっていて、それらは「素粒子」とよばれている。じつは、それらの素粒子も、「粒子」と「波」の性質をあわせ持つことがわかっている。」
そして「0または1のどちらかの値をとる「ビット」と異なり、量子ビットは0と1の重ね合わせ状態をとることができる。これは、単に0または1を確率的にとっている状態ではなく、その間にある確定した位相関係がある、不思議な状態だ。2つの状態を同時にとっている状態といってもよい。」という量子の性質をうまく使って、並列計算が一気にできるというのです(実際には、もっと詳しくて分かりやすい説明がなされています)。
かなり「分かりやすい説明」とは言え、「量子」はやはり難しくて、「第5章 量子アルゴリズム」あたりになると、ついていくのが大変になってしまいましたが、量子コンピュータが「量子」の妙な性質を利用して、超並列計算を行うことはなんとなく理解できました(汗)。どうやら、量子コンピュータの性質をうまく活かせる問題と、活かせない問題があるようで、量子コンピュータは「超並列計算」をすると時間短縮が可能になる「公開鍵の解読」などに使うと良いようです。
一応、従来のコンピュータと同じ処理も出来るようですが、その場合は、「量子の性質」を生かすことが出来ないので、せっかくの性能を無駄遣いすることになるだけでなく……個人的には、「量子もつれ」のような「微妙な」状態をうまく使うのが特徴の繊細な量子コンピュータに、お金の計算など「間違いがあっては困る計算」をして欲しくはないな、と思ってしまいました(汗)。
その一方で、「ビックデータ分析」や「興味がありそうな商品の紹介」などでは、是非使ってみたいとも感じました。間違っていてもダメージが少ない「興味がありそうな商品の紹介」には、そのまま使えそうですし、販売予測などための「ビックデータ分析」では、予測のための「初期値」を計算してもらうことで、「いい感じの予測値」から、より精度の高い予測のための試行錯誤を効率よく進められそうな気がします。
さて、使い方次第では飛躍的に計算の時間短縮が期待できそうな量子コンピュータは、現実に使えるようになると、現在使われている「公開鍵暗号」を無力化してしまいます。実現すると、その影響力は「良い方」だけでなく、「困る方」にもかなり及びそう……そういう意味でも、今後もこの技術には注目していきたいと思います。この本は2005年に発行された古い本ですが、説明がかなり分かりやすいので、2018年の現在でも参考になると思います。読んでみてください。