Mersenne Twister

Da Wikipedia, l'enciclopedia libera.

Mersenne Twister è un algoritmo per la generazione di numeri pseudocasuali sviluppato nel 1997 da Makoto Matsumoto (松本 眞) e Takuji Nishimura (西村 拓士).
È un algoritmo che genera un ottimo insieme di numeri pseudocasuali, 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.

Vantaggi[modifica | modifica sorgente]

L'MT 19937 ha i seguenti vantaggi:

  1. È stato progettato per avere un periodo a dir poco colossale: 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 che sono "buoni" per selezionare singoli numeri 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

Altri progetti[modifica | modifica sorgente]

Collegamenti esterni[modifica | modifica sorgente]