Comment marche .... le random ?
Eolymhn
-
Yoteco Messages postés 111 Date d'inscription Statut Membre Dernière intervention -
Yoteco Messages postés 111 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je me pose depuis longtemps : Comment fonctionne le random ? quel est son algorithme ?
J'ai fait des recherches mais je n'ai rien trouvé ... j'y ai réfléchi et je ne vois pas la logique de la chose ...
Comment les machines génère-t-elle des chiffres sans liens et aboutissants à une moyenne qui vérifie les règles de probabilité...
petit détaille : J'ai constaté en classe avec des calculatrices Texas Instruments 82, proposant cette fonction, qu'elles donnaient toutes les mêmes résultats pour les premières utilisations ... par la suite il y a eux un décalage selon le nombre d'utilisation du mode ... Elle utilise donc bien à un algorithme ...
merci d'avance.
Je me pose depuis longtemps : Comment fonctionne le random ? quel est son algorithme ?
J'ai fait des recherches mais je n'ai rien trouvé ... j'y ai réfléchi et je ne vois pas la logique de la chose ...
Comment les machines génère-t-elle des chiffres sans liens et aboutissants à une moyenne qui vérifie les règles de probabilité...
petit détaille : J'ai constaté en classe avec des calculatrices Texas Instruments 82, proposant cette fonction, qu'elles donnaient toutes les mêmes résultats pour les premières utilisations ... par la suite il y a eux un décalage selon le nombre d'utilisation du mode ... Elle utilise donc bien à un algorithme ...
merci d'avance.
A voir également:
- Comment fonctionne la fonction random
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer sur word - Guide
- Fonction somme excel - Guide
6 réponses
Ah !
Excellente question.
Chaque compilateur (pour être précis, chaque librairie) possède sa propre fonction random().
Il y a plusieurs méthodes, utilisant des multiplications, modulos, racines carrées, masques de bits, hashage... il y a le choix.
Le truc, c'est que tout programme étant déterministe, un ordinateur est techniquement incapable de générer des nombres aléatoires.
C'est pour cela qu'on les appels pseudo-aléatoires.
(PRNG = Pseudo-random number generators).
Les mauvais PRNG redonnent rapidement la même suite de nombre, sont biaisés ou pire (prédiction possible des valeurs suivantes).
Et même un bon PRNG donnera toujours les mêmes valeurs s'il est toujours initialisé de la même façon.
Excellente question.
Chaque compilateur (pour être précis, chaque librairie) possède sa propre fonction random().
Il y a plusieurs méthodes, utilisant des multiplications, modulos, racines carrées, masques de bits, hashage... il y a le choix.
Le truc, c'est que tout programme étant déterministe, un ordinateur est techniquement incapable de générer des nombres aléatoires.
C'est pour cela qu'on les appels pseudo-aléatoires.
(PRNG = Pseudo-random number generators).
Les mauvais PRNG redonnent rapidement la même suite de nombre, sont biaisés ou pire (prédiction possible des valeurs suivantes).
Et même un bon PRNG donnera toujours les mêmes valeurs s'il est toujours initialisé de la même façon.
Je CROIS qu'ils prennent une des décimales de la racine carré de l'heure actuelle, la position de la souris, ...
Mais JE N'EN SUIS ABSOLUMENT PAS SÛR :)
Mais JE N'EN SUIS ABSOLUMENT PAS SÛR :)
Le PRNG le plus à la mode, car il semble donner d'excellents résultats, c'est Mersenne Twister.
Voici un exemple de (très mauvais) PRNG:
a = (a*7) mod 10
(mod étant le reste de la division entière).
Ce PRNG donne des nombres pseudo-aléatoire entre 0 et 9.
Mais il cycle assez rapidement.
Voici un exemple de (très mauvais) PRNG:
a = (a*7) mod 10
(mod étant le reste de la division entière).
Ce PRNG donne des nombres pseudo-aléatoire entre 0 et 9.
Mais il cycle assez rapidement.
Merci beaucoups pour ces précisions ^^
Le randomise répond donc bien à un algorithme, différent selon les programmes...
Bon, il va falloir inventer une installation de jeu de dés dans le pc ;) encore qu'il serrait capable de retrouver chaque fois les mêmes résultats s'il est précis ^^
encore merci ++
Le randomise répond donc bien à un algorithme, différent selon les programmes...
Bon, il va falloir inventer une installation de jeu de dés dans le pc ;) encore qu'il serrait capable de retrouver chaque fois les mêmes résultats s'il est précis ^^
encore merci ++
Il existe des moyens pour générer de vrais nombres aléatoires sur ordinateur:
- utiliser une webcam pour capturer l'image de phénomènes chaotiques (lava-lamps, etc.)
- utiliser des cartes d'extension spécialisées (ponts de diodes produisant du bruit blanc, source de chaleur émettant des électrons, désintégration de matière radioactive...)
Voir:
http://www.commentcamarche.net/forum/affich-1193805#6
ainsi que:
http://www.lavarnd.org/
et
http://www.ietf.org/rfc/rfc1750.txt
- utiliser une webcam pour capturer l'image de phénomènes chaotiques (lava-lamps, etc.)
- utiliser des cartes d'extension spécialisées (ponts de diodes produisant du bruit blanc, source de chaleur émettant des électrons, désintégration de matière radioactive...)
Voir:
http://www.commentcamarche.net/forum/affich-1193805#6
ainsi que:
http://www.lavarnd.org/
et
http://www.ietf.org/rfc/rfc1750.txt
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
pour le respect de la moyenne et de l'écart type c'est
plus facile
avec moyenne et écart type tu calcules l'étendue
et tu interpoles ensuite le chiffre obtenu au tirage
plus facile
avec moyenne et écart type tu calcules l'étendue
et tu interpoles ensuite le chiffre obtenu au tirage