大学院の授業で、量子コンピュータに関するプレゼンをしてきました。
量子コンピュータは以前から興味があり、今回初めて真面目に調べましたが、やっぱり難しいですね(〇ω〇)
発表したスライドと、感想を載せます。
目次
発表スライド
www.slideshare.net
アジェンダを作り忘れていました。
- 量子コンピュータについて
- 量子ビットについて
- 量子ゲートについて
- IBM Q Experimenceについて
- 量子コンピュータに1+1をさせる
量子力学の真面目な話や、量子ビットの理論理論してる話は一切していません。できませんでした。
僕はこっち系の専門ではないので、おかしい部分が多々あると思います。温かい目で見てください...
感想
色々勉強になった
量子コンピュータの良いところがわかった
量子コンピュータはすごい!0と1は同時に存在する!速い!
っていう感じのことを今まで聞いてきて、
- なんで速いの??
- 0と1が重なってるからなんなの???
という感じで、正直まったく良さがわかってなかったのですが、今回自分で調べ、実際に動かしてみることで、上の意味がなんとなーくわかってきて、良さがわかりました。
やっぱアウトプットって大事ですね。
量子コンピュータってすごいけど、まだまだ弱い?
今回自分は、IBM Q ExperienceのComposerを使ってGUIで量子プログラミングしたのですが、高級言語でプログラミングするのと違って、アセンブラに近いし、Qubitを1つ1つ弄るので、難しい計算をさせるにはとても骨が折れると思いました。
例えば、自分はIBM Q Experienceを使って、半加算回路を作りましたが、回路内で使っているAND回路(ccX)は実機に実装されていません。*1 AND回路を使うのも大変なことです。
つまり、まだまだ低級な命令しか実行することができず、実用的なプログラムを作れる人は少ないと思います。もっと組込みの命令が増えると、もっと色々と遊べるなと思いました。
Qiskitも使ってみたい
ComposerはGUIでプログラミングを行うため、処理が複雑になってくると色々と大変ですし、記述がめんどくさいです。
IBM Q Experienceでは、Qiskitという量子プログラミングをするためのPythonライブラリがあります。
Qiskitでは、Composerと比べてやれることも多いらしいので、こちらも触ってみたいですね。
量子テレポーテーションも気になる
量子ビットには、エンタングルメント(量子もつれ)という現象や、それを応用した量子テレポーテーションという技が存在します。量子コンピュータの面白いところはこういった部分にもあると思うので、そこも勉強したいですね。*2
おわりに
量子コンピュータの勉強をして、実際に動かしてみたことで、理解が深まり、いっそう量子コンピュータについて知りたいと思いました。
やっぱり動かしてみることが大事ですね。
ただ、僕は理論に関することは、(プレゼンしたにもかかわらず)さっぱりわからなかったので、確率波の説明もしっかりできるように、理論も真面目に勉強したいと思います。
みなさんも、IBM Q Experienceを使って、量子コンピュータについて勉強してみましょう。
付録:便利なサイト
IBM Q Experienceチュートリアル ... 公式チュートリアル。
量子プログラミング / 確率的プログラミング IBM Q Experience, QISKit – ClassCat® AI Research ... 学習用英語ドキュメントを日本語に訳してくれているとってもありがたいサイト。
【入門】確率波「一つの光子が二手に分かれる」とは? ... 確率波についてのわかりやすいサイト。