ich in einem Lua-Skript den folgenden PRNG bin mit:PRNGs und Startwerte
inputseed = {763261}
seedobja = 1103515.245
seedobjc = 12345
seedobjm = 4294967.295 --0x100000000
function srandom(seedobj, fVal1, fVal2)
seedobj[1] = mod(seedobj[1] * seedobja + seedobjc, seedobjm)
local temp_rand = seedobj[1]/(seedobjm - 1)
if (fVal2) then
return floor(fVal1 + 0.5 + temp_rand * (fVal2 - fVal1))
elseif (fVal1) then
return floor(temp_rand * fVal1) + 1
else
return temp_rand
end
end
-- the returned value should be a float between 0 and 1
local randomvalue_a = srandom(inputseed)
-- the returned value should be an integer between 10 and 20
local randomvalue_b = srandom(inputseed, 10, 20)
Meine Frage ist, haben ähnliche Startwerte ähnliche Ergebnisse erzeugen, wenn sie wie diese durch eine PRNG laufen?
Ich meine, die Zahlen 3 und 5 sind nahe beieinander verglichen mit einer großen Zahl wie 3001. Sind die ersten beiden Zahlen wahrscheinlich ähnliche Pseudozufallswerte?
Danke.
Dieser Generator sieht nicht richtig zu mir. Es scheint auf einer ganzzahligen LCG zu basieren, aber fälschlicherweise an Fließkomma angepasst. – sh1