Nombres aléatoires en informatique

Fermé
steelspirit Messages postés 277 Date d'inscription lundi 12 mai 2003 Statut Membre Dernière intervention 22 octobre 2008 - 22 déc. 2004 à 13:07
 Cedrique30 - 15 nov. 2008 à 22:14
Bonjour à tous,

Tout d'abord je vous souhaite à tous, par avance, un joyeux noel :-)

J'ai quelques petites questions concernant la façon dont sont générés les nombres aléatoires en informatique et plus précisément :
-> Dans une calculatrice (est ce que ça fait appel à un processeur, à un systeme électrique ?)
-> Dans un logiciel (comme Excel par exemple)
-> Est ce qu'il existe une formule mathématique ?
-> Que signifie le terme pseudo-aléatoire ?

merci d'avance pour votre aide

- T'as pas vu Chloraine ?
- C'est qui Chloraine ? - Ah ! Ah ! Ah !
A voir également:

13 réponses

sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 659
22 déc. 2004 à 14:42
Et pour compléter:

Tout nombre généré par un programme ne peut pas être aléatoire, mais seulement pseudo-aléatoire.
(C'est à dire qu'il a l'apparence de l'aléatoire, mais tout programme étant déterministe, ce nombre ne peut pas être aléatoire.)

Il existe des moyens d'obtenir de vrais nombres aléatoire sur ordinateur, comme par exemple le classique http://www.lavarnd.org/

En cryptographie, générer des nombres aléatoire de bonne qualité est problématique.
Il y a même une RFC là dessus:
http://www.ietf.org/rfc/rfc1750.txt
5
Bonjour Steelspirit,

Plus précisément – avec Excel en tout cas – la production d'un nombre aléatoire est le résultat d'un calcul. Un algorithme sort un Nième numéro à partir de la valeur du numéro N-1. De telle sorte que la série peut être toujours la même.
Pour éviter ça, il est conseillé de faire auparavant un "Randomize", qui produit un premier numéro à partir de l'horloge interne. De cette façon, les résultats sont imprévisibles et aléatoires.

Il faut comprendre "aléatoire" comme donnant une répartition des résultats identique à un tirage au sort. Il existe des algorithmes - assez compliqués - capables de fournir de telles répartitions.

