SlideShare a Scribd company logo
1 of 25
Download to read offline
A System for Recommending Strategy
in Real Time Strategy Game
ウォーゲーム:StarCraft の戦略推薦
1
スタークラフト2
•3つの種族の間の宇宙戦争
•人間(Terran)
•エイリアン(Zerg)
•宇宙人(Protoss)
2
スタークラフト2の統計情報
•KeSPA(認定プロ):50人以上
•スタークラフト2のプロ選手の様子
•チーム会社に雇われ、チームで戦う。
•トーナメント優勝賞金$489,916 (5,000万円)。
3
スタークラフト2の構成
•平均勝敗決定時間 : 15~30分
•兵士の種類数 : 52種類
•労働者の種類 : 4種類
•シェルターの種類数 : 6種類
4
スタークラフト2のゲーム局面
プレイヤーP1の基地
プレイヤーP2の基地
Marine(水兵)
生産
平均勝敗
決着時間 :
15 – 30 分
Marine(水兵)を
プレイヤーP2の
基地に派遣
Factory(工場)
建築
Factory(工場)
建築
Marine(水兵)
生産
スタークラフト2のゲーム局面
プレイヤーP1の基地
プレイヤーP2の基地
平均勝敗
決着時間 :
15 – 30 分
戦闘
プレイヤーP1の
攻撃を防ぐ
Factory(工場)
建築
Factory(工場)
建築
プレイヤーP2の
基地・Marine(水兵)
を攻撃
スタークラフト2のゲーム局面
プレイヤーP1の基地
プレイヤーP2の基地
平均勝敗
決着時間 :
15 – 30 分
Factory(工場)
建築
戦闘
プレイヤーP1の
攻撃を防ぐ
Factory(工場)
建築
Marine(水兵)を
プレイヤーP2の
基地・Marine
(水兵)を攻撃
プレイヤーP1の兵士がこの戦闘に勝利すれば,
そのままプレイヤーP2の基地を破壊できる。
スタークラフト2のゲーム局面
プレイヤーP1の基地
プレイヤーP2の基地
平均勝敗
決着時間 :
15 – 30 分
Factory(工場)
建築
Factory(工場)
建築
プレイヤーP2の基地を破壊し、
プレイヤーP1勝利
スタークラフト2のゲーム局面
プレイヤーP1の基地
プレイヤーP2の基地
平均勝敗
決着時間 :
15 – 30 分
兵士を
プレイヤーP2
の基地に派遣
Factory(工場)
建築
戦闘
プレイヤーP1の
攻撃を防ぐ
Factory(工場)
建築
一方、プレイヤーP2のMarine(水兵)が
この戦闘に勝利した場合は、 逆に反撃を行い、
プレイヤーP1の基地を攻撃できる。
スタークラフト2のゲーム局面
プレイヤーP1の基地
プレイヤーP2の基地
平均勝敗
決着時間 :
15 – 30 分
Factory(工場)
建築
Factory(工場)
建築
Marine(水兵)を
プレイヤーP1の
基地に派遣
スタークラフト2のゲーム局面
プレイヤーP1の基地
プレイヤーP2の基地
シェルター
建築
シェルター
建築
平均勝敗
決着時間 :
15 – 30 分
プレイヤーP1の基地を破壊し、
プレイヤーP2勝利
研究課題
1. プレイログに対して手動で戦略情報を付与する。
2. 教師有り学習により戦略予測モデルを学習する
•プレイヤーによるコマンド列を
イベントのかたまりに分割
•イベント列を戦略のかたまり列に分割
3. 戦略をプレイヤーに推薦
12
プレイヤーによるコマンド列をイベントのかたまりに分割
1
Select
Barrack
Train
Marine
Select
Command
Center
Train
SCV
Select
SCV,
Marine 2x
Right
Click;
Target
Select
SCV
Build
Bunker;
Target
Train
Marine
…
Other
Right
Click;
Target
Beginning
of Train
Middle
of Train
Middle
of Train
Beginning
of Train
Middle
of Train
Beginning
of Move
Middle
of Move
Beginning
of Build
Middle
of Build
…
生産 生産 移動 建物建築
Select
Barrack
Train
Marine
Select
Command
Center
Train
SCV
Select
SCV,
Marine 2x
Right
Click;
Target
Select
SCV
Build
Bunker;
Target
Train
Marine
Right
Click;
Target
……
Select
Barrack
Train
Marine
Select
Command
Center
Train
SCV
Select
SCV,
Marine 2x
Right
Click;
Target
Select
SCV
Build
Bunker;
Target
Train
Marine
…
Other
Right
Click;
Target
Beginning
of Train
Middle
of Train
Middle
of Train
Beginning
of Train
Middle
of Train
Beginning
of Move
Middle
of Move
Beginning
of Build
Middle
of Build
…
コマンドタグ列 [Beginning, Middle, … , Middle] をイベントのかたまり列に分割
SVM により各コマンドにタグを付与
13
プレイヤーによるコマンド列をイベントのかたまりに分割
1
Select
Barrack
Train
Marine
Select
Command
Center
Train
SCV
Select
SCV,
Marine 2x
Right
Click;
Target
Select
SCV
Build
Bunker;
Target
Train
Marine
…
Other
Right
Click;
Target
Beginning
of Train
Middle
of Train
Middle
of Train
Beginning
of Train
Middle
of Train
Beginning
of Move
Middle
of Move
Beginning
of Build
Middle
of Build
…
生産 生産 移動 建物建築
Select
Barrack
Train
Marine
Select
Command
Center
Train
SCV
Select
SCV,
Marine 2x
Right
Click;
Target
Select
SCV
Build
Bunker;
Target
Train
Marine
Right
Click;
Target
……
Select
Barrack
Train
Marine
Select
Command
Center
Train
SCV
Select
SCV,
Marine 2x
Right
Click;
Target
Select
SCV
Build
Bunker;
Target
Train
Marine
…
Other
Right
Click;
Target
Beginning
of Train
Middle
of Train
Middle
of Train
Beginning
of Train
Middle
of Train
Beginning
of Move
Middle
of Move
Beginning
of Build
Middle
of Build
…
コマンドタグ列 [Beginning, Middle, … , Middle] をイベントのかたまり列に分割
SVM により各コマンドにタグを付与
5 2 1X + = 11
生産
建物建築
移動
攻撃
レベルアップ
Beginning
Middle
その他
14
戦略の例 : Bunker Rush
イベント
Repair
Bunker
- Select SCV,
Marine 2x
- Right click;
location
- Select SCV
- Build
Bunker
- Select
Marine 2x
- Right click;
Bunker
- Select Marine 2x
- Right click;
Refinery (P2)
- Select SCV
- Right click;
Bunker
イベント
Train SCV
- Select
Command Center
- Train SCV
コマンド
イベント
Train Marine
- Select Barrack
- Train Marine
- Train Marine
コマンド
イベント
Move
SCV and
Marines
コマンド
コマンド
イベント
Build
Bunker
コマンド
イベント
Move
Marines
イベント
Attack
Base
コマンド
コマンド
生産
生産
移動 建物建築 移動
攻撃
修復
イベント列を戦略のかたまり列に分割
戦略をプレイヤーに推薦
(1)各戦略の勝率推定フェーズ
膨大なプレイログ戦略予測モデル
を適用する
教師あり学習により、
戦略予測モデルを訓練する
プレイログ
手動で戦略情報
を付与する
16
プレイヤー戦略 勝敗 | プレイヤー 戦略 勝敗
P1 ? 勝ち -- P2 ? 負け
P3 ? 負け -- P4 ? 勝ち
PX ? 勝ち -- PZ ? 負け
…
対戦表
膨大なプレイログ
戦略をプレイヤーに推薦
(1)各戦略の勝率推定フェーズ
戦略予測モデル
を適用する
教師あり学習により、
戦略予測モデルを訓練する
プレイログ
手動で戦略情報
を付与する
17
プレイヤー戦略 勝敗 | プレイヤー 戦略 勝敗
P1 ? 勝ち -- P2 ? 負け
P3 ? 負け -- P4 ? 勝ち
PX ? 勝ち -- PZ ? 負け
…
Horse型
戦略
Dragon型
戦略
自動戦略予測
Snake型
戦略
Turtle型
戦略
対戦表
膨大なプレイログ
戦略をプレイヤーに推薦
(1)各戦略の勝率推定フェーズ
戦略予測モデル
を適用する
教師あり学習により、
戦略予測モデルを訓練する
プレイログ
手動で戦略情報
を付与する
18
プレイヤー戦略 勝敗 | プレイヤー 戦略 勝敗
P1 ? 勝ち -- P2 ? 負け
P3 ? 負け -- P4 ? 勝ち
PX ? 勝ち -- PZ ? 負け
…
Horse型
戦略
Dragon型
戦略
自動戦略予測
Snake型
戦略
Turtle型
戦略
対戦表
負ける確率 (%)
Snake Turtle Dragon Horse Eagle
勝
つ
確
率
(%)
Snake 50% 35% 35% 70% 40%
Turtle 65% 50% 35% 40% 60%
Dragon 65% 65% 50% 60% 30%
Horse 30% 60% 40% 50% 40%
Eagle 60% 40% 70% 60% 50%
各戦略の勝率
19
戦略をプレイヤーに推薦 (2)戦略推薦フェーズ
プレイログ
手動で
戦略情報を
付与する
教師あり学習により
ゲーム序盤の
戦略を予測する
モデルを訓練をする
ゲーム序盤の
戦略を予測
システム
19
P2
P1
ゲーム中の時間の進行方向
Snake型戦略
Turtle型戦略
戦略予測
20
システム
ゲーム序盤の
戦略を予測
P2
P1
ゲーム中の時間の進行方向
Snake型戦略
Turtle型戦略
<
戦略予測
勝者を推定
各戦略の勝率
負ける確率 (%)
Snake Turtle Dragon Horse
勝
つ
確
率
(%)
Snake 50% 35% 35% 70%
Turtle 65% 50% 35% 40%
Dragon 65% 65% 50% 60%
Horse 30% 60% 40% 50%
戦略をプレイヤーに推薦 (2)戦略推薦フェーズ
21
システム
ゲーム序盤の
戦略を予測
P2
P1
ゲーム中の時間の進行方向
Snake型戦略
Turtle型戦略
<
戦略予測
弱小戦略をやめさせ、
プレイヤーP1を勝たせる
ための唯一解
= 戦略変更の推薦
戦略をプレイヤーに推薦 (2)戦略推薦フェーズ
22
システム
ゲーム序盤の
戦略を予測
P2
P1
ゲーム中の時間の進行方向
Snake型戦略
Turtle型戦略
<
戦略予測
Turtle型戦略
各戦略の勝率
負ける確率 (%)
Snake Turtle Dragon Horse
勝
つ
確
率
(%)
Snake 50% 35% 35% 70%
Turtle 65% 50% 35% 40%
Dragon 65% 65% 50% 60%
Horse 30% 60% 40% 50%
対Turtle戦略の
勝率が
最大となる
戦略を選択する
Dragon型戦略
戦略推薦
<
戦略をプレイヤーに推薦 (2)戦略推薦フェーズ
戦略
変更後、
勝利
Lose
23
システム
ゲーム序盤の
戦略を予測
P2
P1
ゲーム中の時間の進行方向
Snake型戦略
Turtle型戦略
<
戦略予測
Turtle型戦略
Dragon型戦略
戦略推薦
<
戦略をプレイヤーに推薦 (2)戦略推薦フェーズ
24
Zealot
兵士の紹介 (52種類中の6種類)
生産コストが高コストの兵器。
防御力が高い。
生産コストが低コストの兵士。
ただし、耐久力がない
生産コストが中コストの
生物型兵器。
自爆することにより攻撃する。
生産コストが高コストの兵士。
攻撃力が高い。
生産コストが高コストの兵器。
長距離攻撃用武器を搭載。
Marine Zergling Baneling
Siege Tank Colossus
生産コストが低コストの
生物型兵器。
移動速度は速いが、
耐久力がない。
25
Void Ray
空軍兵器の紹介(19種類中の6種類)
生産コストが高コストの兵器。
長距離攻撃用武器を搭載。
生産コストが中コストの兵器。
一定コストを使い敵から
見えなくなることができる。
生産コストが中コストの兵器。
味方を治癒する機能を持つ。
生産コストが高コストの兵器。
防御力が高い。
生産コストが超高コストの兵器。
攻撃力が高い。
Medivac
Tempest Battlecruiser
生産コストが中コストの
生物型兵器。
移動速度が速い。
Banshee Mutalisk

