Você está na página 1de 25

IA707 - Prof. Fernando J.

Von Zuben
DCA/FEEC/Unicamp

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

Tópico 8 – Geradores de Números Aleatórios 1

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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.

Tópico 8 – Geradores de Números Aleatórios 2


IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

• 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]?

Tópico 8 – Geradores de Números Aleatórios 3

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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

Tópico 8 – Geradores de Números Aleatórios 4


IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

• 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

Tópico 8 – Geradores de Números Aleatórios 5

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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.

Tópico 8 – Geradores de Números Aleatórios 6


IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

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

Tópico 8 – Geradores de Números Aleatórios 7

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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

Tópico 8 – Geradores de Números Aleatórios 8


IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

denominada de função de probabilidade e P E é denominada de


probabilidade do evento E se os seguintes axiomas forem válidos:

Axioma 1: Para todo evento E, 0 ≤ P E ≤ 1 .


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: P S = 1.
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 E1 , E 2 ,K


(isto é, eventos para os quais E i ∩ E j = ∅ quando i ≠ j ),
∞ ∞
P U Ei = ∑ P Ei
i =1 i =1

Tópico 8 – Geradores de Números Aleatórios 9

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

• 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 E ∪ E c = S , pelos Axiomas 1 e 2 temos que:
1 = P S = P E ∪ Ec = P E + P Ec .

• De forma equivalente, a equação acima pode ser escrita como:


P Ec = 1− P E .

• 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:
P E∪F = P E +P F −P E∩F .

Tópico 8 – Geradores de Números Aleatórios 10


IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

• Para deduzir a fórmula para P E ∪ F é necessário lembrar que ( E ∪ F ) pode

ser escrito como a união de dois eventos disjuntos E e ( E c ∩ F ) . Assim,


utilizando o Axioma 3, temos que:
P E ∪ F = P E ∪ (E c ∩ F )

= P E + P Ec ∩ F

• Além disto, como F = ( E ∩ F ) ∪ ( E c ∩ F ) , obtemos pelo Axioma 3 que:

P F = P E ∩ F + P Ec ∩ F

• Ou, de forma equivalente:


P Ec ∩ F = P F − P E ∩ F ,

completando assim a prova de que


P E∪F = P E +P F −P E∩F .

Tópico 8 – Geradores de Números Aleatórios 11

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

• Esta proposição pode também ser demonstrada utilizando o diagrama de Venn


mostrado abaixo.

E F

I II III

• 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 é,
E ∩ F c ); a seção II representa todos os pontos que estão tanto em E quanto
em F (isto é, E ∩ F ), e a seção III representa todos os pontos em F que não
estão em E (isto é, E c ∩ F ).

Tópico 8 – Geradores de Números Aleatórios 12


IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

• Do diagrama de Venn, observamos que:


E ∪ F = I ∪ II ∪ III
E = I ∪ II
F = II ∪ III
• Como I, II e III são mutuamente exclusivos, temos pelo Axioma 3 que:
P E ∪ F = P I + P II + P III
P E = P I + P II
P F = P II + P III

• Mostrando que
P E ∪ F = P E + P F − P II .

• Visto que II = E ∩ F , temos então:


P E∪F = P E +P F −P E∩F ,
que é conhecida como a lei de adição de probabilidades.
• Em palavras, pode ser expressa como:

Tópico 8 – Geradores de Números Aleatórios 13

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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,
P E ∩ F = 0 . Neste caso, P E ∪ F = P E + P F , 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).

Tópico 8 – Geradores de Números Aleatórios 14


IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

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

Tópico 8 – Geradores de Números Aleatórios 15

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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

Tópico 8 – Geradores de Números Aleatórios 16


IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

• 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:
Fξ ( z ) = P x ∈ E ( z ) = P E ( z ) = P x | x ≤ z

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

Tópico 8 – Geradores de Números Aleatórios 17

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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

Tópico 8 – Geradores de Números Aleatórios 18


IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

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:
 p j se z = x j ( j = 1, 2, ...)
f ξ ( z) = 
0 alhures
e a correspondente função distribuição de probabilidade é dada por:
Fξ ( z ) = ∑ fξ (x j ) = ∑ pj
j j
tal que x j ≤ z tal que x j ≤ z

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:

