外資系コンサルタントが主夫になったら

主夫、はじめました。興味のあることをとことん研究します。勉強法、テクノロジーなど

感覚的に理解する量子コンピュータ

量子コンピュータをわかりやすく解説してほしい!」というリクエストをいただいたので、まとめてみました。話題になりながら仕組みの難しい量子コンピュータですが、これを読んでいただければニュースに書かれていることを理解できるようになるはずです。

 

■まずはざっくりと理解

量子コンピュータは既存の半導体コンピュータよりもずっと高速だと言われます。その違いはどこにあるのでしょうか。

ざっくり理解すると、半導体コンピュータと量子コンピュータには、以下の2つの大きな違いがあります。

まずはここまで理解しておくだけでも、量子コンピュータ半導体コンピュータよりも高速だと言われる理由がわかっていただけると思います。

f:id:shufu-gaishi:20190331130418p:plain

 

■「重ね合わせの原理」で並列処理を実現

前述の検討により量子コンピュータを作るモチベーションができたので、実際にこれを実装しようと試みるわけですが、実はこの仕組みは単純には実現できないことがわかります。

コンピュータを作るためには、ビット=電子を自在にコントロールすることが必要なわけですが、量子力学には「不確定性原理」という重要な法則があり、電子のような微小な粒子(量子)は確率的にしか制御できないことが証明されています。

f:id:shufu-gaishi:20190331130619p:plain

 

しかし、これで量子コンピュータへの夢をあきらめるわけではありません。確率的にしか制御できないのであれば、それを逆手に取る、つまり、同時に複数の状態を確率として表せることを利用して、複数の計算を同時に実行する方式が考え出されました。

f:id:shufu-gaishi:20190331131013p:plain

量子コンピュータは「組合せ問題」を解くのが得意だと言われますが、そこにはこのような背景があります。

 

シュレディンガーの猫と状態の観測

重ね合わせについてもう少し詳しく理解しましょう。

シュレディンガーの猫」という話を聞いたことがあるかもしれません。前述の話の中で、「電子の状態は確率的にしか決定できない」という点は理解できても、「同時に複数の状態を取りうる」と言うのはやや難解です。それをこのようなたとえ話で表現したものです。

f:id:shufu-gaishi:20190331131749p:plain

ここで面白いことは、この思考実験を行ったシュレディンガーは、本来「半死半生の猫など存在するはずがない。不確定性原理は誤りである」ということを主張するはずでした。しかし後に不確定性原理を証明する実験が多く行われ、この思考実験は不確定性原理を説明するものとして使われるようになったのです。

物理学者の中でも激しい議論のあった理論であり、ロジカルに理解するというよりは「そういうものだから」と考えてしまうほうがすっきりするような気がします。

 

この原理を量子コンピュータに当てはめてみましょう。電子の状態を観測するまで、その電子は複数の状態を取りうるわけですから、まずは見えないところで複数の状態を同時に計算させておきます。そして計算が終わった後で結果を観測することで、最終的な正解だけを見ることができます。そして、最終的に欲しい答えが生き残る(最も高い確率になる)ようにゲートの並び順を調整することが、量子コンピュータにおけるプログラミングであると言えます。

f:id:shufu-gaishi:20190331132241p:plain

 

■現在検討されている量子コンピュータは大きく2種類

現在、「量子コンピュータ」と呼ばれるものには大きく2種類が存在します。これまで議論してきた方式は「量子ゲート方式」と呼ばれるもので、そのほかに「量子アニーリング方式」「QNN方式」と呼ばれるものが検討されています。

f:id:shufu-gaishi:20190331132847p:plain

f:id:shufu-gaishi:20190331132906p:plain

 

量子アニーリング方式

この方式は「最適化問題」を解くことに特化した仕組みです。「最適化問題」とは、数学の授業で言うところの「最大・最小問題」のことなのですが、「そもそも最適化問題が解けたら何かうれしいんだっけ?」という疑問が最初に浮かびます。

実は最適化問題が高速に解けることは機械学習アルゴリズムを実行するために非常に重要で、アニーリング方式の量子コンピュータが実現することで、AI技術の発展が期待されます。

f:id:shufu-gaishi:20190331133024p:plain

アニーリング方式は、複数の量子が全体のエネルギーを最小化する状態へ向かう性質を利用します。つまり、最小値を求めたい式を量子ビットを変数とする式で表現し、それを量子コンピュータ内でシミュレーションすると、自動的に全体が最小化された状態が得られる。最終的な量子ビットの状態を観測することで、全体を最小化する変数の値がわかる、という仕組みです。

f:id:shufu-gaishi:20190331133510p:plain

こちらは確かに量子ゲート方式と比較すると「これって量子コンピュータ何だっけ?」という疑問はありますが、まあ細かいことは言わず、今のコンピュータよりも早いよね、という点をポジティブに評価すべきです。

 

■これでニュースが読める

いかがでしょうか。少し雑な部分もありつつ、量子コンピュータの全貌はわかっていただけるのではないかと思います。ここまでの知識があれば、量子コンピュータ関連のニュースを読み解き、どこが凄いのか、どんな活用余地があるのか、理解できるようになると思います。

今後確実にブームが来る分野ですから、先取りして理解していきたいですね。