More Related Content

More from utsuro_lab

機械学習による球面リバーシ(オセロ)AIの開発
機械学習による球面リバーシ(オセロ)AIの開発機械学習による球面リバーシ(オセロ)AIの開発
機械学習による球面リバーシ(オセロ)AIの開発utsuro_lab
 
各プレーヤー視点での役職確定情報に基づく人狼ログ・ダイジェストの作成
各プレーヤー視点での役職確定情報に基づく人狼ログ・ダイジェストの作成各プレーヤー視点での役職確定情報に基づく人狼ログ・ダイジェストの作成
各プレーヤー視点での役職確定情報に基づく人狼ログ・ダイジェストの作成utsuro_lab
 
乳幼児の認知発達を誘発する売れ筋絵本を推薦する
乳幼児の認知発達を誘発する売れ筋絵本を推薦する乳幼児の認知発達を誘発する売れ筋絵本を推薦する
乳幼児の認知発達を誘発する売れ筋絵本を推薦するutsuro_lab
 
社会センサーとしての検索エンジンを用いて市場シェアを予測しよう
社会センサーとしての検索エンジンを用いて市場シェアを予測しよう社会センサーとしての検索エンジンを用いて市場シェアを予測しよう
社会センサーとしての検索エンジンを用いて市場シェアを予測しようutsuro_lab
 
