Archief - [java] Random(long seed)

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

dobber_1987

Legacy Member
Die seed, wat is dat juist?

public Random(long seed) :
Creates a new pseudorandom number generator, starting with the specified seed, using setSeed(seed);

wat is er verschillend met gewoon Random()?

Yank

Legacy Member
Over welk programma gaat dit hier? Want dit lijkt me eerder iets voor programmeringsforum...

messiah´

Legacy Member
dobber_1987 zei:
Die seed, wat is dat juist?

public Random(long seed) :
Creates a new pseudorandom number generator, starting with the specified seed, using setSeed(seed);

wat is er verschillend met gewoon Random()?
Die zogenaamde seed is een getal (in dit geval een long) die het algoritme nodig heeft om een pseudorandom getal te genereren. Een goeie seed kan bijvoorbeelde de tijd in microseconden zijn. Of iets geavanceerder, de ruis op de output van de geluidskaart, etcetera.

Je moet weten dat een "echt" random getal niet bestaat, maar het kan wel vrij goed benaderd worden. Vandaar pseudo-random. :)

killgore

Legacy Member
K, effe zeggen hoe random getallen werken:

Dit is eigenlijk niet meer dan een recursieve lijst van getallen met behulp van modulo-rekening bepaald.

Dus jij hebt bv. een getal a[0], dat gebruik je dan in een berekening om een getal a[1] (random getal) uit te komen. Dat a[1] wordt dan weer gebruikt om een ander zogenaamd random getal a[2] uit te komen. Door de kracht van modulorekening lijken deze 'random', maar zodra je het algoritme en 1 getal kent is dit natuurlijk niet meer zo :). Veel kraken is hierop gebaseerd (bv. session hijacking in php).

Met die seed vervang je dus die a[0] (uw basis getal, hiervoor wordt intern vaak EEN tijd uitgedrukt in seconden of miliseconden genomen). Dit kan bv. zijn nut hebben als je eigenlijk wel zogenaamde random getallen wilt hebben in het algoritme zelf, maar telkens bij het aflopen van dat programma dezelfde reeks random getallen wilt hebben ;). Bv. handig voor het illustreren/demonstreren van algoritmes en programmas.

.Acku.

Legacy Member
De les is hier, als je het niet kent, gebruik het niet. De default implementatie van de bollebozen zal wel volstaan dan.

dobber_1987

Legacy Member
Ja, die random is iets van de zoveelste seconde, vanaf dat java het licht heeft gezien (ofzo iets) en daarmee dan modulo ofzo

MilM

Legacy Member
Eigenlijk kom het er op neer, door telkens dezelfde seed op te geven, dat je telkens dezelfde random getallen zal generen (zoals killgore zei)

Dit is handig voor het vergelijken van algoritmes bv.

Indien je niet echt bezig bent met optimaliserne van iets maar gewoon een random getal (rij) nodig hebt, dan geef je daar niets in.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan