Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×

量子回路上でのパズルゲーム解法プログラムの構築

Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Próximo SlideShare
課題研究
課題研究
Cargando en…3
×

Eche un vistazo a continuación

1 de 46 Anuncio

量子回路上でのパズルゲーム解法プログラムの構築

Descargar para leer sin conexión

IBM社の主催するQuantumChallenge2020のweek2aの解法の一つである回路と量子ゲートに起きるエラーの関係をシュミレーションを行い研究しました。
日本IBMの中村悠馬さんに監修していただきました。

IBM社の主催するQuantumChallenge2020のweek2aの解法の一つである回路と量子ゲートに起きるエラーの関係をシュミレーションを行い研究しました。
日本IBMの中村悠馬さんに監修していただきました。

Anuncio
Anuncio

Más Contenido Relacionado

Más reciente (20)

Anuncio

量子回路上でのパズルゲーム解法プログラムの構築

  1. 1. 課題研究本発表 ~量子コンピュータ~ 量子班 中村風稀 大石健太 田野拓実 窪田陸也 木村宇恭 https://japan.cnet.com/article/35142834/ 提供:Stephen Shankland/CNET
  2. 2. 目次 量子コンピュータとは 基礎の説明 研究内容 研究の動機、問題設定 研究内容の説明 本実験 本実験を踏まえた追加実験 追加実験1 追加実験2 まとめ、今後の展望
  3. 3. 量子コンピュータ • 理論上は一部の問題に対し、現在のコンピュータと比べて 圧倒的に速い • 量子とは粒子と波の性質をあわせ持ったとても小さな単位 例…光、電子、中性子 • エラーが多く、理論上の性能を完全に発揮できる技術は いまだ確立されていない 1 0 古典コンピュータ 量子コンピュータ 以降、古典コンピュータと呼ぶ 応用分野の例:化学,金融,創薬など
  4. 4. 古典と量子の相違 候補 1 2 3 5 4 古典 計算 古典 計算 古典 計算 古典 計算 古典 計算 結果 古典コンピュータ 例:25の素因数分解を行う 古典 コンピュータ 量子 コンピュータ 性質 決定的 確率的 ひとつずつ計算 確率で調べる メリット 正解率100% 短時間 デメリット 長時間 誤った答えも観測 : : : :
  5. 5. 古典と量子の相違 量子コンピュータ 例:25の素因数分解を行う 古典 コンピュータ 量子 コンピュータ 性質 決定的 確率的 ひとつずつ計算 確率で調べる メリット 正解率100% 短時間 デメリット 長時間 誤った答えも観測 : : : : 候補 1 2 3 5 4 量子 計算 結果 60% 5% 5% 5% 5%
  6. 6. 古典と量子の相違 量子コンピュータ 候補 1 2 3 5 4 量子 計算 結果 60% 5% 5% 5% 5% 1 2 3 4 5 60 50 40 30 20 10 観 測 確 率 [ % ] 候補 ヒストグラムを用いて 結果を確認する 例:25の素因数分解を行う : : : :
  7. 7. 量子コンピュータの回路 量子コンピュータの回路を理解するには以下の2点が重要である • 量子状態…量子ビットと呼ばれる線上における量子の状態 • 量子ゲート…量子状態を変化させるためのもの
  8. 8. Xゲート Ⅹゲートを通過した量子ビットを以下のように変化させる Xゲート Xゲート |0> |0> |1> |1>
  9. 9. CXゲート CXゲートの通過時に、「・」 が「1」の時のみ⊕の部分が Xゲートの作用をする |0> |0> |0> |0> + |1> |1> |1> |0> +
  10. 10. 目次 量子コンピュータとは 基礎の説明 研究内容 研究の動機、問題設定 研究内容の説明 本実験 本実験を踏まえた追加実験 追加実験1 追加実験2 まとめ、今後の展望
  11. 11. 研究の動機 3×3の格子状のマス目があり、これらすべてを消灯させたい ただし、マス目を押すと、連動して隣接したマス目も切り替わる 量子プログラミングコンテストで ライツアウトと呼ばれる問題に出会った
  12. 12. 題材とした回路 ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ [1,1,0,0,1,0,1,0,1] ライツアウトを解を求める回路
  13. 13. 1 1 0 1 0 1 0 0 1 [1,1,0,0,1,0,1,0,1] 押し方 ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨
  14. 14. 問題提起 不正解の値がこれほど多く観測されている これは、正解率が低い状態 どのようにすれば正確に値を得られるのか 正解の押し方
  15. 15. 目次 量子コンピュータとは 基礎の説明 研究内容 研究の動機、問題設定 研究内容の説明 本実験 本実験を踏まえた追加実験 追加実験1 追加実験2 まとめ、今後の展望
  16. 16. 繰り返し数の影響 説明の都合上2×2のライツアウトの回路を使用しています 正解を増幅する回路 このライツアウトの初期状態
  17. 17. 繰り返し数の影響 ■の部分 1回 正解を増幅する回路 正解を増幅する回路 正解を増幅する回路 観 測 確 率 ■の部分 1回 ライツアウトの正解の値の観測確率と、 繰り返し回数との関係をグラフにして表す ■の部分の回数を変化させる
  18. 18. 正 解 率 繰り返し回数 ×𝟏回 正解を増幅する回路 観 測 確 率 繰り返し数の影響 正解値の観測確率
  19. 19. 正 解 率 繰り返し回数 ×𝟐回 正解を増幅する回路 観 測 確 率 繰り返し数の影響 正解値の観測確率
  20. 20. 正 解 率 繰り返し回数 ×𝟑回 正解を増幅する回路 観 測 確 率 繰り返し数の影響 正解値の観測確率
  21. 21. 正 解 率 繰り返し回数 ×𝟒回 正解を増幅する回路 観 測 確 率 繰り返し数の影響 正解値の観測確率
  22. 22. 正 解 率 繰り返し回数 繰り返し数の影響 × 𝒙回 正解を増幅する回路 正解値の観測確率
  23. 23. 先行研究 先行研究から観測確率と繰り返し回数はエラーを 考慮しなければ𝒔𝒊𝒏𝟐関数で表すことができる 正 解 率 繰り返し回数
  24. 24. エラーとは 0 1 X 0 X 0 何かしらのアクシデントにより、 回路中のゲートが正常に作用しなくなる現象のこと エラーがない場合 エラーが発生した場合
  25. 25. エラーによる影響 量子コンピュータの回路上では結果を観測確率で求めるが、 エラーにより観測確率が変化し、正確に値を得られなくなる 00 01 11 10 パターン 観 測 確 率 00 01 11 10 パターン エラーなし 観 測 確 率 エラーあり
  26. 26. 目次 量子コンピュータとは 基礎の説明 研究内容 研究の動機、問題設定 研究内容の説明 本実験 本実験を踏まえた追加実験 追加実験1 追加実験2 まとめ、今後の展望
  27. 27. 課題 ■を特定の回数に増やすとより正確な値を得ることができる ゲートの数を増やすとよりエラーが起きやすくなる では■の部分を何度繰り返すと最も正確な値が得られるのか? 正解を増幅する回路 今回は説明の都合上2×2のライツアウトの回路を使用しています
  28. 28. 今回はXゲートとCXゲートが主な回路 Xゲートのエラー率<<CXゲートのエラー率 実験方法 エラーの割合を定義する 実際の量子コンピュータの量子コンピュータでは CXゲートが主なエラーの原因 X 0.0002 + 0.0270 実際の量子コンピュータ のエラー率の平均
  29. 29. 実験方法 CXゲートのエラー率をシミュレーションで0.001ずつ変化させる 繰り返し数とCXゲートのエラー率をそれぞれ変化させ、 回路を実行しデータを集める エラーの割合を定義する 0 0.001 1 16 0 0.002 1 16 0 0.005 1 16 繰り返し数 CXエラー率 ※回路への影響が小さいため、Xゲートのエラー率は0.0002に固定
  30. 30. 仮説 先行研究から観測確率と繰り返し回数はエラーを 考慮しなければsin𝟐関数で表すことができる 観 測 確 率 繰り返し回数 エラーの発生する割合が大きくなればなるほど sin2関数の振幅は小さくなる 観 測 確 率 繰り返し回数 ー…エラー無 ー…エラー小 ー…エラー大
  31. 31. 0.00 0.25 0.50 0.75 1.00 0.005 0.004 0.003 0.002 0.001 エラー無し 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 正 解 率 CXエラー率: 繰り返し数 実験結果 エラーの増加によって関数の振幅(正解率)が小さくなり、 最大値をとる繰り返し数が小さくなる は17回中のピーク時
  32. 32. エラー無しの時は𝒔𝒊𝒏𝟐関数で表すことができる エラーありの時は𝑠𝑖𝑛2関数から誤差が生じた が、 誤差も別の周期関数で表せるのではないか 結果の解釈 50 40 30 20 10 0 13.6 エラーあり 0 5 10 15 17.2 エラー無し 0 5 10 15 20 25 100 80 60 40 20 0 正 解 率 ( % ) 繰り返し数 繰り返し数 正 解 率 ( % ) 誤差の大きさ 『fitting』と呼ばれる技術で、 𝒔𝒊𝒏𝟐関数に近似
  33. 33. 『fitting』した関数の最大値をとる繰り返し回数をそれぞれの エラー率で調べるとエラー率が高い程、値が小さくなっている 結果の解釈 16 14 12 10 8 6 4 2 0 0.001 0.002 0.003 0.004 0.005 エラー率 最 大 値 を と る 繰 り 返 し 数
  34. 34. 考察 予想に反してエラーの発生する割合が大きくなるほど sin𝟐関数の周期は短くなる ー…エラー無 ー…エラー小 ー…エラー大 本実験の結果 本実験の予想 観 測 確 率 繰り返し回数 観 測 確 率 繰り返し回数 観 測 確 率 ?
  35. 35. 目次 量子コンピュータとは 基礎の説明 研究内容 研究の動機、問題設定 研究内容の説明 本実験 本実験を踏まえた追加実験 追加実験1 追加実験2 まとめ、今後の展望
  36. 36. 追加実験1 *繰り返し回数を増やす毎に計算時間が増えてしまう ピーク以降の挙動を調べたいのでより簡易な回路である 2×2のライツアウトの場合を用いて変化の様子を追っていく 観 測 確 率 繰り返し回数 ー…エラー小 ー…エラー大 ? ー…エラー無 ー…エラー小 ー…エラー大 一周期目以降の変化を、 エラー無、エラー小、エラー大のそれぞれを比較し調べる
  37. 37. 結果 赤→エラー無 緑→エラー小 青→エラー大 エラー率が大きくなるほど、後の周期になるにつれて 正解率は減衰していき、さらに周期が短くなる 各周期のピーク
  38. 38. 正解率が50%を超えていることが、実際の量子コンピュータで この回路から安定して結果を得るための条件である 本実験の結果から、正解率が50%を超えると 考えられる部分に目星をつけ、正解率が 50%を超えるCXエラー率の上限値について調べる 追加実験 2
  39. 39. 結果 エラー率 繰り返し回数(回) 13 14 15 16 17 0.00088 48.7 49.2 48.7 50.9 49.2 0.00089 47.3 49.3 51.0 47.0 47.4 0.00090 48.8 51.7 48.6 47.4 46.0 0.00091 50.0 46.9 49.7 47.8 45.9 0.00092 44.5 45.5 47.0 45.9 44.3 : 0.00094 45.5 45.5 47.0 45.9 44.3 : 0.00096 47.8 45.0 43.9 47.0 44.4 : 0.00098 43.8 45.7 43.5 45.9 42.2 エラー率が0.00091以下のとき 正解の確率が50%を超えた 小数点以下第二位を四捨五入しています
  40. 40. ・CXエラー率が 0.00091 以下の時、正解率が50%を上回る 追加実験2の解釈 X + 0.0002 0.0270 実際の量子コンピュータの エラー率の平均 X + 0.0002 0.00091 今回の結果に よるエラー率 大きな 開きが 存在
  41. 41. 目次 量子コンピュータとは 基礎の説明 研究内容 研究の動機、問題設定 研究内容の説明 本実験 本実験を踏まえた追加実験 追加実験1 追加実験2 まとめ、今後の展望
  42. 42. ・エラー率が大きくなるほど、周期が短くなり、 後の周期になるほど 正解率は減衰していく ・エラーがあるときのfittingしたグラフはsin2 関数から誤差が生じていた 誤差の大きさにも法則性がみられる ・CXエラー率が 0.00091 以下の時、正解率が50%を上回る まとめ 減衰するsin関数の図を作る 正 解 率 繰り返し数 ー…エラー無 ー…エラー小 ー…エラー大 誤差の大きさ CXエラー率 0.001の時
  43. 43. 今後の展望 fitting したときに生じる誤差の関数化 1.どんな𝒔𝒊𝒏関数を組み合わせているのか 2. 量子コンピュータでの現実のエラーの影響を知る 誤差の大きさ ゲート操作以外の原因で起きるエラーも調査
  44. 44. 課題研究協力 日本IBM 中村悠馬さん IBM QuantumExperience https://quantum-computing.ibm.com/ Gfycat https://gfycat.com/discover/quantum- computer-gifs Quiskit textbook https://qiskit.org/
  45. 45. 研究の成果物 メンバー5人で計280枚分のスライドをオンライン上に公開しました https://www.slideshare.net/OishiKenta/presentations https://www.slideshare.net/takumitano/presentations https://www.slideshare.net/RikuyaKubota/presentations https://www.slideshare.net/UkyoKimura/presentations https://www.slideshare.net/FukiNakamura/presentations
  46. 46. ご清聴ありがとうございました

