Probabilités

Probabilités

Les probabilités et VB

Pour simuler une épreuve aléatoire on utilise la fonction Random qui génère un nombre pseudo aléatoire (il est en réalité basé sur un algorithme) compris entre 0 et 1.

Exemple :

'
Randomize     'donne une nouvelle valeur pour rnd
Label1.caption=10*rnd  'donne un nombre compris entre 0 et 10
'

Différences Probabilités/Statistiques

Les statistiques s'intéressent à des faits passés alors que les probabilités s'intéressent à des situations qui ne se sont pas encore produites. Il existe pourtant un lien étroit entre ces deux disciplines a cause de la loi des grands nombres : "La probabilité d'apparition d'un résultat dans une épreuve aléatoire est pratiquement égale à la fréquence d'apparition de ce résultat quand on a répété un grand nombre de fois cette même épreuve".

Vocabulaire

Épreuve aléatoire : Situation dont les résultats dépendent du hasard,Issue : Un des cas possibles,
Univers : Ensemble des cas possibles,
Événement : Un ou plusieurs éléments appartenant à l'univers,
Loi de probabilité : Fonction qui a chaque issue associe une probabilité,
Variable aléatoire : Une grandeur numérique dont la valeur dépend de l'issue de l'épreuve.

Simuler une épreuve Aléatoire

Pour simuler une épreuve aléatoire nous ne disposons que de la fonction random, il faut donc associer a chaque issue un intervalle contenu dans le but de la fonction random.

Exemple 1

Lancé de dé (voir la source http://www.vbfrance.com/codes/MATHEMATIQUES-PEDAGOGIQUES_36220.aspx puis chercher dans probabilités l'épreuve aléatoire suivante)

Public Function

 Dé(n As Long) As Long
 Randomize
 Dé = Fix(6 * Rnd + 1)  'donne une valeur entière comprise entre 1 et 6

End Function

Exemple 2

Une urne contient 6 boules jaunes et 4 boules rouges, on en choisi une au hasard

Public Function

 Rouge() As Boolean
 Randomize 'donne une nouvelle valeur pour rnd 
 If Rnd > 0.6 Then 'L'intervalle tien compte de la probabilité
    Rouge = True
 Else 
    Rouge = False
 End If
End Function
Private Sub Command1_Click()

If Rouge() = True Then 
    MsgBox "rouge"
Else 
    MsgBox "jaune"
End If
End Sub

Probabilités et Combinaisons

Une épreuve aléatoire n'est pas toujours aussi simple, par exemple, une urne contient 10 boules numérotées, on tire simultanément 3 boules.

Pour déterminer la loi de probabilité, il faut connaitre le nombre de tirages possibles:
10 choix pour la première
9 choix pour la deuxième
8 choix pour la troisième
Soit 10*9*8=720 possibilités.
Cependant dans un tirage simultané, il y a des doubles
Exemple {5,9,7}={7,5,9}
Il y a 3*2*1=6 listes de ce type
Il reste donc 120 tirages possibles.
On dit qu'il y a 120 combinaisons de 3 boules parmi 10.

Généralisation : Le nombre de combinaisons de p éléments parmi n est (n!)/(p!(n-p)!)

Programme calculant factorielles et combinaisons

voir http://www.vbfrance.com/codes/FACTORIELS-COMBINAISONS_32744.aspx

Function Combinaison(n As Long, k As Long) As Long 

'Les deux premières étapes évitent des calculs évidents
If k = 0 Or n = k Then
    Combinaison = 1 
    Exit Function
End If
If k = 1 Or k = n - 1 Then
    Combinaison = n 
    Exit Function
End If 
Combinaison = Factoriel(n) / (Factoriel(k) * Factoriel(n - k))
End Function
Function Factoriel(n As Long ) As Long 
Dim f As Long
If n = 1 Then 'Par convention 0!=1
    Factoriel = 1 
Else
    Factoriel = n * Factoriel(n - 1) 
End If
End Function
Ce document intitulé « Probabilités » issu de CodeS SourceS (codes-sources.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Rejoignez-nous