• Aucun résultat trouvé

5000 simulations) (et non pris les vraies valeurs), et non de la valeurs de n .

N/A
N/A
Protected

Academic year: 2022

Partager "5000 simulations) (et non pris les vraies valeurs), et non de la valeurs de n ."

Copied!
5
0
0

Texte intégral

(1)

BCPST2

95 0 6 Variables aléatoires discrètes

©Exercice 1: Loi de Poisson

1) SoitXune variable aléatoire discrète. On noteX(Ω) ={xn;n∈N}. On pose, pour toutndeN: pn=P(X=xn) et sn=

n

X

k=0

pk.

On découpe l'intervalle[0 ; 1]en un certain nombre d'intervalles de la façon suivante :

•0 s•0

s•1

s•2

s3•. . .

•1

p0 p1 p2 p3

Pour simuler la variableX, on se donne un réeluchoisi aléatoirement dans[0 ; 1[. â si06u < p0=s0 : dans ce cas, on poseX=x0

â sinon, on cherchen∈Ntel quesn−16u < sn: dans ce cas, on poseX=xn.

En utilisant cette méthode, écrire une fonction poisson(l) qui simule la loi de Poisson de paramètre`.

2) Écrire une fonction frequence(L) qui, étant donnée une liste d'entiers naturelsL, renvoie la listeFoù, pour toutkdeJ0 ;max(L)K, l'élémentF[k]est égal à la fréquence d'apparition de la valeurkdans la listeL.

3) Écrire une fonction represente_poisson(l,m) qui simulemfois la loi de Poisson de paramètre`et qui renvoie le diagramme des fréquences des valeurs obtenues. On pourra utiliser la fonction bar().

Comparer les hauteurs des bâtons avec les valeurs théoriques.

4) Un résultat (que l'on verra plus tard) nous dit que lorsque nest grand et λpas trop grand , la loi binomiale de paramètre

n,λ n

est proche de la loi de Poisson de paramètreλ.

En prenantλ= 5etn= 10,30,100, simuler 5000 fois une loi binomiale de paramètre n,λ

n

, dessiner le diagramme des fréquences des valeurs obtenues et comparer ces fréquences avec celles d'une loi de Poisson de paramètreλ.

Ce résultat nous donne une autre façon de simuler une loi de Poisson : on peut considérer qu'en simulant une loi binomiale de paramètre

n,λ n

avecngrand, on obtient une simulation d'une loi de Poisson de paramètreλ.

Solution:

Les écarts avec la vraie valeur viennent essentiellement du fait qu'on a simuler la loi binomiale (sur

5000 simulations) (et non pris les vraies valeurs), et non de la valeurs de n .

(2)

Solution:

from random import random from math import ∗

import matplotlib . pyplot as plt def poisson ( l ) :

u =random ( ) S = exp( − l ) F = 0

i = 0

while F < u : i += 1 F += S S ∗ = l/i return i − 1

def frequence ( L ) : m = max ( L ) F = [ 0 ] ∗ ( m+1)

f o r x in L :

F [ x ] += 1 f o r i in range ( m+1) :

F [ i ] = F [ i ] / le n ( L ) return F

def represente_poisson ( l , m ) :

L = [ poisson ( l ) f o r k in range ( m ) ] F = frequence ( L )

n = l e n ( F )

Th = [ exp( − l ) ∗ f l o a t ( l ∗∗ i ) /factorial ( i ) f o r i in range ( n ) ] plt . bar ( range ( l e n ( F ) ) , F , label= ' v a l e u r s simul é es ' )

plt . plot ( [ . 4 +k f o r k in range ( n ) ] , Th , color= ' red ' , linestyle=' ' , marker= ' o ' , ms=10,label= ' v a l e u r s th é o r i q u e s ' )

plt . legend ( ) plt . show ( ) def binomial ( n , p ) :

S = 0

f o r k in range ( n ) : u = random ( )

i f u<p :

S +=1 return S

def comparaison ( l ) :

valeur = [ 1 0 , 30 , 100 , 2000]

couleur = [ ' red ' , ' blue ' , ' yellow ' , ' green ' ] m=0 f o r i in range ( l en ( valeur ) ) :

n= valeur [ i ]

L= [ binomial ( n , f l o a t ( l ) /n ) f o r k in range (5000) ] F= frequence ( L )

m = max( m , len ( F ) )

plt . bar ( [ 0 . 2 ∗ ( i − 1) + k f o r k in range ( le n ( F ) ) ] , F , width

=.2 , color=couleur [ i ] , label= 'n='+s t r ( n ) )

Th = [ exp( − l ) ∗ f l o a t ( l ∗∗ i ) /factorial ( i ) f o r i in range ( m +1) ]

f o r i in range ( m+1) :

plt . plot ( [ i − 0.2 , i + 0 . 6 ] , [ Th [ i ] , Th [ i ] ] , color=' black ' , linewidth=3)

plt . legend ( ) plt . show ( )

2014-2015 page 2 sur 6 TSVP

(3)

©Exercice 2: Valeur moyenne et intervalle de uctuation

On lance un dé équilibré à6faces et l'on noteXle numéro de la face obtenue.

1) Écrire une fonction simuleX() qui simule la variable aléatoireX.

2) Écrire une fonction moyenne(n) qui, étant donné un entierndeN, simulenfois la variable aléatoireX et qui renvoie la valeur moyenne obtenue. Tester pour diérentes valeur denet commenter les résultats obtenus.

Représenter l'évolution de la moyenne obtenue en fonction den.

3) Le théorème central limite (à venir) nous dit que, lorsquenest grand (en pratique,n>30) la moyenne obtenue est proche de l'espéranceX, et qu'avec une grande probabilité, cette moyenne se situe dans l'intervalle

