POCAŁUNEK (algorytm)

KISS ( Keep it Simple Stupid ) to rodzina generatorów liczb pseudolosowych wprowadzonych przez George'a Marsaglię . Począwszy od 1998 roku Marsaglia publikowała na różnych grupach dyskusyjnych , w tym sci.math, comp.lang.c , comp.lang.fortran i sci.stat.math, kilka wersji generatorów. Wszystkie generatory KISS łączą trzy lub cztery niezależne generatory liczb losowych w celu poprawy jakości losowości. Generatory KISS generują 32-bitowe lub 64-bitowe losowe liczby całkowite, z których w razie potrzeby można konstruować losowe liczby zmiennoprzecinkowe. Oryginalny generator z 1993 roku opiera się na połączeniu a liniowego generatora kongruencji i dwóch generatorów rejestrów przesuwnych z liniowym sprzężeniem zwrotnym . Ma okres 2 95 , dobrą szybkość i dobre właściwości statystyczne; jednak nie przechodzi testu LinearComplexity w testach Crush i BigCrush pakietu TestU01 . Nowsza wersja z 1999 roku jest oparta na liniowym kongruencjalnym generatorze, 3-zmianowym liniowym rejestrze przesuwnym ze sprzężeniem zwrotnym i dwóch generatorach mnożenia z przeniesieniem. Jest o 10–20% wolniejsza niż wersja z 1993 r., ale ma większy okres 2 123 i przechodzi wszystkie testy w TestU01. W 2009 roku Marsaglia zaprezentowała wersję opartą na 64-bitowych liczbach całkowitych (odpowiednią dla procesorów 64-bitowych), która łączy w sobie generator mnożenia z przeniesieniem , generator Xorshift i liniowy generator kongruencji. Ma okres około 2 250 (około 10 75 ).

Dalsza lektura