Vermutung: Randoom Befehl generiert keine Zudfallszahlen!

  • Wunderschönen Tag, zu der Vermutung bin Ich gekommen, als ich mir ein Programm bastelte wo ganz oft Würfelt also Zahlen von 1 - 6 Generiert und diese dann aufschreibt zum vergleichen. mir ist aufgefallen, dass es nur sehr kleine abweichungen gibt!
    hier meine Ergebnisse von 10 000 mal würfeln:

    Ergebnisse des des Zufallstest:

    Anzahl der Zahl 1: 1710
    Anzahl der Zahl 2: 1708
    Anzahl der Zahl 3: 1585
    Anzahl der Zahl 4: 1658
    Anzahl der Zahl 5: 1661
    Anzahl der Zahl 6: 1668

    ist da meine vermutung richtig?

    unten findet ihr den Code, um nachzuprüfen...

    Spoiler anzeigen
    [autoit]

    hotKeySet("{F2}", "write")Func write() if $write = 1 then $weiter = 1 EndFunc$max = InputBox("test","wieviele Zahlen soll der Computer generieren?")MsgBox(0,"zufall?"," kennt ein Computer zufälle? dieses Programm lälsst den Computer " & $max & " mal eine zufällige Zahl zwischen 1 und 6 generieren.")$a = 0$b = 0$c = 0$d = 0$e = 0$f = 0$anzahl = 0$write = 0$weiter = 0While 1
    $zahl = Random(1,6,1)if $zahl = 1 then $a = $a + 1if $zahl = 2 then $b = $b + 1if $zahl = 3 then $c = $c + 1if $zahl = 4 then $d = $d + 1if $zahl = 5 then $e = $e + 1if $zahl = 6 then $f = $f + 1$anzahl = $anzahl + 1if $anzahl = $max then ExitLoop $prozent1 = $anzahl / $max $prozent = $prozent1 * 100 ToolTip($prozent & " %") Sleep(20)WEndToolTip("100 %")$write = 1While 1 ToolTip("mit F2 kann der Text geschrieben werden") Sleep(25) if $weiter = 1 then ExitLoopWEnd sleep(2000)Send("Ergebnisse des des Zufallstest:")Send("{enter}")Send("{enter}")Send("Anzahl der Zahl 1: " & $a)Send("{enter}")Send("Anzahl der Zahl 2: " & $b)Send("{enter}")Send("Anzahl der Zahl 3: " & $c)Send("{enter}")Send("Anzahl der Zahl 4: " & $d)Send("{enter}")Send("Anzahl der Zahl 5: " & $e)Send("{enter}")Send("Anzahl der Zahl 6: " & $f)Send("{enter}")Exit

    [/autoit]
  • Hi,
    "richtige" Zufallszahlen kann Random nicht generieren, weil das so nicht möglich ist. (Sie sind unter bestimmten Bedingungen zurückrechenbar).
    Allerding sind die Zahlen für einen Würfel auf jeden Fall zufällig genug.
    Das was du rausgefunden hast, entspricht doch genau dem was man in Mathe gelernt hat.
    Die Wahrscheinlichkeit eine bestimmte Zahl zu treffen liegt bei 1/6. Auf Dauer werden sich die Wahrscheinlichkeiten aber angleichen. Führe dein Programm 1 Mio mal aus und du wirst sehen, die Wahrscheinlichkeiten werden immer gleicher Verteilt. Das ganze kannst du auch in der Realität ausprobieren. Nimm einen Würfel und würfele 100 mal. Du wirst sehen, jede Zahl kommt ungefähr gleich oft raus.

    Also einen Beweis, dass random nicht zufällig ist hast du nicht erbracht eher genau das gegenteil ;).

    anno2008

    /PS.
    dein Programm finde ich aus etwas kompliziert :D.

    [autoit]

    #Include <Array.au3>
    Global $array[7]
    for $i = 0 to 10000000
    $array[Random(1,6,1)] += 1
    Next
    _ArrayDisplay($array)

    [/autoit]

    Einmal editiert, zuletzt von anno2008 (21. Juli 2009 um 00:49)

  • es ist quasi genau wie Anno schreibt, deine Zahlen entsprechen schon "genau" einer Normalverteilung. 1/6 also rund 16,67%

    deine Zahlen quasi:

    Zahl 1: 17,10%
    Zahl 2: 17,08%
    Zahl 3: 15,85%
    Zahl 4: 16,58%
    Zahl 5: 16,61%
    Zahl 6: 16,68%

    je länger dein Programm läuft, desto "genauer" werden sich die Werte auf 16,67% einpendeln :D

    Ein wenig Statistik / Stochastik kann nie schaden :) - die Anfänge sind eigetlich leicht zu verstehen - und spätestens beim Mathe, Informatik oder gar Psychologiestudium zahlt sich das Ganz aus ;)

    Zitat

    Laughing Man

    "I thought, what I'd do was, I'd pretend I was one of those deaf-mutes"