Sei sulla pagina 1di 16

Toda la naturaleza es como un arte desconocido a nosotros,

Todo chance es una direccin que no alcanzamos a ver.


Alexander Pope, 1688 1744, Un Ensayo sobre el Hombre

-------------- Captulo 7---------------------Interludio: Modelando la aleatoriedad


Este captulo desarrolla mtodos para hacer simulaciones por ordenador de
modelos aleatorios. Las simulaciones nos ayudan a intuir acerca de la aleatoriedad
que opera dentro de los procesos y nos ayuda a desarrollar la manera de apreciar
cmo los procesos aleatorios difieren de los determinsticos. El enfoque algortmico
que uno debe tomar para elaborar un programa nos conduce a un entendimiento
diferente del modelo que es complementario al enfoque terico. Adems, las
simulaciones por computadora son algunas veces el nico mtodo para obtener
respuesta en ecuaciones que son difciles de solucionar.
Se usa un lenguaje algortmico general; el cual, es de hecho, un subconjunto
de Pascal, aunque en el cdigo se orientar al uso de Scilab. Scilab es un lenguaje
muy similar a otros en este contexto. Por lo que no le ser difcil dominarlos los
trminos si Ud. Ya conoce algn otro lenguaje de programacin.
7.1 GENERADORES DE NMEROS ALEATORIOS (O PSEUDO-ALEATORIOS).
En el corazn de simulaciones de modelos aleatorios est un mtodo para producir
nmeros aleatorios es un procemiento o funcin que estar produciendo nmero
tras nmero de una manera que estarn uniformemente distribuidos en el intervalo
[0,1] sin ningn patrn aparente. El mtodo explicado en esta seccin es el mtodo
usado por la mayora de lenguajes de programacin que tienen incorporado un
programa generador de nmeros aleatorios.
En realidad, el generador de nmeros aleatorios es una frmula especfica
que produce los nmeros en una manera completamente deterministica. Esto es
una contradiccin para la idea misma de aleatoriedad. Por lo que
consecuentemente, los nmeros producidos por el generador se llaman a menudo
pseudo-aleatorios porque, aunque tienen un patrn muy definido, parecen no tener
patrn perceptible detectable si uno no conoce la frmula exacta usada. El hecho
que la misma secuencia de nmeros pseudo-aleatorios sea generada cada vez que
el generador es usado es incluso til en ayudar a depurar programas y comprender
el resultado de la simulacin. Aleatoriedad quiere decir sin patrn; Pseudo
- aleatoriedad quiere decir sin patrn aparente.

Comenzando con enteros positivos MULT (de MULTiplicador), ADDR (de


sumador), y NORMA (para normalizador). SEED debe ser un nmero pseudoaleatorio satisfaciendo

0 SEED <
Cada vez que un nmero NORMA
aleatorio nuevo se necesita, se produce del valor previo
de SEED por la frmula

SEED= (MULT*SEED + ADDR) MODULO


NORMA
Es decir, el primer valor de SEED se multiplica por MULT, y luego se le suma ADDR,
y finalmente el residuo obtenido de la divisin por NORMA es el nuevo valor de
SEED.
El ejemplo 1
Use estos valores
MULT = 6

ADDR = 5

NORMA = 11

Qu valores de SEED se producir si el valor inicial de SEED es 0? , Si el valor


inicial es 4?
Solucin: Cada vez que el valor nuevo de SEED es
SEED = (6 *SEED + 5) modulo 11
Con SEED inicialmente 0 esta es la secuencia generada:
0 5 2 6 8 9 4 7 3 1 0 5 2 6 8 ...
Con SEED inicialmente 4 esta es la secuencia generada:
4 7 3 1 0 5 2 6 8 9 4 7 3 1 0 5 2 ...
Del ejemplo 1, dos hechos son aparentes: Primero, puesto que el siguiente
nmero en la secuencia es generado slo del valor del nmero previo, si en
cualquier momento se genera un nmero que ya haba sido generado, entonces a
partir de ese punto en adelante se comienza a repetir la lista. En segundo lugar,
la longitud del ciclo el nmero de nmeros distintos antes de que la
repeticin ocurra puede ser a lo sumo de longitud igual que el valor de
NORMA. Esto est as dado que la funcin modulo produce el residuo de la divisin
entera por NORMA, lo cual necesariamente es un nmero entre 0 y NORMA-1; As
que hay NORMA valores posibles de residuo NORMA valores posibles del nmero

