Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è...
Transcript of Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è...
![Page 1: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/1.jpg)
Generatori di numeri casuali
Alberto Lusoliwww.cash-cow.it
Distribuito sotto licenza Creative Common Share Alike Attribution
Statistica computazionale
![Page 2: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/2.jpg)
“La generazione dei numeri casuali ètroppo importante per essere lasciata alcaso”
Robert R. Coveyou
![Page 3: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/3.jpg)
Concetti fondamentali
I campi di studio della probabilità e dellastatistica si fondano sul concetto dispazio delle probabilità e variabilecasuale.Quando questi concetti vengonoimplementati in elaboratori nasce ilproblema di simulare variabili casualimediante algoritmi deterministici.
![Page 4: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/4.jpg)
Definizione intuitiva
Un algoritmo RNG (Random NumberGenerator) è un software il cui output èdifficilmente distinguibile dalcomportamento di una variabile"veramente casuale".
![Page 5: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/5.jpg)
Definizione intuitiva
Ovvero, osservando una serie di outputforniti dall'algoritmo non si dovrebberoavere informazioni circa il successivovalore generato.
![Page 6: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/6.jpg)
Quando si utilizzano numerirandom?
Nei linguaggi di programmazione sonopresenti funzioni per la generazione di numericasuali. Tra quelli che abbiamo affrontato inaltri corsi citiamo:
Matlabrand
ANSI Crand()
![Page 7: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/7.jpg)
Processi fisici
Variabili casuali possono scaturireanche dall’osservazione di processifisici come il tempo di decadimentoatomico o l'analisi del thermal noise(disturbo termico) nei semiconduttori.
![Page 8: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/8.jpg)
Processi fisici
I RNG basati su processi fisici hannomolti svantaggi rispetto alla lorocontroparte software: sono difficili darealizzare, sono costosi, lenti e nonsono in grado di riprodurre la stessasequenza di output a partire dalmedesimo stato iniziale.
![Page 9: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/9.jpg)
Processi fisici
Questi metodi sono spesso utilizzatiinsieme a algoritmi RNG per laselezione del seme iniziale (vedi dopo).Rappresentano infatti una fonte dientropia esterna utile per certeapplicazioni dove è frequente ilreseeding, ovvero la reinizializzazionedella sequenza di output (criptologia emacchine da gioco).
![Page 10: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/10.jpg)
Algoritmi RNG e numeripseudo casuali
Centro della nostra analisi sono i software per lagenerazione di numeri casuali (abbreviati in RNG)Si tratta di algoritmi deterministici in grado digenerare un output avente le stesse proprietàstatistiche di una sequenza di numeri generata daun processo casuale.
![Page 11: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/11.jpg)
Numeri Pseudo casuali
L’output fornito, come accennato inprecedenza, imita ma non èpropriamente una variabile casuale. Perquesto motivo è più corretto parlare dinumeri pseudo-casuali (PRNG,dall'inglese pseudo-random numbersgenerator).
![Page 12: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/12.jpg)
Caratteristiche dei numeripseudo-casuali
Una sequenza di numeri pseudo-casuali deve soddisfare, al minimo, leseguenti proprietà statistiche:
• Distribuzione• Indipendenza
![Page 13: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/13.jpg)
Distribuzione
Distribuzione degli output secondo unafunzione di distribuzione predefinita f(x):di solito si richiede una distribuzioneuniforme su un intervallo specificato(equidistribuzione)
![Page 14: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/14.jpg)
Indipendenza
Indipendenza tra elementi successividella sequenza, ovvero tra 2 outputsuccessivi
![Page 15: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/15.jpg)
Esempio
La sequenza1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Non si può definire pseudo-casualeE’ certamente equidistribuita sull'intervallo[1,10], ma le coppie di elementi successivinon sono uniformemente distribuitesull'insieme di tutte le possibili coppie dinumeri da 1 a 10, ma sono tutte della forma(n,n+1). Non è quindi soddisfatto il criterio diindipendenza
![Page 16: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/16.jpg)
Provare la casualità
Il problema principale dei RNG è chel'output fornito non è propriamente unavariabile casuale ma unaapprossimazione di una variabilecasuale con distribuzione uniforme edindipendente
![Page 17: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/17.jpg)
Provare la casualità
Se l’output è, come avviene spesso,una sequenza di bit con valori 0 o 1,ogni bit deve assumere con ugualeprobabilità 0 o 1 e tutti i bit devonoessere tra di loro indipendenti.
![Page 18: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/18.jpg)
Provare la casualità
Questo comportamento desiderato nonpuò essere provato a ex-ante ma deveessere testato ex-post mediante teststatistici che provino che la variabile inosservazione abbia realmente ilcomportamento casuale desiderato.
![Page 19: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/19.jpg)
RNG in formula
Indipendentemente dal funzionamentoparticolare di ciascun algoritmo, tutti gliRNG possono essere descritti comecomposti da:
!
(",µ, f ,U,g)
![Page 20: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/20.jpg)
RNG in formula
!
" :
!
U :
!
g :
!
µ :
!
f :
Insieme finito di stati (spazio degli stati)
Distribuzione di probabilità utilizzata per selezionaredall’insieme lo stato iniziale (detto Seme)
Funzione di transizione che, partendo da determina . In formula:
Spazio degli output, solitamente comprende i valoritra 0 e 1Funzione di output. Dato uno stato
Gli output sono i Numeri casuali prodotti dal RNG
!
"
!
s0
!
si
!
si+1
!
si+1 = f (si)
!
si
!
ui = g(si)"U
!
u0,u1,u2...
![Page 21: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/21.jpg)
Periodo massimo di un RNG
Dato che l’insieme degli stati è finito,per qualsiasi seme (stato iniziale)esisterà un valore tale per cui
!
"
!
s1
!
l
!
si+ l = s
i
![Page 22: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/22.jpg)
Periodo massimo di un RNG
Dato che le funzioni di transizione e dioutput e sono deterministiche,allora anche per l’output vale la formula:
!
ui+ l = u
i!
f
!
g
![Page 23: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/23.jpg)
…a parole
Significa che, partendo da un qualsiasi statoiniziale, dopo un certo numero di iterazioni, ilsistema torna allo stato iniziale, ovvero alseme.Quindi, tutti gli algoritmi RNG generanosequenze finite di numeri casuali e dopo unnumero di iterazioni tornano allo statoiniziale.
!
l
!
l
![Page 24: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/24.jpg)
Proprietà del periodo
Il valore di l più piccolo per cui èavviene il ritorno allo stato iniziale èchiamato periodo del RNG ed èindicato con . è minore o uguale a , ovveroall'insieme finito di stati (spazio deglistati).!
"
!
"
!
"
![Page 25: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/25.jpg)
Proprietà del periodo
Se gli stati sono rappresentati in un computerda una stringa di k bit, allora:
Buoni RNG hanno valore di tendente a . dipende anche dal seme.RNG efficienti hanno uguale per tutti ipossibili stati iniziali.!
" # 2k
!
"
!
"
!
"
!
"
![Page 26: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/26.jpg)
Altre caratteristiche dei RNG
Criteri di qualità utilizzati per valutare laqualità di un RNG sono:
• Lunghezza del periodo: periodi lunghi, prossimi a , assicurano che il sistema non entri in cicli prevedibili.
!
"
![Page 27: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/27.jpg)
Altre caratteristiche dei RNG
• Efficienza: buoni RNG devono utilizzare unaquantità ridotta di risorse (memoria)
• Ripetibilità: partendo dallo stesso seme,devono essere in grado di riprodurre la stessasequenza di numeri casuali
• Portabilità: devono essere indipendenti dalcontesto hardware software
![Page 28: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/28.jpg)
Alcuni esempi di RNG
Analizziamo ora 2 famiglie di RNG, trale più utilizzate.
• Generatori lineari congruenziali• Mersenne Twister
![Page 29: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/29.jpg)
Generatori lineari congruenziali
I generatori di numeri casuali di tipolineare congruenziale sono tra i piùsemplici e più diffusi.La formula base per questa famiglia diRNG è del tipo:
!
si+1 = a " s
i+ c(modm)
![Page 30: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/30.jpg)
…nel dettaglio
!
si+1
!
m
!
a
!
c
: stato al tempo
!
i+1
!
si
: stato al tempo
!
i
: parametro Moltiplicatore
: parametro Incremento. Se , allora l’RNG è detto Moltiplicativo
!
c = 0
: numero di stati possibili
!
si+1 = a " s
i+ c(modm)
![Page 31: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/31.jpg)
Esempio
Poniamo i valori dei parametri pari a:
!
a = 3
!
c = 6
!
m = 5
!
s0
=1
!
"
!
!
si+1 = 3 " s
i+ 6(mod5)
![Page 32: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/32.jpg)
Esempio
!
s0
=1
![Page 33: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/33.jpg)
Esempio
!
s1 = 3 "1+ 6(mod5) = 4
!
s0
=1
![Page 34: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/34.jpg)
Esempio
!
s1 = 3 "1+ 6(mod5) = 4
!
s0
=1
!
s2 = 3 " 4 + 6(mod5) = 3
![Page 35: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/35.jpg)
Esempio
!
s1 = 3 "1+ 6(mod5) = 4
!
s0
=1
!
s2 = 3 " 4 + 6(mod5) = 3
!
s3 = 3 " 3+ 6(mod5) = 0
![Page 36: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/36.jpg)
Esempio
!
s1 = 3 "1+ 6(mod5) = 4
!
s0
=1
!
s2 = 3 " 4 + 6(mod5) = 3
!
s3 = 3 " 3+ 6(mod5) = 0
!
s4 = 3 " 0 + 6(mod5) =1
![Page 37: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/37.jpg)
Esempio
!
s1 = 3 "1+ 6(mod5) = 4
!
s0
=1
!
s2 = 3 " 4 + 6(mod5) = 3
!
s3 = 3 " 3+ 6(mod5) = 0
!
s4 = 3 " 0 + 6(mod5) =1
!
s5 = 3 "1+ 6(mod5) = 4
![Page 38: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/38.jpg)
Esempio
!
s1 = 3 "1+ 6(mod5) = 4
!
s0
=1
!
s2 = 3 " 4 + 6(mod5) = 3
!
s3 = 3 " 3+ 6(mod5) = 0
!
s4 = 3 " 0 + 6(mod5) =1
!
s5 = 3 "1+ 6(mod5) = 4
Periodo di lunghezza 4
!
4 < 5
" < m
" < #
in simboli:
riprendendo la formula generale:
![Page 39: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/39.jpg)
Pro e contro dei RNG linearicongruenziali
Pro• Semplici da implementare• Velocità di esecuzione
Contro• Sequenza periodica di periodo al più pari a m• Ogni valore di è completamente
determinato dai 4 parametri• Correlazione tra chiamate successive del
generatore!
"
!
a,c,m,s0
![Page 40: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/40.jpg)
Cosa si intende per correlazione?
Se k numeri consecutivi della sequenzavengono utilizzati come coordinate di punti inuno spazio k-dimensionale, se i numerifossero assolutamente non-correlati, i puntitenderebbero a coprire tutto lo spazio.In realtà i punti vanno a cadere in “piani” (k-1)dimensionali, il cui numero è al massimo:
!
m
1
k
![Page 41: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/41.jpg)
Correlazione
Consideriamo ad esempio k=2. Utilizziamoogni coppia di numeri pseudo-casualigenerati da un RNG come coordinate di puntiall’interno di un piano cartesiano.Un buon RNG dovrebbe dar luogo ad ungrafico dove i punti sono dispostiuniformemente nello spazio (figura di sinistra)
![Page 42: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/42.jpg)
Correlazione
![Page 43: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/43.jpg)
Mersenne Twister
RNG in grado di generare numeri casuali diqualità elevata ed in tempi ridotti.
Sviluppato nel 1997 da Makoto Matsumoto eTakuji Nishimura.
![Page 44: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/44.jpg)
Mersenne Twister
Tra i vantaggi di questo RNG vi sono:
• Periodo lungo: pari a• Correlazione: Correlazione trascurabile tra
valori successivi della sequenza• Velocità: La velocità di generazione è
paragonabile a quella della funzione Rand()dell’ ANSI C
• Efficienza: Utilizzo delle risorse ridotto
!
219937
![Page 45: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/45.jpg)
Valutare la qualità di un RNG
Come accennato in precedenza, pervalutare la qualità di un RNG ènecessario studiare le proprietàstatistiche delle sequenze generate.
![Page 46: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/46.jpg)
Test di uniformità o del
Test in grado di valutare l’uniformitàdella distribuzione di una sequenza divariabile discrete.
!
" 2
![Page 47: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/47.jpg)
Test di uniformità o del
!
" 2
!
k : numero di eventi possibili
!
E1,E
2,...,E
k : evento 1, evento 2, …, evento k
!
p1, p
2,..., pk : probabilità evento 1, probabilità evento 2, …,
probabilità evento k
!
n : numero di esperimenti
!
y1,y
2,...,yk : numero di volte che si realizza l’evento 1,
numero di volte che si realizza l’evento 2, , …, numero di volte che si realizza l’evento k
![Page 48: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/48.jpg)
Test di uniformità o del
!
" 2
Quindi, la sommatoria di tutti gli eventi che si realizzano sarà pari al numero di esperimenti:
!
yi = ni=1
k
"
Introduciamo la variabile V, definita come:
!
V =i=1
k
"(yi # npi)
2
npi
![Page 49: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/49.jpg)
Per verificare l’uniformità di un generatore nelfornire numeri random distribuitiuniformemente in [0,1]:
• Tra 0 e 1, si creano k-sottointervalli diampiezza
• Si genera un gran numero di istanze dellav.a. uniforme e si conta per ogni intervallo ilnumero di istanze che sono caduteall’interno dell’intervallo
Test di uniformità o del
!
" 2
!
yi!
1k
![Page 50: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/50.jpg)
Poichè il generatore è uniforme si ha
!
pi = 1k
![Page 51: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/51.jpg)
Si calcola qundi il valore di V utilizzando laformula descritta in precedenza:
Se il generatore è efficace, la variabile V risulta avere distribuzione con
gradi di libertà.
!
" 2
!
k "1
Test di uniformità o del
!
" 2
!
V =i=1
k
"(yi # npi)
2
npi
![Page 52: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/52.jpg)
Test di uniformità o del
!
" 2
Il test è superato se, fissato un certo valore critico
V non risulta maggiore a tale valoreSolitamente si pone
!
"1#$
2
!
" = 0.05
![Page 53: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/53.jpg)
![Page 54: Statistica computazionale - cash-cow.it · entropia esterna utile per certe applicazioni dove è frequente il reseeding, ovvero la reinizializzazione della sequenza di output (criptologia](https://reader031.fdocuments.net/reader031/viewer/2022031414/5c67075109d3f230488d1486/html5/thumbnails/54.jpg)
Riferimenti web e bibliografia
• Computational statistic• Marsenne Twister Home page
http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html
• http://www.cs.unibo.it/~donat/random1.pdf