Vous êtes sur la page 1sur 3

Universidad Nacional Experimental de Guayana

Departamento de Ciencia y Tecnologa


Jorge Paolini Ruiz, Ing, PhD

Los Nmeros Aleatorios en la Simulacin


La cuestin de los nmeros aleatorios no debe dejarse al azar, ya que lo que significa el
azar en la simulacin de sistemas se debe en buena medida a los nmeros aleatorios.
Una serie de nmeros aleatorios es "una serie de nmeros tales que, del conocimiento
de los ya obtenidos en la serie, es prcticamente imposible conocer cual ser el
prximo" (1).
Siempre han existido intentos ingeniosos para producir nmeros aleatorios, entre las
tcnicas ms conocidas se resean en Naylor (2): los mtodos manuales, las tablas de biblioteca,
los mtodos de computacin analgica y los de computacin digital. Los mtodos manuales
son muy ilustrativos, nos muestran cmo un nmero generado es independiente de otro. Para
producir nmeros mediante este mtodo se utilizan fichas numeradas, cartas de juego,
dados, monedas, ruletas, etc. Entre las dificultades de este mtodo tenemos la lentitud y la
imposibilidad de repetir una serie de nmeros. Los mtodos de Computacin Analgica
estn basados en la transformacin de la lectura de un proceso fsico a dgitos aleatorios.
Los nmeros producidos por este mtodo poseen ciertas caractersticas aleatorias, sin embargo,
adolecen igual que los procedimientos manuales de la condicin de reproducibilidad.
Finalmente, consideremos los mtodos utilizados en los computadores digitales, dentro de
estos mtodos podemos incluir los dgitos aleatorios provenientes del almacenamiento de tablas
en dispositivos duros, los producidos por procesos fsicos y los generados a travs de relaciones
de recurrencia. El problema del almacenamiento y de la repetibilidad se resuelve utilizando
relaciones de recurrencia, es decir, produciendo nmeros segn una transformacin que d la
sensacin de impredecibilidad, a tales series de nmeros se les ha llamado nmeros
seudoaleatorios.
En los mtodos de recurrencia, cada nmero generado se utilizar para producir el siguiente
utilizando alguna operacin sencilla, como la que se muestra a continuacin: Xn= a*Xn-1 mdulo
m. El valor del n-simo nmero se obtiene a partir del anterior. La secuencia de nmeros
generada por este mtodo puede considerarse aleatoria para un programa-usuario. La
implementacin de una rutina o procedimiento computacional que produzca dgitos de esta
naturaleza es de muy bajo costo en desarrollo y representa una ventaja grandiosa sobre los
mtodos mencionados anteriormente. Sobre la escogencia adecuada de los valores de X0, m y
a pueden consultarse a Carlos Domingo (3) y a Coss Bu (4). Existe una gran cantidad de modos
para generar dgitos con ciertas propiedades que se consideren series aleatorias.
Un interesante estudio sobre diferentes tipos de generadores aleatorios basados en relaciones
aritmticas puede conseguirse en Karian y Dudewicz (5). Una serie de nmeros debe ser probada
adecuadamente para usar con "tranquilidad aleatoria" el generador que la produjo y as
garantizar en un modelo la aleatoriedad que requieren algunos fenmenos reales.

Veamos lo que significa el papel del compilador en la generacin de los nmeros seudoaleatorios, en el caso que se muestra se declararon tipo extendido y tipo real. Como puede
verse los nmeros producidos empiezan a ser diferentes desde los primeros instantes de la
generacin. Debemos observar que el valor de Z para realizar una prueba rpida de los nmeros
aleatorios difiere significativamente.

Tipo Extended.
Funcin Aleat
a
= 742938285
X0
= 62089911
Mdulo = 2147483647.0

Tipo Extended
Promedio
=
Desviacin =
0.49099
0.34672
0.45810
0.85962
0.67150
0.22782
0.71141
0.18004
0.20315
0.60202
0.36710
0.28119
0.64500

0.34720
0.81921
0.31902
0.74467
0.90492
0.01211
0.53524
0.09929
0.68332
0.84992
0.24094
0.43717
0.97092

0.5134
0.0833
0.40471
0.80832
0.38920
0.71129
0.81357
0.48111
0.98917
0.95919
0.14944
0.73085
0.49485
0.16130
0.01194

n = 100
Z = 1.6065

0.80725
0.42170
0.80485
0.48973
0.56891
0.01283
0.57979
0.01046
0.50367
0.07021
0.58168
0.81152
0.06202

0.42990
0.28442
0.15286
0.21090
0.46489
0.61372
0.88264
0.11044
0.83849
0.46282
0.52020
0.72290

0.89226
0.92630
0.62336
0.46826
0.84318
0.77771
0.74220
0.13538
0.98269
0.10885
0.32082
0.35330

0.55588
0.52023
0.34319
0.18217
0.78262
0.50863
0.96828
0.02589
0.65990
0.46453
0.33130
0.07108

0.88239
0.33600
0.55600
0.30283
0.62900
0.03835
0.06013
0.63294
0.95579
0.85920
0.28253
0.06952

