0% ont trouvé ce document utile (0 vote)
35 vues5 pages

TP: Implémentation de Lois de Probabilité

Transféré par

papa.xthiam
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
35 vues5 pages

TP: Implémentation de Lois de Probabilité

Transféré par

papa.xthiam
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

U.F.R.

des Sciences et Techniques

TP Modélisation à événements discrets


Implémentation de lois de probabilité

TP à rendre
Un compte-rendu de TP est à rédiger à l’issue de ce TP. Il devra expliquer la démarche suivie
pour la conception des programmes ainsi que les éventuelles difficultés rencontrées. Le compte-
rendu (sous format PDF) ainsi que le code source des programmes devront être déposés sur
Eurêka. Au minimum, les parties suivantes sont obligatoires pour votre compte-rendu :

1. Rappel du sujet.

2. Présentation du programme réalisé.

3. Donner les réponses aux questions posées dans le sujet.

4. Résultats et tests (courbes).

5. La conclusion inclura les éventuelles difficultés rencontrées, les limites du programmes et


les perspectives d’évolution du programme (s’il en existe) et tout ce qui vous semblera
relever de cette conclusion.

L’ensemble de vos fichiers (et éventuels répertoires) devront être placés dans un répertoire nommé
"MED-TP2-PrenomNom" puis compressés avant d’être déposés. Le format de compresssion peut
être ZIP ou [Link]. Attention de remplacer, Prenom et Nom, par les vôtres.

Exercice 1 : la loi Binomiale


La loi binomiale possède deux paramètres n et p. On réitère n une épreuve de Bernouilli de
paramètre p (compris entre 0 et 1). Cette épreuve comporte deux résultats représentant soit un
succès soit un échec. p représente la probabilité d’un succès alors que q = 1 − p représente la
probabilité d’un échec.
Soit X, la variable aléatoire qui indique alors le nombre de succès. Elle suit alors une loi de
probabilité qui est de la forme suivante :
 
n
P (X = k) = .pk .q (n−k) (1)
k

 
n n!
= Cnk = (2)
k k!(n − k)!
Il s’agit donc d’implémenter une classe Binomial comportant les méthodes suivantes :

• Une méthode de calcul récursif de la factorielle. Quel est l’inconvénient de cette méthode
en Java ?

• Une méthode permettant d’effectuer le calcul présenté dans l’équation (2). Cette méthode
reposant sur la méthode de calcul factorielle, en donner les limites ?
U.F.R. des Sciences et Techniques

• Une autre façon de calculer la combinaison est possible :


  
n 1  si k == 0 ou k == n
= n−1 n−1
 (3)
k k + k−1 sinon

• Créer une méthode compute permettant de calculer la loi Binomiale avec pour paramètres
n, p et k (cf. Equation (1)).

• Créer une méthode generate permettant de générer t lignes pour k variant de 0 à t (par
pas de 1).

• Créer une méthode permettant d’enregistrer les données générées dans un fichier. Un fichier
comportera les résultats obtenus (colonne 2) lorsque lorsque l’on fait varier la valeur de k
(colonne 1).

• Dans la méthode principale, répéter la même expérience en faisant varier p de 0 à 1 par


pas de 0.1.

À partir des différents fichiers de données générés, tracer les courbes suivantes au moyen de l’outil
GnuPlot.

Exercice 2 : la loi exponentielle


Une variable aléatoire x obéit à une loi exponentielle de paramètre λ lorsque sa densité est
d(x) = λ × e−λx pour x ≥ 0. Elle a une fonction de répartition f (x) telle que : f (x) = 1 − e−λx
pour x compris entre 0 et 1.
U.F.R. des Sciences et Techniques

Nous faisons ensuite le lien avec la loi uniforme qui est à la base de l’implémentation du générateur
de nombres aléatoires dans Java. On a l’équivalence suivante :

ln(1 − y)
y = 1 − e−λx ←→ x = − (4)
λ
Tracer les trois courbes de l’exponentielle pour y variant entre 0 et 1 par pas de 0.1 et pour
λ = 0.5, λ = 1.0 et λ = 1.5. Il vous faudra inclure le graphique correspondant dans votre
compte-rendu. Cela vous permettra de déterminer la valeur maximale pour la question suivante.
Que remarquez vous pour y = 1.0 ? Si la valeur de y est supérieur ou égale à "1", on la raménera
à 0.999. Quelle est la valeur maximale de la loi exponentielle ?

