日本ソフトウェア科学会第 38 回大会 (2021 年度) 講演論文集

ゲーム AI のプレイスタイルを生成するためのプレイログのクラスタリングを用いたフレームワーク
岩崎 悠

長谷部 浩二ゲームをプレイするエージェントの研究において，プレイスタイルを生成する試みが数多くなされている．これらの先行研究の多くは，あらかじめ想定した特定のプレイスタイルが生成されるように，ゲームのプレイに対する報酬関数を定義して最適な行動を学習させるというものであった．しかし，一般にこのような手法では想定していないプレイスタイルを生成することは難しい．そこで本研究では，複数のプレイスタイルを事前に定義することなく生成する
ためのフレームワークを提案する．具体的には，まず対象とするゲームに関する報酬関数の集合を用意し，その中の1 つの関数を用いてエージェントに最適な行動を学習させることを繰り返す．次に，これらの学習済みのエージェン
トにそれぞれゲームをプレイさせ，そのスコアがあらかじめ決められたしきい値以上であるもののみを選別する．さらに，こうして選別されたエージェントのプレイログ（ゲーム内でのふるまいに関するメトリクス）をクラスタリン
グし，その結果得られた各クラスタをプレイスタイルとみなす．これによって，ゲームをうまくプレイする特徴的なスタイルを生成することができる．以上の手法をローグライクゲームの MiniDungeons に適用し，複数のプレイス
タイルが生成されることを確認した．

究などが挙げられる．

1 はじめにこれらの研究のうち，エージェントのプレイスタイ

近年，ゲームをプレイするコンピュータプログラ

ルに関するものが数多く存在する [2–5, 7, 19, 20]．こム（エージェント）の研究開発が盛んに行われていこで，プレイスタイルとはプレイヤーの特徴的な行

る．こうした研究のうち，完全情報ゲームについては動の集合を指す [20]．たとえばポーカーにおいては，

AlphaZero [16] をはじめ，人間のプロを超えるエー

ブラフを多用するスタイルや，安定して勝ちを狙う堅ジェントがすでに開発されている．そのため現在で実なスタイルなどが考えられる．プレイスタイルに関は，完全情報ゲームをうまくプレイすること以外をするこれらの先行研究においては，ゲームデザイナー目的とした幅広い研究がなされている [8]．たとえば，やエンジニアが生成したいプレイスタイルをあらか

不完全情報ゲームをプレイするエージェント [1] や人

じめ定義したうえで，対応する報酬関数（エージェン

間のプレイを模倣するエージェント [12] に関する研トを学習させるための関数）を与えて最適な行動を学習させることにより，特定のスタイルを持つエージェ

A framework for generating playstyles of Game AI
with clustering of play logs
This is an unrefereed paper. Copyrights belong to
the authors.
Yu Iwasaki, 筑波大学大学院理工情報生命学術院 シス テ ム 情 報 工 学 研 究 群 情 報 理 工 学 位 プ ロ グ ラ ム,
Graduate School of Science and Technology Degree
Programs in Systems and Information Engineering,
Master’s/Doctoral Program in Computer Science,
University of Tsukuba.
Koji Hasebe, 筑波大学システム情報系, Faculty of Engineering, Information and Systems, University ofTsukuba.

ントを生成することが多い．しかし，こうした方法では，あらかじめ想定していたプレイスタイルしか生成できないという課題が残されていた．
そのため本研究では，プレイスタイルと報酬関数を事前に定義することなく，ゲームをうまくプレイするスタイルを複数生成するフレームワークを提案する．
具体的には，まず対象とするゲームに関する報酬関数
の集合を用意し，その中の 1 つの関数を用いてエー
ジェントに最適な行動を学習させることを繰り返す．

これにより，それぞれ異なる報酬関数によって学習さ

らびにその結果について述べる．最後に第 6 節では，れた多数のエージェントを用意する．次に，これらの結論と今後の課題について述べる．

学習済みのエージェントにそれぞれゲームをプレイさせ，そのスコア（これを定義する関数をこの論文では

2 関連研究

利得関数と呼ぶ）があらかじめ決められたしきい値

プレイスタイルに関して定義を与えた研究は，我々以上であるもののみを選別する．さらに，こうして選の知る限り Tychsen らによる論文 [20] が最初である．

別されたエージェントのプレイログ（ゲーム内でのふ彼らは，プレイスタイルをプレイヤーの特徴的な行動

るまいを記録したメトリクス）をクラスタリングし，の集合であると定義している．さらにこの研究においその結果得られた各クラスタをプレイスタイルとみて，彼らは Hitman: Blood Money というゲームを対なす．以上の手続きにより，ゲームをうまくプレイす

象に，プレイヤーの位置座標などの様々なデータを指る特徴的なスタイルを生成することができる．

標として，プレイヤーの行動を分析している．また，

