traduccion del libro español con codigo scilab por Geovanny Mauricio Guevara Cruz modified by me

16
Toda la naturaleza es como un arte desconocido a nosotros, Todo chance es una dirección que no alcanzamos a ver. Alexander Pope, 1688 – 1744, Un Ensayo sobre el Hombre -------------- Capítulo 7---------------------- Interludio: Modelando la aleatoriedad Este capítulo desarrolla métodos 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 cómo los procesos aleatorios difieren de los determinísticos. El enfoque algorítmico que uno debe tomar para elaborar un programa nos conduce a un entendimiento diferente del modelo que es complementario al enfoque teórico. Además, las simulaciones por computadora son algunas veces el único método para obtener respuesta en ecuaciones que son difíciles de solucionar. Se usa un lenguaje algorítmico general; el cual, es de hecho, un subconjunto de Pascal, aunque en el código se orientará al uso de Scilab. Scilab es un lenguaje muy similar a otros en este contexto. Por lo que no le será difícil dominarlos los términos si Ud. Ya conoce algún otro lenguaje de programación. 7.1 GENERADORES DE NÚMEROS ALEATORIOS (O PSEUDO-ALEATORIOS). En el corazón de simulaciones de modelos aleatorios está un método para producir números aleatorios – es un procemiento o función que estará produciendo número tras número de una manera que estarán uniformemente distribuidos en el intervalo [0,1] sin ningún patrón aparente. El método explicado en esta sección es el método usado por la mayoría de lenguajes de programación que tienen incorporado un programa generador de números aleatorios. En realidad, el generador de números aleatorios es una fórmula específica que produce los números en una manera completamente deterministica. Esto es una contradicción para la idea misma de aleatoriedad. Por lo que consecuentemente, los números producidos por el generador se llaman a menudo pseudo-aleatorios porque, aunque tienen un patrón muy definido, parecen no tener patrón perceptible detectable si uno no conoce la fórmula exacta usada. El

Transcript of traduccion del libro español con codigo scilab por Geovanny Mauricio Guevara Cruz modified by me

Page 1: traduccion del libro español con codigo scilab por Geovanny Mauricio  Guevara Cruz modified by me

Toda la naturaleza es como un arte desconocido a nosotros,Todo chance es una dirección que no alcanzamos a ver.

Alexander Pope, 1688 – 1744, Un Ensayo sobre el Hombre

-------------- Capítulo 7----------------------

Interludio: Modelando la aleatoriedad

Este capítulo desarrolla métodos 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 cómo los procesos aleatorios difieren de los determinísticos. El enfoque algorítmico que uno debe tomar para elaborar un programa nos conduce a un entendimiento diferente del modelo que es complementario al enfoque teórico. Además, las simulaciones por computadora son algunas veces el único método para obtener respuesta en ecuaciones que son difíciles de solucionar.

Se usa un lenguaje algorítmico general; el cual, es de hecho, un subconjunto de Pascal, aunque en el código se orientará al uso de Scilab. Scilab es un lenguaje muy similar a otros en este contexto. Por lo que no le será difícil dominarlos los términos si Ud. Ya conoce algún otro lenguaje de programación.

7.1 GENERADORES DE NÚMEROS ALEATORIOS (O PSEUDO-ALEATORIOS).

En el corazón de simulaciones de modelos aleatorios está un método para producir números aleatorios – es un procemiento o función que estará produciendo número tras número de una manera que estarán uniformemente distribuidos en el intervalo [0,1] sin ningún patrón aparente. El método explicado en esta sección es el método usado por la mayoría de lenguajes de programación que tienen incorporado un programa generador de números aleatorios.

En realidad, el generador de números aleatorios es una fórmula específica que produce los números en una manera completamente deterministica. Esto es una contradicción para la idea misma de aleatoriedad. Por lo que consecuentemente, los números producidos por el generador se llaman a menudo pseudo-aleatorios porque, aunque tienen un patrón muy definido, parecen no tener patrón perceptible detectable si uno no conoce la fórmula exacta usada. El hecho que la misma secuencia de números 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 simulación. Aleatoriedad quiere decir “sin patrón”; Pseudo - aleatoriedad quiere decir “sin patrón aparente”.

Comenzando con enteros positivos MULT (de MULTiplicador), ADDR (de sumador), y NORMA (para normalizador). SEED debe ser un número pseudo-aleatorio satisfaciendo

