METODI CONGRUENZIALI

La simulazione seguente viene utilizzata per studiare il comportamento di alcuni generatori random.
I tipi di generatore che è possibile osservare sono i seguenti:

  1. Generatore uniforme nell'intervallo [0,1) delle librerie Java
  2. Generatore con metodo additivo
    ri+1=ri+ri-1(mod m)
  3. Generatore con metodo moltiplicativo
    ri+1=ari(mod m)
  4. Generatore con metodo misto
    ri+1=(ari+b)(mod m)
I numeri vengono generati, a seconda del tipo di generatore prescelto e dai parametri inseriti, a gruppi di tre ed associati ciascuno ad una delle tre coordinate polari di una sfera. In questo modo, ad ogni tre numeri corrisponde un punto nella sfera.
Per evidenziare eventuali correlazioni tra i numeri generati si osserva la prioiezione della sfera da tre angolazioni ortogonali tra loro: in questo modo, i punti ottenuti da generatori di "scarsa qualità" non riempiono in modo uniforme la sfera, ma si distribuiscono in zone limitate o danno luogo a delle figure ben precise.

La versione del browser che stai usando NON è Java compatibile.
L'applet non puo` quindi essere mostrato

Per evidenziare gli effetti descritti si possono provare i seguenti esempi.
Nel caso del metodo additivo, figure ricorrenti si ottengono per i valori:

ri=1
m=111
ri=1
m=222
ri=20
m=800

Se si usa il generatore che sfrutta il metodo moltiplicativo, allora si potranno vedere delle figure ben definite per i valori:

ri=1
m=3435973837
a=131075
ri=1
m=22229999
a=3

Quelli appena elencati sono solamente alcuni esempi che mostrano, come per determinati valori dei parametri, i generatori in questione siano di scarsa qualità. Essi, infatti, presentano delle correlazioni evidenti tra i numeri generati: correlazioni che vengono messe in evidenza dalle figure ben delineate che si formano sulle tre proiezioni della sfera.
Un criterio per la scelta dei parametri al fine di ottenere buone sequenze è, ad esempio, il seguente:
se la base dei numeri utilizzati è decimale, il periodo massimo per un generatore col metodo moltiplicativo si ottiene se:

r0 è dispari e non divisibile per 5
a=200qq'

dove q è un qualsiasi intero positivo e q' un numero preso da un ventaglio di possibili numeri primi compresi tra 3 e 197.


Metodi di generazione