Question

a) Dans ce cas, le générateur de nombres aléatoires utilise-t-il l'horloge du système (effectuant le changement de graine) à chaque exécution?

b) La graine est-elle utilisée pour générer les valeurs pseudo-aléatoires de expovariate (lambda)?

Était-ce utile?

La solution

"Utilisez la source, Luke!" ... ;-). Étude de https://svn.python.org/projects/python/trunk /Lib/random.py va rapidement vous rassurer; -).

Que se passe-t-il lorsque la graine n'est pas définie (c'est le cas "i is None"):

if a is None:
    try:
        a = long(_hexlify(_urandom(16)), 16)
    except NotImplementedError:
        import time
        a = long(time.time() * 256) # use fractional seconds

et l'expovarié:

random = self.random
u = random()
while u <= 1e-7:
    u = random()
return -_log(u)/lambd

utilise évidemment le même générateur aléatoire sous-jacent que toutes les autres méthodes, et est donc affecté de manière identique par l'ensemencement ou son absence (en réalité, comment aurait-il été fait autrement? -)

Autres conseils

a) Il utilise généralement l'horloge système. Sur certains systèmes, celle-ci peut n'être que de précision ms. Par conséquent, le double déclenchement très rapide peut donner la même valeur.

  

graine (soi, a = Aucun)       Initialise l’état interne de l’objet hashable.

None or no argument seeds from current time or from an operating
system specific randomness source if available.
     

http://pydoc.org/2.5.1/random.html# Graine aléatoire

b) J'imagine que l'expovarié le fait, mais je ne trouve aucune preuve. Ce serait idiot si ce n’était pas le cas.

  

l'heure système actuelle est utilisée; l'heure système actuelle est également utilisée pour initialiser le générateur lors de la première importation du module. Si des sources aléatoires sont fournies par le système d'exploitation, elles sont utilisées à la place de l'heure système (voir la fonction os.urandom () pour plus de détails sur la disponibilité).

Documents aléatoires

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top