Numeros Aleatorios
Enviado por isabella2010 • 22 de Marzo de 2013 • 4.123 Palabras (17 Páginas) • 407 Visitas
3.- Generación de números aleatorios
Una vez construido un modelo, debemos experimentar sobre él y para poder ejecutarlo
necesitamos dar valores a las variables de tipo exógeno. De esta forma podremos obtener valores de
salida y pasaremos a realizar un análisis de los mismos. Algunas de las variables de entrada son de
tipo aleatorio por lo que se tendrán que generar valores que simulen dichas entradas. Para generar
variables aleatorias que sigan determinadas funciones de probabilidad necesitamos partir de series de
números que cumplan ciertas características de aleatoriedad. La generación de dichos números es lo
que se va a abordar en este tema.
3.1.- Introducción
Es grande la necesidad de usar números aleatorios y son muchas las aplicaciones que
requieren de ellos, tales como:
· Simulación: para simular las entradas de aquellas variables aleatorias (no
determinísticas).
· Juegos o teoría de decisiones.
· Cálculo numérico: por ejemplo en la resolución de integrales.
· Teoría del muestreo: aquellos casos en los que sea demasiado costoso realizar la
muestra.
· Programación: generación de entradas para realizar las pruebas de los algoritmos y
programas.
Antes se ha hecho referencia a “número aleatorio”, en realidad no se puede hablar de la
aleatoriedad o no aleatoriedad de un número aislado, sino de éste en relación con otros, es decir, la
aleatoriedad es una característica que posee o no una serie de números. A partir de esta aclaración
Generación de números aleatorios
52
siempre que nos refiramos a un número aleatorio estaremos hablando de un número perteneciente a
una serie aleatoria.
3.2.- Generadores de números. Tipos
Las características deseables para los generadores de números aleatorios son las siguientes:
· Los números generados no se deben repetir frecuentemente (en ciclos).
· Las series generadas deben ser reproducibles.
· Rapidez en la obtención de los números.
· Almacenamiento mínimo. Tanto el propio generador como los números por el
generados.
· Los números generados han de estar uniformemente distribuidos (todos deben tener la
misma probabilidad de salir).
· Los valores generados deben ser independientes unos de otros, es decir, que la
obtención de cierto valor no esté condicionado por los valores obtenidos anteriormente.
Vamos a ver distintos métodos y para cada uno evaluaremos cuáles de las características
descritas arriba cumple y cuáles no.
1) Manual. Por ejemplo , lanzar un dado o realizar extracciones con reemplazamiento de
bolas numeradas dentro de una urna.
Ventajas:
- Las series obtenidas son realmente aleatorias.
Inconvenientes:
- Lentitud.
- Las series obtenidas son irreproducibles.
- Requieren gran cantidad de almacenamiento ya que habría que almacenar la serie
obtenida.
2) Tablas. (De hasta 100000 números).
Ventajas:
- Las series obtenidas son reproducibles.
Inconvenientes:
- Lentitud.
- Requieren gran cantidad de almacenamiento.
Generación de números aleatorios
53
3) Computación analógica. Las series se obtienen mediante fenómenos físicos.
Ventajas:
- Las series obtenidas son realmente aleatorias.
- Rapidez.
Inconvenientes:
- Las series obtenidas son irreproducibles.
4) Computación digital. Dada una función y una semilla, se van generando los números
aleatorios.
Ventajas:
- Rapidez.
- Pocos requerimientos de almacenamiento.
- Las series obtenidas son reproducibles.
Inconvenientes:
- Los números obtenidos no son independientes.
Nosotros, nos vamos a centrar en la utilización de éstos últimos. Por tanto, vamos a entender
por Generador de números aleatorios, un código al que vamos a llamar cada vez que necesitemos una
aproximación a un número aleatorio.
En 1946, Von Neumann propuso un método para obtener números aleatorios de k-cifras, a
partir de una semilla. Dicho método es conocido como Método de los cuadrados centrales.
El método consiste en partir de una semilla y elevarla al cuadrado, el siguiente número de la
serie se obtendría como resultado de extraer las k-cifras centrales del cuadrado obtenido y así
sucesivamente.
El problema que presenta este método es que los ciclos se producen rápidamente.
3.3.- Generadores congruenciales lineales
Nos vamos, pues, a centrar en los métodos de computación digital. A los números obtenidos
mediante dichos métodos se les conoce como números pseudoaleatorios, dado que, como se ha
mencionado más arriba, los números obtenidos están uniformemente distribuidos pero no son
independientes. Vamos a generar números uniformemente distribuidos en el intervalo (0,1) (U(0,1)),
dado que es fácil pasar desde ellos a otros que estén en otro intervalo.
Generación de números aleatorios
54
3.3.1.- Introducción
Hacia 1949, Lehmer introduce un método de generación de números aleatorios mediante el
cual un término de la serie se obtiene como función del término inmediatamente anterior (xn=f(xn-1)).
La función aplicada es la siguiente:
x ax c m siendo x m n n n n = + £ < " + ( ) mod , 0 1
En el generador distinguimos cuatro elementos:
· x0, es el valor inicial o semilla.
· a, multiplicador, siendo 0 £ a < m.
· c, incremento, siendo 0 £ a < m.
· m, módulo.
Se llama periodo a la subcadena, dentro de la serie generada, en la que no hay repeticiones de
números y longitud de periodo al número de elementos de dicha subcadena.
La repetición de números en la serie puede ser aleatoria, pero dado el método utilizado para la
generación de las mismas, en el momento en el que se repite un valor ya empieza a repetirse todo el
periodo, por lo que interesan métodos que garanticen longitudes de periodo grandes.
3.3.2.- Tipos de Generadores congruenciales lineales
Podemos distinguir dos tipos de estos generadores que se diferencian en el valor del
incremento.
· G.C. Multiplicativos. En ellos el incremento, c, es 0. Este tipo de generadores fueron los
introducidos por Lehmer, aunque mencionó como posibilidad la idea de tomar c¹0.
x ax m n n mod 1 = +
...