Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
量子コンピューター超入門ハンズオン 2020/04/24
Ayumu-walker
April 24, 2020
Technology
0
310
量子コンピューター超入門ハンズオン 2020/04/24
Ayumu-walker
April 24, 2020
Tweet
Share
More Decks by Ayumu-walker
See All by Ayumu-walker
ayumu0118
1
290
ayumu0118
0
430
Other Decks in Technology
See All in Technology
miyake
1
410
viva_tweet_x
1
400
iwashi
1
150
thockin
3
890
raykataoka
9
8.2k
khrd
1
430
clustervr
0
140
900groove
2
250
hanacchi
0
150
shirayanagiryuji
1
240
optim
0
190
chaspy
6
1.2k
Featured
See All Featured
chriscoyier
779
240k
aarron
257
36k
nonsquared
81
3.4k
mthomps
38
2.3k
bkeepers
408
58k
sachag
446
36k
holman
461
280k
jasonvnalue
81
8.1k
trallard
14
710
afnizarnur
176
14k
imathis
479
150k
myddelton
109
11k
Transcript
量子コンピューター超入門ハンズオン 2020/04/24
2 アジェンダ 1. 量子コンピューターの概要 2. IBM QとQiskit 3. ハンズオンの進め方について
量子コンピューター概要
4 量子コンピューターとは • 量子性を積極的に利用して計算する計算機 • 量子性とはミクロの世界で起こりうる「重ね合わせの原理」、「量子もつれ」などの人間が直感的には受け入れにくい 性質を指す • 現在利用しているコンピューター(古典コンピューターと表記)とは計算中のデータの持たせ方や、計算のルールが異 なる
5 量子コンピューターを使うモチベーション • 現在のスパコンを含むコンピューターではサイズが大きくになるにつれて解くのに必要なステップ が“爆発的に”大きくなる問題を、“高速”に解くことができる問題が存在する可能性が示唆されてい る • 例:素因数分解(RSA暗号、楕円曲線暗号など) • 現在近い将来で期待されている応用
• 量子化学計算 → 創薬、新材料の開発 • 量子機械学習 → AI開発 • ただし、量子コンピューターが全ての計算を高速化するものではなく、特定の問題に対して高速化 可能な量子アルゴリズムが適用できる場合に限られることに注意
6 量子コンピューターで一部の計算処理が高速になるイメージ 地球 (古典コンピューター) (量子コンピューター) 量子コンピューターでは計算中のデー タの持ち方やルールが違うことで、古 典コンピューターでは通れない抜け道 (量子アルゴリズム)が存在が場合が あるため、計算処理が高速化される
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のどちらかを利用できます。 • コンテンツは自習可能な教材となっており、説明を読む→問題を解く→回答を確認するという流れ で進められます。 • 先に進められる方は、ご自身のペースで読み進めながら、ハンズオンを進めていただいて構いませ ん。 • ペースメーキングのために、適宜内容の解説をします。