Tópico 8 – Geradores de Números Aleatórios 19

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

fξ(z )
1
6

1 2 3 4 5 6 z
F ξ(z )
1

1
2

1 2 3 4 5 6 z

Tópico 8 – Geradores de Números Aleatórios 20


IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

• Em muitas aplicações, existe o interesse em medidas de probabilidade do tipo


P x q < ξ ≤ x r , ou seja, a probabilidade de que ξ assuma qualquer valor no

intervalo x q < x ≤ x r , onde xq e xr não precisam necessariamente ser

elementos de S. Da definição Fξ ( z ) = P x | x ≤ z de função distribuição de

probabilidade, pode-se deduzir que:


P x q < ξ ≤ x r = Fξ ( x r ) − Fξ ( x q ) .

• Como a variável aleatória ξ é discreta, resulta:


P xq < ξ ≤ xr = ∑ pj .
j
tal que x q < x j ≤ x r

• Uma consequência direta é o resultado a seguir:


∑ pj =1
j
tal que x j ∈S

Tópico 8 – Geradores de Números Aleatórios 21

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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:
dFξ ( z ) z
f ξ ( z) = e Fξ ( z ) = P x | x ≤ z = ∫− ∞ f ξ ( x )dx
dz
• Como no caso discreto, existe o interesse em medidas de probabilidade do tipo
P x q < ξ ≤ x r , ou seja, a probabilidade de que ξ assuma qualquer valor no

intervalo x q < x ≤ x r , onde xq e xr não precisam necessariamente ser

elementos de S. Da definição Fξ ( z ) = P x | x ≤ z de função distribuição de

probabilidade, pode-se deduzir que:

Tópico 8 – Geradores de Números Aleatórios 22


IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

P x q < ξ ≤ x r = Fξ ( x r ) − Fξ ( x q ) .
x
• Para uma variável aleatória ξ contínua, resulta: P x q < ξ ≤ x r = ∫x r f ξ ( x )dx
q

+∞
• Uma consequência direta é o resultado: ∫−∞ f ξ ( x )dx = 1.
• 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:
Função densidade de probabilidade Função distribuição de probabilidade
1 1

0.9 0.9

0.8 0.8

0.7 0.7

0.6 0.6

F (z)
f (z)

0.5 0.5

ξ
ξ

0.4 0.4

0.3 0.3

0.2 0.2

0.1 0.1

0 0
-3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3
z z

Tópico 8 – Geradores de Números Aleatórios 23

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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:
− ( z − η) 2
1
f ξ ( z) = e 2σ2
σ 2π
• Uniforme: uma variável aleatória contínua ξ é chamada uniforme no intervalo
[x1,x2] se sua densidade de probabilidade pode ser expressa na forma:
 1
 se x1 ≤ z ≤ x 2
f ξ ( z ) =  x 2 − x1
0
 alhures

• 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
n
f ξ ( z) = ∑  k  p k q n − k δ( z − k )
k = 0 

Tópico 8 – Geradores de Números Aleatórios 24


IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

• 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:
n
P A ocorrer k vezes =   p k (1 − p )n − k
k 
e a probabilidade deste evento A ocorrer até k vezes em n ≥ k experimentos
(sob as mesmas condições) é dada por:
k
n
∑  r  p r (1 − p )
n−r
P A ocorrer até k vezes =
r =0  

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

Tópico 8 – Geradores de Números Aleatórios 25

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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:
 ξ = ∑ x j f ξ ( x j ) , para o caso discreto (o somatório é sobre todos os
j
valores possíveis de j);
+∞
 ξ = ∫− ∞ xf ξ ( x )dx , 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
f (c + z ) = f (c − z ) .

Tópico 8 – Geradores de Números Aleatórios 26


IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

• 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:
σ 2 = ∑ (x j − ξ ) f ξ ( x j ) , para o caso discreto (o somatório é sobre todos
2


j
os valores possíveis de j);
σ 2 = ∫− ∞ (x − ξ ) f ξ ( x )dx , para o caso contínuo.
+∞ 2


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

Tópico 8 – Geradores de Números Aleatórios 27

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

