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
G
T2
F
T3
...
...
Tn
Gerador de
número aleatório
Função de repartição:
Exponencial, Normal,
etc
Modelagem e Simulação de Eventos Discretos – Chwif e Medina (2006)
Tempos
segundo as
distribuições
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
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 pseudoaleatórios inteiros entre
0 e 16 (=17-1)
Modelagem e Simulação de Eventos Discretos – Chwif e Medina (2006)
xn+1/17
números pseudoaleatórios inteiros
entre 0 e 1
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
Download

Anexo_III_Ger_Aleat