| « Europa exige un certificado para garantizar un arroz libre de transgénicos | Portada | Nace Hispaciencia, la comunidad de blogs sobre ciencia » |
01 septiembre 2006
Generación de valores de una variable aleatoria
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
Más noticias sobre:
Matemáticas
Comentarios (1)
| Trackback
Comentarios
Una anécdota curiosa sobre generadores de números aleatorios la protagonizó IBM con su famosa rutina RANDU cuya historia podréis encontrarla en la wikipedia (en inglés). Si de verdad necesitáis números aleatorios olvidaros de las funciones implícitas que traen algunos lenguajes de programación. En el Numerical Recipes podréis encontrar un par de generadores decentes.
#1 | Escrito por Señor X | 02 sep 2006 15:55:30
Noticias relacionadas
27 junio 2008 | El efecto mariposa y el fútbol
19 junio 2008 | La sucesión de Fibonacci
30 mayo 2008 | El número de Erdös
16 diciembre 2007 | Aplicaciones de la geometría fractal: cómo calcular la edad de un pino
16 diciembre 2007 | Geometría fractal y ecología: focas, mejillones, bacterias y costa.






