Pokémon RMT bot

Have you considered adding a lead option? Azelf can check Infernape, but if it's in the lead position it's never going to last until late game. Would it be possible to take certain leads (suicide leads) out of the equation? And Metagross can beat standard Lead Azelf, but it would never beat it normally. Maybe have a lead command or something?
 
I've considered it, yes, but sometimes leads (especially not-suicide leads) last whole game, and even suicide leads have to switch out. Azelf is used normally as a lead, but it does have a nasty plot set etc., if I did this it would have to go with splitting up certain pokemon into movesets (SpecsMence and MixMence for example).
 
Teamforce is back!

Sorry about the ages with no activity. I've been reviving this project (Teamforce, the brute-force RMT bot) on my own over the last week or so; this time, though, instead of using a human-built list of what counters what, I've used statistics.
The basis of the method used is the switching stats that Colin provided last August, listing which Pokémon tend to switch into which. (Unfortunately, due to the age of the statistics, this approach is kind-of inapplicable to UU at the moment because it's changed so much since then, so I've been focusing on OU.) The idea is this: players are more likely to switch in a good counter to a particular Pokémon, then a bad one, if they have it on their team, so by weighting the number of switches with the usage of the Pokémon switched into, you can calculate how good a counter a Pokémon is likely to be, with commonly used sets in practice. Some examples:

  • Of teams that owned a Hippowdon, almost exactly 1/6th of the time they faced a Porygon2 and decided to switch, they used their Hippowdon as the switch-in. This is a kind-of "baseline" stat; you can expect a Pokémon to be used for 1/6th of switchins if all the Pokémon on a team are equally good at countering the Pokémon has sent out. The formula used rates this situation as a "countering number" of 0.000; Hippowdon is almost exactly average as a switchin to Porygon2.
  • An example of a very good counter is Blissey to Alakazam; pretty much the only thing the Blissey has to fear is tricked Choice Specs, the rest of the time Alakazam isn't getting past. Teams which had a Blissey available sent it out about half the time they faced an Alakazam, meaning (statistically) that Blissey is a very good Alakazam counter. Teamforce gives her a countering number of +1.084 against Alakazam, based on the stats.
  • The other extreme is an incredibly poor counter. Electrode is a truly terrible counter to Salamence; it has rather poor defences, and is normally built as a lead. (In August, over 98% of Electrodes ran no defense or special-defence EVs; and 90% used either Focus Sash or Damp Rock, both items indicating a lead.) Additionally, Electrode, being often used as a suicide lead, often isn't even alive by the time the enemy Salamence comes out, making it an even worse counter. As a result, teams with an Electrode in sent it out only 5% of the time they were facing Salamence, far below the 16% that would be predicted by chance. Teamforce gives Electrode a countering number of -1.047 against Salamence.