本研究では，提案するフレームワークの性能を評

これらの評価指標には抽象度の高いものから低いも価するために，ローグライクゲームである MiniDun-のまであり，これらをうまく処理することよって分析

geons [4] を対象にプレイスタイルを生成する実験をに利用できると述べている．

行った．エージェントの学習には NEAT（NeuroEvo-

Holmgård らの研究 [4, 5] では，プレイスタイルを

lution of Augmenting Topologies）[18] と呼ばれる学習によって生成するために，プレイヤーの意思決定

遺伝的アルゴリズムの一種を利用した．また，報酬関のモデルを与え，MiniDungeons というローグライク

数を探索する際には，グリッドサーチを用いて 96 個

ゲームにおいて 5 つの異なるプレイスタイルのエーの報酬関数を抽出した．利得関数は，エージェントがジェントを作成している．ここでは，進化戦略を用い3 種類の評価ステージにおいて出口へ安全に到達するて適応度の高い個体を探索している．このとき，生成ことと定義した．以上の設定のもとで実験した結果，させたいプレイスタイルのそれぞれに対して報酬関数

41 個の報酬関数によってそれぞれ学習されたエージェを設定し，特定のプレイスタイルを生成させている．

ントにおいて利得関数の値がしきい値に関する条件

たとえば，Monster Killer というプレイスタイルの（安全に出口へ到達する）を満たした．これらのエー

報酬関数は，モンスターを多く倒すほど報酬が大きくジェントのプレイログをクラスタリングした結果，4なるように設定されている．

通りの異なるプレイスタイルが生成された．加えて，また，Ishii ら [7] は格闘ゲームプラットフォーム

プレイスタイルごとにゲーム内イベントのログを比FightingICE において近距離型と遠距離型の 2 種類

較した結果，それぞれのプレイスタイルを表す特徴的のプレイスタイルを生成している．これは，モンテカ

なふるまいをしていることを確認することができた．

ルロ木探索における報酬関数に，相手との距離とスタ

本研究の貢献として以下の 2 つが挙げられる．1 つイルに適した行動の選択回数を加えることによって実目は，あらかじめプレイスタイルと報酬関数を定義す現している．

ることなく，プレイスタイルを生成できる点である．

Tampuu ら [19] は Atari2600 の Pong というホッ

2 つ目は，事前に定義せずに生成されるプレイスタイ

ケーゲームにおいて協調と敵対の 2 種類のプレイ

ルは，開発しているゲームデザインならびにゲームシスタイルを生成させている．これは，2 つの Deep

ステムのさらなる理解につながる点である．

Q-Network [10] を用意してそれぞれのエージェント

本論文の構成は以下の通りである．第 2 節では，関に異なる 2 種類の利得関数を設定することで実現し連研究について述べる．第 3 節では，本研究で対象ている．具体的には，相手を倒したときにマイナスのとするゲームならびにプレイスタイルを定義する．第報酬を与えることで協調のスタイルを，プラスの報酬

4 節では，提案手法であるフレームワークについて説を与えることで敵対のスタイルを生成させた．

明する．第 5 節では，フレームワークの実証実験な

Fan ら [2] は初心者のプレイヤーが楽しめるよう

に，異なる戦略を採るヒューリスティクスを最新の囲ある．ゲームの利得関数は，ゲームデザインの観点か

碁プログラムで実装した．具体的には，従来のモンテ

らプレイヤーを楽しませるよう設計されている．こカルロ木探索プログラムで開発した異なる戦略を採の利得関数はエージェントにとって複雑であるため，るヒューリスティクス [6] を，AlphaGo Zero のアル

代わりにエージェントが学習するための報酬関数を

ゴリズムをもとにした囲碁プログラム Leela に適用

独自に設計する必要がある．本研究では，報酬関数をしている．これらの複数の戦略は，勝敗決定時にプロ

数多く探索しエージェントを複数学習させる．その上グラムが得る報酬を作りたい戦略ごとに変更するこ

で，学習済みのエージェントがゲームの利得関数に関とで作成された．

する条件を満たすか検証することによって，ゲームを以上で述べた研究は共通して，プレイスタイルとそのスタイルが生成されるような報酬関数をあらか

うまくプレイする報酬関数ならびにエージェントを選抜することを目指す．

じめ定義することで特定のスタイルのエージェントを生成している．これらの手法の応用として，レベル

3 ゲームとプレイスタイルの定義

デザインの自動テストを試みるもの [4] や人間を飽き

本節では，ゲームから得られるエージェントの行動させない対戦相手としての提供を試みるもの [2] があに関するプレイログならびにプレイスタイルの形式る．しかし，このアプローチでは，事前に想定してい的な定義を与える．その上で，本研究で扱うプレイスないプレイスタイルを生成することが難しいというタイルの生成の問題を定義する．

