Escolar Documentos
Profissional Documentos
Cultura Documentos
Gera Cao Numero Sale A To Rios
Gera Cao Numero Sale A To Rios
ALEATÓRIOS
Simulação de Sistemas 1
Propriedades dos Números Aleatórios
f(x)
1
⎧1, 0 ≤ x ≤ 1
f (x) = ⎨
⎩0, outro valor
0 1 x
Simulação de Sistemas 2
Conseqüências da
Uniformidade e Independência
Simulação de Sistemas 3
Métodos Geradores de Números Aleatórios
xn = f ( xn −1 , xn − 2 ,...)
Simulação de Sistemas 4
Exemplo
xn = (5 xn −1 + 1) mod 16
Para dar início ao processo de geração é preciso definir um
valor inicial para xo.
Iniciando a série com xo = 5 obtém-se x1 da forma que segue:
x1 = (5 x 5 + 1) mod 16 = 26 mod 16 = 10
Os primeiros 32 números obtidos por meio deste procedimento
são:
10, 3, 0, 1, 6, 15, 12, 13, 2, 11, 8, 9, 14, 7, 4, 5, 10, 3, 0, 1, 6, 15,
12, 13, 2, 11, 8, 9, 14, 7, 4, 5.
Observa-se que a série se repete após os primeiros 16 números.
Simulação de Sistemas 5
Exemplo...
Simulação de Sistemas 6
Observações
A função f é determinística.
Dada a semente, podemos afirmar, com 100% de certeza,
qual serão os números na seqüência.
Embora estes números sejam considerados aleatórios, no
sentido de serem aprovados quando submetidos a testes
estatísticos de aleatoriedade, são, de fato, pseudo-aleatórios.
O objetivo em qualquer método de geração é produzir uma
seqüência de números aleatórios entre zero e 1, os quais
simulem ou imitem, as propriedades dos verdadeiros
números aleatórios.
Simulação de Sistemas 7
Observações
Outra importante observação sobre o exemplo apresentado, é que somente
os 16 primeiros valores são únicos.
O 17º é igual ao primeiro e o restante da seqüência é apenas uma
repetição cíclica dos primeiros 16 números.
Dito de outra forma, o gerador utilizado possui um comprimento de ciclo
igual a 16 valores.
Alguns geradores não repetem uma parte inicial do ciclo, chamada de
cauda. Neste caso, o comprimento de seu período é dado pela soma do
comprimento L da cauda mais o comprimento C do ciclo.
Semente
Simulação de Sistemas 8
Propriedades Desejadas
As propriedades desejadas em um gerador de números
aleatórios são as seguintes:
9 Deve ser computacionalmente eficiente: Uma vez que as simulações
necessitam da geração de, até mesmo, milhares de números aleatórios
em cada rodada, o tempo para processar cada geração deve ser
mínimo;
9 O período deve ser muito longo: Um período curto pode fazer com
que haja a reciclagem da seqüência de números aleatórios, resultando
em uma repetição da seqüência de eventos. Isto pode,
conseqüentemente, limitar o período utilizável de uma rodada de
simulação.
9 Os sucessivos valores devem ser independentes e uniformemente
distribuídos: A correlação entre os diversos valores gerados deve ser
pequena. A correlação, se significativa, indica dependência.
Simulação de Sistemas 9
Método Congruente Linear
xn = a mod m
n
Simulação de Sistemas 10
Método Congruente Linear
xn = axn−1 mod m
Os parâmetros a e m são chamados de multiplicador e
módulo respectivamente.
As escolhas de Lehmer para estes parâmetros foram a = 23 e
m = 108 + 1.
Segundo Jain (1991), tais valores foram baseados na
facilidade de implementação no ENIAC, que era uma
máquina de oito dígitos decimais.
Simulação de Sistemas 11
Generalizações
Muitas das propostas atuais são generalizações da proposta
de Lehmer e seguem a seguinte fórmula:
xn = (axn −1 + b) mod m
Simulação de Sistemas 12
Exercício xn = (axn −1 + b) mod m
Simulação de Sistemas 13
Resposta Exercício 1 xn = (axn −1 + b) mod m
Simulação de Sistemas 14
Resposta Exercício 1 xn = (axn −1 + b) mod m
Simulação de Sistemas 17
Exercício 3
Encontre os períodos para o gerador com os seguintes parâmetros: a = 13,
b = 0, m = 26, e X0 = 1, 2, 3 e 4.
Simulação de Sistemas 18
Exercício 3
Observe como o período obtido é dependente dos parâmetros a,b,m e X0.
i xi xi xi xi
0 1 2 3 4
1 13 26 39 52
2 41 18 59 36
3 21 42 63 20
4 17 34 51 4
5 29 58 23
6 57 50 43
7 37 10 47
8 33 2 35
9 45 7
10 9 27
11 53 31
12 49 19
13 61 55
14 25 11
15 5 15
16 1 3
Simulação de Sistemas 19
Variação dos períodos para várias sementes
Simulação de Sistemas 20
Método Congruente Linear Multiplicativo (MCLM)
xn = axn −1 mod m
Os geradores baseados no MCLM são mais eficiente do que aqueles com
base no MCL pois, uma vez que não existe o envolvimento de adições, o
tempo de processamento necessário se reduz.
A eficiência pode ser ainda maior quando m assume uma potência de 2,
fazendo com que, desta forma, a operação mod seja trivial.
Simulação de Sistemas 21
Velocidade e Eficiência versus m
x0 = 63
x1 = (19)(63) mod 100 = 1197 mod 100 = 97
x2 = (19)(97) mod 100 = 1843 mod 100 = 43
x3 = (19)(43) mod 100 = 817 mod 100 = 17
.
Simulação de Sistemas 22
Exemplo usando um gerador atual
Exemplo de um gerador ainda em uso em muitas rotinas para a geração de
números aleatórios, presentes em programas comerciais.
Os valores dos parâmetros satisfazem as condições para permitir P = m - 1
(maior do que 2 bilhões).
Os valores dos parâmetros são: m = 231 - 1 = 2.147.483.647 (que é um
número primo), a = 75 = 16.807. A semente x0 = 123.456.
Simulação de Sistemas 23