KISS (algoritm)

KISS ( Keep it Simple Stupid ) är en familj av pseudoslumptalsgeneratorer som introducerades av George Marsaglia . Från och med 1998 publicerade Marsaglia på olika nyhetsgrupper inklusive sci.math, comp.lang.c , comp.lang.fortran och sci.stat.math flera versioner av generatorerna. Alla KISS-generatorer kombinerar tre eller fyra oberoende slumptalsgeneratorer i syfte att förbättra kvaliteten på slumpmässighet. KISS-generatorer producerar 32-bitars eller 64-bitars slumpmässiga heltal, från vilka slumpmässiga flyttalstal kan konstrueras om så önskas. Den ursprungliga generatorn från 1993 är baserad på kombinationen av en linjär kongruentialgenerator och två linjära återkopplings-skiftregistergeneratorer . Den har en period 2 95 , bra hastighet och goda statistiska egenskaper; den klarar dock inte LinearComplexity-testet i Crush- och BigCrush-testerna i TestU01- sviten. En nyare version från 1999 är baserad på en linjär kongruentialgenerator, ett 3-skifts linjärt återkopplingsskiftregister och två multiplicera-med-bär-generatorer. Den är 10–20 % långsammare än 1993 års version men har en längre period 2 123 och klarar alla tester i TestU01. 2009 presenterade Marsaglia en version baserad på 64-bitars heltal (lämplig för 64-bitars processorer) som kombinerar en multiplicera-med-bär- generator, en Xorshift -generator och en linjär kongruentialgenerator. Den har en period på cirka 2 250 (cirka 10 75 ).

Vidare läsning