問題がある．そのため，本研究ではあらかじめプレイ

はじめに，本研究の対象とするゲームを，ゲーム理スタイルを定義せずに，ゲームであり得る複数のプレ論の一分野である完全情報展開型ゲームとして定義

イスタイルを作成することを目指す．

する（ゲーム理論の概要については，文献 [9, 13] な

ゲーム AI の研究では，エージェントの学習に報酬

どを参照のこと）．完全情報展開型ゲームは，結果か関数を用いることが多い．Holmgård らは，MiniDun-

ら得られる利得をもとに複数のプレイヤーが意思決

geons で 5 つの報酬関数を設計した [4]．ここで，こ定を連続して行うゲームである．ただし，簡略化のれらの報酬関数は特徴的にふるまうエージェントをために意思決定を行うプレイヤーは 1 人のみであり，学習させるためのものであり，ゲーム自身の利得関数

確率的な行動の選択は存在しないものとする．

ではない．MiniDungeons のゲームの利得関数（どの定義 1 (ゲーム). ゲームもしくはゲーム木は，組くらいゲームをうまくプレイするかを表す）は，エー(A, H, Z, χ, σ, u) で定義される．ただしここでジェントがスタート地点から安全にゴールにたどり着• A は行動の集合

くことであると考えられる．

• H は木の非終端ノードの集合

Nichol ら [11] は，新しい強化学習のベンチマークとしてソニック・ザ・ヘッジホックを紹介している．
ここで，エージェントの報酬関数は，操作するキャラ
クターであるソニックが右に進むほど正の報酬が与えられるように設計されている．このゲームの利得関数
は，制限時間内にゴールへたどり着くこと，もしくはゲームデザインのもとで設計されているスコアを最大化することであると考えられる．

• Z は木の終端ノードの集合• χ : H → 2A はある非終端ノードにおいてとれる行動の集合を返し• σ : H × A → H ∪ Z はある非終端ノードと行動から，続く終端もしくは非終端ノードへ対応付け• u : Z → R は利得関数
であり，R は実数の集合を表す．
エージェントはゲームにおいて連続した意思決定を

このように，ゲーム AI におけるエージェントの学

行い，終端ノードにおいて利得を獲得する．利得関数

習では，ゲームの利得関数とは別に新たに報酬関数

u は，エージェントがプレイした結果獲得する利得をを作成することが多い．これは，ゲームの利得関数を決定する関数である．この利得関数の最大化がゲー

エージェントに直接学習させることが難しいためでムの目的の達成につながるように，ゲームは設計されている．たとえば，スーパーマリオブラザーズでは表す．

ゴールへの到達の可否や右上に表示されているスコ

定義 4 (学習済みモデル). モデル m がある報酬

アが利得であり，それを計算するシステムが利得関数

関数のもとで学習されたモデルを学習済みモデル

である．

m∗ : Z → A と表し，その集合を M ∗ と表す．た

次に，エージェントがゲームを学習するために必要

だし，g : H × A → D をある非終端ノードで行動な報酬関数について定義する．ゲームの利得関数はを取ったときに得られる計測値のベクトルを返す

ゲームの終端ノードに対応付けられており，エージェ関数とすると，非終端ノード h における行動 a はントが利得関数を直接学習することは難しい．そのa = arg max fw (g(h, a′ )) を満たす．

ため，エージェントは利得関数の代わりに，エージェa′ ∈χ(h)ここで，報酬関数 fw のもとで学習されたモデルントのために設計された報酬関数を学習する．

m∗ で，報酬を最大にするような行動を各ノードで繰

定義 2 (報酬関数). エージェントによるゲームのプり返した結果辿り着いたノードを z[fw , m∗ ] と表す．

レイに関する報酬関数 fw : D1 × · · · × Dn → R を，∑
fw (d1 , . . . , dn ) = n
i=1 wi × di と定義する．ただし

この終端ノードで得られる利得は，u(z[fw , m∗ ]) と表

ここで，w はパラメータに対する重みのベクトルをものであるのに対して，報酬は最適な行動を選択する

表し，w = (w1 , . . . , wn ) ∈ W (= W1 × · · · × Wn ) とためのエージェントの学習の基準値であることに注意する．また，Di ⊂ R, Wi ⊂ R とする．

する．

直感的には，報酬関数の各パラメータ di は，エーせる．ここで，利得がゲームのルールから定義される

次に，ゲームの利得関数の値がしきい値以上となるジェントのゲームにおけるふるまいに関するある特徴

有効解について定義する．

を数値化したものである．たとえば，スーパーマリオ

定義 5 (有効解). ある実数 θ ∈ R をしきい値とブラザーズの場合では，獲得したコインの枚数やジャす る ．こ の と き ，報 酬 関 数 fw と 学 習 済 み モ デ ル

ンプの回数などがこれらのパラメータの値に該当す

