大阪電気通信大学

確率によって勝敗の決まるゲームを題材とした対戦可能なAIのための研究

1.研究背景・目的

 QuizKnock[1]がYouTubeで公開している,五目並べを改変したゲームである『量子五目並べ』を使用した動画(動画1)を視聴した.その際,先手有利とされる二人零和有限確定完全情報ゲーム[2]に確率の要素の入ったゲームでの強い打ち方,弱い打ち方はどのようなものなのか興味を持った.報酬の与え方などに差異を与えて学習をさせれば,強い打ち方,弱い打ち方とともに,対戦に有用なAIの作成もできるのではないかと考えた.

 研究の目的は,二人零和有限確定完全情報ゲームに確率の要素の入った二人零和有限ゲームでの,強い打ち方,弱い打ち方を調査することと,その中から対戦に有用なAIを作成,提案することである.

動画1.【理解不能】何色になるか分からない量子で五目並べやってみた【でも楽しそう】 – YouTube

2.研究概要・結果

2.1.量子五目並べについて

 量子五目並べでは,10%,30%,70%,90%の確率で黒になる4種の石を使用する.低い確率2種を白が,高い確率2種を黒が使用し,90%,10%,70%,30%の順に交互に置いていく.
 手番の終わりに「観測」するかを手番プレイヤーが選択する.観測する場合,盤上のそれぞれの石の確率に従い白黒どちらかになり,その観測後の盤面で5つ並んでいたプレイヤーの勝利となる.観測ごとにそれぞれの確率で白黒が変化するため,観測前が同一でも観測後に同一となるとは限らない.また,観測はゲーム終了までにそれぞれ5回まで行うことができる.

2.2.研究概要

 『量子五目並べ』を使用し,並べ方に差異が出るよう学習させる.それらを勝負させて,学習結果と勝敗の結果で比較する.対戦に有用なAIを目的とするので,勝敗の結果に関しては,勝率と共に,勝敗の決まったターン数を重視する.10×10盤面を使用しているため,最大100ターンとなる.そのため,その半分である50ターン未満もしくは50ターン以上の場合それに近い方が良いものとする.
 Unityおよび,Unityを使用して機械学習を行うことのできるフレームワークであるML-Agents Toolkit Release22(以下ML-Agents)[3]を使用する.ML-Agentsの使用にあたって,Pyhtonと,その環境管理システムAnacondaを使用した.
 Unity上で量子五目並べを作成(図1,図2,動画2)し,その後学習用AIの作成を行なった.

図1.ゲーム画面
図2.図1の観測後の盤面
動画2.ゲームプレイ動画

 学習用AIは,ML-Agentsを用いてリバーシで自己学習をしていた方の報告「Unity ML-Agentsで作ったターン制ゲームを鍛える」[4]を参考に学習設定ファイルの値を設定し,その中でさらに勾配降下[5]の初期学習率の値であるlearning_rateと,行動のランダムさを決める値であるbetaを初期値(learning_rateは3e-4,betaは5e-3)と1e-4でそれぞれ変更した4種のファイルA(どちらも1e-4),B(どちらも初期値),C(learning_rateのみ初期値),D(betaのみ初期値)で学習させたものを比較する.それらの中で,並べ方に差異が出るよう報酬の与え方を変えたものを0,1,2,3,4の5種用意した.0は自他の石の区別なく5つ並べることを目標とし,1は2種ある自分の石を並べることを目標とする.2は自分の石のうち黒になる確率の低い石が並ぶように,3は自分の石のうち黒になる確率の高い石が並ぶように報酬を与える.4は並びによる報酬を与えないことにした.
 これらを同じ学習ファイルで学習したAI同士で先攻後攻を変え,各AIごとに5,000試合ずつ計25,000試合をそれぞれ4種のAIで行った.

2.3.結果

表1. 4種のAIの勝率と勝敗平均と報酬別各5種平均内の最短,最長ターン

AI勝率平均ターン最短最長
A50.00%45.8937.8054.27
B50.59%49.7137.1280.34
C51.83%56.8042.0176.02
D49.50%69.5754.1280.38

 表1にある通り,勝率に関しては差が大きく開かなかった.しかし,ターン数はAIAが平均,最長は1番短く,最短も2番目に短い結果となった.

3.考察

 結果から,learning_rate,betaの値どちらもが小さい方が対戦に有用なAIであると言える.また,最終的な学習ファイルの値を決定するまでの過程で,どれだけ将来の報酬を重視するかという値であるgammaの値を小さくすると並びの差異が大きくなり,観測もよく行うようになった.これは,並べ方による差異を生ませるため,並べることに対して報酬を与えたためだと考えられる.
 報酬の与え方にもよると思われるが,石を置いた際の盤面上での並びに小さな報酬を与えることで,並びに差異を生むことができた.相手の行動を阻害する行動は弱い部分はあるが,勝ちに向かって動くため,対戦相手としては有用であると考えられる.

4.おわりに

 本研究では,二人零和有限確定完全情報ゲームに確率の要素の入ったゲームでの,自己学習をさせた対戦に有用なAIの研究,作成を行なった.結果として決着ターンの差異が大きくなったが,勝率の差が大きく開くことはなかった.
 勝率においての二人零和有限ゲームでの,強い打ち方,弱い打ち方を見つけることは難しかったが,決着ターン数での早い,遅いの差ができ,対戦相手として有用なAIが作成できたのではないかと考える.

参考文献

[1]株式会社baton , “QuizKnock【クイズノック】”, https://www.portal.quizknock.com

[2]“二人零和有限確定完全情報ゲームの考察”, 笠井 易,齊藤 実, 山梨学院大学経営情報学論集, 山梨学院大学経営情報学研究会, 第16号, 2010.2, pp.9-18

[3]Juliani, Arthur and Berges, Vincent-Pierre and Teng, Ervin and Cohen, Andrew and Harper, Jonathan and Elion, Chris and Goy, Chris and Gao, Yuan and Henry, Hunter and Mattar, Marwan and Lange, Danny: Unity: “A general platform for intelligent agents”, arXiv preprint arXiv:1809.02627, https://arxiv.org/pdf/1809.02627.pdf,2020

[4]テトララボ , “Unity ML-Agentsで作ったターン制ゲームを鍛える”, Qiita, https://qiita.com/tetr4lab/items/1a2f771bf657e4aaa19e

[5]Musashi AI 株式会社 , “勾配降下法(Gradient Descent) | 用語集 | Musashi AI 株式会社”, https://musashi-ai.com/glossary/2023/06/d19ae6ee6b834a6298bf171060afeaca3bd938c3.html

作者プロフィール

丸山 亮祐

大阪電気通信大学 総合情報学部 デジタルゲーム学科
ソフトウエア科学研究室所属

QuizKnockの中だと須貝さんが面白くて好き

コメント