Quel lancer de dé faire à Serpents et Échelles ?
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
Hier soir, j’évoquais l’utilisation des chaînes de Markov au jeu Serpents et Échelles. Comme me le faisait remarquer Jean-Philippe, de manière assez étrange, les enfants sont toujours beaucoup plus content après avoir fait un 6 qu’après avoir fait un 1. Mais est-ce réellement la valeur optimale que le dé doit prendre ? Ça dépend bien sûr de la position. Par exemple, au premier lancer, on peut se demander ce que deviendrait le nombre de tours moyen nécessaires pour finir le jeu, conditionnellement aux 6 lancers possibles. On peut calculer, toujours conditionnellement aux 6 valeurs possibles de dés (et des positions où on va se retrouver), l’espérance du nombre de tours pour finir la partie,
esperance=function(h0){ INITIAL = as.numeric(which(M[h0+1,]>0))-1 ESPERANCE=rep(NA,length(INITIAL)) names(ESPERANCE)=INITIAL for(k in 1:length(INITIAL)){ initial=rep(0,n+1); initial[INITIAL[k]]=1 distrib=initial%*%M game=rep(NA,1000) for(h in 1:length(game)){ game[h]=distrib[n+1] distrib=distrib%*%M} ESPERANCE[k]=sum(1-game)} return(ESPERANCE)}
(à partir du code mis en ligne hier), e.g. pour le premier lancer,
> esperance(0) 1 2 3 5 6 14 32.16499 31.99947 31.82348 31.47954 31.36441 29.83020
où la valeur indiquée est la position où l’on pourrait se retrouver (la dernière correspond à un 4). On note que le meilleur premier lancer possible est celui qui nous amène sur la première échelle, i.e. la 4ème case,
Si on regarde case par case, on a les “meilleurs” lancers de dés suivant (sans forcément l’unicité) en fonction de sa position sur le plateau
(avec en rouge les serpents et en bleu les échelles). Amusant non ?
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.