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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Yusuke Fukasawa
February 16, 2025
Programming
2.4k
0
Share
ファインディLT_ポケモン対戦の定量的分析
https://findy.connpass.com/event/343746/
で発表した資料です。
Yusuke Fukasawa
February 16, 2025
More Decks by Yusuke Fukasawa
See All by Yusuke Fukasawa
ポケモン対戦を自動で 記録する PCBL(Pokémon Champions Battle Logger) の紹介
fufufukakaka
1
74
機械学習で作った ポケモン対戦bot で 遊ぼう!
fufufukakaka
0
200
LLMアプリケーションの透明性について
fufufukakaka
0
220
やるべきときにMLをやる AIエージェント開発
fufufukakaka
2
1.4k
社内データ分析AIエージェントを できるだけ使いやすくする工夫
fufufukakaka
1
1.1k
コミューンのデータ分析AIエージェント「Community Sage」の紹介
fufufukakaka
0
2.6k
対戦におけるポケモンの “意味変化”を追う_リモートポケモン学会
fufufukakaka
0
280
機械学習を用いたポケモン対戦選出予測
fufufukakaka
2
2.3k
Poke_Battle_Logger の紹介: リモポケ学会20230714
fufufukakaka
1
1.2k
Other Decks in Programming
See All in Programming
要はバランスからの卒業 #yumemi_grow
kajitack
0
190
Are We Really Coding 10× Faster with AI?
kohzas
0
220
プラグインで拡張される Context をtype-safe にする難しさと設計判断
kazupon
2
290
TypeSpec で繋ぐ複数プロダクトの型安全
maroon8021
1
210
AWSはOSSをどのように 考えているのか?
akihisaikeda
1
140
Agentic AI & UI: Arcitecture, HITL, Emerging Standards
manfredsteyer
PRO
0
130
過去のレビュー知見をSkillsで資産化した話
pkshadeck
PRO
1
2.2k
Modding RubyKaigi for Myself
yui_knk
0
400
新規プロダクトを高速で生み出すハーネスエンジニアリング
seanchas116
3
260
実践ハーネスエンジニアリング:ステアリングループを実例から読み解く / Practical Harness Engineering: Understanding Steering Loops Through Real-World Examples
nrslib
6
6.2k
次世代リンターで探る、tsgo 時代における型認識カスタムルールの現実解
ytakahashii
1
910
GitHub Copilot CLIのいいところ
htkym
2
750
Featured
See All Featured
Heart Work Chapter 1 - Part 1
lfama
PRO
7
36k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
290
Measuring & Analyzing Core Web Vitals
bluesmoon
9
830
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
150
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
530
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
How STYLIGHT went responsive
nonsquared
100
6.1k
Side Projects
sachag
455
43k
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
エー ジェント・自動でポケモン対戦をする強化学習エージェ ントの作成