  This paper introduces a new framework for real-time decision making in video
games. An Ensemble agent is a compound agent composed of multiple agents, each
with its own tasks or goals to achieve. Usually when dealing with real-time
decision making, reactive agents are used; that is agents that return a
decision based on the current state. While reactive agents are very fast, most
games require more than just a rule-based agent to achieve good results.
Deliberative agents---agents that use a forward model to search future
states---are very useful in games with no hard time limit, such as Go or
Backgammon, but generally take too long for real-time games. The Ensemble
framework addresses this issue by allowing the agent to be both deliberative
and reactive at the same time. This is achieved by breaking up the game-play
into logical roles and having highly focused components for each role, with
each component disregarding anything outwith its own role. Reactive agents can
be used where a reactive agent is suited to the role, and where a deliberative
approach is required, branching is kept to a minimum by the removal of all
extraneous factors, enabling an informed decision to be made within a much
smaller time-frame. An Arbiter is used to combine the component results,
allowing high performing agents to be created from simple, efficient
components.
