Papers by Gabriel Synnaeve
We describe a generative Bayesian model of tactical attacks in strategy games, which can be used ... more We describe a generative Bayesian model of tactical attacks in strategy games, which can be used both to predict attacks and to take tactical decisions. This model is designed to easily integrate and merge information from other (probabilistic) estimations and heuristics. In particular, it handles uncertainty in enemy units' positions as well as their probable tech tree. We claim that learning, being it supervised or through reinforcement, adapts to skewed data sources. We evaluated our approach on StarCraft 1 : the parameters are learned on a new (freely available) dataset of game states, deterministically re-created from replays, and the whole model is evaluated for prediction in realistic conditions. It is also the tactical decision-making component of a competitive StarCraft AI.
A Bayesian Model for Plan Recognition in RTS Games applied to StarCraft
Abstract The task of keyhole (unobtrusive) plan recognition is central to adaptive game AI.“Tech ... more Abstract The task of keyhole (unobtrusive) plan recognition is central to adaptive game AI.“Tech trees” or “build trees” are the core of real-time strategy (RTS) game strategic (long term) planning. This paper presents a generic and simple Bayesian model for RTS build tree prediction from noisy observations, which parameters are learned from replays (game logs). This unsupervised machine learning approach involves minimal work for the game developers as it leverage players' data (common in RTS).
Abstract This paper presents a Bayesian model to predict the opening (first strategy) of opponent... more Abstract This paper presents a Bayesian model to predict the opening (first strategy) of opponents in real-time strategy (RTS) games. Our model is general enough to be applied to any RTS game with the canonical gameplay of gathering resources to extend a technology tree and produce military units and we applied it to StarCraft 1. This model can also predict the possible technology trees of the opponent, but we will focus on openings here. The parameters of this model are learned from replays (game logs), labeled with openings.
Abstract—We describe a generative Bayesian model of tactical attacks in strategy games, which can... more Abstract—We describe a generative Bayesian model of tactical attacks in strategy games, which can be used both to predict attacks and to take tactical decisions. This model is designed to easily integrate and merge information from other (probabilistic) estimations and heuristics. In particular, it handles uncertainty in enemy units' positions as well as their probable tech tree. We claim that learning, being it supervised or through reinforcement, adapts to skewed data sources.
Résumé: This paper presents a method for enabling the relational learning or inductive logic prog... more Résumé: This paper presents a method for enabling the relational learning or inductive logic programming (ILP) frame-work to deal with quantitative information from experimental data in systems biology. The study of systems biology through ILP aims at improving the understanding of the physiological state of the cell and the interpre-tation of the interactions between metabolites and signaling networks. A logical model of the glycolysis and pentose phosphate pathways of E. Coli is proposed to support our method description.
Abstract Discretization is a key preprocessing step in knowledge discovery to make raw time serie... more Abstract Discretization is a key preprocessing step in knowledge discovery to make raw time series data applicable to symbolic data mining algorithms. To improve the comprehensibility of the mined results, or to help the induction step of the mining algorithms, in discretization, it is natural to prefer having discrete levels which can be mapped into intuitive symbols. In this paper, we aim to make smoothing of the data points along with the time axis, and make binning or clustering at the measurement axis.
Abstract This paper advocates the exploration of the full state of recorded real-time strategy (R... more Abstract This paper advocates the exploration of the full state of recorded real-time strategy (RTS) games, by human or robotic players, to discover how to reason about tactics and strategy. We present a dataset of StarCraft1 games encompassing the most of the games' state (not only player's orders). We explain one of the possible usages of this dataset by clustering armies on their compositions. This reduction of armies compositions to mixtures of Gaussian allow for strategic reasoning at the level of the components.
Abstract In real-time strategy games (RTS), the player must reason about high-level strategy and ... more Abstract In real-time strategy games (RTS), the player must reason about high-level strategy and planning while having effective tactics and even individual units micro-management. Enabling an artificial agent to deal with such a task entails breaking down the complexity of this environment. For that, we propose to control units locally in the Bayesian sensory motor robot fashion, with higher level orders integrated as perceptions.
Abstract This thesis explores the use of Bayesian models in multi-player video game AI, particula... more Abstract This thesis explores the use of Bayesian models in multi-player video game AI, particularly real-time strategy (RTS) game AI. Video games are in-between real world robotics and total simulations, as other players are not simulated, nor do we have control over the simulation. RTS games require having strategic (technological, economical), tactical (spatial, temporal) and reactive (units control) actions and decisions on the go.

This paper describes an application of Bayesian programming to the control of an autonomous avata... more This paper describes an application of Bayesian programming to the control of an autonomous avatar in a multiplayer role-playing game (the example is based on World of Warcraft). We model a particular task, which consist of choosing what to do and on which target in a situation where allies and foes are present. We explain the model in Bayesian programming and how we could learn the conditional probabilities from data gathered during human-played sessions.
This model deals only with a sub-task of a global AI for autonomous non-playing characters. The problem that we try to solve with the presented model is: how do we choose which skill to use and on which target in a player versus environment battle? Possible targets are all our allies and foes. Possible skills are all that we know. From the input values of perception variables and the underlying conditional probabilities (that can be learned) defining our model, we will just try and get a distribution over targets and skills and pick the most probable combination that is yet possible to achieve (enough energy/mana, no cooldown). We achieved this computations through Bayesian programming with joint distributions adequate with our model.
We also present results from it being applied to a simulated situation of battle with 12 skills and 6 targets. Finally, we discuss the computational complexity of such a model and how we could speed calculations up (subquestions) in cases of large battles. Indeed, our model has yet to be applied in real time along with a video game running, but we are confident in its scalability.
Micro-management is the art of maximizing the efficiency of your units:
Not a perfect (nor what-we-want-in-the-end) model, but the actual, implemented, bot model. 13/65 ... more Not a perfect (nor what-we-want-in-the-end) model, but the actual, implemented, bot model. 13/65 Part 1: Micro-management Part 2: Enemy strategy prediction Problem Model Results Part 1 Micro-management 14/65 Part 1: Micro-management Part 2: Enemy strategy prediction Problem Model Results
Uploads
Papers by Gabriel Synnaeve
This model deals only with a sub-task of a global AI for autonomous non-playing characters. The problem that we try to solve with the presented model is: how do we choose which skill to use and on which target in a player versus environment battle? Possible targets are all our allies and foes. Possible skills are all that we know. From the input values of perception variables and the underlying conditional probabilities (that can be learned) defining our model, we will just try and get a distribution over targets and skills and pick the most probable combination that is yet possible to achieve (enough energy/mana, no cooldown). We achieved this computations through Bayesian programming with joint distributions adequate with our model.
We also present results from it being applied to a simulated situation of battle with 12 skills and 6 targets. Finally, we discuss the computational complexity of such a model and how we could speed calculations up (subquestions) in cases of large battles. Indeed, our model has yet to be applied in real time along with a video game running, but we are confident in its scalability.