球面リバーシ(オセロ)
球面リバーシ(オセロ)球面リバーシ(オセロ)
球面リバーシ(オセロ)utsuro_lab
 
ウェブ検索者の情報要求観点の集約と俯瞰に関する研究
ウェブ検索者の情報要求観点の集約と俯瞰に関する研究ウェブ検索者の情報要求観点の集約と俯瞰に関する研究
ウェブ検索者の情報要求観点の集約と俯瞰に関する研究utsuro_lab
 
「みんなが調べた」のに「Wikipediaには書いてない」ことを集約・俯瞰する
「みんなが調べた」のに「Wikipediaには書いてない」ことを集約・俯瞰する「みんなが調べた」のに「Wikipediaには書いてない」ことを集約・俯瞰する
「みんなが調べた」のに「Wikipediaには書いてない」ことを集約・俯瞰するutsuro_lab
 
検索エンジン・エンハンスト・サジェスト・・・サジェストを補足する
検索エンジン・エンハンスト・サジェスト・・・サジェストを補足する検索エンジン・エンハンスト・サジェスト・・・サジェストを補足する
検索エンジン・エンハンスト・サジェスト・・・サジェストを補足するutsuro_lab
 
音声を検索するための索引付け方式の紹介(専門家向け)
音声を検索するための索引付け方式の紹介(専門家向け)音声を検索するための索引付け方式の紹介(専門家向け)
音声を検索するための索引付け方式の紹介(専門家向け)utsuro_lab
 
