Articulo de referencia

Prueba espectral

Gráfico tridimensional de 100 000 valores generados con RANDU . Cada punto representa 3 valores pseudoaleatorios consecutivos. Se observa claramente que los puntos se distribuye...

Gráfico tridimensional de 100 000 valores generados con RANDU . Cada punto representa 3 valores pseudoaleatorios consecutivos. Se observa claramente que los puntos se distribuyen en 15 planos bidimensionales .

La prueba espectral es una prueba estadística para evaluar la calidad de una clase de generadores de números pseudoaleatorios (GNA), los generadores congruenciales lineales (GCL). [ 1 ] Los GCL tienen la propiedad de que, al representarlos en dos o más dimensiones, se forman líneas o hiperplanos en los que se pueden encontrar todas las salidas posibles. [ 2 ] La prueba espectral compara la distancia entre estos planos; cuanto mayor sea la distancia entre ellos, peor será el generador. [ 3 ] Dado que esta prueba está diseñada para estudiar las estructuras reticulares de los GCL, no puede aplicarse a otras familias de GNA.

Según Donald Knuth , [ 4 ] esta es, con mucho, la prueba más potente conocida, porque puede hacer fallar a LCG que pasan la mayoría de las pruebas estadísticas. La subrutina RANDU de IBM [ 5 ] [ 6 ] LCG falla en esta prueba para 3 dimensiones o más.

Dejemos que el generador de números pseudoaleatorios genere una secuencia . Sea la separación máxima entre planos paralelos que cubren la secuencia . La prueba espectral verifica que la secuencia no decaiga demasiado rápido.1,2,{\ Displaystyle u_ {1}, u_ {2}, \ puntos}1/νt{\displaystyle 1/\nu _{t}}{(norte+1:norte+t)norte=0,1,}{\displaystyle \{(u_{n+1:n+t})\mid n=0,1,\dots \}}ν2,ν3,ν4,{\displaystyle \nu _{2},\nu _{3},\nu _{4},\dots }

Knuth recomienda comprobar que cada uno de los siguientes 5 números sea mayor que 0,01, donde es el módulo del LCG.μ2=πν22/metro,μ3=43πν33/metro,μ4=12π2ν44/metro,μ5=815π2ν55/metro,μ6=16π3ν66/metro,{\displaystyle {\begin{aligned}\mu _{2}&=\pi \nu _{2}^{2}/m,&\mu _{3}&={\frac {4}{3}}\pi \nu _{3}^{3}/m,&\mu _{4}&={\frac {1}{2}}\pi ^{2}\nu _{4}^{4}/m,\\[1ex]&&\mu _{5}&={\frac {8}{15}}\pi ^{2}\nu _{5}^{5}/m,&\mu _{6}&={\frac {1}{6}}\pi ^{3}\nu _{6}^{6}/m,\end{aligned}}}metro{\displaystyle m}

Figuras de mérito

Knuth define una figura de mérito que describe cuán cerca está la separación del mínimo teórico. Bajo la renotación de Steele y Vigna, para una dimensión , la figura se define como [ 7 ] : 3 donde se definen como antes, y es la constante de Hermite de dimensión d . es la separación interplanar más pequeña posible. [ 7 ] : 31/νt{\displaystyle 1/\nu _{t}}d{\displaystyle d}Fd{\displaystyle f_{d}}Fd(metro,a)=νd/(γd1/2metrod),{\displaystyle f_{d}(m,a)=\nu _{d}/\left(\gamma _{d}^{1/2}{\sqrt[{d}]{m}}\right),}a,metro,νd{\displaystyle a,m,\nu _{d}}γd{\displaystyle \gamma _{d}}γd1/2metrod{\displaystyle \gamma _{d}^{1/2}{\sqrt[{d}]{m}}}

L'Ecuyer 1991 introduce además dos medidas correspondientes al mínimo de en varias dimensiones. [ 8 ] Nuevamente bajo una nueva notación, es el mínimo para un LCG de dimensiones 2 a , y es el mismo para un generador de números pseudoaleatorios congruenciales multiplicativos (MCG), es decir, uno donde solo se usa la multiplicación, o . Steele y Vigna señalan que se calcula de manera diferente en estos dos casos, lo que requiere valores separados. [ 7 ] : 13 Además definen una figura de mérito promedio ponderada "armónica" , (y ). [ 7 ] : 13Fd{\displaystyle f_{d}}METROd+(metro,a){\displaystyle {\mathcal {M}}_{d}^{+}(m,a)}Fd{\displaystyle f_{d}}d{\displaystyle d}METROd(metro,a){\displaystyle {\mathcal {M}}_{d}^{*}(m,a)}do=0{\displaystyle c=0}Fd{\displaystyle f_{d}}Hd+(metro,a){\displaystyle {\mathcal {H}}_{d}^{+}(m,a)}Hd(metro,a){\displaystyle {\mathcal {H}}_{d}^{*}(m,a)}

Ejemplos

Una pequeña variante del infame RANDU , con : [ 4 ] : (Tabla 1)incógnitanorte+1=65539incógnitanortemod229{\displaystyle x_{n+1}=65539\,x_{n}{\bmod {2}}^{29}}

Las cifras agregadas de mérito son: , . [ a ]METRO8(65539,229)=0,018902{\displaystyle {\mathcal {M}}_{8}^{*}(65539,2^{29})=0.018902}H8(65539,229)=0,330886{\displaystyle {\mathcal {H}}_{8}^{*}(65539,2^{29})=0.330886}

