Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdCamiel Kuiper Laatst gewijzigd meer dan 10 jaar geleden
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???
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.