Page 2: traduccion del libro español con codigo scilab por Geovanny Mauricio  Guevara Cruz modified by me

Cada vez que un número aleatorio nuevo se necesita, se produce del valor previo de SEED por la fórmula

Es decir, el primer valor de SEED se multiplica por MULT, y luego se le suma ADDR, y finalmente el residuo obtenido de la división por NORMA es el nuevo valor de SEED.

El ejemplo 1Use 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?

Solución: 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 número en la secuencia es generado sólo del valor del número previo, si en cualquier momento se genera un número que ya había sido generado, entonces a partir de ese punto en adelante se comienza a repetir la lista. En segundo lugar, la “longitud del ciclo” – el número de números distintos antes de que la repetición ocurra – puede ser a lo sumo de longitud igual que el valor de NORMA. Esto está así dado que la función modulo produce el residuo de la división entera por NORMA, lo cual necesariamente es un número entre 0 y NORMA-1; Así que hay NORMA valores posibles de residuo – NORMA valores posibles del número aleatorio SEED, es decir; Y tan pronto como uno es repetido, la repetición de la lista entera ocurre. Un buen generador aleatorio de número usaría valores de MULT; ADDR, y NORMA a fin de que la longitud del ciclo sea la más grande posible.

El ejemplo 2

Page 3: traduccion del libro español con codigo scilab por Geovanny Mauricio  Guevara Cruz modified by me

Considere el generador

SEED = (6 *SEED + 3) modulo 7

Entonces con valores iniciales diferentes de SEED, estas son las secuencias 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 …

Aunque el valor de NORMA = 7 sugiere que la longitud del ciclo es el máximo valor de 7, las longitudes del ciclo reales son pequeñas; Si SEED es inicialmente 5, en ese entonces el generador aleatorio de número es realmente inútil.

La teoría de qué aprecia del resultado de parámetros en buenos generadores aleatorios de número está complicado y más un tema de álgebra abstracta que de probabilidad. Nuestro interés aquí está de moda usar un generador aleatorio de número y el siguiente teorema es dicho sin prueba.*

Teorema

El generador aleatorio de número producirá la máxima longitud ciclista NORMA de pseudos - números aleatorios con cualquier valor inicial de SEED debajo de ya sea de estas condiciones:

NORMA es una potencia de 10.ADDR acaba en (el dígito de unidades) 1, 3, 7, o 9.MULT-1 es un múltiplo de 20.

NORMA es una potencia de 2.ADDR es extraño.MULT-1 es un múltiplo de 4.

El ejemplo 3

Con NORMA = 10, ADDR = 27, y = 21 MULT, la longitud de ciclo máximo de NORMA = 10 se obtiene. Para comprobar esto, usamos:

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. . .

¿Cuál tiene una longitud de ciclo de 10?.

Page 4: traduccion del libro español con codigo scilab por Geovanny Mauricio  Guevara Cruz modified by me

Con NORMA = 16, ADDR 7, y MULT 21 la máxima longitud del ciclo de NORMA = 16 es obtenida. Aquí

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 rápidamente por seres humanos. Por ejemplo, 237 modulo 100 = 37; 3451 modulo 10 = 1; 9087 modulo 100 = 87. Pero las computadoras (usando aritmética binaria) pueden encontrar restos más rápidamente al dividir por potencias de 2.

Además de longitudes de ciclos largos, un generador aleatorio de número debe satisfacer esta condición: el resultado de cualquier cálculo aritmético en el cálculo de SEED desde el valor anterior de SEED no debe exceder el entero máximo que se puede almacenar en la computadora; de lo contrario, resultara una condición de desbordamiento. Para computadoras que almacenan enteros en 32 bits, por ejemplo, este máximo entero es 2147483647 = 232 - 1. El máximo valor usado en computar el siguiente valor de SEED es

MULT * + (el máximo valor de SEED) + ADDR

Pero el valor máximo de SEED es NORMA-1. Por consiguiente, MULT, ADDR, y Norma debe elegirse de forma que:

No excede el tamaño del entero máximo.

El ejemplo 4

Usando el teorema, lo siguiente sería producir generadores de números aleatorios con un máximo de duración del ciclo NORMA:

NORMA ADDR MULT MULT*(NORMA-1)+ADDR= máximo entero generado

100 41 641 63500

10000 4857 2601 26012256

1024 57 981 1003620

32768 8485 22073 723274476

En resumen, desde grandes longitudes de ciclo son deseables, MULT, ADDR, y NORMA deberían estar escogidos satisfaciendo las condiciones del teorema de tal manera que (NORMA-1) *MULT +ADDR está próximo al máximo tamaño de entero. Entonces cualquier valor inicial de SEED le producirá a NORMA muchos pseudos números aleatorios sin

Page 5: traduccion del libro español con codigo scilab por Geovanny Mauricio  Guevara Cruz modified by me

repetición. 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 números aleatorios produce SEED enteros CON 0 ≤ SEED < NORMA. Para obtener un número adentro el intervalo de la unidad, simplemente divide SEED por NORMA.

Con un valor inicial de SEED y MULT constantes, ADDR, NORMA, números 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 números aleatorios en [0, 1].

Solución

Los números pseudo-aleatorios producidos de esta manera tienen buena probabilidad de pasar varias pruebas de aleatoriedad. Por ejemplo, la media de los números es aproximadamente 1/2; Aproximadamente de un décima 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. Además, puesto que los números pseudos - aleatorios son obtenidos por una fórmula determinista, si el modelo aleatorio que es simuló incorpora un “patrón” que coincide con el “patrón” de la fórmula aleatoria del generador de números, en ese entonces el generador puede resultar malo para ese modelo. Antes de utilizar un generador de números aleatorios especial (la elección de NORMA, ADDR, y MULT), uno debería 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. (Véase problemas del 7.6 al 7.10).

Page 6: traduccion del libro español con codigo scilab por Geovanny Mauricio  Guevara Cruz modified by me

Tenga en cuenta también que un generador de números aleatorios es sólo capaz de producir NORMA muchos valores diferentes de RND. Si se requieren más de una simulación, 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").

Solución

Después de generar cada valor de RND como en el ejemplo 5, una decisión 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 fracción p de la unidad de intervalo entero [0, 1]. Así RND simula un éxito si RND <p, de lo contrario, RND simula un fracaso.

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.

Page 7: traduccion del libro español con codigo scilab por Geovanny Mauricio  Guevara Cruz modified by me

MULT ADDR NORMA

(A) 4 3 7

(B) 5 3 16

(C) 2 3 16

(D) 5 7 10

(E) 1 9 10

(F) 7 4 9

¿Para cuál de ellas es la duración del ciclo igual a Norma? ¿Cuál de ellos satisfacen las condiciones del teorema?

7.2. Si NORMA = 1035, ADDR 6355; MULT 2309, ¿cuál es el máximo valor de MULT *SEED +ADDR que se obtiene con un valor inicial de SEED menor que el de NORMA?

7.3. Demostrar que M módulo NORMA= M, módulo NORMA si y sólo si M-M, es un múltiplo de NORMA. Muestran que, en consecuencia, si MULT - MULT, es un múltiplo de NORMA, entonces

(MULT*SEED + ADDR) modulo NORMA = (MULT1*SEED + ADDR) modulo NORMA

Por lo tanto MULT, ADDR, NORMA producen el mismo generador de números aleatorio como MULT1, ADDR, NORMA.

7.4. Demostrar que MULT, ADDR, NORMA producen el mismo generador de números aleatorios como MULT, ADDR1, NORMA si ADDR - ADDR1 es un múltiplo 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 números aleatorios se obtiene restando NORMA de MULT suficientes veces que ADDR se pueden tomar para ser menor queNORMA sin la eliminación 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 Averigüe cuál es el máximo entero está en su ordenador. A continuación, seleccione NORM, ADDR, y MULT que satisface el teorema, pero a fin de que (NORM-1) *MULT +ADDR no exceda dicho límite

Page 8: traduccion del libro español con codigo scilab por Geovanny Mauricio  Guevara Cruz modified by me

máximo.

7.7. Con su elección de NORMA; ADDR, y MULT, escriban un programa que usa el número inicial de ciclos del lazo realizado. Este número debería ser NORMA (si usted ha escogido su generador aleatorio de número de conformidad con el teorema). También imprimir el promedio de todos los valores RND.

7.8. Escriba un programa que será ENTRADA MAXI igual a la cantidad de números aleatorios RND = SEED / NORMA a generar. Imprimir todos los estos números (asegúrese de MAXI no sea demasiado grande) Y compruebe que parecen estar distribuidos al azar en [0, 1], sin ningún patrón obvio.