0.76465
0.67236
0.60742
0.38672
0.13184
0.21979
0.50342
0.33984
0.89209
0.07825
0.52832
0.89453

0.46417
0.97388
0.45435
0.76349
0.86328
0.69336
0.38135
0.60742
0.38672
0.13184
0.21979
0.50342

Tipo: Real
Promedio
=
Desviacin =
0.49100
0.32520
0.52197
0.19922
0.84766
0.06543
0.34497
0.45801
0.45435
0.76349
0.86328
0.69336
0.38135

0.10254
0.41797
0.45483
0.26318
0.51172
0.98438
0.64014
0.22949
0.19922
0.84766
0.06543
0.34497
0.45801

0.5564
0.0833
0.19458
0.54736
0.25586
0.25293
0.38770
0.04199
0.07690
0.17090
0.26318
0.51172
0.98438
0.64014
0.22949

n = 100
Z = 6.7686

0.70361
0.53027
0.19385
0.42236
0.05713
0.37891
0.55518
0.83362
0.25293
0.38770
0.04199
0.07690
0.17090

0.59229
0.46094
0.02856
0.25195
0.33350
0.15967
0.64551
0.51611
0.42236
0.05713
0.37891
0.55518

0.62646
0.58301
0.33984
0.89209
0.07825
0.52832
0.89453
0.74634
0.25195
0.33350
0.15967
0.64551

Cuando generamos nmeros aleatorios debemos hacernos cuestin del perodo del generador,
es decir de la cantidad de nmeros diferentes que se pueden generar, hasta que la serie de
nmeros vuelva a repetirse. Lo ideal es tener perodos cercanos a una cantidad muy grande
relacionados con la longitud de palabra del compilador utilizado, por ejemplo si la longitud de

palabra es de 16 bits el generador debera tener un perodo cercano a 2 15-1. En la siguiente tabla
se muestra un generador de perodo muy corto. Este tipo de generadores son de gran utilidad
para depurar los algoritmos de generacin de nmeros aleatorios.

Xn+1 = (9Xn+13) mod 32; X0=8

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40

Semilla X0
8
9Xn+13
85
202
103
76
121
238
139
112
157
274
175
148
193
22
211
184
229
58
247
220
265
94
283
256
13
130
31
292
49
166
67
40
85
202
103
76
121
238
139
112

modulo
32
(9Xn+13)/32
1.6563
6.3125
3.2188
2.3750
3.7813
7.4375
4.3438
3.5000
4.9063
8.5625
5.4688
4.6250
6.0313
0.6875
6.5938
5.7500
7.1563
1.8125
7.7188
6.8750
8.2813
2.9375
8.8438
8.0000
0.4063
4.0625
0.9688
9.1250
1.5313
5.1875
2.0938
1.2500
2.6563
6.3125
3.2188
2.3750
3.7813
7.4375
4.3438
3.5000

Entero
1
6
3
2
3
7
4
3
4
8
5
4
6
0
6
5
7
1
7
6
8
2
8
8
0
4
0
9
1
5
2
1
2
6
3
2
3
7
4
3

Decimal
0.6563
0.3125
0.2188
0.3750
0.7813
0.4375
0.3438
0.5000
0.9063
0.5625
0.4688
0.6250
0.0313
0.6875
0.5938
0.7500
0.1563
0.8125
0.7188
0.8750
0.2813
0.9375
0.8438
0.0000
0.4063
0.0625
0.9688
0.1250
0.5313
0.1875
0.0938
0.2500
0.6563
0.3125
0.2188
0.3750
0.7813
0.4375
0.3438
0.5000

(9Xn+13)mod32
21
10
7
12
25
14
11
16
29
18
15
20
1
22
19
24
5
26
23
28
9
30
27
0
13
2
31
4
17
6
3
8
21
10
7
12
25
14
11
16

Aleat
0.6563
0.3125
0.2188
0.3750
0.7813
0.4375
0.3438
0.5000
0.9063
0.5625
0.4688
0.6250
0.0313
0.6875
0.5938
0.7500
0.1563
0.8125
0.7188
0.8750
0.2813
0.9375
0.8438
0.0000
0.4063
0.0625
0.9688
0.1250
0.5313
0.1875
0.0938
0.2500
0.6563
0.3125
0.2188
0.3750
0.7813
0.4375
0.3438
0.5000

Notas y Referencias
1. Domingo, Carlos. (1983). Generacin de nmeros aleatorios. Universidad de los Andes. Instituto de Estadstica
Aplicada y Computacin. U.L.A. Mrida Venezuela.
2. Naylor, Balintfy, Burdick y Kong Chu. (1973). Tcnicas de Simulacin en Computadores. Editorial Limusa.
Mxico.
3. Domingo, Carlos. (1983), op. cit.
4.Coss Bu, R. (1982). Simulacin, Un Enfoque Prctico. Editorial Limusa. Mxico.
5. Karian, Z. y Dudewicz, E. (1991). Modern Statistical, Systems, and GPSS Simulation, The first course.
W.H. Freeman and Company.

Vous aimerez peut-être aussi