m∗ に 対 し て ，u(z[fw , m∗ ]) ≥ θ を 満 た す と き ，る．プレイに対する報酬は，こうした各パラメータ(fw , m∗ ) の組を有効解とよぶ．また，有効解の集

di に対してあらかじめ定められた重み wi を乗じて総合を (fw , m∗ ) ∈ E(⊂ Fw × M ∗ ) と表す．

和を取ったものとして定義される．
次に，エージェントを構成するモデルについて説明する．モデルは，正しいラベルを推論するためのパラ

よって，有効解の集合はゲームをうまくプレイする
エージェント（報酬関数と学習済みモデル）の集合である．

メータを持ち，データセットで学習させてパラメータ

次に，プレイログについて定義する．ゲームをプレを最適化する．モデルは現在のゲームの状態である非イすると，ゲーム内で観測できるイベントや操作履歴

終端ノードを入力に取り，報酬関数を最大化する次になど実数で計測できるログが発生する．

取るべき行動を出力する．ただし，本来モデルは取り

定義 6 (プレイログ). ある有効解 (fw , m∗ ) がゲーム

うる行動の価値をすべて出力するが，ここでは議論ををプレイしたとき，ゲーム内で発生した様々なイベ単純化するために，最大の価値である行動を取ると仮ントの回数を保存したベクトルをプレイログという．

定して表記を省略している．

このプレイログを求める関数を pl : Fw × M ∗ → Y

定義 3 (モデル). エージェントを構成するモデルをと定義し，pl(fw , m∗ ) = y とする．ここで，Y =関数 m : H → A と定義する．

Y1 × Y2 × · · · × Yn , (Yi ⊂ R) を n 次元の実数ベクト

たとえば，深層強化学習における Deep Q-Network
や NEAT のインスタンスがモデル m に相当する．また，モデル m の集合を M と表す．
次に，学習済みモデルについて定義する．学習済み
モデルは，ある報酬関数のもとで学習されたモデルをルで構成されるプレイログの集合とする．
最後に，プレイスタイルについて定義する．プレイ
スタイルはエージェントの特徴的な行動である．
定義 7 (プレイスタイル). 有効解の集合 E において，

E = E1 ∪ E2 ∪ · · · ∪ Ek が以下の条件を満たすとき，各部分集合 Ei をゲームにおける粒度 k のプレイスタ
イルと定義する．

• 条件 1:Ei ∩ Ej = ∅• 条件 2:(∀i, j ≤ k)∑1
pl(fw , m∗ )|Ei |(fw ,m∗ )∈Ei∑
1−pl(fw , m∗ )∥ ≥ δb
|Ej |
∗

∥

(fw ,m )∈Ej(∀i, j ≤ k).
• 条件 3:

図 1: フレームワークの構成図∀(fwa , m∗a ) ∈ Ei ∀(fwb , m∗b ) ∈ Ei(∥pl(fwa , m∗a ) − pl(fwb , m∗b )∥ ≤ δi )(∀i ≤ k).
ただし，それぞれ δb ∈ R はプレイスタイル間の距

4 プレイスタイルを生成するためのフレーム
ワーク

離の基準，δi ∈ R はプレイスタイル内の個体の距離

4. 1 フレームワークの概要の基準を表す．

本研究の提案手法であるプレイスタイルを生成す

ここで，条件 1 は，各有効解の部分集合 Ei が，集るフレームワークの構成を図 1 に表す．はじめに，対合 E の分割になっていることを表す．条件 2 は，任象とするゲーム G を定める．このとき，ゲームの利意の 2 つの部分集合 Ei , Ej のプレイログベクトルの得関数 u についても定義する．この利得関数はゲー平均の距離が δb 以上離れている必要があることを表

ムをどのくらいうまくプレイしたかを求めるゲーム

す．条件 3 は，ある部分集合 Ei に含まれる任意の 2

デザインを表した関数とする．次に，ゲームをプレイ

つの有効解のプレイログベクトルの距離が δi 以下とするエージェントが学習するための報酬関数 fw を定なる必要があることを表す．ただし，これらの距離の義する．最後に，ゲーム内で計測するプレイログを定

基準値 δi , δb をあらかじめ設定しておき，実際に基準める．このプレイログは，プレイスタイルを識別する

値を満たすように部分集合の組み合わせを決めるこ

ための基準となる．

とは一般には難しい．よって，クラスタリングのよう

これらの報酬関数やプレイログなどの情報を設定しな教師なし学習や人間の観測をもとにして部分集合

たあと，エージェントのモデル m を報酬関数 fw でに分割し距離を計算する．

学習させて u(z[fw , m∗ ]) ≥ θ を満たすもののみ選抜

以上で定義された概念を用いて，本研究で扱うプレする．はじめに，報酬関数の集合 Fw から任意の報酬