7.9. Con el mismo generador aleatorio de número, 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 número de valores de RND en cada uno de los intervalos [0, 1 ), [ 1, 2 ), … ; [ 9, 1 ]. Estos cada uno deberían estar próximos al MAXI/10. Ejecute el programa con varias entradas de MAXI.

7.10. Con el mismo generador aleatorio de número, escriba un programa para recoger los distintos valores MAXI de RND (indicando con un valor inicial de SEED igual a 0) y calcular el número de veces que los valores actuales de RND es mayor que el valor anterior o RND. Este número debe ser aproximadamente MAXI / 2.

7.2. SIMULANDO PROBABILIDADES Y EXPECTATIVAS

Recordemos que la interpretación de la frecuencia de la probabilidad afirma que si un experimento aleatorio se realiza un MAX gran número de veces y el evento A ocurre un momento, entonces P (A) ≈ n / MAX.

Recuerde también que si la X es una variable aleatoria, la E (X) es aproximadamente la media de los valores de X en un gran número de repeticiones del experimento aleatorio.

¿Qué tan grande debe ser MAXI para que las aproximaciones sean correctas? La respuesta requiere el teorema del límite central y la ley de los grandes números (capítulo 10). Pero considere esto: si MAXI = 1000 y SUMA es un número entero, SUMA / MAXI sólo puede tener un máximo de tres dígitos distintos de cero a la derecha del punto decimal. Para una mayor precisión a estos muchos lugares, MAXI

Page 9: traduccion del libro español con codigo scilab por Geovanny Mauricio  Guevara Cruz modified by me

tiene que ser tomado considerablemente mayor que 1000

.El ejemplo 7

Tres bolas son lanzadas al azar en 5 latas. ¿Cuál es la probabilidad que todos ellos aterrizan en latas diferentes?

La solución 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

Para simular las probabilidades, introduzca en la computadora un entero MAX, en ese entonces muchos tiempo simule que tres números de los contenedores CAN[1], CAN[2], Y can[3] son distintos añadir 1 al SUM.

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

Page 10: traduccion del libro español con codigo scilab por Geovanny Mauricio  Guevara Cruz modified by me

probabilidad pi . Así

Si RND se distribuye uniformemente en el intervalo de la unidad [O, 1), a continuación de la fracción P0 Si RND se distribuye uniformemente en el intervalo de la unidad [O, 1), entonces la fracción de los valores de p0 RND estará en el intervalo [O, p0), p1 fracción 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. Más específicamente, 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 notación 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 p i. (Ver fig. 7.1.).

El ejemplo 8Un experimento aleatorio puede tener O, 1 ..., N resultados. Escriba un programa que puede introducir MAX (el número de simulaciones a realizar), N y N + 1 la probabilidad P [0],. . ., P [N]. Imprimir todas las simulaciones MAX de los muchos experimentos.

Solución: Ambos P y SUM Son arreglos. Un bucle while se utiliza para encontrar el valor de i más pequeño de modo que RND<SUMA[i].

Yo falta el programa del ejemplo 8

El ejemplo 9Use el método anterior para simular 100 rollos de un dado común y corriente.

Solución 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é?

Page 11: traduccion del libro español con codigo scilab por Geovanny Mauricio  Guevara Cruz modified by me

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 número de éxitos sobre todas Los N ensayos.

La solución que hay dos métodos. La primera parte es simular un total de MAXI•N numerosas pruebas de Bernoulli, dividirlos en grupos de N cada uno; Para cada grupo de N, cuente el número total de éxitos. (El problema 7.13 pide que usted haga esto.). El segundo método consiste en calcular las probabilidades binomiales

P i

Así como en capítulo 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 cómo simular el anterior método para valor de X aparece gráficamente. La función de distribución para X es F (t) = P (la X ≤∠t) como una función de t. Desde que la X es discreta, F es una función de paso con saltos en el entero apunta a yo = 0, 1, …, N.

Para simular una X de valor, el método es computar a RND y encontrar lo más pequeño tan esa pi RND < p0 + … +. Gráficamente, el valor RND es tramado en el eje vertical; Una línea horizontal es levadiza de RND; Dónde intersecta los pasos determina el valor simulado. (Vea higo. 7.2.).