aleatorio SEED, es decir; Y tan pronto como uno es repetido, la repeticin de la lista
entera ocurre. Un buen generador aleatorio de nmero usara valores de MULT;
ADDR, y NORMA a fin de que la longitud del ciclo sea la ms grande posible.
El ejemplo 2
Considere el generador
SEED = (6 *SEED + 3) modulo 7
Entonces con valores iniciales
generadas:
0 3 0 3 0 3 0 3 0 3
1 2 1 2 1 2 1 2 1 2
4 6 4 6 4 6 4 6 4 6
5 5 5 5 5 5 5 5 5 5

diferentes de SEED, estas son las secuencias

Aunque el valor de NORMA = 7 sugiere que la longitud del ciclo es el mximo valor
de 7, las longitudes del ciclo reales son pequeas; Si SEED es inicialmente 5, en ese
entonces el generador aleatorio de nmero es realmente intil.
La teora de qu aprecia del resultado de parmetros en buenos generadores
aleatorios de nmero est complicado y ms un tema de lgebra abstracta que de
probabilidad. Nuestro inters aqu est de moda usar un generador aleatorio de
nmero y el siguiente teorema es dicho sin prueba.*
Teorema
El generador aleatorio de nmero producir la mxima longitud ciclista NORMA
de pseudos - nmeros aleatorios con cualquier valor inicial de SEED debajo de
ya sea de estas condiciones:
NORMA es una potencia de 10.
ADDR acaba en (el dgito de unidades) 1, 3, 7, o 9.
MULT-1 es un mltiplo de 20.
NORMA es una potencia de 2.
ADDR es extrao.
MULT-1 es un mltiplo de 4.
El ejemplo 3

Con NORMA = 10, ADDR = 27, y = 21 MULT, la longitud de ciclo mximo de


NORMA = 10 se obtiene. Para comprobar esto, usamos:
SEED = (21*SEED + 27)
modulo 10

Para producir cada valor sucesivo de SEED. Con SEED inicialmente 0 esta es la
secuencia obtenida:
0 7 4 1 8 5 2 9 6 3 0. . .
Cul tiene una longitud de ciclo de 10?.
Con NORMA = 16, ADDR 7, y MULT 21 la mxima longitud del ciclo de NORMA = 16
es obtenida. Aqu

SEED = (21*SEED + 7) modulo


16
Produce esta secuencia con SEED inicialmente 0:
0 7 10 9 4 11 14 13 8 15 2 1 12 3 6 5 0. . .
El cual, en efecto, tiene una longitud de ciclo de 16.
El descubrimiento salda al dividir por los potencias de 10 puede hacerse
rpidamente por seres humanos. Por ejemplo, 237 modulo 100 = 37; 3451
modulo 10 = 1; 9087 modulo 100 = 87. Pero las computadoras (usando aritmtica
binaria) pueden encontrar restos ms rpidamente al dividir por potencias

de 2.
Adems de longitudes de ciclos largos, un generador aleatorio de nmero
debe satisfacer esta condicin: el resultado de cualquier clculo
aritmtico en el clculo de SEED desde el valor anterior de SEED no
debe exceder el entero mximo que se puede almacenar en la
computadora; de lo contrario, resultara una condicin de desbordamiento. Para
computadoras que almacenan enteros en 32 bits, por ejemplo, este mximo entero
es 2147483647 = 232 - 1. El mximo valor usado en computar el siguiente valor de
SEED es
MULT * + (el mximo valor de SEED) + ADDR

Pero el valor mximo de SEED es NORMA-1. Por consiguiente, MULT, ADDR,


y Norma debe elegirse de forma que:
MULT*(NORMA-1)
+ADDR
No excede el tamao del entero mximo.
El ejemplo 4

Usando el teorema, lo siguiente sera producir generadores de nmeros


aleatorios con un mximo de duracin del ciclo NORMA:
NORMA ADDR

MULT

100
10000

641
2601

41
4857

MULT*(NORMA-1)+ADDR= mximo entero


generado
63500
26012256

1024
32768

57
8485

981
22073

1003620
723274476

En resumen, desde grandes longitudes de ciclo son deseables, MULT, ADDR, y