イスタイルを生成する問題を定義する．与えられたあ

関数 fw を取り出しモデル m を学習させる．このとるゲームに対して報酬関数を事前定義することなくき，利得がしきい値以上となるような報酬関数を選

プレイスタイルを生成することは，以下のような問題

ぶ必要がある．そのための方法として，ここではグとして定式化できる．

リッドサーチや粒子群最適化などの手法を用いるも定義 8 (プレイスタイルの生成問題). プレイスタイルのとする．報酬関数 fw と学習済みモデル m∗ で得らを生成する問題は，あるゲーム G，利得関数 u，粒度k が与えられたときプレイスタイルの集合 E1 , . . . , Ek
を求めることである．

れる利得がしきい値以上となるかを調べ（すなわち，u(z[fw , m∗ ]) ≥ θ），もし満たすのであればプレイロ
グ pl(fw , m∗ ) を保存する．ある終了条件を満たした
場合，プレイログの集合に対してクラスタリングを適用することで，k 個のプレイスタイルに分類する．

4. 2 プレイログとモデルの設計方法

関数のパラメータと定義域を設定した．

プレイログには，プレイスタイルの識別に利用し

MiniDungeons のゲームの目的は，エージェントがたいゲームで計測するイベントを設定する．これは，開始地点から移動を繰り返して死ぬことなく出口にた

プレイスタイルの定義から，プレイログの違いによっ

どり着くこととした．このエージェントは上下左右にて異なるプレイスタイルが識別されるためである．一1 マスずつ移動できる．ステージは複数のマスで構成方で，報酬関数はエージェントがゲームをうまくプレされており，ブロック，宝物，モンスター，ポーショ

イするための行動指針を与える．つまり，ゲームの利ン（回復薬），出口がある．エージェントは宝物，モ

得がしきい値以上となるような行動基準を報酬関数

ンスター，ポーション，出口それぞれと作用したときに設計する．

に報酬が発生する．また，各移動ごとに経過時間のペエージェントの学習に利用するモデルは，ある状態

ナルティが負の報酬として発生する．

を入力として，取るべき行動を出力する適切なもの

本実験では，エージェントを構成するモデルに遺であれば任意である．ゲームの状態を入力として，最伝的アルゴリズムのアプローチである NEAT（Neu-

適な行動を報酬関数を用いて学習させる．たとえば，

roEvolution of Augmenting Topologies）を利用す

遺伝的アルゴリズム [17] や深層強化学習 [10] などがる．NEAT の各個体には報酬関数がはじめに設定さ挙げられる．

れる．NEAT の個体（エージェントが持つモデル）
は，環境から状態を受け取る．このとき，エージェン

4. 3 報酬関数の探索

トは自身が持つ報酬関数を用いて状態もしくは行動

報酬関数内の各項の重みは実数を取るため，報酬関の報酬を計算する．そして，ネットワークで選択した数の集合は無限集合である．そのため，利得がしきい

行動を環境に出力する．これらの操作を，ゴールに値以上となる報酬関数を偏りなく取り出す必要があたどり着くか，体力が 0 以下となるか，決められたる．よって，この条件をうまく満たせるような報酬関

ターン数だけ経過するかのいずれかを満たすまで繰

数ならびにその分布を探索で数多く発見することがり返す．プレイ終了後，プレイ中に得た報酬の合計を求められる．

自身の適応度に設定し，プレイログが記録される．自報酬関数の探索方法として，グリッドサーチは設定

然淘汰によって適応度の大きい個体が生き残るため，したパラメータを総当りで探索する手法であり，単純報酬関数に最適化されたエージェントが生成される．

で実装しやすい．そのため，本論文の実験においては個体のネットワークの入力層（8 ニューロン）にはグリッドサーチを採用している．一方で，粒子群最適

各オブジェクトまでの最短距離と体力の情報が入力化やベイズ最適化では複数の準最適解をグリッドサー

される．最短距離には，モンスターを避けてオブジェ

チに比べてより効率的に求められる．そこで，本研究クトに安全に近づくときの距離，ならびにモンスターにおいても利得がしきい値以上となる報酬関数の重を避けずに近づくときの距離の 2 種類がある．行動

みを複数取り出せると考えられる．

決定時に，最大値を持つ出力ニューロンに対応する行動が選択されて，ニューロンが示すオブジェクト

5 実験による評価に向かってエージェントは 1 マス進む．この設定は，

5. 1 対象とするゲームとモデルの設定

Holmgård ら [4] の研究にもとづいている．

本研究では，提案するフレームワークの性能を評価するためにローグライクゲームを用いて実験した．

5. 2 フレームワークの設定

本実験では，Holmgård らが Java で開発したモデ

MiniDungeons における利得関数を，「すべてのスルである MiniDungeons を利用した [4, 5]．ただし，テージで一度も死なずに出口へ時間制限内でたどり

