[Tiptoi] Random Funktion/binary-games besser verstehen

Ulrich Sibiller ulrich.sibiller at gmail.com
Do Apr 23 22:01:14 CEST 2015


2015-04-17 11:20 GMT+02:00 andi <aaaaandi at gmail.com>:
> Hi Ingo,
>
> um Zahlen 0-9 und 0-99 zu erhalten koennte der Code so aussehen:
>
> # x[i]=(a+b*x[i-1])mod c
> # since we are using 16bit unsigned integers, max equation result should be
> lower than 2^16
> # b * (c-1) <= 2^16
> # c=800 --> b<=82
> # values for b that result in full random number series length: 21 41 61 81
> #
> # x[i]=(1+81*x[i-1]) mod 800; x[1]=1
> random:
> - $n*=81 $n+=1 $n%=800 J(zahl_n) # pseudo random number 0 to 799
>
> zahl_n:
> - $wunsch==100? J(zahl_100)
> - $wunsch==10? J(zahl_10)
>
> zahl_100: # 0-99
> - $zahl:=$n $zahl/=8 J(xyz)
> zahl_10: # 0-9
> - $zahl:=$n $zahl/=80 J(xyz)
>
> Diese Reihe habe ich wieder mit dem LinConG simuliert, um geignete Werte
> fuer b zu erhalten.
> Da in dieser Zahlenreihe (anders als im Olchi Spiel) auch die 0 mit
> enthalten ist, braucht man bei der Zahl-Umrechnung keine 1 von der Random
> Zahl $n abziehen.
>
> Da Du aber Zahlen von 0-10 brauchst, muesstest Du z.B. eine zweite random
> Funktion erstellen, die durch ein vielfaches von 11 teilbar ist.
>
> Zu Deiner Frage zu der Reihe mit 69: Ich habe bei der Simulation von oben
> angefangen und die Werte fuer b ermittelt, die eine vollstaendige Serie
> ergeben. Bei 69 habe ich einfach aufgehoert, es gibt aber noch niedrigere
> Werte.


Ich fände es super, wenn du das mal im Wiki dokumentieren könntest.
Das wird immer wieder benötigt und auch nachgefragt, wenn wir da eine
allgemeine Beschreibung/Anleitugn hätten, würde das helfen!

Uli




Mehr Informationen über die Mailingliste tiptoi