NHK 解説委員室

解説アーカイブス これまでの解説記事

「量子コンピューターの可能性と課題」(視点・論点)

東京工業大学 教授 西森 秀稔

コンピューターは、すっかり私たちの生活に入り込んでいます。スマホは小型のコンピューターですし、コンビニで買い物をするとバーコードがコンピューターに読み込まれて支払い額がすぐ表示されるだけでなく、データが記録されて商品の補充や新しい商品の開発に使われています。また、人工知能が碁や将棋で人間をしのぐ能力を持つようになったことも記憶に新しいところです。
このように広く使われているコンピューターですが、今までとは全く違った仕組みで動く新しい種類の量子コンピューターと呼ばれる装置の研究が進んでいます。研究が進んでいるだけでなく、実際に作られて売られているのです。量子コンピューターは、場合によってはスーパーコンピューターをしのぐ性能を発揮するのではないかと期待されています。

s170904_01.jpg

これが、カナダのベンチャー企業が製造販売している量子コンピューターで、量子アニーリングマシンと呼ばれています。
アニーリングとは、金属を熱してから徐々に冷ましていく“焼きなまし”という言葉から来ていて、最適な答えを見つけ出す手法の一つです。この量子アニーリングマシンは、グーグルやNASAなどの有名な企業や研究所が購入して使い始めたため、大きな注目を浴びるようになりました。
研究用としてだけではなく、現実社会の問題の解決を目指した使い方もされるようになっています。例えば、ドイツの自動車会社が北京のタクシーの動きを解析して、車の流れをスムーズにする研究をしています。

s170904_02.jpg

左の図では、渋滞を示す赤い部分があちこちに見られるのに対し、量子アニーリングマシンを使ってタクシーの経路を選び直した右の図では渋滞がほとんど解消されていることが分かります。
ただ、実用に近づいているとは言え、本当に役に立つレベルに達するには解決しなければならない点がたくさんあります。「本当に役に立つ」というのは、スーパーコンピューターを使っても解決できないような難しい問題が、この量子アニーリングマシンを使うと解決できるということです。記憶容量の制約などのため、そのようなレベルに達していると言えるケースはまだ限られていますが、限界を超えるための研究が進んでいます。
それでは、この量子アニーリングマシンは一体どんな仕組みで動いているのか、中身を少し説明しましょう。

s170904_03.jpg

このマシンの心臓部は1平方センチくらいの小さなチップです。その中には量子ビットと呼ばれる素子がおよそ2000個詰まっています。
量子ビットという言葉にはなじみのない方が多いと思います。普通のコンピューターの中では、数字を表す一番小さい単位はビットです。コンピューターはたくさんのビットを組み合わせてすばやく処理することにより、複雑な仕事をこなしているのです。

s170904_04.jpg

1ビットは0か1のどちらかの値を取ります。これに対して、量子ビットは、0と1の両方の値を同時に取ります。
0と1という全然違う数が一つの素子の中に同時に存在するというのは、大変奇妙で信じがたい話ですが、現実にそうなっているのです。量子力学と呼ばれる不思議な世界です。

s170904_05.jpg

それでは、量子ビットが実際にどうなっているか測ってみましょう。すると、0という値が出てきます。もう一度最初からやり直して測ってみます。今度は1が出てきます。このような実験を例えば1万回繰り返すと、およそ5,000回は0になり、残りの5,000回は1になるのです。
というわけで、不思議なことではありますが、量子ビットの中では0と1の両方が同時に存在しているのは確かなのです。

s170904_06.jpg

1量子ビットあれば0と1の2つの可能性を同時に表せます。2量子ビットになるとその可能性が00、01、10、11の4つになります。3量子ビットだと8つと倍々ゲームで増えていって、たった80量子ビットでも1兆の1兆倍もの数を同時に表すことができます。
これは大変なことです。1兆の1兆倍の個数の数を処理するのは、スーパーコンピューターでもとてもできないのです。量子コンピューターのパワーの秘密はここにあります。たくさんの数を同時に処理する、いわば超並列計算なのです。
ただし、たくさんの数を同時に表すことができても、それをうまく処理して問題の答えを素早く見つけてくる方法、アルゴリズムがないと役に立ちません。そのひとつが量子アニーリングと呼ばれる方法で、東京工業大学の私の研究室が20年ほど前に提案しました。その量子アニーリングの理論に沿って作られたのが、最初にお見せした量子コンピューターなのです。
理論に沿って作られたといっても、現実にはなかなか理想通りにはいきません。製造の際のいろんな制約やノイズの影響などのために、最大限の性能を発揮するには至っていません。そもそも、量子アニーリングマシンがどのような課題に対して大きな力を発揮するのかという、根本的な質問に対してもまだはっきりと決着が付いてなくて、研究が進められているのです。しかしながら、完全ではないにしろ実際にマシンがあるので、それを使っていろんな問題を解いてみるという実験ができるわけです。その結果、かなり役に立ちそうだという報告が次々に上がってきているのが現在の状況です。
さて、量子コンピューターというと、量子アニーリングマシンだけではありません。

s170904_07.jpg

もう一つ、量子ゲート方式あるいは量子回路方式と呼ばれるものがあります。実は、この量子ゲート方式の方が研究の歴史が長く、量子コンピューターといえばこちらを指すという人もたくさんいます。
量子ゲート方式の量子コンピューターの際立った特徴は、普通のコンピューターに比べて格段に速く処理できることがはっきり分かっている問題がいくつかあるという点です。そのために量子コンピューターは次世代の超高速コンピューターだと誤解している人もいますが、超高速処理ができるのは、限られたいくつかの問題ですので、量子コンピューターがこれまでのコンピューターに取って代わって広く使われるようなことにはなりません。
ゲート式の量子コンピューターが得意とする問題で一番有名なのが素因数分解と言われる問題です。スーパーコンピューターでもできないような難しい素因数分解の問題が解かれてしまうと、インターネット上の取引の安全性が損なわれることが知られているので、大変なことになります。しかし、そのようなことができるほど大規模な量子コンピューターが作られる可能性は、まずありませんので、量子コンピューターがインターネットの安全性を脅かすようなことは実際には起こりません。小規模なチップで実験が行われていますが、素因数分解ではなく小さな分子の研究が目標になっています。
 量子アニーリングによる量子コンピューターは、問題によっては実用の域に達する勢いで発展しています。それでも、まだまだ解決しなければならない課題がたくさんありますが、うまく動くようになると人工知能の開発などに役に立つと期待されており、アメリカやカナダで集中的な研究が進んでいます。
量子アニーリングというアイディアの源は日本にありますので、日本でももっと多くの人たちに関心を持ってもらって、発展を支えてもらいたいと願っています。

キーワード

関連記事