Más generalmente, si la X variable aleatoria discreta tiene alcance { x0, x1, …, xn } con los valores aumentando (xi +1), entonces la función de distribución de X es una función de paso; Si la pi = p (la x = xi), entonces

F (la X) = _ Pi = P = _ P (la X = xi) (la x ≤≥∠≬≡∠≤∠de la X)

Page 12: traduccion del libro español con codigo scilab por Geovanny Mauricio  Guevara Cruz modified by me

Donde las sumas se extienden a lo largo de todos los indices con x xi d. Gráficamente, la función de distribución aparece así como en higo. 7.3. En ese entonces el método gráfico 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 intersección de la línea horizontal a través de RND y la gráfica de F.

Problemas

7.11. Una caja contiene 4 rojo y 3 lápices azules. Tres son seleccionados al azar sin reemplazar cualquier de ellos. Deje a la X ser el número 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 debería 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 debería 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 realizándole a MAX-N muchas simulaciones de pruebas Bernoulli. Un contorno del programa es

El programa del falta de esta seccion

7.14. (La continuación) Tenga su programa impresión el número común de éxitos para MAX muchas simulaciones. Esto debería estar próximo a la expectación N-P.

7.4 SIMULANDO DISTRIBUCIONES DISCRETAS CON UN INFINITO COUNTABLY NUMERAN DE RESULTADOSSuponga que a todo lo largo de esta sección 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 cuál el subintervalo RND está ubicado.

Page 13: traduccion del libro español con codigo scilab por Geovanny Mauricio  Guevara Cruz modified by me

Usar las técnicas de la sección precedente requeriría primer descubrimiento las infinitamente muchas sumasLa 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 simulación debería producir lo más pequeño tan ese i RND<SUM como antes; Si, sin embargo, la SUMA ≒≎≄∠e M, la simulación producirá resultado M + l.

Una alternativa y el mismo usado aquí hay computar sucesivamente valores de SUMA i, detención cuando i RND<SUM por primera vez. Este método es menos eficiente que el primer método 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 dirección al valor simulado de X. Uno puede mejorar el método 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, más 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 Geométrica

Recuerde que si la X es el tiempo de espera hasta el primer éxito en una sucesión de pruebas Bernoulli, entonces

Para j = 1, 2, 3, ... Write un programa para introducir en la computadora a MAX (el número de simulaciones) y P y devolver al MAX muchas veces de espera la j simulada.

La solución La fórmula recursiva

Page 14: traduccion del libro español con codigo scilab por Geovanny Mauricio  Guevara Cruz modified by me

Es usado (pero vea Problema 7.17 para un método 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 debería ser MAX para el número de simulaciones y L para el parámetro. La salida debería ser MAX muchas simulaciones de una X variable aleatoria distribuida Poisson con L de parámetro.

La retentiva de solución (la Sección 6.1) que las probabilidades Poisson satisfacen esta fórmula recursiva:

Para yo = 1, 2,. . ., Donde la L es el parámetro. El programa es similar a eso de Ejemplo 11. Hay sólo dos diferencias: La inicialización

Y la modificación

Usando la fórmula 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. Después 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 proporción de este número para el número de simulaciones. Este número debería estar próximo a la expectación. Corra el programa para varios valores de L.

7.16. Deje a la X ser geométricamente distribuido. ¿Qué es E (la X)? Escriba un programa que introducirá en la computadora P y simule 1000 valores de X. La impresión fuera del promedio de todo 1000 valores de la X. Corra el programa para varios valores de P.

7.17. La x es geométricamente distribuida. Recuerde a (la Sección 4.3) esa P (la X ∽∠≤∠j) 1-qj. Use este método (en vez del mismo en el Ejemplo 11) para escribir un

Page 15: traduccion del libro español con codigo scilab por Geovanny Mauricio  Guevara Cruz modified by me

programa que introducirá en la computadora K de la P y de número entero positivo. Realice 1000 simulaciones e imprima el número de X de veces excede K. (Éste debería 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 más grande yo a fin de que i de SUMA ha sido computado. Después de que RND sea generado, revise para ver si RND<SUM TOP . Si no, la SUMA de cómputo i para yo > la PARTE SUPERIOR hasta RND<SUM i ; En ese entonces coloca al igual SOBRESALIENTE para yo.