BELLOTA (PRNG)


Los generadores ACORN o ″ A dditive Congruential R andom Number ″ son una familia robusta de PRNG ( generadores de números pseudoaleatorios ) para secuencias de números pseudoaleatorios distribuidos uniformemente, introducidos en 1989 y aún válidos en 2019, treinta años después.

Presentado por RSWikramaratna, [1] ACORN se diseñó originalmente para su uso en simulaciones geoestadísticas y geofísicas de Monte Carlo , y luego se extendió para su uso en computadoras paralelas . [2]

Durante las décadas siguientes, el análisis teórico (prueba formal de convergencia y resultados estadísticos), las pruebas empíricas (usando conjuntos de pruebas estándar) y el trabajo de aplicación práctica han continuado, a pesar de la aparición y promoción de otros más conocidos [pero no necesariamente de mejor desempeño] PRNG.

Las principales ventajas de ACORN son la simplicidad del concepto y la codificación, la velocidad de ejecución, la duración del período largo y la convergencia probada matemáticamente. [3]

El algoritmo se puede ampliar, si las aplicaciones futuras requieren números pseudoaleatorios de "mejor calidad" y un período más largo, aumentando el orden y el módulo según sea necesario. Además, investigaciones recientes han demostrado que los generadores ACORN superan todas las pruebas del conjunto de pruebas TestU01 , versión actual 1.2.3, con una elección adecuada de parámetros y con algunas restricciones muy sencillas sobre la elección de inicialización; Vale la pena señalar, como lo señalaron los autores de TestU01, que algunos generadores de números pseudoaleatorios ampliamente utilizados fallan gravemente en algunas de las pruebas.

ACORN es particularmente simple de implementar en aritmética de enteros exactos, en varios lenguajes de programación, utilizando solo unas pocas líneas de código. [4] Se prefiere la aritmética de enteros a la aritmética real módulo 1 en la presentación original, ya que el algoritmo es entonces reproducible, produciendo exactamente la misma secuencia en cualquier máquina y en cualquier idioma, [2] y su periodicidad es matemáticamente comprobable.