2016-05-07 33 views

risposta

9

Lo stato del sottostante Mersenne Twister PRNG è molto grande, 624 interi a 32 bit, per la precisione. Se viene fornito un seme intero, la routine di inizializzazione eseguirà un PRNG più piccolo per espandere quel singolo intero a 32 bit allo stato completo di 624 elementi. Ciò significa che non è possibile accedere alla stragrande maggioranza dei possibili stati.

Analogamente, se viene fornita una sequenza di numeri interi come seme, un altro PRNG più piccolo lo utilizzerà per espandere a 624 elementi, ma uno che può utilizzare l'intero array per passarlo. Ciò ti consente di accedere all'intero spazio degli stati iniziali, se una cosa del genere ti interessa. Questo algoritmo è condiviso tra il modulo random della libreria standard e numpy.random.

+0

Quindi l'unica differenza tra il numero intero singolo e il parametro array_like è la dimensione dello spazio dello stato iniziale? Non fa differenza per la generazione di numeri casuali? – zbtong

+0

Esatto. L'algoritmo dopo l'inizializzazione è esattamente lo stesso. –

+0

Grazie mille! – zbtong