量子コンピュータを学ぶ機運はどんどん高まっています。大事な要素は、
1、ハードウェアを理解する
2、ソフトウェアを理解する
3、パブリッククラウドを理解する
です。まずは簡単にそれらを確認したうえで、見てみたいと思います。
ハードウェア
ハードウェアは大きく分けて、超電導、イオントラップ、シリコン量子ビット、光量子フォトニクスがあります。このなかで、フォトニクス方式だけ計算原理やソフトウェアが違います。残りの三つは同じです。
超電導は2015-2020にメインに開発され、イオントラップは2020年から登場して性能がいいです。シリコンは今後5-10年くらいで登場すると思われます。
超電導、イオントラップ、シリコンは計算原理が同じなのでどれか一つ学べば大丈夫です。光マシンだけは計算原理が違うのでほかの三つの方式とは現時点では共通で学ぶことができません。
ソフトウェア
最近はとにかく量子アニーリングをやったので量子ゲートを始めたいという要望が多いですので、ゲートマシンのソフトウェア変遷を追います。ゲートを学ぶのはかなり大変ですので、がんばってください。
1985年から開発が始まったのが、理想的な量子コンピュータを想定した汎用アルゴリズムです。固有値問題を位相で解く、量子位相推定。振幅を利用して古典計算を高速化する量子振幅増幅。あとは、時間発展計算などがあります。主に、2012年にはカナダのD-Waveから量子アニーリングマシンが登場しました。
量子位相推定は材料計算や暗号計算、量子振幅増幅は検索や組合せ最適化。時間発展はいろいろなシミュレーションに利用されます。量子アニーリングは組合せ最適化問題に利用されます。
2015-2020年はエラーの多い汎用マシンであるNISQが利用されました。エラーが多いため、汎用アルゴリズムがそのままは使えません。主に、量子位相推定の代わりとなるハイブリッドアルゴリズムであるVQE。VQEの性質と時間発展の性質を組み合わせて量子アニーリングのような計算を行うQAOA。量子振幅増幅はそのまま汎用計算のまま発展しましたが、おもに振幅を取り出す量子振幅推定であるQAEが利用されています。それに加えて、VQEから派生する形で量子機械学習QMLが始まりました。
VQEは材料計算、QAOAは組合せ最適化問題、QAEはモンテカルロシミュレーション、QMLは機械学習全般に利用されています。
2020年以降はNISQアルゴリズムでの研究結果をもとに次の世代の評価に入り始めています。もちろんVQEやQAOAなどのハイブリッドアルゴリズムの研究開発も盛んですが、ある程度パフォーマンスが出づらいということが分かってきたので、量子誤り訂正と呼ばれるエラーの少ない機構の実装が最優先されています。今後アルゴリズムの展望としては、QAEなどの量子振幅増幅はもともと汎用アルゴリズムなのでそのまま利用がすすみ、JPモルガンやゴールドマンサックスが取り掛かっています。QMLもVQEに比べてスタートがおそかったので、ひきつづきモデルの探索などが進んでおり、QCBMなどの機械学習モデルを中心に開発が進んでいます。VQEは性能限界があるので、ひきつづきハイブリッドでやるのか、誤り訂正を想定した量子位相推定の方向に進むかは注視が必要です。QAOAも同様に、ハイブリッドパフォーマンスが課題となりますので、純粋な時間発展計算にとりかかるのか注視が必要です。固有値計算をハイブリッドシステムで、サンプルをもとにした期待値計算で進めるのはかなりたいへんなので、汎用量子アルゴリズムへ戻るかどうかが今後の方向性のポイントでしょう。
パブリッククラウド
今後はパブリッククライドシステムは大変重要になります。Amazon Microsoft Google IBMの4社のクラウドシステムが大きく重要になります。特にシステムの統合やデータの活用で機械学習と統合したりとパブリッククラウドのシステムを量子コンピュータのAPIと統合することによるビジネスメリットはかなり大きいです。
・Amazon Braket
・Microsoft Azure Quantum
・Google Cloud Platform
・IBMQ
の四種類を、今後3年間おさえておけば十分でしょう。
目的別カリキュラム
何を学びたいかによって学ばなくてもいい分野があります。参考にチュートリアルのリンクも張っておきます。少し変更があるかもですが。
Blueqat/Blueqat-tutorials: Tutorials for Blueqat (github.com)
1、暗号
まず暗号は量子ビットの使い方、量子ゲートの使い方を学びます。上記ではstep1とstep2です。そのあとに、step3のshorを学ぶのが目的ですが、基本的な四則演算とそのあとに量子フーリエ変換と量子位相推定を学べばよいです。あとはひたすら回路を作ります。なので、主にstep1-3を行えばいいでしょう。
2、量子化学
量子化学では汎用アルゴリズムの量子位相推定とハイブリッドアルゴリズムのVQEをメインに学びます。step1と2。step3では量子フーリエ変換と量子位相推定を学び、step4のNISQアルゴリズムでVQEを学びます。そのあとstep7の量子化学を学んだあとは、好きな論文をベースに最新を学びます。
3、組合せ最適化
組合せ最適化問題は量子アニーリングマシンとは異なり、少しハミルトニアンを学ぶ必要があります。step1とstep2をまなび、step3は飛ばしても大丈夫です。その後、step4のNISQでVQEとQAOAを学びます。そして、あとはstep6で問題をたくさんやって終わりです。余裕がある人はstep3のgroverも組合せ最適化問題に活用できます。
4、金融モンテカルロや流体計算
こちらは同じ原理で計算をしますので、step1とstep2をした後は、step3のgroverを学びます。現状はそこからさらに量子振幅推定を学ぶ必要がありますが、それらはいまはチュートリアルには追加されていないので、追加予定です。NISQを行う必要はなく、汎用アルゴリズムの量子振幅増幅で事がすみます。
5、機械学習
機械学習は、step1とstep2をやったあとに、汎用は飛ばしてもいいかもしれません。step4のVQEと念のためにQAOAをやって、step5へ。step5は少しずつ充実させます。
6、光量子コンピュータ
光マシンの活用は始まったばかりです。いきなりstep8だけやれば大丈夫です。
まとめ
量子コンピュータのソフトウェアは細分化され始めており、必要なところから学んで無駄のない時間の利用を心がけましょう。