🔬

IBM Quantum Challenge 2021 Fallに参加した(または量子コンピューターで何ができるか)

2021/11/07に公開

IBMは2021年10月27日(日本時間では28日)、量子コンピューターを使ったプログラミング・コンテスト「IBM Quantum Challenge」を10日間の日程で開催しました。バッジの獲得に必要な4つの課題をすべてクリアしたので、そのレポートを記録します。

Image from Gyazo

(11/11 追記)後日、IBMからバッジ申請用のメールがあり、Credlyというデジタル認証サービス上でバッジがもらえました。

IBM Quantum Challenge - Fall 2021 - Advanced - Credly

IBMは量子コンピューター・プラットフォーム「IBM Quantum Lab」を通じて、自社製の量子コンピューターをクラウドで提供しています。オープンソースの量子ソフトウェア開発キット「Qiskit」を使うことで、金融や量子化学、機械学習や最適化といった便利なライブラリとともに、これらのリソースを無料で利用することができます。
今回はそうしたライブラリを活用した産業分野への応用を意識し、4つの課題が参加者に課されました。これらの課題をすべて解くとスキルを証明するバッジがもらえるほか、最終問題のスコアによってランキング上位者が表彰されるとのことです。

量子プログラミング・コンテスト開催 - THINK Blog Japan
(本稿でも上記記事にならって「量子コンピューター」の表記で統一しました)

開催に先駆けて、これら4つの分野に関するデモセッションがYouTube上で公開されました。

https://www.youtube.com/watch?v=claoY57eVIc

https://www.youtube.com/watch?v=UtMVoGXlz04

デモセッションの資料はGitHub上にも公開されています。

https://github.com/qiskit-community/qiskit-application-modules-demo-sessions

また、参加者同士の交流やメンターへの質問場所として、Qiskit Slack#challenge-fall-2021が用意されました。

それでは課題の内容を振り返るとともに、量子コンピューターおよび「Qiskit」で何ができるか見てみましょう。

Challenge 1: ポートフォリオ最適化

一つ目の課題は量子コンピュータを用いたポートフォリオ最適化です。ポートフォリオ最適化は投資のリターンを最大化したい人々にとって決定的なプロセスです。ポートフォリオ最適化の背後にある基礎理論と、量子コンピュータが解ける数式に問題をどう落とし込むかを学びます。ここでは、問題を効率的に解くための Qiskit の金融アプリケーションのクラスとメソッドを学ぶことができます。所与のリスクとリターンのトレードオフを最小化するアセットの組み合わせを見つけ出す、4ストックのポートフォリオ最適化問題が課題でした。

問題設定は容易なのですが、主題はすでに高度な内容を扱っています。自分は『Python によるファイナンス』 を読んでいたので、ここでやろうとしていることはすんなり理解できました。VQE(変分量子固有値ソルバー)やQAOA(量子近似最適化アルゴリズム)により、ポートフォリオの組合せ最適化問題を解くことができました。

Challenge 2: OLED分子のバンドギャップ計算

二つ目の課題はOLED分子のバンドギャップ計算です。量子コンピューターは複雑な分子や物質の電子構造と動的性質の究明にも利用できます。今回は効率的な有機発光ダイオード(OLED)機器の製造に使われる可能性のある工業的な化合物について、その励起状態を量子計算することが目標です。標的となる化合物を電子構造問題として定義し、量子アルゴリズムを適用して最小分子軌道との間の正しいバンドギャップを推定する課題でした。

こちらも量子化学分野の専門的な内容で、私は工学部化学系分野の出身なのでHOMO/LUMOとかは既知の内容だったのですが、原子軌道(AO)と分子軌道(MO)の違いなど参加者質問が多かったように見えました。分子構造を量子空間にマッピングし、励起状態と基底状態との差を算出しました。

Challenge 3: QSVMによる画像分類

三つ目の課題はQSVMによる画像分類です。機械学習は高いパフォーマンスと汎用性により多くの注目を集めてきた技術ですが、量子コンピューティングにはそれをさらに強化する可能性があります。このような量子機械学習の手法の一つである、量子サポートベクトルマシン(QSVM)を使って画像分類モデルを実装します。 QSVM(量子サポートベクトルマシン)を使って3クラスの画像分類器を実装し、より少ない特性マップ回路でより良い正解率を目指す課題でした。

こちらは問題設定自体は普通に機械学習の分類問題で、少しでも機械学習をかじったことのある人なら比較的取り組みやすい問題だったと思います。設定された正解率に達するためには量子もつれを利用した特性マップ回路を使うところがミソで、他の選択肢もあったかと思いますが自分は素直に ZZFeatureMap を使いました。

Challenge 4: バッテリー収入最適化

最後の課題はバッテリー収入最適化です。蓄電池は電力システムにおいて大規模な再生可能エネルギーを柔軟に取り入れるソリューションを提供しますが、そのパフォーマンスは使用に伴って低下するので、それぞれのバッテリーの劣化を考慮して最適なスケジューリングを考慮する必要があります。量子コンピュータを使ってこれらバッテリーの収入を最適化し、回路のコストと深さを最小化し、より高い正解率をより小さな回路で実現することが目標です。B問題まで解くとバッジが得られ、C問題を解くとスコアがランキングに記録されます。

これは一つ目の組合せ最適化の応用問題なのですが、最終問題では論文の数式を読み解いて量子回路をプログラミングすることが求められます。量子位相変換(QPT)や量子フーリエ変換(QFT)を駆使する高度な内容であり、自分はなんとか組んでみたプログラムが最後まで動作せず結局解けませんでした。

総評

公式発表によると、コンテストには世界から累計1293人が参加しました。課題用ノートブックはありがたいことに英語版と並んで日本語版も提供されていたにもかかわらず、自分がSlackチャンネルで見ていた限り日本からの参加者は他に一人か二人くらいしか確認できませんでした。このうち670人の参加者が4つのチャレンジを解きましたが、そのうち49人しか最後の4C問題を解けなかったとのことです。クリア者のうち一割も解けない難しい課題だったということで自分が解けないのもさもありなんですが、他方でそれが解けていれば世界のたった50人に入れていたわけで、悔しさが残りました。来年は量子回路を組めるよう頑張りたいですね。

このようなわけで、量子コンピューティングは既存のコンピューターの計算能力を限界突破するポテンシャルを秘めているにもかかわらず、国内はもとより国際的に見ても参入者がまだまだ少ない領域だと思います。公式ドキュメントやYouTubeチャンネルなどで豊富な教材が提供されているので、関心のあるエンジニアはチャレンジしてみてください。

Qiskit を使った量子計算の学習

YouTubeのvideoIDが不正ですhttps://www.youtube.com/qiskit

Discussion