量子技術[最新事情]①
量子ならではのパワーって何?
2020.03.25
Photo by Shutterstock
1/3
近年、量子を使った新しい技術の開発競争が、アメリカ、ヨーロッパ、中国などで激しさを増しています。そこでは、量子コンピュータに限らず、量子通信や量子デバイスを含めた「量子によるICT」のイノベーションが、開発の焦点になっています。このような海外の最先端動向を踏まえ、量子コンピュータとはどういうものなのか? 量子技術をみんなが便利に使えるようになるのはいつなのか?……国際的に活躍する研究者に聞きました。今回は、東京大学の村尾美緒教授です。(プロフィールはこちら)
そもそも量子ソフトウェアって何?
大きく分けて実際に量子コンピュータを走らせるためのソフトウェアと、量子コンピュータで何らかのタスクを行うためのソフトウェアの2つがあります。
量子コンピュータを走らせるためのソフトウエアは、量子コンピュータを意図通りに動かすのが仕事で、ハードウエアと直接関係を持つのでかなり物理に近いところにあります。しかも、現在の量子コンピュータはまだまだエラーが多く、フルパワーを発揮することができません。そのような状況でも量子コンピュータのパワーを引き出そうと考えると、直に物理系をいじるといった発想が向いています。つまり概念上で回路を最適化しても、実験するとうまくいかないのなら、最初から直接物理的発想でやったほうが速いだろうというわけです。
次に、量子コンピュータ上で走らせるためのソフトウェア、つまりタスクを実行するためのソフトウエアですが、量子コンピュータにどんなタスクをさせるといいかとか、こんなタスクならできるとか、また、こうやったらできるのだということは、まだきちんとわかっていません。もしかするとやりたいタスクに応じて量子コンピュータの動かし方を変えるほうがいいかもしれませんし、量子コンピュータの中で実際に動作に与る物理系をコントロールするやり方を、そのままプログラムとして書く手法もあります。
とはいえ、量子という新しいパワーを、人類がコントロールし、使える時代に入ってきたと言えます。これを使ってどんな新しい問題を解くべきなのか、そのソフトウェアをどうするかを考えることは、科学の進歩にとって大事だと思いますね。
この他「量子ソフトウェア」と聞いて、eコマースなどで目にする機会の多い「推薦システム」の量子版や、「Variational Quantum Eigensolver, VQE(変分量子固有値ソルバー)」と呼ばれるものを思い浮かべる方もいらっしゃるかもしれません。これらも、ソフトウェア研究のひとつではありますが、どちらかというと、すでにやり方がある程度わかっており、機械学習等を駆使して、さらに効率化するためにどうするか、という挑戦だと言えるでしょう。
量子コンピュータについてのよくある間違い
以下に挙げてあるのは、残念ながら、実はどれも間違いなんです。声を大にして正すべきなのかどうかもちょっとよく分からないんですが、でももし研究者が間違っていたら困りますね(笑)。
①量子コンピュータは、スーパーコンピュータよりCPUが速いコンピュータで、名前に量子と付いているだけである。
②現在のコンピュータ(=古典的コンピュータ)ではこれ以上速くならない古典のプログラムを、量子コンピュータで計算すれば必ず速く解ける。
③量子コンピュータは、巨大な並列計算をする。2のn乗個の並列計算ができるので速く答えを見つけられる。
④量子ビットは「0であり1である」状態をとる。
量子コンピュータは現在のコンピュータとは原理的に異なるものです。量子ビットは0でもなく1でもない別の状態をとることができます。そこには現在のコンピュータ、つまり古典的コンピュータでいう0と1の両方が含まれる、ということなんです。量子コンピュータで0と1が同時に計算できる(=並列計算)のではなくて、別の状態(=量子状態)が計算できるだけ。ちなみに量子だからといって本質的には速くならないと考えられている問題もいろいろ知られています。例えば、巡回セールスマン問題のような最適化問題もそのひとつです。本質的に速く解けるかどうかは、その問題が持つ計算量クラスで決まるわけですが、この意味で速く解くのは無理だと多くの研究者が考えています……ただ、計算量クラスは超えられなくても、もしも今まで知られている方法より何らかの意味で速ければ、ちょっといいかもしれませんね。