ただのメモ

他の人に見せても良い方のメモ

IBM Qやってみた

こちらの動画をまとめてみる

  • 量子コンピュータとは、量子性を積極的に利用して計算する計算機。
  • 量子性とは重ね合わせの原理や、量子もつれ
  • 古典コンピュータとは、データのもたせ方やルールが違う
  • 使いたい理由としては、1)計算量の大きいものを早く解くため、2)量子化学、量子機械学習、だが、特定の問題に対してのみ適応。
  • 出現しうる全データの重ね合わせで表現される。
  • 測定とは、量子ビットが0か1かを読み出す処理。重ね合わせの原理により、確率的に0か1が出現する状態を作れる。
  • 量子計算では、最後に測定のタイミングまでに、求める結果の出現確率が1に近づくように実装する。(実際、これがGroverのアルゴリズムに対応)
  • 量子状態はベクトル、ゲートは行列になる。
  • ベクトルは足し引きが同じ成分同士では出来る。定数倍、掛け算も出来る(列を行に一個ずつかけていく)掛け算は非可換!
  • 1つのビットは2つの値。
  • 量子ゲートでは、X(0と1入れ替える)、Y、Z(1の状態の確率振幅符号を逆にする)、H(0か1の状態から重ね合わせ状態を作る)、CNOT(上の状態が1なら下の状態にXゲートをする。それ以外は何もしない)の他に、S、Tがある。何もしないのも、ある意味ゲート。
  • IBM Q、Qiskit、IBM Q Experienceがある。
  • IMB Qは実際に使えるので、やってみる。
  • 最初に量子回路を作る。

    f:id:medical-science:20211010005928p:plain

  • この理論的な状態の確率分布はこのようになる。

    f:id:medical-science:20211010010227p:plain

  • 実際にIBM量子コンピュータに投げると、結果が帰ってくる(待ち時間はそこそこ)

    f:id:medical-science:20211010005757p:plain

  • ノイズがある(431,53,47,493)けれども、まあ大体は予測出来そう。
  • もうちょっと複雑な回路でやってみる価値があるが、あまり期待はしない。

ゲート方式は諦めて、アニーリング方式を採用した方が良さそう。