Häufigkeit von Zufallszahlen

  • ka mir war langweilig vielleicht lernt jemand was dabei

    [autoit]

    Dim $1 = 0
    Dim $2 = 0

    [/autoit][autoit][/autoit][autoit]

    $amount = InputBox("Amount of passes", "Type in a number!")
    If StringRegExp($amount, "[^0-9]", "") = 1 Or $amount = "" Or $amount = 0 Then
    MsgBox(0,"Error", "Only numbers and at least 1")
    Else
    For $i = 1 To $amount
    $a = Random(1,2,1)
    ToolTip("calculating... "&(($i*100)/$amount)&"%")
    If $a = 1 Then $1+=1
    If $a = 2 Then $2+=1
    Next
    ToolTip("")
    MsgBox(64,"Result", "1 occured: "&$1&@CRLF&"2 occured: "&$2)
    EndIf

    [/autoit]
  • Ich denke es wäre besser wenn du dein Script beschreiben würdest und dann auch im Quelltext aus kommentierst was du da machst.

    Ich weiss so auf den ersten Blick nicht was es macht und wieso.

    Mfg
    monkey

    Monkey - die finale Potenz von göttlich!
    Sloganizer

    • Offizieller Beitrag

    Eigentlich erstaunlich, dass sich die Häufigkeit so ziemlich die Waage hält.

    Ich hab Dein Script mal auf 6 (Würfel) ausgeweitet:

    [autoit]


    Dim $r[7]

    [/autoit][autoit][/autoit][autoit]

    $amount = InputBox('Amount of passes', 'Type in a number!')
    If StringRegExp($amount, '[^0-9]', '') = 1 Or $amount = '' Or $amount = 0 Then
    MsgBox(0,'Error', 'Only numbers and at least 1')
    Else
    For $i = 1 To $amount
    $a = Random(1,6,1)
    ToolTip('calculating... ' & Int(($i*100)/$amount) & '%')
    $r[$a] += 1
    Next
    ToolTip('')
    $msg = @CRLF
    For $i = 1 To 6
    $msg &= $i & ' = ' & String($r[$i]) & @CRLF
    Next
    MsgBox(64,'Result', $msg)
    EndIf

    [/autoit]

    Aber auch hier ist die Verteilung ziemlich ausgeglichen. :)

  • ja weil eigentlich sollte es ja im Unendlichen eine Lösung genauso oft wie die andere herauskommen und da mir langweilig war hab ich das einfach ma ausprobiert - schön das es nicht nur mich interessiert ;)

    • Offizieller Beitrag

    Ich habe mal noch ein bißchen rumgetestet.
    Wenn man nur wenige Durchgänge macht, dann ist die Streuung sehr groß.
    TrayMenue.au3

    Bei sehr vielen Durchgängen hingegen relativiert sich der Unterschied.
    autoit.de/wcf/attachment/1646/

    Ist schon ganz interessant.

  • Hi,
    dieses Problem existiert auch in anderen Programmiersprachen und besonders problematisch in der Kryptographie. Also kein Phänomen von AutoIT.

    Man liest sich...
    Euer Ritzelrocker04

    war auch nicht auf Autoit festgelegt :)

    joa bei einem guten Zufallszahlengenerator sollte es sich auch ausgleichen