NORMA deberan estar escogidos satisfaciendo las condiciones del teorema de tal
manera que (NORMA-1) *MULT +ADDR est prximo al mximo tamao de entero.
Entonces cualquier valor inicial de SEED le producir a NORMA muchos pseudos
nmeros aleatorios sin repeticin. Tenga en cuenta que no hay punto en el uso
de un valor inicial de SEED > NORMA-1 ya que cada valor sucesivo de
SEED ser menor que NORMA. Por qu?
Hasta ahora, el generador de nmeros aleatorios produce SEED enteros CON
0 SEED < NORMA. Para obtener un nmero adentro el intervalo de la unidad,
simplemente divide SEED por NORMA.
Con un valor inicial de SEED y MULT constantes, ADDR, NORMA, nmeros pseudo
aleatorios en el intervalo de la unidad [ 0,1) es obtenido por estas dos instrucciones
SEED= (MULT*SEED +ADDR)modulo NORMA;
RND= SEED/NORMA

El ejemplo 5
Escriba un programa para generar 100 nmeros aleatorios en [0, 1].
Solucin
norma=10000;
addr=4857;
mult=8601;
seed=0;
for i=1:1:100
seed=modulo(mult*seed+addr,norma);
rnd=seed/norma;
printf('%3d %20.8e \n',i,rnd);
end

Los nmeros pseudo-aleatorios producidos de esta manera tienen buena


probabilidad de pasar varias pruebas de aleatoriedad. Por ejemplo, la media
de los nmeros es aproximadamente 1/2; Aproximadamente de un dcima parte de
ellos se subdividir (o cae) en cada uno de los intervalos [ 0, uno), [ 1, 2), , [ 9, 1
). Con cualquier secuencia finita, sin embargo, no puede haber prueba completa de
aleatoriedad. Adems, puesto que los nmeros pseudos - aleatorios son obtenidos

por una frmula determinista, si el modelo aleatorio que es simul incorpora un


patrn que coincide con el patrn de la frmula aleatoria del generador de
nmeros, en ese entonces el generador puede resultar malo para ese modelo.
Antes de utilizar un generador de nmeros aleatorios especial (la eleccin de
NORMA, ADDR, y MULT), uno debera realizar algunas comprobaciones simples.
Teniendo un listado de varios centenares de ellas y visualmente inspecciona la lista;
hace que parecen ser aleatorias? Haga que el promedio impreso. Est cerca

de ? Y as sucesivamente. (Vase problemas del 7.6 al 7.10).


Tenga en cuenta tambin que un generador de nmeros aleatorios es
slo capaz de producir NORMA muchos valores diferentes de RND. Si se
requieren ms de una simulacin, los valores de NORMA, ADDR, y MULT
debe ser el cambio.
El ejemplo 6
Simulando Pruebas del Bernoulli

Introduzca una probabilidad p de xito en cada ensayo de Bernoulli y


un MAXI entero, y la salida MAXI muchas simulaciones de ensayos de
Bernoulli (MAXI diversos letras "S" o "F").
Solucin

Despus de generar cada valor de RND como en el ejemplo 5, una decisin


