Ir al contenido principal

Entradas

Mostrando las entradas de marzo, 2020

ALGORITMO CONGRUENCIAL MULTIPLICATIVO

Un algoritmo que se utiliza para generar números pseudo aleatorios, es el  algoritmo congruencia multiplicativo . Tiene como base al algoritmo congruencia lineal pero conlleva una operación menos. La operación principal es la siguiente: X i + 1 ​ = ( a X i ​ ) m o d ( m ) Es decir, se toma una semilla a la que llamaremos  X_{0} X 0 ​ . 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. Esta operación nos da un valor entero. Si deseamos un número pseudo aleatorio en el intervalo (0,1), debemos realizar la siguiente operación sobre el número anteriormente obtenido. R i ​ = X i ​ / ( m − 1 ) Es decir, al número que produjo la primera operación, se le divide entre m-1. Nos dará un valor entre 0 y 1. Para mejorar la eficiencia del algoritmo se deben seguir ciertas condiciones para los valores  a, m, X_{0} a , m , X 0 ​ . M = 2 g A =

ALGORITMO LINEAL

Este algoritmo congruencial fue propuesto por D. H. Lehmer en 1955. Según Law y Kelton. El algoritmo congruencial lineal genera una secuencia de números enteros por medio de la siguiente ecuación recursiva:  Xi+1=(axi+c)mod(m) i=0,1,2,...,n Donde X0 es la semilla, a es la constante multiplicativa, c es una constante aditiva y m es el módulo: X0 > 0 , a > 0 , c > 0 y m > 0 deben ser números enteros. Es importante señalar que la ecuación recursiva del algoritmo congruencial lineal genera una secuencia de números enteros y que para obtener números pseudoaleatorios en el intervalo (0, 1) se requiere de la siguiente ecuación:  ri=(Xi)/(m-1)                 i=1,2,3,...,n. Video explicativo del método Documento de algoritmo lineal elaborado en excel. https://app.box.com/s/winu3f53wnjdlor0cfjeg6nwcnhuv0o7