stringtranslate.com

KISS (algoritmo)

KISS ( Keep it Simple Stupid ) es una familia de generadores de números pseudoaleatorios introducidos por George Marsaglia . [1] [2] [3] A partir de 1998, Marsaglia publicó en varios grupos de noticias, incluidos sci.math, comp.lang.c , comp.lang.fortran y sci.stat.math, varias versiones de los generadores. Todos los generadores KISS combinan tres o cuatro generadores de números aleatorios independientes con el objetivo de mejorar la calidad de la aleatoriedad. Los generadores KISS producen números enteros aleatorios de 32 o 64 bits, a partir de los cuales se pueden construir números aleatorios de punto flotante si se desea. El generador original de 1993 se basa en la combinación de un generador congruencial lineal y de dos generadores de registro de desplazamiento con retroalimentación lineal . Tiene un período de 2 95 , buena velocidad y buenas propiedades estadísticas; sin embargo, no pasa la prueba LinearComplexity en las pruebas Crush y BigCrush de la suite TestU01 . [4] Una versión más nueva de 1999 se basa en un generador congruencial lineal, un registro de desplazamiento de retroalimentación lineal de 3 desplazamientos y dos generadores de multiplicación con acarreo. Es un 10-20% más lenta que la versión de 1993, pero tiene un período más grande 2 123 y pasa todas las pruebas en TestU01. En 2009, Marsaglia presentó una versión basada en números enteros de 64 bits (apropiada para procesadores de 64 bits) que combina un generador de multiplicación con acarreo , un generador Xorshift y un generador congruencial lineal. [5] Tiene un período de alrededor de 2 250 (alrededor de 10 75 ).

Referencias

  1. ^ Marsaglia, George; Zaman, Arif (1993). "El generador KISS". Informe técnico, Departamento de Estadística, Universidad Estatal de Florida, Tallahassee, FL, EE. UU .
  2. ^ Rose, Greg (2018). "KISS: un poco demasiado simple" (PDF) . Criptografía y comunicaciones . 10 : 123–137. doi : 10.1007/s12095-017-0225-x .
  3. ^ Kneusel, Ronald T. (2018). Números aleatorios y computadoras . Springer. ISBN 978-3-319-77696-5.
  4. ^ L'Ecuyer, Pierre; Simard, Richard (2007). "TestU01: Biblioteca AC para pruebas empíricas de generadores de números aleatorios". ACM Transactions on Mathematical Software . 33 (4): 22–es. doi :10.1145/1268776.1268777. S2CID  273446.
  5. ^ "Generadores aleatorios KISS de 64 bits". 28 de febrero de 2009.

Lectura adicional