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 ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
⎧⎪<br />
<strong>Bayesian</strong> program ⎨<br />
⎧⎪<br />
Description ⎨<br />
Specification (π)<br />
⎧<br />
V ariables<br />
A1:n, E1:n, T1:n, T A1:n, B1:n, H1:n, GD1:n, AD1:n, ID1:n, HP, T T<br />
Decomposition<br />
P(A1:n, E1:n, T1:n, T A1:n, B1:n, H1:n, GD1:n, AD1:n, ID1:n, HP, T T )<br />
=<br />
⎪⎨<br />
�n i=1 [P(Ai)P(Ei, Ti, T Ai, Bi|Ai)<br />
P(ADi, GDi, IDi|Hi)P(Hi|HP )] P(HP |T T )P(T T )<br />
F orms<br />
P(Ai) prior on attack in region i<br />
P(E, T, T A, B|A) covariance/probability table<br />
P(AD, GD, ID|H) covariance/probability table<br />
P(H|HP ) = Categorical(4, HP )<br />
P(HP = hp|T T ) = 1.0 iff T T → hp, else P(HP |T T ) = 0.0<br />
⎪⎩<br />
P(T T ) comes from a strategic model<br />
Identification (using δ)<br />
P(A = true) =<br />
P(AD = ad, GD = gd, ID = id|H = h) =<br />
⎪⎩ P(H = h|HP = hp) =<br />
∀i ∈ regionsP(Hi|adi, gdi, idi)<br />
⎪⎩<br />
P(A, H|F ullyObserved)<br />
nbattles<br />
nbattles+nnot battles = µ battles/game<br />
µ (probability to attack a region)<br />
regions/map<br />
it could be learned online (preference of the opponent) :<br />
P(Ai = true) =<br />
1+nbattles(i)<br />
2+ �<br />
j∈regions<br />
P(E = e, T = t, T A = ta, B = b|A = T rue) =<br />
Questions<br />
∀i ∈ regionsP(Ai|ei, ti, tai)<br />
6.6 Results on StarCraft<br />
nbattles(i) (online <strong>for</strong> each game ∀r)<br />
1+nbattles(h,hp)<br />
|H|+ �<br />
H nbattles(H,hp)<br />
6.6.1 <strong>Learning</strong> <strong>and</strong> posterior analysis<br />
1+nbattles(e,t,ta,b)<br />
|E|×|T |×|T A|×|B|+ �<br />
E,T,T A,B nbattles(E,T,T A,B)<br />
1+nbattles(ad,gd,id,h)<br />
|AD|×|GD|×|ID|+ �<br />
AD,GD,ID nbattles(AD,GD,ID,h)<br />
To measure fairly the prediction per<strong>for</strong>mance of such a model, we applied “leave-100-out” crossvalidation<br />
from our dataset: as we had many games (see Table 6.2), we set aside 100 games<br />
of each match-up <strong>for</strong> testing (with more than 1 battle per match: rather ≈ 15 battles/match)<br />
<strong>and</strong> train our model on the rest. We write match-ups XvY with X <strong>and</strong> Y the first letters of<br />
the factions involved (Protoss, Terran, Zerg). Note that mirror match-ups (PvP, TvT, ZvZ)<br />
have fewer games but twice as many attacks from a given faction (it is twice the same faction).<br />
<strong>Learning</strong> was per<strong>for</strong>med as explained in section 6.5.1: <strong>for</strong> each battle in r we had one observation<br />
<strong>for</strong>: P(er, tr, tar, br|A = true), <strong>and</strong> #regions − 1 observations <strong>for</strong> the i regions which were not<br />
105