Sunteți pe pagina 1din 6

Metodos de Generacion de Números Pseudoaleatorios

marzo 14, 2011

Las variables independientes en el modelo matemático para una simulación son


tratadas con números aleatorios (porque representan las variables que no se
pueden controlar). Conseguir generar números aleatorios no es tan fácil como se
cree.

Realmente en los PC no se pueden generar números completamente al azar


debido a que no tienen ningún componente electrónico que presente
comportamiento totalmente aleatorio y envíe señales de este comportamiento
(todo es determinístico). ¿Cómo entonces un PC genera números al azar si los
lenguajes de programación como Java tienen una clase Random?

Los números “aletorios” en un PC son realmente números pseudos-aleatorios


generados por algoritmos, uno muy conocido es el:

M étodo Congruencial

X 1 = (A*X 0 +B)%N
X 2 = (A*X 1 +B)%N
X 3 = (A*X 2 +B)%N

Donde A , B y N son números enteros con valores iniciales (los números se


generan entre 0 y N-1). Y se le da un valor a X 0 al inicio.

Observe la siguiente tabla en la cual se prueba este método:

r
Número Pseudo-
X A B N Valor Aleatorio usado para calcular el
Aleatorio Generado
valor de las variables aleatorias

2 12 90 100 14 0,14

14 58 0,58
58 86 0,86

86 22 0,22

22 54 0,54

54 38 0,38

38 46 0,46

46 42 0,42

42 94 0,94

94 18 0,18

18 6 0,06

6 62 0,62

62 34 0,34

34 98 0,98

98 66 0,66

66 82 0,82

82 74 0,74

74 78 0,78

78 26 0,26

26 2 0,02

Técnicas de generación de números aleatorios

1. Algoritmo de Cuadrados Medios


Paso 1: Valor Inicial X (semilla)
Paso 2: Se eleva al cuadrado ese valor X
Paso 3: Se extrae los dígitos centrales
Paso 4: Se convierte a un valor entre 0 y 1
Paso 5: Usar el nuevo valor como X y volver al Paso 2

Ejemplo

Semilla = 4561 (r=0,4561)

r
Valor Cuadrado Valor Aleatorio usado para calcular el valor de las variables
aleatorias

20 8027
4561 0,8027
21

64 4327
8027 0,4327
29

18 7229
4327 0,7229
29

52 2584
7229 0,2584
41

2. Algoritmo de Producto Medio

X 0 =17, X 1 =23

X 2 =X 0 *X 1 =17*23= 39 1
X 3 =X 1 *X 2 =23*39= 89 7
X 4 =X 2 *X 3 =39*89=3 47 1
X n =X n -2 *X n-1
r
X0X1X2 Valor Aleatorio usado para calcular el
valor de las variables aleatorias

17 23 39 1 0,39

23 39 89 7 0,89

39 89 3 47 1 0,47

89 47 4 18 3 0,18

3. Algoritmo de Producto Medio modificado

X n+1 =K*X n

X 0 =17, K=23

X 1 =K*X 0 =23*17= 39 1
X 2 =K*X 1 =23*39= 89 7

r
K X0X1 Valor Aleatorio usado para calcular el
valor de las variables aleatorias

23 17 39 1 0,39

23 39 89 7 0,89

23 89 2 04 7 0,04

23 4 92 0,92
4. Método congruencial aditivo

X n+1 =(X n +X n-k ) Modulo M

k=2, X 0 =987, X 1 =173, X 2 =451, M=1000

r
k n X n-k X n M X n+1 Valor Aleatorio usado para calcular el
valor de las variables aleatorias

987
22 451 (X2) 1000 438 (X3) 0,438
(X0)

2 3 173 438 1000 611 0,611

2 4 451 611 1000 62 0,62

2 5 438 62 1000 500 0,5

2 6 611 500 1000 111 0,111

5. Método congruencial multiplicativo

X n+1 =(K*X n ) Modulo M

r
kX0 M X n+1 Valor Aleatorio usado para calcular el
valor de las variables aleatorias

3 56 679 168 168/679=0,2474

168 504 0,7422

504 154 0,2268


154 462 0,6804

462 28 0,0412

S-ar putea să vă placă și