*「人工知能」(AI)「機械学習」(machine learning)*という言葉は聞き慣れているかもしれません。しかし、**「量子コンピュータ」**についてはどれくらい知っているでしょうか?

正直なところ、「量子力学」という言葉を聞いただけでも、物理学の分野として倦厭してしまうかもしれません。しかし、この分野の発展は目覚ましく、概要だけでも理解する価値はあるでしょう。

そこで今回は、物理的な知識を極力不要に、できる限り分かりやすく*「量子コンピュータ」超入門*と題して解説していきます。最新テクノロジーをキャッチアップして、時代の流れに乗っていきましょう。

まずは「古典コンピュータ」の仕組みを理解しよう

*「量子コンピュータ」(quantum computer)*とは、簡単に言えば量子力学的原理により、並列性を実現すると言われているコンピュータのことです。「量子コンピュータ」とは何かを考えるときには、まず従来のコンピュータについて考えてみるのがよいでしょう。

スライド1.png

例えば、コンピュータと言われて皆さんが思い浮かべるのは、WindowsとかMacとかLinuxといったOSを搭載したコンピュータでしょう(厳密に言えば、OSはコンピュータではなくソフトウェアを動かすための基本ソフトのことを言います)。

このような一般的なコンピュータは、「量子コンピュータ」と比較するために*「古典コンピュータ」(classic computer)*と呼ばれています。

古典コンピュータは、第二次世界大戦中に敵軍であるドイツ軍の暗号を解読する手法を数々考案したアラン・チューリングによってその動作原理が考案されたとされており、「チューリングマシン」と呼ばれている原理に基づいたコンピュータは、ほぼ全てのコンピュータの基礎になっています。

スライド2.png

古典コンピュータでは、情報の基本単位を*「ビット」(bit=binary unitの略)とし、それぞれを「0」「1」*の状態を取ることによって、2進数で数を保持し、演算を行います。

この数は、0または1のどちらかの状態を表すことができますが、2つ以上の状態を同時に表すことができません。実際のコンピュータでは、0か1の状態を表すのに、電圧をオン・オフで切り替えて行なっています。

「量子コンピュータ」の原理を単純化して理解してみよう

それでは、量子コンピュータは古典コンピュータと何が違うのでしょうか。

非常に重要なポイントなので、もう一度整理すると、古典コンピュータの*「ビット」*では0または1のどちらかの状態を表すことができますが、2つ以上の状態を同時に表すことができません

量子コンピュータでは、状態の**「重ね合わせ」**という量子力学的な基本性質を用います。「重ね合わせ」とは、2つまたはそれ以上の状態を同時に表すことができるということです。

量子コンピュータは「パラレルワールド」を証明する機械?

*「重ね合わせ」は理屈上は分かりにくいかもしれませんが、分かりやすく言えば「コインが回っている状態」のことです。コインが「表」「裏」だと決まっているときには、「コインが回転をやめて、倒れた状態」*のことを言います。

しかし、コインが回転しているときには「表」と「裏」が未決定の状態で、*「回転中」という状態です。いわば、観察するまでどちらかが分からない状態*「重ね合わせ」**と呼びます。

スライド3.png

実際には、もっと直感的に言えば、量子コンピュータの情報単位は、「重ね合わせ」により状態が2つ以上であり、0でもあり、1でもあり、2でもあり、3でもあるという状態になります。

しかし、重要なのは、観測されるときには、「0」か「1」か「2」か「3」のどれかが必ず観測されます

このような重ね合わせによる量子コンピュータの情報単位のことを、*「量子ビット」(quantum bit=キュービット:qubit)*と呼びます。

スライド4.png

量子ビットは、例えばn量子ビットあれば、2のn乗の状態を同時に計算できることになります。先日アメリカ・ラスベガスで行われた「CES 2018」では、インテルが49量子ビットのテストチップ*Tangle Lake(タングルレイク)*を発表しています。

参考:
世界最大クラスの家電市「CES 2018」で公開された「すごい技術」7選

IBMリサーチ 量子研究所 360度パノラマ映像

上の例では、「0」「1」「2」「3」は確率的に「重ね合わせ」られていると言えます。「確率的」であるので、実は量子コンピュータでは観測するごとに結果が違っていることになります。これを、「多世界解釈論」と呼びます。

スライド5.png

イギリスの物理学者デイビッド・ドイッチュが「同時並行に存在する複数の世界で、同時並行に計算するものである」と表現しているのが量子コンピュータですが、まるでSFの世界に感じられるものが、実際には現実に観測できるということになります。。

「重ね合わせ」がハッキングに役立つ?

ところで、状態の*「重ね合わせ」*が実現することで、どんなメリットが生まれるのでしょうか?簡単に言えば、**「特定分野での計算が効率よくできる」**ということです。

量子コンピュータが生まれるきっかけは諸説あり、ノーベル物理学賞も受賞したアメリカのリチャード・ファインマン(Richard Feynmann)がその原型を考えていたとも言われていますが、しばらくはアルゴリズム不在のために量子コンピュータの研究は進みませんでした。

一方、実際に量子コンピュータの存在を世間に知らしめたのは、現在MIT(マサチューセッツ工科大学)で教鞭を執るアメリカの論理計算科学者ピーター・ショア(Peter Shor)の「因数分解アルゴリズム」(Shor’s factorization algorythem)だとされています。

ショアの業績とは簡単に言えば、2001年に7量子ビットのコンピュータで、15を3×5に因数分解することに成功したということです。

スライド6.png

ではなぜ、因数分解を行えるだけでそれほど話題になるのでしょうか?それは、現行の「古典コンピュータ」では因数分解のような計算は「計算可能」だけれど、極端に時間がかかりすぎるからです。

円周率はコンピュータによって22兆桁を超えましたが、因数分解はコンピュータにとってはもっと複雑です。量子コンピュータでは、そうした複雑な計算を実用的な速さで行えるようになります。

スライド7.png

因数分解を「実用的な速さ」で行うということは、セキュリティ上の危機でもあります。現在セキュリティで使われている暗号は、暗号鍵を知らなくとも計算することは可能だからです。

ただし、従来の古典コンピュータでは圧倒的な時間がかかるので現実可能性がほぼなかったと言えますが、量子コンピュータを使えば、現在のセキュリティレベルでは簡単に解読される可能性があるでしょう。そのため、現在では「量子暗号」と呼ばれる暗号も期待されています。