Notas del editor

  • 今から物理班、量子コンピュータに関する研究の発表を始めます
    私たちは近年注目されている量子コンピュータに興味を持ち、身近な具体例を通して研究しました
  • まずは量子コンピュータについて説明します
  • 量子コンピュータは一部の問題に対して現在のコンピュータに比べ早く解くことができ、
    科学,金融,創薬などの分野への応用が期待されています
    以降現在のコンピュータを古典コンピュータと呼びます
    量子とは粒子と波の性質を併せ持ったとても小さな単位で例としては光,電子,中性子などがあります
    古典コンピュータでは状態が0か1かに定まっていますが量子コンピュータでは
    0と1を確率で表します
    この性質を0と1を同時に取っていると表現しています
    一方でエラーが多く本来の性能を発揮するにはまだ課題があります

  • 次に古典コンピュータと量子コンピュータの違いについて説明します
    古典コンピュータではすべての答えの候補を一つずつ正確に値を得ることができますが,時間がかかります
    この点で古典コンピュータは決定的であるといえます
    例として25の素因数分解を量子コンピュータと古典コンピュータで考えます
    古典コンピュータでは1から5の自然数をひとつずつ調べるため正確な答えを得ることができますが,その分時間がかかっています
  • 一方で量子コンピュータは確率的な性質を持っています
    ランダム性を利用し結果を確率で表しているのです
    また量子コンピュータでは短時間で答えが得られます
    すべての答えの候補を1度に調べているのです
    25の素因数分解を考えるとき量子コンピュータでは1から5の自然数を一度に調べるため計算時間は短いですが1,2などのあやまった答えが数パーセントの確率で出てきます
  • 先ほど量子コンピュータでは結果を確率で表していると述べましたが
    結果の確率をヒストグラムで表すとわかりやすいです
    以降は量子コンピュータの結果をヒストグラムで表しますのでこの図を記憶にとどめておいていただければと思います
    例えばこの場合は1から4が10%の確率で結果として出現し5は60%の確率で
    結果として出現します
  • 続いて量子コンピュータの回路の説明をします
    量子コンピュータの回路では2つの重要な要素があります
    量子状態,量子ゲートです
    まず,量子状態は,量子ビットと呼ばれる線上における量子の状態です
    次に量子ゲートとは量子の状態を変化させるものです
  • 次に具体的な量子ゲートについて説明します。
    まずはXゲートです
    Xゲートを用いると0は1に,1は0に変化します。
  • 次にCXゲートです
    点の部分が1であるときのみ+の部分でXゲートの作用をします
    点の部分が1でないときはこのゲートは何も作用しません
  • ここからは研究の動機と問題設定についてです。
  • 僕たちの班はIBMの主催する、Quantum Challenge2020というプログラミングコンテストに参加し、ライツアウトというゲームの答えを探す回路を作りました。ライツアウトとは、点灯しているマス目をすべて消灯させるゲームです。
    あるマス目を押したときそのマス目と隣接しているマス目の状態が切り替わります。すべてのライトが消えたらクリアとなります。
  • 本研究ではこのゲームの答えを求める回路を題材にしています。図の回路の内容ですが、研究の内容を理解するためには必要ない為、時間の都合上説明は省かせていただきます。この回路によって正解の押し方は、1と2と5と7と9を押せばよいと求まりました。
  • 実際に押して確かめてみましょう。すべて消すことができました。
  • 今、正解の押し方が求まったといいましたが、正解の押し方が得られる確率に着目すると、回路が100%の確率で正解を出すわけではなく、不正解の値も出てきてしまいます。正解する確率を高くすることができれば、より良い回路を作ることができます。そこで、正解率をより高くするにはどうすれば良いかについて研究をしていきます。
  • 研究内容です。
  • 正解率を高めるために、正解を増幅する回路を用います。この回路は繰り返し用いることで正解率を変化させることができるのですが、繰り返し数をとにかく増やせば、正解率が上がるわけではありません。よって繰り返しの回数によって正解率がどう変わるかを調べます。
  • これを調べるために、ライツアウトの問題を設定し、回路を繰り返して、正解率の変化を見ていきます。
    正解の確率と繰り返し回数の関係をグラフにします
  • 繰り返し回数を増やしていくと、正解率は次のように変化していきました。
  • この結果から、繰り返し回数を増やすと正解率はこのように周期的に変化していくと考えました
  • 調べたところ、先行研究によって観測確率と繰り返し回数はsin^2関数で表せることを確認できました。
    しかしこれはエラーを考慮していません。
  • エラー率引用先
    https://quantum-computing.ibm.com/services?services=systems&system=ibmq_brooklyn
  • 最終的に正解率はランダムになる
  • 確率的コンピュータでは 1 3 よりもエラーの確率が低いことがエラーが許容される目安とされている
  • 1,わかったこと
  • 1,わかったこと
  • 今回の研究は日本IBMの中村悠馬さんの協力の下、行われました。参考資料はこちらです。
  • 今回の課題研究の成果物として、メンバー5人全員で210枚のスライドをオンライン上に公開しました
  • ご清聴ありがとうございました

×