Mersenne Twister

Da Wikipedia, l'enciclopedia libera.
Jump to navigation Jump to search

Mersenne Twister è un algoritmo per la generazione di numeri pseudocasuali sviluppato nel 1997 da Makoto Matsumoto (松本 眞) e Takuji Nishimura (西村 拓士), supplendo a varie mancanze presenti negli altri algoritmi per generare numeri pseudocasuali oggi diffusi e usati (come il generatore LCG presente nel nucleo di base del C, la funzione rand()).

Ci sono almeno due varianti conosciute di queste algoritmo, che differiscono solo nel valore del numero primo di Mersenne usato. Il più nuovo ed usato è il Mersenne Twister MT 19937. Questo algoritmo è usato per generare numeri casuali su Microsoft Excel[1].

Vantaggi[modifica | modifica wikitesto]

L'MT 19937 ha i seguenti vantaggi:

  1. È stato progettato per avere un periodo di 219937 − 1 (i creatori di questo algoritmo hanno dimostrato questa proprietà). Questo periodo spiega l'origine del nome: è un Numero primo di Mersenne e alcune delle costanti dell'algoritmo sono anch'esse numeri primi di Mersenne.
  2. Permette di generare punti equidistribuiti in spazi fino a 623 dimensioni (molti altri generatori mostrano le loro mancanze utilizzando N valori consecutivi per selezionare un punto in uno spazio N-dimensionale).
  3. È più veloce della maggior parte degli altri algoritmi, compresi quelli notevolmente inferiori in quanto a qualità.
  4. Ha passato numerosi test statistici di casualità, tra cui il test Diehard

Note[modifica | modifica wikitesto]

  1. ^ (IT) CASUALE (funzione CASUALE). URL consultato il 14 luglio 2018.

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]