Warscheinlichkeit des Zufalls

RealScorp

Mitglied
Hi, ich habe mal etwas Zeit mit folgendem vergeudet:

Wenn ich Zahlen mit "Randomize Timer" erstelle, dann sollten die ja ziemlich durchgewürfelt sein. Klar, einige kommen mehrmals vor, andere weniger, aber ab einer bestimmten menge sollte sich das relativieren.

Dann habe ich mal ein experiment gemacht:

1.000.000 Zufallszahlen werden von jeweils 1-40 generiert, und in die entsprechenden Felder eingeordnet.
Das ganze ist 2500 Mal durchgelaufen, also wurden in etwa 2,5 Milliarden (ähh nein genau) Zufallszahlen generiert. Dann habe ich die Abweichung bestimmt von dem was es eigendlich sein müsste, wenn es genau gleich aufgeteilt würde. Ich hatte jetzt erwartet, dass sich das ganze um minimale abweichungen handelt, aber sie sind teilweise signifikant!
Fast keine Abweichung ist unter 5%! Die größste ist etwa -25%

Ist das normal, wenn ja wie ist das zu erklären?

greez Scorp
 
Da müsste man wohl genau wissen wie die Zufallszahlenfunktion von VB arbeitet.
Hast du vor jeder Zufallszahl ein "Randomize" gemacht oder nur bei jedem neuen Durchlauf der Erzeugung der 1.000.000 neuen Zahlen? Und hast du bei "Rnd" selber noch einen Parameter angegeben oder nicht?
 
Code:
 For i = 1 To 1000000
        Randomize Timer
        feld(i) = Int(Rnd * 40) + 1
[...]
Next i

Damit werden die Zufallszahlen erstellt, und das ganze wird dann nochmal mit einer Schleife aussenrum 2500 mal aufgerufen, dh es sind immer wieder neue Zahlen.
 
Soweit ich weiß erstellt Randomize () eine Folge von Zufallszahlen. Mit Rnd () ruft mal lediglich die nächste Zahl in der Folge ab (bitte korrigiert mich wenn ich hier Schmarrn labere). Vielleicht hilft dir das bei der Problemanalyse weiter ;)

Edit: Wenn bei Randomize () kein Parameter übergeben wird dann wird automatisch die Anzahl der seit Mitternacht vergangenen Millisekunden verwendet (aber auch hier bin ich mir nicht ganz sicher, das sind waage Erinnerungen die ich mal im Internet aufgegabelt habe! :D Randomize Timer wäre also gleichbedeutend mit Randomize () )
 
Zuletzt bearbeitet:
Ja, ist ja schön und gut, aber das script ist ja etwa 1 h gelaufen und es wurden ja 2500 neue zufallsfolgen generiert, von dahher sollte es einigermaßen gleich sein!
 
Die Zahlen werden aus einer Liste entnommen, die bei jedem aufruf von "Randomize" generiert wird!

Den wert "Timer" bzw die Funktion ... sagt nur der Func. Rand... das er ab einer bestimmten zeile beginnen soll!

Wenn du einen Richtigen zufallsgenerator bauen willst, dann gibts da n paar schöne möglichkeiten!

nummer 1.
Du liest einfach aus dem RAM irgend einen Wert aus! Am besten einen wert, der nicht von deinem Prog geschrieben wurde! ... Zu Deutsch ... mit CopyMemory einfach n paar daten aus dem speicher hohlen .. woher ist egal! ... da du nie genau weist, was andere Programme so in den speicher schreiben, hast du sehr gute schangsen einen sehr "ungenauen" zufall zu bekommen :confused: :-)

möglichkeit 2. ... du baust die einen Oszilator (RC oder was ähnliches) ... klemmst den an deine schnitstelle an, und liest einfach das Rauschen aus der umgebung aus! ...

...

==Hier mal was für Freaks==

Macht mal ne kleine Statistik mit einer schleiffe fon zufallszahlen.

Die starte ihr!
Dann bewegt mal euren monitor n stück nach hinten, oder nach vorne... wies gerade passt, und beobachtet eure statistik! Ihr werdet merken, das sich die zahlen auf eine sehr merkwürdige art und weise zu tendieren beginnen!

Erklärung!

Jegliche Physischen und Psychischen objekte in eurer umgebung geben Elektromangnetische wellen ab! Dieses EM-Feld eeinflusst alles in seiner umgebung! .. auch euren PC! ... natürlich merkt man das nicht, aber man kann es messen!

Euch ist mit sicherheit schon mal das phenomen mit dem Handy bekannt!

Ihr telefoniert , und latscht durch die gegend! ... auf einmal ist das signal weg, und wenn ihr dann n paar schritte lauft, ist es wieder voll da! ... das liegt an einem "Funkloch"! .. solche funklöscher sind im grunde nichts anderes als EM störungen, die durch irgend welche geräte oder objekte verursacht werden, die rein zufällig sooo dooofff stehen, das Ihr genau an diesem fleck keinen empfang mehr habt!
Dies kann man auch mit dem PC machen! ... hin und her schieben! :-)

Viel Spass beim ausprobieren!

Greez
Martin
 
Zurück