De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Eindpresentatie Modelleren C Random Seeds

Verwante presentaties


Presentatie over: "Eindpresentatie Modelleren C Random Seeds"— 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 Generator 4 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:
H0: De getallen hebben een uniforme verdeling en zijn onafhankelijk van elkaar

14 Kolmogorov-Smirnov test
Verschil van de empirische verdelingsfunctie met de hypothetische verdelingsfunctie met . H0 verwerpen als Dn>dn,1- waarbij dn,1- het 1- kwantiel is van de Kolmogorov-Smirnov verdeling.

15 χ2-test Hoe de getallen verdeeld zijn.
Verdeelt het interval [a0,ak), waarin de getallen zitten, op in k intervallen [a0,a1), [a1,a2),..., [ak-1,ak). Nj : aantal getallen in interval [aj-1,aj) n/k : verwachte aantal getallen in elk interval H0 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. H0 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=m2 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 Test K Rij1 Rij2 Rij3
KS GOED Chi2 64 128 256 Correlatie Serial 144

19 Generator 1 getest Resultaten Schrijven 2 MB Test K Rij1 Rij2 Rij3
KS GOED Chi2 64 128 256 FOUT Correlatie Serial 144

20 Generator 2 getest Test K Rij1 Rij2 Rij3 Rij4 rij5 KS GOED Chi2 64 128
256 FOUT Correlatie Serial 144

21 Generator 3 getest Test K Rij1 Rij2 Rij3 Rij4 rij5 KS GOED Chi2 64 128
256 Correlatie FOUT Serial 144

22 Generator 4 getest Test K Rij1 Rij2 Rij3 Rij4 rij5 KS GOED Chi2 64 128
256 FOUT Correlatie Serial 144

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"

Verwante presentaties


Ads door Google