KumaのLTまとめ "今さら聞けない 量子ゲートコンピュータ" (第19回 日曜数学会 )

こんにちは。Kumaです。
第19回の日曜数学会で発表した
「今さら聞けない 量子ゲートコンピュータ」
について、内容の振り返りとQ/Aで返しきれなかったものをまとめます。

Title

f:id:phymath1991:20201031160122p:plain

モチベーション

f:id:phymath1991:20201031160147p:plain

Agenda

f:id:phymath1991:20201031160217p:plain

古典状態と量子状態

f:id:phymath1991:20201031160239p:plain

補足*1

量子計算のイメージ

f:id:phymath1991:20201031160326p:plain
f:id:phymath1991:20201031160332p:plain

Groverのアルゴリズム

f:id:phymath1991:20201031160342p:plain
f:id:phymath1991:20201031160434p:plain
f:id:phymath1991:20201031160600p:plain

補足*2
補足2*3

実機でやる

f:id:phymath1991:20201031160631p:plain
f:id:phymath1991:20201031160642p:plain
f:id:phymath1991:20201031160650p:plain

まとめ

f:id:phymath1991:20201031160658p:plain

Q&A

コメントへの回答です

  • 測定は良いランダムなんですか?

→ 量子現象なので、完全にランダムです。(この世で最もランダムです。疑似乱数ではなく、真の乱数です。)
物理乱数のランダム性は、熱雑音などにも見られますので、量子測定特有のものというわけではありません。
ただし、量子コンピュータの実機が真にランダムであるかは(意図しない偏りを持つ雑音などが混入する余地があります)わかりません。
量子コンピュータを真の乱数生成器としてとらえたアプリケーションもあります。例えば”量子星占い”があります。
https://www.quantumcomputer.tokyo/horoscope.html

→ Yes。無料で、IBMQにTwitterアカウント等でログインすればGUIが使えます。
https://quantum-computing.ibm.com/
GUI上では、ドラッグアンドドロップでゲート回路の作成や実機の実行が可能です。
しかし5qubitまでしか使えない等の制約があります。
本格的に遊びたい場合は、ぜひプログラミング言語経由での開発をおすすめします。
なお、Google colab. サービスを使うことで、GoogleアカウントさえあればWebブラウザ上でプログラミングの実行が出来ます。

  • あんまり知らないけど組合せ論的なの早い感じなの

→ 組み合わせ最適化は良い応用例と考えられています。例えばQAAやQAOAなどのアルゴリズムがあります。
特にQAOAは雑音がある量子コンピュータ(NISQ)でも動くように工夫されたものです。
ただ、問題の複雑度やQAOAのゲートの深さを上げていくと、正解率がどんどん下がってしまうことが知られています。
雑音のある量子コンピュータはスケーラビリティに欠ける印象があります。
しかしある程度のスケーラビリティがないと、古典スパコンで解ける範囲を出られないという問題があります。

→ 雑音ありでも動くかも?という観点で、非常に注目されてます。ある程度ライブラリ化されたものもあります。
量子機械学習 には、古典機械学習の一部の計算を量子アルゴリズムで高速化するものと、学習モデルそのものを量子化する(量子ゲートをニューラルネットワークとみなす)ものがあります。
どちらのことを言っているのかが一見してわかりにくいです。。

  • 5qubitマシンで実行したとあるが、このGroverアルゴリズムは何bit使っている?

→ 2qubit。5qubitのうち2qubitのみ使用したことになる。

  • 無料で使える?

→ 無料。16qubitぐらいまでは使える。お金を払えば、最新の50qubit級が使えると思う。
50qubitでも、2^50の古典情報が表現可能なので、Peta bit 級が埋め込める。 (2^50 = (2^10)^5 = 1024^5 ~ 10^15 = 1Peta)
でも、問題を解くためにゲート操作をしていくと正解率がどんどん下がっていくので、答えが得られるかどうかはまだまだ注意が必要。

*1:ここでは振幅の規格化はしていません。見やすさのためです。

*2:RfゲートもNOTやXORに相当する基本ゲートを組み合わせて実現しますが、どの程度のゲート規模で実現可能かは重要です。 もしRfゲートが複雑すぎると、実用上はほとんど意味がなくなってしまいます。

*3:ここでいう計算量は、オラクル、すなわちRfゲートを何回使う必要があるかを意味します。乗算回数などで定義される通常の計算量とは異なります。