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)
Brincando com Números É fácil gerar números aleatórios de cabeça? Cada estudante deve anotar um número entre 0 e 9 em um pedaço de papel. Qual o número que mais ocorreu?
Deu... 7 “Geradores de números aleatórios não devem ser escolhidos aleatoriamente” (Ronald Knuth)
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)
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.
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.
Método da Congruência (LCG) 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 gera números inteiros entre 0 e m-1
Método da Congruência (LCG)
Exemplo Gerar números aleatórios pelo método da congruência, com a = 9, c = 1, m =17 e xo = 7. números pseudo-aleatórios inteiros entre 0 e 1 números pseudo-aleatórios inteiros entre 0 e 16 (=17-1)
Método da Transformada Inversa
Simulação de Monte Carlo John von Neumann (1946) - Los Alamos National Laboratory