English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
Toutes les catégories

Il y a des programmes pour fabriquer des cartes de recharge par exemple. Moi et mon ami avons fait une discution selon laquelle, ce programme n'exécute pas ce travail par hasard. Alors j'aimerais savoir si dans la programmation, le hasard peut vraiment exister. Je ne sais pas si vraiment je me fais comprendre; si une machine peut avoir le choix de faire une action imprévue par le programmeur ou la machine qui fabrique les tickets de loterie, ne fait-elle pas le choix des numéros d'elle même? Merci de vos éclaircissements.

2006-11-04 04:20:19 · 5 réponses · demandé par CAFE 2 dans Informatique et internet Programmation

5 réponses

Le hasard en programmation n'existe pas. Tous les algorithmes que j'ai vu censés générer des nombres au hasard sont le résultat d'une programmation donc d'une règle à suivre.

2006-11-04 04:25:02 · answer #1 · answered by Anonymous · 2 0

oui, ça existe, j'en ai écrit un.

c'est assez complexe à réaliser c'est pourquoi les jeux peuvent se contenter d'une séquence pseudo-aléatoire.

c'est une suite numérique classique. l'élément d'indice N est calculé à partir de la valeur de l'élément (N-1). la fonction de transformation est généralement un polynome binaire.

une conséquence de ce procédé est que la séquence doit être cyclique. mais bon, si on utilise un registre à décalage de 64 bits, la période sera de 18 milliards de milliards de combinaisons. bref en supposant qu'on devine l'algo utilisé, on saura par à quel cycle d'itération ils en sont...

pour du vrai aléatoire, il faut déja définir ce que c'est. disons que ça pourrait être un cousin de "intéterminé" au sens quantique. une notion qu'on retrouve dans tous les phénomènes microscopiques sujets au "chaos".

pour capter ça, j'utilise une carte son.

ben oui, réglée en enregistrement, sur une entrée micro où rien n'est branché, avec le volume à fond...

on capte quoi ? du bruit blanc ou souffle (le fameux chhhhhh des cassettes). d'où vient ce bruit ? de phénomènes microscopiques et chaotiques qui se produisent dans les semi-conducteurs de la carte son.

un simple fil de cuivre branché sur une pile produit également du bruit blanc. à l'école on apprend que les électrons libres des métaux permettent le passage d'un courant. mais ils ne sont pas si libres que ça. au moment précis ou l'on branche, il ne se passe rien. il faut attendre le temps de relaxation. pendant ce temps, le gradient de potentiel augmente et pousse les électrons de plus en plus fort. à quel moment un électron donné décide-t-il de "sauter" vers l'atome voisin ? lui seul le sait... ou plutôt, c'est indéterminé. comme pour la radio-activité, chaque électron choisis son instant. et comme il y en a qui peuvent sauter presque en même temps et d'autres pas, le courant instantané est chaotique et donne ce fameux "bruit de la mer".

bref, en enregistrant ce son à l'aide d'un programme adapté, il peux faire des choix vraiment aléatoires...

2006-11-04 18:20:43 · answer #2 · answered by Ramis V 7 · 2 0

En terme de programmation, on génère plus des nombres pseudo-aléatoires qu'aléatoires. Tout est determiné à l'avance, et par exemple la fonction rand() en C generera toujours là même liste de nombres "pseudo-aléatoire" si on ne l'initialise pas avec des nombres différent (on utilise en général l'heure pour cela).

Toutefois, j'ai entendu parlé de système qui générait des nombres vraiment aléatoire (soit disant, mais est-ce vrai ?) en se basant sur des phénomènes physiques (genre la remontée des bulles dans ces lampes "futuristes" un peu étranges).

2006-11-04 12:31:50 · answer #3 · answered by divers789 2 · 2 0

pour ce qui est de la loterie, le hasard est programmé, et encadré pour qu'il respecte certaines lois de distribution.donc rien à voir avec le hasard absolu.
on rentre après dans un débat philosophique..comment concevoir l'aléatoire absolu et donner à une machine sa propre capacité de réaction sans lui avoir "ordonné" de le faire ?

2006-11-04 12:30:57 · answer #4 · answered by le_voisin_d_en_face 4 · 1 0

Salut,
non le hasard n'est pas vraiment de mise en programmation. Il s'agit d'algorithmes qui, initialisés avec des variables très changeantes (en moyenne on prend la date machine, donc ca change toutes les millisecondes pour un résultat complétement différent) donnent un résultat déterminé par l'algorithme, mais qu'on considère assez aléatoire pour faire des jeux etc, etc...

2006-11-04 15:36:24 · answer #5 · answered by Soa-al-Suad 3 · 0 0

fedest.com, questions and answers