カナダD-Wave Systemsの「Leap」は同社の量子アニーリング(QA)マシンをクラウドで貸し出すサービスである。Leapに登録すれば、誰でもD-Waveマシンで組合せ最適化問題を解くことができる。記者は今回、2つの簡単な問題をD-Waveのマシンで解いてみた。
Python環境でマシン利用が可能
使用に当たっては、まずLeapに登録してQAマシンへのアクセスに必要なAPIトークンの発行を受ける(図C-1)。登録に必要な情報は氏名や所属、利用目的など。5分もかからずに済む。登録したユーザーは1カ月間無料でマシンを1分間使える。1分間と言うと短く感じるが、簡単な組合せ最適化問題であれば数µ~数ms程度で解が求まるので、数千回は使用することができる。無料プランの他に、研究開発に使ったり、高度な組合せ最適化問題を解いたりするための有料プランもある。マシンは最新機の「D-Wave Advantage」と前機の「D-Wave 2000Q」、さらに古典コンピューターとのハイブリッドソルバー2種の計4種類から選べる。以下の問題では、いずれもAdvantageを使用した。
D-WaveマシンのソルバーAPIは、PythonやMATLAB、Cなどのプログラミング言語に対応しており、今回はWebブラウザーでPythonの実行環境を利用できる米Googleのクラウドサービス「Google Colaboratory」を使う。D-Waveは、Pythonで動く「Ocean」というオープンソースのSDK(ソフトウエア開発キット)を提供している。Ocean経由でマシン実機にアクセスして、組合せ最適化問題を解いていく。なお、記事で紹介するイジングモデルや使用したソースコードは、東北大学 教授の大関真之氏のYouTubeにおける講義動画を参考にした。