Está en la página 1de 3

Generadores Congruenciales

Generador Congruencial Lineal

Es un algoritmo que permite obtener una secuencia de números pseudoaleatorios

calculados con una función lineal definida a trozos discontinua. Es uno de los métodos más

antiguos y conocidos para la generación de números pseudoaleatorios.

La teoría que sustenta el proceso es relativamente fácil de entender, el algoritmo en si es

de fácil implementación y su ejecución es rápida, especialmente cuando el hardware del

ordenador puede soportar aritmética modular al truncar el bit de almacenamiento

correspondiente.

Generador Congruencial Mixto

Es el algoritmo que nos dará como resultado un numero aleatorio que es designado por

una serie de operaciones a partir de un numero especificado anteriormente llamado semilla.

El objetivo de este método, al igual que de los demás existentes es generar sucesiones de

números aleatorios, al construir un generador de números aleatorios siempre hay que tener en

mente ciertas condiciones como que siempre debe ser impar, no divisible entre 4 o 3 ,que

además m debe ser el mayor número que la computadora acepte para así poder obtener todos

los resultados posibles, este último es ocasional ya que a veces solo necesitamos cierta

cantidad de números pero si usamos uno más grande siempre tendremos mayor cantidad de

resultados.

Generador Congruencia Multiplicativo.

Es un algoritmo que se utiliza para generar números pseudo aleatorios Tiene como base al

algoritmo congruencia lineal, pero conlleva una operación menos.

La operación principal es la siguiente:


Xi+1 = (aXi) mod (m)

Es decir, se toma una semilla a la que llamaremos X0. Se multiplica por un número a y al

resultado de la multiplicación se divide por m recuperando solo el residuo o módulo de la

división. Este valor será X1, y así sucesivamente.

En resumen, los generadores congruenciales lineales se considera una combinación lineal

de los últimos k enteros generados y se calcula su resto al dividir por un entero fijo m. En el

método congruencial simple (de orden k=1), partiendo de una semilla inicial x0, el algoritmo

secuencial es el siguiente:

xi = (axi−1+c) mod m

ui = xi / m

i = 1, 2, …

Donde a (multiplicador), c (incremento) y m (módulo) son enteros positivos fijados de

antemano. Si c=0 el generador se denomina congruencial multiplicativo y en caso contrario se

dice que es mixto.

Este método está implementado en el fichero RANDC.R, tratando de imitar el

funcionamiento de un generador de R, aunque de una forma no muy eficiente.


BIBLIOGRAFIA

https://rubenfcasal.github.io/simbook/gen-cong.html

https://webs.um.es/mpulido/miwiki/lib/exe/fetch.php?media=wiki:simt1b.pdf

https://es.wikipedia.org/wiki/Generador_lineal_congruencial

También podría gustarte