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.1k
0
Share
ファインディLT_ポケモン対戦の定量的分析
https://findy.connpass.com/event/343746/
で発表した資料です。
Yusuke Fukasawa
February 16, 2025
More Decks by Yusuke Fukasawa
See All by Yusuke Fukasawa
機械学習で作った ポケモン対戦bot で 遊ぼう!
fufufukakaka
0
130
LLMアプリケーションの透明性について
fufufukakaka
0
210
やるべきときにMLをやる AIエージェント開発
fufufukakaka
2
1.3k
社内データ分析AIエージェントを できるだけ使いやすくする工夫
fufufukakaka
1
1k
コミューンのデータ分析AIエージェント「Community Sage」の紹介
fufufukakaka
0
2.4k
対戦におけるポケモンの “意味変化”を追う_リモートポケモン学会
fufufukakaka
0
280
機械学習を用いたポケモン対戦選出予測
fufufukakaka
2
2k
Poke_Battle_Logger の紹介: リモポケ学会20230714
fufufukakaka
1
1.1k
Poke_Battle_Loggerの紹介
fufufukakaka
0
430
Other Decks in Programming
See All in Programming
PCOVから学ぶコードカバレッジ #phpcon_odawara
o0h
PRO
0
240
Laravel Nightwatchの裏側 - Laravel公式Observabilityツールを支える設計と実装
avosalmon
1
320
Running Swift without an OS
kishikawakatsumi
0
690
Feature Toggle は捨てやすく使おう
gennei
0
460
AIエージェントで業務改善してみた
taku271
0
500
ネイティブアプリとWebフロントエンドのAPI通信ラッパーにおける共通化の勘所
suguruooki
0
250
AI活用のコスパを最大化する方法
ochtum
0
380
Coding as Prompting Since 2025
ragingwind
0
770
Radical Imagining - LIFT 2025-2027 Policy Agenda
lift1998
0
250
ファインチューニングせずメインコンペを解く方法
pokutuna
0
280
実践CRDT
tamadeveloper
0
400
PHP でエミュレータを自作して Ubuntu を動かそう
m3m0r7
PRO
2
170
Featured
See All Featured
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
120
Agile that works and the tools we love
rasmusluckow
331
21k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
160
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
96
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
Balancing Empowerment & Direction
lara
5
1k
Building an army of robots
kneath
306
46k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.4k
Site-Speed That Sticks
csswizardry
13
1.1k
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
エー ジェント・自動でポケモン対戦をする強化学習エージェ ントの作成