15.12.2012 Views

Bayesian Programming and Learning for Multi-Player Video Games ...

Bayesian Programming and Learning for Multi-Player Video Games ...

Bayesian Programming and Learning for Multi-Player Video Games ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

7.6 Openings<br />

7.6.1 <strong>Bayesian</strong> model<br />

We now build upon the previous build tree* predictor model to predict the opponent’s strategies<br />

(openings) from partial observations.<br />

Variables<br />

As be<strong>for</strong>e, we have:<br />

• Build trees: BT ∈ [∅, building1, building2, building1 ∧ building2, techtrees, . . . ]: all<br />

the possible building trees <strong>for</strong> the given race. For instance {pylon, gate} <strong>and</strong><br />

{pylon, gate, core} are two different BT .<br />

• N Observations: O i∈�1...N� ∈ {0, 1}, Ok is 1 (true) if we have seen (observed) the kth<br />

building (it can have been destroyed, it will stay “seen”).<br />

• Coherence variable: λ ∈ {0, 1}: coherence variable (restraining BT to possible values with<br />

regard to O �1 . . . N�)<br />

• Time: T ∈ �1 . . . P �, time in the game (1 second resolution).<br />

Additionally, we have:<br />

• Opening: Op t ∈ [opening1 . . . openingM] take the various opening values (depending on<br />

the race), with opening labels as described in section 7.3.2.<br />

• Last opening: Op t−1 ∈ [opening1 . . . openingM], opening value of the previous time step<br />

(this allows filtering, taking previous inference into account).<br />

Decomposition<br />

The joint distribution of our model is the following:<br />

This can also be seen as Figure 7.10.<br />

Forms<br />

P(T, BT, O1 . . . ON, Op t , Op t−1 , λ) (7.3)<br />

= P(Op t |Op t−1 )P(Op t−1 )P(BT |Op t )P(T |BT, Op t ) (7.4)<br />

×P(λ|BT, O �1...N�)Π N i=1P(Oi) (7.5)<br />

• P(Opt |Opt−1 ), we use it as a filter, so that we take into account previous inferences (compressed).<br />

We use a Dirac:<br />

⎧<br />

⎨<br />

⎩<br />

P(Op t = op t |Op t−1 = op t−1 ) = 1 if op t = op t−1<br />

P(Op t = op t |Op t−1 = op t−1 ) = 0 else<br />

This does not prevent our model to switch predictions, it just uses the previous inference’s<br />

posterior P(Op t−1 ) to average P(Op t ).<br />

137

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!