3vs3バトルでの強化学習とパーティ生成の実装が完成したので、1vs1バトルの時と同様、これらを交互に動作させて強いパーティとその適切な運用法を学習します。
実験条件
アルゴリズム自体は1vs1の時と変わりません。
- 反復回数 10
- パーティ数
- Q関数を用いて生成するパーティ数 871
- ランダム生成するパーティ数 129
- パーティの生成条件
- 類似パーティ生成抑制のペナルティ 0.1
- 強化学習
- 探索: epsilon-greedy
- ランダム行動する確率epsilon: 0.3
- epsilon decay: 2.0×10−6
- 最小のepsilon: 0.01
- 報酬割引率: 0.95
- バッチサイズ: 32
- 最初に学習するまでのステップ数(replay bufferのサンプル数): 500
- Nサンプル収集するたびにoptimize: 1
- N optimizeごとにtarget networkのアップデート: 100
- replay bufferサイズ: 100,000
- optimizer (Adam)の学習率: 0.00001
- バトル数: 100,000
- 補助報酬
- 瀕死でないポケモン数 0.25
- 残りHP率 0.25
各反復の結果
各反復ではパーティが1,000個生成されます。そして、そのパーティを用いて学習したモデルを用いてレーティングバトルを行い、上位10パーティを示します。また、上位100パーティに含まれるポケモン・技の分布(それぞれ出現回数トップ10)を示します。全1,000パーティでの分布では、多様性を確保したパーティ生成の影響で、ほとんどのポケモンが覚える技(かげぶんしん、どくどく等)が常に上位を占めて傾向が出ませんでした。
反復0
レート | パーティ |
---|---|
1975 | カビゴン,LV50,かみなりパンチ,のしかかり,すてみタックル,ふぶき シャワーズ,LV50,のしかかり,ふぶき,バブルこうせん,ずつき エレブー,LV55,おんがえし,サイコキネシス,スピードスター,はかいこうせん |
1969 | バクフーン,LV50,すてみタックル,かえんほうしゃ,じしん,ほのおのパンチ オドシシ,LV50,ずつき,どろかけ,じしん,おんがえし カビゴン,LV55,のしかかり,はかいこうせん,ちきゅうなげ,いわくだき |
1941 | ケンタロス,LV50,でんじほう,つのドリル,とっしん,おんがえし ゴルダック,LV50,かいりき,のしかかり,れいとうビーム,なみのり ルージュラ,LV55,れいとうビーム,おんがえし,ロケットずつき,とっしん |
1939 | バンギラス,LV55,じしん,どろかけ,いわくだき,げんしのちから ムウマ,LV50,10まんボルト,かみなり,スピードスター,でんじほう シャワーズ,LV50,どくどく,はかいこうせん,かげぶんしん,なみのり |
1930 | カイリュー,LV55,おんがえし,ロケットずつき,れいとうビーム,だいもんじ シャワーズ,LV50,たきのぼり,どろかけ,とっしん,ロケットずつき ゲンガー,LV50,のしかかり,ナイトヘッド,サイコキネシス,ほのおのパンチ |
1899 | ジュゴン,LV50,ロケットずつき,ずつき,つのドリル,れいとうビーム カビゴン,LV55,すなあらし,ソーラービーム,のしかかり,でんじほう ハピナス,LV50,かえんほうしゃ,すてみタックル,とっしん,どくどく |
1881 | ハピナス,LV50,バブルこうせん,10まんボルト,だいもんじ,かえんほうしゃ シャワーズ,LV50,れいとうビーム,とっしん,ロケットずつき,すてみタックル バクフーン,LV55,スピードスター,ばくれつパンチ,かみなりパンチ,だいもんじ |
1878 | ドンファン,LV50,すなあらし,すてみタックル,ころがる,じしん ランターン,LV50,でんじほう,なみのり,ハイドロポンプ,おんがえし スイクン,LV55,バブルこうせん,れいとうビーム,どくどく,はかいこうせん |
1870 | シャワーズ,LV55,ふぶき,とっしん,スピードスター,なみのり フーディン,LV50,ちきゅうなげ,サイコキネシス,ほのおのパンチ,れいとうパンチ マンタイン,LV50,おんがえし,ふぶき,どろかけ,なみのり |
1845 | プテラ,LV50,いわくだき,とっしん,そらをとぶ,おんがえし ラプラス,LV55,ふぶき,いわくだき,なみのり,ずつき ライコウ,LV50,すなあらし,かみなり,でんじほう,はかいこうせん |
パーティはランダムですが、強いポケモン・技の傾向が見て取れます。
要素 | 出現回数 |
---|---|
シャワーズ | 11 |
カビゴン | 10 |
ランターン | 9 |
ライコウ | 9 |
サンダー | 9 |
ケンタロス | 7 |
ムウマ | 7 |
ゲンガー | 7 |
ハピナス | 6 |
ヌオー | 6 |
要素 | 出現回数 |
---|---|
おんがえし | 83 |
のしかかり | 58 |
どくどく | 58 |
はかいこうせん | 56 |
かげぶんしん | 54 |
ずつき | 53 |
とっしん | 53 |
スピードスター | 43 |
どろかけ | 41 |
すてみタックル | 40 |
パーティはランダム生成ですが、上位100パーティを抽出すればカビゴン、サンダーなどの出現回数が大きくなりました。技については、AIが現状使いこなせていないものの覚えるポケモンが多いどくどく、かげぶんしんが上位に来ています。
反復1
レート | パーティ |
---|---|
1922 | カビゴン,LV55,のしかかり,ずつき,じしん,かみなり サンダース,LV50,スピードスター,かみなり,ずつき,のしかかり ムウマ,LV50,サイケこうせん,ずつき,かみなり,スピードスター |
1903 | ファイヤー,LV50,どろかけ,はがねのつばさ,スピードスター,だいもんじ ライコウ,LV55,いあいぎり,10まんボルト,どろかけ,かいりき サイドン,LV50,じしん,ふみつけ,だいもんじ,10まんボルト |
1877 | カビゴン,LV55,かえんほうしゃ,サイコキネシス,のしかかり,じしん サンダー,LV50,ドリルくちばし,10まんボルト,どろかけ,かみなり ドククラゲ,LV50,ふぶき,なみのり,ハイドロポンプ,ヘドロばくだん |
1874 | ガルーラ,LV55,だいもんじ,のしかかり,じしん,いわくだき ケンタロス,LV50,いわくだき,のしかかり,じしん,だいもんじ プテラ,LV50,ゴッドバード,だいもんじ,じしん,いわくだき |
1866 | カビゴン,LV55,じしん,かみなりパンチ,どろかけ,のしかかり ミルタンク,LV50,かみなりパンチ,のしかかり,どろかけ,じしん エアームド,LV50,どろかけ,ゴッドバード,はがねのつばさ,そらをとぶ |
1854 | プテラ,LV50,じしん,げんしのちから,はかいこうせん,ゴッドバード フシギバナ,LV50,はっぱカッター,げんしのちから,はかいこうせん,やどりぎのタネ ライコウ,LV55,はかいこうせん,10まんボルト,でんじほう,かみなり |
1852 | カビゴン,LV55,のしかかり,バブルこうせん,でんじほう,ロケットずつき ペルシアン,LV50,バブルこうせん,でんじほう,ロケットずつき,のしかかり フシギバナ,LV50,やどりぎのタネ,ロケットずつき,どくのこな,はっぱカッター |
1839 | サンダー,LV50,とっしん,ドリルくちばし,おんがえし,10まんボルト ケンタロス,LV55,とっしん,おんがえし,10まんボルト,れいとうビーム ランターン,LV50,10まんボルト,れいとうビーム,おんがえし,とっしん |
1835 | カイリュー,LV55,10まんボルト,かえんほうしゃ,ハイドロポンプ,のしかかり サイドン,LV50,10まんボルト,かえんほうしゃ,おんがえし,のしかかり カビゴン,LV50,かえんほうしゃ,おんがえし,10まんボルト,のしかかり |
1823 | カビゴン,LV55,のしかかり,サイコキネシス,だいもんじ,ばくれつパンチ スリーパー,LV50,ばくれつパンチ,サイコキネシス,れいとうパンチ,でんじほう ベトベトン,LV50,れいとうパンチ,だいもんじ,ばくれつパンチ,でんじほう |
学習結果では、カビゴン、サンダーの優位性がよく現れる状況になりました。
要素 | 出現回数 |
---|---|
カビゴン | 37 |
サンダー | 21 |
ライコウ | 15 |
バンギラス | 15 |
プテラ | 8 |
サンダース | 6 |
ガルーラ | 6 |
ベトベトン | 6 |
ヌオー | 6 |
キングドラ | 6 |
要素 | 出現回数 |
---|---|
のしかかり | 92 |
10まんボルト | 85 |
おんがえし | 64 |
じしん | 63 |
ずつき | 49 |
でんじほう | 46 |
どろかけ | 42 |
はかいこうせん | 38 |
とっしん | 37 |
どくどく | 37 |
カビゴン、サンダーが1位、2位となり、その主力技となるのしかかり、10まんボルトが技の上位に来ました。
反復2
レート | パーティ |
---|---|
1926 | カビゴン,LV55,ふぶき,なみのり,かみなり,のしかかり ヤドキング,LV50,なみのり,ふぶき,バブルこうせん,どくどく スターミー,LV50,ふぶき,どくどく,バブルこうせん,かみなり |
1900 | カビゴン,LV55,かいりき,のしかかり,じしん,ソーラービーム ミルタンク,LV50,のしかかり,どろかけ,じしん,かいりき メガニウム,LV50,のしかかり,ソーラービーム,かいりき,どろかけ |
1886 | カビゴン,LV55,はかいこうせん,どくどく,れいとうビーム,おんがえし メガニウム,LV50,どくどく,はかいこうせん,おんがえし,やどりぎのタネ パルシェン,LV50,おんがえし,はかいこうせん,どくどく,れいとうビーム |
1885 | カビゴン,LV50,なみのり,のしかかり,じしん,ロケットずつき ヌオー,LV50,はかいこうせん,のしかかり,なみのり,じしん ファイヤー,LV55,そらをとぶ,はがねのつばさ,はかいこうせん,だいもんじ |
1883 | カビゴン,LV55,のしかかり,じしん,だいもんじ,はかいこうせん エンテイ,LV50,はかいこうせん,ふみつけ,だいもんじ,おんがえし キュウコン,LV50,だいもんじ,のしかかり,おんがえし,はかいこうせん |
1870 | カビゴン,LV55,じしん,ちきゅうなげ,のしかかり,どろかけ ニョロボン,LV50,ちきゅうなげ,どろかけ,ハイドロポンプ,のしかかり サワムラー,LV50,かいりき,ロケットずつき,どろかけ,のしかかり |
1868 | カビゴン,LV50,ばくれつパンチ,すてみタックル,のしかかり,れいとうビーム カメックス,LV50,れいとうビーム,どくどく,すてみタックル,ばくれつパンチ ガルーラ,LV55,どくどく,のしかかり,れいとうビーム,すてみタックル |
1867 | カビゴン,LV55,じしん,はかいこうせん,れいとうビーム,おんがえし イノムー,LV50,はかいこうせん,じしん,おんがえし,れいとうビーム ブラッキー,LV50,ロケットずつき,おんがえし,いあいぎり,はかいこうせん |
1858 | カビゴン,LV50,れいとうビーム,かいりき,じしん,のしかかり サンドパン,LV50,のしかかり,どくどく,かいりき,じしん ジュゴン,LV55,どくどく,かいりき,のしかかり,れいとうビーム |
1858 | カビゴン,LV50,のしかかり,いわくだき,れいとうビーム,ロケットずつき スイクン,LV55,たきのぼり,おんがえし,いあいぎり,ふぶき ハッサム,LV50,おんがえし,ロケットずつき,スピードスター,いあいぎり |
カビゴン無双になりました。特に気になるのは、パーティの先頭にカビゴンが集中している点です。次の章で考察します。
要素 | 出現回数 |
---|---|
カビゴン | 56 |
サンダー | 15 |
ガルーラ | 10 |
カメックス | 9 |
スターミー | 8 |
メガニウム | 6 |
ヌオー | 6 |
ファイヤー | 6 |
イノムー | 6 |
バンギラス | 6 |
要素 | 出現回数 |
---|---|
のしかかり | 104 |
じしん | 93 |
れいとうビーム | 62 |
おんがえし | 57 |
すてみタックル | 51 |
はかいこうせん | 44 |
かいりき | 42 |
とっしん | 35 |
どろかけ | 33 |
ばくれつパンチ | 33 |
出現頻度がカビゴンに強く偏っています。
反復9 (最終)
レート | パーティ |
---|---|
1906 | カビゴン,LV50,ほのおのパンチ,でんじほう,じしん,おんがえし ミルタンク,LV55,おんがえし,じしん,でんじほう,ほのおのパンチ デンリュウ,LV50,でんじほう,ばくれつパンチ,おんがえし,ほのおのパンチ |
1883 | カビゴン,LV55,のしかかり,バブルこうせん,でんじほう,ちきゅうなげ マンタイン,LV50,スピードスター,れいとうビーム,たきのぼり,ハイドロポンプ カメックス,LV50,ハイドロポンプ,たきのぼり,れいとうビーム,ちきゅうなげ |
1876 | カビゴン,LV55,ソーラービーム,だいもんじ,れいとうパンチ,のしかかり キングラー,LV50,ふみつけ,のしかかり,どくどく,どろかけ ゴローニャ,LV50,だいもんじ,どくどく,どろかけ,のしかかり |
1861 | カビゴン,LV50,ほのおのパンチ,なみのり,どくどく,のしかかり ヤドキング,LV55,どくどく,ふみつけ,なみのり,のしかかり ケンタロス,LV50,ふみつけ,なみのり,どくどく,のしかかり |
1859 | カビゴン,LV55,すなあらし,じしん,ちきゅうなげ,のしかかり ドンファン,LV50,じしん,つのでつく,のしかかり,すなあらし ヘラクロス,LV50,つのでつく,いあいぎり,ちきゅうなげ,じしん |
1857 | カビゴン,LV55,だいもんじ,はかいこうせん,のしかかり,じしん ガルーラ,LV50,はかいこうせん,じしん,どくどく,だいもんじ マグカルゴ,LV50,だいもんじ,はかいこうせん,どくどく,じしん |
1856 | スイクン,LV50,なみのり,れいとうビーム,おんがえし,かげぶんしん ドンファン,LV55,つのでつく,かげぶんしん,じしん,おんがえし ケンタロス,LV50,じしん,つのでつく,かげぶんしん,おんがえし |
1831 | カビゴン,LV50,ばくれつパンチ,ふぶき,かえんほうしゃ,のしかかり プクリン,LV55,のしかかり,かえんほうしゃ,ふぶき,ばくれつパンチ ニョロボン,LV50,ばくれつパンチ,いわくだき,ふぶき,のしかかり |
1830 | カビゴン,LV50,ロケットずつき,のしかかり,かみなりパンチ,じしん ブースター,LV50,ロケットずつき,どろかけ,のしかかり,でんじほう スリーパー,LV55,ロケットずつき,のしかかり,でんじほう,かみなりパンチ |
1829 | カビゴン,LV55,ばくれつパンチ,バブルこうせん,かみなりパンチ,のしかかり ニョロボン,LV50,のしかかり,バブルこうせん,ばくれつパンチ,れいとうビーム パルシェン,LV50,れいとうビーム,バブルこうせん,スピードスター,ふぶき |
対戦結果ではカビゴンがやはり無双している状況でした。1vs1バトルでカビゴンへの対策として現れたドンファンが、3vs3バトルではカビゴンと同じパーティに組み込まれ、上位に食い込んでいます。
要素 | 出現回数 |
---|---|
カビゴン | 49 |
ライコウ | 14 |
サンダー | 13 |
バンギラス | 13 |
ドンファン | 8 |
ガルーラ | 7 |
バクフーン | 6 |
プテラ | 6 |
カメックス | 5 |
サイドン | 5 |
要素 | 出現回数 |
---|---|
のしかかり | 93 |
じしん | 91 |
おんがえし | 62 |
どろかけ | 53 |
10まんボルト | 47 |
どくどく | 40 |
れいとうビーム | 38 |
はかいこうせん | 38 |
いわくだき | 37 |
すてみタックル | 37 |
カビゴンが圧倒的上位のまま収束したという状況になりました。
パーティの先頭にカビゴンが多い理由の考察
反復9のトップ100パーティにおいて、出現回数上位5ポケモンについてそれがパーティ先頭に現れた回数、先頭以外に現れた回数を抽出しました。
要素 | パーティ先頭での出現回数 | パーティ先頭以外での出現回数 |
---|---|---|
カビゴン | 48 | 1 |
バンギラス | 13 | 0 |
サンダー | 11 | 2 |
ライコウ | 10 | 4 |
スターミー | 5 | 0 |
主要なポケモンは圧倒的にパーティ先頭に集中しています。なお、パーティ先頭以外だけで出現回数の順位を確認すると、ドンファンの8回が最大となりポケモン間での偏りが小さいことがわかりました。 この結果は、カビゴン・バンギラス・サンダーを並べたパーティが生成されていないということでもあり最良のパーティ構築ができていない可能性を示唆しています。 パーティ生成のアルゴリズムは、バトル開始時のQ関数の出力の全行動に対する最大値を最大とするようなパーティを生成するというものでした。Q関数の入力として自分のパーティが反映される部分を展開すると、Q(先頭ポケモン, 技1)、Q(先頭ポケモン, 技2)、…、Q(控えポケモン1に交代, その技すべて)、Q(控えポケモン2に交代, その技すべて)という6つの値のうちの最大値、すなわち最善手をとったときの勝率を取ることになります。バトル開始時にいきなり交代が最善手になる状況は不利であり、先頭に天敵の少ない強力なポケモンが配置されていればほとんど起こらないと考えられます。この場合、控えポケモンは何であっても最大値に影響しないことになります。Q関数を用いた手法は、控えポケモンの反映が弱くなるという問題を抱えていることがわかりました。この問題の解決は将来の課題です。
この記事では、反復的な学習で生成されたパーティの確認と、パーティ生成手法の問題点を確認しました。次回は、反復により強さが向上したことを確認し、最強のパーティの戦略を観察します。