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
- Bucklew, James (2013). „1.1 Generatory jednorodne” . Wprowadzenie do symulacji rzadkich zdarzeń . Skoczek. s. 1–8. ISBN 978-1-4757-4078-3 .
- Robert, chrześcijanin; George Casella (2013). „2.1.2 Generator pocałunków” . Metody statystyczne Monte Carlo . Skoczek. s. 39–43. ISBN 978-1-4757-3071-5 .
- Róża, Grzegorz G. (2017). „KISS: trochę za proste” . Kryptografia i komunikacja . 10 : 123–137. doi : 10.1007/s12095-017-0225-x . ISSN 1936-2447 .