Building a Pokémon Team Builder Suggestion AI using the Apriori Algorithm

Background

In my Spring 2022 semester at NYU I took AI for Games. The First half of the class was dedicated to the study of how AI was utilised in video games. This ranged from AI to play games, world generation, deep learning components and more. The second half we were then tasked with presenting an idea of our own to helm a group project.

I am a huge fan of competitive Pokémon, specifically 6v6 singles but I also enjoy the VGC Double battles. My idea revolved around utilising the Apriori itemset algorithm to use data on what teams of Pokémon players on showdown are using to then recommend the best Pokémon for the ones the player has already picked. The idea revolves around the concept that if a certain pairing or combination of Pokémon are being used more frequently it must be better, and therefore a good recommendation to give to the player. A similar logic is used in tiering Pokémon on showdown.

After presenting my idea I had three members join: Gavin Senger, Chun Wing Huang and Longtao Lyu. All of us worked together to make the Team Builder and wrote the below paper in the IEEE style about it.

The Paper

Final Thoughts

Overall this was a good start, as touched on in the conclusion of the paper it is promising but we came against the issue that the method is inefficient for training and with large datasets, and there is a lot of data to be garnered from Showdown. Furthermore it would need to be constantly updated for meta shifts. We also were unable to check for player bias in choices in teams.

If I were to take this project forward I would attempt to find a way to alter the Apriori algorithm for this specific use-case and hopefully make it more time efficient. I think with a system where we can live update the database of teams there is a lot potential for helping newer player’s build competitive teams.