Discussion:
Problème de probas
(trop ancien pour répondre)
pehache
2018-02-21 08:09:15 UTC
Permalink
Je butte sur ce problème que je ne sais pas par où prendre :

On lance n fois de suite une pièce de monnaie, chaque lancé L_i pouvant
valoir P(ile) ou F(ace)

On définit X_i=1 si (L_i=P et L_i+1=F), X_i=0 sinon

La probabilité p(X_i=1) est égale à 1/4, mais les X_i ne sont pas
indépendants.

Soit Z=somme(X_i,i=1..n) . Z est en fait le nombre de fois où on a la
séquence PF dans les lancés. Z est donc compris entre 0 et n/2 (n pair)
ou (n-1)/2 (n impair)

Question : calculer l'espérance de Z
--
"...sois ouvert aux idées des autres pour peu qu'elles aillent dans le
même sens que les tiennes.", ST sur fr.bio.medecine
Ahmed Ouahi, Architect
2018-02-21 09:42:44 UTC
Permalink
Puisse-t-on s' en retrouver à presque dix-sept de la centaine
Essentiellement encore ou bien un virgule sept de la dixaine
--
Ahmed Ouahi, Architect
Bonjour!


"pehache" kirjoitti viestissä:***@mid.individual.net...

Je butte sur ce problème que je ne sais pas par où prendre :

On lance n fois de suite une pièce de monnaie, chaque lancé L_i pouvant
valoir P(ile) ou F(ace)

On définit X_i=1 si (L_i=P et L_i+1=F), X_i=0 sinon

La probabilité p(X_i=1) est égale à 1/4, mais les X_i ne sont pas
indépendants.

Soit Z=somme(X_i,i=1..n) . Z est en fait le nombre de fois où on a la
séquence PF dans les lancés. Z est donc compris entre 0 et n/2 (n pair)
ou (n-1)/2 (n impair)

Question : calculer l'espérance de Z
--
"...sois ouvert aux idées des autres pour peu qu'elles aillent dans le
même sens que les tiennes.", ST sur fr.bio.medecine
Julien Arlandis
2018-02-21 11:42:39 UTC
Permalink
Post by pehache
On lance n fois de suite une pièce de monnaie, chaque lancé L_i pouvant
valoir P(ile) ou F(ace)
On définit X_i=1 si (L_i=P et L_i+1=F), X_i=0 sinon
Donc si par exemple la séquence des lancés est
L = [PFPPFPPFPPPFFPPFPPPFPFPPPFPFPFPPFPFPFPFPP]
on a
X = [1001001000100010001010001010100101010100?]
Post by pehache
La probabilité p(X_i=1) est égale à 1/4, mais les X_i ne sont pas
indépendants.
Oui.
Post by pehache
Soit Z=somme(X_i,i=1..n) . Z est en fait le nombre de fois où on a la
séquence PF dans les lancés. Z est donc compris entre 0 et n/2 (n pair)
ou (n-1)/2 (n impair)
Oui, Z est aussi égale au nombre de séquences qui se terminent par P et
qui ne terminent pas L.
Post by pehache
Question : calculer l'espérance de Z
L'espérance ne va t-elle pas dépendre du nombre de lancé ?
pehache
2018-02-21 22:12:55 UTC
Permalink
Post by Julien Arlandis
Post by pehache
On lance n fois de suite une pièce de monnaie, chaque lancé L_i
pouvant valoir P(ile) ou F(ace)
On définit X_i=1 si (L_i=P et L_i+1=F), X_i=0 sinon
Donc si par exemple la séquence des lancés est
L = [PFPPFPPFPPPFFPPFPPPFPFPPPFPFPFPPFPFPFPFPP]
on a X = [1001001000100010001010001010100101010100?]
Post by pehache
La probabilité p(X_i=1) est égale à 1/4, mais les X_i ne sont pas
indépendants.
Oui.
Post by pehache
Soit Z=somme(X_i,i=1..n) . Z est en fait le nombre de fois où on a la
séquence PF dans les lancés. Z est donc compris entre 0 et n/2 (n
pair) ou (n-1)/2 (n impair)
Oui, Z est aussi égale au nombre de séquences qui se terminent par P et
qui ne terminent pas L.
Oui (mais j'ai pas l'impression que cela aide de le voir comme ça).
Post by Julien Arlandis
Post by pehache
Question : calculer l'espérance de Z
L'espérance ne va t-elle pas dépendre du nombre de lancé ?
Si, bien sûr. J'aurais dû écrire Z_n

