Share
Embed
量子コンピューター超入門ハンズオン 2020/04/24
Ayumu-walker
April 24, 2020
Transcript
11 slides
-
5 量子コンピューターを使うモチベーション • 現在のスパコンを含むコンピューターではサイズが大きくになるにつれて解くのに必要なステップ が“爆発的に”大きくなる問題を、“高速”に解くことができる問題が存在する可能性が示唆されてい る • 例:素因数分解(RSA暗号、楕円曲線暗号など) • 現在近い将来で期待されている応用
• 量子化学計算 → 創薬、新材料の開発 • 量子機械学習 → AI開発 • ただし、量子コンピューターが全ての計算を高速化するものではなく、特定の問題に対して高速化 可能な量子アルゴリズムが適用できる場合に限られることに注意 -
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 重ね合わせの原理と測定 |量子ビットの状態> = | > +| > |0 >
|1 > ||2の確率で ||2の確率で 上向き(状態が0)でもあり 下向き(状態が1)でもある 観測すると・・・ • 測定とは計算した量子ビットの値が0と1のどちらになるかを読み出す処理であり、計算結果を確定 させることを意味する • 重ね合わせの原理によって、異なる状態(例えば、ビットの値が0と1)が測定した時にそれぞれ確 率的に出現する状態を作れる • 0か1の古典ビットと同じ形の値のどちらかが測定される • どれくらいの確率で測定されるかは、確率振幅から計算できる(以下の、αとβが確率振幅) • 確率振幅から確率を求めるには、絶対値の2乗を計算する必要がある -
9 量子コンピューターが行う実際の計算イメージ • 量子コンピューターでは、最後に測定(計算結果の読み出し)のタイミングまでに、求める結果 (ビット列)の出現確率が1に近づくように実装する • 最後に|11>の状態だけが残るグローバーのアルゴリズムの確率振幅がどう変化していくかのイメージ(ハンズオン7にて実装) ①重ね合わせの原理で、全ての状態の 出現確率を均等に0.25(=0.5×0.5) に揃える
②確率を増やしたい状態|11> をマーキングする ③マーキングした確率を増幅させ、 それ以外の確率を減らす ④|11>の状態だけが、確率1で 出現する状態にできた -
10 IBM QとQiskit • IBM Q:IBMが提供する量子コンピューターの実機 • Qiskit:IBMが提供するPythonベースの量子コンピューターフレームワーク(OSS) • Qiskitは量子シミュレーターと実機へのリクエストの両方の機能を持ち合わせる
• IBM Q Experience:クラウド上の実行環境 • GUIとJupyter Notebookの環境を提供 IBM Q Experience -
11 ハンズオンの進め方 • ハンズオンは、Jupyter Notebookに記述されたコンテンツを利用します。 • https://github.com/quantum-tokyo/qiskit-handsonにアクセスしてください。 • コンテンツをダウンロードしてください。 •
実行環境はローカルPCか、IBM Q Experienceのどちらかを利用できます。 • コンテンツは自習可能な教材となっており、説明を読む→問題を解く→回答を確認するという流れ で進められます。 • 先に進められる方は、ご自身のペースで読み進めながら、ハンズオンを進めていただいて構いませ ん。 • ペースメーキングのために、適宜内容の解説をします。