pitaya97
Messages postés3Date d'inscriptionjeudi 5 mars 2009StatutMembreDernière intervention28 mai 2012
-
5 mars 2009 à 07:33
pitaya97
Messages postés3Date d'inscriptionjeudi 5 mars 2009StatutMembreDernière intervention28 mai 2012
-
22 mars 2009 à 21:11
Bonjour,
J'aimerais éffectuer un tirage aléatoire dans une liste de nombres (par exemple 3, 5, 7, 9, 15 18) mais pondérer le résultat pour que certains sortent plus souvent que d'autres (par exemple le 9 trés souvent et le 18 pratiquement jamais)
Merci de vos réponses
A voir également:
Roue tirage au sort en ligne
Tirer au sort avec une roulette - Meilleures réponses
jmf0
Messages postés1566Date d'inscriptionmardi 26 décembre 2000StatutMembreDernière intervention 5 avril 20138 5 mars 2009 à 14:01
Bonjour,
j'appelle ton attention, The Meteorologist, sur le fait que tes pourcentages de probabilité ne sont vrais qu'au tout premier tirage et qu'ils sont ensuite différents.
Commle tu le vois, les probabilités successives (résiduelles) dépendent des tirages successifs précédents.
The Meteorologist
Messages postés232Date d'inscriptionjeudi 18 janvier 2007StatutMembreDernière intervention 3 novembre 20111 5 mars 2009 à 19:37
jmf0, j'ai du mal à comprendre pourquoi les probabilités changeraient après le premier tirage. Sans doute as-tu raison mais pourrais-tu m'éclairer un peu sur ce sujet ?
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
jmf0
Messages postés1566Date d'inscriptionmardi 26 décembre 2000StatutMembreDernière intervention 5 avril 20138 5 mars 2009 à 20:31
Parce que tout simplement (relis donc) le même numéro ne peut être tiré qu'une seule fois.
Comme, en plus, le numéro le plus souvent répétéest précisément celui qui a le plus de chances d'être tiré au 1er tirage, ton pourcentage de probabilité est totalement bouleversé lors des tirages suivants.
Le plus simple pour que tu comprennes vite est ceci :
4 numéros 1,2,3 et 4
mais avec au départ :
1,1,1,1,2,2,3,4
selon ton raisonnement le 1 aurait donc 50 % de chances, le 2 25 %, le 3 12,5 % et le 4 12,5% en tirant 2 numéros sur ces 4 numros ?
Voyons donc avec exemples :
exemple 1 : premier tirage : 2 (il avait bien 25% de chances, mais a été tiré d'emblée)
reste alors 1,1,1,1,3 et 4
le 1 n'a plus 50% de chances, mais plus (4/6 %) d'être tiré
Ma is voilà : exemple 2 : le 1 sort dès le 1er tirage
restent : 2,2,3,4 ===>> 50% pour le 2, 25 % pour le 3 et 25% pour le 4 au 2ème et dernier tirage
ton calcul des chances est donc étrangement lié aux aléas du tout premier tirage (et un alea... c'est un alea).
Le calcul de tes probabilités devrait en plus inclure également le nombre de tirages parmi x numéros (et calculer une moyenne) car ce nombre de tirages lui-même est important.
jmf0
Messages postés1566Date d'inscriptionmardi 26 décembre 2000StatutMembreDernière intervention 5 avril 20138 5 mars 2009 à 20:40
En d'autres termes, ce n'est pas comme à la roulette (où un tirage n'est fait que sur un seul numéro), mais comme une roulette "particulière" sur laquelle
- tu mettrais plusieurs boules
- tu pourrais interdire l'accès (aux autres boules) à tous les numéros identiques à celui déjà occupé par une boule.
Un calcul de probabilités est par contre plus simple sur une machine de type "JackPot" car chaque roue contient tous les numéros (chacun en plus ou moins grand nombre de présence) et qu'il est non seulement permis mais espéré(du moins par le joueur) que chaque roue s'arrêtera sur le même numéro ...
The Meteorologist
Messages postés232Date d'inscriptionjeudi 18 janvier 2007StatutMembreDernière intervention 3 novembre 20111 5 mars 2009 à 20:50
Merci beaucoup pour ta réponse. Mais pitaya97 n'a pas précisé qu'un numéro ne pouvait être tiré qu'une seule fois. Enfin du moins ce n'est pas comme ça que j'avais compris son post. Quoi qu'il arrive merci pour tes explications ;)
jmf0
Messages postés1566Date d'inscriptionmardi 26 décembre 2000StatutMembreDernière intervention 5 avril 20138 5 mars 2009 à 21:34
Il est vrai que pitaya57 est le grand absent dans cette discussion qu'il a ouverte ...
Il est également possible que a "vision" de ce qu'il veut ne soit finalement pas la bonne ..
J'ai en ce qui me concerne, réagi comme Renfield, qui a eu cette réaction :
citation :
"en faisant une liste des nombres possibles.
ajouter les nombres plusieurs fois, pour augmenter ses chances d'être choisi aléatoirement.
une fois un de ces nombres trouvés, en supprimer toutes les occurrences, pour ne pas retomber sur ce nombre."
Il est donc finalement sage d'attendre en effet que notre ami réapparaisse... et nous précise ce qu'il veut.
Amitiés.
pitaya97
Messages postés3Date d'inscriptionjeudi 5 mars 2009StatutMembreDernière intervention28 mai 2012 22 mars 2009 à 21:11
Bonjour,
Désolé pour ce silence: ordinateur en panne. Carte mère HS + réinstallation complète.
Et merci de vous être penchés sur mon cas. Mais je crois que j'ai manqué de précision.
Voilà le code que j'ai actuellement (feuille excel 2007 pour visualiser les résultats, que je convertirais en Visual Studio dès que code opérationnel):
J'ai donc un nombre en [B3], je veux en soustraire des nombres tirés au sort (tblListe) jusqu'à arriver à zéro. Jusque là ça fonctionne. Mais il faudrait que certains nombres reviennent plus souvent que d'autres: par exemple tblListe(0) pratiquement jamais et tblListe(7) trés souvent. J'aimerais pondérer chaque valeur de tblListe, pour qu'elle soit tirée plus ou moins souvent. Vos commentaires sur le code sont également les bienvenus.
Private Sub BtnCalcul_Click()
Dim flag As Boolean
Dim ligne As Byte
Dim tirage As Single
Dim varX As Single
Dim varX2 As Single 'une fausse copie
Dim tblListe() As Single 'Tableau
If varX2 < 1 Then
For t = UBound(tblListe) To 0 Step -1
If varX >= tblListe(t) Then
Me.Cells(ligne, 4).Value = tblListe(t)
Me.Cells(ligne, 5).Value = varX - tblListe(t)
Me.Cells(ligne, 3).Value = ligne - 1
If varX - tblListe(t) = 0 Then
flag = True
End If
Exit Do
End If
Next t
Exit Do
Else
varX = varX2
End If
Me.Cells(ligne, 4).Value = tirage ' pour visualiser les tirages
Me.Cells(ligne, 5).Value = varX
Me.Cells(ligne, 3).Value = ligne - 1
ligne = ligne + 1