VGC Problem Definition #268
Replies: 5 comments 9 replies
-
This is a good summary of a lot of important issues related to this problem. |
Beta Was this translation helpful? Give feedback.
-
Great discussion here. I'm a bit late to it, but want to get involved as I've been thinking about RL for VGC (here's my current blog but more basic analytics) . I do believe deep RL + MTC + self-play is the ultimate answer to this problem but I don't know how attainable a good enough version is for pedestrians like me with both limited brain power and compute power. Here are some intuitions and random thoughts I have about the problem currently, but have not yet gotten far along enough to put ideas into practice:
As added bonus here's a scraper script to extract meta info for a given format. Like I say, I'll try to submit a PR one day with something like this but I have a pretty steep learning curve ahead of me getting acquainted with all the current tooling. Gist here |
Beta Was this translation helpful? Give feedback.
-
Can you go over the calcs for the action space for VGC being 418? I calculated it as:
The edge cases I didn't include are pivot moves like U-Turn and Parting Shot. |
Beta Was this translation helpful? Give feedback.
-
This is my math, where I break each state space by how we choose mons switch:
- if two switches: 2 (cuz positions matter)
- if one switch: 2 (cuz either mon could switch) *
- switch mon: 2 possible switches
- if non-switch dynamaxes: 4 moves * 2 targets
- if non-switch doesn't dynamax: 4 moves * 3 targets
= 80
- if no mon switches:
- if one dynamaxes: 2 possible dynamaxes * (4 moves * 2 targets) * (4 moves * 3 targets)
- if none dynamaxes: (4 moves * 3 targets)*(4 moves * 3 targets)
= 336
I think where we differ is:
1/ position matters if we switch two
2/ dynamax moves only have a max of two targets
3/ im assuming moves have a max of three targets (can’t think of ones that have 4 off the top of my head; but I’m probably missing multiple 😛)
4/ only one mon can dynamax on a turn
5/ pivot moves, which is something I definitely consider
…Sent from my iPhone
On Sep 15, 2022, at 10:10 AM, melondonkey ***@***.***> wrote:
Can you go over the calcs for the action space for VGC being 418? I calculated it as:
4 moves into 4 targets = 16
4 special moves (dynamax, terastalize, etc) into 4 targets = 16
2 switch options
16 + 16 + 2 = 34 options for one Pokemon
34*34 = 1156 for two Pokemon
1156 - 1 = 1155 (since both Pokemon cannot switch into the same mon)
The edge cases I didn't include are pivot moves like U-Turn and Parting Shot.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.
|
Beta Was this translation helpful? Give feedback.
-
I'd like to add more here. Observability, Im/perfect information, and In/complete information are all different concepts, although closely related. As you mentioned, Pokemon Battles are partially observable, as the state of pokemon battles includes opponent stats, movesets, items that are unknown to the agent. Pokemon battles are also imperfect information games as the stats, movesets, items of the opponent are hidden from the agent, but important to keep in mind the action (i.e. opponent moves at a specific turn) is not hidden. Pokemon battles are (I believe) are incomplete information games as while the objective of each agent (knock out opponent pokemon) is known to all other agents, the policies and strategies are not. Just my two cents. |
Beta Was this translation helpful? Give feedback.
-
First Discussion! I wanted to formalize the problem definition of Singles and VGC from an AI perspective that make them such hard problems to solve. All of us working in this area have already thought deeply about this -- and I'm sure this stream-of-consciousness will miss a ton! I would love people's thoughts and feedback, and I can go back and edit/add to this; I hope to use this as a foundation on which we can start discussing promising angles/approaches to tackling this problem.
From the above, my view is there are two approaches that might work for VGC: tree-based and RL.
Most of this problem is how to prune efficiently.
Encoding knowledge of move interactions will require incredible amounts of custom logic and training data.
Beta Was this translation helpful? Give feedback.
All reactions