Exercice 1

Question 1.1

n=20
AMax=100
a=sample(x=1:AMax, size=1)
X = runif(n,0,a)
M=replicate(10000, max(runif(n,0,a)))
E=mean(M)
V=mean((M-mean(M))**2)
E_Emp=(n/(n+1))*a
E_Emp_M=(n/(n+1))*a + a*(1/(n+1))
V_Emp=(n/(n+2))*(a**2)-((n/(n+1))*a)**2
a
## [1] 82
E
## [1] 78.17479
V
## [1] 13.61247
E_Emp
## [1] 78.09524
E_Emp_M
## [1] 82

J’observe que la valeur de l’esperance E(M) va a priori beaucoup se rapprocher de A pour un N très grand.

J’ai d’abord tester plusieurs valeur de n et a, pour trouver une formule approximative de E(m) : E = a-a/n Malheuresement, cette formule ne donnais pas de résultat égaux à A. J’ai trouver par le calcul cette fonction de densité pour le jeu étudié : f(x)=(n/a**n)*k**(n-1)

Je m’en suis ensuite servi pour trouver la formule : E_Emp = (n/(n+1))*a

De plus, pour que E(M)=A, on doit avoir : M= a*(1/(n+1)) + (max Xi)

On arrive donc a la formule : (n/(n+1))a + a(1/(n+1))

En utilisant enfin la fonction de densité trouvée précedemment, on peut utiliser cette formule pour trouver la variance de ce jeu : V(M)=E(M2)-E(M)2 V(M)=(n/(n+2))*(a**2)-((n/(n+1))*a)**2

Question 1.2

AMax=100
n=20
a=sample(x=1:AMax, size=1)
a
## [1] 84
X = runif(n,0,a)
Mbis=replicate(1000, (2/n)*sum(runif(n,0,a)))
mean(Mbis)
## [1] 83.60973
mean((Mbis-mean(Mbis))**2)
## [1] 113.4256

En faisant varier A et N, j’observe que E(M’) semble etre égale à A, ce qui est coherent puisque la moyenne des Xi doit etre d’environ A/2. Après plusieurs essai, cela semble se confirmer, mais je ne saurais pas le démontrer exactement, meme si je me doute que l’on doit utiliser la propriété de l’inéarité de l’esperance.

On peut observer que la variance est beaucoup plus grande qu’a la question precedente, j’en déduis donc que Mbis est une moins bonne simulation du jeu

Exercice 2

Question 2.3

La stratégie proposée par Bob semble intuitivement gagnante, puisqu’il va gagner 0,1*M. La stratégie est donc generalemet gagnante, meme si le gain sera faible. En faisant tourner plusieurs fois le programme ci-dessous, on peut voir que l’esperance du gain de ce jeu se situe aux environs de 0,015 €

f = function(){
  n=10
  A=runif(1,0,1)
  X=runif(n,0,A)
  M=max(X)
  gagne=0
  rM=1.1*M
  if(rM <= A) {
    gagne=rM-M
  }
  return(gagne)
}
N=1000
gains=sample(0,N,replace=TRUE)
for(i in 1:N) {
  gains[i]=f()
}
mean(gains)
## [1] 0.01538591

##Question 2.4

simulate=function(N,n) {
    generate = function(a,n,m) {
    A=sample(x=(0:10)/10, 1);
    X=sample(x=(0:(10*A))/10, n, replace=TRUE)
    M=max(X);
    return (A==a && M==m)
    }
Matrix = matrix(nrow = 11, ncol = 11, dimnames =
                     list(c("a=0","a=0.1","a=0.2","a=0.3","a=0.4","a=0.5","a=0.6","a=0.7","a=0.8","a=0.9","a=1"),
                          c("m=0","m=0.1","m=0.2","m=0.3","m=0.4","m=0.5","m=0.6","m=0.7","m=0.8","m=0.9","m=1")));
for (i in 0:10) { for(j in 0:10){
 Matrix[i+1,j+1] = mean(replicate(N, generate(i/10, n, j/10))) 
}}
return(Matrix)
}

simulate(1000, 3)
##         m=0 m=0.1 m=0.2 m=0.3 m=0.4 m=0.5 m=0.6 m=0.7 m=0.8 m=0.9   m=1
## a=0   0.071 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
## a=0.1 0.004 0.086 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
## a=0.2 0.005 0.019 0.063 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
## a=0.3 0.003 0.011 0.033 0.068 0.000 0.000 0.000 0.000 0.000 0.000 0.000
## a=0.4 0.000 0.009 0.014 0.017 0.033 0.000 0.000 0.000 0.000 0.000 0.000
## a=0.5 0.000 0.005 0.010 0.017 0.022 0.031 0.000 0.000 0.000 0.000 0.000
## a=0.6 0.002 0.002 0.009 0.006 0.017 0.034 0.043 0.000 0.000 0.000 0.000
## a=0.7 0.000 0.002 0.005 0.007 0.013 0.013 0.024 0.020 0.000 0.000 0.000
## a=0.8 0.001 0.003 0.001 0.001 0.006 0.015 0.015 0.023 0.023 0.000 0.000
## a=0.9 0.000 0.001 0.001 0.001 0.004 0.010 0.012 0.017 0.021 0.045 0.000
## a=1   0.000 0.001 0.001 0.005 0.005 0.007 0.016 0.014 0.015 0.015 0.018

Je suppose que les chances de gagner vont augmenter jusqu’à atteindre leur valeur maximale quand a et m sont très proches. On va donc simuler les chances de gains pour chaque valeur de A et de M. Une fois la matrice ci-dessus calculée, on voit que la moitié de celle ci est nulle car M doit etre supérieur à A. De plus, la probabilité de chaque ligne est bien optimale qaund A=M. Il suffit ensuite de lire la colonne voulu pour trouver une valeur optimale de a. Par exemple, on peut proposer à Bob A=0,5 pour le cas ou M=0,5 également.

Exercice 3

Question 3.6

Ce jeu est en fait une simulation de pile ou face, puisque Bob doit choisir entre 2 valeurs avec une bonne et une mauvaise. Sa probabilité de gagner est donc de 1/2.

n=10000
X=sample(0:1, n , replace=TRUE)
mean(X==1)
## [1] 0.5051

##Question 3.7 LA stratégie que je peux proposer est de se baser sur le nombre donné par Alice. En effet, si son nombre est au dessus de 0.5, il a plus de chances que ce soit le plus grand nombre des 2. Il faudrait donc répondre oui si le nombre donné est supérieur a 0.5, et non sinon. Voici un programme qui permet de trouver empiriquement le gain moyen de cette stratégie :

n=10000
A1= runif(n,0,1)
A2 = runif(n,A1,1)
pof=sample(0:1, n, replace=TRUE)

gains=sample(0, n , replace=TRUE)
for(i in 1:n) {
  if((pof[i]==1 && A1[i]<=0.5) || (pof[i]==0 && A2[i]> 0.5 )) {
    gains[i]=1
  }
}
mean(gains == 1)
## [1] 0.6748

On peut voir que le gain moyen est d’environ 0,66, ce qui est nettement plus efficace que la stratégie initiale.