IBM Quantum Computingを使えば,だれでも無料で5bitまでの量子コンピュータを使用できます.

こんな感じで,ゲートと呼ばれるブロックをドラッグするだけで量子回路を簡単に作れます.

今回は,このIBM Quantum Computerを使ってみたいと思います.
使い方は,こちらの記事を参考にすると良いと思います.

といっても,使い方は非常に簡単で,楽譜のような線の上にゲートを置くだけなので,説明なしでもすぐに使えると思います.
量子コンピュータで素因数分解してみた
今回は,量子コンピュータが得意とする,素因数分解のためのshorのアルゴリズムを組んでみました.
このアルゴリズムによって,古典コンピュータ(我々が使っているコンピュータ)ではものすごく時間がかかる素因数分解でも,一瞬(多項式時間)で解くことができます.
以下の記事を参考にさせて頂きました.

shorのアルゴリズムは,以下の通りです(こちらの記事の画像が分かりやすかったので,引用させていただきました).
shorのアルゴリズム

このうち,③の部分が量子コンピュータが得意とする部分です.ここを計算する量子回路を組みます(ほかの部分は今回は手計算でやります.古典コンピュータでもOK).
shorのアルゴリズムの周期Tを求める部分③は,以下の量子回路で表現できます.

一つ一つのゲートについては,別の記事で解説したいと思います.
左から数えて3段目の,q1からq2に伸びている+のオタマジャクシみたいなやつまでで,f(x)=4^x(mod 15)を作っています.
とにかく,このような量子回路を組めば周期Tを求めることができ,素因数分解できます.
上の量子回路の実行結果は,以下のようになっています.

T=0と2がそれぞれ50%の確率で正解という結果が得られました.
周期が0であるのは不適切なので,周期は2ということになります.
shorのアルゴリズム④に従って,a^(T/2)±1=4^(2/2)±1=5,3とN=15の最大公約数を求めると,それぞれ5と3となります.
5×3=15なので,素因数分解できていることが分かります.
5bitまでしか使えないので,あまり計算の速さは感じられませんが,量子コンピュータの勉強にはなりました.
shorのアルゴリズムをもっと学びたい人へ
shorのアルゴリズムについてより詳しく勉強したいひとは,以下の動画などがおすすめです.
1時間規模の講義動画を上げてくれているのはありがたいですね.
コメント