SlideShare une entreprise Scribd logo
1  sur  11
Télécharger pour lire hors ligne
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
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
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
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
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
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
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
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
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
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
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

Contenu connexe

Similaire à Geração de Números Aleatórios

Similaire à Geração de Números Aleatórios (14)

Algoritmo Genetico
Algoritmo GeneticoAlgoritmo Genetico
Algoritmo Genetico
 
Monografia Rodrigo Matemática 2010
Monografia Rodrigo Matemática 2010Monografia Rodrigo Matemática 2010
Monografia Rodrigo Matemática 2010
 
Trabalho nº8
Trabalho nº8Trabalho nº8
Trabalho nº8
 
Trabalho nº9
Trabalho nº9Trabalho nº9
Trabalho nº9
 
PROVAS EMEF
PROVAS EMEFPROVAS EMEF
PROVAS EMEF
 
Provas
ProvasProvas
Provas
 
Scipy meetup-2020-02
Scipy meetup-2020-02Scipy meetup-2020-02
Scipy meetup-2020-02
 
Construcao de Algoritmos - Aula 05
Construcao de Algoritmos - Aula 05Construcao de Algoritmos - Aula 05
Construcao de Algoritmos - Aula 05
 
Apostila matematica concursos_fundamental
Apostila matematica concursos_fundamentalApostila matematica concursos_fundamental
Apostila matematica concursos_fundamental
 
Apostila matematica concursos_fundamental
Apostila matematica concursos_fundamentalApostila matematica concursos_fundamental
Apostila matematica concursos_fundamental
 
Apostila matematica concursos - ensino fundamental
Apostila matematica   concursos - ensino fundamentalApostila matematica   concursos - ensino fundamental
Apostila matematica concursos - ensino fundamental
 
Apostila matematica concursos - ensino fundamental
Apostila matematica   concursos - ensino fundamentalApostila matematica   concursos - ensino fundamental
Apostila matematica concursos - ensino fundamental
 
1 cm mat
1 cm mat1 cm mat
1 cm mat
 
Redes neurais com matlab
Redes neurais com matlabRedes neurais com matlab
Redes neurais com matlab
 

Geração de Números Aleatórios

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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