量子コンピューター超入門ハンズオン 2020/04/24

 量子コンピューター超入門ハンズオン 2020/04/24

385da418a213556b734059bd85a205b3?s=128

Ayumu-walker

April 24, 2020
Tweet

Transcript

  1. 量子コンピューター超入門ハンズオン 2020/04/24

  2. 2 アジェンダ 1. 量子コンピューターの概要 2. IBM QとQiskit 3. ハンズオンの進め方について

  3. 量子コンピューター概要

  4. 4 量子コンピューターとは • 量子性を積極的に利用して計算する計算機 • 量子性とはミクロの世界で起こりうる「重ね合わせの原理」、「量子もつれ」などの人間が直感的には受け入れにくい 性質を指す • 現在利用しているコンピューター(古典コンピューターと表記)とは計算中のデータの持たせ方や、計算のルールが異 なる

  5. 5 量子コンピューターを使うモチベーション • 現在のスパコンを含むコンピューターではサイズが大きくになるにつれて解くのに必要なステップ が“爆発的に”大きくなる問題を、“高速”に解くことができる問題が存在する可能性が示唆されてい る • 例:素因数分解(RSA暗号、楕円曲線暗号など) • 現在近い将来で期待されている応用

    • 量子化学計算 → 創薬、新材料の開発 • 量子機械学習 → AI開発 • ただし、量子コンピューターが全ての計算を高速化するものではなく、特定の問題に対して高速化 可能な量子アルゴリズムが適用できる場合に限られることに注意
  6. 6 量子コンピューターで一部の計算処理が高速になるイメージ 地球 (古典コンピューター) (量子コンピューター) 量子コンピューターでは計算中のデー タの持ち方やルールが違うことで、古 典コンピューターでは通れない抜け道 (量子アルゴリズム)が存在が場合が あるため、計算処理が高速化される

  7. 7 古典コンピューターと量子コンピューターの比較 • 古典コンピューター(普通のコンピューター)と量子コンピューターの決定的な違いは、計算中の データの持ち方が異なる • データはビット(0と1の2値を取るデータの最小単位)で表現される • 例えば、int型で100=01100100(2進数)と表現され、コンピューターの中で利用される •

    古典ビットは、一時点でデータが確定した状態を取る • 量子ビットは、計算途中では、出現しうる全てのデータの出現する可能性の重ね合わせで表現される 0 0 0 1 0 0 0 0 0 1 1 0 0 1 1 0 0 0 1 0 0 0 0 0 or 古典ビット 量子ビット 1 1 1 1 1 and 古典コンピューターでのデータの持ち方 量子コンピューターでのデータの持ち方
  8. 8 重ね合わせの原理と測定 |量子ビットの状態> = | > +| > |0 >

    |1 > ||2の確率で ||2の確率で 上向き(状態が0)でもあり 下向き(状態が1)でもある 観測すると・・・ • 測定とは計算した量子ビットの値が0と1のどちらになるかを読み出す処理であり、計算結果を確定 させることを意味する • 重ね合わせの原理によって、異なる状態(例えば、ビットの値が0と1)が測定した時にそれぞれ確 率的に出現する状態を作れる • 0か1の古典ビットと同じ形の値のどちらかが測定される • どれくらいの確率で測定されるかは、確率振幅から計算できる(以下の、αとβが確率振幅) • 確率振幅から確率を求めるには、絶対値の2乗を計算する必要がある
  9. 9 量子コンピューターが行う実際の計算イメージ • 量子コンピューターでは、最後に測定(計算結果の読み出し)のタイミングまでに、求める結果 (ビット列)の出現確率が1に近づくように実装する • 最後に|11>の状態だけが残るグローバーのアルゴリズムの確率振幅がどう変化していくかのイメージ(ハンズオン7にて実装) ①重ね合わせの原理で、全ての状態の 出現確率を均等に0.25(=0.5×0.5) に揃える

    ②確率を増やしたい状態|11> をマーキングする ③マーキングした確率を増幅させ、 それ以外の確率を減らす ④|11>の状態だけが、確率1で 出現する状態にできた
  10. 10 IBM QとQiskit • IBM Q:IBMが提供する量子コンピューターの実機 • Qiskit:IBMが提供するPythonベースの量子コンピューターフレームワーク(OSS) • Qiskitは量子シミュレーターと実機へのリクエストの両方の機能を持ち合わせる

    • IBM Q Experience:クラウド上の実行環境 • GUIとJupyter Notebookの環境を提供 IBM Q Experience
  11. 11 ハンズオンの進め方 • ハンズオンは、Jupyter Notebookに記述されたコンテンツを利用します。 • https://github.com/quantum-tokyo/qiskit-handsonにアクセスしてください。 • コンテンツをダウンロードしてください。 •

    実行環境はローカルPCか、IBM Q Experienceのどちらかを利用できます。 • コンテンツは自習可能な教材となっており、説明を読む→問題を解く→回答を確認するという流れ で進められます。 • 先に進められる方は、ご自身のペースで読み進めながら、ハンズオンを進めていただいて構いませ ん。 • ペースメーキングのために、適宜内容の解説をします。