Selon moi, plus a est faible et n grand, plus la probabilité d’avoir un Xi proche de a sera forte. Et inversement plus a est grand et n faible moins on a de chance d’obtenir un Xi proche de a. E(X)= a/2
a = 10
n = 1000
N = 10000
M = replicate(N,max(runif(n,0,a)),1)
E = mean(M)
V = var(M)
#plot(M)
Grâce a mes observations pour différente valeur de n,j’ai remarqué que plus n était grand, plus E(M) était proche de a et donc que E(M) était proportionnelle à a multiplié par un coefficient dépendant de n, toujours inferieur à 1, mais tendant vers 1 quand n devient très grand. D’ou E(M) = a * (n/n+1)
Pour que E(M) soit égale à a il faudrait corriger M de la façon suivant : M = (max Xi) + a*(1/(n+1)) de a avoir E(M) = (an/(n+1) + a/(n+1)) = (a(n+1)/(n+1)) = a
V(M)=E(M2)-E(M)2
Pour moi la moyenne des Xi est proche de a/2, je pense donc que la formule de M’ (M2 dans mon exercice) est très proche de a. Mais comme on a pas de contrôle sur les Xi il est également possible que M’ soit superieur à a.
a = 10
n = 1000
N = 10000
M2 = replicate(N,((2/n)*sum(runif(n,0,a))),1)
E2 = mean(M2)
V2 = var(M2)
#plot(M2)
Ayant fait l’expérience plusieurs fois, je trouve a chaque fois que l’espérance de M2 est plus proche de a que celle de M, et d’avantage quand n est grand comme je l’avais pensé. Je pense que cela est du au fait que les valeurs de M2 encadre a tandis que les valeurs que prend M sont toujours inferieur à a. Cependant la variance de M2 est plus grande que celle de M, M est donc un meilleur indicateur que M2.
J’ai ensuite effectué le calcule de l’espérance pour vérifier mes observations:
E(M2)=E (2/n * SUM(Xi)) = 2/n * SUM(E(Xi)) = 2/n * SUM(a/2) = 2/n * an/2 = a
Pour cet exercice je n’ai pas réussi les estimations des variances, j’ai donc utilisé la fonction donné par R pour mes observations.
Je n’avais pas vraiment d’idée donc j’ai la modélisation pour en tirer des observations.
Le gain de Bob n’est pas nul, mais reste très faible (entre 1 et 2 centimes). Il devrait donc prendre le temps de réfléchir à une meilleur stratégie
N = 1000
f = function(){
n2 = 10
a2 = runif(1,0,1)
M = max(runif(n2,0,a2))
sucess = 0
RM=1.1*M
if(RM <= a2 ) {
sucess = (RM-M)
}
return(sucess)
}
gain=sample(0,N,replace=TRUE)
for(i in 1:N) {
gain[i]=f()
}
mean(gain)
## [1] 0.01698665
n = 3
f = function(A,n,m) {
a = sample(x=(0:10)/10, 1);
M = max(sample(x=(0:(10*a))/10, n, replace=TRUE));
return (A==a && M==m)
}
α etant inferieur a 1 on aura toujours RM < M donc pour moi la stratégie est interessante, il faut maintenant trouvé la valeur de α qui permettra d’optimiser les gains.
Peu importe les nombres qu’elle a choisi, Alice indique A1 ou A2 en fontion du résultat de pile au face. Sachant que la probabilité de tombé sur pile et celle de tombé sur face sont égales a 1/2, en répondant toujours oui Bob, la probabilité pour que Bob gagne est de 1/2.
Sur l’intervalle 0,1 on pourrait se dire que si le nombre donnée est inférieur a 0.5, c’est le plus petit et que dans le cas contraire, il s’agit du plus grand.
Avec A1 = 0.4 et A2 = 0.6, cette méthode fonctionne toujours, quelque soit le résultat du pile ou face.
Si Alice tire au sort A1 et A2 on peut modéliser le jeu sous la forme suivante:
n = 10000
A1 = runif(n,0,1)
A2 = runif(n,A1,1)
pouf = sample(0:1, n, replace=TRUE)
gain=sample(0, n , replace=TRUE)
for(i in 1:n) {
if((pouf[i] == 1 && A1[i] <= 0.5 ) || (pouf[i] == 0 && A2[i] > 0.5)) {
gain[i]=1
}
}
G = mean(gain == 1)
On voit que cette fois Bob gagne environ 2 fois sur 3, c’est donc une meilleur stratégie que la précédente.