These statistics have one big advantage over the ones compiled by hand: they can be relatively comprehensive (there's enough data to get reasonably reliable results for all Pokémon with at least 1% usage in OU, meaning that Pokémon like Absol, Ambipom and Porygon2 can be included in the stats). There are also some disadvantages, though: it doesn't allow for unusual sets like "bait" sets which are designed to cripple a Pokémon's usual counters, and it doesn't take the difficulty of countering an individual Pokémon into account (just think: half of all Pokémon are above-average Garchomp counters!). Even so, it can still serve as a useful first check of a team to see if it has any glaring weaknesses (I've been testing it on some recent OU RMTs, and often see the same problems listed the OP has stated, whether it's an individual Pokémon, or a strategy; seeing Skarmory, Blissey and Rotom-H listed as problems can imply that a team is stall-weak, for example.)

Sorry about the ages with no activity. I've been reviving this project (Teamforce, the brute-force RMT bot) on my own over the last week or so; this time, though, instead of using a human-built list of what counters what, I've used statistics.
The basis of the method used is the switching stats that Colin provided last August, listing which Pokémon tend to switch into which. (Unfortunately, due to the age of the statistics, this approach is kind-of inapplicable to UU at the moment because it's changed so much since then, so I've been focusing on OU.) The idea is this: players are more likely to switch in a good counter to a particular Pokémon, then a bad one, if they have it on their team, so by weighting the number of switches with the usage of the Pokémon switched into, you can calculate how good a counter a Pokémon is likely to be, with commonly used sets in practice. Some examples:

  • Of teams that owned a Hippowdon, almost exactly 1/6th of the time they faced a Porygon2 and decided to switch, they used their Hippowdon as the switch-in. This is a kind-of "baseline" stat; you can expect a Pokémon to be used for 1/6th of switchins if all the Pokémon on a team are equally good at countering the Pokémon has sent out. The formula used rates this situation as a "countering number" of 0.000; Hippowdon is almost exactly average as a switchin to Porygon2.
  • An example of a very good counter is Blissey to Alakazam; pretty much the only thing the Blissey has to fear is tricked Choice Specs, the rest of the time Alakazam isn't getting past. Teams which had a Blissey available sent it out about half the time they faced an Alakazam, meaning (statistically) that Blissey is a very good Alakazam counter. Teamforce gives her a countering number of +1.084 against Alakazam, based on the stats.
  • The other extreme is an incredibly poor counter. Electrode is a truly terrible counter to Salamence; it has rather poor defences, and is normally built as a lead. (In August, over 98% of Electrodes ran no defense or special-defence EVs; and 90% used either Focus Sash or Damp Rock, both items indicating a lead.) Additionally, Electrode, being often used as a suicide lead, often isn't even alive by the time the enemy Salamence comes out, making it an even worse counter. As a result, teams with an Electrode in sent it out only 5% of the time they were facing Salamence, far below the 16% that would be predicted by chance. Teamforce gives Electrode a countering number of -1.047 against Salamence.
These statistics have one big advantage over the ones compiled by hand: they can be relatively comprehensive (there's enough data to get reasonably reliable results for all Pokémon with at least 1% usage in OU, meaning that Pokémon like Absol, Ambipom and Porygon2 can be included in the stats). There are also some disadvantages, though: it doesn't allow for unusual sets like "bait" sets which are designed to cripple a Pokémon's usual counters, and it doesn't take the difficulty of countering an individual Pokémon into account (just think: half of all Pokémon are above-average Garchomp counters!). Even so, it can still serve as a useful first check of a team to see if it has any glaring weaknesses (I've been testing it on some recent OU RMTs, and often see the same problems listed the OP has stated, whether it's an individual Pokémon, or a strategy; seeing Skarmory, Blissey and Rotom-H listed as problems can imply that a team is stall-weak, for example.)

This time, I've written the bot as a web page rather than as an IRC bot, to provide more comprehensive results (an entire threat list, as well as a threat summary). Unfortunately, I have nowhere to host it at the moment; I've put the file temporarily at http://filebin.ca/jcszd/teamforce.html for people to have a play around with, although eventually it'll be deleted from there (it's a place for temporary file storage; note that it's set to prompt to download/open even HTML files, as a result) and somewhere else to host it will be needed.

Does anyone have questions/suggestions/comments?
 
I've used it, and I think it's a very good program. Although having a scizor in your team seems to counter too much. :P
 

jc104

Humblest person ever
is a Top Contributor Alumnus
I noticed that it seems as though Flygon comes up as something that easily switches in to every team there is. This is because this pokemon always switches a lot. Maybe you need to adjust for this sort of thing somehow.

This does not take into account sets at all either. I also think that it should be limited to OU suggestions, and only others that are considered major offensive threats.

Finally, it does not take into account indirect countering. I for, instance, run a toxic spiker, and it tells me I have a massive Blissey Weakness. Teams with a Roserade or Tentacruel might be expected to beat teams with Blissey more than otherwise. This could be another line upon which to add to your calculation.
 
This bot is very useful to get an idea of the holes in your team, but sometimes it doesn't consider the sets. My biggest problem is that for some reason, Shuckle will be able to easily set up on my team. Other than that, I can see myself using this program pretty frequently. Thanks for all the hard work!
 

Users Who Are Viewing This Thread (Users: 1, Guests: 0)

Top