Juego 1

Los jugadores A y B juegan a lanzar una moneda equilibrada un gran número de veces. Diremos que A va ganando si hasta el momento han salido más caras que cruces y que B va ganando si hasta el momento han salido más cruces que caras. Aun cuando la intuición pueda sugerir lo contrario, la proporción de tiempo que gana A (o B) rara vez se acerca al 50%.

#INICIO -------------------------
rm(list=ls(all=TRUE))

#Elegimos el nº de lanzamientos n
n<-100000

#Cara=1; Cruz=0
moneda<-0:1

#El nº de fases del juego es x
x<-1:n

#La serie de lanzamientos es y
y<-sample(moneda,n,replace=T)

#El nº de caras hasta el momento es z
z<-cumsum(y)

#El nº de cruces hasta el momento es t
t<-x-z

#La diferencia entre el nº de caras y de cruces que van apareciendo, para cada lanzamiento, es u
u<-z-t

#Si u es positivo va ganando A (el de caras); si u es negativo va ganando B (el de cruces). Si u=0 van empatando

f<-function(x) {
if(x>0) {
'A'} else if (x==0) {
'-'} else if (x<0) {
'B'}
}

M<-sapply(u,f)

#Si se quiere ver la serie de resultados obtenida ejecutar la siguiente línea
#Resultado<-paste(M,collapse="");Resultado

MM<-sub("B","",M);MMM<-sub("-","",MM)

#Nº de veces que va ganando A
a<-nchar(paste(MMM,collapse=""));a

#Porcentaje de tiempo que ha ido ganando A
paste(round((a/n)*100,2),"%")

#El tiempo que ha ido ganando A es la zona en la que la curva está por encima del eje X
#El tiempo que ha ido ganando B es la zona en la que la curva está por debajo del eje X
plot(u,lwd=3,type='l')
abline(h=0)
#FIN -------------------------

Ejecutando el script varias veces se observa que se obtienen resultados muy diferentes. En general, suele ganar con claridad más tiempo un jugador que otro.

No hay comentarios:

Publicar un comentario