  The highest grossing media franchise of all times, with over \$90 billion in
total revenue, is Pokemon. The video games belong to the class of Japanese Role
Playing Games (J-RPG). Developing a powerful AI agent for these games is very
hard because they present big challenges to MinMax, Monte Carlo Tree Search and
statistical Machine Learning, as they are vastly different from the well
explored in AI literature games. An AI agent for one of these games means
significant progress in AI agents for the entire class. Further, the key
principles of such work can hopefully inspire approaches to several domains
that require excellent teamwork under conditions of extreme uncertainty,
including managing a team of doctors, robots or employees in an ever changing
environment, like a pandemic stricken region or a war-zone. In this paper we
first explain the mechanics of the game and we perform a game analysis. We
continue by proposing unique AI algorithms based on our understanding that the
two biggest challenges in the game are keeping a balanced team and dealing with
three sources of uncertainty. Later on, we describe why evaluating the
performance of such agents is challenging and we present the results of our
approach. Our AI agent performed significantly better than all previous
attempts and peaked at the 33rd place in the world, in one of the most popular
battle formats, while running on only 4 single socket servers.
