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

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

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for hiroki8080 hiroki8080
January 19, 2017

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

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

Avatar for hiroki8080

hiroki8080

January 19, 2017
Tweet

More Decks by hiroki8080

Other Decks in Programming

Transcript

  1. 量子の挙動を実装 •  今回やりたい事に粒子か波かはあまり関係ないので、粒子として考えることにする •  つまり二つの状態を同時に持ち、観測することで状態がきまる部分 •  これをどうやって実装するか・・ •  量子コンピュータで使われるの量子アニーリングと呼ばれる計算方法があるので、それが使え そう(実際には使われている)

    •  量子アニーリングって?・・・ •  以下のような順で解を求める 1.三次元の格子状に並べた複数の粒子に   特定の方向から磁場を与える。   (一つの粒子が二つの異なる方向の回転を持った状態になる) 2.磁場の力を少しずつ弱めながら、それぞれの回転の   相互作用を強くしていく         (例えば隣接する回転の向きを同じ向きに変えたり、   逆にするようなもの。   コンピュータにおけるプログラミングっぽい) 3.最終的に全体のエネルギーが最小となる状態を解とする。 4.実際にはごく短時間でこの手順を行う必要があり、   何回も繰り返すことで解の正解率を高めていく。 •  量子アニーリングにおける最小エネルギーってなんだろう?
  2. 量子の挙動を実装② •  量子アニーリングをシミュレートする際に巡回セールスマン問題と いう組み合わせ最適化問題が使えるようだ •  巡回セールスマン問題って?・・・ •  都市の集合において、それぞれの2つの都市の移動コストが設定 されているとき、全ての都市を一度ずつ巡って出発点に戻った際 の最小コストを求める問題

    •  それぞれの都市を通るか通らないかという2つの状態を量子に持 たせれば量子アニーリングで最適解が求められる •  つまり、量子の挙動としてはどんなものを実装すればよいか・・ •  都市に対して通るか通らないかという状態を保持 •  量子間の相互処理は・・ •  移動コストが合計されていく •  移動元と移動先以外には道を通らない(帰り道は例外) •  これだけで良いものか・・