Page 1 of 1

Les fonctions aléatoires. . .

Unread postPosted: 10 May 2010, 21:00
by Loulou 54
Je me demandais depuis un bout de temps, comment une machine (calculette, ordi, ...) pouvait générer un nombre aléatoire ??
Quelle est l'expérience aléatoire qui a lieu ? Sachant que dans l'informatique tout est précis, tout n'est que cause et effets, pas de place pour le hasard !
:#gni#:

Re: Les fonctions aléatoires. . .

Unread postPosted: 10 May 2010, 21:09
by Ciwtron
Loulou 54 wrote:Pas de place pour le hasard !
:#gni#:

Tu as raison, c'est basé sur un algorithme un peu compliqué. De plus, cet algo se base très souvent sur l'horloge de ton PC (car la date d'ouverture du programme est vraiment aléatoire).

Re: Les fonctions aléatoires. . .

Unread postPosted: 10 May 2010, 21:25
by critor
Ciwtron wrote:
Loulou 54 wrote:Pas de place pour le hasard !
:#gni#:

Tu as raison, c'est basé sur un algorithme un peu compliqué. De plus, cet algo se base très souvent sur l'horloge de ton PC (car la date d'ouverture du programme est vraiment aléatoire).



Waouh, tu sembles bien connaître l'algorithme...

Et sur calculette alors? Tu la trouves où, l'horloge sur les TI-73/76.fr/80/81/82/82Stats/82Stats.fr/83+/83+.fr/83+SE/85/86 ?

Pourtant, elles font du hasard quand même...

Re: Les fonctions aléatoires. . .

Unread postPosted: 10 May 2010, 21:32
by tama
Hm, c'est pour ça que ce n'est pas de l'aléatoire, mais du pseudo-aléatoire, des nombres générés à partir d'une graine (seed).
Mais c'est vrai que sur PC, la graine est crée à partir de l'heure (en C par exemple, srand(time(NULL)) peut être utilisé pour générer une graine aléatoire) ...
En fait c'est un sujet intéressant, effectivement comment générer des nombres aléatoires si la machine n'est que capable de faire des calculs précis ... je t'invite à rechercher sur Google, il y a pas mal d'articles intéressants à ce sujet.

Re: Les fonctions aléatoires. . .

Unread postPosted: 10 May 2010, 22:27
by critor
tama wrote:Hm, c'est pour ça que ce n'est pas de l'aléatoire, mais du pseudo-aléatoire, des nombres générés à partir d'une graine (seed).



Justement, si on reset deux TI-z80, le 1er nombre aléatoire généré est identique.


Mais... ça change grand chose?
Que la graine soit calculée à partir de l'heure (en C) ou à partir d'autre chose (état de la calculatrice), le principe de l'algorithme reste le même...

Je saisis mal ta distinction entre aléatoire et pseudo-aléatoire.

Re: Les fonctions aléatoires. . .

Unread postPosted: 10 May 2010, 22:45
by Bisam
Je pense qu'il voulait insister sur le fait que la graine peut être statique et du coup générer toujours les mêmes nombres dans le même ordre ou bien être créée à chaque appel de la fonction à partir d'un état supposé aléatoire (date de l'appel, derniers mouvements de la souris, dernières touches utilisées, etc...)

Re: Les fonctions aléatoires. . .

Unread postPosted: 10 May 2010, 23:50
by Marco
critor2000 wrote:Je saisis mal ta distinction entre aléatoire et pseudo-aléatoire.

La qualité du nombre n'est pas la même. Il doit y avoir des domaines où on a besoin de vrais nombres aléatoires, c'est pour ça qu'on a créé de quoi créer de vrais nombres aléatoires (j'ai lu ça y'a pas longtemps je sais plus où, c'est presque tout neuf) à partir d'un phénomène physique sur les électrons. Le principe étant compliqué, les nombres générés sont beaucoup plus petits que ceux d'un générateur de nombres pseudo-aléatoires.

Re: Les fonctions aléatoires. . .

Unread postPosted: 11 May 2010, 06:59
by jacques
Je vous conseille de lire ce tuto sur les fonctions aléatoires : http://www.siteduzero.com/tutoriel-3-82876-fabriquez-votre-propre-fonction-rand.html. :):

Re: Les fonctions aléatoires. . .

Unread postPosted: 11 May 2010, 15:24
by tama
critor>c'est pour ça qu'on parle de pseudo-aléatoire, ce n'est pas tout à fait de l'aléatoire, d'ailleurs il me semble que les séquences générées ne sont pas infinies et qu'avec un peu (beaucoup) de patience on finirait par retomber sur les mêmes nombres à partir de la même graine. En revanche, ce qu'on fait dans la vie réelle (lancer un dé, une pièce ...) c'est bien de l'aléatoire "pur"

Re: Les fonctions aléatoires. . .

Unread postPosted: 11 May 2010, 18:31
by Loulou 54
Merci pour ces réponses ! :#top#: C'est intéressant... Je vais demander à mon prof d'élec demain si j'y pense. Même si ça m'étonnerais qu'il me donne une réponse claire.. :#roll#: