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
1.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
180
機械学習を用いたポケモン対戦選出予測
fufufukakaka
1
1.1k
Poke_Battle_Logger の紹介: リモポケ学会20230714
fufufukakaka
1
990
Poke_Battle_Loggerの紹介
fufufukakaka
0
360
Cookpad TechConf2022 / Machine-Learning-At-Cookpad-Mart
fufufukakaka
1
3.3k
20221116_MLOps勉強会_クックパッドマートにおける推薦タスクとMLOps
fufufukakaka
2
1.8k
RedshiftML in Cookpad
fufufukakaka
2
7.7k
Other Decks in Programming
See All in Programming
プロダクト志向ってなんなんだろうね
righttouch
PRO
0
170
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
330
AIコーディング道場勉強会#2 君(エンジニア)たちはどう生きるか
misakiotb
1
270
ASP.NETアプリケーションのモダナイズ インフラ編
tomokusaba
1
430
Benchmark
sysong
0
280
Quand Symfony, ApiPlatform, OpenAI et LangChain s'allient pour exploiter vos PDF : de la théorie à la production…
ahmedbhs123
0
100
Railsアプリケーションと パフォーマンスチューニング ー 秒間5万リクエストの モバイルオーダーシステムを支える事例 ー Rubyセミナー 大阪
falcon8823
4
1k
Kotlin エンジニアへ送る:Swift 案件に参加させられる日に備えて~似てるけど色々違う Swift の仕様 / from Kotlin to Swift
lovee
1
260
都市をデータで見るってこういうこと PLATEAU属性情報入門
nokonoko1203
1
580
High-Level Programming Languages in AI Era -Human Thought and Mind-
hayat01sh1da
PRO
0
630
Result型で“失敗”を型にするPHPコードの書き方
kajitack
4
540
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
230
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
940
Code Reviewing Like a Champion
maltzj
524
40k
Visualization
eitanlees
146
16k
The Straight Up "How To Draw Better" Workshop
denniskardys
234
140k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Practical Orchestrator
shlominoach
188
11k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Testing 201, or: Great Expectations
jmmastey
42
7.6k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
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
エー ジェント・自動でポケモン対戦をする強化学習エージェ ントの作成