Geradores de Números Aleatórios
-
Upload
jaildo-rocha -
Category
Documents
-
view
30 -
download
4
description
Transcript of Geradores de Números Aleatórios
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 1
Geradores de Números Aleatórios Índice
1 O papel da estatística na engenharia e na ciência .............................................................................. 2 2 Probabilidade .................................................................................................................................... 4
2.1 Os conceitos de experimento, espaço amostral e evento.............................................................. 6 2.2 Axiomas de probabilidade ............................................................................................................ 8
3 O conceito de variável aleatória ...................................................................................................... 15 3.1 Distribuições e variáveis aleatórias discretas .............................................................................. 19 3.2 Distribuições e variáveis aleatórias contínuas ............................................................................. 22 3.3 Exemplos de funções densidade de probabilidade ...................................................................... 24 3.4 Média e variância da distribuição ............................................................................................... 25 3.5 Momentos ................................................................................................................................. 28
4 Medidas amostrais .......................................................................................................................... 29 5 Geradores de números pseudo-aleatórios em computador ............................................................. 30 6 Pseudo-aleatoriedade em computadores digitais ............................................................................ 31 7 Geradores de números pseudo-aleatórios uniformes ...................................................................... 33 8 Propriedades adicionais de um GNA ................................................................................................ 34 9 Geradores lineares .......................................................................................................................... 35 10 Geradores portáveis ........................................................................................................................ 37 11 Outros geradores ............................................................................................................................ 40 12 Testes para geradores de números pseudo-aleatórios ..................................................................... 41 13 Geradores de Números Pseudo-Aleatórios em Computação Evolutiva ............................................. 43 14 Distribuição normal a partir de uma distribuição uniforme .............................................................. 46 15 Referências ..................................................................................................................................... 46
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 2
1 O papel da estatística na engenharia e na ciência
As teorias científicas lidam com conceitos, não com a realidade. Embora elas
sejam formuladas para corresponder à realidade, esta correspondência é
aproximada e a justificativa para todas as conclusões teóricas é baseada em
alguma forma de raciocínio indutivo.
Athanasios Papoulis
• Métodos estatísticos fornecem ferramentas importantes para a engenharia,
com teor descritivo e analítico para operar com a variabilidade presente nos
dados observados.
• A estatística lida com a coleta, apresentação, análise e uso de dados em
tomada de decisão e na solução de problemas.
• Um estatístico usa as leis fundamentais da probabilidade e da inferência
estatística para elaborar conclusões acerca de determinado experimento.
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 3
• Objetivo: Descrever e modelar a variabilidade e tomar decisões na presença de
variabilidade (inferência estatística).
• Fundamento: o modelo deve possuir ao menos um elemento intrinsecamente
aleatório.
• A variabilidade é resultante de mudanças nas condições sob as quais as
observações são feitas, de características do sistema de medidas e do processo
de amostragem.
• Exemplo: Amostras de ganho de um transistor
5,10 / 5,24 / 5,13 / 5,19 / 5,08
! A informação contida nas amostras demonstra de forma conclusiva que o
ganho do transistor é menor que 5,50?
! Quanta confiança pode se ter de que o ganho no transistor está contido no
intervalo [5,00; 5,30]?
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 4
• Estatística inferencial: estimação pontual de parâmetros; estimação de
intervalos de confiança; teste de hipóteses; transferência de conclusões das
amostras para as populações; generalização.
• Estatística descritiva: aplicação de métodos gráficos e numéricos na
organização e apresentação da informação em uma forma sucinta.
2 Probabilidade
• A probabilidade é a linguagem empregada na fundamentação matemática da
inferência estatística. Trata-se de uma disciplina exata e desenvolvida a partir
de um encadeamento lógico de deduções a partir de um conjunto de axiomas
claramente definidos.
• Há uma óbvia quebra de continuidade entre os elementos de probabilidade
apresentados em cursos introdutórios e os conceitos mais elaborados
necessários nas aplicações do dia-a-dia.
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 5
• O importante é observar que, quando se aplica a teoria de probabilidade ao
mundo real, ela se mostra eficaz.
• Exemplo 1: As raízes da teoria de probabilidade estão associadas aos jogos de
azar, em Monte Carlo, no século 17.
• Exemplo 2: Parte do sucesso da indústria japonesa é atribuída ao emprego de
métodos estatísticos na produção, gerenciamento e planejamento (não apenas
gerar relatórios, mas extrair conclusões ou realizar inferências).
• Exemplo 3: Prévia Eleitoral (procedimento sistemático para elaboração do
experimento e coleta de dados)
Coleção de todos os indivíduos (população) ↓
Processo de amostragem ↓
Inferência sobre toda a população
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 6
2.1 Os conceitos de experimento, espaço amostral e evento
• Experimento é o termo utilizado para indicar a realização de algo, ou a
observação de algo, que acontece sob certas condições, levando a um
resultado.
• Ocasionalmente, a natureza de um experimento faz com que o seu resultado
seja definido unicamente pelas condições nas quais o experimento é realizado.
• Na prática, todavia, observa-se que muitos experimentos não apresentam a
propriedade de repetitividade, mesmo sob condições supostamente idênticas.
• Este é o caso quando existem fatores que influenciam o resultado, mas que não
são de conhecimento do experimentador ou que o experimentador não pode
controlar e, também, quando os fatores que supostamente estão sob controle,
na verdade não estão.
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 7
• O resultado não pode, então, ser predito a partir do conhecimento das
“condições” sob as quais o experimento foi realizado. Neste caso, fala-se do
experimento como sendo um “experimento envolvendo o acaso” ou,
simplesmente, “experimento aleatório”.
• Devido à imprevisibilidade ou ao elemento do acaso no experimento, o tipo de
modelo matemático usual envolvendo equações determinísticas é inadequado
e um novo tipo de estrutura matemática é necessário para representar os
fenômenos de interesse, denominados processos estocásticos.
• Uma vez que o resultado do experimento não é previsível, ele vai ser um
dentre os muitos resultados possíveis.
• O espaço amostral de um experimento aleatório é o conjunto de todos os
resultados possíveis do experimento, sendo geralmente denotado por S.
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 8
• Normalmente, é interessante focalizar a atenção em subconjuntos do espaço
amostral S. Para tanto, define-se um evento como qualquer subconjunto E do
espaço amostral S (E ⊂ S).
2.2 Axiomas de probabilidade
• O ingrediente principal do modelo matemático de um experimento aleatório é
a noção de probabilidade, a qual formaliza o conceito de que alguns eventos
são mais verossímeis do que outros, em termos de suas frequências de
ocorrência relativas.
• Os axiomas de probabilidade permitem a manipulação de combinações de
eventos (eventos compostos).
• Seja S um espaço amostral, seja ε uma classe que comporta todos os possíveis
eventos em S, e seja P uma função de valores reais definida em ε. Então P é
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 9
denominada de função de probabilidade e EP é denominada de
probabilidade do evento E se os seguintes axiomas forem válidos:
Axioma 1: Para todo evento E, 10 ≤≤ EP .
O axioma 1 determina que a probabilidade de que o resultado de um experimento
está contido em E é algum número real entre 0 e 1.
Axioma 2: 1=SP .
O axioma 2 determina que, com probabilidade igual a 1, o resultado está contido
no espaço amostral S.
Axioma 3: Para qualquer sequência de eventos mutuamente exclusivos K,, 21 EE
(isto é, eventos para os quais ∅=∩ ji EE quando ji ≠ ),
∑∞
=
∞
=
=11 i
ii
i EPEP U
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 10
• Algumas proposições simples podem ser deduzidas a partir dos axiomas
enumerados acima:
Proposição 1: Dado que E e Ec são eventos sempre mutuamente exclusivos e,
visto que SEE c =∪ , pelos Axiomas 1 e 2 temos que: cc EPEPEEPSP +=∪==1 .
• De forma equivalente, a equação acima pode ser escrita como:
EPEP c −= 1 .
• Em palavras, a proposição 1 afirma que a probabilidade de um evento não
ocorrer é igual a 1 menos a probabilidade do evento ocorrer.
Proposição 2:
FEPFPEPFEP ∩−+=∪ .
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 11
• Para deduzir a fórmula para FEP ∪ é necessário lembrar que )( FE∪ pode
ser escrito como a união de dois eventos disjuntos E e )( FE c ∩ . Assim,
utilizando o Axioma 3, temos que:
FEPEP
FEEPFEPc
c
∩+=
∩∪=∪ )(
• Além disto, como )()( FEFEF c ∩∪∩= , obtemos pelo Axioma 3 que:
FEPFEPFP c ∩+∩=
• Ou, de forma equivalente:
FEPFPFEP c ∩−=∩ ,
completando assim a prova de que
FEPFPEPFEP ∩−+=∪ .
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 12
• Esta proposição pode também ser demonstrada utilizando o diagrama de Venn mostrado abaixo.
S
II IIII
FE
• As divisões no diagrama mostram três seções mutuamente exclusivas. Em
palavras, a seção I representa todos os pontos em E que não estão em F (isto é, cFE ∩ ); a seção II representa todos os pontos que estão tanto em E quanto
em F (isto é, FE ∩ ), e a seção III representa todos os pontos em F que não
estão em E (isto é, FE c ∩ ).
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 13
• Do diagrama de Venn, observamos que:
IIIIIIII
IIIIII
∪=
∪=
∪∪=∪
FEFE
• Como I, II e III são mutuamente exclusivos, temos pelo Axioma 3 que:
IIIIIIII
IIIIII
PPFPPPEP
PPPFEP
+=
+=
++=∪
• Mostrando que
IIPFPEPFEP −+=∪ .
• Visto que FE ∩=II , temos então:
FEPFPEPFEP ∩−+=∪ ,
que é conhecida como a lei de adição de probabilidades.
• Em palavras, pode ser expressa como:
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 14
A probabilidade do evento E ou do evento F ocorrer é a soma de
suas probabilidades em separado menos a probabilidade de ambos
ocorrerem. No caso dos eventos E e F serem mutuamente
exclusivos, eles não terão pontos em comum e, portanto,
0=∩ FEP . Neste caso, FPEPFEP +=∪ , como já
indicado pelo axioma 3.
• Maiores detalhes sobre definições, axiomas, e exemplos envolvendo teoria de
probabilidade → consultar PAPOULIS (1991, caps. 1 e 2).
• Dentre os conceitos adicionais mais importantes, e que não serão abordados
aqui, estão o de probabilidade condicional e o teorema de Bayes (veja
exemplos 2.9 e 2.11 de PAPOULIS, 1991).
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 15
3 O conceito de variável aleatória • Ao se arremessar um dado, é sabido que o valor ξ da face que ficar para cima
vai ser um número entre 1 e 6, mas não é possível predizer este valor.
• Quando uma lâmpada entra em operação, o seu tempo de vida ξ também não
pode ser predito.
• Nesses dois casos, ξ é uma variável aleatória ou estocástica.
• ‘Arremesso de dado’ e ‘Lâmpada em operação’ são experimentos.
• O conjunto {1, 2, 3, 4, 5, 6} e o intervalo real de unidades de tempo [0, +∞)
são os espaços amostrais correspondentes.
• São eventos:
" Número par na face que ficou para cima: E = {2, 4, 6};
" Lâmpada com tempo de vida inferior a 400 unidades de tempo:
E = [0, 400).
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 16
• Logo, uma variável aleatória é uma função que aloca um ponto do espaço
amostral a cada resultado de um experimento aleatório. Dito de outro modo,
uma variável aleatória é uma função associada a um experimento, sendo que a
realização do experimento leva esta variável a assumir um valor dependente
do acaso, mas pertencente ao respectivo espaço amostral.
• Cada vez que um experimento é realizado, o resultado obtido indica a
ocorrência ou não de um determinado evento (subconjunto do espaço
amostral).
• Formalização do conceito: Uma variável aleatória ξ é uma função com as
seguintes propriedades:
" ξ assume valores no espaço amostral S de um experimento;
" Para todo evento E ⊂ S, a probabilidade de que ξ assuma um valor x ∈ E após a realização do experimento, dada por P⟨x ∈ E⟩ = P⟨E⟩, é bem definida (embora possa ser desconhecida).
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 17
• Como o evento pode ser qualquer, é possível considerar eventos do tipo: E ≡ x,
onde x ∈ S. Logo, temos que, para todo x ∈ S, a probabilidade de que ξ valha
x após a realização do experimento, dada por P⟨ξ = x⟩ = P⟨x⟩, é bem definida.
• Considerando que as probabilidades mencionadas acima são bem definidas,
para toda variável aleatória, então é sempre possível obter uma função
distribuição de probabilidade definida em todo o espaço amostral. Geralmente,
se emprega a função distribuição cumulativa de probabilidade. Para tal, seja
x ∈ S e suponha que E(z) = {x | x ≤ z}. Então, a função distribuição cumulativa
de probabilidade associada à variável aleatória ξ é dada na forma:
zxxPzEPzExPzF ≤==∈=ξ |)()()(
• Apesar desta definição de função distribuição de probabilidade ser muito
genérica (atende a qualquer tipo de variável aleatória), apenas uma quantidade
reduzida de tipos de distribuição são verificados em aplicações práticas.
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 18
• Neste ponto do texto, o mais importante é dividir estes poucos tipos em duas
classes:
1. Distribuições discretas: ocorrem em experimentos que requerem
contagem. Exemplos: pessoas com menos de 30 anos, mortes por câncer,
produtos com defeito.
2. Distribuições contínuas: ocorrem em experimentos que requerem
medidas. Exemplos: tensão elétrica, pressão sanguínea, vazão de rio.
• Para cada uma das duas classes, a respectiva função distribuição de
probabilidade )(⋅ξF terá sempre associada a si:
" Uma função massa de probabilidade )(⋅ξf , no caso discreto;
" Uma função densidade de probabilidade )(⋅ξf , no caso contínuo.
• Deste modo, o conhecimento do comportamento de uma das funções, )(⋅ξF ou )(⋅ξf , em todo o espaço amostral já é suficiente para se obter a outra função.
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 19
3.1 Distribuições e variáveis aleatórias discretas
• Uma variável aleatória ξ e sua distribuição de probabilidade são discretas se o
espaço amostral (onde ξ assume valores) contém apenas um número finito de
elementos ou um número infinito, mas contável, de elementos.
• Neste caso, a função massa de probabilidade assume a forma:
==
=ξ alhures0...),2,1( se
)(jxzp
zf jj
e a correspondente função distribuição de probabilidade é dada por:
∑ ∑≤ ≤
ξξ ==
zxj
zxj
jj
j j
pxfzF que tal
que tal
)()(
onde xj, j=1,2,..., são elementos do espaço amostral.
• Exemplo: No caso de um dado não-viciado, a variável aleatória ξ, representando a face que ficar para cima após o arremesso do dado, tem as seguintes funções massa e distribuição de probabilidade:
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 20
f ξ ( z )
1 3 4 5 62
16
F ξ ( z )
z1 3 4 5 62
12
1
z
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 21
• Em muitas aplicações, existe o interesse em medidas de probabilidade do tipo
rq xxP ≤ξ< , ou seja, a probabilidade de que ξ assuma qualquer valor no
intervalo rq xxx ≤< , onde xq e xr não precisam necessariamente ser
elementos de S. Da definição zxxPzF ≤=ξ |)( de função distribuição de
probabilidade, pode-se deduzir que:
)()( qrrq xFxFxxP ξξ −=≤ξ< .
• Como a variável aleatória ξ é discreta, resulta:
∑≤<
=≤ξ<
rjq xxxj
jrq pxxP que tal
.
• Uma consequência direta é o resultado a seguir:
1 que tal
=∑
∈Sxj
j
j
p
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 22
3.2 Distribuições e variáveis aleatórias contínuas
• Uma variável aleatória ξ e sua distribuição de probabilidade são contínuas se o
espaço amostral (onde ξ assume valores) contém um número infinito e
incontável de elementos.
• Neste caso, valem as seguintes relações entre as funções distribuição )(⋅ξF e densidade )(⋅ξf de probabilidade:
dzzdF
zf)(
)( ξξ = e ∫ ∞− ξξ =≤=
z dxxfzxxPzF )(|)(
• Como no caso discreto, existe o interesse em medidas de probabilidade do tipo
rq xxP ≤ξ< , ou seja, a probabilidade de que ξ assuma qualquer valor no
intervalo rq xxx ≤< , onde xq e xr não precisam necessariamente ser
elementos de S. Da definição zxxPzF ≤=ξ |)( de função distribuição de
probabilidade, pode-se deduzir que:
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 23
)()( qrrq xFxFxxP ξξ −=≤ξ< .
• Para uma variável aleatória ξ contínua, resulta: ∫ ξ=≤ξ< r
q
x
xrq dxxfxxP )(
• Uma consequência direta é o resultado: 1)( =∫∞+
∞− ξ dxxf .
• Exemplo: Uma variável aleatória ξ com distribuição normal, média 0 e
variância 1, tem como funções densidade e distribuição de probabilidade:
-3 -2 -1 0 1 2 30
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
z
f ξ(z)
Função densidade de probabilidade
-3 -2 -1 0 1 2 30
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
z
F ξ(z
)
Função distribuição de probabilidade
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 24
3.3 Exemplos de funções densidade de probabilidade
• Normal: uma variável aleatória contínua ξ é chamada normal ou gaussiana se
sua densidade de probabilidade pode ser expressa na forma:
2
2
2)(
21)( σ
η−−
ξ πσ=
z
ezf
• Uniforme: uma variável aleatória contínua ξ é chamada uniforme no intervalo
[x1,x2] se sua densidade de probabilidade pode ser expressa na forma:
≤≤
−=ξ
alhures0
se1)( 21
12xzx
xxzf
• Binomial: uma variável aleatória discreta ξ tem uma distribuição binomial de
ordem n se sua densidade de probabilidade pode ser expressa na forma:
∑=
−ξ −δ
=
n
k
knk kzqpkn
zf0
)()(
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 25
• Exemplos: Sabendo que a probabilidade de um evento A ocorrer em um dado
experimento é p, a probabilidade deste evento A ocorrer k vezes em n ≥ k
experimentos (sob as mesmas condições) é dada por:
( ) knk ppkn
kAP −−
= 1 vezesocorrer
e a probabilidade deste evento A ocorrer até k vezes em n ≥ k experimentos
(sob as mesmas condições) é dada por:
( )∑=
−−
=
k
r
rnr pprn
kAP0
1 vezes atéocorrer
3.4 Média e variância da distribuição
• A função distribuição de probabilidade )(⋅ξF , ou equivalentemente a função
massa ou densidade de probabilidade )(⋅ξf , determinam completamente uma
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 26
variável aleatória. Sendo assim, parâmetros e propriedades (como simetria) da
variável aleatória podem ser obtidos a partir destas funções de probabilidade.
• Dado o tipo de distribuição e na presença de simetria, a média e a variância
passam a descrever completamente a variável aleatória.
• Definição 1: O valor médio ou a média de uma variável aleatória ξ é dado por:
" ∑ ξ=ξj
jj xfx )( , para o caso discreto (o somatório é sobre todos os
valores possíveis de j);
" ∫∞+
∞− ξ=ξ dxxxf )( , para o caso contínuo.
• A média é também conhecida como esperança matemática: E[ξ] = ξ .
• Por hipótese, é suposto que a série (caso discreto) converge absolutamente e
que a integral (caso contínuo) existe (tem um valor finito).
• Definição 2: A distribuição é dita ser simétrica em relação a um valor c se
)()( zcfzcf −=+ .
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 27
• Teorema 1: Se uma distribuição é simétrica em relação a um valor c e tem
média ξ , então ξ = c.
• Definição 3: A variância de uma distribuição é denotada por σ2, sendo dada por:
" ( )∑ ξξ−=σj
jj xfx )(22 , para o caso discreto (o somatório é sobre todos
os valores possíveis de j);
" ( )∫∞+
∞− ξξ−=σ dxxfx )(22 , para o caso contínuo.
• Por hipótese, é suposto que a série (caso discreto) converge absolutamente e
que a integral (caso contínuo) existe (tem um valor finito).
• Com exceção do caso em que f(z) = 1 em um único ponto e se anula alhures,
para o qual resulta σ2 = 0, em todos os outros casos, sempre vai ocorrer σ2 > 0.
• Definição 4: A raiz quadrada da variância é denominada desvio-padrão, tendo
por notação σ.
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 28
• Como consequência, a variável aleatória
σξ−ξ
=ξN
tem média zero e variância unitária.
3.5 Momentos
• Definição 5: Para qualquer variável aleatória ξ e qualquer função contínua
g(⋅): ℜ → ℜ, a esperança matemática de g(ξ) é dada por:
" [ ] ∑ ξ=ξj
jj xfxggE )()()( , para o caso discreto (o somatório é sobre
todos os valores possíveis de j);
" [ ] ∫∞+
∞− ξ=ξ dxxfxggE )()()( , para o caso contínuo.
• Tomando ( ) kg ξ=ξ , k = 1, 2, ..., as esperanças matemáticas acima
representam o k-ésimo momento de ξ.
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 29
• Tomando ( ) ( )kg ξ−ξ=ξ , k = 1, 2, ..., as esperanças matemáticas acima
representam o k-ésimo momento central de ξ.
• Lembre-se que o operador esperança matemática é linear, ou seja:
" [ ] [ ] [ ]2121 xExExxE +=+ ;
" [ ] [ ]xExE α=α , com α determinístico e constante.
4 Medidas amostrais
• Média amostral (N amostras): ∑=
=N
kkx
Nx
1
1
• Variância amostral: ( )∑=
−−
=σN
kk xx
N 1
22
11
• Desvio-padrão amostral: ( )∑=
−−
=σN
kk xx
N 1
2
11
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 30
• Covariância amostral: ( )( )∑=
−−−
=σN
kjjkiikij xxxx
N 111
• Coeficiente de correlação amostral: ji
ijijr
σσ
σ=
5 Geradores de números pseudo-aleatórios em computador
• Como utilizar o computador digital, a mais precisa e determinística dentre
todas as máquinas concebidas pela mente humana, para produzir números
aleatórios?
• Exploração do nível elevado de redundância: computadores digitais executam
automaticamente, a cada passo do processo de computação, correções da
trajetória de seu estado físico por meio da representação binária do estado
interno de seus componentes.
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 31
• Possíveis implicações: vantagens e desvantagens da computação digital.
• Visto que qualquer programa vai produzir uma saída inteiramente previsível, a
geração de números aleatórios por parte de computadores digitais representa
uma impossibilidade conceitual.
" Sequências geradas por computador digital: pseudo-aleatórias;
" Saídas de processos físicos intrinsecamente aleatórios: aleatórias.
Exemplos: Arremesso de um dado, movimento browniano, etc.
• Será que Deus joga dados? [STEWART, 1989]
6 Pseudo-aleatoriedade em computadores digitais
• Poucos livros devotados ao estudo de métodos numéricos para implementação
computacional abordam números aleatórios [DAHLQUIST & BJORCK, 1974
(cap. 4); FORSYTHE et al., 1977 (cap. 10)].
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 32
• Definição prática (incompleta) de pseudo-aleatoriedade no contexto de
sequências geradas por computador digital: em relação aos programas
computacionais que utilizam suas saídas, um programa determinístico que
produz sequências pseudo-aleatórias deve ser diferente em todos os aspectos
mensuráveis e estatisticamente não-correlacionado.
• Dito de outra forma, dados dois geradores de números pseudo-aleatórios, ao
acoplá-los independentemente a um programa específico de aplicação, deve-se
obter o mesmo resultado estatístico. Caso contrário, pelo menos um dos
geradores é inadequado para a aplicação em questão.
• Conclusão: O gerador deve ser tão aleatório quanto for requerido pela
aplicação.
• Desse modo, um bom gerador para uma dada aplicação pode falhar
espetacularmente em outras aplicações.
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 33
• Felizmente, existem testes estatísticos que contribuem no sentido de avaliar a
adequação de um dado gerador para cada classe de aplicações [L’ECUYER,
1992], embora uma aplicação específica possa conduzir um gerador a
expressar seus “pontos fracos”.
7 Geradores de números pseudo-aleatórios uniformes
• Conforme definido por L’ECUYER [1994], um gerador de números pseudo-
aleatórios uniformes em computadores digitais tem um estado que evolui em
um espaço S, composto por um número finito de estados, de acordo com uma
recorrência na forma:
sn = f(sn−1), n ≥ 1,
sendo que s0 ∈ S é denominada a semente, e f: S → S, é a função de transição.
No n-ésimo passo, a saída do gerador é dada por un = g(sn), com g: S → [0,1]
sendo a função de saída.
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 34
• A sequência de saída do gerador é, portanto, {un, n ≥ 0}.
• O espaço de saída poderia ser mais geral, mas é suposto aqui o intervalo [0,1].
• Como S é finito, a sequência {un, n ≥ 0} deve ser periódica, possivelmente
depois de transcorrido um transitório inicial.
• Se ρ for o período da sequência {un, n ≥ 0}, então é desejável tomar ρ o mais
próximo possível da cardinalidade de S, para evitar desperdício de memória e
para permitir a aplicação do gerador em casos de demanda elevada, ou seja, em
situações em que o gerador é acionado com muita frequência.
• Para sequências binárias, com un tendo b bits, o valor ótimo para o período é
ρ = 2b−1.
8 Propriedades adicionais de um GNA • Além do atendimento das condições de aleatoriedade, é importante que um
gerador de números pseudo-aleatórios em computadores digitais apresente:
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 35
# repetitividade;
# portabilidade;
# custo computacional baixo por geração;
# simplicidade de implementação.
9 Geradores lineares • São geralmente os modelos fornecidos pelos sistemas computacionais.
• Envolvem a geração de uma sequência I1, I2, I3, ... de inteiros entre 0 e m−1
pela relação de recorrência
I aI c mj j+ = +1 ( ) mod , j=1,2,...
• m é denominado módulo, a e c são inteiros positivos denominados
multiplicador e incremento, respectivamente.
• A recorrência vai certamente produzir, para algum j = p ≤ m, Ij = Ik (k < j), ou
seja, ela vai ter um período p ≤ m.
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 36
• Se o período for p = m, todo inteiro entre 0 e m−1 vai ocorrer em alguma das
próximas m iterações, fazendo com que a escolha do valor inicial I0 da
recorrência (semente da geração pseudo-aleatória) não influa de forma
significativa no resultado estatístico associado a sequências longas.
• Vantagem: é um método de geração muito rápido, simples de implementar e
repetitivo para uma mesma máquina.
• Desvantagens: não é portável, está preso a uma correlação sequencial e os bits
menos significativos são “menos aleatórios” que os bits mais significativos.
• Exemplo 1: Para gerar números inteiros pseudo-aleatórios entre 0 e 9,
recomenda-se o uso dos bits mais significativos (suponha RAND_MAX =
32767):
use I(j) = (int) (10.0*rand()/(RAND_MAX+1.0));
no lugar de I(j) = rand()%10;
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 37
• Exemplo 2: Embora existam procedimentos bem menos custosos para a
geração de sequências pseudo-aleatórias de bits [PRESS et al., 1992 (cap. 7)], é
possível empregar a ideia da amostragem tipo roullete wheel: divide-se a roleta
ao meio, associando cada metade a um bit. Mais uma vez estão sendo
considerados os bits mais significativos.
10 Geradores portáveis
• Gerador implementável em qualquer linguagem de programação e em qualquer
máquina, produzindo sempre o mesmo comportamento estatístico e
apresentando, para uma mesma semente, a mesma sequência de números.
• Há evidências, teóricas e empíricas, de que tomando c = 0 na recursão
I aI c mj j+ = +1 ( ) mod , j=1,2,...
produz-se resultados tão bons quanto aqueles fornecidos pelos geradores
lineares com c ≠ 0, se for feita uma escolha cuidadosa para a e m.
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 38
• Uma escolha possível é a = 75 = 16807 e m = 231−1 = 2147483647.
• No entanto, não é possível implementar a recursão (com c = 0) com estes
valores de a e m em qualquer linguagem de alto nível, já que o produto de a
por m−1 excede o maior valor admitido para um inteiro de 32 bits.
• Alternativa 1: Implementação em linguagem de montagem, empregando
registradores de 64 bits. Desvantagem: esta implementação não é portável.
• Alternativa 2: Felizmente, existe um algoritmo que permite obter o resultado
do produto de dois inteiros de 32 bits, módulo uma constante de 32 bits, sem
utilizar qualquer valor intermediário maior que 32 bits. Este algoritmo está
baseado na seguinte fatoração para m:
( )m a fix ma
m a aq r= ⋅
+ = +mod
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 39
onde fix ma
fornece a parte inteira da razão ma
. Para um inteiro z tal que
0 < z < m−1, pode ser mostrado que, tomando r < q, tanto ( )a z q⋅ mod quanto
r fix zq
⋅
assumem valores inteiros no conjunto { }0 1,...,m− , e que
( )
( )az m
a z q r fix zq
a z q r fix zq
mmod
mod
mod=
− ⋅
≥
− ⋅+
se 0
se < 0
• Sugestões para os valores de m, a, q e r:
m a q r
231−1 16807 127773 2836 231−1 48271 44488 3399 231−1 69621 30845 23902
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 40
• O período destes três geradores portáveis é 231−2 = 2.147.483.646.
• Observação: Escalonar para o intervalo [0,1].
• Repare que a semente 0 nunca deve ser utilizada, da mesma forma que o valor
0 não vai ser produzido para qualquer semente diferente de 0.
• Dentre os geradores simples, este é o mais recomendado para aplicação,
embora possa ainda ser aperfeiçoado [PRESS et al., 1992 (cap. 7)].
11 Outros geradores
• Lineares multivariáveis: I a I a I a I mj j j k j k+ − −= + + +1 0 1 1( ) modL
• Lineares multivariáveis com incremento pseudo-aleatório:
I a I a I a I c m
c fixa I a I a I c
m
j j j k j k j
jj j k j k j
+ − −
+− −
= + + + +
=+ + + +
1 0 1 1
10 1 1
( ) modL
L
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 41
• Geradores não-lineares: I I mj j+ =12( ) mod
• Combinação de geradores [L’ECUYER, 1996]
12 Testes para geradores de números pseudo-aleatórios
• Para uma discussão mais aprofundada do que vem a ser aleatoriedade e de
como detectá-la, veja KNUTH [1981].
• De acordo com Kolmogorov, uma sequência infinita de bits é aleatória se ela
não puder ser descrita por uma sequência menor que ela mesma. ←
Impossibilidade prática
• Ser diferente × Ser não-distinguível.
• Em princípio, todos os procedimentos de teste supõem que um gerador de
números pseudo-aleatórios em um computador digital é uma função
determinística que produz uma sequência de números, os quais emulam uma
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 42
variável aleatória definida como um processo de amostragem i.i.d.
(independent and identically distributed) que resulta na distribuição U(0,1)
(distribuição uniforme no intervalo [0,1]).
• Duas classes de testes são comumente empregadas [L’ECUYER, 1992]:
1. Testes teóricos: são específicos para cada classe de geradores e se concentram
na estrutura intrínseca de cada gerador para derivar características de
comportamento da sequência de pontos, ao longo de todo um período.
2. Testes empíricos: tentam encontrar evidências estatísticas contra a hipótese
nula: “A sequência é obtida a partir de um processo de amostragem i.i.d. da
distribuição U(0,1)”.
• O que pode ser dito a respeito de um gerador de números pseudo-aleatórios
que passou por todos os testes implementados?
• Formalmente, nada fica demonstrado, mas é possível aumentar a confiança nos
resultados obtidos com a utilização deste gerador.
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 43
13 Geradores de Números Pseudo-Aleatórios em Computação Evolutiva
• Valores aleatórios são requeridos em praticamente todas as etapas de um
algoritmo evolutivo:
# Inicialização da população;
# Seleção de indivíduos;
# Definição de pontos de corte para crossover;
# Definição de genes que sofrerão mutação;
# Definição de um dentre mais de dois alelos candidatos em operações
de mutação associadas a atributos descritíveis por um alfabeto finito;
# Definição de um dentre vários operadores alternativos;
# Argumento de operadores genéticos mais elaborados (mutação em
ponto flutuante); etc.
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 44
• Estudos recentes sugerem que a escolha do gerador de números pseudo-
aleatórios pode afetar o desempenho de um algoritmo evolutivo, embora de
forma não-intuitiva (CANTÚ-PAZ, 2002; DAIDA et al., 1999; MEYSENBURG,
1997; MEYSENBURG & FOSTER, 1999a; MEYSENBURG & FOSTER, 1999b;
MEYSENBURG et al., 2002).
• Também é sabido que pequenas modificações no gerador podem causar
grande variação na qualidade do resultado do processo evolutivo. Por
exemplo, alterando-se a semente do gerador.
• Para tanto, testes específicos de qualidade foram definidos de modo a explorar
diretamente a forma como um algoritmo evolutivo utiliza um gerador de
números pseudo-aleatórios.
• Estes testes específicos se mostraram necessários, pois os testes convencionais
não apresentam correlação significativa com os resultados obtidos.
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 45
• Em outras palavras, geradores considerados de baixa qualidade conduzem, em
alguns casos, a melhores resultados junto ao processo evolutivo quando
comparados a geradores de melhor qualidade (avaliados segundo testes
convencionais).
• Dentre todos os geradores de números pseudo-aleatórios disponíveis, junto à
comunidade de computação evolutiva o Mersenne Twister (MT) é o mais
aceito (MATSUMOTO & NISHIMURA, 1998).
• Cabe destacar também a proposta de MARSAGLIA (2003): Complimentary-
Multiply-With-Carry (CMWC).
• Também é possível operar com bases de dados que contêm sequências
binárias puramente aleatórias, que podem ser encontradas em
⟨www.random.org⟩.
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 46
14 Distribuição normal a partir de uma distribuição uniforme
• Dispondo de um gerador com distribuição uniforme, uma distribuição normal
de média µ e variância σ2, ( )2σµ ,~ Nx , pode ser obtida na forma:
( ) ( )21 2coslog2 uux e π−σ+µ=
ou então
( ) ( )21 2senlog2 uux e π−σ+µ=
com ( )10, 21 ,~Uuu . Esta é a bem conhecida transformação de Box-Muller
(BOX & MULLER, 1958).
15 Referências BÄCK, T., FOGEL, D.B. & MICHALEWICZ, Z. (eds.) “Evolutionary Computation 2: Advanced Algorithms
and Operators, Chapter 24: Efficient implementation of algorithms”, Institute of Physics Publishing, 2000.
BOX, G.E.P. & MULLER, M.E. “A note on the generation of random normal deviates”, The Annals of Mathematical Statistics, vol. 29, no. 2, pp. 610–611, 1958.
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 47
BULMER, M.G. “Principles of Statistics”, Dover, 1979.
CANTÚ-PAZ, E. “On Random Numbers and the Performance of Genetic Algorithms”, Proceedings of the Genetic and Evolutionary Computation Conference (GECCO’02), vol. 1, pp. 311-318, Morgan Kaufmann Publishers, 2002.
DAHLQUIST, G. & BJORCK, A. “Numerical Methods”, Prentice-Hall, 1974.
DAIDA, J.M., AMPY, D.S., RATANASAVETAVADHANA, M., LI, H. & CHAUDHRI, O.A. “Challenges with verification, repeatability, and meaningful comparison in genetic programming: Gibson’s magic” in Banzhaf, W., Daida, J., Eiben, A.E., Garzon, M.H., Honavar, V., Jakiela, M. & Smith, R.E. (eds.) Proceedings of the Genetic and Evolutionary Computation Conference (GECCO’99), vol. 2, pp. 1851-1858, Morgan Kaufmann Publishers, 1999.
DOS REIS, S.F. “Introdução ao Estudo de Probabilidade”, Notas de Aula do Curso de Genética Populacional Teórica, IB/Unicamp, 2001.
EVANS, D.H. “Probability and Its Applications for Engineers”, ASQC Quality Press, 1992.
FORSYTHE, G.E., MALCOLM, M.A. & MOLER, C.B. “Computer Methods for Mathematical Computations”, Prentice-Hall, 1977.
KNUTH, D.E. “The Art of Computer Programming: Seminumerical Algorithms”, Addison-Wesley, Vol. 2, 2nd edition, 1981.
KREYSZIG, E. “Advanced Engineering Mathematics”, 7th edition, John Wiley & Sons, 1993.
L’ECUYER, P. “Testing random number generators”, Proceedings of the 1992 Winter Simulation Conference, IEEE Press, pp. 305-313, 1992.
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 48
L’ECUYER, P. “Uniform random number generation”, Annals of Operations Research, vol. 53, pp. 77-120, 1994.
L’ECUYER, P. “Combined multiple recursive generators”, Operations Research, vol. 44, no. 5, pp. 816-822, 1996.
LINDGREN, B.D. “Statistical Theory”, Macmillan Publishing Company, 1976.
LIPSCHUTZ, S. “Theory and Problems of Probability”, McGraw-Hill Book Company, 1965.
MARDIA, K.V., KENT, J.T. & BIBBY, J.M. “Multivariate Analysis”, Academic Press, 1979.
MARSAGLIA, G. “Random number generators”, Journal of Modern Applied Statistical Methods, vol. 2, no. 1, pp. 2-13, 2003.
MATSUMOTO, M. & NISHIMURA, T. “Mersenne twister: A 623-dimensionally equidistributed uniform pseudorandom number generator”, ACM Transactions on Modeling and Computer Simulation, vol. 8, no. 1, pp. 3-30, 1998.
MEYSENBURG, M.M. “The effect of pseudo-random number generator quality on the performance of a simple genetic algorithm”, Master’s Thesis, University of Idaho, 1997.
MEYSENBURG, M.M. & FOSTER, J.A. “Random generator quality and GP performance”, in Banzhaf, W., Daida, J., Eiben, A.E., Garzon, M.H., Honavar, V., Jakiela, M. & Smith, R.E. (eds.) Proceedings of the Genetic and Evolutionary Computation Conference (GECCO’99), vol. 2, pp. 1121-1126, Morgan Kaufmann Publishers, 1999a.
MEYSENBURG, M.M. & FOSTER, J.A. “Randomness and GA performance revisited”, in Banzhaf, W., Daida, J., Eiben, A.E., Garzon, M.H., Honavar, V., Jakiela, M. & Smith, R.E. (eds.) Proceedings of
IA707 - Prof. Fernando J. Von Zuben DCA/FEEC/Unicamp
Tópico 8 – Geradores de Números Aleatórios 49
the Genetic and Evolutionary Computation Conference (GECCO’99), vol. 1, pp. 425-432, Morgan Kaufmann Publishers, 1999b.
MEYSENBURG, M.M., HOELTING, D., MCELVAIN, D. & FOSTER, J.A. “How Random Generator Quality Impacts Genetic Algorithm Performance”, Proceedings of the Genetic and Evolutionary Computation Conference (GECCO’02), vol. 1, pp. 480-483, Morgan Kaufmann Publishers, 2002.
MONTGOMERY, D.C. & RUNGER, G.C. “Applied Statistics and Probability for Engineers”, John Wiley & Sons, 1994.
MOOD, A.M. & GRAYBILL, F.A. “Introduction to the Theory of Statistics”, McGraw-Hill Book Company, 1963.
PAPOULIS, A. “Probability, Random Variables, and Stochastic Processes”, Third Edition, McGraw-Hill, 1991.
PRESS, W.H., TEUKOLSKY, S.A., VETTERLING, W.T. & FLANNERY, B.P. “Numerical Recipes in C - The Art of Scientific Computing”, Cambridge University Press, 2nd edition, 1992.
ROSS, S. “A First Course in Probability”, Macmillan Publishing Company, 1984.
STEWART, I. “Does God Play Dice? The New Mathematics of Chaos”, London: Basil Blackwell, 1989.
WALPOLE, R.E. & MYERS, R.H. “Probability and Statistics for Engineers and Scientists”, Fifth Edition, Macmillan Publishing Company, 1993.