[Tiptoi] Pseudo Zufallsgenerator

Jürg Wullschleger wullschleger at gmail.com
Mo Sep 17 11:58:23 CEST 2018


Hallo Marcel,

Das Problem ist das die vom T-Befehl gelieferte Zahl relative wenig Zufall
enthaelt. Es ist einfach ein Counter der hochgezaehlt wird. Wenn man also
nur diese Zahl verwendet, wird der Wuerfel vielleicht nicht schoen
gleichverteilten sein. Oder man bekommt Abhaengigkeiten zwischen den
Zahlen. Vielleicht ist das nicht so schlimm fuer dein Spiel, aber am besten
versucht man das zu vermeiden.

Deshalb verwenden wir hier einen einfachen Pseudo-Zufallsgenerator, und die
von T gelieferte Zahl wird nur als "Seed" verwendet, um die Folge
nicht-deterministisch zu machen.
Die Zahlen 25173 und 13849 sind zwei Zahlen die sich fuer einen solchen
Zufallsgenerator besonders gut eignen. Das ist keine Willkuer, die meisten
andere Zahlenpaare werden viel schlechtere Zufallszahlen generieren.
Details zu gibts hier (auf englisch):
https://en.wikipedia.org/wiki/Linear_congruential_generator
http://users.encs.concordia.ca/home/g/grogono/RNG/grog-gen.html

Gruss

Juerg



On Mon, Sep 17, 2018 at 7:59 AM Marcel Eilers <marcel.eilers at t-online.de>
wrote:

> Guten Morgen,
>
>
>
> auf die Notwendigkeit meine Programmierung auf maximal 8 Befehle in einer
> Reihe zu kürzen, habe ich mir den „Pseudo-Zufallsgenerator“ nochmal
> angesehen. Irgendwie bin ich da nicht ganz dahinter gestiegen. Aber
> interessieren würde es mich trotzdem.
>
>
>
> Also der Standard Generator lautet:
>
>
>
> - T($r,65535) $rnd+=$r $rnd*=25173 $rnd+=13849 $wuerfel:=$rnd $wuerfel%=6
> $wuerfel+=1
>
>
>
> Damit habe ich schon 7 Befehle verbraucht. Jetzt noch ein J und ein P
> Befehl und der Assembler macht Probleme.
>
>
>
> Warum werden für diese Funktion 3 Register verwendet?? Man könnte dies
> auch so schreiben:
>
>
>
> - T($wuerfel,65535) $wuerfel*=25173 $wuerfel+=13849 $wuerfel%=6 $wuerfel+=1
>
>
>
> Dann hätte ich das um 2 Befehle reduziert…
>
>
>
> Welche Bedeutung haben die Zahlen 25173 und 13849???? Ist das willkürlich?
>
>
>
> Wäre schön, wenn mir jemand dieser Funktion einfach nur mal erläutern
> könnte. Dies einfach nur interessehalber…
>
>
>
> Vielen Dank für Eure Bemühungen.
>
>
>
> Schöne Grüße
>
> Marcel
>
>
>
>
>
>
> --
> tiptoi mailing list
> tiptoi at lists.nomeata.de
> https://lists.nomeata.de/mailman/listinfo/tiptoi
>
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <https://lists.nomeata.de/pipermail/tiptoi/attachments/20180917/1fa445d4/attachment.htm>


Mehr Informationen über die Mailingliste tiptoi