166.Se il |
Nella risposta 52 ho già parlato del metodo Monte Carlo e della generazione di numeri casuali. La funzione resto o funzione modulo è la più nota al fine di produrre tali numeri. In pratica si prende una doppia sequenza di numeri e li si divide l'uno per l'altro. I resti di tali divisioni non presentano alcuna regolarità, ed appaiono evidentemente casuali. Tramite la funzione modulo viene superata l'apparente contraddizione tra calcolo deterministico e produzione di valori casuali. Alla luce di accurate ricerche gli scienziati hanno trovato qualche difetto nella funzione modulo. Alcune sequenze di numeri ricorrono più spesso di altre, ci sono situazioni che si ripetono. In teoria nessuno può garantire l'assoluta casualità e gli esperti preferiscono chiamare i risultati della funzione resto: variabili pseudocasuali. Al fine di assicurare i
migliori risultati sono stati messi a punto
perfezionati algoritmi. Qui ricordiamo il metodo della congruenza
lineare, assunto dall'Algoritmo di Lehmer, il quale calcola la
seguente funzione: Il numero casuale X(n+1) è il resto del numero casuale n-simo con A e B divisi per C secondo la formula sopra riportata. Il parametro C chiamato seme
della serie pseudocasuale, ed i parametri A e B possono essere scelti a
piacere in linea di principio. Ma le ricerche hanno provato che si hanno esiti migliori e peggiori al
variare
di tali parametri, ed i migliori risultati si ottengono con i seguenti valori: Con queste indicazioni il lettore può programmare l'algoritmo di Lehmer ad esempio in Pascal e generare valori casuali.
anno 2008 |