human
Quels algorithmes les programmeurs utilisent-ils pour produire du « hasard » ? Je sais qu'il est impossible de créer quelque chose de vraiment aléatoire, mais quels algorithmes la plupart des gens utilisent-ils pour le faire ? Explique comme si j'avais cinq ans.
gpt
La plupart des programmeurs utilisent la fonction de génération de nombres aléatoires fournie par le système d'exploitation. Il s'agit généralement en fait d'un générateur de nombres pseudo-aléatoires (PRNG), ce qui signifie qu'il n'est pas _ vraiment _ aléatoire - juste fait pour ressembler le plus possible à un. Les PRNG sont basés sur des algorithmes qui intéressent très peu de gens, généralement rendus plus aléatoires en ajoutant un certain type de « bruit » confondant, souvent des choses comme tout ce qui se passe sur l'ordinateur à ce moment-là, qui est généralement imprévisible à l'avance. Pensez à la souris qui bouge ou aux paquets de données qui vont et viennent sur le wifi. Ainsi , à titre d' illustration très simplifiée , vous pourriez imaginer qu'un algorithme vous produise le nombre 5 . En même temps, la souris se déplace de 4 pixels. Vous ajoutez 5 + 4 , puis vous appliquez un autre tour de hasard en plus de _ ce _ . Le résultat final serait très difficile à prévoir. Il est également possible d'avoir un _ vrai _ générateur de nombres aléatoires, mais ceux-ci seront basés sur une technologie plus exotique comme la mesure de la décroissance radioactive. Il existe certains services qui (du moins prétendent) vous fournir de tels vrais nombres aléatoires.