Clase 5 9/9/2012 Temas: 1) Distribuciones: Normal, Exponencial y Poisson. 2) SPLIT, SAVEVALUE, GATE con ejercicio 3) Algo más sobre cadenas. Las distribuciones de probabilidad están en el C8 del Reference Manual, en el punto 8.3.7. Variables aleatorias continuas Distribución normal o de Gauss La distribución normal fue estudiada por primera vez en el Siglo XVIII cuando los científicos observaron con sorpresa el grado de regularidad en los errores de medición, descubrieron que los patrones (distribuciones) eran aproximados a una distribución continua que denominaron “curva normal de errores”. La definió De Moivre en 1733 y es la distribución de mayor importancia en el campo de la estadística. Es una de las distribuciones de variable contínua que más a menudo aparece aproximada en fenómenos reales. Una variable es normal cuando se ajusta a la ley de los grandes números, es decir, cuando sus valores son el resultado de medir reiteradamente una magnitud sobre la que influyen infinitas causas de efecto infinitesimal. A una curva normal se ajustan muchas variables, por ejemplo el peso o la altura de las personas (caracteres morfológicos). La importancia de esta distribución es que permite modelar numerosos fenómenos naturales, sociales y sicológicos. Mientras que los mecanismos que subyacen a gran parte de este tipo de fenómenos son desconocidos por la enorme cantidad de variables incontrolables que en ellos intervienen, el uso del modelo normal, puede justificarse, asumiendo que cada observación, se obtiene como la suma de unas pocas causas independientes. De hecho la estadística es un modelo matemático que sólo permite describir un fenómeno, sin explicación alguna. Para la explicación causal, es preciso el diseño experimental. Las variables normales tienen una función de densidad _o distribución es indistinto en la literatura_ con forma de campana a la que se llama campana de Gauss. Su función de densidad es la siguiente: Los parámetros de la distribución son la media y el desvío estándar, μ y σ, respectivamente. Como consecuencia, en una variable normal, media y desviación típica no deben estar correlacionadas en ningún caso, como ocurre en la mayoría de las variables aleatorias reales que se asemejan a la normal. La curva normal cumple las siguientes propiedades: 1) El máximo de la curva coincide con la media. 2) Es simétrica respecto a la media. 3) La curva tiene dos puntos de inflexión situados a una desviación típica de la media. Es convexa entre ambos puntos de inflexión y cóncava en ambas colas. 4) Sus colas son asintóticas al eje X. Para calcular probabilidades en intervalos de valores de la variable, habría que integrar la función de densidad entre los extremos del intervalo, pero, la función de densidad normal no tiene primitiva, es decir, no se puede integrar. Por ello la única solución es referirse a tablas de la función de distribución de la variable (calculadas por integración numérica) Estas tablas tendrían que ser de triple entrada (μ, σ, valor) y el asunto tendría bastante complejidad. Afortunadamente, cualquier que sea la variable normal, X, se puede establecer una correspondencia de sus valores con los de otra variable con distribución normal, media 0 y varianza 1, a la que se llama variable normal típica o Z. La equivalencia entre ambas variables se obtiene mediante la ecuación: La función de distribución de la variable normal tipificada está tabulada y, simplemente, consultando en las tablas se pueden calcular probabilidades en cualquier intervalo que nos interese. De forma análoga a lo se verá con las variables de Poisson, la suma de variables normales independientes es otra normal. Histograma de una normal idealizada Histograma muestral de una variable normal Distribución exponencial La ley de distribución exponencial describe procesos en los que: Nos interesa saber el tiempo hasta que ocurre determinado evento, sabiendo que, el tiempo que pueda ocurrir desde cualquier instante dado t, hasta que esto ocurra en un instante tf, no depende del tiempo transcurrido anteriormente en el que no ha pasado nada. Ejemplos de este tipo de distribuciones son: El tiempo que tarda una partícula radiactiva en desintegrarse. El conocimiento de la ley que sigue este evento se utiliza en ciencia para, por ejemplo, la datación de fósiles o cualquier materia orgánica mediante la técnica del C14. El tiempo que puede transcurrir en un servicio de urgencias, hasta la llegada de un paciente; En un proceso de Poisson donde se repite sucesivamente un experimento a intervalos de tiempo iguales, el tiempo que transcurre entre la ocurrencia de dos sucesos consecutivos (éxitos) sigue un modelo probabilístico exponencial. Más exactamente puede mostrarse que si en un proceso de Poisson la tasa promedio de llegadas (número promedio de arribos por unidad de tiempo) es β, el tiempo que transcurre antes del primer arribo o el tiempo de espera entre dos arribos consecutivos tiene una distribución exponencial con =1/ β Concretando, si una variable aleatoria continua X distribuida exponencialmente a lo largo de , es tal que su función de densidad es: λ=1/β Figura: Función de densidad, f, de una Exp(λ) Un cálculo inmediato nos dice que si x>0, luego la función de distribución acumulada es: Figura: Función de distribución, F, de Exp(λ) calculada como el área que deja por debajo de sí la función de densidad. Para calcular el valor esperado y la varianza de la distribución exponencial, obtenemos en primer lugar la función característica para después, derivando por primera vez y derivando por segunda vez, Entonces la varianza vale Ejemplo En un experimento de laboratorio se utilizan 10 gramos de polonio. Sabiendo que la duración media de un átomo de esta materia es de 140 días, ¿cuántos días transcurrirán hasta que haya desaparecido el 90% de este material? Solución: El tiempo T de desintegración de un átomo de polonio es una v.a. de distribución exponencial: Como el número de átomos de polonio existentes en una muestra de 10 gramos es enorme, el histograma de frecuencias relativas formado por los tiempos de desintegración de cada uno de estos átomos debe ser extremadamente aproximado a la curva de densidad, f. Del mismo modo, el polígono de frecuencias relativas acumuladas debe ser muy aproximado a la curva de su función de distribución F. Entonces el tiempo que transcurre hasta que el 90% del material radiactivo se desintegra es el percentil 90, t90, de la distribución exponencial, es decir Figura: Como el número de átomos (observaciones) es extremadamente alto en 10 gramos de materia, el histograma puede ser aproximado de modo excelente por la función de densidad exponencial, y el polígono de frecuencias acumuladas por la función de distribución. Ejemplo Se ha comprobado que el tiempo de vida de cierto tipo de marcapasos sigue una distribución exponencial con media de 16 años. ¿Cuál es la probabilidad de que a una persona a la que se le ha implantado este marcapasos se le deba reimplantar otro antes de 20 años? Si el marcapasos lleva funcionando correctamente 5 años en un paciente, ¿cuál es la probabilidad de que haya que cambiarlo antes de 25 años? Solución: Sea T la variable aleatoria que mide la duración de un marcapasos en una persona. Tenemos que: Entonces En segundo lugar Luego como era de esperar, por ser propio a un mecanismo exponencial, o sea, en la duración que se espera que tenga el objeto, no influye en nada el tiempo que en la actualidad lleva funcionando. Es por ello que se dice que ``la distribución exponencial no tiene memoria". Ejemplo: la manufactura de un nuevo componente comienza en promedio cada 30 minutos con distribución exponencial: GENERATE (Exponential (1,0,30)) Equivale a: GENERATE (Exponential (STREAM, LOCATE, SCALE) STREAM: el generador de número aleatorio, debe ser >= 1 Locate: es el movimiento sobre el eje x, el valor de corrimiento usado para posicionar la distribución. Scale: es el valor de compresión que sirve para contraer o expandir la distribución, en general es la media. Debe ser estrictamente positiva. Lo que retorna es un valor real. Distribución de Poisson Una variable de tipo Poisson cuenta los éxitos que ocurren en un intervalo del espacio o del tiempo, por ejemplo el arribo de llamadas telefónicas a un conmutador o el paso de automóviles detectados por un mecanismo electrónico. Para calcular la probabilidad de éxitos durante un intervalo de tiempo de longitud T, dividimos el intervalo en n partes iguales de longitud δT, de tal forma que T=n. δT y suponemos que en el experimento que se genera se cumplen las siguientes condiciones: 1. La probabilidad de un éxito durante un intervalo muy pequeño δT está dada por α .δT 2. La probabilidad de más de un éxito en un intervalo δT es despreciable. 3. La probabilidad de un éxito durante uno de tales intervalos no depende de lo que sucedió antes. Esto significa que las suposiciones fundamentales de una Binomial se cumplen y la probabilidad de x éxitos en el intervalo de tiempo T la da la distribución Binomal (x;n,p) con n=T/ δT y p= α .δT. Entonces cuando n tiende a infinito la probabilidad de éxito durante el tiempo T está dada por la distribución de Poisson con λ=n.p= T/ δT X α .δT= α.T Puesto que λ es la media de la distribución de Poisson, α. Es el número promedio de éxitos por unidad de tiempo. La función de probabilidad de una variable Poisson es: El parámetro de la distribución es λ que es igual a la media y a la varianza de la variable. Esta característica puede servirnos para identificar a una variable Poisson en casos en que se presenten serias dificultades para verificar los postulados de definición. La distribución de Poisson se puede considerar como el límite al que tiende la distribución binomial cuando n tiende a y p tiende a 0, siendo np constante (y menor que 7); en esta situación sería difícil calcular probabilidades en una variable binomial y, por tanto, se utiliza una aproximación a través de una variable Poisson con media l = n p. La varianza de la variable aproximada es ligeramente superior a la de la variable binomial. Las variables Poisson cumplen la propiedad de que la suma de variables Poisson independientes es otra Poisson con media igual a la suma las medias. El aspecto de la distribución depende muchísimo de la magnitud de la media. Como ejemplo, mostramos tres casos con λ = 0,5 (arriba a la izquierda), λ = 1,5 (arriba a la derecha) y λ = 5 (abajo) Obsérvese que la asimetría de la distribución disminuye al crecer λ y que, en paralelo, la gráfica empieza a tener un aspecto acampanado. Ejemplo: si un banco recibe un promedio de 6 cheques falsos al día, cuáles son las probabilidades que reciba: a) Cuatro cheques falsos en un día cualquiera. f(4;6)=0.135 b) Diez cheques falsos en dos días consecutivos. f(10;12)=F(10;12)-F(9;12)=0.105. La distribución de Poisson tiene múltiples e importantes aplicaciones en problemas en líneas de espera, en los cuales nos interese saber, por ejemplo, el número de clientes que solicitan servicio en una cafetería, el número de barcos que arriban a un muelle para ser descargados, el número de aviones que aterrizan en un aeropuerto. Si por ejemplo 0.3 es el promedio de llegadas por minuto a una cafetería, la probabilidad de que lleguen 3 clientes en 5 minutos vale: F(3;1.5) – F(2;1.5)=0.934-0.809=0.125 En GPSS las distribuciones descriptas se referencian con los operandos que figuran entre paréntesis: o NORMAL (STREAM, media, desvío) en el caso de la normal o EXPONENTIAL (STREAM, locate, scale) en el caso exponencial o POISSON (STREAM, media) en el caso de Poisson This chapter contains the information you need to use the theoretical probability distributions in the Procedure Library. Empirical distributions, on the other hand, are normally created by using the GPSS FUNCTION Command, using D or C type random Functions. This is discussed in Chapter 6. As other alternatives, it is easy to create your own random variate generators by defining your own PLUS Procedures, or to read empirical data from a file. Over 20 built in probability distributions are included in the Procedure Library. These distributions are applicable to a wide range of practical situations. Each Procedure call to a probability distribution requires that you specify a stream argument. In this position, you are to assert an Expression that evaluates to a Random Number Generator Entity number. Random Number Generator Entities are created, as needed, so you need not predefine them. Several Random Number Generators are used by GPSS World for GENERATE, ADVANCE, and TRANSFER blocks. These are specified in the "Random" page of the Model Settings notebook. This is discussed in Chapter 2. Most of the probability distributions are specified by parameters that select from a family of functions. Procedure arguments denoted locate, scale, and shape are often used for this purpose. The locate argument acts like a post-hoc adder, that is applied after the draw from the distribution. It allows you to move the distribution horizontally, to any position on the x axis. The scale and shape arguments, if used, select a member from the family of distributions. The built-in Procedure Library contains the following probability distributions: Beta Binomial Discrete Uniform Exponential Extreme Value A Extreme Value B Gamma Geometric Inverse Gaussian LogLaplace LogLogistic LogNormal Negative Binomial Normal Pareto Pearson Type V Pearson Type VI Poisson Inverse Weibull Triangular Laplace Uniform Logistic Weibull Referencia: Law, A.M. and W.D. Kelton: Simulation Modeling and Analysis, 2nd Ed., McGraw-Hill, New York (1991). SPLIT, SAVEVALUE Un Assembly Set es una colección de transacciones, cuando se crea una transacción se le asigna un número entero que denota su assembly set, a las transacciones creadas por los bloques GENERATE se les asignan distintos números enteros comenzando por 1. Las transacciones creadas por los bloques SPLIT reciben el mismo Assembly Set de su padre. Los Assembly Sets son útiles para la sincronización de transacciones. Es fácil crear, destruir o esperar transacciones para representar procesos que deben sincronizarse o esperar hasta que ocurran ciertos eventos. Como se dijo más arriba: SPLIT crea transacciones en el mismo assembly set que la transacción activa SPLIT A,B,C Operandos A - Cuenta. Número de transacciones relacionadas que se crean. B – Número de bloque destino de las nuevas transacciones, es opcional. C – Número de un parámetro con el cual se numeran las transacciones creadas. Ejemplos que brinda el GPSS: SPLIT 1 Este es el caso más simple, la nueva transacción (se crea una sola más) tiene la misma prioridad, los mismos valores de los parámetros que la transacción “padre”/”madre”. SPLIT 3,P20,20 En este ejemplo cada vez que se entra al SPLIT son creadas 3 nuevas transacciones. Cada transacción tiene la misma prioridad, Mark time y valores de los parámetros de la transacción padre, con la excepción del parámetro 20 porque cada transacción hija/retoño (offspring) tendrá un número serial en el parámetro basado en el valor del parámetro 20 de la transacción padre/madre. El valor del parámetro 20 del padre es incrementado primero en 1 (en el caso que sea 0 (cero) y luego el número serial de cada hijo/retoño/offspring se calcula siguiendo ese valor de manera secuencial. El bloque destino que está en el operando B se evalúa en relación a cada nueva transacción creada. Si el parámetro 20 de la transacción padre contiene un número de bloque, digamos N, el primer retoño irá al bloque N+2, el segundo al N+3 y el tercero al N+4. La transacción padre continúa secuencialmente, es decir entra al bloque que sigue al bloque SPLIT. Este ejemplo es particular porque el mismo parámetro 20 se utiliza en los operandos B y C. Por lo tanto el número serial es utilizado para calcular los bloques destino de los hijitos. Sin embargo los operandos B y C pueden utilizarse para propósitos distintos, B para dar un destino simple y C para la serialización. SPLIT 3,Pro,17 Aquí también se crean 3 transacciones. La progenitora va al bloque que sigue al SPLIT, los retoños al bloque rotulado Pro y el parámetro 17 recibe la serialización. Acción La transacción padre y todos los retoños pertenecen al mismo set, pero el número del set puede ser cambiado a través de un bloque Bloques relacionados · ADOPT – Setea el set Assembly de la transacción activa. · ASSEMBLE – espera por y destruye los miembros del set.. · GATHER – espera por los miembros del set. · MATCH – espera por un miembro del mismo assemble set (sincronización). Atributos estandar numéricos relacionados: A1 - Assembly Set. Retorna el Set de la transacción activa. · MBEntnum - Match at Block. MBEntnum retorna 1 si hay una transacción en el bloque Entnum el cual está en el mismo conjunto de ensamble de la transacción activa. MBEntnum retorna 0 en todo otro caso. Entidad Savevalue; está asociada con una variable que puede tomar cualquier valor. Este valor puede asignarse o modificarse con el bloque SAVEVALUE y es retornado por el atributo SNA llamado X. El comando INITIAL asigna un valor a una entidad savevalue sin la necesidad de una transacción activa. El Bloque SAVEVALUE- Cambia el valor de la entidad Savevalue, tiene dos operandos, SAVEVALUE (A,B) A: número de la entidad, debe ser seguido de un + ó un – para indicar la adición o la sustracción al valor existente. B: el valor a ser almacenado, sumado o sustraído. Entidad Table: es un conjunto de enteros usados para acumular datos para un histograma. Cada entero representa una frecuencia de clase. La tabla debe definirse a través de un comando Table. Nombredetabla TABLE A,B,C,D A: argumento. B: límite superior del primer intervalo de clase. C: tamaño de la frecuencia de clase. D: número de las frecuencias de clase. El Bloque TABULATE actualiza los datos acumulados en la entidad Table. TABULATEA,B A: nombre o número de la entidad tabla. B: factor de peso (opcional). Ejercicio 5: Parte 1: Un proceso en una planta manufacturera contiene una parte muy importante que falla cada tanto. Cuando la parte falla, el proceso se detiene y la parte fallada se envía a una estación para su reparación. La parte fallada, llamémosle pieza p puede repararse y volver a usarse. El tiempo medio de falla de la parte tiene una distribución normal de media μp de aproximadamente 350 horas. Una vez que la parte falla el trabajador asignado a este proceso la remueve y esto le toma 4 horas de tiempo, cuando termina esta tarea envía a su compañero de trabajo a buscar una parte sana. La parte fallada entra a una cola en la estación de reparación. El tiempo de reparación de la parte también tiene una distribución normal de media μr de aproximadamente 8 horas. Cuando la pieza falla se manda a la cola Q2 y el operador va a Q1 para obtener una pieza buena. Si la cola Q1 está vacía el trabajador debe esperar a que llegue una parte reparada, cuando la tiene la instalación tarda alrededor de 6 horas. La gerencia necesita determinar la utilización U del proceso como función del número de partes en el sistema, debido a ello lo que queremos ver es la utilización U con diferente cantidad de partes = 1,2,3 ó 4. Simule por un período de 5 años equivalente a 10400 horas considerando 52 semanas por año y 8 horas diarias de trabajo sobre una base de 5 días laborables. Parte 2: Considere que la estación de reparación también cumple otros servicios en la planta, la llegada de estos ítems para reparar (que no vienen del proceso anterior y vamos a llamar partes i está gobernada por una distribución exponencial con media 1/λi de 9 horas, la reparación de estas piezas tiene una distribución normal de media μi . Estos ítems tienen prioridad para ser reparados respecto de la parte primeramente mencionada, por lo cual se ubican por delante de las piezas p. Unas y otras se van atendiendo por la estación con disciplina FIFO. Una vez que la parte p ha sido reparada entra a la cola Q1 de partes “buenas”. Parte 3: ¿Qué pasaría en los dos casos anteriores si sólo hubiera un trabajador para hacer todo?. Item Distribución Detalles Arribos de fallas piezas p Normal μp=350; σp=70 Arribos de las “otras piezas” Exponencial λi= 0.111 Remoción Constante RP=4 Instalación parte Constante IP=6 Reparación parte p Normal μr=8; σr=1.2 Reparación “otra parte” Normal μo=8; σo=1.2 Un modelo posible para el ejercicio podría ser el que sigue: *Parte 1 GENERATE Again SEIZE ADVANCE RELEASE ADVANCE SPLIT SEIZE ADVANCE RELEASE SAVEVALUE TERMINATE Fetch TEST G SAVEVALUE ADVANCE TRANSFER *Parte 2 GENERATE ADVANCE SEIZE ADVANCE RELEASE TERMINATE * * Reloj * GENERATE TERMINATE ,,,1 Mac (Normal(1,350,70)) Mac 40 1,Fetch Fixer (Normal(1,8,1.2)) Fixer 1+,1 ;llega el primer trabajador ;pone a andar la máquina ;transcurre el tiempo hasta la falla ;la máquina queda fuera de servicio ;tiempo para remover la parte fallada ;manda al compañero a buscar una reparada ;ocupa al reparador ;tiempo de reparación X1,0 1-,1 6 ,Again ;espera de ser necesario por una parte OK ;resta la parte que se lleva ;Instala la parte ;Go turn on the machine ;una parte más arreglada (Exponential(1,0,9)),,,,1 ;llegada de otras piezas ;Dummy Fixer ;Captura al reparador (Normal(1,8,1.2)) ;tiempo de reparación Fixer ;libera reparador 10400 1 ; 260 semanas, 8 horas diarias, 5 días Además de ver de representar diferentes opciones en relación a la cantidad de partes p y a la aparición de otro tipo de ítems en la estación de reparación que tienen mayor prioridad, o al cambio sugerido de los tiempos de atención, etc…vean cómo funciona el modelo de arriba… Ejercicio 6 Un sistema con 4 discos. Un sistema de cómputo tiene una CPU a la cual se conectan 4 discos. La aplicación considerada tiene un promedio de 20 solicitudes de archivos por segundo (arribos de Poisson). Se ha observado que las solicitudes son al azar desde los 4 discos con igual probabilidad en cada uno de ellos. Hacemos las siguientes hipótesis: - cuando una solicitud de archivo es direccionada por el programa a la CPU, es encolada hasta que el canal y el disco estén libres. Cuando se logra esta condición, el disco es alcanzada por un tiempo de búsqueda (sep-time) igual a 75 ms en promedio, y con distribución exponencial. Durante el tiempo de búsqueda, el canal esta libre. Más aún, despreciamos el tiempo durante el cual el canal esta ocupado ejecutando el comando de búsqueda. - Cuando la búsqueda está completa, esperamos hasta que el canal queda libre. Entonces la información es transferida del disco a la CPU (tiempo de servicio del canal), lo cual toma un tiempo promedio de 36 ms con distribución exponencial. Cuando este tiempo ha pasado, el canal y el disco son liberados. Cuando varias solicitudes están compitiendo por el canal, damos prioridad a aquellos pedidos que requieren iniciar operaciones de búsqueda sobre los de transferencia de datos. Observar que solo un pedido o bien para comenzar una búsqueda, o para la operación de transmisión, es aceptado por cada disco. Se requieren estadísticas de colas de espera y tiempos de espera de las solicitudes antes de que sean aceptadas (esperando por el canal y el disco), el tiempo total de servicio, el cual es tiempo de búsqueda más tiempo de espera por el canal mas tiempo de servicio del canal. Para este ultimo, deseamos el promedio y el desvío estándar. Los resultados obtenidos proveerán una base para análisis mayores tales como el cambio de prioridades de los pedidos y la adición o supresión de un disco.