Si n est suffisamment grand, votre valeur attendue doit approcher la moyenne de la distribution.
Oui c'est correct.
La probabilité que la valeur soit supérieure à la valeur attendue devrait donc être de 0,5.
Cela ne serait correct que si la distribution est symétrique - ce qui n'est pas le cas dans votre jeu. Vous pouvez le voir facilement si vous pensez à la valeur médiane de vos gains après lancers.n
Vous pouvez considérer votre problème comme une marche aléatoire . Une marche aléatoire unidimensionnelle de base est une marche sur la ligne réelle entière, où à chaque point nous nous déplaçons avec une probabilité . C'est exactement ce que vous avez si nous ignorons le doublement / la réduction de moitié de l'argent et fixons . Tout ce que nous avons à faire est de remapper votre système de coordonnées sur cet exemple. Soit votre premier pot de départ. Ensuite, nous remappons de la manière suivante:±1pp=0.5x
x*2^{-2} = -2
x*2^{-1} = -1
x = 0
x*2 = 1
soit . Soit le montant d'argent que nous avons gagné grâce au jeu après tours, puis2kx=kSnn
Pr(Sn=2kx)=2−n(n(n+k)/2)
pour .
n≥(n+k)/2≥0
Lorsque n'est pas un multiple de 2, alors . Pour comprendre cela, supposons que nous commençons avec 10 £. Après tours, les seules valeurs possibles sont £ 5 ou £ 20, c'est-à-dire ou .(n+k)Pr(Sn)=0n=1k=−1k=1
Le résultat ci-dessus est un résultat standard des marches aléatoires. Google marche au hasard pour plus d'informations. Également à partir de la théorie de la marche aléatoire, nous pouvons calculer le retour médian à , ce qui n'est pas la même chose que la valeur attendue.x
Remarque: j'ai supposé que vous pouvez toujours la moitié de votre argent. Par exemple, 1 pence, 0,5 pence, 0,25 pence sont tous autorisés. Si vous supprimez cette hypothèse, vous avez alors une marche aléatoire avec un mur absorbant.
Pour être complet
Voici une simulation rapide en R de votre processus:
#Simulate 10 throws with a starting amount of x=money=10
#n=10
simulate = function(){
#money won/lost in a single game
money = 10
for(i in 1:10){
if(runif(1) < 0.5)
money = money/2
else
money = 2*money
}
return(money)
}
#The Money vector keeps track of all the games
#N is the number of games we play
N = 1000
Money = numeric(N)
for(i in 1:N)
Money[i]= simulate()
mean(Money);median(Money)
#Probabilities
#Simulated
table(Money)/1000
#Exact
2^{-10}*choose(10,10/2)
#Plot the simulations
plot(Money)