OpenAI Gym 環境で動作させるために Python で実着ければ 1 を，そうでなければ 0 を返す」ものとし装し直している．また，複数のステージならびに報酬た．また，有効解のしきい値を「すべてのステージで

表 1: 報酬関数のパラメータと重み
パラメータ

重み

移動

(-2, -1, 0)

出口への到達(-100, 100)

宝物の獲得(-40, 40)

ポーションの獲得(-30, 30)

モンスターの討伐(-50, 50)

死亡(-100, 100)

!"#

!$#

図 2: 学習ステージの例（a）と評価ステージの例（b）

一度も死なずに出口へ制限時間内でたどり着いたこ
表 2: パラメータの設定と（すなわち値 1）」と設定した．
ここで，報酬関数は 6 つのパラメータを持ち，そ

パラメータ

値

みを表 1 で示す．出口と死亡の絶対値が等しくなる

初期体力

30

ように，加えて，絶対値の大小がモンスター，宝物，

モンスターを倒すための体力

10

ポーションの順となるように報酬関数を設定した．報

ポーションで回復する体力

10

酬関数の値はグリッドサーチによって探索され，表 1

最大移動回数200の重みのすべての直積が報酬関数の集合となる．よっ

NEAT の世代数

75て，探索される報酬関数の個数は 3 × 25 = 96 通りで世代の個体数50

れぞれのパラメータに入力される値の種類とその重ある．たとえば，報酬関数のパラメータに対する重みが (−2, 100, 40, −30, −50, −100)，プレイにおける各

本実験で利用する MiniDungeons と NEAT のパラ

イベントに関する計測値が (20, 1, 2, 0, 3, 0) であれば，メータを表 2 に示す． NEAT の各世代には 50 体が含内積の値である 10 が報酬となる．プレイログはベク

まれ，合計 75 世代学習する．よって，合計 360, 000

トル形式で表され，プレイスタイル生成時のクラスタ

体を学習し，96 体の候補が生成され，そのうち利得

リングに利用される．このプレイログにはマスの種類

がしきい値以上である個体のみでプレイスタイルをごとの訪問回数が格納される．

作成する．

実験で利用した学習ステージと評価ステージのうちの 1 つをそれぞれ図 2 で示す．各報酬関数において

5. 3 フレームワークに関する実験結果

3 つの学習ステージを NEAT の学習に利用した．そ以上の設定のもとで実験した結果，96 種類の報酬

して，評価値のもっとも高い各個体において利得がし関数によって最適化された個体 96 体のうち，48 体がきい値以上となるかの判定を，3 つの評価ステージで評価ステージの条件を満たした．これらの 48 個の有確認した．つまり，評価ステージすべてで一度も死亡

効解が x-means 法 [14] によって 11 個のクラスタにすることなく出口に到達できればゲームをうまくプ分類された．このとき，分類するための基準として 3レイしたと判定した．利用するステージを分けるこ

個の評価ステージのプレイログを利用した．x-meansとによって，ゲームのルールをより一般的に満たす報法はクラスタ数を自動推定するが，乱数の初期値に酬関数のみを選択できる．これらのステージはあらよって推定されるクラスタ数が大きく変化する．よっかじめ定められたオブジェクトの出現割合にしたがって x-means 法を 1000 回繰り返し，もっとも多く出現てランダムに生成された．

したクラスタ数である 11 を採用した．

か取得しているポーションと宝物は，最短経路で出
表 3: 生成されたクラスタ

口へ到達するために経路上で取得したと考えられる．
クラスタ 7（Consumer）は，他のクラスタに比べて

ID

サイズ

名前

5

11

Runnerタに比べてモンスターを多く討伐しており，かつポー

711Consumer

ションと宝物を同じ程度の割合で獲得している．クラ910Treasure Collector

スタ 9（Treasure Collector）は，宝物を取得した数

10

5Cowardの割合が大きい．クラスタ 10（Coward）は，モンス

形状がもっとも大きく正三角形に近い．他のクラス

ターを避けるモンスターの討伐数のみが少ない．こ11 個のクラスタのうち，7 個のクラスタはそれぞの傾向は Treasure Collector にも見られるが，ポー

れサイズが 4 以下であり，プレイスタイルの分析が難

ションも多く取って回復し身の安全を最優先にしていしいと判断されたため除外した．なぜならば，同じクるという違いがある．

ラスタに含まれる個体のふるまいの共通要素を見出生成されたプレイスタイルはオブジェクトに対すすことで，プレイスタイルを推測するためである．クる優先度が異なり，その結果ステージで取るふるまい

ラスタのサイズが 5 以上である 4 個のクラスタの詳が異なる．そのため，報酬関数はエージェントの性格

