Upgrade to Pro — share decks privately, control downloads, hide ads and more …

量子コンピューターで量子計算を試してみよう / The Basics of Quantum Computation

量子コンピューターで量子計算を試してみよう / The Basics of Quantum Computation

2021年6月4日開催 Women in Data Science Tokyo @ IBM
QUANTUM COMPUTING TALK #1資料
Speaker: 小林 有里
Qiskit開発者コミュニティー担当
東京基礎研究所
日本アイ・ビー・エム株式会社

https://widstokyoibm2021.splashthat.com/

wids-tky-i

June 04, 2021
Tweet

More Decks by wids-tky-i

Other Decks in Technology

Transcript

  1. 従来のコンピューターが苦⼿とする分野 化学シミュレーション 素因数分解 乱択アルゴリズム 588 294 147 49 7 2

    2 7 3 新しいセキュリティー技術 創薬、新しい材料研究 探索、決定問題への応用 指数関数的に増える ʼ 2048ビットの整数(619桁の整数)の 素因数分解(古典:47億年*1, 量子:8時間*2) 小さな分子のシミュレーションは スーパーコンピューターでも困難 従来のコンピューターでは真の 乱数生成はできない [2] C. Gidney, Craig and M. Ekerå https://arxiv.org/abs/1905.09749(2019) [1] Kleinjung, Thorsten et al “Factorization of a 768-Bit RSA Modulus“
  2. 量⼦ビット 0 1 0 1 通常のビット (bit) 量⼦ビット (qubit) 0

    1 量⼦重ね合わせ 従来のコンピューターが扱う情報の基本単位はビット。状態は0か1のどちらかをとる。 量子コンピューターの計算は量子ビットが基本単位。量子ビットは量子力学の原理に基づ く重ね合わせや量子もつれといった特性を活かすことのできる素子 もつれと位相を利用した干渉で 効率的に解を導き出せる 量⼦もつれ n 個の量⼦ビットがあるとき︓2n個の情報を扱える
  3. 𝑥 時刻 𝑡 ある時刻 𝑡 に、ある位置𝑥に車が存在すると確定できる 電子の位置は観測するまでは確定せず、重ね合わせ状態を取る。 複素確率振幅が波として振る舞うので、量子ビットの状態は × ×

    × ⟩ |Ψ = α ⟩ |0 + β ⟩ |1 とかける 粒子がどこに存在しているかという重みを表現している 例)均等な重ね合わせ ( ⟩ |0 の位置で観測される確率𝑃0 と ⟩ |1 の位置 で観測される確率 𝑃1 が50%ずつの状態をさす) 𝑃0 = |α|2, 𝑃1 = |β|2, |α|2+ |β|2 =1 ⇒ α = 1 2 , β = 1 2 α,β は確率振幅と呼ばれ、絶対値の二乗が確率になる。 古典物理学の世界 量子力学の世界 ? 量⼦の世界 ⟩ |Ψ = ! " ⟩ |0 + ! " ⟩ |1 電子 ビーム
  4. 量⼦状態はベクトルとして表現できる 量子ビットの状態は右図のブロッホ球と呼ばれる 球体の中止から球面まで伸びたベクトルとして表現可。 ベクトル: ⃗ 𝑎、( 𝑎 ⇒ ⟩ |𝑎

    は ケットと呼ばれる列ベクトル、,𝑎|はブラと呼ばれる行ベクトル 量子状態を表す複素ベクトル ⟩ |Ψ = α ⟩ |0 + β ⟩ |1 ⟩ |0 = 1 0 ⟩ |1 = 0 1 前ページで登場した量子状態表現 ⇒正規直交基底とする単位ベクトル ブロッホ球 北極方向をさす 南極方向をさす
  5. ゲート操作で量⼦計算(1) 量子状態がベクトルならば、ベクトルを操作する量子ゲートは行列で書き表せる。 最も基本的なゲート操作であるパウリゲート:X, Y, Z 𝑋 = 0 1 1

    0 Y = 0 −𝑖 𝑖 0 Z = 1 0 0 −1 X軸周りのπ回転 Y軸周りのπ回転 Z軸周りのπ回転 https://github.com/cduck/bloch_sphere/blob/master/examples/common_gates.md ⟩ |0 = 1 0 ⟩ |1 = 0 1 𝑋 ⟩ |0 = 0 1 1 0 1 0 = 0 1 𝑌 ⟩ |0 = 0 −𝑖 𝑖 0 1 0 = 0 # 𝑍 ⟩ |0 = 1 0 0 −1 1 0 = 1 0 𝑍 ⟩ |1 = 1 0 0 −1 0 1 = 0 $𝟏 ⟩ |0 だと変化なし ⟩ |1 だとマイナス位相 ⟩ |0 ⟩ |1
  6. ゲート操作で量⼦計算(2) アダマールゲートは量子重ね合わせをつくる代表的な量子ゲート。 2度適用すると単位行列(適用しても元のベクトルは変わらない)になる。 𝐻 = 1 2 1 1 1

    −1 XZ間45度の軸周りのπ回転 重ね合わせをつくる アダマールゲート ⟩ |0 = 1 0 ⟩ |1 = 0 1 𝐻 ⟩ |0 = ! " 1 1 1 −1 1 0 = ! " 1 1 𝐻 ⟩ |0 = # $ ( ⟩ |0 + ⟩ |1 ) ⇒ 𝐻[ # $ ( ⟩ |0 + ⟩ |1 )] = ⟩ |0 𝐻 ⟩ |1 = # $ ( ⟩ |0 − ⟩ |1 ) ⇒ 𝐻[ # $ ( ⟩ |0 − ⟩ |1 ] = ⟩ |1 𝐻𝐻 = 𝕀 𝐻 ⟩ |1 = ! " 1 1 1 −1 0 1 = ! " 1 −1 ⟩ |0 ⟩ |0 → 𝐻 ⊗ 𝐻 → 1 2 ( ⟩ |0 + ⟩ |1 ) 1 2 ( ⟩ |0 + ⟩ |1 ) → 1 2( ⟩ |00 + ⟩ |01 + ⟩ |10 + ⟩ |11 ) 𝐻𝐻= # $ 1 1 1 −1 # $ 1 1 1 −1 = 1 2 2 0 0 2 = 1 0 0 1
  7. ゲート操作で量⼦計算(3) Z軸周りのπ以外の角度の回転ゲートのSゲート( & " 回転 )、Tゲート( & ' 回転 )や、

    X, Y, Z軸それぞれ周りの任意の角度(θ)の回転ゲートRx, Ry, Rzもある。 Ry = cos ( " −sin ( " sin ( " cos ( " S: Z軸周りの % $ 回転 Ry: Y軸周りの任意の回転角回転 S = 1 0 0 𝑖 T = 1 0 0 𝑒#! " T: Z軸周りの % & 回転
  8. 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001

    1010 1011 1100 1101 1110 1111 例)4ビットの暗号解読をしてみましょう。
  9. 〇 ふつうのコンピューター 0000 0001 0010 0011 0100 0101 0110 0111

    1000 1001 1010 1011 1100 1101 1110 1111 × 古典コンピューターで解読する場合 総当たりで検証していく必要がある
  10. 量子コンピューター 0000 0001 0010 0011 0100 0101 0110 0111 1000

    1001 1010 1011 1100 1101 1110 1111 0011 〇 Q グローバーのアルゴリズムで 効率的に解を導出 × 〇 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 量⼦コンピューターで解読する場合
  11. グローバーの探索回路をつくる(2) Step 2: 探している解の位相を反転させてマーキング 00 → 1 2 (|00⟩ +

    |01⟩+|10⟩+|11⟩) → 1 2 (|00⟩ + |01⟩+|10⟩−|11⟩) H⨂H CZ Control Z 制御ビットが ⟩ |1 でかつ ターゲットが ⟩ |1 のときにマイナス位相 制御ビット ターゲットビット
  12. グローバーの探索回路をつくる(3) → Step 3: 探している解の確率振幅を増幅 振幅増幅⼿法によって、重ね合わせ状態の平均値の周りで反転を繰り返します [アダマール変換(H⨂H)]と[ビット変換(X⨂X)]と[制御 Z ゲート(cZ)]を 組み合わせて使います。

    (diffusion、または反転オラクルDと呼ばれる) 1 2 (|00⟩ + |01⟩+|10⟩−|11⟩) = 1 2 [|0⟩(|0⟩ + |1⟩ )+|1⟩(|0⟩−|1⟩)] 1 2 [ (|0⟩ + |1⟩ )|0⟩+ (|0⟩−|1⟩)|1⟩] → 1 2 [ (|0⟩ + |1⟩ )|1⟩−(|0⟩−|1⟩)|0⟩] 1 2 [(|0⟩ − |1⟩ )|1⟩−(|0⟩−|1⟩)|0⟩] → 1 2 [−(|0⟩ + |1⟩ )|1⟩ + (|0⟩−|1⟩)|1⟩] 1 2 [−|1⟩(|0⟩ + |1⟩ ) + |1⟩(|0⟩−|1⟩)] = −|11⟩ X⨂X X⨂X H⨂H → CZ H⨂H → 位相の違いによって打ち消し合う波が発生し 求めている解の振幅が測定される
  13. 量⼦体積︓量⼦コンピューターの性能を測る指標 Qubits added: 50 Error rate decrease: 0x Quantum volume

    increase: 0x Qubits added: 0 Error rate decrease: 10x Quantum volume increase: 500x 2030年までに量子優位性を達成するには量子体積を 毎年倍にする必要がある。
  14. IBM Quantum / © 2020 IBM Corporation 42 IBM Quantumの使い⽅を実践的に学べる

    オススメ学習コンテンツのご紹介 日本IBMの技術者コミュニティTEC-Jの量子コンピューター勉強会 メンバーが講師となり、量子コンピュータ入門、代表的な量子アルゴリズム、 量子プログラミングのハンズオン等を日本語で解説しています。 http://ibm.biz/quantumtokyo Qiskit を使った量子計算の学習のためのオンライン教科書 日本語訳が3月2日にリリースされました。 Qiskitのインストール方法から、量子計算の基礎、そして応用分野について ソフトウェアのインストールなしにテキストブック内で直接コードを 実行しながら学ぶことができます。 https://qiskit.org/textbook/ja/preface.html Qiskit Textbook日本語版 Quantum Tokyo YouTubeチャネル