De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Eindpresentatie Modelleren C Random Seeds Sanne Ernst Jarno van Roosmalen.

Verwante presentaties


Presentatie over: "Eindpresentatie Modelleren C Random Seeds Sanne Ernst Jarno van Roosmalen."— Transcript van de presentatie:

1 Eindpresentatie Modelleren C Random Seeds Sanne Ernst Jarno van Roosmalen

2 Inhoud Inleiding Probleem Generatoren Statistische Tests Resultaten Conclusie

3 Random Willekeurig Onvoorspelbaar Statistisch random Kolmogorov-Random / Algorithmisch Random (onbruikbaar) Entropie

4 Probleem Random getallen nodig voor simulaties, encryptie, enz. Vaak gebruik (Pseudo)Random Generator Generator heeft goede seed(s) nodig

5 Eisen aan Seeds Uniform verdeeld Onafhankelijkheid Onvoorspelbaar (probleem): Als je het algoritme kent en de eerste n gegenereerde seeds moet de kans om goed te voorspellen wat de volgende seed zal zijn niet groter zijn dan bij willekeurig gokken Conclusie: Niet deterministisch algoritme nodig

6 Methoden om Seeds te genereren Bronnen die gebruikt worden om goede random seeds te maken Statische atmosferische ruis Geluid Aantal/duur toetsaanslagen en/of muisklikken Radioactief verval van elementen Andere (onvoorspelbare) fysische verschijnselen

7 Methoden om Seeds te genereren Bronnen in een gewone PC waaruit we goede random seeds willen genereren Tijd die nodig is voor een bepaalde berekening Systeemtijd Tijd die het kost om bepaalde data te lezen/schrijven van de harde schijf (fysisch random proces) Temperatuur CPU Enz. Of combinaties hiervan

8 Generatoren Tweetal zelf bedacht Generator 1 (weg schrijven naar hard disk) Generator 2 (berekening met systeemtijd) Twee referenties Generator 3 (Systeem tijd) Generator 4 (Java built-in)

9 Generator 1 Gebaseerd op het meten van de tijd die het kost om een bestand van 1 MB naar de harde schijf te schrijven. Tijd in nanoseconden modulo 256 Geïmplementeerd in JAVA

10 Generator 2 Gebaseerd op een lange berekening. Invoer is de systeemtijd en vrije geheugen van JAVA. Gebruikt ook tijd die nodig is voor berekening Resultaat ook weer modulo 256 Geïmplementeerd in JAVA

11 Generator 3 Simpel als referentie Systeemtijd (in ns) modulo 256 Monotoon stijgende rij (uniform, sterk afhankelijk) Generator 4 Ook als referentie Seeds generatie methode van de Secure random generator van JAVA

12 Statistische Testen Uniformiteit: Kolmogorov-Smirnov test χ2-test Onafhankelijkheid Correlatie test Serial test

13 Nulhypothese We laten een generator n getallen genereren: H 0 : De getallenhebben een uniforme verdeling en zijn onafhankelijk van elkaar

14 Kolmogorov-Smirnov test Verschil van de empirische verdelingsfunctie met de hypothetische verdelingsfunctie met. H 0 verwerpen als D n > d n,1-  waarbij d n,1-  het 1-  kwantiel is van de Kolmogorov-Smirnov verdeling.

15 χ 2 -test Hoe de getallen verdeeld zijn. Verdeelt het interval [a 0,a k ), waarin de getallen zitten, op in k intervallen [a 0,a 1 ), [a 1,a 2 ),..., [a k-1,a k ). N j : aantal getallen in interval [a j-1,a j ) n/k : verwachte aantal getallen in elk interval H 0 verwerpen als χ 2 > χ k-1,1-  waarin χ k-1,1-  het 1-  kwantiel is van de χ 2 - verdeling met k-1 vrijheidsgraden.

16 Correlatie test Test onafhankelijkheid van 2 opeenvolgende getallen. Met en het gemiddelde. H 0 verwerpen als te groot is.

17 Serial test Twee-dimensionale versie van de χ 2 -test. Verdeelt de getallen in paren We verdelen nu het vierkant in k=m 2 vierkantjes op. We tellen het aantal getallen dat in een vierkant voorkomt en vergelijken dat met het aantal dat we er verwachten. Net zoals bij de χ 2 -test.

18 Generator 1 getest Resultaten Schrijven 1 MB TestKRij1Rij2Rij3Rij4rij5 KSGOED Chi GOED CorrelatieGOED Serial GOED

19 Generator 1 getest Resultaten Schrijven 2 MB TestKRij1Rij2Rij3Rij4rij5 KSGOED Chi GOED FOUT GOED CorrelatieGOED Serial GOED

20 Generator 2 getest TestKRij1Rij2Rij3Rij4rij5 KSGOED Chi GOED FOUT GOED FOUT GOED CorrelatieGOED Serial GOED FOUT GOED

21 Generator 3 getest TestKRij1Rij2Rij3Rij4rij5 KSGOED Chi GOED CorrelatieFOUT Serial FOUT

22 Generator 4 getest TestKRij1Rij2Rij3Rij4rij5 KSGOED Chi GOED FOUT GOED CorrelatieGOEDFOUTGOED Serial GOED FOUT GOED

23 Conclusie Generator 1 is goed. (beter dan java) Generator 2 is niet goed genoeg Generator 3 is uniform & afhankelijk Generator 4 is redelijk Generator 1 is best goed bruikbaar Wel langzaam

24 Vragen???


Download ppt "Eindpresentatie Modelleren C Random Seeds Sanne Ernst Jarno van Roosmalen."

Verwante presentaties


Ads door Google