細を表 3 に示す．クラスタ 5, 7, 9, 10 はそれぞれサや嗜好を大きく変化させるものであると考えられる．

イズが 5 以上であり，全体の 75%程度を占めている．

よって，これらの報酬関数を探索し，ゲームのルール

クラスタ 5（Runner）は，すべての報酬関数におを満たす有効解のみをクラスタリングすることによっいて宝物によって負の報酬が与えられ，モンスターかて事前にプレイスタイルや報酬関数を定義すること

宝物のどちらかもしくは両方で負の報酬が与えられなくプレイスタイルを生成できたと考えられる．

る．そのため，出口を最優先としそのほかのオブジェ
クトを極力避けている．クラスタ 7（Consumer）は

5. 4 報酬関数によるクラスタリング

報酬関数すべてにおいて宝物とポーションとモンス

プレイスタイルの違いは，ゲーム内で発生するイベ

ターによって正の報酬を与えられ，好奇心が高い特徴

ントデータ（プレイログ）の違いによって観測できるを持つ．クラスタ 9（Treasure Collector）は，すべと仮定している．この仮定のもと，プレイログのクラての報酬関数において宝物によって正の報酬が与え

スタリングをもとに 5. 3 節で異なるプレイスタイル

られる．クラスタ 10（Coward）は，すべての報酬関を生成した．しかしここで，これらのプレイログの違数においてポーションと宝物によって正の報酬が与えいは異なる報酬関数によって生み出されていると考えられ，一方でモンスターによって負の報酬が与えらられる．そこで，報酬関数のパラメータに対する重みれる．

自体をクラスタリングすることによっても，プレイロ

これらのクラスタについて特徴を調べるために，3

グと同様にプレイスタイルを生成できるか調査した．

つの評価ステージでエージェントが計測したイベント

利得がしきい値以上であった 48 個の報酬関数を，をクラスタごとに分析した．イベントのログのレーパラメータの値をもとに x-means でクラスタリング

ダーチャートを図 3 に示す．計測したイベントはモンした．その結果 11 個のクラスタに分類され，そのう

スターの討伐数，ポーションならびに宝物の取得数で

ち 5 つのクラスタがサイズ 6 以上であった．ここで，ある．クラスタに含まれるすべての報酬関数それぞれクラスタに含まれる報酬関数は類似しているため，同で計測したログの平均をプロットしている．

じクラスタの個体は似たふるまいを取ると考えられクラスタ 5（Runner）は，他のクラスタに比べてた．しかし，プレイログと比較して，同じクラスタに形状が明らかに小さい．これは，他のオブジェクトを含まれている個体が他の個体と異なる行動を取るこ

嫌い出口にすぐに向かったためと考えられる．いくつとが多かった．この結果を示すものとして，図 4 は報

図 3: プレイログのレーダーチャート

図 4: 報酬関数によるログのレーダーチャート

表 4: クラスタごとの分散

Group

PlayLog

RewardFunc

ID

Move

Monster

PortionTreasure

5

91.7

0.6

45.8

0.3

7

775.3

0

0

0

9

411.4

0.81

30.0

1.6

10

299.3

0.6

0

0.2

4

8425.4

0

202.6

250

5

20087.2

248.5

467.8

241.3

6

6303.8

0.41

229.8

183.4

9

7557.6

1.3

134.0

260.8

10

3442.1

0

27.2

50.1

酬関数でクラスタリングしたときのログの計測値をクラスタリングするのがよいと考えられる．これは，表している．クラスタ 4, 6, 9 はそれぞれ平均するとプレイスタイルは人間や機械に観測できるゲーム内

モンスターを避ける行動を取っており，またクラスタのイベント情報をもとに識別されるためである．

5, 10 も平均するとすべてのオブジェクトに興味を持
つ行動を取っている．これは，同じクラスタ内に異な6 結論る行動を取る個体が混じることでふるまいが平均化さ

本研究では，ゲームにおいてプレイスタイルならびれたためと考えられる．プレイログと報酬関数それぞに報酬関数をあらかじめ定義することなく，異なるプ

れでクラスタごとのログの分散をまとめたものを表 4

レイスタイルを生成するフレームワークを提案した．

に示す．報酬関数はクラスタ内の個体ごとにふるまい

このフレームワークでは，報酬関数の集合から選んだが異なり，その結果分散も大きくなっている．これら関数で学習されたエージェントのうち，利得がしきいの結果から，プレイスタイルを生成するときは報酬値以上であるものを選別する．こうして条件を満たし関数を一度プレイログに変換し，そのプレイログでたエージェントのプレイログをクラスタリングすることで，各クラスタをプレイスタイルとみなす．本フレームワークを用いたプレイスタイルの生成実験の結果，MiniDungeons とよばれるローグライクゲーム
で複数の異なるプレイスタイルを生成できた．
今後の研究課題としては，より難易度の高いゲーム（たとえば，状態数や行動数がより大きいスーパーマリ
オブラザーズなど）においても適用することで，本フレームワークの有用性を検証する．また，質の高い多様な解を行動空間で探索する Quality Diversity [15]という遺伝的アルゴリズムが提案されている．このアプローチをプレイログの探索に利用し，多様なプレイ
スタイルを効率よく生成したいと考えている．