Depuis mon post initial j'ai pensé pouvoir le faire par récurrence sur
les p(Z_n), mais je me retrouve un peu coincé quand même :

p(Z_n=k) = p(Z_n=k | X_n-1=0,X_n-2=0).p(X_n-1=0,X_n-2=0)
+ p(Z_n=k | X_n-1=1,X_n-2=0).p(X_n-1=1,X_n-2=0)
+ p(Z_n=k | X_n-1=0,X_n-2=1).p(X_n-1=0,X_n-2=1)

C'est assez facile de déterminer :
p(X_n-1=0,X_n-2=0) = 1/2
p(X_n-1=1,X_n-2=0) = 1/4
p(X_n-1=0,X_n-2=1) = 1/4
p(X_n-1=1,X_n-2=1) = 0 (donc omis ci-dessus)


Et on peut dire :
p(Z_n=k | X_n-1=0,X_n-2=0) = p(Z_n-2=k | X_n-1=0,X_n-2=0)
= p(Z_n-2=k | X_n-2=0)
car Z_n-2 et X_n-1 sont indépendants (? ou pas ???)

De même :
p(Z_n=k | X_n-1=1,X_n-2=0) = p(Z_n-2=k-1 | X_n-2=0)
p(Z_n=k | X_n-1=0,X_n-2=1) = p(Z_n-2=k-1 | X_n-2=1)

Donc au final :

P(Z_n=k) = p(Z_n-2=k | X_n-2=0)*1/2
+ p(Z_n-2=k-1 | X_n-2=0)*1/4
+ p(Z_n-2=k-1 | X_n-2=1)*1/4

= p(Z_n-2=k | X_n-2=0)*1/2
+ (p(Z_n-2=k-1 | X_n-2=0)*1/2 + p(Z_n-2=k-1 | X_n-2=1)*1/2)*1/2

P(Z_n=k) = p(Z_n-2=k | X_n-2=0)*1/2
+ p(Z_n-2=k-1) *1/2

Il me reste un **** de terme conditionnel qui ruine ma récurrence...
--
"...sois ouvert aux idées des autres pour peu qu'elles aillent dans le
même sens que les tiennes.", ST sur fr.bio.medecine
Julien Arlandis
2018-02-22 11:01:23 UTC
Permalink
Post by pehache
Post by Julien Arlandis
Post by pehache
On lance n fois de suite une pièce de monnaie, chaque lancé L_i
pouvant valoir P(ile) ou F(ace)
On définit X_i=1 si (L_i=P et L_i+1=F), X_i=0 sinon
Donc si par exemple la séquence des lancés est
L = [PFPPFPPFPPPFFPPFPPPFPFPPPFPFPFPPFPFPFPFPP]
on a X = [1001001000100010001010001010100101010100?]
Post by pehache
La probabilité p(X_i=1) est égale à 1/4, mais les X_i ne sont pas
indépendants.
Oui.
Post by pehache
Soit Z=somme(X_i,i=1..n) . Z est en fait le nombre de fois où on a la
séquence PF dans les lancés. Z est donc compris entre 0 et n/2 (n
pair) ou (n-1)/2 (n impair)
Oui, Z est aussi égale au nombre de séquences qui se terminent par P et
qui ne terminent pas L.
Oui (mais j'ai pas l'impression que cela aide de le voir comme ça).
Post by Julien Arlandis
Post by pehache
Question : calculer l'espérance de Z
L'espérance ne va t-elle pas dépendre du nombre de lancé ?
Si, bien sûr. J'aurais dû écrire Z_n
Voici mon analyse, on définit :
Xi=A si Li=P et Li+1=P
Xi=B si Li=F et Li+1=F
Xi=C si Li=P et Li+1=F
Xi=D si Li=F et Li+1=P

