Predicting Opponent's Production in Real-Time Strategy Games With Answer Set Programming

The adversarial character of real-time strategy (RTS) games is one of the main sources of uncertainty within this domain. Since players lack exact knowledge about their opponent's actions, they need a reasonable representation of alternative possibilities and their likelihood. In this article we propose a method of predicting the most probable combination of units produced by the opponent during a certain time period. We employ a logic programming paradigm called Answer Set Programming, since its semantics is well suited for reasoning with uncertainty and incomplete knowledge. In contrast with typical, purely probabilistic approaches, the presented method takes into account the background knowledge about the game and only considers the combinations that are consistent with the game mechanics and with the player's partial observations. Experiments, conducted during different phases of StarCraft: Brood War and Warcraft III: The Frozen Throne games, show that the prediction accuracy for time intervals of 1-3 min seems to be surprisingly high, making the method useful in practice. Root-mean-square error grows only slowly with increasing prediction intervals-almost in a linear fashion.

[1]  Michael Mateas,et al.  A data mining approach to strategy prediction , 2009, 2009 IEEE Symposium on Computational Intelligence and Games.

[2]  Michael Buro,et al.  Portfolio greedy search and simulation for large-scale combat in starcraft , 2013, 2013 IEEE Conference on Computational Inteligence in Games (CIG).

[3]  Michal Certický,et al.  Implementing a Wall-In Building Placement in StarCraft with Declarative Programming , 2013, ArXiv.

[4]  Martin Gebser,et al.  Reactive Answer Set Programming , 2011, LPNMR.

[5]  Torsten Schaub,et al.  Modeling Biological Networks by Action Languages via Answer Set Programming , 2008, Constraints.

[6]  Froduald Kabanza,et al.  Opponent Behaviour Recognition for Real-Time Strategy Games , 2010, Plan, Activity, and Intent Recognition.

[7]  Michael Gelfond,et al.  Classical negation in logic programs and disjunctive databases , 1991, New Generation Computing.

[8]  Chitta Baral,et al.  Knowledge Representation, Reasoning and Declarative Problem Solving , 2003 .

[9]  Michael Buro,et al.  Predicting Army Combat Outcomes in StarCraft , 2013, AIIDE.

[10]  Marius Thomas Lindauer,et al.  Centurio, a General Game Player: Parallel, Java- and ASP-based , 2010, KI - Künstliche Intelligenz.

[11]  Thomas G. Dietterich,et al.  Learning Probabilistic Behavior Models in Real-Time Strategy Games , 2011, AIIDE.

[12]  Santiago Ontañón,et al.  A Survey of Real-Time Strategy Game AI Research and Competition in StarCraft , 2013, IEEE Transactions on Computational Intelligence and AI in Games.

[13]  Arnav Jhala,et al.  A Particle Model for State Estimation in Real-Time Strategy Games , 2011, AIIDE.

[14]  Pierre Bessière,et al.  A Dataset for StarCraft AI & an Example of Armies Clustering , 2012, ArXiv.

[15]  Michael Buro,et al.  Call for AI Research in RTS Games , 2004 .

[16]  Michael Thielscher Answer Set Programming for Single-Player Games in General Game Playing , 2009, ICLP.

[17]  Robert P. Goldman,et al.  A probabilistic plan recognition algorithm based on plan tree grammars , 2009, Artif. Intell..

[18]  Martin Gebser,et al.  Repair and Prediction (under Inconsistency) in Large Biological Networks with Answer Set Programming , 2010, KR.

[19]  Gabriel Synnaeve,et al.  A Bayesian model for opening prediction in RTS games with application to StarCraft , 2011, 2011 IEEE Conference on Computational Intelligence and Games (CIG'11).