こんにちは、量子コンピュータの学習ってプログラミングが必要で難しいですよね。今回はその常識をひっくり返す簡単にマウスやタッチパッドだけで実行できるツールを開発し、公開しました。2021年11月11日段階の公開情報です。
blueqat AutoQML / blueqat AutoQAOA(下のリンク先から無料で利用できます!)
https://auto.blueqat.com/
こちらは、blueqatSDKを利用した組合せ最適化問題を学ぶためのツールです。通常量子ゲート方式と呼ばれる量子コンピュータは、量子ゲートと呼ばれる細かい操作を積み重ねて計算をします。それらはこれまで手作業で作る必要がありました。もしくはプログラムで行うこともできましたが、専用のプログラムを覚える必要がありました。今回はそれらをすべて排除し、条件を設定するだけで自動的に計算をしてくれるものを公開いたしました。
QUBO
量子コンピュータを使って組合せ最適化問題を解くためにはQUBOと呼ばれる式に問題を落とし込みます。今後このQUBOを自動的に作るアプリケーションの公開を予定していますが、今回は初期値を使ってみてください。慣れている方は自分の作ったQUBOを入れてもらっても大丈夫です。
パラメータ
パラメータは量子ゲート方式で組合せ最適化問題を解く際に利用されるQAOAと呼ばれるアルゴリズムで設定できるパラメータを用意しました。
1,ステップ数
量子断熱計算と呼ばれる手法において、本来はアナログで連続している計算をデジタルに落とし込むときの細かさのようなものです。ステップ数と呼ばれます。ステップ数は多いほうが計算の精度が高くなるといわれていますが、初期値は1となっています。
2,最適化ソルバー
QAOAはハイブリッド計算と呼ばれており、量子コンピュータと普通のコンピュータを交互に利用します。今回は普通のコンピュータ側で利用される最適化ソルバーを選べます。この選び方によって問題の解かれ方や速度が変わります。
グラフと行列
こちらは、問題を解く際には直接は関連しないのですが、入力したQUBOを可視化しています。通常量子アニーリングと呼ばれる手法では2つの量子ビット同士の掛け算までが利用できますが、その作った数式がどのようにできているのかを、グラフではネットワークグラフ型で表示、行列ではQUBOmatrixと呼ばれる関係性が分かる形に落としています。ちなみに、量子ゲートでは、3つ以上の量子ビットの掛け算もQAOAを利用するとそのまま計算できますが、グラフや行列では3つ以上の量子ビットの掛け算を可視化することは(今回の機能では)できません。
計算結果の出力
今回計算結果は二種類の方法で確認ができます。
一つは棒グラフの表示。左に行くほど計算結果の出る確率が高くなります。
もう一つは表形式で上に行くほど計算結果の出る確率が高くなります。
最適化ステップ
QAOAでは最適化をかけるときに普通のコンピュータを使います。その際には最適化ソルバーと呼ばれるソフトウェアを使いますが、今回の量子アルゴリズムを利用した場合に利用した最適化ソルバーがどのようにQUBOのエネルギー値を小さくしていくかのステップをグラフで見れます。これによりソルバーの違いによる収束の違いを判断できます。
blueqat のpython code自動出力
手作業でいろいろ試してみた後に、プログラミングでもう一度確認したいという人もいます。blueqat cloudやblueqat SDKに対応した形でコピーアンドペーストで利用できるコード自動出力機能を搭載しました。これにより簡単に計算が再現できます。
量子回路自動生成、自動表示機能
最後の機能が、量子回路の自動生成と自動表示です。とくにQAOAはよく名前は聞くけどどうやって回路ができているのかわからないなど理解が難しいです。blueqat AutoQAOAではすべてこの量子回路を自動で作って出力してくれます。
また、回路のblueqatSDKでの表記も合わせて出力されますので、プログラムを利用されている方も再現することができます。
まとめ
このように今回は新しい機能としてマウスやタッチパッドで操作するだけで利用できるノーコードツールblueqat AutoQAOA/AutoQMLをリリースさせていただきました。回路の表示機能やその他の高度な機能、また今回はシミュレータ中心で動いている回路を量子コンピュータ本体に送信する高機能版などを有料版としてクライアント様にすでに提供を始めています。
よりよい量子コンピュータの学習と教育にお役立てください。以上です。