On appelle ZA l'espérance du nombre de A, ZB l'espérance du nombre de
B...
Avons nous le droit d'écrire que ZA + ZB + ZC + ZD = n-1 ?
Par symétrie nous avons aussi ZA = ZB et ZC = ZD
d'où Z = ZC = (n-1)/2 - ZA
Si l'on considère le fait qu'une pièce a autant de chances de reproduire
le résultat précédent que le contraire, on a
ZA + ZB = ZC + ZD
d'où ZA = ZC
d'où Z = (n-1)/4

Ça me parait un peu simple, un peu trop même...
Ahmed Ouahi, Architect
2018-02-23 07:21:45 UTC
Permalink
En illustrer la donne de la sorte s'y trouve-t-on au sein de la plus
familière
D'une éventuelle forme fractale où l'ensemble en serait-il plutôt un trésore
En géométrie fractale lequel y contienne-t-il un nombre infini en géométrie

Fractale dont l'ensemble y puisse-t-il en générer par une équation itérative
Autant en guise d'exemple Z carré plus C où Z et C en nombres complexes
Où C puisse-t-il produire valeurs lesquelles confinées en certaine frontière
--
Ahmed Ouahi, Architect
Bonjour!
Post by pehache
Post by Julien Arlandis
Post by pehache
On lance n fois de suite une pièce de monnaie, chaque lancé L_i pouvant
valoir P(ile) ou F(ace)
On définit X_i=1 si (L_i=P et L_i+1=F), X_i=0 sinon
Donc si par exemple la séquence des lancés est
L = [PFPPFPPFPPPFFPPFPPPFPFPPPFPFPFPPFPFPFPFPP]
on a X = [1001001000100010001010001010100101010100?]
Post by pehache
La probabilité p(X_i=1) est égale à 1/4, mais les X_i ne sont pas
indépendants.
Oui.
Post by pehache
Soit Z=somme(X_i,i=1..n) . Z est en fait le nombre de fois où on a la
séquence PF dans les lancés. Z est donc compris entre 0 et n/2 (n pair)
ou (n-1)/2 (n impair)
Oui, Z est aussi égale au nombre de séquences qui se terminent par P et
qui ne terminent pas L.
Oui (mais j'ai pas l'impression que cela aide de le voir comme ça).
Post by Julien Arlandis
Post by pehache
Question : calculer l'espérance de Z
L'espérance ne va t-elle pas dépendre du nombre de lancé ?
Si, bien sûr. J'aurais dû écrire Z_n
Voici mon analyse, on définit :
Xi=A si Li=P et Li+1=P
Xi=B si Li=F et Li+1=F
Xi=C si Li=P et Li+1=F
Xi=D si Li=F et Li+1=P

On appelle ZA l'espérance du nombre de A, ZB l'espérance du nombre de
B...
Avons nous le droit d'écrire que ZA + ZB + ZC + ZD = n-1 ?
Par symétrie nous avons aussi ZA = ZB et ZC = ZD
d'où Z = ZC = (n-1)/2 - ZA
Si l'on considère le fait qu'une pièce a autant de chances de reproduire
le résultat précédent que le contraire, on a
ZA + ZB = ZC + ZD
d'où ZA = ZC
d'où Z = (n-1)/4

