Geração de Números Aleatórios

10.658 visualizações

Publicada em

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.

0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
10.658
No SlideShare
0
A partir de incorporações
0
Número de incorporações
64
Ações
Compartilhamentos
0
Downloads
195
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

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

×