Comment créer une fonction random?

HolyKarino Messages postés 23 Date d'inscription   Statut Membre Dernière intervention   -  
 hainlesgens -
Bonjour
il y a une question qui me tracasse depuis assez longtemps,
il y a dans quasiment tout les langages de programmation une fonction random (hasard).
J'aimerais savoir comment elle fonctionne.
On a l'habitude en science que les mêmes causes induisent les mêmes conséquence. Théoriquement, l'informatique n'échappe pas à la règles. Alors comment est-il possible de créer une fonction random avec des objets déterministe?
A voir également:

6 réponses

harry
 
Théoriquement le concept de random n'est même plus sûr de vraiment exister en VRAI :)

Par exemple on a crû pendant longtemps au travers de tests statistiques que les decimales du nombre pi étaient aléatoires (par définition IMPREVISIBLE) il se trouve qu'un mathématicien a découvert la formule DETERMINISTE pour les calculer ce qui fait que l'aléatoire est en fait une vue de l'esprit : en vrai c'est un processus déterministe mais ça a l'apparence du CHAOS (ce qui fait le lien avec la THEORIE DU CHAOS).
4
blux Messages postés 27121 Date d'inscription   Statut Modérateur Dernière intervention   3 359
 
Salut,

en fait, comme tu l'indique si bien, les même causes produisent les mêmes effets.

Il suffit de disposer d'un algorithme (qui ne peut être que pseudo-aléatoire, de par la nature même d'un algorithme...).

Choisir le nombre de départ... ce qu'on appelle la graine (seed en anglais)... qui peut être le nombre de msec depuis l'allumage de l'ordinateur ou la msec de l'heure courante...

Tiens, un peu de lecture ici (assez complet) :

http://www.alrj.org/docs/algo/random.php
4
hainlesgens
 
wahou... sa part vachement philosophique d'un coup...
j'ai lu quelque par que pour faire une vrai fonction random, il ne fallait pas passer par une fonction random... :S

il fallait passer par un timer pour que le résultat soit totalement "aléatoire"

sinon la discussion parrait très intéréssente.
2
nico7382 Messages postés 279 Date d'inscription   Statut Membre Dernière intervention   50
 
Salut,
il me semble que les fonctions random s'appuyent en réalité sur le time de l'ordinateur, ainsi, grace au milisecondes décomptés, il est possible d'avoir une valeur aléatoire, ou presque
1

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

Posez votre question
HolyKarino Messages postés 23 Date d'inscription   Statut Membre Dernière intervention   7
 
je pensais aussi à un truc du genre. Quelqu'un peut-il confirmer?
1
HolyKarino Messages postés 23 Date d'inscription   Statut Membre Dernière intervention   7
 
Merci beaucoup Blux, ceci confirme ce que je pensait.

Il n'est pas possible de créer quelque chose de rigoureusement aléatoire avec des objets déterministes.

Pour faire quelque chose de réellement aléatoire, il faudrait se pencher sur quelque chose de non déterministe (désintégration du noyau d'un atome).

Merci encore
1
blux Messages postés 27121 Date d'inscription   Statut Modérateur Dernière intervention   3 359
 
C'est le filigrane du document : la physique quantique, le mouvement brownien, le trajet de l'eau dans une rivière avec des rochers, la trajectoire des gallinacées devant une voiture...

http://www.ac-nice.fr/physique/brownien/frbrownien.htm

Peut-être qu'il saura te dire quel est l'algo qu'il utilise ?
0