• 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:
 E [g ( ξ)] = ∑ g ( x j ) f ξ ( x j ) , para o caso discreto (o somatório é sobre
j
todos os valores possíveis de j);
+∞
 E [g ( ξ)] = ∫− ∞ g ( x ) f ξ ( x )dx , para o caso contínuo.

• Tomando g (ξ) = ξ k , k = 1, 2, ..., as esperanças matemáticas acima


representam o k-ésimo momento de ξ.

Tópico 8 – Geradores de Números Aleatórios 28


IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

• Tomando g (ξ) = (ξ − ξ ) , k = 1, 2, ..., as esperanças matemáticas acima


k

representam o k-ésimo momento central de ξ.


• Lembre-se que o operador esperança matemática é linear, ou seja:
 E [x1 + x 2 ] = E [x1 ] + E [x 2 ];
 E [αx ] = αE [x ], com α determinístico e constante.

4 Medidas amostrais

N
1
• Média amostral (N amostras): x =
N
∑ xk
k =1

1 N
• Variância amostral: σ 2 = ∑ ( x k − x )2
N − 1 k =1

1 N
• Desvio-padrão amostral: σ = ∑ ( x k − x )2
N − 1 k =1

Tópico 8 – Geradores de Números Aleatórios 29

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

∑ ( xik − xi )(x jk − x j )
1 N
• Covariância amostral: σ ij =
N − 1 k =1

σ ij
• Coeficiente de correlação amostral: rij =
σi σ j

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.

Tópico 8 – Geradores de Números Aleatórios 30


IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

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

Tópico 8 – Geradores de Números Aleatórios 31

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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

Tópico 8 – Geradores de Números Aleatórios 32


IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

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

Tópico 8 – Geradores de Números Aleatórios 33

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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

Tópico 8 – Geradores de Números Aleatórios 34


IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

 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 j +1 = ( aI j + c ) mod m, 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.

Tópico 8 – Geradores de Números Aleatórios 35

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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

Tópico 8 – Geradores de Números Aleatórios 36


IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

• 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 j +1 = ( aI j + c ) mod m, 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.

Tópico 8 – Geradores de Números Aleatórios 37

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

• 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   + ( m mod a ) = aq + r
m
 a

Tópico 8 – Geradores de Números Aleatórios 38


IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

onde fix   fornece a parte inteira da razão . Para um inteiro z tal que
m m
 a a
0 < z < m−1, pode ser mostrado que, tomando r < q, tanto a ⋅ ( z mod q) quanto

 z
r ⋅ fix   assumem valores inteiros no conjunto {0,..., m − 1} , e que
 q

  z
a( z mod q) − r ⋅ fix  q  se ≥ 0

az mod m = 
a( z mod q) − r ⋅ fix  z  + m se < 0
  
 q

• 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

Tópico 8 – Geradores de Números Aleatórios 39

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

• 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 j +1 = ( a0 I j + a1 I j −1 +L+ ak I j − k ) mod m

• Lineares multivariáveis com incremento pseudo-aleatório:

I j +1 = ( a0 I j + a1 I j −1 +L+ ak I j − k + c j ) mod m
 a I + a1 I j −1 +L+ ak I j − k + c j 
c j +1 = fix 0 j 
 m 

Tópico 8 – Geradores de Números Aleatórios 40


IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

• Geradores não-lineares: I j +1 = ( I 2j ) mod m

• 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

Tópico 8 – Geradores de Números Aleatórios 41

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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.

Tópico 8 – Geradores de Números Aleatórios 42


IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

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.

Tópico 8 – Geradores de Números Aleatórios 43

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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

Tópico 8 – Geradores de Números Aleatórios 44


IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

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

Tópico 8 – Geradores de Números Aleatórios 45

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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, x ~ N µ , σ 2 , pode ser obtida na forma:

x = µ + σ − 2log e (u1 ) cos(2πu2 )


ou então
x = µ + σ − 2log e (u1 ) sen (2πu2 )
com u1 , u2 ~ U (0 ,1). 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.

Tópico 8 – Geradores de Números Aleatórios 46


IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

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.

Tópico 8 – Geradores de Números Aleatórios 47

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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

Tópico 8 – Geradores de Números Aleatórios 48


IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp

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.

Tópico 8 – Geradores de Números Aleatórios 49

Você também pode gostar