Está en la página 1de 39

NÚMEROS

PSEUDOALETORIOS

MATEMATICA SUPERIOR
Ing. Paula A. Toselli
BIBLIOGRAFÍA SUGERIDA:
The Art of Computer
Programming – Donald Knuth

Ing. Paula A. Toselli 2


INTRODUCCION
Fue uno de los pioneros que
sugirió en 1946 la primera
JOHN VON
aproximación.
NEUMANN

Su idea se baso en calcular


el cuadrado de un número
aleatorio previo y extraer
los dígitos del medio.
Ing. Paula A. Toselli 3
INTRODUCCION
Ejemplo
Si generamos un número de
JOHN VON 10 dígitos y el valor previo
NEUMANN era 5772156649 el cuadrado
de ese número sería
333177923805944909201 por
lo que el próximo número
sería 79238059449
Ing. Paula A. Toselli 4
INTRODUCCION
AHORA…
¿Cómo una secuencia
JOHN VON generada de tal manera
NEUMANN puede ser aleatoria, siendo
que cada número esta
completamente
determinado por su
predecesor?
Ing. Paula A. Toselli 5
La respuesta es que la
secuencia no es random
sino que aparenta serlo.

Ing. Paula A. Toselli 6


Las secuencias generadas de manera
determinística son denominadas

pseudoaleatorias
Ing. Paula A. Toselli 7
INTRODUCCION
› Los números elegidos de manera random o aleatoria
son muy útiles en diversas áreas y aplicaciones.
Veamos algunos ejemplos:

› SIMULACION - se utilizan para explicar


computacionalmente fenómenos naturales o reales
en cualquier campo. Por ej: el estudio estadístico de
la cantidad de personas que llegan a un aeropuerto
durante intervalos aleatorios de tiempo.
Ing. Paula A. Toselli 8
INTRODUCCION
› SAMPLING – como a menudo no es práctico
examinar todos los casos posibles de un
determinado evento se pueden establecer
ejemplos, aleatorios, para analizar lo que constituye
un comportamiento “típico”.

› ANALISIS NUMERICO – en esta área se desarrollaron


diversas técnicas que permiten resolver problemas
numéricos complejos a partir de números aleatorios.
Ing. Paula A. Toselli 9
INTRODUCCION
› PROGRAMACION – Los
números aleatorios son muy
útiles como datos de prueba
para comprobar la
efectividad de algoritmos
computacionales.

Ing. Paula A. Toselli 10


METODOS

Ing. Paula A. Toselli


MIDDLE SQUARE METHOD
› El método original de Von Neumann, si
bien fue uno de los pioneros, termino
siendo un generador pobre de números
aleatorios.

› El problema principal es que la secuencia


tiende a caer en un ciclo de elementos
repetitivos. Ing. Paula A. Toselli 12
GENERANDO NUMEROS
ALEATORIOS UNIFORMES

Ing. Paula A. Toselli 13


NUMEROS ALEATORIOS
En este caso generaremos enteros Xn entre 0 y
algún número 𝑚 utilizando la fórmula:

𝑿𝒏
𝑼𝒏 =
𝒎
Donde 𝑈 varía entre 0 y 1. 𝑚 es del tamaño de una
palabra de computadora (Ej. 16, 32 ó 64 bits)
Y Xn se considerara el contenido entero de una
palabra. Ing. Paula A. Toselli 14
THE LINEAR CONGRUENTIAL METHOD
(MÉTODO CONGRUENCIAL LINEAL)

Es uno de los métodos mas


conocidos para generar números
aleatorios.

Fue presentado por D. H. Lehmer


en 1949

Ing. Paula A. Toselli 15


THE LINEAR CONGRUENTIAL METHOD
DESARROLLO

Primero tenemos que considerar 4


enteros:

𝑚, 𝑒𝑙 𝑚ó𝑑𝑢𝑙𝑜; 0 < 𝑚
𝑎, 𝑒𝑙 𝑚𝑢𝑙𝑡𝑖𝑝𝑙𝑖𝑐𝑎𝑑𝑜𝑟; 0 ≤ 𝑎 < 𝑚
𝑐, 𝑒𝑙 𝑖𝑛𝑐𝑟𝑒𝑚𝑒𝑛𝑡𝑜; 0 ≤ 𝑐 < 𝑚
𝑋0 , 𝑒𝑙 𝑣𝑎𝑙𝑜𝑟 𝑑𝑒 𝑖𝑛𝑖𝑐𝑖𝑜; 0 ≤ 𝑋0 < 𝑚
Ing. Paula A. Toselli 16
THE LINEAR CONGRUENTIAL METHOD
DESARROLLO

La secuencia deseada de números


aleatorios 𝑋𝑛 se obtiene
calculando:

𝑋𝑛+1 = 𝑎𝑋𝑛 + 𝑐 𝑚𝑜𝑑 𝑚, 𝑛 ≥ 0


Secuencia Congruencial Lineal
Ing. Paula A. Toselli 17
THE LINEAR CONGRUENTIAL METHOD
Ejemplo
Siendo 𝑚 = 10 y
THE LINEAR X0 = a = c = 7
CONGRUENTIAL la secuencia resultante sería:
METHOD

7,6,9,0,7,6,9,0, …

Ing. Paula A. Toselli 18


THE LINEAR CONGRUENTIAL METHOD

Como puede observarse la


secuencia no siempre es
THE LINEAR
CONGRUENTIAL
aleatoria para cualquier valor
METHOD de 𝑚, 𝑎, 𝑐 y X0 .

El ejemplo demuestra que las


secuencia congruenciales
entran siempre en un loop.
Ing. Paula A. Toselli 19
THE LINEAR CONGRUENTIAL METHOD
(MÉTODO CONGRUENCIAL LINEAL)