Armojax.
4
bonjour tout le monde,nous on est un peu moins pousser en informatique que vous (on est en première S et on a choisi de prendre l'aléatoire comme sujet),donc est-ce que ça serai possible d'avoir des sites français qui traitent de la même chose ou connaitre les formules pour obtenir du pseudo aléatoire ou des algorythmes avec les explications qui vont avec???merci d'avance!!! ;)
2
random Messages postés 1612 Date d'inscription vendredi 26 novembre 2004 Statut Membre Dernière intervention 30 mars 2006 155
4 févr. 2005 à 16:49
il y a une autre manière assez amusante
je calcule pi avec n décimales
je l'exprime en base 2
il est prouvé que pi en base deux est un nombre régulier
à partir du jour et heure systeme je choisis le point de départ de ma séquence
les décimales suivantes de pi seront ensuite choisies par tranche
égales à la longueur désirée
puis convertie en decimales en leur appliquant la règle de trois
qui se rapporte à la grandeur voulue et le nombre correspondant
en base 10

autre chose une eéquence est dite pseudo aléatoire sans qu'elle le soit forcément

si elle produit deux fois la même suite de résultas elle reste aléatoire dans un univers logique puisque la reproduction y est possible
dans un univers physique cela est impossible des jets successifs
pile face ne reproduiront pas de façon observabls des résultats identiques






1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Salut, je sais qu'en matlab (langage de calcul numerique) les nb aleatoires sont tires suivant l'etat du processeur.

Pseudo-aleatoire car l'aleatoire n'existe pas. On cree de l'aleat suivant une certaine loi de proba donc c'est presque aleatoire
0
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
22 déc. 2004 à 13:59
Salut steelspirit, salut pom...

Il y a 3 façons d'avoir un nombre aléatoire (ou pseudo aléatoire)

La première, avoir une liste (vu sur certaines vieille caltoches), la deuxième façons se baser sur un évenement donné et sa probabilité (pseudo aléatoire) comme le tact processeur (avec le risque que le programme tournant deux fois de la même façon donne deux fois le même résultat, mais bon le risque est très faible) ce qui est pseudo aléatoire (la première méthode l'est pas vraiment :-S) et la dernière, sans remettre à une épreuve aléatoire (dé en exemple typique) ce qui est impossible pour un ordinateur :o)

Il n'existe pas de formule mathématiques, encore heureux :o)



Qui va en mer pour son plaisir,
irait en enfer pour ses vacances
0
steelspirit Messages postés 277 Date d'inscription lundi 12 mai 2003 Statut Membre Dernière intervention 22 octobre 2008 80
22 déc. 2004 à 15:35
:-)
Merci énormément pour vos lumières (qui tombent tres bien en période de fêtes de fin d'année)

ça va clouer le bec aux stateux de ma boite qui se vantent de faire de la vrai "Randomisation" comme ils disent ... avec Excel en plus !

- T'as pas vu Chloraine ?
- C'est qui Chloraine ? - Ah ! Ah ! Ah !
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 659
22 déc. 2004 à 15:44
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 659
22 déc. 2004 à 15:51
Tiens donc... en cherchant un peu, il semble que Intel ait équipé certains de ses chipsets de vrais générateurs de nombres aléatoires !

http://www.cryptography.com/resources/whitepapers/IntelRNG.pdf

ça concerne les chipsets 810, 815, 830 et 845G.

Et intel fourni même un driver pour accéder à ce RNG.
http://www.intel.com/design/software/drivers/platform/security.htm
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 659
4 févr. 2005 à 16:29
Hello !

On peut créer un générateur de nombres pseudo-aléatoires avec un peu d'imagination.

Par exemple pour générer 30 nombres entre 0 et 99, on peut faire (en Python):
a = 0
for i in range(30):
    a = (a*7531 + 13) % 100
    print a


A chaque fois, je multiplie par 7531, j'ajoute 13 et je récupère le reste de la division entière (%, opération de modulo).

C'est simple, et ça marche !:
13
16
9
92
65
28
81
24
57
80
93
96
89
72
45
8
61
4
37
60
73
76
69
52
25
88
41
84
17
40
0
slt à tous, cool

ce topic tombes à point et j'aurais besoin de vos lumiére, justement moi je joues à jeux vidéo ou tu peu crée des objets qui ont un dés variable, dites caractéristque qu'on nomme intelligence , sagesse, chance etc...

ex: un objet peu avoir comme base aléatoire

11 à 15 en intel
11 à 15 en chance

Pour crée cette objet, on apportes des ressources bois et minerais et des pierres précieuses "surtout" dans un atélier, l'artisant mets la recette et "combine" le tous pour crée cette objet
dans le jeux il y as enormement d'objet et dernierement un joueur ces plaint d'avoir crée quattre fois l'objets à suivre avec le même nombre en force, coups critiques, et augmentation de dommage sur cette objet, est ce possible?

21 à 40 en force
3 à 5 aux coups critiques
5 à 6% (augmentes les dommages)
51 à 100 iniatiative
0
Bonjour, comment on peut inclure la formule de sebsauvage dans Excel s'il vous plait?
(30 nombres aléatoires compris entre 0 et 99 ou 10 et 50...)

a = 0
for i in range(30):
    a = (a*7531 + 13) % 100
    print a


Merci :-)
0
steelspirit Messages postés 277 Date d'inscription lundi 12 mai 2003 Statut Membre Dernière intervention 22 octobre 2008 80
22 déc. 2004 à 16:06
bon à savoir ça !
ça vaut le coup de faire des tests comparatifs !

merci seb pour toutes ces infos !

- T'as pas vu Chloraine ?
- C'est qui Chloraine ? - Ah ! Ah ! Ah !
-1