tiene que ser hecho si el valor de RND corresponder a una S o a una F. pero
la probabilidad de que RND es menor que p es exactamente p, ya que el
intervalo [0, p) ocupa una fraccin p de la unidad de intervalo entero [0, 1].
As RND simula un xito si RND <p, de lo contrario, RND simula un fracaso.
clc;
norma=10000;
addr=4857;
mult=8601;
seed=0;
p=input('digite la probabilidad: ');
MAX=input('digite la cantidad de prubas de Bernoulli a
realizar: ');
for i=1:1:MAX
seed=modulo(mult*seed+addr,norma);
rnd=seed/norma;
if rnd<p then
printf('%3d
else
printf('%3d
end
end

%20.8e

S\n',i,rnd);

%20.8e

F\n',i,rnd);

Problemas
7.1. Con los siguientes valores de NORMA, ADDR, MULT, y el valor inicial de SEED,
escriba la secuencia de valores sucesivos de SEED generada de SEED=
(MULT*SEED+ADDR) modulo NORMA. Comience con SEED = 0.

(A)
(B)
(C)
(D)
(E)
(F)

MULT
4
5
2
5
1
7

ADDR
3
3
3
7
9
4

NORMA
7
16
16
10
10
9

Para cul de ellas es la duracin del ciclo igual a Norma? Cul de ellos

satisfacen las condiciones del teorema?


7.2. Si NORMA = 1035, ADDR 6355; MULT 2309, cul es el mximo valor de MULT
*SEED +ADDR que se obtiene con un valor inicial de SEED menor que el de
NORMA?
7.3. Demostrar que M mdulo NORMA= M, mdulo NORMA si y slo si M-M,

es un mltiplo de NORMA. Muestran que, en consecuencia, si MULT - MULT,


es un mltiplo de NORMA, entonces
(MULT*SEED + ADDR) modulo NORMA = (MULT 1*SEED + ADDR) modulo
NORMA
Por lo tanto MULT, ADDR, NORMA producen el mismo generador de nmeros
aleatorio como MULT1, ADDR, NORMA.
7.4. Demostrar que MULT, ADDR, NORMA producen el mismo generador de

nmeros aleatorios como MULT, ADDR1, NORMA si ADDR - ADDR1 es un


mltiplo de NORMA.

Note Nota: este problema 7,3 implica que no es momento de

tomar MULT mayor que NORM. Esto es as ya que si MULT> NORM,


entonces el mismo generador de nmeros aleatorios se obtiene
restando NORMA de MULT suficientes veces que ADDR se pueden

tomar para ser menor queNORMA sin la eliminacin de cualquier de


los generadores
7.5. Qu pasar si MULT = 1? Al generar 10 los valores sucesivos de SEED

si el valor inicial de SEED es 0 y SEED = (1 + SEED +17) modulo 400. Qu


est mal con este generador?
En los problemas de los programas siguientes se utilizan los mismos valores
de NORM, ADDR, y el MULT.
7.6 Averige cul es el mximo entero est en su ordenador. A

continuacin, seleccione NORM, ADDR, y MULT que satisface el teorema,


pero a fin de que (NORM-1) *MULT +ADDR no exceda dicho lmite mximo.
7.7. Con su eleccin de NORMA; ADDR, y MULT, escriban un programa que usa el
nmero inicial de ciclos del lazo realizado. Este nmero debera ser NORMA (si
usted ha escogido su generador aleatorio de nmero de conformidad con el
teorema). Tambin imprimir el promedio de todos los valores RND.
7.8. Escriba un programa que ser ENTRADA MAXI igual a la cantidad de

nmeros aleatorios RND = SEED / NORMA a generar. Imprimir todos los


estos nmeros (asegrese de MAXI no sea demasiado grande) Y compruebe
que parecen estar distribuidos al azar en [0, 1], sin ningn patrn obvio.
7.9. Con el mismo generador aleatorio de nmero, escribir un programa para
MAXI entrada. Calcular los distintos valores MAXI de RND comenzando con el
valor inicial de igual de la SEED para 0. Imprima el nmero de valores de RND en
cada uno de los intervalos [0, 1 ), [ 1, 2 ), ; [ 9, 1 ]. Estos cada uno deberan estar
prximos al MAXI/10. Ejecute el programa con varias entradas de MAXI.
7.10. Con el mismo generador aleatorio de nmero, escriba un programa para
recoger los distintos valores MAXI de RND (indicando con un valor inicial de

SEED igual a 0) y calcular el nmero de veces que los valores actuales de


RND es mayor que el valor anterior o RND. Este nmero debe ser
aproximadamente MAXI / 2.

7.2. SIMULANDO PROBABILIDADES Y EXPECTATIVAS


Recordemos que la interpretacin de la frecuencia de la probabilidad afirma
que si un experimento aleatorio se realiza un MAX gran nmero de veces y
el evento A ocurre un momento, entonces P (A) n / MAX.
Para simular P (A), la entrada de un gran valor MAXI, simular
los tiempos experimento aleatorio MAXI, aadir 1 a SUMA
cada vez que los resultados de la simulacin en el evento A,
la salida SUMA / MAXI.

Recuerde tambin que si la X es una variable aleatoria, la E (X) es


aproximadamente la media de los valores de X en un gran nmero de
repeticiones del experimento aleatorio.

Para simular E (X), la entrada de un gran valor MAXI, simular los tiempos
experimento aleatorio MAX, agregue el valor de X en cada una de SUMA, y la
salida SUM / MAX.
Qu tan grande debe ser MAXI para que las aproximaciones sean
correctas? La respuesta requiere el teorema del lmite central y la ley de los
grandes nmeros (captulo 10). Pero considere esto: si MAXI = 1000 y SUMA
es un nmero entero, SUMA / MAXI slo puede tener un mximo de tres
dgitos distintos de cero a la derecha del punto decimal. Para una mayor
precisin a estos muchos lugares, MAXI tiene que ser tomado
considerablemente mayor que 1000
.El ejemplo 7
Tres bolas son lanzadas al azar en 5 latas. Cul es la probabilidad que
todos ellos aterrizan en latas diferentes?
La solucin que hay 53 formas para distribuir todo el adentro para
las latas, 53 de los cuales tienen bolas en latas diferentes. Por lo tanto la
probabilidad exacta es

clc; Para simular las probabilidades, introduzca en la computadora un


entero
MAX,
en ese entonces muchos tiempo simule que tres nmeros de
norma
= 10000;
los
contenedores
addr = 4857;CAN[1], CAN[2], Y can[3] son distintos aadir 1 al SUM.
mult = 2601 ;
suma= 0;
seed=0;
maxi=input('digite el numero de ensayos a realizar: ');
for i=1:maxi
for j=1:3
seed=modulo(mult*seed + addr,norma);
rnd=seed/norma;
can(j)=floor(5*rnd+1);
end
if ((can(1) <> can(2)) & (can(1) <> can(3)) & (can(2) <>
can(3))) then
suma=suma+1;
end
end
p=suma/maxi;
printf('suma: %d ',suma);
printf('maxi: %d ',maxi);
printf('resultado: %f ',p);

7.3. SIMULACION DE DISTRIBUCION DISCRETA CON UN NUMERO


FINITO DE RESULTADOS.
El ejemplo 6 simul pruebas Bernoulli en las cuales hubo dos resultados
posibles, el xito o el fracasoGeneralizando, supongamos que un

experimento aleatorio puede tener N + 1 posibles resultados,


resultados que se produce con probabilidad pi . As
Po + . . . + Pn = 1

Si RND se distribuye uniformemente en el intervalo de la unidad [O, 1), a


continuacin de la fraccin P0 Si RND se distribuye uniformemente en el
intervalo de la unidad [O, 1), entonces la fraccin de los valores de p0 RND
estar en el intervalo [O, p0), p1 fraccin de los valores RND estar en el
intervalo [p0, p0+1) As, para simular un resultado i, siga este
procedimiento: Generar RND, y determinar qu intervalo contiene RND. Ms
especficamente, si RND<p0, set i = 0, si no, pero RND <p0 + p1, puedo
configurar i = 1, si no, pero RND <p0 + p1 + p2, se puede establecer i =
2, ..., es decir, la resultados de las simulaciones en los resultados i si i es el
menor entero para que RND <p0 + ... + pi, tenga en cuenta que tal existe
desde p0 i + ... + pN = 1 y RND Pertenece [0, 1). Ahora en adelante
denotaremos estas probabilidades usando la notacin de matriz. En la parte
de las declaraciones de variables de los programas, P ser conjunto [0, ...,
100] de lo real. (N se supone que es 100). As, en particular, P [i] denota
pi. (Ver fig. 7.1.).
Simulacin con un Nmero Finito de Resultados
Determinan N y la probabilidad P [0],. . . , P[ N ]. Forme las sumas
SUMA[i] = P[0] + + p[i]
Para i = 0 a N. Generar RND y encuentre el valor ms pequeo de i de manera
que RND<SUMA [ i ] .

El ejemplo 8
Un experimento aleatorio puede tener O, 1 ..., N resultados. Escriba un
programa que puede introducir MAX (el nmero de simulaciones a realizar),
N y N + 1 la probabilidad P [0],. . ., P [N]. Imprimir todas las simulaciones
MAX de los muchos experimentos.
Solucin: Ambos P y SUM Son arreglos. Un bucle while se utiliza para
encontrar el valor de i ms pequeo de modo que RND<SUMA[i].
Yo falta el programa del ejemplo 8
El ejemplo 9
Use el mtodo anterior para simular 100 rollos de un dado comn y
corriente.
Solucin Cada resultado tiene igual probabilidad 1/6. Por lo tanto no
tienen que ser introducidos en el programa. Tampoco SUMA [i] tiene que ser
almacenado desde SUMA [i] = 1/6. Por qu?
Programa del ejemplo 9

Tenga en cuenta que i se inicializa a 1 antes del bucle, mientras que en


lugar de 0 como en el Ejemplo 8.
Por qu?
El ejemplo 10: Simulando Una Variable Aleatoria Binomial
Entrada MAXI, N, P, y simular muchos experimentos MAXI; Cada uno
consiste en realizar N pruebas Bernoulli con P de probabilidad de xito y
determinar el nmero de xitos sobre todas Los N ensayos.

La solucin que hay dos mtodos. La primera parte es simular un total de


MAXIN numerosas pruebas de Bernoulli, dividirlos en grupos de N cada
uno; Para cada grupo de N, cuente el nmero total de xitos. (El problema
7.13 pide que usted haga esto.). El segundo mtodo consiste en calcular
las probabilidades binomiales

Pi
As como en captulo 4, el ejemplo 17. El cuerpo humano del programa es
Falta codigo del ejemplo 10
Deje al de la X al azar la variable con = la pi de alcance { 0, 1, , N }
y P (la X =). Veamos cmo simular el anterior mtodo para valor de X
aparece grficamente. La funcin de distribucin para X es F (t) = P (la X
t) como una funcin de t. Desde que la X es discreta, F es una funcin de
paso con saltos en el entero apunta a yo = 0, 1, , N.
Para simular una X de valor, el mtodo es computar a RND y
encontrar lo ms pequeo tan esa pi RND < p0 + +. Grficamente, el
valor RND es tramado en el eje vertical; Una lnea horizontal es levadiza de
RND; Dnde intersecta los pasos determina el valor simulado. (Vea higo.
7.2.).
Ms generalmente, si la X variable aleatoria discreta tiene alcance {
x0, x1, , xn } con los valores aumentando (xi +1), entonces la funcin de
distribucin de X es una funcin de paso; Si la pi = p (la x = xi), entonces

F (la X) = _ Pi = P = _ P (la X = xi) (la x de la X)

Donde las sumas se extienden a lo largo de todos los indices con x xi d.


Grficamente, la funcin de distribucin aparece as como en higo. 7.3. En
ese entonces el mtodo grfico para simular un valor de X es ste: Primero
genere a RND, localice a RND en el eje vertical, y encuentre el valor de la X
exactamente debajo del punto de la interseccin de la lnea horizontal a
travs de RND y la grfica de F.
Problemas
7.11. Una caja contiene 4 rojo y 3 lpices azules. Tres son seleccionados al
azar sin reemplazar cualquier de ellos. Deje a la X ser el nmero de marca
con rojo en la muestra. Qu es P (la X =) para / = O, 1, 2, 3? .Escriba un
programa para simular e imprimir 100 pruebas.
Es decir, la salida debera aparecer como una lista de enteros
2 3 0 2 0 1 1 ...
Indicando "2 rojo en primera muestra, 3 rojos en segunda muestra, O en
tercera muestra,
El aporte debera ser P i para / = O, 1, 2, 3.

7.12. El aporte MAX y P y le simulan a MAX muchos experimentos. Cada


uno consiste en lanzar una moneda al aire dos veces con P de probabilidad
de cabezas. El resultado 0 le corresponde a 0 cabezas (abstemio) con
probabilidad Q2 = (1 P) 2; El resultado 1 le corresponde a HT con
probabilidad P-Q; El resultado 2 le corresponde a TH; Y el resultado 3 le
corresponde a HH.
7.13. El aporte MAX, N, y P y le simulan a MAX muchos experimentos; Cada
uno consiste en realizar pruebas N Bernoulli as como en el Ejemplo 10.
Haga esto realizndole a MAX-N muchas simulaciones de pruebas Bernoulli.
Un contorno del programa es

El programa del falta de esta seccion


7.14. (La continuacin) Tenga su programa impresin el nmero comn de
xitos para MAX muchas simulaciones. Esto debera estar prximo a la
expectacin N-P.
7.4 SIMULANDO DISTRIBUCIONES DISCRETAS CON UN INFINITO
COUNTABLY NUMERAN DE RESULTADOS
Suponga que a todo lo largo de esta seccin X variable aleatoria tiene
alcance { Oh, 1, 2,. . .], Deje A A P I = P (la X = / ). Simular un valor para X
requiere dividir el intervalo de la unidad 0,1 en countably muchos
subintervalos, entonces seleccionando RND a. uniformemente distribuido y
finalmente determinando en cul el subintervalo RND est ubicado.
Usar las tcnicas de la seccin precedente requerira primer
descubrimiento las infinitamente muchas sumas
La SUMA i = P 0 + + P i

Para yo = 0 para _ as como en Higo. 7.4. Desde que estos infinitamente


muchas operaciones son imposibles en una computadora, necesitamos una
alternativa. Una posibilidad es encontrar una M de valor a fin de que la
SUMA M frise 1. Si el valor de RND est menos de este valor, la simulacin
debera producir lo ms pequeo tan ese i RND<SUM como antes; Si, sin
embargo, la SUMA e M, la simulacin producir resultado M + l.
Una alternativa y el mismo usado aqu hay computar sucesivamente valores
de SUMA i, detencin cuando i RND<SUM por primera vez. Este mtodo es
menos eficiente que el primer mtodo desde entonces con muchas
simulaciones la SUMA de valor 0 . LA SUMA 1,. . . Debe calcularse muchas
veces. Por otra parte, no hay valor sobresaliente de truncamiento como lo
superior con direccin al valor simulado de X. Uno puede mejorar el mtodo
almacenando SUMA 0, PUEDE SUMAR a 1,. . . Como son computados.
Entonces cuando el siguiente RND es generado, uno revisa para ver si RND
est menos de cualquier de SUMA de sumas i computado hasta ahora; Si
no, ms valores de SUMA I son computados (y almacenado) hasta un valor
de yo es encontrado con RND<SUM i . Esta mejora vale la pena, sino por el
bien de claridad no ser incorporado en los ejemplos (vea a Problem7.18).
El ejemplo 11: Simulando Una Variable Aleatoria Geomtrica
Recuerde que si la X es el tiempo de espera hasta el primer xito en una
sucesin de pruebas Bernoulli, entonces

Para j = 1, 2, 3, ... Write un programa para introducir en la computadora a


MAX (el nmero de simulaciones) y P y devolver al MAX muchas veces de
espera la j simulada.
La solucin La frmula recursiva

Es usado (pero vea Problema 7.17 para un mtodo alternativo). Estas


probabilidades Dividen el intervalo 0, 1 as como en Higo. 7.5.
Falta lgorimo del 7.5

El ejemplo 12: Simulando Una Variable Aleatoria Poisson


El aporte debera ser MAX para el nmero de simulaciones y L para el
parmetro. La salida debera ser MAX muchas simulaciones de una X
variable aleatoria distribuida Poisson con L de parmetro.
La retentiva de solucin (la Seccin 6.1) que las probabilidades
Poisson satisfacen esta frmula recursiva:

Para yo = 1, 2,. . ., Donde la L es el parmetro. El programa es similar a eso


de Ejemplo 11. Hay slo dos diferencias: La inicializacin
Y la modificacin

Usando la frmula recursiva. El cuerpo humano del programa es

Falta el programa
PROBLEMAS
7.15. Deje a la X ser Poisson distribuido. E (la X). Escriba un programa que
introducir en la computadora a L (para.) Y simula 1000 valores de X.
Despus de cada serie de 100 simulaciones, escriba en letras de imprenta
fuera de la suma de todas las simulaciones de X hasta ahora generada y la
proporcin de este nmero para el nmero de simulaciones. Este nmero
debera estar prximo a la expectacin. Corra el programa para varios
valores de L.
7.16. Deje a la X ser geomtricamente distribuido. Qu es E (la X)? Escriba
un programa que introducir en la computadora P y simule 1000 valores de
X. La impresin fuera del promedio de todo 1000 valores de la X. Corra el
programa para varios valores de P.
7.17. La x es geomtricamente distribuida. Recuerde a (la Seccin 4.3) esa
P (la X j) 1-qj. Use este mtodo (en vez del mismo en el Ejemplo 11)
para escribir un programa que introducir en la computadora K de la P y de
nmero entero positivo. Realice 1000 simulaciones e imprima el nmero de
X de veces excede K. (ste debera ser aproximadamente 1000P (X>K) =
1OOOqk.)
7.18. Incorpore la mejora discutida antes del Ejemplo 11 en ese ejemplo.
Declare otra PARTE SUPERIOR variable (el entero) cuyo valor es lo ms
grande yo a fin de que i de SUMA ha sido computado. Despus de que RND
sea generado, revise para ver si RND<SUM TOP . Si no, la SUMA de cmputo
i para yo > la PARTE SUPERIOR hasta RND<SUM i ; En ese entonces coloca
al igual SOBRESALIENTE para yo.

Potrebbero piacerti anche