Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ファインディLT_ポケモン対戦の定量的分析
Search
Yusuke Fukasawa
February 16, 2025
Programming
0
1k
ファインディLT_ポケモン対戦の定量的分析
https://findy.connpass.com/event/343746/
で発表した資料です。
Yusuke Fukasawa
February 16, 2025
Tweet
Share
More Decks by Yusuke Fukasawa
See All by Yusuke Fukasawa
対戦におけるポケモンの “意味変化”を追う_リモートポケモン学会
fufufukakaka
0
150
機械学習を用いたポケモン対戦選出予測
fufufukakaka
1
1k
Poke_Battle_Logger の紹介: リモポケ学会20230714
fufufukakaka
1
960
Poke_Battle_Loggerの紹介
fufufukakaka
0
330
Cookpad TechConf2022 / Machine-Learning-At-Cookpad-Mart
fufufukakaka
1
3.2k
20221116_MLOps勉強会_クックパッドマートにおける推薦タスクとMLOps
fufufukakaka
2
1.8k
RedshiftML in Cookpad
fufufukakaka
2
7.2k
Other Decks in Programming
See All in Programming
コンテナでLambdaをデプロイするときに知っておきたかったこと
_takahash
0
140
requirements with math
moony
0
520
AtCoder Heuristic First-step Vol.1 講義スライド
terryu16
2
1k
PHPUnit 高速化テクニック / PHPUnit Speedup Techniques
pinkumohikan
1
1.2k
Go1.24で testing.B.Loopが爆誕
kuro_kurorrr
0
150
php-fpm がリクエスト処理する仕組みを追う / Tracing-How-php-fpm-Handles-Requests
shin1x1
5
820
신입 안드로이드 개발자의 AI 스타트업 생존기 (+ Native C++ Code를 Android에서 사용해보기)
dygames
0
500
データベースエンジニアの仕事を楽にする。PgAssistantの紹介
nnaka2992
9
4.2k
小さく段階的リリースすることで深夜メンテを回避する
mkmk884
2
130
Firebase Dynamic Linksの代替手段を自作する / Create your own Firebase Dynamic Links alternative
kubode
0
180
Return of the Full-Stack Developer
simas
PRO
1
310
なぜselectはselectではないのか
taiyow
2
300
Featured
See All Featured
Fireside Chat
paigeccino
37
3.3k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Agile that works and the tools we love
rasmusluckow
328
21k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
51
2.4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.5k
Building Applications with DynamoDB
mza
94
6.3k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.4k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Designing for humans not robots
tammielis
250
25k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
Transcript
趣味の紹介 ポケモン対戦の定量的分析 Yusuke Fukasawa ファインディ様 個人開発自慢LTNight 2025/02
• fufufukakaka • 機械学習エンジニア at コミューン株式会社 ◦ リクルート→クックパッド→ • 得意な領域は自然言語処理と推薦技術
• 朝7時からテニスをするのが趣味(平日2回) 自己紹介
趣味: ポケモン対戦 (シングル・ランクバトル)
趣味: ポケモン対戦 (シングル・ランクバトル) (エンジョイ)
6体同士を見せあって、3体を選んで戦う
ポケモン対戦は 分析しやすいし分析したくなる
- 2人同時手番ゲーム: じゃんけんと構造は同じ - ただ、取りうる手やステータスの配分はかなり無限 - 統計情報が公開されている - 技構成などの遭遇率はわかる -
6体見せあってから3体を出す構造が面白い - マクロとミクロ両方で読み合いが起きる - 長い歴史が続いているゲーム - 分析対象として意義が深い - あわよくば強くなりたい (小声) ポケモン対戦の分析しやすさと魅力
これまでの取り組み
これまでの取り組み
- HDMIキャプチャで対戦動画を YouTube にアップ - YouTube URL を入力すると自動でその対戦から得 られる Stats
を収集するアプリを開発 - 自作のポケモン画像判別機などを作成 - 今も手元で使っています - 本当は何かしらの方法で配布したかった んですが、その手間をかけられなかった 機械学習でポケモン対戦動画 を解析する
None
None
None
None
None
(時間があれば )画面を触ってみるデモ
構成図
- 前述した方法で集めた対戦履歴を用いて選出予測モ デルを作ってみた - 自分と相手の6体を入力として、相手の6体に対して 初手選出・それ以外での選出・選出されない、という Token Classification - ポケモンを単語とみなした
BERT で学習 - 初手はまあまあ当てられるのが良かった - ランダムよりは良い程度ですが... 機械学習を用いたポケモン 対戦選出予測
- 前述した方法で集めた対戦履歴を用いてポケモンを単 語とみなしたベクトルを計算 - その時系列変化を追うことで”意味”変化の大きい・小さ いポケモンを見つけようとした - よく上位構築に採用されるポケモンでも意味変化の大 きい・そうでないの差があって面白かった 対戦におけるポケモンの意味
変化を追う
まとめ • ポケモンの対戦動画を解析するアプリを作って遊んで います • 得たデータを活かして機械学習応用にチャレンジして います • 次の目標は対戦中にアドバイスしてくれる LLM
エー ジェント・自動でポケモン対戦をする強化学習エージェ ントの作成