Esta propiedad cíclica es común en


todas las secuencias del tipo
𝑋𝑛+1 = 𝑓(𝑋𝑛 ) y el ciclo repetitivo
se denomina período.

Ing. Paula A. Toselli 20


THE LINEAR CONGRUENTIAL METHOD
(MÉTODO CONGRUENCIAL LINEAL)

Una secuencia útil tendrá un


período relativamente largo.

Por lo cual el proceso de selección


de los enteros es de suma
importancia. Por ejemplo, un 𝑐 = 0
generará un período más largo y un
𝑐 ≠ 0 uno muy corto.
Ing. Paula A. Toselli 21
THE LINEAR CONGRUENTIAL METHOD
(MÉTODO CONGRUENCIAL LINEAL)

En el caso donde 𝑎 = 1 la
secuencia no tendrá un
comportamiento aleatorio.

Por lo cual en la práctica se


recomienda que 𝑎 ≥ 2 y 𝑏 ≥ 1
Ing. Paula A. Toselli 22
THE LINEAR CONGRUENTIAL METHOD
(MÉTODO CONGRUENCIAL LINEAL)

Ahora generalizando la secuencia


tenemos:

𝑋𝑛+𝑘 = 𝑎𝑘 𝑋𝑛 + 𝑎𝑘 − 1 𝑐ൗ𝑏 𝑚𝑜𝑑 𝑚

𝑘 ≥ 0, 𝑛 ≥ 0
Ing. Paula A. Toselli 23
OTROS METODOS
PARA GENERAR
NUMEROS ALEATORIOS

Ing. Paula A. Toselli 24


Por supuesto existen otros métodos, además
de la Secuencia Congruencial Lineal
Y nombraremos algunos a continuación…

Ing. Paula A. Toselli 25


OTROS METODOS…

Consideremos otro enfoque del


método de congruencia lineal,

𝑋𝑛+1 = 𝑎𝑋𝑛 + 𝑐 𝑚𝑜𝑑 𝑚

aplicando una mejora …

Ing. Paula A. Toselli 26


OTROS METODOS…

Este método puede generalizarse a


una función cuadrática…

𝑋𝑛+1 = 𝑑𝑋𝑛2 + 𝑎𝑋𝑛 + 𝑐 𝑚𝑜𝑑 𝑚

Ing. Paula A. Toselli 27


OTROS METODOS…
Otro método cuadrático fue
propuesto por R.R. Coveyou donde
la modificación radica en que 𝑚 es
una 𝑝𝑜𝑡𝑒𝑛𝑐𝑖𝑎 𝑑𝑒 2… Siendo:
𝑋0 𝑚𝑜𝑑 4 = 2,

𝐗 𝒏+𝟏 = 𝐗 𝐧 (𝐗 𝐧 + 𝟏)𝐦𝐨𝐝 𝟐𝒆
∴ 𝑛≥0
Ing. Paula A. Toselli 28
OTROS METODOS…

Este método tiene la ventaja de


que puede calcularse con la misma
eficiencia que el de congruencia
lineal pero sin los problemas de
overflow.

Ing. Paula A. Toselli 29


OTROS METODOS…

Otro tipo de generadores son los


presentados por Green, Smith y
Klem.

Los mismos tienen la forma:

𝑋𝑛+1 = 𝑋𝑛 + 𝑋𝑛−𝑘 𝑚𝑜𝑑 𝑚


Ing. Paula A. Toselli 30
OTROS METODOS…

Si bien son utilizados, las pruebas


demuestran que los resultados son
satisfactorios si tomamos un valor
de 𝑘 𝑖𝑔𝑢𝑎𝑙 𝑎 16.

Ing. Paula A. Toselli 31


OTROS METODOS…

COMBINACIONES
Otras técnicas introducen el
concepto de combinaciones para
generar números aleatorios.

Ing. Paula A. Toselli 32


OTROS METODOS… COMBINACIONES

Algoritmo M
Genera una secuencia de salida con
términos “más aleatorios” luego de
combinar las secuencias de entrada
𝑋𝑛 e 𝑌𝑛

Ing. Paula A. Toselli 33


OTROS METODOS… COMBINACIONES

Algoritmo B
Es una mejora del Algoritmo M ya
que genera también una secuencia
de salida con términos “más
aleatorios” pero sólo necesita una
secuencia de entrada 𝑋𝑛 .

Ing. Paula A. Toselli 34


OTROS METODOS… COMBINACIONES

Si bien estas combinaciones son


útiles y más simples que los otros
métodos presentan algunas
desventajas importantes:

1. La salida producida solo altera el


orden o mezcla los números
generados pero no los reemplazan.
Ing. Paula A. Toselli 35
OTROS METODOS… COMBINACIONES

2. No permiten comenzar a generar


números desde un determinado
punto del período.

3. La generación de un número 𝑋𝑛 a
𝑋𝑛+𝑘 es lenta si el valor de 𝑘 es
muy alto.
Ing. Paula A. Toselli 36
TEST
¿Cómo verifico si el generador es
“bueno” en termino aleatorios?
Existen diversos test para verificar las
bondades del generador y se clasifican
en:

Ing. Paula A. Toselli 37


TEST
1. Empíricas: evalúan estadísticas de
sucesiones de números.
2. Teóricas: se establecen las
características de las sucesiones
usando métodos de teoría de
números con base en la regla de
recurrencia que generó la sucesión.

Ing. Paula A. Toselli 38


TEST
¿El problema para nuestra instancia?

La mayoría utiliza probabilidad y


estadística sólo analizaremos uno que
analiza gráficamente los números
aleatorios y el mismo se trabajará en el
práctico.
Ing. Paula A. Toselli 39

También podría gustarte