量子コンピューティング事始め

先日9月25日の「Microsoft Ignite 2017」基調講演で、マイクロソフトは業界を変える3つのキーテクノロジーを掲げました。

- Mixed Reality
- Artificial Intelligence 
- Quantum Computing(量子コンピューティング)

MRやAIは新しいトピックではなくなりつつありますが、3つ目に登場した「量子コンピューティング」というキーワードは、マイクロソフトが次にフォーカスする新しいトピックとして注力していくことを示しているかと思います。

また、このイベントでは、量子コンピュータが開発者にも新しいプログラミング言語ととも公開されることがアナウンスされました。この新言語は「Visual Studio」に統合され、“The IBM Quantum Experience”と同様に量子シミュレータと量子コンピュータの双方で動くよう設計されるようです。
https://japan.cnet.com/article/35107801/

ただ、現時点ではまだ利用できず、すぐに試せる環境となると“The IBM Quantum Experience”にとどまります。そこで、マイクロソフト量子コンピュータを触れるようになる前に“The IBM Quantum Experience”を試してみましたが、“The IBM Quantum Experience”について触れる前に、現在の量子コンピュータについて簡単にまとめてみました。

#量子コンピュータ
量子コンピュータの特徴は並列処理にありますが、この並列処理は「量子ビット（キュービット）」と呼ばれる基本単位を使用していることで実現しています。それに対して、現在のコンピュータ（古典的コンピュータ）が使用している基本単位が0もしくは1を表すビットとなります。

ビットは図の上向き“0”または下向き“1”のいずれかの古典的状態を表すベクトルのみをとりますが、量子ビットでは、“0” と “1” の状態を同時に保持することが可能で、「ブロッホ球(Bloch sphere)」と呼ばれる球面上のどのベクトルも同時にとることができます。
![image001-300x195.gif](https://qiita-image-store.s3.amazonaws.com/0/78487/961812f0-44d9-c697-06e8-ccd9da2087aa.gif)
http://www.phys.s.u-tokyo.ac.jp/about/167/

参考までに、ブロッホ球の各地点は、それぞれ以下のように対応しています。

-北極(Z軸上)：0 の確率が 100%
-南極(Z軸下)：1 の確率が 100%
-赤道(XY平面に平行なベクトル)：0 と 1 が 50%ずつの重ね合わせ状態
-X軸手前：0 と 1 の位相差ゼロ
-X軸奥側：0 と 1 の位相差が半波長分

この量子ビットは、Nビットがあるとすれば、2のN乗の状態を同時に計算することができ、これにより従来のコンピュータとは一線を画す並列性能を実現できる可能性を秘めています。
![img_03_01.jpg](https://qiita-image-store.s3.amazonaws.com/0/78487/1a253e7d-9ffb-a55f-b718-925884b7fbe2.jpeg)
[量子情報のR/Wを実証 量子計算の精度向上に期待 ―豪研究チーム【想定難易度 Lv.8】](http://ggsoku.com/2013/04/ryousi-rw-south-wales/)

#量子コンピュータの種類
量子コンピュータの演算方式はいくつか種類があり、今回利用する“The IBM Quantum Experience”は、そのうちの「量子ゲート方式」をとっています。カナダの有名なD-Wave Systems社の「D-Wave One」は「量子アニーリング方式」、マイクロソフトは「トポロジカル量子コンピュータ方式」をとっており、日本ではNIIが「レーザーネットワーク方式」を開発しています。最近では、東京大学も量子テレポーテーションを用いた汎用量子コンピュータを発表しています。
![content_量子コンピュータ2.png](https://qiita-image-store.s3.amazonaws.com/0/78487/92a0ae2a-a472-30b0-95ea-34dfede292f0.png)
[人工知能に必要な「量子コンピュータ」とは](https://furien.jp/columns/267/)

これらの方式のうち、デジタル式とアナログ式に大きく分類されていますが、まずデジタル式についてはまだ実用レベルに達していないとされています。この理由ですが、現状使用できる量子ビットがまだ非常に少ないためです。“The IBM Quantum Experience”で利用できるビット数はわずか5ビットで、2017年5月に発表されたIBMの量子ビットプロセッサでようやく16ビットです。
[IBM Builds Its Most Powerful Universal Quantum Computing Processors](https://www-03.ibm.com/press/us/en/pressrelease/52403.wss)

「量子コンピュータが人工知能を加速する 」を執筆された西森秀稔教授によると量子ゲート方式の実装状況は約20量子ビットのようです。それに対して、「D-Wave One」で採用されている量子アニーリング方式は量子ビットが約2000と大幅に増えています。その代わり、目的範囲が組み合わせ最適化問題とサンプリングと狭まります。なお、量子アニーリングは西森秀稔教授ご自身で1998年に提案されています。
![SnapCrab_NoName_2017-9-30_14-1-41_No-00.png](https://qiita-image-store.s3.amazonaws.com/0/78487/4afccdee-038c-87f2-6518-1dab83c86fdd.png)
[量子アニーリング by 西森 秀稔](http://www.stat.phys.titech.ac.jp/~nishimori/QA/q-annealing.html)

量子デジタル式（量子ゲート方式）と量子アニーリングを含めた量子アナログ方式の違いは、下記のサイトでもわかりやすく説明されています。
[量子コンピューターの種類と原理を簡単解説、似ているようで違う２つのしくみ](http://stonewashersjournal.com/2017/03/29/typesofqcomputer/)

なお、マイクロソフトの量子コンピュータに利用されているトポロジカル量子コンピュータについては、下記リンクが参考になります。
[Topological Quantum Computation](http://www.ngc.is.ritsumei.ac.jp/%E7%A0%94%E7%A9%B6/%E7%A0%94%E7%A9%B6%E5%88%86%E9%87%8E/quantum%E5%85%9A/topological-quantum-computation/)

こうした状況から量子コンピュータは近年話題となりつつも、実用レベルの汎用量子コンピュータは残念ながらまだ登場していないのが現状かと思われます。