Bonjour à tous,
Bon après tests, ça marche.
J'ai créé une fonction par type de tirage et faire 100000 tirages à chaque fois.
Et ce en me basant sur l'exemple de flight. (Sans retirer les 14 boules. )
Par contre...
J'ai quand même un couac.
Donc sans retirer les 14 boules, la fonction créée retourne environ 27% de chance d'avoir au moins 3 boules rouges lors d'un tirage de 7 boules parmi les 48.
Citation :
Function STATTRIPLE(TailleDeMain)
For i = 1 To 100000
'on opère un tirage de 7 boules et on cherche la proba d'avoir au moins 3 boules rouge
tableau = Array(12, 12, 12, 12)
1:
tirage_rouge = Int(Rnd * ((tableau(0) + 1)))
tirage_vert = Int(Rnd * ((tableau(1) + 1)))
tirage_bleu = Int(Rnd * ((tableau(2) + 1)))
tirage_jaune = Int(Rnd * ((tableau(3) + 1)))
If tirage_rouge + tirage_vert + tirage_bleu + tirage_jaune = TailleDeMain Then
If tirage_rouge >= 3 Then
n = n + 1 ' compteur du nbr de fois qu'on a au moins 3 boules rouges à chaque boucle
End If
Else
GoTo 1
End If
Next
STATTRIPLE = (n / 100000) ' retourne la proba d'avoir au moins 3 rouges sur 100000 essais
End Function
Si je fais le calcul avec la combinatoire mathématique, j'ai
23,12% (confirmé par Verdurin plus haut)
J'ai donc un écart de 4%... c'est raisonnable.... pour ce tirage.
Si je pousse et que je cherche la probabilité d'avoir au moins 2 boules rouges et au moins d'1 boule bleue:
La fonction suivante me retourne
environ 27%.
Citation :
Function STATDEUXETUN(TailleDeMain)
For i = 1 To 100000
'on opère un tirage de 7 boules et on cherche la proba d'avoir au moins 2 boules rouges et au moins une boule tableau = bleuArray(12, 12, 12, 12)
1:
tirage_rouge = Int(Rnd * ((tableau(0) + 1)))
tirage_vert = Int(Rnd * ((tableau(1) + 1)))
tirage_bleu = Int(Rnd * ((tableau(2) + 1)))
tirage_jaune = Int(Rnd * ((tableau(3) + 1)))
If tirage_rouge + tirage_vert + tirage_bleu + tirage_jaune = TailleDeMain Then
If tirage_rouge >= 2 And tirage_bleu >= 1 Then
n = n + 1 ' compteur du nbr de fois qu'on a au moins 3 boules rouges à chaque boucle
End If
Else
GoTo 1
End If
Next
STATDEUXETUN = (n / 100000) ' retourne la proba d'avoir au moins 2 boules rouges et au moins une boule bleue sur 10000 essais
End Function
Mais via le calcul mathématique, j'obtiens
50,5%!
Le voici.
Citation :
P(>= 2R et >= 1B) = 1 - P(< 2R) - P(0B) + P(<2R et 0B)
Avec:
P(< 2R) = C(36,7)/C(48,7) + C(12,1).C(36,6)/C(48,7) = 0,4307
P(0B) = C(36,7)/C(48,7) = 0,1133
P(<2R et 0B) = [(C(36,7)/C(48,7)) + (C(12,1).C(36,6)/C(48,7))] . (C(36,7)/C(48,7))] = 0,0488
P(>= 2R et >= 1B) = 1 - 0,4307 - 0,1133 + 0,0488 = 0,5048 => 50,48%
J'ai donc faux.
Si je fais plus confiance à la fonction qu'au calcul mathématique, est-ce que vous pourriez m'expliquer où je me fourvoie?
L'écart est trop important pour être honnête.
Merci beaucoup.
Mam's