Ça me parait un peu simple, un peu trop même...
Michel Talon
2018-02-21 14:38:16 UTC
Permalink
Post by pehache
On lance n fois de suite une pièce de monnaie, chaque lancé L_i pouvant
valoir P(ile) ou F(ace)
On définit X_i=1 si (L_i=P et L_i+1=F), X_i=0 sinon
La probabilité p(X_i=1) est égale à 1/4, mais les X_i ne sont pas
indépendants.
Soit Z=somme(X_i,i=1..n) . Z est en fait le nombre de fois où on a la
séquence PF dans les lancés. Z est donc compris entre 0 et n/2 (n pair)
ou (n-1)/2 (n impair)
Question : calculer l'espérance de Z
Tu peux caractériser l'état du problème par
-valeur du dernier lancé
-valeur de Z
A chaque nouveau lancé,
-la valeur du dernier lancé est remplacée par le résultat du lancé
- Z augmente de 1 si le dernier lancé était P et le nouveau est F
De cette façon tu n'as pas à considérer l'histoire du système (Markov)
et tu as un problème de marche au hasard (voir wiki marche aléatoire
et chaîne de Markov).
--
Michel Talon
pehache
2018-02-21 23:14:05 UTC
Permalink
Post by Michel Talon
Post by pehache
On lance n fois de suite une pièce de monnaie, chaque lancé L_i
pouvant valoir P(ile) ou F(ace)
On définit X_i=1 si (L_i=P et L_i+1=F), X_i=0 sinon
La probabilité p(X_i=1) est égale à 1/4, mais les X_i ne sont pas
indépendants.
Soit Z=somme(X_i,i=1..n) . Z est en fait le nombre de fois où on a la
séquence PF dans les lancés. Z est donc compris entre 0 et n/2 (n
pair) ou (n-1)/2 (n impair)
Question : calculer l'espérance de Z
Tu peux caractériser l'état du problème par
-valeur du dernier lancé
-valeur de Z
A chaque nouveau lancé,
-la valeur du dernier lancé est remplacée par le résultat du lancé
- Z augmente de 1 si le dernier lancé était P et le nouveau est F
De cette façon tu n'as pas à considérer l'histoire du système (Markov)
et tu as un problème de marche au hasard (voir wiki marche aléatoire
et chaîne de Markov).
Mmmhh, OK, ça va revenir un peu à ce que j'ai fait "avec les mains" à un
moment, mais sans savoir comment le formaliser.

Donc le système serait S_n=[Z_n,L_n]

On peut avoir 2 cas :
1) S_n=[Z_n,P]
2) S_n=[Z_n,F]

Dans le cas 1)
Si L_n+1 = P : S_n+1=[Z_n,P]
Si L_n+1 = F : S_n+1=[Z_n +1,F]

Dans le cas 2)
Si L_n+1 = P : S_n+1=[Z_n,P]
Si L_n+1 = F : S_n+1=[Z_n,F]

Donc "on voit" que dans 1 cas sur 4 on incrémente Z de 1, et de 0 dans 3
cas sur 4. E(Z_2)=1/4, donc on intuite que E(Z_n)=(n-1)/4. Mais ça reste
"avec les mains", comment le formaliser correctement ?
--
"...sois ouvert aux idées des autres pour peu qu'elles aillent dans le
même sens que les tiennes.", ST sur fr.bio.medecine
ast
2018-02-23 08:09:32 UTC
Permalink
Post by pehache
On lance n fois de suite une pièce de monnaie, chaque lancé L_i pouvant
valoir P(ile) ou F(ace)
On définit X_i=1 si (L_i=P et L_i+1=F), X_i=0 sinon
La probabilité p(X_i=1) est égale à 1/4, mais les X_i ne sont pas
indépendants.
Soit Z=somme(X_i,i=1..n) . Z est en fait le nombre de fois où on a la
séquence PF dans les lancés. Z est donc compris entre 0 et n/2 (n pair)
ou (n-1)/2 (n impair)
Question : calculer l'espérance de Z
Peut être faut-il utiliser l'espérance conditionnelle.

Je rappelle que E(A) = sum E(A/Bi)Pb(Bi) où les Bi forment un système
complet d"évènements.