George Marsaglia (1972) lo considera "un candidato para el mejor de todos los multiplicadores" porque es fácil de recordar y tiene números de prueba espectrales particularmente grandes. [ 9 ]incógnitanorte+1=69069incógnitanortemod232{\displaystyle x_{n+1}=69069\,x_{n}{\bmod {2}}^{32}}

Las cifras agregadas de mérito son: , . [ a ]METRO8(69069,232)=0,313127{\displaystyle {\mathcal {M}}_{8}^{*}(69069,2^{32})=0.313127}H8(69069,232)=0,449578{\displaystyle {\mathcal {H}}_{8}^{*}(69069,2^{32})=0.449578}

Steele y Vigna (2020) proporcionan los multiplicadores con las mayores cifras de mérito agregadas para muchas opciones de m = 2 n y una longitud de bits dada de a . También proporcionan los valores individuales y un paquete de software para calcular estos valores. [ 7 ] : 14–5 Por ejemplo, informan que el mejor a de 17 bits para m = 2 32 es:Fd{\displaystyle f_{d}}

  • Para un LCG (c 0), 0x1dab5 (121525). , . [ 7 ] : 14METRO8+=0,6403{\displaystyle {\mathcal {M}}_{8}^{+}=0.6403}H8+=0,6588{\displaystyle {\mathcal {H}}_{8}^{+}=0.6588}
  • Para un MCG (c = 0), 0x1e92d (125229). , . [ 7 ] : 14METRO8=0,6623{\displaystyle {\mathcal {M}}_{8}^{*}=0.6623}H8=0,7497{\displaystyle {\mathcal {H}}_{8}^{*}=0.7497}

Ilustración adicional

A pesar de que ambas relaciones pasan la prueba de chi-cuadrado , la primera LCG es menos aleatoria que la segunda, ya que el rango de valores que puede producir según el orden en que los produce está distribuido de manera menos uniforme.

Referencias

  1. 1 2 3 4 Calculado utilizando el software de Steele & Vigna (2020), programa "mspect" (src/spect.cpp, modo multiplicativo).
  2. Calculado a partir de ν2 díasInformado por Marsaglia.
  1. Williams, KB; Dwyer, Jerry (1 de agosto de 1996), "Prueba de generadores de números aleatorios, parte 2" , Dr. Dobb's Journal , consultado el 26 de enero de 2012..
  2. Marsaglia, George (septiembre de 1968). "Los números aleatorios caen principalmente en los planos" (PDF) . PNAS . 61 (1 ) : 25– 28. Bibcode : 1968PNAS...61...25M . doi : 10.1073/pnas.61.1.25 . PMC 285899. PMID 16591687 .  
  3. Jain, Raj. "Prueba de generadores de números aleatorios (Conferencia)" (PDF) . Universidad de Washington en St. Louis . Consultado el 2 de diciembre de 2016 .
  4. 1 2 Knuth, Donald E. (1981), "3.3.4: La prueba espectral", El arte de la programación informática volumen 2: Algoritmos seminuméricos (2.ª ed.), Addison-Wesley .
  5. IBM, Paquete de subrutinas científicas System/360, Versión II, Manual del programador, H20-0205-1, 1967, pág. 54.
  6. International Business Machines Corporation (1968). "Paquete de subrutinas científicas IBM/360 (360A-CM-03X) Versión III" (PDF) . Biblioteca de Stan . II . White Plains, NY: Departamento de Publicaciones Técnicas de IBM: 77. doi : 10.3247/SL2Soft08.001 . Programa de aplicación científica H20-0205-3.
  7. 1 2 3 4 5 6 7 Steele, Guy L. Jr. ; Vigna, Sebastiano (febrero de 2022) [15 de enero de 2020]. "Multiplicadores computacionalmente fáciles y espectralmente buenos para generadores de números pseudoaleatorios congruenciales" . Software: Practice and Experience . 52 (2): 443– 458. arXiv : 2001.05304 . doi : 10.1002/spe.3030 .Software y datos asociados en https://github.com/vigna/CPRNG .
  8. L'Ecuyer, Pierre (enero de 1999). "Tablas de generadores congruenciales lineales de diferentes tamaños y buena estructura reticular" (PDF) . Matemáticas de la computación . 68 (225): 249– 260. Bibcode : 1999MaCom..68..249L . CiteSeerX 10.1.1.34.1024 . doi : 10.1090/S0025-5718-99-00996-5 .  Asegúrese de leer también las erratas .
  9. Marsaglia, GEORGE (1972-01-01), "La estructura de las secuencias congruenciales lineales" , en Zaremba, SK (ed.), Aplicaciones de la teoría de números al análisis numérico , Academic Press, pp. 249–285 , ISBN  978-0-12-775950-0, consultado el 29/01/2024

Lecturas adicionales

  • Entacher, Karl (enero de 1998). "Subsecuencias erróneas de generadores de números pseudoaleatorios congruenciales lineales bien conocidos". ACM Transactions on Modeling and Computer Simulation . 8 (1): 61– 70. doi : 10.1145/272991.273009 . enumera (anotado como en este texto) muchos LCG conocidos Fd{\displaystyle f_{d}}Ss{\displaystyle S_{s}}
    • Una versión ampliada de este trabajo está disponible como: Entacher, Karl (2001). "Una colección de generadores de números pseudoaleatorios seleccionados con estructuras lineales - versión ampliada" .
Obtenido de " https://en.wikipedia.org/w/index.php?title=Spectral_test&oldid=1360738404 "