BOULE DE BILLARD N°8 OU COMMENT FAIRE CONFIANCE AU HASARD...

krakkoukluk
Messages postés
11
Date d'inscription
mardi 3 juin 2003
Statut
Membre
Dernière intervention
8 juin 2003
- 8 juin 2003 à 11:15
cs_Black Night
Messages postés
44
Date d'inscription
jeudi 5 octobre 2000
Statut
Membre
Dernière intervention
21 juin 2003
- 12 juin 2003 à 19:45
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/7389-boule-de-billard-n-8-ou-comment-faire-confiance-au-hasard

cs_Black Night
Messages postés
44
Date d'inscription
jeudi 5 octobre 2000
Statut
Membre
Dernière intervention
21 juin 2003

12 juin 2003 à 19:45
Je confirme tout ve que vous avez dit, et je rajoute un argument pour prouver que les nbr pseudo-anéatoires sont basés sur le temps : vous savez peur etre que le langage C repose sur une série de bibliotéques (ou plutot des headers pour les puristes), et la fonction qui initialise le générateur de nbr aléatoire se situe dans la bibliotheque <time.h> (time = temps)
Skywalker13
Messages postés
111
Date d'inscription
dimanche 6 janvier 2002
Statut
Membre
Dernière intervention
27 août 2004

11 juin 2003 à 18:22
Non je ne la connais pas.. et ça na finallement pas une grande importance, tant que sa parrait "aléatoire" pour notre petite tête. :-)
cs_Warny
Messages postés
473
Date d'inscription
mercredi 7 août 2002
Statut
Membre
Dernière intervention
10 juin 2015

11 juin 2003 à 13:37
Pour les séries pseudo aléatoire, la basic en son temps utilisait des séries de fourrier, en gros on prend un certain nombre de valeurs qu'on multiplie entre elles modulo un nombre premier. Si ces valeurs sont prises à partir de l'horloge système (à la miliseconde près) on obtient un résultat qui parait très aléatoire. Ensuite chaque valeur calculée est soumise à une fonction des n valeurs précédentes (une multiplication par hasard) modulo toujours la même valeur.
Pour générer des nombres vraiment aléatoires, certains programmeurs (notamment celui qui a inventé le pgp) se bases sur les entrées utilisateur (temps d'appuis des touches clavier et déplacement de la souris) qui sont normallement assez cahotiques. Ensuite on revient sur une serie de fourrier réduite à une cinquantaine de valeurs si l'utilisateur ne touche plus à ses périphériques.
Je ne connait pas l'algorithme qu'utilise aujourd'hui le vb, mais on peut parier que son système de valeur aléatoires n'a pas changé depuis des lustres.
Ktb
Messages postés
80
Date d'inscription
mercredi 13 mars 2002
Statut
Membre
Dernière intervention
8 novembre 2006
1
9 juin 2003 à 15:52
non c'est randomize tout court : l'instruction initialise le générateur de nombres pseudo-aléatoires (n'est-ce pas skywalker ;)) en se basant sur l'horloge système : si tu ne mets pas randomize avant le rnd, tu peux relancer le prog autant de fois que tu veux, t'auras toujours la même série de nombres (sauf si tu redémarres l'ordi mais c'est un pei débile alors !).

Voilà ;), et en effet je confirme que les nombres générés sont pseudo-aléatoires, il me semble qu'en en connaissant quelques un consécutifs on peut prédire les autres (pas mal pour de l'aléatoire hein ? lol) mais je suis pas sûr que ça soit le cas avec VB.

P.S : Skywalker13, tu connais la suite utilisée par VB pour générer les nombres pseudo-aléatoires ? ça m'intéresse si t'as la réponse
@+ KtB
JoVB
Messages postés
87
Date d'inscription
lundi 4 novembre 2002
Statut
Membre
Dernière intervention
10 mars 2009

9 juin 2003 à 11:55
ouais juste... c'est en rapport avec le nombre de secondes écoulées depuis minuit, et je crois encore qqs autres paramètres !
Et c'est pas plutot "Randomize Timer" qu'il faut mettre ?
Afficher les 14 commentaires