Decision Making Under Uncertainty

Decision Making Under
Uncertainty - Bayesian
Techniques
The Group
• David Beirne
• Explanation of terms
• Introduction to strike networks problem.
• Nag Benjum
• Introduction to Bayesian Networks.
• Examples of Bayesian Networks.
• Gordan Ingram
• Application of Bayesian Networks in strike
networks problem.
• Pros and Cons of Baysian Networks.
Decision Making?
• Why does our AI need to make decisions?
– One of the keys to human perception of
intelligence is in the ability of an entity to react
to external stimuli and to exhibit varying (and
often unpredictable) behaviour.
Real life decision making is often based on the
outcome of past experience of similar situations or
a learned response to a given situation (however
errational), rather than a numerical reasoning
based on known and quantifiable measurements or
results.
Uncertainty?
“The information necessary to assign numerical
probabilities is not ordinarily available. Therefore a
formalism that required numerical probabilities would be
epistemologically inadequate.”
(McCarthy and Hayes, MI 4, 1969)
• What is Uncertainty?
– “Lack of sure knowledge or predictability
because of randomness.”
Uncertainty In AI
• Games are played completely within the domain of a
virtual world with restrictions enforced on the player by
the computer. As such uncertainty may be artificially
introduced in order to create more believable character
responses.
• There are however areas in which uncertainty is implicit
as in the need to pre-empt a players strategy or attempt
to understand the motivation behind a players current
course of action in order to predict their future actions.
• Believable AI, therefore should be able to respond in a
way in which it can make mistakes. However the AI
agent should also learn from those mistakes (and
hopefully not repeat them too often).
Real Life Decision Making
Under Uncertainty
• In real life when an unpredicted event occurs, we may
not know the probability of the event taking place, but will
(hopefully) be able to cope with the uncertainty that this
possibility engenders.
– You get to the train station.
– Your train is cancelled.
– How are you decide what to do next?
•
•
•
•
•
Find an alternative train?
Get a Taxi / Bus?
Walk?
Drive?
Forget it?
Bayesian Networks
• A Bayesian network (or a belief network) is a
probabilistic graphical model that represents a set of
variables and their probabilistic independencies.
• Bayesian networks are directed acyclic graphs whose
nodes represent variables, and whose edges encode
conditional independencies between the variables.
• Nodes can represent any kind of variable, be it a
measured parameter, a latent variable or a hypothesis.
They are not restricted to representing random variables.
Example in Game AI
Strike Networks
• Lets consider a simple of a fighting game - along the
lines of Street Fighter, Virtua Fighter, DOA, or Tekken.
• How can we create a computer controlled character
which can predict a players next move and act
accordingly to defend itself?
• To keep things simple, let’s assume the player can
perform three types of action: punch, kick, or throw.
Street Fighter 2 Alpha (CAPCOM)
Virtua Fighter 5 (SEGA-AM2)
• We’re going to keep track of three-action combinations.
– For every action we're going to calculate a probability for that
action given the previous two.
– This will enable us to capture three-action combinations .
– more are possible at the cost of memory / increased complexity
of our network.
Dead or Alive 4 (Team Ninja)
Strike Networks
A
B
C
• In this model, we call the first action in the combination event A, the
second strike event B, and the third strike event C.
• We assume that the second action, event B, in any combination is
dependent on the first action, event A.
• We also assume that the third action, event C, is dependant on both the
first and second action, events A and B. Combinations can be
anything—punch, punch, throw; or kick, punch, kick; and so on.
• To better understand this, lets take a closer look at how Bayesian
Networks work.