La séquence commence par ... avec une proba de ... et l'espérance
conditionnée par cette séquence initiale est ...

F 1/2 E(Z(n-1))
PF 1/4 1 + E(Z(n-2)
PPF 1/8 1 + E(Z(n-3)
PPPF 1/16 1 + E(Z(n-4)
...
P...PF (1/2)^n 1
PPPPPP (1/2)^n 0

On a bien un système complet d'évènements donc

E(Z(n) = (1/2)*E(Z(n-1)) + (1/4)*(1 + E(Z(n-2)) + ...

cette formule permet de calculer de proche en proche les E(Z(n)
ast
2018-02-23 12:18:09 UTC
Permalink
Post by ast
Peut être faut-il utiliser l'espérance conditionnelle.
Je rappelle que E(A) = sum E(A/Bi)Pb(Bi) où les Bi forment un système
complet d"évènements.
La séquence commence par ... avec une proba de ... et l'espérance
conditionnée par cette séquence initiale est ...
F        1/2      E(Z(n-1))
PF       1/4      1 + E(Z(n-2)
PPF      1/8      1 + E(Z(n-3)
PPPF     1/16     1 + E(Z(n-4)
...
P...PF  (1/2)^n   1
PPPPPP  (1/2)^n   0
On a bien un système complet d'évènements donc
E(Z(n) = (1/2)*E(Z(n-1)) + (1/4)*(1 + E(Z(n-2)) + ...
cette formule permet de calculer de proche en proche les E(Z(n)
Calculons les premières valeurs de E(Z(n))

E(Z(2)) = 1/4
E(Z(3)) = 1/2
E(Z(4)) = 3/4
Hypothèse vérifiable par récurrence:
E(Z(n) = (1/4) * (n-1)

Vérification avec une simulation

n= 2 mean= 0.251
n= 3 mean= 0.500
n= 4 mean= 0.750
n= 5 mean= 1.000
n= 6 mean= 1.247
n= 7 mean= 1.502
n= 8 mean= 1.746
n= 9 mean= 2.000
n= 10 mean= 2.250


Le prog de simu en python:

______________________________________________

from random import choice

n_max = 10
nber_of_trials = 100_000
mean = 0

for n in range(2, n_max+1):

for i in range(nber_of_trials):

seq = ""
for j in range(n):
seq = seq + choice("PF")

sum = 0

for a, b in zip(seq[:-1], seq[1:]):
if a + b == "PF":
sum += 1

mean = mean + sum

mean = mean / nber_of_trials
print("n= {:2d} mean= {:6.3f} ".format(n, mean))
ast
2018-02-23 12:30:11 UTC
Permalink
Post by ast
______________________________________________
from random import choice
n_max = 10
nber_of_trials = 100_000
mean = 0 # Il y avait une erreur sur la place de cette
# instruction, sans grande conséquence pour le
# résultat
Post by ast
        seq = ""
            seq = seq + choice("PF")
        sum = 0
                sum += 1
        mean = mean + sum
    mean = mean / nber_of_trials
    print("n= {:2d} mean= {:6.3f} ".format(n, mean))
ast
2018-02-23 13:16:39 UTC
Permalink
Une version one-liner du même programme

from random import choice

n_max = 20; nber_of_trials = 100_000

for n in range(2, n_max+1):

print("n= {:2d} mean= {:6.3f} ".format(n, sum("".join(choice("PF")
for i in range(1, n)).count("PF") for i in
range(nber_of_trials))/nber_of_trials))
Post by ast
______________________________________________
from random import choice
n_max = 10
nber_of_trials = 100_000
       mean = 0  # Il y avait une erreur sur la place de cette
                 # instruction, sans grande conséquence pour le
                 # résultat
Post by ast
         seq = ""
             seq = seq + choice("PF")
         sum = 0
                 sum += 1
         mean = mean + sum
     mean = mean / nber_of_trials
     print("n= {:2d} mean= {:6.3f} ".format(n, mean))
Loading...