50
λ = 0.5
λ = 1.0
λ = 1.5

40

30
x

20

10

0
0 0.2 0.4 0.6 0.8 1
y

En se basant sur la loi uniforme (générateur aléatoire de Java), il s’agit de tracer les trois
histogrammes suivants pour λ = 0.5, λ = 1.0 et λ = 1.5. En réalité, il s’agit de calculer
l’exponentielle à partir d’un nombre y tiré aléatoirement suivant la loi uniforme. Il faut ensuite
répéter un grand nombre de fois cette expérience et compter combien de fois on obtient la même
valeur suivant la loi exponentielle. Pour avoir une densité sur un plus grand nombre de
valeurs, on multiplie l’exponentielle par 10.

Exemple : On tire 100000 fois un nombre aléatoire suivant la loi uniforme. On calcul x pour ce
nombre et on le multiplie par 10. Puis, on prends la partie entière du nombre. Combien de fois
va-t-on obtenir 5 ? Il faut donc calculer le nombre d’occurences de chaque nombre.

Exercice 3 : la loi de Poisson


La loi de Poisson est aussi appelée loi des événements rares. Une variable X suit une loi de
Poisson de paramètre λ si elle suit :
λk
P (X = k) = e−λ . (5)
k!
U.F.R. des Sciences et Techniques

λ=0.5 λ=1.0
14000 14000

12000 12000

10000 10000
Densité

Densité
8000 8000

6000 6000

4000 4000

2000 2000

0 0
0 20 40 60 80 100 0 20 40 60 80 100
Valeur de la loi exponentielle Valeur de la loi exponentielle

λ=1.5 λ=0.5
14000 14000 λ=1.0
λ=1.5

12000 12000

10000 10000
Densité

Densité
8000 8000

6000 6000

4000 4000

2000 2000

0 0
0 20 40 60 80 100 0 20 40 60 80 100
Valeur de la loi exponentielle Valeur de la loi exponentielle

Nous souhaitons simuler les arrivées dans une file d’attente suivant une loi de Poisson. Ce que
nous souhaitons simuler, ce sont donc les instants d’arrivée. La probabilité d’avoir N arrivées
pendant une durée D est alors formulée de la façon suivante :

(λD)k
P (ND = k) = e−λD . (6)
k!
Soit t1 , t2 , ..., tn les instants d’arrivée avec t1 < t2 < ... < tn et ND ∈ {ti ≤ D}
Nous avons ti+1 − ti ∼ exp(λ) (loi exponentielle). Soit une variable aléatoire X = ti+1 − ti
dont la fonction de répartition est :

Fx (D) = −λD si x ≥ 0 (7)



−λD si x ≥ 0
Fx (D) = (8)
0 si x < 0
La fonction de répartition étant une fonction exponentionnelle, sa variable aléatoire X peut donc
être générée par la transformation inverse. De cette façon, l’addition des variables exponentielles
X donne un processus de Poisson stationnaire de moyenne λ sur un intervalle de temps D. Les
dates d’arrivées sont déterminées par la variable aléatoire X et les instants d’arrivées sont déduits
par un calcul d’addition des variables aléatoires générées.

Construisez une fonction permettant de générer des dates d’arrivées sur une période données.
Pour nous faciliter la tâche, nous utiliserons une approximation des dates d’arrivées générées
sous forme d’un entier. Attention, on ne connaitra le nombre total d’arrivées qu’à l’issue de
l’exécution de la fonction car les inter-arrivées étant aléatoires on peut donc avoir un nombre
U.F.R. des Sciences et Techniques

plus ou moins grand d’arrivées.

Sur une période D=1000, générer des dates d’arrivées pour λ=0.5, λ=1.0, λ=1.5.

Pour obtenir, une certaine fiabilité statistique, il est conseillé de répéter un grand nombre de fois
la génération des arrivées.

(a) Fiabilité = 1 (b) Fiabilité = 100000

(c) Comparaison entre les fiabilités

Vous aimerez peut-être aussi