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.

that this average “missed” (unpredicted or wrongly predicted) building can be very important<br />

(<strong>for</strong> instance if it unlocks game changing technology). We think that this robustness to noise<br />

is due to P(T |BT ) being precise with the amount of data that we used, <strong>and</strong> the build tree<br />

structure.<br />

Secondly, Figure 7.9 displays (at the bottom) the evolution of the predictive power (number<br />

of buildings ahead from the build tree that it can predict) with the same increase of noise.<br />

Predicting 2 building ahead with d = 1 (1 building of tolerance) gives that we predict right (<strong>for</strong><br />

sure) at least one building, at that is realized up to almost 50% of noise. In this case, this “one<br />

building ahead” right prediction (with only 50% of the in<strong>for</strong>mation) can give us enough time to<br />

adapt our strategy (against a game changing technology).<br />

7.5.3 Possible improvements<br />

We recall that we used the prediction of build trees (or tech trees), as a proxy <strong>for</strong> the estimation<br />

of an opponent’s technologies <strong>and</strong> production capabilities.<br />

This work can be extended by having a model <strong>for</strong> the two players (the bot/AI <strong>and</strong> the<br />

opponent):<br />

P(BTbot, BTop, Oop,1:N, T, λ)<br />

So that we could ask this (new) model:<br />

P(BTbot|obsop,1:N, t, λ = 1)<br />

This would allow <strong>for</strong> simple <strong>and</strong> dynamic build tree adaptation to the opponent strategy (dynamic<br />

re-planning), by the inference path:<br />

P(BTbot|obsop,1:N, t, λ = 1)<br />

∝ �<br />

P(BTbot|BTop) (learned)<br />

BTop<br />

×P(BTop)P(oop,1:N) (priors)<br />

×P(λ|BTop, oop,1:N) (consistency)<br />

×P(t|BTop) (learned)<br />

That way, one can ask “what build/tech tree should I go <strong>for</strong> against what I see from my opponent”,<br />

which tacitly seeks the distribution on BTop to break the complexity of the possible combinations<br />

of O1:N. It is possible to not marginalize over BTop, but consider only the most probable(s)<br />

BTop. In this usage, a filter on BTbot (as simple as P(BT t t−1<br />

bot |BTbot ) can <strong>and</strong> should be added to<br />

prevent switching build orders or strategies too often.<br />

135

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

Saved successfully!

Ooh no, something went wrong!