Articulo de referencia

Generador congruencial inverso

Los generadores congruenciales inversos son un tipo de generador de números pseudoaleatorios congruenciales no lineales que utilizan el inverso multiplicativo modular (si existe...

Una visualización del algoritmo.

Los generadores congruenciales inversos son un tipo de generador de números pseudoaleatorios congruenciales no lineales que utilizan el inverso multiplicativo modular (si existe) para generar el siguiente número en una secuencia. La fórmula estándar para un generador congruencial inverso, módulo algún número primo q, es:

incógnita0=semilla,{\displaystyle x_{0}={\text{semilla}},}
incógnitai+1={(aincógnitai1+do)modqsi incógnitai0,dosi incógnitai=0.{\displaystyle x_{i+1}={\begin{cases}(ax_{i}^{-1}+c){\bmod {q}}&{\text{si }}x_{i}\neq 0,\\c&{\text{si }}x_{i}=0.\end{cases}}}

Dicho generador se denota simbólicamente como ICG( q , a , c , seed ) y se dice que es un ICG con parámetros q , a , c y seed seed .

Período

La secuencia(incógnitanorte)norte0{\displaystyle (x_{n})_{n\geq 0}}debe tenerincógnitai=incógnitaj{\displaystyle x_{i}=x_{j}}después de un número finito de pasos, y dado que el siguiente elemento depende solo de su predecesor directo, tambiénincógnitai+1=incógnitaj+1{\displaystyle x_{i+1}=x_{j+1}}etc. El período máximo posible para el módulo q es q mismo, es decir, la secuencia incluye todos los valores desde 0 hasta q − 1 antes de repetirse.

Una condición suficiente para que la secuencia tenga el período máximo posible es elegir a y c de tal manera que el polinomioF(incógnita)=incógnita2doincógnitaaFq[incógnita]{\displaystyle f(x)=x^{2}-cx-a\in \mathbb {F} _{q}[x]}( anillo de polinomios sobreFq{\displaystyle \mathbb {F} _{q}}) es primitivo . Esta no es una condición necesaria; hay elecciones de q , a y c para las cualesF(incógnita){\displaystyle f(x)}No es primitivo, pero la secuencia tiene un período q . Cualquier polinomio, primitivo o no, que dé lugar a una secuencia de período máximo se denomina polinomio de período máximo inverso (IMP). Chou describe un algoritmo para elegir los parámetros a y c para obtener dichos polinomios. [ 1 ]

Eichenauer-Herrmann, Lehn, Grothe y Niederreiter han demostrado que los generadores congruenciales inversos tienen buenas propiedades de uniformidad, en particular con respecto a la estructura reticular y las correlaciones seriales.

Ejemplo

ICG(5, 2, 3, 1) da la secuencia 1, 0, 3, 2, 4, 1, 0, 3, 2, 4, 1, 0, ...

En este ejemplo,F(incógnita)=incógnita23incógnita2{\displaystyle f(x)=x^{2}-3x-2}es irreductible enF5[incógnita]{\displaystyle \mathbb {F} _{5}[x]}, ya que ninguno de 0, 1, 2, 3 o 4 es una raíz. También se puede verificar que x es un elemento primitivo deF5[incógnita]/(F){\displaystyle \mathbb {F} _{5}[x]/(f)}y por lo tanto f es primitiva.

generador inverso compuesto

La construcción de un generador inverso compuesto (GIC) se basa en la combinación de dos o más generadores congruenciales inversos según el método que se describe a continuación.

Dejarpag1,,pagr{\displaystyle p_{1},\dots ,p_{r}}sean números primos distintos, cada unopagj5{\displaystyle p_{j}\geq 5}. Para cada índice j , 1jr , sea(incógnitanorte)norte0{\displaystyle (x_{n})_{n\geq 0}}ser una secuencia de elementos deFpagj{\displaystyle \mathbb {F} _{p_{j}}}periódico con duración del período pagj{\displaystyle p_{j}}. En otras palabras,{incógnitanorte(j)0nortepagj}Fpagj{\displaystyle \{x_{n}^{(j)}\mid 0\leq n\leq p_{j}\}\in \mathbb {F} _{p_{j}}}.

Para cada índice j , 1 ≤ j ≤ r, consideramosTj=T/pagj{\displaystyle T_{j}=T/p_{j}}, dóndeT=pag1pagr{\displaystyle T=p_{1}\cdots p_{r}}es la duración del período de la siguiente secuencia(incógnitanorte)norte0{\displaystyle (x_{n})_{n\geq 0}}.

La secuencia(incógnitanorte)norte0{\displaystyle (x_{n})_{n\geq 0}}de números pseudoaleatorios compuestos se define como la suma

incógnitanorte=(T1incógnitanorte(1)+T2incógnitanorte(2)++Trincógnitanorte(r))modT{\displaystyle x_{n}=\left(T_{1}x_{n}^{(1)}+T_{2}x_{n}^{(2)}+\dots +T_{r}x_{n}^{(r)}\right){\bmod {T}}}.

El enfoque compuesto permite combinar generadores congruenciales inversos, siempre que tengan un período completo, en sistemas de generación en paralelo.

Ventajas de CIG

Los CIG se aceptan a efectos prácticos por varias razones.

En primer lugar, las secuencias binarias producidas de esta manera están libres de desviaciones estadísticas indeseables. Las secuencias invertidas, ampliamente probadas con diversas pruebas estadísticas, permanecen estables ante la variación de parámetros. [ 2 ] [ 3 ] [ 4 ]

En segundo lugar, existe una forma constante y sencilla de elegir parámetros, basada en el algoritmo de Chou [ 1 ] que garantiza la máxima duración del período.

En tercer lugar, el enfoque compuesto posee las mismas propiedades que los generadores inversos simples, [ 5 ] [ 6 ] pero además proporciona una longitud de período significativamente mayor que la obtenida con un generador congruencial inverso simple. Parecen estar diseñados para su aplicación con plataformas de hardware paralelo multiprocesador.

Existe un algoritmo [ 7 ] que permite diseñar generadores compuestos con una duración de período predecible, un nivel de complejidad lineal predecible y excelentes propiedades estadísticas de los flujos de bits producidos.

El procedimiento para diseñar esta compleja estructura comienza con la definición de un campo finito de p elementos y finaliza con la elección de los parámetros a y c para cada generador congruencial inverso, que constituye el generador compuesto. Esto significa que cada generador está asociado a un polinomio IMP fijo. Esta condición es suficiente para el período máximo de cada generador congruencial inverso [ 8 ] y, finalmente, para el período máximo del generador compuesto. La construcción de polinomios IMP es el método más eficiente para encontrar los parámetros del generador congruencial inverso con el período máximo.

La discrepancia y sus límites

Las propiedades de equidistribución e independencia estadística de las secuencias generadas, que son muy importantes para su utilidad en una simulación estocástica , pueden analizarse en función de la discrepancia de s -tuplas de números pseudoaleatorios sucesivos cons=1{\displaystyle s=1}ys=2{\displaystyle s=2}respectivamente.

La discrepancia calcula la distancia de un generador respecto a uno uniforme. Una discrepancia baja significa que la secuencia generada puede utilizarse con fines criptográficos , y el objetivo principal del generador congruencial inverso es proporcionar números pseudoaleatorios.

Definición

Para N puntos arbitrariost1,,tnorte1[0,1){\displaystyle {\mathbf {t} }_{1},\dots ,{\mathbf {t} }_{N-1}\in [0,1)}La discrepancia se define por Dnorte(t1,,tnorte1)=spagJ|Fnorte(J)V(J)|{\displaystyle D_{N}({\mathbf {t} }_{1},\dots ,{\mathbf {t} }_{N-1})={\rm {sup}}_{J}|F_{N}(J)-V(J)|}, donde el supremo se extiende sobre todos los subintervalos J de[0,1)s{\displaystyle [0,1)^{s}},Fnorte(J){\displaystyle F_{N}(J)}esnorte1{\displaystyle N^{-1}}veces el número de puntos entre t1,,tnorte1{\displaystyle {\mathbf {t} }_{1},\dots ,{\mathbf {t} }_{N-1}}cayendo en J yV(J){\displaystyle V(J)} denota elvolumen s -dimensional de J.

Hasta ahora, teníamos secuencias de enteros del 0 al T1{\displaystyle T-1} , para tener secuencias de[0,1)s{\displaystyle [0,1)^{s}}, se puede dividir una secuencia de enteros por su período T.

A partir de esta definición, podemos decir que si la secuenciat1,,tnorte1{\displaystyle {\mathbf {t} }_{1},\dots ,{\mathbf {t} }_{N-1}}Si es perfectamente aleatorio, entonces está bien distribuido en el intervaloJ=[0,1)s{\displaystyle J=[0,1)^{s}}entoncesV(J)=1{\displaystyle V(J)=1}y todos los puntos están en J, así queFnorte(J)=norte/norte=1{\displaystyle F_{N}(J)=N/N=1}por eso Dnorte(t1,,tnorte1)=0{\displaystyle D_{N}({\mathbf {t} }_{1},\dots ,{\mathbf {t} }_{N-1})=0}pero si la secuencia se concentra cerca de un punto, entonces el subintervalo J es muy pequeño.V(j)0{\displaystyle V(j)\approx 0}yFnorte(j)norte/norte1{\displaystyle F_{N}(j)\approx N/N\approx 1}entoncesDnorte(t1,,tnorte1)=1{\displaystyle D_{N}({\mathbf {t} }_{1},\dots ,{\mathbf {t} }_{N-1})=1} Luego tenemos, desde el mejor y el peor de los casos:

0Dnorte(t1,,tnorte1)1{\displaystyle 0\leq D_{N}({\mathbf {t} }_{1},\dots ,{\mathbf {t} }_{N-1})\leq 1}.

Notaciones

Es necesaria alguna notación adicional. Para números enterosk1{\displaystyle k\geq 1}yq2{\displaystyle q\geq 2}dejardok(q){\displaystyle C_{k}(q)}sea ​​el conjunto de puntos de la red distintos de cero(h1,,hk)Zk{\displaystyle (h_{1},\dots ,h_{k})\in Z^{k}}conq/2<hj<q/2{\displaystyle -q/2<h_{j}<q/2}para1jk{\displaystyle 1\leq j\leq k}.

Definir

r(h,q)={qpecado(π|h|/q)para hdo1(q)1para h=0{\displaystyle r(h,q)={\begin{cases}q\sin(\pi |h|/q)&{\text{for }}h\in C_{1}(q)\\1&{\text{for }}h=0\end{cases}}}

y

r(h,q)=j=1kr(hj,q){\displaystyle r(\mathbf {h} ,q)=\prod _{j=1}^{k}r(h_{j},q)}

parah=(h1,,hk)dok(q){\displaystyle {\mathbf {h} }=(h_{1},\dots ,h_{k})\in C_{k}(q)}. Verdaderot{\displaystyle t}la abreviaturami(t)=miincógnitapag(2πit){\displaystyle e(t)={\rm {exp}}(2\pi \cdot it)}se utiliza yv{\displaystyle u\cdot v}representa el producto interno estándar de,v{\displaystyle u,v}enRk{\displaystyle R^{k}}.

Límite superior

Dejarnorte1{\displaystyle N\geq 1}yq2{\displaystyle q\geq 2}sean números enteros.tnorte=ynorte/q[0,1)k{\displaystyle {\mathbf {t} }_{n}=y_{n}/q\in [0,1)^{k}}conynorte{0,1,,q1}k{\displaystyle y_{n}\in \{0,1,\dots ,q-1\}^{k}}para0norte<norte{\displaystyle 0\leq n<N}.

Luego la discrepancia de los puntos t0,,tnorte1{\displaystyle {\mathbf {t} }_{0},\dots ,{\mathbf {t} }_{N-1}} Satisface

Dnorte(t0,t1,,tnorte1){\displaystyle D_{N}(\mathbf {t} _{0},\mathbf {t} _{1},\dots ,\mathbf {t} _{N-1})}kq{\displaystyle {\frac {k}{q}}}+1norte{\displaystyle {\frac {1}{N}}}hdok(q){\displaystyle \sum _{h\in \mathbb {C} _{k}(q)}}1r(h,q)|norte=0norte1mi(htnorte)|{\displaystyle {\frac {1}{r(\mathbf {h} ,q)}}{\Bigg |}\sum _{n=0}^{N-1}e(\mathbf {h} \cdot \mathbf {t} _{n}){\Bigg |}}

Límite inferior

La discrepancia denorte{\displaystyle N}puntos arbitrariost1,,tnorte1[0,1)k{\displaystyle \mathbf {t} _{1},\dots ,\mathbf {t} _{N-1}\in [0,1)^{k}}Satisface

Dnorte(t0,t1,,tnorte1)π2norte((π+1)l1)j=1kmetroaincógnita(1,hj)|norte=0norte1mi(htnorte)|{\displaystyle D_{N}(\mathbf {t} _{0},\mathbf {t} _{1},\dots ,\mathbf {t} _{N-1})\geq {\frac {\pi }{2N((\pi +1)^{l}-1)\prod _{j=1}^{k}{\rm {max}}(1,h_{j})}}{\Bigg |}\sum _{n=0}^{N-1}e(\mathbf {h} \cdot \mathbf {t} _{n}){\Bigg |}}

para cualquier punto de la red distinto de ceroh=(h1,,hk)Zk{\displaystyle {\mathbf {h} }=(h_{1},\dots ,h_{k})\in Z^{k}}, dóndel{\displaystyle l}denota el número de coordenadas distintas de cero deh{\displaystyle {\mathbf {h} }}.

Estos dos teoremas muestran que el CIG no es perfecto porque la discrepancia es estrictamente mayor que un valor positivo, pero también el CIG no es el peor generador, ya que la discrepancia es menor que un valor menor que 1.

También existen teoremas que acotan el valor promedio de la discrepancia para generadores inversos compuestos, así como otros que toman valores tales que la discrepancia queda acotada por algún valor que depende de los parámetros. Para más detalles, véase el artículo original. [ 9 ]

Véase también

Referencias

  1. 1 2 W.S. Chou, Sobre polinomios de período máximo inversos sobre cuerpos finitos , Álgebra aplicable en ingeniería, comunicación y computación, No. 4/5, 1995, pp. 245-250.
  2. J. Eichenauer-Herrmannn. Los números pseudoaleatorios congruenciales inversos evitan los planos , Math.Comp., Vol. 56, 1991, pp. 297-301.
  3. J. Eichenauer-Herrmannn, H. Grothe, A. Topuzoglu, Sobre la estructura reticular de un generador no lineal con módulo2α{\displaystyle 2^{\alpha }}, J. Comput. Appl. Math., Vol. 31, 1990, pp. 81-85.
  4. J. Eichenauer-Herrmannn, H. Niederreiter , Límites inferiores para la discrepancia de números pseudoaleatorios congruenciales inversos con módulo potencia de dos , Math. Comp., Vol. 58, 1992, pp. 775-779.
  5. J. Eichenauer-Herrmannn, Independencia estadística de una nueva clase de números pseudoaleatorios congruenciales inversos , Math. Comp., Vol. 60, 1993, págs. 375-384.
  6. P. Hellekalek, Generadores de números pseudoaleatorios inversos: conceptos, resultados y enlaces , Actas de la Conferencia de Simulación de Invierno, 1995, pp. 255-262.
  7. J. Bubicz, J. Stoklosa, Algoritmo de diseño de generador congruencial inverso compuesto , §3 .
  8. H. Niederreiter , Nuevos desarrollos en la generación uniforme de números y vectores pseudoaleatorios , Métodos de Monte Carlo y cuasi-Monte Carlo en computación científica, Berlín, 1995.
  9. J. Eichenauer-Herrmann, F. Emmerich, Números pseudoaleatorios congruenciales inversos compuestos: un análisis del caso promedio , Sociedad Matemática Americana.
Obtenido de " https://en.wikipedia.org/w/index.php?title=Inversive_congruential_generator&oldid=1315349428 "