音声を検索するための索引付け方式の紹介(初心者向け)
音声を検索するための索引付け方式の紹介(初心者向け)音声を検索するための索引付け方式の紹介(初心者向け)
音声を検索するための索引付け方式の紹介(初心者向け)utsuro_lab
 
ニュース・ツイッター間の対応を考慮したバースト・トピックの同定
ニュース・ツイッター間の対応を考慮したバースト・トピックの同定ニュース・ツイッター間の対応を考慮したバースト・トピックの同定
ニュース・ツイッター間の対応を考慮したバースト・トピックの同定utsuro_lab
 
大規模ブロガー空間からブロガーを収集し、ブロガー・コミュニティを自動生成・自動拡張する
大規模ブロガー空間からブロガーを収集し、ブロガー・コミュニティを自動生成・自動拡張する大規模ブロガー空間からブロガーを収集し、ブロガー・コミュニティを自動生成・自動拡張する
大規模ブロガー空間からブロガーを収集し、ブロガー・コミュニティを自動生成・自動拡張するutsuro_lab
 
大規模ブロガー空間において、関心事項ごとのコミュニティを発見する
大規模ブロガー空間において、関心事項ごとのコミュニティを発見する大規模ブロガー空間において、関心事項ごとのコミュニティを発見する
大規模ブロガー空間において、関心事項ごとのコミュニティを発見するutsuro_lab
 
