青山学院大学 理工学部 情報テクノロジー学科
戸辺研究室
関連論文:https://ieeexplore.ieee.org/document/10572104
私は、マルチプレイヤーゲームのプレイヤーのチーム分けに、量子アニーリング・イジングマシンを活用することで、短時間でバランスが取れたチーム分けができることを確認し論文として発表しました。
マルチプレイヤーゲームとは、インターネットを介して世界中のプレイヤーが集い、チームに分かれて対戦するゲームです。チーム分けにおいては、各プレイヤーの得意な役割や能力といった属性を考慮しながら、チームごとの強さのバランスが取れるように、短時間で適切なチーム分けを行うことが求められます。
ゲームにおいて、チーム分けの質というのは、ゲームの面白さや盛り上がりを大きく左右する非常に重要な要素なのですが、ゲーム内の既存手法によるチーム分けには偏りが見られることがあり、プレイヤー間で不満が生じることも少なくありませんでした。このチーム分けの課題について、組合せ最適化が適用できるのではないかと考えました。特に、量子アニーリング・イジングマシンは与えられた制約条件を満たしながら目的関数の値がよくなる最適な組み合わせを高速に探索できるということで、既存手法に変わるチーム分けの手法として適していると思いました。
結果として、各プレイヤーにできるだけ得意な役割を割り当てつつも、チームとしての強さのばらつきができるだけ小さくなる(分散の最小化)ような定式化を行いましたが、所望のチーム分けを非常に短時間で求めることができました。
私はPythonは初心者でしたが、Fixstars Amplifyのライブラリは目的関数も制約条件も直感的に実装できるので、すぐに使いこなせるようになりました。特に、制約条件の実装はヘルパー関数が充実しているので大変助かりました。私が実装していた当時は、制約条件の重みや目的関数間の重みの調整に試行錯誤を要する場面もありましたが、現在はデモ・チュートリアルを通じて実践的なアプローチや有用なTipsが紹介されており*1、とてもいいですね。今後もこうした情報が充実していけば、さらに取り組みやすくなると思います。
現在は、量子コンピュータの応用先として、量子インターネットにおける任意のエンドポイント間の接続方法に関する研究に取り組んでおり、手法の検討や先行研究の調査を進めている段階です。今後、組合せ最適化問題に直面する場面があれば、ぜひまたFixstars Amplifyを活用したいと思っています。
最適解を求めるまでの時間をt(s)としたときのlog10t
*本記事の掲載内容は全て取材時(2025年4月)の情報に基づいています