Community
Szene & News
Locations
Impressum
|
Forum / Bits und Bytes
Zufallsgenerator C++

KiLLa-T - 32
Champion
(offline)
Dabei seit 06.2007
4586
Beiträge
|
Geschrieben am: 10.06.2012 um 15:22 Uhr
Zuletzt editiert am: 10.06.2012 um 15:39 Uhr
|
|
Guten Tag,
ich habe aus langeweile mal probiert einen Zufallsgenerator zu schreiben. Ich bin kein Profi, dass was ich kann sind bisher if Bedingungen, Schleifen und Arrays ..
Ich will die Zahlen 1-32 auf vier Parts aufteilen.
z. B. Part 1: 2, 7, 9, 14, 15, 22, 29, 32
und die restlichen Parts enthalten dann die ÜBRIGEN Zahlen, also es kommen keine Zahlen doppelt vor.
Es funktioniert auch alles einwandfrei, jedoch möchte ich jetzt von euch wissen, wie "gut" das Ergebnis ist.
Dazu habe ich ein Programm geschrieben, das nach jeder Vergabe der Zahlen den Durchschnitt berechnet. Z. B. wäre das bei dem Beispiel oben:
(2+7+9+14+15+22+29+32)/8 = 16.25
So .. das habe ich in eine Schleife gepackt und dann für jeden Part 50.000 mal laufen lassen. Die errechneten Durchschnitte addiert und durch 50.000 geteilt, so dass ich eine gesamten Durchschnitt bekomme.
Die Ergebnisse:
Part1 / Part2 / Part3 / Part4
17,6710 | 12,1430 | 16,7531 | 19,3615
13,7755 | 18,3095 | 16,6470 | 17,2680
14,3745 | 19,5665 | 16,3165 | 15,7426
18,0250 | 14,8750 | 15,9750 | 17,1250
14,7227 | 15,5889 | 16,7052 | 18,9832
17,4058 | 19,1730 | 14,8612 | 14,5601
16,9427 | 16,4717 | 16,6864 | 15,8992
So .. und jetzt zur eigentlichen Frage, sind das gute Werte??
Ich habe z. B. mal so lange rechnen lassen, bis in Part 1 acht Werte unter 15 sind. Nach 6.000.000 hatte ich noch kein Ergebnis.
|
|
Der666Diablo
Champion
(offline)
Dabei seit 04.2006
23736
Beiträge
|
Geschrieben am: 10.06.2012 um 15:39 Uhr
Zuletzt editiert am: 10.06.2012 um 15:39 Uhr
|
|
lässt sich doch einfach überprüfen, auch c++ sollte eine rand() funktion haben, lass die 50.000 durchläufe da durchlaufen und vergleiche
Bei Geld, Sex und Kunst gibt es keinen abnehmenden Grenznutzen. http://shortlinks.de/oee9
|
|
Mota - 36
Halbprofi
(offline)
Dabei seit 02.2005
326
Beiträge
|
Geschrieben am: 10.06.2012 um 17:36 Uhr
|
|
Zitat von Der666Diablo: lässt sich doch einfach überprüfen, auch c++ sollte eine rand() funktion haben, lass die 50.000 durchläufe da durchlaufen und vergleiche 
Mit der Funktion srand() den Zufallsgenerator initialisieren; anschließend kannst du mit rand() Zufallszahlen generieren.
|
|
Ketzu - 38
Experte
(offline)
Dabei seit 11.2008
1535
Beiträge
|
Geschrieben am: 10.06.2012 um 18:46 Uhr
|
|
Es gibt unterschiedliche Gütekriterien von Zufallszahlen.
Nur eine davon ist Gleichverteilung.
wenn du einen bekannten Algorithmus für Zufallszahlen verwendest kannst du bei dem einfach seine Gütekriterien nachschauen.
Eine Meinung vertreten, heißt nicht sie zu teilen, sondern versuchen sie zu verstehen.
|
|
iLiKETRAiNS - 40
Halbprofi
(offline)
Dabei seit 06.2009
176
Beiträge
|
Geschrieben am: 14.06.2012 um 13:38 Uhr
|
|
betrachtet man nur die mittelwerte der zufallsverteilungen lässt sich noch nicht die güte der zugrundeliegenden verteilung abschätzen.
je nach anforderung spielt statistik höherer ordnung hinein.
Intilligenz hat nicht nur mit der Schulbildung zu tun.
|
|
Forum / Bits und Bytes
|