【エンジニア 情報収集】量子コンピュータと量子機械学習@GMO次世代勉強会
GMO主催の量子コンピュータの勉強会に参加したので、そのメモです。
実践量子コンピュータ
~IBM Qiskitを使って、量子計算をしてみよう~
量子もつれとは?
http://www.nikkei-science.com/page/magazine/0906/200906_024.html
古典コンピュータの古典とは、いわゆるチューリングマシンという意味。
https://ja.wikipedia.org/wiki/%E3%83%81%E3%83%A5%E3%83%BC%E3%83%AA%E3%83%B3%E3%82%B0%E3%83%9E%E3%82%B7%E3%83%B3
次世代システム研究室では、アニーリングの研究をすでに2回報告している。
量子コンピュータは大きくわけてふたつゲート式とアニーリング式がある。
アニーリング式
組み合わせ最適に特化。
現在は2000qbit
2020年には5000qbitまで拡張予定
1. 最適化したい問題をイジングモデルに書き直す
2.断熱過程を利用し、エネルギーが最低になる箇所を探す
ゲート式
古典よりも理論的に速いと証明されている問題は下記の三つ
・素因数分解
・量子シミュレーション
・線形代数、最適化
ショアのアルゴリズムにより量子コンピュータの研究が加速化
→ 因数分解が高速に行えることが示されたから
RSA暗号(RSA-2048)を解くには4100qubit
が必要。しかも、この数字はエラーのない理想的なqubitの場合
実際のqubitは不安定でエラー訂正が必要となる。
そして、エラー訂正込みで1億qubitが必要
→ しばらくインターネット(https)は安全
エラー訂正あり量子計算機が30年以内に実現する可能性は低い・・・
そこでNISQ(Noisy Intermediate-Scale Quantum)が提唱されている
NISQとは
数百程度の量子ビット、かつ、エラー訂正なしの量子コンピュータをうまく使って、意味のある計算をする。
→ 量子と古典のハイブリッド型のアルゴリズムの開発が進む
(応用事例:化学、最適化、機械学習)
とはいえ現状、NISQマシンの古典に対する優位性はない
NISQでも古典の問題が解けることが示された程度である
→ 今後に期待
quantum algorithm zoo
https://www.qmedia.jp/algebraic-number-theoretic-algorithms/
各社が量子コンピュータ言語を提供している
基本pythonベース
MicrosoftだけはQ#
量子ゲート式計算の手順
1.各量子ビットに対し、ゲートを作用
2.観測結果を測定する。結果は量子状態に依存して確率的にきまる。結果は古典ビットに書き込む。
3.測定により量子状態は壊れるので1、2を繰り返して、平均値を計算する
シミュレータでトライアンドエラー、実機で確認。という流れ
量子状態はベクトル、ゲートは行列
→ 線形代数の問題
ゲートは
パウリ、アダマール、位相
の3つに大別される
1qbitだけでは、相互作用を表現できないので、2qbit以上で実現されるゲートがある
ゲートを組み合わせて、アルゴリズムをつくる
例 Groverのアルゴリズム
未整列のN個のデータを持つデータベースから、該当するデータを探す
この問題は、
古典ではO(N)かかるが、量子ではO(N^(-1/2))で計算できる。
後日、スライドがアップされるらしいので、そのリンクはまたこちらに貼ります。
スライドが公開されました。
こちらのリンクからどうぞ!
https://recruit.gmo.jp/engineer/jisedai/blog/quantum_computer_intro_qiskit/
ではでは!