参 考 文 献[ 1 ] Brown, N. and Sandholm, T.: Superhuman
AI for multiplayer poker, Science, Vol. 365,
No. 6456(2019), pp. 885–890.
[ 2 ] Fan, T., Shi, Y., Li, W., and Ikeda, K.: Position Control and Production of Various Strategies
for Deep Learning Go Programs, 2019 International
Conference on Technologies and Applications of Artiﬁcial Intelligence (TAAI), 2019, pp. 1–6.
[ 3 ] Holmgård, C., Green, M. C., Liapis, A., and Togelius, J.: Automated Playtesting With Procedural Personas Through MCTS With Evolved Heuristics, IEEE Transactions on Games, Vol. 11(2019),
pp. 352–362.
[ 4 ] Holmgård, C., Liapis, A., Togelius, J., and Yannakakis, G. N.: Evolving personas for player decision modeling, 2014 IEEE Conference on Computational Intelligence and Games, IEEE, 2014.
[ 5 ] Holmgård, C., Liapis, A., Togelius, J., and Yannakakis, G. N.: Evolving models of player decision making: Personas versus clones, Entertainment
Computing, (2016).
[ 6 ] Ikeda, K. and Viennot, S.: Production of various
strategies and position control for Monte-Carlo Go― Entertaining human players, 2013 IEEE Conference on Computational Inteligence in Games(CIG), 2013, pp. 1–8.
[ 7 ] Ishii, R., Ito, S., Ishihara, M., Harada, T., andThawonmas, R.: Monte-Carlo Tree Search Implementation of Fighting Game AIs Having Personas,
2018 IEEE Conference on Computational Intelli-gence and Games (CIG), IEEE, 2018.
[ 8 ] Lara-Cabrera, R., Nogueira-Collazo, M., Cotta,
C., and Fernández-Leiva, A.: Game artiﬁcial intelligence: Challenges for the scientiﬁc community,
CEUR Workshop Proceedings, Vol. 1394(2015),
pp. 1–12.
[ 9 ] Leyton-Brown, K. and Shoham, Y.: Essentials
of game theory: A concise multidisciplinary introduction, Synthesis lectures on artiﬁcial intelligenceand machine learning, Vol. 2, No. 1(2008), pp. 1–88.
[10] Mnih, V., Kavukcuoglu, K., Silver, D., Graves,A., Antonoglou, I., Wierstra, D., and Riedmiller,
M.: Playing atari with deep reinforcement learning,
arXiv preprint arXiv:1312.5602, (2013).
[11] Nichol, A., Pfau, V., Hesse, C., Klimov, O.,
and Schulman, J.: Gotta learn fast: A new
benchmark for generalization in rl, arXiv preprint
arXiv:1804.03720, (2018).
[12] Ortega, J., Shaker, N., Togelius, J., and Yannakakis, G. N.: Imitating human playing styles
in super mario bros, Entertainment Computing,(2013).
[13] Osborne, M. J. and Rubinstein, A.: A course ingame theory, MIT press, 1994.
[14] Pelleg, D. and Moore, A.: X-means: Extending
K-means with Eﬃcient Estimation of the Numberof Clusters, ICML, 2000.
[15] Pugh, J. K., Soros, L. B., and Stanley, K. O.:
Quality diversity: A new frontier for evolutionary computation, Frontiers in Robotics and AI,
Vol. 3(2016), pp. 40.
[16] Silver, D., Hubert, T., Schrittwieser, J.,
Antonoglou, I., Lai, M., Guez, A., Lanctot, M.,
Sifre, L., Kumaran, D., Graepel, T., et al.: Mastering chess and shogi by self-play with a generalreinforcement learning algorithm, arXiv preprint
arXiv:1712.01815, (2017).
[17] Srinivas, M. and Patnaik, L. M.: Genetic algorithms: A survey, computer, Vol. 27, No. 6(1994),
pp. 17–26.
[18] Stanley, K. O. and Miikkulainen, R.: Evolving neural networks through augmenting topologies,
Evolutionary computation, (2002).
[19] Tampuu, A., Matiisen, T., Kodelja, D., Kuzovkin, I., Korjus, K., Aru, J., Aru, J., and Vicente,
R.: Multiagent cooperation and competition withdeep reinforcement learning, PloS one, (2017).
[20] Tychsen, A. and Canossa, A.: Deﬁning personasin games using metrics, Proceedings of the 2008 conference on future play: Research, play, share, 2008.