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

オンラインワークショップ資料

hiroki8080
January 12, 2017

 オンラインワークショップ資料

量子コンピュータもどきをつくろう第1回の資料です。

hiroki8080

January 12, 2017
Tweet

More Decks by hiroki8080

Other Decks in Programming

Transcript

  1. 基礎情報① •  従来のコンピュータ→1と0でどちらかの状態を保持 •  量子コンピュータ→1と0の両方の状態を保持 •  1と0の両方の状態を観測するとどちらの値なのかが決まるらしい •  (シュレディンガーの猫っぽい) • 

    全ての状態を保有するのでどれが正しいかを探すだけでよい •  例えば、最大値を求める計算は少ない回数で済むが、組み合わせを 求める計算は回数が大きくなるため、従来のコンピュータではどうして も時間がかかってしまう •  量子コンピュータなら簡単にいうと複数の状態を同時に計算できるよ うになるので、速度が早い •  参考:http://codezine.jp/article/detail/9491 •  参考:http://gigazine.net/news/20151210-quantum-computers- explained/
  2. 基礎情報② •  量子コンピュータのアルゴリズムはいくつかあるが、グローバーのア ルゴリズムが最適らしい? •  PythonのSymPyにグローバーのアルゴリズムの実装がある •  量子コンピュータ用のプログラミング言語もある •  有名なのはQCL

    •  参考: https://ja.wikipedia.org/wiki/%E3%82%B0%E3%83%AD %E3%83%BC%E3%83%90%E3%83%BC%E3%81%AE %E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA %E3%82%BA%E3%83%A0 •  参考: http://docs.sympy.org/dev/modules/physics/quantum/grover.html
  3. どうやって量子コンピュータもどきを作るか •  量子の挙動を実装 •  観測の仕組みを実装 •  結果算出の仕組みを実装 •  現状の課題(仮) • 

    アルゴリズムの計算式がさっぱりわからない •  とりあえずSymPyを使えば良さそう •  結果の読み方、算出法がわからない •  ブラケット記法の読み方がわかれば・・ •  グローバーのアルゴリズムで求められるのはベクトルの集 合?みたいなので、並列計算をすれば良い??