Desde hace mucho tiempo se han usado procedimientos de muestreo artificial y simulación para la resolución de determinados problemas matemáticos. Podemos mencionar el problema de la Aguja de Buffon (1777) para obtener un valor aproximado de π, o el estudio realizado por Student en 1908 dónde usando procedimientos de simulación pudo conjeturar la distribución que lleva su nombre a partir de datos generados de una variable aleatoria.
Con el paso de los años se ha incrementado el uso de la simulación y hoy en día aparece frecuentemente en los problemas actuales. La generación de valores de variables aleatorias es un elemento indispensable en todos los proyectos de simulación. Numerosas técnicas disponibles para ello necesitan un generador de valores de una distribución U[0,1], a partir de la cual se obtienen los valores de la variable aleatoria considerada.
Los algoritmos para la generación de valores uniformemente distribuidos se encuentran en la mayoría de las calculadoras y lenguajes de programación, y suelen estar basado en la aritmética modular
La eficiencia del generador depende del valor de los parámetros que seleccionemos: x0, a, k y m:
-x0: Valor inicial -a: Constante multiplicativa -k: Constante aditiva -m: Módulo
La premisa que debe cumplirse para que estos cuatro parámetros sean válidos es que sean números enteros no negativos y que cumplan (x0, a, k 0=2 y m=32 obtenemos la siguiente secuencia de valores:
2,11,6,23,10,3,14,15,18,27,22,7,26,19,30,31,2,11,6
La secuencia generada tiene longitud 16 (el último número generado en decimoséptimo lugar es el 2 inicial, por lo que toda la secuencia se repite a partir de ahí), muy inferior a la longitud máxima que podría tener (m=32).
Puede experimentarse que ciertas elecciones de los parámetros del generador de variables nos llevan a generar cadenas de valores de ciclos de amplitud máxima:
Si k!=0, la elección de los parámetros que nos llevan a ciclos de longitud máxima debe cumplir:
- m.c.d(k,m) = 1.
para cada factor primo p de m. *
si 4 es divisor de m.
Si k=0, la elección de los parámetros que nos llevan a ciclos de longitud máxima debe cumplir:
- m es primo.
para cada factor primo p de m-1.
Por ejemplo, tomando como valores m = 25 = 32, a = 5, x0 = 1 y k = 3 se obtiene la siguiente secuencia de números, que tiene amplitud máxima (longitud m=32):
1,8,11,26,5,28,15,14,9,16,19,2,13,4,23,22,17,24,27,10,21,12,31,30,25,0,3,18,29,20,7,6,1
Fuente | Wikipedia