cangoxina

生産性向上見習いのブログ的な何かです

量子コンピュータを実際に動かしてみた

大学院の授業で、量子コンピュータに関するプレゼンをしてきました。

量子コンピュータは以前から興味があり、今回初めて真面目に調べましたが、やっぱり難しいですね(〇ω〇)

発表したスライドと、感想を載せます。


目次


発表スライド

www.slideshare.net

アジェンダを作り忘れていました。

  1. 量子コンピュータについて
  2. 量子ビットについて
  3. 量子ゲートについて
  4. IBM Q Experimenceについて
  5. 量子コンピュータに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を使って、量子コンピュータについて勉強してみましょう。

付録:便利なサイト


*1:ComposerではなくQiskitなら、ccXも実機で使えるかもしれません。Composerでは5Qubitまで、Qiskitでは16Qubitまでの実機が使えるそうですので

*2:もともとそれらも勉強しようと思っていたのですが、基礎が難しすぎて、今回は見送りました。


スポンサーリンク