大規模ブロガー空間において、関心事項ごとのコミュニティを発見する
大規模ブロガー空間において、関心事項ごとのコミュニティを発見する大規模ブロガー空間において、関心事項ごとのコミュニティを発見する
大規模ブロガー空間において、関心事項ごとのコミュニティを発見するutsuro_lab
 
Wikipediaの知識を総動員して、話題の分布を俯瞰する
Wikipediaの知識を総動員して、話題の分布を俯瞰するWikipediaの知識を総動員して、話題の分布を俯瞰する
Wikipediaの知識を総動員して、話題の分布を俯瞰するutsuro_lab
 
音声言語対話を介した人間と機械のコミュニケーション技術
音声言語対話を介した人間と機械のコミュニケーション技術音声言語対話を介した人間と機械のコミュニケーション技術
音声言語対話を介した人間と機械のコミュニケーション技術utsuro_lab
 
複数人と対話可能な音声対話ロボットの構築
複数人と対話可能な音声対話ロボットの構築複数人と対話可能な音声対話ロボットの構築
複数人と対話可能な音声対話ロボットの構築utsuro_lab
 
日中時系列ニュースにおけるトピックモデルの推定と二言語間対応の同定
日中時系列ニュースにおけるトピックモデルの推定と二言語間対応の同定日中時系列ニュースにおけるトピックモデルの推定と二言語間対応の同定
日中時系列ニュースにおけるトピックモデルの推定と二言語間対応の同定utsuro_lab
 
時系列トピックのバーストを同定するシステムの紹介 (初心者向け・旧版)
時系列トピックのバーストを同定するシステムの紹介 (初心者向け・旧版)時系列トピックのバーストを同定するシステムの紹介 (初心者向け・旧版)
時系列トピックのバーストを同定するシステムの紹介 (初心者向け・旧版)utsuro_lab
 

More from utsuro_lab (19)

機械学習による球面リバーシ(オセロ)AIの開発
機械学習による球面リバーシ(オセロ)AIの開発機械学習による球面リバーシ(オセロ)AIの開発
機械学習による球面リバーシ(オセロ)AIの開発
 
各プレーヤー視点での役職確定情報に基づく人狼ログ・ダイジェストの作成
各プレーヤー視点での役職確定情報に基づく人狼ログ・ダイジェストの作成各プレーヤー視点での役職確定情報に基づく人狼ログ・ダイジェストの作成
各プレーヤー視点での役職確定情報に基づく人狼ログ・ダイジェストの作成
 
乳幼児の認知発達を誘発する売れ筋絵本を推薦する
乳幼児の認知発達を誘発する売れ筋絵本を推薦する乳幼児の認知発達を誘発する売れ筋絵本を推薦する
乳幼児の認知発達を誘発する売れ筋絵本を推薦する
 
社会センサーとしての検索エンジンを用いて市場シェアを予測しよう
社会センサーとしての検索エンジンを用いて市場シェアを予測しよう社会センサーとしての検索エンジンを用いて市場シェアを予測しよう
社会センサーとしての検索エンジンを用いて市場シェアを予測しよう
 
球面リバーシ(オセロ)
球面リバーシ(オセロ)球面リバーシ(オセロ)
球面リバーシ(オセロ)
 
ウェブ検索者の情報要求観点の集約と俯瞰に関する研究
ウェブ検索者の情報要求観点の集約と俯瞰に関する研究ウェブ検索者の情報要求観点の集約と俯瞰に関する研究
ウェブ検索者の情報要求観点の集約と俯瞰に関する研究
 