E(x)−2σ(X)

√n ;E(X) +2σ(X)

√n

Plus précisement, si l'on noteMnla variable aléatoire égale à la moyenne obtenue aprèsnlancers, on a : P

Mn

E(X)−2σ(X)

√n ;E(X) +2σ(X)

√n

'0.95

Visualiser ce résultat en ajoutant sur le graphe précédent les courbes d'équationsy=E(X)±2σ(X)

√x .

Solution:

from random import random from random import randint from math import ∗

import matplotlib . pyplot as plt def simuleX ( ) :

return randint ( 1 , 6 ) def moyenne ( n ) :

m = 0

f o r k in range ( n ) : m += simuleX ( ) m = m/n

return m

def graphique_moyenne ( n ) :

ListeM = [ moyenne ( k ) f o r k in range (1 , n+1) ] Listen = range (1 , n+1)

plt . plot ( Listen , ListeM ) sigma = sqrt ( ( 3 5 . 0 / 1 2 ) )

ListeY1 = [3.5+2 ∗ sigma/sqrt ( x ) f o r x in Listen ] ListeY2 = [3.5 − 2 ∗ sigma/sqrt ( x ) f o r x in Listen ] plt . plot ( Listen , ListeY1 )

plt . plot ( Listen , ListeY2 )

plt . show ( )

(4)

©Exercice 3: Paradoxe de Walter Penney

1) On considère une suite innie de lancers d'une pièce équilibrée.

Un calcul mathématique nous montre qu'on est presque sûr d'obtenir au moins une fois la conguration pile, pile, face dans la suite de lancers ; même chose pour la conguration face, pile, pile.

On s'intéresse dans cette question au rang moyen d'apparition de ces deux congurations.

1.a Écrire une fonction qui, étant donnée une conguration, simule des lancers de la pièce jusqu'à l'obtention de cette conguration et qui renvoie son rang d'apparition. On représentera pile par 1 et face par 0

1.b Écrire une fonction qui estime le rang moyen d'apparition de la conguration pile, pile, face et celui de la conguration face, pile, pile. Commenter les résultats obtenus.

1.c Retrouver par le calcul le résultat.

Solution:

from random import random from random import randint from math import ∗

import matplotlib . pyplot as plt pile=1

face=0 def lance ( ) :

i f random ( ) <.5:

return face e l s e :

return pile def apparition_configuration ( C ) :

#C e s t l a c o n f i g u r a t i o n à r e c h e r c h e r

#L e s t l a l i s t e des n d e r n i e r s l a n c e s n = l e n ( C )

L = [ lance ( ) f o r k in range ( n ) ] nb = l e n ( C )

while L != C :

L . pop ( 0) #on supprime l e premier l a nc e

L . append ( lance ( ) ) #on f a i t un lan ce suppl é mentaire nb += 1

return nb

def moyenne_apparition ( C , N ) : S = 0

f o r k in range ( N ) :

S +=apparition_configuration ( C ) S = f l o a t ( S ) /N

return ( S )

Par le calcul, on trouve 8 pour chacune des congurations.

2) Igor et Willow s'arontent dans un jeu dont les règles sont les suivantes :

â Igor est gagnant si la conguration pile, pile, face apparaît dans la suite des résultats des lancers, avant que la conguration n'apparaisse face,pile, pile ;

â Willow est gagnant si la conguration face,pile, pile apparaît dans la suite des résultats des lancers, avant que la congu- rationpile, pile, face n'apparaisse.

2.a Écrire une fonction qui simule une partie et qui renvoie le nom du gagnant.

2.b À l'aide de la fonction précédente, estimer la probabilité qu'a chacun des joueurs de gagner.

2.c retrouver par le calcul le résulat.

2014-2015 page 4 sur 6 TSVP

(5)

Solution:

Par le calcul, on trouve 1

4 pour Igor et 3

4 pour Willow.

def une_partie ( ) : C1 = [ 1 , 1 , 0 ] C0 = [ 0 , 1 , 1 ]

L = [ lance ( ) f o r k in range ( 3 ) ] while L!=C1 and L!=C0 :

L . pop ( 0)

L . append ( lance ( ) ) i f L==C1 :

return 1 e l s e :

return 0 def moyenne_partie ( N ) :

S = [ 0 , 0 ]

f o r k in range ( N ) : x = une_partie ( ) S [ x ] += 1

f o r x in range ( 2 ) : S [ x ] = S [ x ] / N return ( S )

3) Commenter les diérents résultats obtenus et en déduire le paradoxe de Walter Penney.

Références

Documents relatifs

Dans tous les exercices suivants, les questions avec le symbole ⊗ ne sont à faire que quand le professeur le précisera.. Exercice 1 Avec ou

En tapant EntAléat(x,y), on génère un nombre entier aléatoire entre x et y (inclus) En tapant EntAléat(x,y,n) on obtient une LISTE de n nombres aléatoires entre x et y..

On s’intéresse dans tout ce problème à une suite infinie de lancers d’une pièce équilibrée autour duquel deux joueurs J et J 0 s’affrontent. Le joueur J l’emporte si

(Pour ne pas générer d'erreur cette valeur doit être un nombre entier) Entrez par exemple la valeur 0.. Le tableau de

Contexte : Dans les probabilités étudiées au Lycée, on considère très souvent l’égale répartition comme donnée. Pour une pièce « équilibrée », la probabilité de tomber

De même la deuxième série commence au lancer suivant la …n de la première série et se termine (si elle se termine) au lancer précédant un changement de côté.. On dé…nit de

les espaces de type p, et ses hypothèses,il est en parenté avec le théorème 5, ce qui n’est pas surprenant compte tenu des similitudes bien connues des

[r]