En électronique, pour faire un générateur pseudo-aléatoire, on utilise un registre à décalage. Si tu as un registre de n bits, alors tu balayes les 2^n - 1 (pas le zéro) valeurs possibles d'une façon qui semble aléatoire. Une fois que tu as passé toutes les valeurs possibles, alors tu repars sur la même séquence. Tu as donc du pseudo-aléatoire reproductible, et si n est suffisamment grand, tu n'auras jamais deux fois la même valeur. Ça se simule avec un simple polynôme en base 2 (par contre il doit répondre à certains critères, on ne peut pas prendre n'importe quel polynôme). http://fr.wikipedia.org/wiki/Registre_%C3%A0_d%C3%A9calage#Registre_.C3.A0_d.C3.A9calage_avec_r.C3.A9troaction_lin.C3.A9aire
# Registre à décalage
Posté par teoB . En réponse au message Générer un nombre pseudo aléatoire avec garantie d'unicité. Évalué à 2.
En électronique, pour faire un générateur pseudo-aléatoire, on utilise un registre à décalage. Si tu as un registre de n bits, alors tu balayes les 2^n - 1 (pas le zéro) valeurs possibles d'une façon qui semble aléatoire. Une fois que tu as passé toutes les valeurs possibles, alors tu repars sur la même séquence. Tu as donc du pseudo-aléatoire reproductible, et si n est suffisamment grand, tu n'auras jamais deux fois la même valeur. Ça se simule avec un simple polynôme en base 2 (par contre il doit répondre à certains critères, on ne peut pas prendre n'importe quel polynôme).
http://fr.wikipedia.org/wiki/Registre_%C3%A0_d%C3%A9calage#Registre_.C3.A0_d.C3.A9calage_avec_r.C3.A9troaction_lin.C3.A9aire