IBM Cloudで量子コンピューターを無償で触ってみよう！

#1. IBMと量子コンピュータ
IBMは単なるIT製品やサービスの開発を行っているだけでなく、基礎研究にも力を入れていることはよく知られています。最近は何をフォーカスしているのかなぁーって[研究所のサイト](http://www.research.ibm.com/)を見てみると・・・ブロックチェーン、AIやコグニティブコンピューティング、量子コンピューターが上位3に上がっていますね。

![lab_feature.jpg](https://qiita-image-store.s3.amazonaws.com/0/62127/272798e2-7e12-bbb1-0708-66ef0eb17107.jpeg)

前者2つは今年非常に盛り上がったのですが、量子コンピューターはあまり知っている人は少ないのではないでしょうか？実は、今年も量子コンピューター関連のニュースはいくつもありましたし、興味を持っている人自体は多いと思うのですが、実際に触れる機会もまずないので・・・っていう人も多いのではないでしょうか？
実は、そういう人に朗報です！**IBM Cloudでは量子コンピューターが無償で使えるって知っていましたか？**　そして、そのログインやユーザーガイドを含むサイトのURLには、なんと**bluemix.net**というキーワードが・・・！！！
ということで、まだ一般の人が本格的に利用されるのにはもう少し先になるかもしれないですが、来年以降に量子コンピューターが大きなブレークすることを願って、本記事を書きたいと思います。
※はじめは使い方までを書いてみようかとおもったのですが、そもそも量子ビットや量子論理ゲートが分からないと何をやっているか全く分からない＋自分の実力不足のために、今回は紹介に留めたいと思います。
http://www.research.ibm.com/quantum/expertise.html
https://quantumexperience.ng.bluemix.net/qstage/


#2. 量子コンピューターができると何が変わるの？
量子コンピューターは、量子力学特有の性質を積極的に利用することで、大規模な計算を高速に行うことが可能な計算機です。例えば、現在のインターネットやブロックチェーンで利用されているようなRSA暗号化技術の数学的根拠は素因数分解の困難性に依存しています。桁数が大きい数字を素因数分解するにはスーパーコンピューターでも数百年以上かかるので安全だとみなされていますが、量子コンピューターだと数分から数時間で解けてしまう可能性があり、世界を変えてしまう可能性があるとみなされています。

- 暗号分野（暗号化解読、量子暗号。）。アメリカの国家安全保障局（NSA)でも、時期は未定ながら量子コンピュータが公開鍵暗号を破って侵入する可能性について言及を行っています。
- 科学計算、シミュレーション、物性研究（例：[量子化学を量子コンピュータで解く！電子構造を解明するための超高速量子アルゴリズムを開発](https://www.osaka-cu.ac.jp/ja/news/2016/160810)）
- ビッグデータにおける解析・探索・最適化問題
- 機械学習



#3. 量子コンピューター on IBM Cloudの特徴は？

- ニューヨーク州ヨークタウン・ハイツにあるトーマス・J・ワトソン研究所で稼働しており、2016年5月4日から誰でも利用可能になりました。（URLにはbluemix.netとなっていても、実際のサーバーはワトソン研究所にあってBluemix Infrastructureなどで動いている訳ではありません）。下記に研究所内の量子コンピューターの紹介動画があります。
    - [![IMAGE ALT TEXT HERE](http://img.youtube.com/vi/DZ2DcILZAbM/0.jpg)](http://www.youtube.com/watch?v=DZ2DcILZAbM)<br>
https://www.youtube.com/watch?v=DZ2DcILZAbM
    - [![IMAGE ALT TEXT HERE](http://img.youtube.com/vi/jf7D8snlsnQ/0.jpg)](http://www.youtube.com/watch?v=jf7D8snlsnQ) <br>http://www.youtube.com/watch?v=jf7D8snlsnQ
- 量子ビット（qubit）は超伝導物資で作られており、量子の世界を制御するため約15ミリケルビンぐらいまで温度を下げている。（この記事を書く際にComposerをチェックした時には、Fridge Temperature 0.014379 Kelvinと表示されていた。）
- 5量子ビットまで利用可能。
- チュートリアルが用意されている。量子コンピューターの基本的な考え方などは、このチュートリアルに沿って学べる。
- シミュレーター（理論上の計算結果を確認可能）を使う方法と、実際の量子コンピューターを使って計算する方法がある。シミュレーターの場合は瞬時に回答を得られるし、特に利用上の制約はない。実機を利用する場合には、みんなが公平に実行できるようにするために、Unitsと呼ばれるポイントみたいなものを配布しており、実機利用時にはこのポイントを消費するという仕組みになっている。他の人によって計算された過去の実行結果も残っているので、そちらを参照することも可能（この実行結果の参照にはポイントは消費されない）。
- Composerと呼ばれる楽譜を描くようなツールを使うことでロジックをロジックを組み立てることができる。 PCからでもタブレットからでも操作可能。<br> ![qc_composer.jpg](https://qiita-image-store.s3.amazonaws.com/0/62127/b6d5f405-e6f3-b5ed-be3a-c66ce77b8d1b.jpeg) <br> 一連の処理の流れは以下のリンクを参照。<br>
[![IMAGE ALT TEXT HERE](http://img.youtube.com/vi/pYD6bvKLI_c/0.jpg)](http://www.youtube.com/watch?v=pYD6bvKLI_c)<br>
https://www.youtube.com/watch?v=pYD6bvKLI_c

#4. 量子コンピューターはどういう原理で動いているの？
量子コンピューターの仕組みを知るためには、量子力学（電子などの微粒子を扱う学問）の基礎原理を知っておく方が本当は良いのですが・・・そもそも量子力学って日常の直観から外れていて理解したと思えることはないんですよね。初心者向けの本とかだと、狐につままれたような感じになるし、ちゃんとした本を読むには難しいし。。。
超ざっくりと説明すると、古典コンピューターはbit(ビット：0か1)で情報の単位を表しています。3ビットの場合は、000, 001, 010, 011, 100, 101, 110, 111と8つの可能性がありますが、このすべてを表現するためには8セット用意しなければいけません。Nビットの全ての可能性を表現するには$2^N$セット必要です。
一方、量子コンピューターでは、qubit（量子ビット）で情報の単位を表しており、数学的には0でもあり1でもあるという一見奇妙な"重ね合わせ状態"と呼ばれる値を取ることができます（この重ね合わせの原理を正確に理解したいならば、下記に挙げた本や量子力学の本でよく紹介される二重スリットの話などを読むとよい。二重スリットの話で）。そのため、N量子ビットが1セットあるだけで、同時に全ての$2^N$個の表現が可能なのです。このあたりが、量子コンピューターの計算能力の根源になっています。

以下も併せてご参照下さい。

- まずは興味をもってみた人向け
    - [Quantum Computers Explained – Limits of Human Technology. ](https://www.youtube.com/watch?v=JhHMJCUmq28) : 日本語字幕もあって分かりやすいです。
    - [量子コンピュータと量子ゲートと私](http://qiita.com/eccyan/items/180fb909a55a59bb4e1b) : QiitaでもIBM Cloudの量子コンピューターについて記事が書かれています。
- ちょっと勉強してみようと思う人向け
    - [IBM Quantum Computing で計算してみよう](https://www.ibm.com/developerworks/jp/cloud/library/cl-quantum-computing/index.html):IBMの量子コンピューターの使い方や量子力学の原理について説明があります。
    - [量子コンピュータ―超並列計算のからくり (ブルーバックス)](https://www.amazon.co.jp/%E9%87%8F%E5%AD%90%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF_%E8%B6%85%E4%B8%A6%E5%88%97%E8%A8%88%E7%AE%97%E3%81%AE%E3%81%8B%E3%82%89%E3%81%8F%E3%82%8A-%E3%83%96%E3%83%AB%E3%83%BC%E3%83%90%E3%83%83%E3%82%AF%E3%82%B9-%E7%AB%B9%E5%86%85-%E7%B9%81%E6%A8%B9/dp/4062574691/ref=sr_1_1?s=books&ie=UTF8&qid=1480824773&sr=1-1&keywords=%E9%87%8F%E5%AD%90%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E2%80%95%E8%B6%85%E4%B8%A6%E5%88%97%E8%A8%88%E7%AE%97%E3%81%AE%E3%81%8B%E3%82%89%E3%81%8F%E3%82%8A) : おススメです。
    - [You don't know how Quantum Computers work!](https://www.youtube.com/watch?v=ZoT82NDpcvQ) : これも分かりやすい動画だと思いますが、英語です。
- まじめに勉強してみようと思う人向け
    - [クラウド量子計算入門―IBMの量子シミュレーションと量子コンピュータ](https://www.amazon.co.jp/%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E9%87%8F%E5%AD%90%E8%A8%88%E7%AE%97%E5%85%A5%E9%96%80-IBM%E3%81%AE%E9%87%8F%E5%AD%90%E3%82%B7%E3%83%9F%E3%83%A5%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%A8%E9%87%8F%E5%AD%90%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF-%E4%B8%AD%E5%B1%B1-%E8%8C%82/dp/4877834087/ref=sr_1_6?s=books&ie=UTF8&qid=1480824651&sr=1-6&keywords=%E9%87%8F%E5%AD%90%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF) : 大学の授業でも使われているらしい教科書。IBMクラウド上の量子コンピューターを使って、様々な計算例やアルゴリズムを検証しており、今のところIBMクラウドを使った学習書としてこれ以上詳しい本は存在していないと思われる。
    - [量子コンピュータ授業](https://www.youtube.com/watch?v=R2fyLl7KZXM) ：2005年3月22~24日慶應義塾大学理工学部で開催された量子コンピューティングに関する一連の講義。大学の授業だけあって、内容もそれなりに高度です。
    - [MIT 8.04 Quantum Physics I, Spring 2013 (2013)](https://www.youtube.com/watch?v=lZ3bPUKo5zc&list=PLUl4u3cNGP61-9PEhRognw5vryrSEVLPr) : 量子コンピューターそのものを説明した講義ではないが、量子力学の考え方を丁寧に基礎から説明しており分かりやすい（英語）。

#5. 量子コンピューター on IBM Cloudはどうやって使うの？
以下のユーザーガイドに従って操作可能です。**すでにBluemixユーザーの皆さんであればIBM IDを持っているかもしれませんが、IBM IDでもログインできます！**

- 量子コンピューター on IBM Cloudのユーザーガイド<br> https://quantumexperience.ng.bluemix.net/qstage/#/tutorial
- 量子コンピューター on IBM Cloudのコミュニティーサイト<br> https://quantumexperience.ng.bluemix.net/qstage/#/community

#6. 最後に
私も全然さわれていないです。。。せっかくこの記事を書いたので、もう少し勉強して触ってみたいと思います。
来年は量子コンピューター元年として、勉強会とかしてみたいなー。