Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Geração de Números Aleatórios

11,059 views

Published on

Apresentação do material do Anexo III do livro: Modelagem e Simulação de Eventos Discretos, de Chwif e Medina, 2006.

www.livrosimulacao.eng.br.

  • Be the first to comment

Geração de Números Aleatórios

  1. 1. Geração de Números Aleatórios Anexo III Páginas 219-226 Este material é disponibilizado para uso exclusivo de docentes que adotam o livro Modelagem e Simulação de Eventos Discretos em suas disciplinas. O material pode (e deve) ser editado pelo professor. Pedimos apenas que seja sempre citada a fonte original de consulta. Verifique sempre a atualização deste material no site www.livrosimulacao.eng.br Divirta-se! Prof. Afonso C. Medina Prof. Leonardo Chwif Versão 0.2 14/05/06 Modelagem e Simulação de Eventos Discretos – Chwif e Medina (2006) Slide 1
  2. 2. Brincando com Números É fácil gerar números aleatórios de cabeça? 1. Cada estudante deve anotar um número entre 0 e 9 em um pedaço de papel. 2. Qual o número que mais ocorreu? Modelagem e Simulação de Eventos Discretos – Chwif e Medina (2006) Slide 2
  3. 3. Deu... 7 “Geradores de números aleatórios não devem ser escolhidos aleatoriamente” (Ronald Knuth) Modelagem e Simulação de Eventos Discretos – Chwif e Medina (2006) Slide 3
  4. 4. Geração de Números Aleatórios Um número é aleatório pode representar decisões arbitrárias ou servir como entrada para geração de tempos segundo várias distribuições. Como produzir números aleatórios ? Dispositivos físicos (Ex. dados, roleta, moeda etc.) Tabela de números aleatórios (livros) Processos matemáticos No Excel: “=ALEATORIO()” (gera um número aleatório maior ou igual a 0 e menor do que 1) Modelagem e Simulação de Eventos Discretos – Chwif e Medina (2006) Slide 4
  5. 5. Geração de Números Aleatórios Sorteia-se um número aleatório uniformemente distribuído entre 0 e 1. Utilizando-se a função repartição da distribuição de probabilidade desejada, transforma-se o número aleatório uniformemente distribuído em um valor segundo a distribuição probabilística desejada. T1 T2 G F T3 ... ... ... Tn Gerador de Função de repartição: Tempos número aleatório Exponencial, Normal, segundo as etc distribuições Modelagem e Simulação de Eventos Discretos – Chwif e Medina (2006) Slide 5
  6. 6. Método do Meio Quadrado Von Neumann (1946) r1 = 76 => 762 = 5776 r2 = 77 => 772 = 5929 r3 = 92…. Seqüência gerada (76,77,92,46,11,12,14, …) Quando resultar em 0, deve-se utilizar outra semente. Modelagem e Simulação de Eventos Discretos – Chwif e Medina (2006) Slide 6
  7. 7. Método da Congruência (LCG) x i +1 = ( ax i + c) mod m gera números inteiros entre 0 e m-1 xo é a semente do número aleatório “mod” é a função módulo = mostra o resto da divisão inteira. Ex.: 10 mod 6 = 4 Modelagem e Simulação de Eventos Discretos – Chwif e Medina (2006) Slide 7
  8. 8. Método da Congruência (LCG) Passo 1: Escolher os valores a, c e M. Usualmente, M é escolhido o maior possível. Passo 2: Escolher a semente r0, tal que: 1 ≤ r0 ≤ M . Passo 3: Calcular o próximo número aleatório pela expressão: r1 = (a ⋅ r0 + c) mod M onde: x mod y é o módulo da divisão de x por y (por exemplo: 10 mod 6 = 4 ). Passo 4: Substitua r0 por r1 e volte ao passo anterior, de modo a construir a seqüência de números aleatórios desejada. Modelagem e Simulação de Eventos Discretos – Chwif e Medina (2006) Slide 8
  9. 9. Exemplo Gerar números aleatórios pelo método da congruência, com a = 9, c = 1, m =17 e xo = 7. n xn y=9xn+1 y mod 17 xn+1/17 0 Xo=7 9*7+1=64 13 13/17 = 0.7647 1 X1=13 118 16 16/17 = 0.9412 2 X2=16 145 9 0.5294 3 X3=9 82 14 0.8235 4 X4=14 127 8 0.4706 números pseudo- números pseudo- aleatórios inteiros entre aleatórios inteiros 0 e 16 (=17-1) entre 0 e 1 Modelagem e Simulação de Eventos Discretos – Chwif e Medina (2006) Slide 9
  10. 10. Método da Transformada Inversa Passo 1: Obtenha a função de repartição da variável aleatória através da expressão (Apêndice I): x F ( x) = ∫ f ( x)dx −∞ Passo 2: Gere um número aleatório r entre 0 e 1. Passo 3: Faça F(x)=r e resolva em x. A variável x é uma variável aleatória cuja distribuição é dada pela função densidade de probabilidade f(x). Modelagem e Simulação de Eventos Discretos – Chwif e Medina (2006) Slide 10
  11. 11. Simulação de Monte Carlo John von Neumann (1946) - Los Alamos National Laboratory Modelagem e Simulação de Eventos Discretos – Chwif e Medina (2006) Slide 11

×