「みんなが調べた」のに「Wikipediaには書いてない」ことを集約・俯瞰する
「みんなが調べた」のに「Wikipediaには書いてない」ことを集約・俯瞰する「みんなが調べた」のに「Wikipediaには書いてない」ことを集約・俯瞰する
「みんなが調べた」のに「Wikipediaには書いてない」ことを集約・俯瞰する
 
検索エンジン・エンハンスト・サジェスト・・・サジェストを補足する
検索エンジン・エンハンスト・サジェスト・・・サジェストを補足する検索エンジン・エンハンスト・サジェスト・・・サジェストを補足する
検索エンジン・エンハンスト・サジェスト・・・サジェストを補足する
 
音声を検索するための索引付け方式の紹介(専門家向け)
音声を検索するための索引付け方式の紹介(専門家向け)音声を検索するための索引付け方式の紹介(専門家向け)
音声を検索するための索引付け方式の紹介(専門家向け)
 
音声を検索するための索引付け方式の紹介(初心者向け)
音声を検索するための索引付け方式の紹介(初心者向け)音声を検索するための索引付け方式の紹介(初心者向け)
音声を検索するための索引付け方式の紹介(初心者向け)
 
ニュース・ツイッター間の対応を考慮したバースト・トピックの同定
ニュース・ツイッター間の対応を考慮したバースト・トピックの同定ニュース・ツイッター間の対応を考慮したバースト・トピックの同定
ニュース・ツイッター間の対応を考慮したバースト・トピックの同定
 
大規模ブロガー空間からブロガーを収集し、ブロガー・コミュニティを自動生成・自動拡張する
大規模ブロガー空間からブロガーを収集し、ブロガー・コミュニティを自動生成・自動拡張する大規模ブロガー空間からブロガーを収集し、ブロガー・コミュニティを自動生成・自動拡張する
大規模ブロガー空間からブロガーを収集し、ブロガー・コミュニティを自動生成・自動拡張する
 
大規模ブロガー空間において、関心事項ごとのコミュニティを発見する
大規模ブロガー空間において、関心事項ごとのコミュニティを発見する大規模ブロガー空間において、関心事項ごとのコミュニティを発見する
大規模ブロガー空間において、関心事項ごとのコミュニティを発見する
 
大規模ブロガー空間において、関心事項ごとのコミュニティを発見する
大規模ブロガー空間において、関心事項ごとのコミュニティを発見する大規模ブロガー空間において、関心事項ごとのコミュニティを発見する
大規模ブロガー空間において、関心事項ごとのコミュニティを発見する
 
Wikipediaの知識を総動員して、話題の分布を俯瞰する
Wikipediaの知識を総動員して、話題の分布を俯瞰するWikipediaの知識を総動員して、話題の分布を俯瞰する
Wikipediaの知識を総動員して、話題の分布を俯瞰する
 
音声言語対話を介した人間と機械のコミュニケーション技術
音声言語対話を介した人間と機械のコミュニケーション技術音声言語対話を介した人間と機械のコミュニケーション技術
音声言語対話を介した人間と機械のコミュニケーション技術
 
複数人と対話可能な音声対話ロボットの構築
複数人と対話可能な音声対話ロボットの構築複数人と対話可能な音声対話ロボットの構築
複数人と対話可能な音声対話ロボットの構築
 
日中時系列ニュースにおけるトピックモデルの推定と二言語間対応の同定
日中時系列ニュースにおけるトピックモデルの推定と二言語間対応の同定日中時系列ニュースにおけるトピックモデルの推定と二言語間対応の同定
日中時系列ニュースにおけるトピックモデルの推定と二言語間対応の同定
 
時系列トピックのバーストを同定するシステムの紹介 (初心者向け・旧版)
時系列トピックのバーストを同定するシステムの紹介 (初心者向け・旧版)時系列トピックのバーストを同定するシステムの紹介 (初心者向け・旧版)
時系列トピックのバーストを同定するシステムの紹介 (初心者向け・旧版)
 

ウォーゲーム:StarCraftの戦略推薦