RANDU er en lineær kongruent pseudo-tilfældig talgenerator , der kom i brug i 1960'erne. Det bestemmes af gentagelsesforholdet :
hvor er mærkeligt .
Pseudo-tilfældige tal beregnes som følger:
Det er populært antaget, at denne algoritme er en af de mindst gennemtænkte pseudo-tilfældige tal-generatorer, der nogensinde er foreslået, da den fejler spektraltesten, når antallet af målinger overstiger 2 [1] [2] .
Grunden til at vælge parametrene for generatoren var, at inden for rammerne af heltal 32-bit maskinaritmetik udføres modulo-operationer , især multiplikation af et vilkårligt tal med , effektivt. Samtidig har dette valg også en grundlæggende ulempe. Overvej følgende udtryk (vi antager, at alle operationer udføres modulo ):
hvorfra vi udvider den kvadratiske faktor får:
som igen viser tilstedeværelsen af et lineært forhold (og dermed en fuldstændig korrelation ) mellem tre tilstødende elementer i sekvensen:
Som en konsekvens af korrelation er punkter i det tredimensionelle rum, hvis koordinater opnås af denne algoritme, placeret på et relativt lille antal planer (i det givne eksempel på 15 planer). [3]
Et eksempel på en pseudo-tilfældig sekvens genereret af RANDU-algoritmen med en startværdi på :
en 65539 393225 1769499 7077969 26542323 95552217 334432395 1146624417 1722371299 14608041 ... 134633675 1893599841 1559961379 907304297 2141591611 388843697 238606867 79531577 477211307 en
Selve dens navn - RANDU (ligner "tilfældig" - "tilfældig" - Ca. red. ), kan forårsage forskrækkelse i øjnene og mavekramper hos mange dataloger! [fire]
Originaltekst (engelsk)[ Visskjule]… selve navnet RANDU er nok til at bringe forfærdelse i øjnene og maven på mange dataloger! [5]
En af os husker, at han engang modtog et grafisk billede af en "tilfældig" sekvens, der kun bestod af 11 fly. Som svar udtalte en programmeringskonsulent i computercentret, at tilfældig talgeneratoren blev brugt forkert: "Vi garanterer, at hvert tal er tilfældigt i sig selv, men vi garanterer ikke, at mere end et af dem er tilfældigt." Prøv at forstå dette.
Originaltekst (engelsk)[ Visskjule]En af os husker, at han lavede et "tilfældigt" plot med kun 11 fly og fik at vide af sit computercenters programmeringskonsulent, at han havde misbrugt tilfældig talgeneratoren: "Vi garanterer, at hvert tal er tilfældigt individuelt, men vi garanterer ikke, at mere end én af dem er tilfældig." finde ud af. [6]