Baixe o app para aproveitar ainda mais
Prévia do material em texto
1Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE Funções Geradoras de Variáveis Aleatórias 2Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE Funções Geradoras de Variáveis Aleatórias Nos programas de simulação existe um GNA e inúmeras outras funções matemáticas descritas como Funções Geradoras de Variáveis Aleatórias ou FGVA’s. Para cada tipo de distribuição teórica de probabilidades existe um FGVA apropriada. Para usá-las num programa de simulação basta invocar o nome da função desejada e fornecer os parâmetros necessários. 3Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE Funções Geradoras de Variáveis Aleatórias Fornece o parâmetro (10) para a FGVA EXPO TEC= EXPO (10) Modelo Computacional Invoca a FGVA Argumentos: NA[0;1] + Média (10) GNA fornece NA Retorna o valor de TEC TEC = 7,45823 Figura 2.5: Troca de dados e informações entre o modelo computacional e as FGVA’s 4Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE Algoritmos para Geração de Variáveis Aleatórias Distribuições Teóricas de Probabilidade 5Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE Geração de Variáveis Aleatórias Métodos e procedimentos computacionais para a geração de variáveis aleatórias com características específicas de alguma das diversas distribuições teóricas de probabilidades. A necessidade de tais variáveis: tempos entre chegadas; tempos de serviço; demandas por produtos, etc. 6Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE Métodos de Geração Os métodos baseiam-se na prévia geração de um número aleatório R, uniformemente distribuído sobre o intervalo (0, 1). x é expresso como uma função explícita de R.. Métodos básicos: Transformação Inversa; Transformação Direta; Convolução; Aceitação/Rejeição; Propriedades Especiais 7Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE Distribuição Geométrica Uma variável com distribuição geométrica representa o número de falhas observadas em uma seqüência de provas do tipo Bernoulli, sua função densidade é: p(x) = p(1 - p)x , x = 1, 2, ... Pelo método da transformação inversa, obtém-se a seguinte relação: ln( ) ln( ) ln( ) ln( ) 1 1 1 1 − − ≤ < − − R p x R p 8Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE Distribuição Geométrica Para a obtenção de uma variável com distribuição geométrica, necessita-se do parâmetro (probabilidade de um sucesso) p. Obtido tal elemento, os seguintes passos devem ser considerados: Gerar R; Calcular x = A função (arredondamento para o maior inteiro) atribui a x o maior inteiro que satisfaz a relação anterior. ln( ) ln( ) 1 1 − − ⎡ ⎢ ⎢ ⎤ ⎥ ⎥ R p⎡ ⎤ ⎡ ⎤. 9Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE Exemplo Gerar três valores de uma distribuição geométrica com p = 1/2. Usando uma tabela de valores aleatórios, obtemos R1 = 0,932; R2 = 0,105 e R3 = 0,687. Primeiramente calcula-se o valor da constante 1/ln (1-p) = 1/ln (1-0,5) = -1,443. Na seqüência, obtemos os valores dos xi’s a partir dos Ri’s . 10Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE Exemplo Passo Valor de Ri e de xi 1 R1 = 0,932 2 x1 = ⎡ ⎤ ⎡ ⎤-1,443 ln(1 - 0,932) = 3878, = 4 1 R2 = 0,105 2 x2 = ⎡ ⎤-1,443 ln(1 - 0,105) = 1 1 R3 = 0,687 2 x3 = ⎡ ⎤-1,443 ln(1 - 0,687) = 2 11Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE Distribuição de Poisson A distribuição de Poisson se caracteriza pela seguinte função densidade de probabilidade: a qual representa a probabilidade de ocorrência de x sucessos, num dado intervalo de tempo. Onde , é o valor esperado do número de ocorrências por unidade de tempo. p x P X x e x x x ( ) ( ) ! = = = = >−λ λ λ 0,1,2, ..., 0 λ 12Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE Distribuição de Poisson Geração de uma variável aleatória Poisson, considerando o método da Aceitação/Rejeição: Fazer n = 0, e P =1; Gerar um número aleatório Rn+1 e substituir P por P.Rn+1; Se, , aceitar X = n, caso contrário, rejeitar n atual, fazer n = n +1, e retornar aos procedimentos no passo 2. A idéia básica por traz do método da Aceitação/Rejeição, é gerar um número aleatório e testar uma determinada condição de “aceitação”. Caso esta condição seja satisfeita, o valor gerado é aceito, caso contrário os passos são repetidos. P e< −λ 13Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE Exemplo Gerar três números, segundo uma distribuição de Poisson, com = 0,2. Primeiramente, computamos o valor de . Na seqüência, obtemos um conjunto de números aleatórios e iniciamos os procedimentos estabelecidos nos passos de 1 a 3 anteriormente firmados λ e e− −= =λ 0 2 08187, , 14Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE Exemplo Passo Geração de P, n e X 1 n = 0, P = 1 2 R1 = 0,4357; P = 1.R1 = 0,4357 3 como P = 0,4357 < e-0,2 < 0,8187; aceitamos X = 0 1 - 3 R1 = 0,4146 nos leva a X = 0 1 n = 0, P = 1 2 R1 = 0,8353; P = 1.R1 = 0,8353 3 como P e≥ −λ ; rejeitamos n = 0 e retornamos ao passo 2 com n = 1 2 R2 = 0,9952; P = P.R2 = 0,8353.0,9952 = 0,8313 3 como P e≥ −λ ; rejeitamos n = 1 e retornamos ao passo 2 com n = 2 2 R3 = 0,8004; P = P.R3 = 0,8313. 0,8004 = 0,6654 3 como P = 0,6654< e-0,2 < 0,8187; aceitamos X = 2 15Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE Distribuição Empírica Discreta Para gerar uma variável aleatória que tenha um comportamento semelhante ao determinado por distribuição empírica discreta conhecida, é necessário, inicialmente, determinarmos as freqüências relativas acumuladas da distribuição. Por exemplo: Uma vez que tais informações estejam disponíveis, aplicamos o método da transformação inversa que, neste caso, torna-se um processo de pesquisa em uma tabela de valores, num procedimento muito semelhante ao que realizamos no capítulo 1, quando tratamos do método de Monte Carlo. x p(x) F(x) 0 0,50 0,50 1 0,30 0,80 2 0,20 1,00 16Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE Procedimentos Os procedimentos de busca são facilitados pela construção de uma tabela para a geração dos valores de x: Esquematizando os procedimentos: 1. Gerar R; 2. Descobrir i, tal que ri-1 < R ri; 3 Fazer X = xi. i Entrada ri Saída xi 1 0,50 0 2 0,80 1 3 1,00 2 ≤ 17Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE Exemplo Suponha uma variável aleatória com a seguinte distribuição de probabilidades: x p(x) F(x) 2 0,45 0,45 3 0,35 0,80 5 0,20 1,00 Dados R1= 0,43; R2=0,61 e R3=0,83; gerar três valores para a variável X, que pertençam a esta distribuição. R1= 0,43 < F(x=2) = 0,45; logo X=2; F(x=2) = 0,45 < R2= 0,61 F(x=3) = 0,80 ; logo X=3; F(x=3) = 0,80 < R3= 0,83 F(x=5) = 1,00 ; logo X=5;≤ ≤ 18Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE Distribuição Uniforme Uma variável aleatória x tem distribuição uniforme sobre um intervalo [a, b], se sua função densidade de probabilidade (fdp) é dada por: A técnica mais utilizada para a obtenção de uma variável aleatória uniformemente distribuída é a da transformação inversa. A fórmula é a seguinte: Os parâmetros necessários para a obtenção de uma variável com distribuição uniforme são apenas os valores extremos do intervalo [a, b]. Uma vez definidos, os seguintes passos devem ser considerados: Gerar R; Calcular f x b a a x b( ) = − ≤ ≤ 1 x a b a R= + −( ) x a b a R= + −( ) 19Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE Exemplo Gerar três valores de uma distribuição uniforme no intervalo [10, 50]. Usando os seguintes valores aleatórios R1 = 0,932; R2 = 0,105 e R3 = 0,687. Aplicando o método proposto teremos: PassoValor de Ri e de xi 1 R1 = 0,932 2 x1 = 10 + (40)0,932 = 47,28 1 R2 = 0,105 2 x2 =10 + (40)0,105= 14,2 1 R3 = 0,687 2 x3 = 10 + (40)0,687= 37,48 20Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE Distribuição Triangular Uma variável aleatória x tem uma distribuição triangular se sua fdp é dada por: f x x a b a c a c x c b c a b x c ( ) ( ) ( )( ) , ( ) ( )( ) , = − − − ≤ ≤ − − − < ≤ ⎧ ⎨ ⎪⎪ ⎩ ⎪ ⎪ 2 2 a x b onde a b c≤ ≤ . A moda b = 3 E (x) - (a + c). Pelo método da transformação inversa obtém-se a fórmula para gerar amostras com distribuição triangular. A variável x com esta distribuição é obtida por: x a R b a c a R b a c a c R c b c a b a c a R = + − − ≤ ≤ − − − − − − − − < ≤ ⎧ ⎨ ⎪ ⎩ ⎪ ( )( ) , ( )( )( ) se , se 0 1 1 21Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE Exemplo Gerar três valores de uma distribuição triangular com parâmetros (0, 1, 2). Obtidos R1 = 0,544; R2 = 0,747 e R3 = 0,449. x R R R R = ≤ ≤ − − < ≤ ⎧ ⎨ ⎪ ⎩ ⎪ 2 0 1 2 2 2 1 1 2 1( ) P a sso V a lo r d e R i e d e x i 1 R 1 = 0 ,5 4 4 2 x 1 = 2 - 2 1 0 5 4 4( , )− = 1 ,0 4 5 1 R 2 = 0 ,7 4 7 2 x 2 = 2 - 2 1 0 7 4 7( , )− = 1 ,2 8 8 1 R 3 = 0 ,4 4 9 2 x 3 = 2 0 4 4 9( , ) = 0 ,9 4 7 22Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE Distribuição Exponencial Uma variável aleatória x tem uma distribuição exponencial se sua fdp é dada por: O parâmetro é interpretado como sendo o número médio de ocorrências por unidade de tempo, enquanto a razão representa o tempo médio entre as ocorrências. Aplicando-se o método da transformação inversa para a obtenção de uma variável aleatória x com distribuição exponencial resulta na seguinte relação: Uma vez que (1-Ri), da mesma forma que Ri, possui distribuição uniforme no intervalo [0, 1], podemos substituir (1-Ri) por Ri na expressão acima. f x e xx( ) ,= ≥−λ λ 0 )1ln( ii Rx −−= λ 23Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE Exemplo Gerar valores de uma distribuição exponencial com parâmetro =1. λ )1ln( ii Rx −−= λ i 1 2 3 4 5 Ri 0,1306 0,0422 0,6597 0,7965 0,7696 xi 0,139952 0,043116 1,077928 1,592089 1,467938 24Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE Distribuição Normal Uma variável aleatória x tem uma distribuição normal se sua fdp é dada por: f x e x x ( ) , ( ) = − ∞ < < ∞ − −1 2 2 22 σ π µ σ Método de Box-Muller Z 1=B cos θ Z 2=B sen θ Z R R Z R R 1 1 2 2 1 2 2 2 2 2 = − = − ln cos( ) ln sen( ) π π 25Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE Exemplo Considerando as equações anteriores, gerar dois valores com distribuição normal padronizada a partir de R1 = 0,1758 e R2 = 0,1489. Z1 = [-2 ln (0,1758)]½ cos ( 0,1489) = 1,11 Z2 = [-2 ln (0,1758)]½ sen ( 0,1489) = 1,50 Para a obtenção de uma variável aleatória normal com média µ e desvio padrão σ, deve-se aplicar a transformação xi = µ + σ.Zi aos valores da normal padronizada. Por exemplo, para transformar os valores obtidos de Z1 e Z2 em uma Normal (10; 2), calcula-se: x1 = 10 + 2.(1,11) = 12,22 x2 = 10 + 2.(1,50) = 13,00 26Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE Exercício Use o MCL para gerar uma seqüência de números aleatórios entre zero e 1, com os seguintes parâmetros: • x0 = 23, a = 17, b = 43 e m = 100. Considere os necessários valores gerados e determine um valor para cada uma das seguintes variáveis: Uniforme (15, 35); Exponencial (10); Triangular (5, 8, 13); Normal (12, 2). mbaxx nn mod)( 1 += − Funções Geradoras de Variáveis Aleatórias Funções Geradoras de Variáveis Aleatórias Funções Geradoras de Variáveis Aleatórias Algoritmos para Geração de Variáveis Aleatórias Geração de Variáveis Aleatórias Métodos de Geração Distribuição Geométrica Distribuição Geométrica Exemplo Exemplo Distribuição de Poisson Distribuição de Poisson Exemplo Exemplo Distribuição Empírica Discreta Procedimentos Exemplo Distribuição Uniforme Exemplo Distribuição Triangular Exemplo Distribuição Exponencial Exemplo Distribuição Normal Exemplo Exercício
Compartilhar