フューチャー技術ブログ

IBM Quantum Challenge Fall 2021参加レポート

ibm-quantum-challenge-fall-2021-advanced.png

はじめに

こんにちは。TIG/DXユニット所属の宮永です。

本記事は2021年10月27日~11月5日に開催されたIBM Quantum Challenge Fall 2021の参加レポートです。

イベントで出題された問題はGitHubリポジトリに格納されているため、参考にしてください。

執筆の動機

本記事の執筆の動機は多くの人にこの素晴らしいイベントを知ってもらい、参加していただきたいと思ったためです。

私自身は当イベントへの参加は前回と今回、2回の参加経験しかないですが、IBM Quantum Challenge Fall 2021は前回大会に比べ、より広い層の方が取り組みやすい内容となっており、量子計算入門者でも十分に楽しめる内容となっていました。

フューチャーに多数在籍している競プロer出身の方々にも興味を持っていただけるのではないかと思い、執筆しました。
よろしくお願いいたします。

大会の概要

大会の概要はこちらに記載されています。

IBM Quantum ChallengeはIBM社が開発を進めている量子計算パッケージQiskitを使用し、与えられた課題を解いてくハッカソン形式の大会です。全世界同時開催されており、IBM Quantum Challenge Fall 2021では約1300名が10日間、頭を悩ませ、問題に挑戦しました。

IBM Quantum Challenge Fall 2021では「金融」、「化学」、「機械学習」、「最適化」に関する全4問の課題が出題されました。全4問の課題はチュートリアル形式になっており、参加者は与えられたヒントや参考文献をもとに問題を解いていきます。中には論文片手に解き進める問題もあり、入門者から上級者まで楽しめるようになっています。

大会終了後は参加者の解答状況によってサムネイルのようなバッチが進呈されます。こういったイベントも参加者のモチベーションになり、とても良いですね。

さらに、全4問を解き終えると最終問題として超難問が用意されています。この最終問題についてはスコアが用意されており、より良いスコアをたたき出したトップ10名はイベントのリポジトリに掲載されます。

問題の内容と所感

参考までにどのような問題が出題されたのか一例を抜粋します。

以下、公式から抜粋した「最適化」の問題です。

2つの市場 , を考えます。時間枠は最大個あり、電池は各時間枠(通常は1日)において、どちらか一方の市場で動作します。毎日が独立しているとみなされ、1日のうちの最適化は別の問題とみなします。毎朝、電池は同じレベルの電力でスタートするため、充電の問題は考慮しません。 個の時間枠で2つの市場が利用可能と予測するため、各時間枠(日)と各市場において、以下が既知であると仮定します:
日々の収益 ,
電池の日々の劣化、または健康コスト(サイクル数),
私たちは、最適なスケジュールを見つけたい、つまりサイクル以下のコストで寿命時間と収益を最適化したいです。ここで、

を導入します。
決定変数を導入し、すべての取りうるベクトル、つまりスケジュール

に関して、が選択された場合はが選択された場合はとします。先ほど定式化された問題は、次のように表すことができます。

この問題は、よく知られている組み合わせ最適化の問題の1つとは思えませんが、心配する必要はありません。順番にヒントを解きながら、量子計算でこの問題を解いていきます。
ibm-quantum-challenge-fall-2021/challenge-4-ja.ipynb at main · qiskit-community/ibm-quantum-challenge-fall-2021

一見するとどこから手をつければよいかわからないと思います。私も問題を見たときは面食らいましたが、問題各所で丁寧に誘導がされているため指示に従ってゆけば自然と解くことのできる構成になっています。

上記は「最適化」の例ですが、「化学」分野に関しても有機EL分子のエネルギーバンドギャップの計算とややアカデミックな内容が出題テーマとなっていました。課題を解くという点に関しては高校卒業程度の化学知識を備えていれば問題なく解くことができるようになっています。

全体として、量子計算や出題テーマの専門性よりもQiskitライブラリや参考文献を紐解く力が試されていると感じました。

参加するにあたって

問題は主催側が用意しているJupyter Notebook環境で取り組めるため、参加に必要なものはネットワークに接続されたPC1台です。

注意事項としては当イベントではQiskitという量子計算パッケージを用いる必要があるため、Pythonの知識が必須です。公式Documentは一部日本語化されているため、参加への敷居は低いと思います。また、公式からはテキストブックも提供されています。

テキストブックだけではなく動画コンテンツも充実しています。動画コンテンツも日本語化されており、学習環境に悩むことはないと思います。

IBM社から提供されている資料以外にも量子計算について学べるリソースはたくさんあります。

Microsoft社が提供しているQuantum Katasはその1つです。こちらも線形代数の基礎から基本的な量子アルゴリズムまでJupyter Notebook環境で学習を進めることができます。

また、日本語化されたドキュメントではQunaSys社が提供しているQuantum Native Dojoや、東京大学が提供している講義資料量子コンピューティング・ワークブックなどたくさんのリソースがあります。

より専門的な内容、もっと深い量子コンピューティングの基礎研究などが気になる方は、量子技術教育プログラム公式サイトで提供されている基礎ノートをご覧になるとよいかもしれません。

参加してみて

10日間は長いようで短かったです。

イベント期間中はSlackでのコミュニケーションが頻繁に行われており、質問やお互いを褒めあう文化が溢れていて気持ちの良いものでした。

quantum_challenge_slack.png

私自身の実績としては全4問の課題を解き終え、サムネイルのAdvancedバッジを取得することができました。

image.png

最終問題は自分には難しく、まだまだ勉強が足らないなと痛感しました。次回大会では本当の意味でCompleteを成し遂げたいです。

おわりに

少し前まではSFの世界であった量子コンピューターが自分のPC1つで学べるというのは非常に刺激的な体験です。

より多くの人にイベントの楽しさや量子計算への期待感が伝われば幸いです。機会があればまた参加レポートなどを執筆したいと思います。

最後まで読んでいただきありがとうございました。