ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

量子コンピューターのプログラミングはVisual Studio Codeでもできる(Q#)が

2019-03-11 09:29:05 | Weblog
そもそも量子コンピューターを動かすのが難しく、
普通はシミュレーター環境でためすというか、

そもそも量子コンピューターには2種類あり 
 量子アニーリング方式は、できることが限られているし
 量子ゲート方式は、今はそこまで速くない

なんてことを

基礎から応用やトレンドまで学ぶ量子コンピューティング入門セミナー
https://liberal-arts-for-tech.connpass.com/event/120222/


で聞いてきたのでメモ




量子コンピューティング入門

・自己紹介
 オープンソース OpenQL Project

量子コンピューターとは
 物理的な量子現象(量子状態)を計算のための情報として扱う計算機
  →でも、きまりはない。勝手に思い浮かべてる
    アニーリング方式(特化型)
    ゲート方式(汎用型)

 物理的な量子現象、量子状態というのがある。
 それを計算機に使う

 表現方法に、アニーリング方式とゲート方式がある

量子状態:いろんなところにある。
 →ちがうデバイスを使って作ろうとしている
  物理的には、いろんなのあり得る
 例:イオントラップ:原子1個をレーザーでトラップする
   トポロジカルナノワイヤー:マイクロソフト→発展途上
   セミコンダクター くうぉんたむ どっと:半導体に不純物→量子状態として動く
   NVセンター ダイヤモンド:ダイアモンドの中に窒素(N) 空洞(V)を作る
   フォトンレーザー:光子1個分
   スーパーコンダクティング=超電導→一番ポピュラー

 アニーリング型とゲート型:できることが違う
  アニーリング型:組み合わせ最適化
  ゲート型:理論上、すべての計算(古典コンピューターの上位互換)
 →全く違うもの

 暗号解読に役に立つのは、ゲート方式
 断熱量子計算機まで量子アニーリング式が進化すれば、ゲート方式になる可能性がある
 →可能性だけね・・・

 アニーリングは超電導とレーザーしかない(超電導、レーザーはゲートも作れる)
 それ以外は基本的ゲート型。世界的にはゲート型
 アニーリングをやっているのは
 スーパーコンダクティングは、D-Waveが量子アニーリングしてる
 QNNはレーザー

 →記者が間違えている。メーカーはそのへん、ちゃんと出してる。

 量子コンピューター:アルゴリズムを動かせば早くなる(ステップ短い)

 今の粒子コンピューターは、ほぼほぼたいしたことない。

 みんなが量子コンピューターとおもっているのは、無冷媒希釈「冷凍機」
 その先っぽにあるのが、量子コンピューター:めちゃめちゃ、温度冷やす→超電導
 外からの信号入れる(パルス電流)ので、シャンデリアみたいになっている
 回路2マイクロメートル:量子ビット


●どんなところが、量子コンピューターやってるの?
 カオスマップ:日本は富士通ぐらい、アニーリングは一部
 重要企業は、マイクロソフト、IBM、グーグル
  IBM Q:無償でクラウド提供
 →量子コンピューターを提供しているのはIBMだけ

 Google:高精度な量子コンピューター 72ビット(大規模)を作っている
  →なかなかリリースできていない:これがでたらやばい

 マイクロソフト:フルスタックソリューション
 チップ・アプリ・応用:ナノワイヤー できれば高性能(論文は出てる)

ソフトウェア:各社
 Cirq(さーく)
 IBM QISKit
 マイクロソフト: Q# →Visual Studio Codeで動く

●世界の動向
 日本:大学がハード(国の予算:Q-LEAP きゅーりーぷ JST主導、超電導型)
  日本はアニーリングもしている:理論を作った

 かなだ:D-Wave:アニーリング ハードを作った。

 US:ベンチャー

 中国:通信

 オーストラリア:半導体

 ヨーロッパ:いろいろ

●いまの量子コンピューターは、
 コンピューターのENIACに似たような感じ

●量子コンピューターを使うためのソフトウェア構造
 ファームウェア:アセンブリ:アプリケーション

 PC 量子プログラミングは作れる→クラウドを介して動かす
 マイクロソフトはシミュレーターを提供
  →お勉強はできる

 アセンブリレベ(QASM)ルの技術で書くことは
 コンパイラ=さかん、物理が得意な人が作ろうとしている
  →ヨーロッパは融合できている。日本は今から

 QASM:いろいろ提案

●量子アセンブリ言語
 命令は3つ(OPENQASM(おーぷんかすむ)で定義されているのは)
 ライブラリはある。
   QISKit
   PyQuil
   QuTip
   ProjectQ
   Cirq

   Q#

 量子化学計算、最適化問題のライブラリはある

●やるには
・ライブラリを入れる→クラウドの先に計算できる
 真似事はできる(シミュレーター)


・ディープラーニングの量子計算→ビジネスは疑問、研究では有望

 やってますって、いっちゃう人が多い
 宣言した人に乗っかる
 GPUを量子コンピューターにする?テンソルフロー 
 やってみないとわからない
 リスク:量子コンピューターが動かない。ソフトがGPUに勝てない
 くおんたむ すぷれーましーSupremasy)スパコンを超える

●量子計算の裏側
 シュレージンガー方程式
   量子:波と量子の性質 量子の運動を記述するための方程式

   量子状態→運動方程式で書く:時間を分割→ユニタリオペレーターを掛けていく

  これを利用する

 量子ゲート回路図
 オペレーションは、波長で操作する

 量子計算は、複素行列の演算として扱える
手順は4つ
1.量子ビットを用意して初期化する
2.ユニタリ行列で記述する
3.ユニタリ行列を量子ビットに作用する
4.測定する

ゲートは行列で書ける

1.量子ビットを用意しましょう
 複素ベクトルを用意する:ケットベクトルと呼ぶ→1量子ビットはぶろっふぉ球であらわす

N量子
 2のN乗の複素確率で表す

2量子ビット 00 01 10 11 の複素確率で表せる
 →確率:たすと1
 複素確率:

ユニタリ行列:球面上の任意の点に移していく
 基本セット→任意回転

行列の掛け算がアセンブリ(3つの行列)


次々に→普通の行列
並んでいる→テンソル積

測定:係数→複素確率
 測定すると、状態が1つになる:どっちかの答えが出る。何回かやるとパーセントが分かる
 高確率になるような計算をさせる

どこかの状態になります。:射影で求める→長さの比 が確率
 →射影にも軸がある

●GPUのほうが早くない?
・量子重ね合わせ状態が作れる。

・エンタングルメント:量子もつれ
 積情報では表せない状態:積状態 エンタングルメント状態と積状態がある

アルゴリズム
・量子コンピューターを量子コンピューターらしく使う

 Quantum Algorithm Zooというところにアルゴリズムがある


 NISQ:ノイズあって中規模
 量子・古典コンピューター

アルゴリズム3つの潮流
 ショアに続く素晴らしアルゴリズム
 NISQハイブリッド
 Quantum Spremacy

Groverのアルゴリズム、SWAP Test
周期性を見つける:波の周期が図れれば計算できる

量子化学計算:分子の軌道 VQEで量子科学計算を行う→シュレーディンガー方程式の実験機

・OpenQLの紹介




  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする