You are on page 1of 25

IA707 - Prof. Fernando J.

Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
1
Geradores de Nmeros Aleatrios
ndice
1 O papel da estatstica na engenharia e na cincia .............................................................................. 2
2 Probabilidade .................................................................................................................................... 4
2.1 Os conceitos de experimento, espao amostral e evento.............................................................. 6
2.2 Axiomas de probabilidade ............................................................................................................ 8
3 O conceito de varivel aleatria ...................................................................................................... 15
3.1 Distribuies e variveis aleatrias discretas .............................................................................. 19
3.2 Distribuies e variveis aleatrias contnuas ............................................................................. 22
3.3 Exemplos de funes densidade de probabilidade ...................................................................... 24
3.4 Mdia e varincia da distribuio ............................................................................................... 25
3.5 Momentos ................................................................................................................................. 28
4 Medidas amostrais .......................................................................................................................... 29
5 Geradores de nmeros pseudo-aleatrios em computador ............................................................. 30
6 Pseudo-aleatoriedade em computadores digitais ............................................................................ 31
7 Geradores de nmeros pseudo-aleatrios uniformes ...................................................................... 33
8 Propriedades adicionais de um GNA ................................................................................................ 34
9 Geradores lineares .......................................................................................................................... 35
10 Geradores portveis ........................................................................................................................ 37
11 Outros geradores ............................................................................................................................ 40
12 Testes para geradores de nmeros pseudo-aleatrios ..................................................................... 41
13 Geradores de Nmeros Pseudo-Aleatrios em Computao Evolutiva ............................................. 43
14 Distribuio normal a partir de uma distribuio uniforme .............................................................. 46
15 Referncias ..................................................................................................................................... 46

IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
2
1 O papel da estatstica na engenharia e na cincia
As teorias cientficas lidam com conceitos, no com a realidade. Embora elas
sejam formuladas para corresponder realidade, esta correspondncia
aproximada e a justificativa para todas as concluses tericas baseada em
alguma forma de raciocnio indutivo.
Athanasios Papoulis
Mtodos estatsticos fornecem ferramentas importantes para a engenharia,
com teor descritivo e analtico para operar com a variabilidade presente nos
dados observados.
A estatstica lida com a coleta, apresentao, anlise e uso de dados em
tomada de deciso e na soluo de problemas.
Um estatstico usa as leis fundamentais da probabilidade e da inferncia
estatstica para elaborar concluses acerca de determinado experimento.
IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
3
Objetivo: Descrever e modelar a variabilidade e tomar decises na presena de
variabilidade (inferncia estatstica).
Fundamento: o modelo deve possuir ao menos um elemento intrinsecamente
aleatrio.
A variabilidade resultante de mudanas nas condies sob as quais as
observaes so feitas, de caractersticas 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 informao contida nas amostras demonstra de forma conclusiva que o
ganho do transistor menor que 5,50?
Quanta confiana 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
Tpico 8 Geradores de Nmeros Aleatrios
4
Estatstica inferencial: estimao pontual de parmetros; estimao de
intervalos de confiana; teste de hipteses; transferncia de concluses das
amostras para as populaes; generalizao.
Estatstica descritiva: aplicao de mtodos grficos e numricos na
organizao e apresentao da informao em uma forma sucinta.
2 Probabilidade
A probabilidade a linguagem empregada na fundamentao matemtica da
inferncia estatstica. Trata-se de uma disciplina exata e desenvolvida a partir
de um encadeamento lgico de dedues a partir de um conjunto de axiomas
claramente definidos.
H uma bvia quebra de continuidade entre os elementos de probabilidade
apresentados em cursos introdutrios e os conceitos mais elaborados
necessrios nas aplicaes do dia-a-dia.
IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
5
O importante observar que, quando se aplica a teoria de probabilidade ao
mundo real, ela se mostra eficaz.
Exemplo 1: As razes da teoria de probabilidade esto associadas aos jogos de
azar, em Monte Carlo, no sculo 17.
Exemplo 2: Parte do sucesso da indstria japonesa atribuda ao emprego de
mtodos estatsticos na produo, gerenciamento e planejamento (no apenas
gerar relatrios, mas extrair concluses ou realizar inferncias).
Exemplo 3: Prvia Eleitoral (procedimento sistemtico para elaborao do
experimento e coleta de dados)
Coleo de todos os indivduos (populao)

Processo de amostragem

Inferncia sobre toda a populao
IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
6
2.1 Os conceitos de experimento, espao amostral e evento
Experimento o termo utilizado para indicar a realizao de algo, ou a
observao de algo, que acontece sob certas condies, levando a um
resultado.
Ocasionalmente, a natureza de um experimento faz com que o seu resultado
seja definido unicamente pelas condies nas quais o experimento realizado.
Na prtica, todavia, observa-se que muitos experimentos no apresentam a
propriedade de repetitividade, mesmo sob condies supostamente idnticas.
Este o caso quando existem fatores que influenciam o resultado, mas que no
so de conhecimento do experimentador ou que o experimentador no pode
controlar e, tambm, quando os fatores que supostamente esto sob controle,
na verdade no esto.
IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
7
O resultado no pode, ento, ser predito a partir do conhecimento das
condies sob as quais o experimento foi realizado. Neste caso, fala-se do
experimento como sendo um experimento envolvendo o acaso ou,
simplesmente, experimento aleatrio.
Devido imprevisibilidade ou ao elemento do acaso no experimento, o tipo de
modelo matemtico usual envolvendo equaes determinsticas inadequado
e um novo tipo de estrutura matemtica necessrio para representar os
fenmenos de interesse, denominados processos estocsticos.
Uma vez que o resultado do experimento no previsvel, ele vai ser um
dentre os muitos resultados possveis.
O espao amostral de um experimento aleatrio o conjunto de todos os
resultados possveis do experimento, sendo geralmente denotado por S.
IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
8
Normalmente, interessante focalizar a ateno em subconjuntos do espao
amostral S. Para tanto, define-se um evento como qualquer subconjunto E do
espao amostral S (E S).
2.2 Axiomas de probabilidade
O ingrediente principal do modelo matemtico de um experimento aleatrio
a noo de probabilidade, a qual formaliza o conceito de que alguns eventos
so mais verossmeis do que outros, em termos de suas frequncias de
ocorrncia relativas.
Os axiomas de probabilidade permitem a manipulao de combinaes de
eventos (eventos compostos).
Seja S um espao amostral, seja uma classe que comporta todos os possveis
eventos em S, e seja P uma funo de valores reais definida em . Ento P
IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
9
denominada de funo de probabilidade e E P denominada de
probabilidade do evento E se os seguintes axiomas forem vlidos:
Axioma 1: Para todo evento E, 1 0 E P .
O axioma 1 determina que a probabilidade de que o resultado de um experimento
est contido em E algum nmero real entre 0 e 1.
Axioma 2: 1 = S P .
O axioma 2 determina que, com probabilidade igual a 1, o resultado est contido
no espao amostral S.
Axioma 3: Para qualquer sequncia de eventos mutuamente exclusivos K , ,
2 1
E E
(isto , eventos para os quais =
j i
E E quando j i ),

=
=
1 1 i
i
i
i
E P E P
U

IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
10
Algumas proposies simples podem ser deduzidas a partir dos axiomas
enumerados acima:
Proposio 1: Dado que E e E
c
so eventos sempre mutuamente exclusivos e,
visto que S E E
c
= , pelos Axiomas 1 e 2 temos que:
c c
E P E P E E P S P + = = = 1 .
De forma equivalente, a equao acima pode ser escrita como:
E P E P
c
= 1 .
Em palavras, a proposio 1 afirma que a probabilidade de um evento no
ocorrer igual a 1 menos a probabilidade do evento ocorrer.
Proposio 2:
F E P F P E P F E P + = .
IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
11
Para deduzir a frmula para F E P necessrio lembrar que ) ( F E pode
ser escrito como a unio de dois eventos disjuntos E e ) ( F E
c
. Assim,
utilizando o Axioma 3, temos que:
F E P E P
F E E P F E P
c
c
+ =
= ) (

Alm disto, como ) ( ) ( F E F E F
c
= , obtemos pelo Axioma 3 que:
F E P F E P F P
c
+ =
Ou, de forma equivalente:
F E P F P F E P
c
= ,
completando assim a prova de que
F E P F P E P F E P + = .
IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
12
Esta proposio pode tambm ser demonstrada utilizando o diagrama de Venn
mostrado abaixo.
S
II III I
F E

As divises no diagrama mostram trs sees mutuamente exclusivas. Em
palavras, a seo I representa todos os pontos em E que no esto em F (isto ,
c
F E ); a seo II representa todos os pontos que esto tanto em E quanto
em F (isto , F E ), e a seo III representa todos os pontos em F que no
esto em E (isto , F E
c
).
IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
13
Do diagrama de Venn, observamos que:
III II
II I
III II I
=
=
=
F
E
F E

Como I, II e III so mutuamente exclusivos, temos pelo Axioma 3 que:
III II
II I
III II I
P P F P
P P E P
P P P F E P
+ =
+ =
+ + =

Mostrando que
II P F P E P F E P + = .
Visto que F E = II , temos ento:
F E P F P E P F E P + = ,
que conhecida como a lei de adio de probabilidades.
Em palavras, pode ser expressa como:
IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
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 no tero pontos em comum e, portanto,
0 = F E P . Neste caso, F P E P F E P + = , como j
indicado pelo axioma 3.
Maiores detalhes sobre definies, axiomas, e exemplos envolvendo teoria de
probabilidade consultar PAPOULIS (1991, caps. 1 e 2).
Dentre os conceitos adicionais mais importantes, e que no sero abordados
aqui, esto 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
Tpico 8 Geradores de Nmeros Aleatrios
15
3 O conceito de varivel aleatria
Ao se arremessar um dado, sabido que o valor da face que ficar para cima
vai ser um nmero entre 1 e 6, mas no possvel predizer este valor.
Quando uma lmpada entra em operao, o seu tempo de vida tambm no
pode ser predito.
Nesses dois casos, uma varivel aleatria ou estocstica.
Arremesso de dado e Lmpada em operao so experimentos.
O conjunto {1, 2, 3, 4, 5, 6} e o intervalo real de unidades de tempo [0, +)
so os espaos amostrais correspondentes.
So eventos:
Nmero par na face que ficou para cima: E = {2, 4, 6};
Lmpada com tempo de vida inferior a 400 unidades de tempo:
E = [0, 400).
IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
16
Logo, uma varivel aleatria uma funo que aloca um ponto do espao
amostral a cada resultado de um experimento aleatrio. Dito de outro modo,
uma varivel aleatria uma funo associada a um experimento, sendo que a
realizao do experimento leva esta varivel a assumir um valor dependente
do acaso, mas pertencente ao respectivo espao amostral.
Cada vez que um experimento realizado, o resultado obtido indica a
ocorrncia ou no de um determinado evento (subconjunto do espao
amostral).
Formalizao do conceito: Uma varivel aleatria uma funo com as
seguintes propriedades:
assume valores no espao amostral S de um experimento;
Para todo evento E S, a probabilidade de que assuma um valor x E
aps a realizao do experimento, dada por Px E = PE, bem
definida (embora possa ser desconhecida).
IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
17
Como o evento pode ser qualquer, possvel considerar eventos do tipo: E x,
onde x S. Logo, temos que, para todo x S, a probabilidade de que valha
x aps a realizao do experimento, dada por P = x = Px, bem definida.
Considerando que as probabilidades mencionadas acima so bem definidas,
para toda varivel aleatria, ento sempre possvel obter uma funo
distribuio de probabilidade definida em todo o espao amostral. Geralmente,
se emprega a funo distribuio cumulativa de probabilidade. Para tal, seja
x S e suponha que E(z) = {x | x z}. Ento, a funo distribuio cumulativa
de probabilidade associada varivel aleatria dada na forma:
z x x P z E P z E x P z F = = =

| ) ( ) ( ) (
Apesar desta definio de funo distribuio de probabilidade ser muito
genrica (atende a qualquer tipo de varivel aleatria), apenas uma quantidade
reduzida de tipos de distribuio so verificados em aplicaes prticas.
IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
18
Neste ponto do texto, o mais importante dividir estes poucos tipos em duas
classes:
1. Distribuies discretas: ocorrem em experimentos que requerem
contagem. Exemplos: pessoas com menos de 30 anos, mortes por cncer,
produtos com defeito.
2. Distribuies contnuas: ocorrem em experimentos que requerem
medidas. Exemplos: tenso eltrica, presso sangunea, vazo de rio.
Para cada uma das duas classes, a respectiva funo distribuio de
probabilidade ) (

F ter sempre associada a si:


Uma funo massa de probabilidade ) (

f , no caso discreto;
Uma funo densidade de probabilidade ) (

f , no caso contnuo.
Deste modo, o conhecimento do comportamento de uma das funes, ) (

F ou
) (

f , em todo o espao amostral j suficiente para se obter a outra funo.


IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
19
3.1 Distribuies e variveis aleatrias discretas
Uma varivel aleatria e sua distribuio de probabilidade so discretas se o
espao amostral (onde assume valores) contm apenas um nmero finito de
elementos ou um nmero infinito, mas contvel, de elementos.
Neste caso, a funo massa de probabilidade assume a forma:

= =
=

alhures 0
...) , 2 , 1 ( se
) (
j x z p
z f
j j

e a correspondente funo distribuio de probabilidade dada por:



= =
z x
j
z x
j
j j
j j
p x f z F
que tal

que tal

) ( ) (
onde x
j
, j=1,2,..., so elementos do espao amostral.
Exemplo: No caso de um dado no-viciado, a varivel aleatria ,
representando a face que ficar para cima aps o arremesso do dado, tem as
seguintes funes massa e distribuio de probabilidade:
IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
20
f

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

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

IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
21
Em muitas aplicaes, existe o interesse em medidas de probabilidade do tipo
r q
x x P < , ou seja, a probabilidade de que assuma qualquer valor no
intervalo
r q
x x x < , onde x
q
e x
r
no precisam necessariamente ser
elementos de S. Da definio z x x P z F =

| ) ( de funo distribuio de
probabilidade, pode-se deduzir que:
) ( ) (
q r r q
x F x F x x P

= < .
Como a varivel aleatria discreta, resulta:

<
= <
r j q
x x x
j
j r q
p x x P
que tal

.
Uma consequncia direta o resultado a seguir:
1
que tal

=

S x
j
j
j
p
IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
22
3.2 Distribuies e variveis aleatrias contnuas
Uma varivel aleatria e sua distribuio de probabilidade so contnuas se o
espao amostral (onde assume valores) contm um nmero infinito e
incontvel de elementos.
Neste caso, valem as seguintes relaes entre as funes distribuio ) (

F e
densidade ) (

f de probabilidade:
dz
z dF
z f
) (
) (

= e



= =
z
dx x f z x x P z F ) ( | ) (
Como no caso discreto, existe o interesse em medidas de probabilidade do tipo
r q
x x P < , ou seja, a probabilidade de que assuma qualquer valor no
intervalo
r q
x x x < , onde x
q
e x
r
no precisam necessariamente ser
elementos de S. Da definio z x x P z F =

| ) ( de funo distribuio de
probabilidade, pode-se deduzir que:
IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
23
) ( ) (
q r r q
x F x F x x P

= < .
Para uma varivel aleatria contnua, resulta:

= <
r
q
x
x
r q
dx x f x x P ) (
Uma consequncia direta o resultado: 1 ) ( =

+


dx x f .
Exemplo: Uma varivel aleatria com distribuio normal, mdia 0 e
varincia 1, tem como funes densidade e distribuio de probabilidade:
-3 -2 -1 0 1 2 3
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
z
f

(
z
)
Funo densidade de probabilidade
-3 -2 -1 0 1 2 3
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
z
F

(
z
)
Funo distribuio de probabilidade

IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
24
3.3 Exemplos de funes densidade de probabilidade
Normal: uma varivel aleatria contnua chamada normal ou gaussiana se
sua densidade de probabilidade pode ser expressa na forma:
2
2
2
) (
2
1
) (


=
z
e z f
Uniforme: uma varivel aleatria contnua chamada uniforme no intervalo
[x
1
,x
2
] se sua densidade de probabilidade pode ser expressa na forma:

alhures 0
se
1
) (
2 1
1 2
x z x
x x z f
Binomial: uma varivel aleatria discreta tem uma distribuio binomial de
ordem n se sua densidade de probabilidade pode ser expressa na forma:

\
|
=
n
k
k n k
k z q p
k
n
z f
0
) ( ) (
IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
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 condies) dada por:
( )
k n k
p p
k
n
k A P

|

\
|
= 1 vezes ocorrer
e a probabilidade deste evento A ocorrer at k vezes em n k experimentos
(sob as mesmas condies) dada por:
( )

\
|
=
k
r
r n r
p p
r
n
k A P
0
1 vezes at ocorrer
3.4 Mdia e varincia da distribuio
A funo distribuio de probabilidade ) (

F , ou equivalentemente a funo
massa ou densidade de probabilidade ) (

f , determinam completamente uma


IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
26
varivel aleatria. Sendo assim, parmetros e propriedades (como simetria) da
varivel aleatria podem ser obtidos a partir destas funes de probabilidade.
Dado o tipo de distribuio e na presena de simetria, a mdia e a varincia
passam a descrever completamente a varivel aleatria.
Definio 1: O valor mdio ou a mdia de uma varivel aleatria dado por:


=
j
j j
x f x ) ( , para o caso discreto (o somatrio sobre todos os
valores possveis de j);

+


= dx x xf ) ( , para o caso contnuo.
A mdia tambm conhecida como esperana matemtica: E[] = .
Por hiptese, suposto que a srie (caso discreto) converge absolutamente e
que a integral (caso contnuo) existe (tem um valor finito).
Definio 2: A distribuio dita ser simtrica em relao a um valor c se
) ( ) ( z c f z c f = + .
IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
27
Teorema 1: Se uma distribuio simtrica em relao a um valor c e tem
mdia , ento = c.
Definio 3: A varincia de uma distribuio denotada por
2
, sendo dada
por:
( )

=
j
j j
x f x ) (
2
2
, para o caso discreto (o somatrio sobre todos
os valores possveis de j);
( )

+


= dx x f x ) (
2
2
, para o caso contnuo.
Por hiptese, suposto que a srie (caso discreto) converge absolutamente e
que a integral (caso contnuo) existe (tem um valor finito).
Com exceo 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.
Definio 4: A raiz quadrada da varincia denominada desvio-padro, tendo
por notao .
IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
28
Como consequncia, a varivel aleatria


=
N

tem mdia zero e varincia unitria.
3.5 Momentos
Definio 5: Para qualquer varivel aleatria e qualquer funo contnua
g(): , a esperana matemtica de g() dada por:
[ ]

=
j
j j
x f x g g E ) ( ) ( ) ( , para o caso discreto (o somatrio sobre
todos os valores possveis de j);
[ ]

+


= dx x f x g g E ) ( ) ( ) ( , para o caso contnuo.
Tomando ( )
k
g = , k = 1, 2, ..., as esperanas matemticas acima
representam o k-simo momento de .
IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
29
Tomando ( ) ( )
k
g = , k = 1, 2, ..., as esperanas matemticas acima
representam o k-simo momento central de .
Lembre-se que o operador esperana matemtica linear, ou seja:
[ ] [ ] [ ]
2 1 2 1
x E x E x x E + = + ;
[ ] [ ] x E x E = , com determinstico e constante.
4 Medidas amostrais
Mdia amostral (N amostras):

=
=
N
k
k
x
N
x
1
1

Varincia amostral: ( )

=
N
k
k
x x
N
1
2 2
1
1

Desvio-padro amostral: ( )

=
N
k
k
x x
N
1
2
1
1

IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
30
Covarincia amostral: ( )( )

=
N
k
j jk i ik ij
x x x x
N
1
1
1

Coeficiente de correlao amostral:
j i
ij
ij
r

=

5 Geradores de nmeros pseudo-aleatrios em computador
Como utilizar o computador digital, a mais precisa e determinstica dentre
todas as mquinas concebidas pela mente humana, para produzir nmeros
aleatrios?
Explorao do nvel elevado de redundncia: computadores digitais executam
automaticamente, a cada passo do processo de computao, correes da
trajetria de seu estado fsico por meio da representao binria do estado
interno de seus componentes.
IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
31
Possveis implicaes: vantagens e desvantagens da computao digital.
Visto que qualquer programa vai produzir uma sada inteiramente previsvel, a
gerao de nmeros aleatrios por parte de computadores digitais representa
uma impossibilidade conceitual.
Sequncias geradas por computador digital: pseudo-aleatrias;
Sadas de processos fsicos intrinsecamente aleatrios: aleatrias.
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 mtodos numricos para implementao
computacional abordam nmeros aleatrios [DAHLQUIST & BJORCK, 1974
(cap. 4); FORSYTHE et al., 1977 (cap. 10)].
IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
32
Definio prtica (incompleta) de pseudo-aleatoriedade no contexto de
sequncias geradas por computador digital: em relao aos programas
computacionais que utilizam suas sadas, um programa determinstico que
produz sequncias pseudo-aleatrias deve ser diferente em todos os aspectos
mensurveis e estatisticamente no-correlacionado.
Dito de outra forma, dados dois geradores de nmeros pseudo-aleatrios, ao
acopl-los independentemente a um programa especfico de aplicao, deve-se
obter o mesmo resultado estatstico. Caso contrrio, pelo menos um dos
geradores inadequado para a aplicao em questo.
Concluso: O gerador deve ser to aleatrio quanto for requerido pela
aplicao.
Desse modo, um bom gerador para uma dada aplicao pode falhar
espetacularmente em outras aplicaes.
IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
33
Felizmente, existem testes estatsticos que contribuem no sentido de avaliar a
adequao de um dado gerador para cada classe de aplicaes [LECUYER,
1992], embora uma aplicao especfica possa conduzir um gerador a
expressar seus pontos fracos.
7 Geradores de nmeros pseudo-aleatrios uniformes
Conforme definido por LECUYER [1994], um gerador de nmeros pseudo-
aleatrios uniformes em computadores digitais tem um estado que evolui em
um espao S, composto por um nmero finito de estados, de acordo com uma
recorrncia na forma:
s
n
= f(s
n1
), n 1,
sendo que s
0
S denominada a semente, e f: S S, a funo de transio.
No n-simo passo, a sada do gerador dada por u
n
= g(s
n
), com g: S [0,1]
sendo a funo de sada.
IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
34
A sequncia de sada do gerador , portanto, {u
n
, n 0}.
O espao de sada poderia ser mais geral, mas suposto aqui o intervalo [0,1].
Como S finito, a sequncia {u
n
, n 0} deve ser peridica, possivelmente
depois de transcorrido um transitrio inicial.
Se for o perodo da sequncia {u
n
, n 0}, ento desejvel tomar o mais
prximo possvel da cardinalidade de S, para evitar desperdcio de memria e
para permitir a aplicao do gerador em casos de demanda elevada, ou seja, em
situaes em que o gerador acionado com muita frequncia.
Para sequncias binrias, com u
n
tendo b bits, o valor timo para o perodo
= 2
b
1.
8 Propriedades adicionais de um GNA
Alm do atendimento das condies de aleatoriedade, importante que um
gerador de nmeros pseudo-aleatrios em computadores digitais apresente:
IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
35
repetitividade;
portabilidade;
custo computacional baixo por gerao;
simplicidade de implementao.
9 Geradores lineares
So geralmente os modelos fornecidos pelos sistemas computacionais.
Envolvem a gerao de uma sequncia I
1
, I
2
, I
3
, ... de inteiros entre 0 e m1
pela relao de recorrncia
I aI c m
j j +
= +
1
( ) mod , j=1,2,...
m denominado mdulo, a e c so inteiros positivos denominados
multiplicador e incremento, respectivamente.
A recorrncia vai certamente produzir, para algum j = p m, I
j
= I
k
(k < j), ou
seja, ela vai ter um perodo p m.
IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
36
Se o perodo for p = m, todo inteiro entre 0 e m1 vai ocorrer em alguma das
prximas m iteraes, fazendo com que a escolha do valor inicial I
0
da
recorrncia (semente da gerao pseudo-aleatria) no influa de forma
significativa no resultado estatstico associado a sequncias longas.
Vantagem: um mtodo de gerao muito rpido, simples de implementar e
repetitivo para uma mesma mquina.
Desvantagens: no portvel, est preso a uma correlao sequencial e os bits
menos significativos so menos aleatrios que os bits mais significativos.
Exemplo 1: Para gerar nmeros inteiros pseudo-aleatrios 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
Tpico 8 Geradores de Nmeros Aleatrios
37
Exemplo 2: Embora existam procedimentos bem menos custosos para a
gerao de sequncias pseudo-aleatrias de bits [PRESS et al., 1992 (cap. 7)],
possvel empregar a ideia da amostragem tipo roullete wheel: divide-se a roleta
ao meio, associando cada metade a um bit. Mais uma vez esto sendo
considerados os bits mais significativos.
10 Geradores portveis
Gerador implementvel em qualquer linguagem de programao e em qualquer
mquina, produzindo sempre o mesmo comportamento estatstico e
apresentando, para uma mesma semente, a mesma sequncia de nmeros.
H evidncias, tericas e empricas, de que tomando c = 0 na recurso
I aI c m
j j +
= +
1
( ) mod , j=1,2,...
produz-se resultados to 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
Tpico 8 Geradores de Nmeros Aleatrios
38
Uma escolha possvel a = 7
5
= 16807 e m = 2
31
1 = 2147483647.
No entanto, no possvel implementar a recurso (com c = 0) com estes
valores de a e m em qualquer linguagem de alto nvel, j que o produto de a
por m1 excede o maior valor admitido para um inteiro de 32 bits.
Alternativa 1: Implementao em linguagem de montagem, empregando
registradores de 64 bits. Desvantagem: esta implementao no portvel.
Alternativa 2: Felizmente, existe um algoritmo que permite obter o resultado
do produto de dois inteiros de 32 bits, mdulo uma constante de 32 bits, sem
utilizar qualquer valor intermedirio maior que 32 bits. Este algoritmo est
baseado na seguinte fatorao para m:
( ) m a fix
m
a
m a aq r =
|
\

| + = + mod
IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
39
onde fix
m
a
|
\

| fornece a parte inteira da razo


m
a
. Para um inteiro z tal que
0 < z < m1, pode ser mostrado que, tomando r < q, tanto ( ) a z q mod quanto
r fix
z
q

|
\

|
assumem valores inteiros no conjunto { } 0 1 ,..., m , e que
( )
( )
az m
a z q r fix
z
q
a z q r fix
z
q
m
mod
mod
mod
=

|
\

|


|
\

|
+

se 0
se < 0

Sugestes para os valores de m, a, q e r:
m a q r
2
31
1 16807 127773 2836
2
31
1 48271 44488 3399
2
31
1 69621 30845 23902
IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
40
O perodo destes trs geradores portveis 2
31
2 = 2.147.483.646.
Observao: Escalonar para o intervalo [0,1].
Repare que a semente 0 nunca deve ser utilizada, da mesma forma que o valor
0 no vai ser produzido para qualquer semente diferente de 0.
Dentre os geradores simples, este o mais recomendado para aplicao,
embora possa ainda ser aperfeioado [PRESS et al., 1992 (cap. 7)].
11 Outros geradores
Lineares multivariveis: I a I a I a I m
j j j k j k +
= + + +
1 0 1 1
( ) mod L
Lineares multivariveis com incremento pseudo-aleatrio:
I a I a I a I c m
c fix
a I a I a I c
m
j j j k j k j
j
j j k j k j
+
+

= + + + +
=
+ + + +
|
\

|
1 0 1 1
1
0 1 1
( ) mod L
L

IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
41
Geradores no-lineares: I I m
j j +
=
1
2
( ) mod
Combinao de geradores [LECUYER, 1996]
12 Testes para geradores de nmeros pseudo-aleatrios
Para uma discusso mais aprofundada do que vem a ser aleatoriedade e de
como detect-la, veja KNUTH [1981].
De acordo com Kolmogorov, uma sequncia infinita de bits aleatria se ela
no puder ser descrita por uma sequncia menor que ela mesma.
Impossibilidade prtica
Ser diferente Ser no-distinguvel.
Em princpio, todos os procedimentos de teste supem que um gerador de
nmeros pseudo-aleatrios em um computador digital uma funo
determinstica que produz uma sequncia de nmeros, os quais emulam uma
IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
42
varivel aleatria definida como um processo de amostragem i.i.d.
(independent and identically distributed) que resulta na distribuio U(0,1)
(distribuio uniforme no intervalo [0,1]).
Duas classes de testes so comumente empregadas [LECUYER, 1992]:
1. Testes tericos: so especficos para cada classe de geradores e se concentram
na estrutura intrnseca de cada gerador para derivar caractersticas de
comportamento da sequncia de pontos, ao longo de todo um perodo.
2. Testes empricos: tentam encontrar evidncias estatsticas contra a hiptese
nula: A sequncia obtida a partir de um processo de amostragem i.i.d. da
distribuio U(0,1).
O que pode ser dito a respeito de um gerador de nmeros pseudo-aleatrios
que passou por todos os testes implementados?
Formalmente, nada fica demonstrado, mas possvel aumentar a confiana nos
resultados obtidos com a utilizao deste gerador.
IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
43
13 Geradores de Nmeros Pseudo-Aleatrios em
Computao Evolutiva
Valores aleatrios so requeridos em praticamente todas as etapas de um
algoritmo evolutivo:
Inicializao da populao;
Seleo de indivduos;
Definio de pontos de corte para crossover;
Definio de genes que sofrero mutao;
Definio de um dentre mais de dois alelos candidatos em operaes
de mutao associadas a atributos descritveis por um alfabeto finito;
Definio de um dentre vrios operadores alternativos;
Argumento de operadores genticos mais elaborados (mutao em
ponto flutuante); etc.
IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
44
Estudos recentes sugerem que a escolha do gerador de nmeros pseudo-
aleatrios pode afetar o desempenho de um algoritmo evolutivo, embora de
forma no-intuitiva (CANT-PAZ, 2002; DAIDA et al., 1999; MEYSENBURG,
1997; MEYSENBURG & FOSTER, 1999a; MEYSENBURG & FOSTER, 1999b;
MEYSENBURG et al., 2002).
Tambm sabido que pequenas modificaes no gerador podem causar
grande variao na qualidade do resultado do processo evolutivo. Por
exemplo, alterando-se a semente do gerador.
Para tanto, testes especficos de qualidade foram definidos de modo a explorar
diretamente a forma como um algoritmo evolutivo utiliza um gerador de
nmeros pseudo-aleatrios.
Estes testes especficos se mostraram necessrios, pois os testes convencionais
no apresentam correlao significativa com os resultados obtidos.
IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
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 nmeros pseudo-aleatrios disponveis, junto
comunidade de computao evolutiva o Mersenne Twister (MT) o mais
aceito (MATSUMOTO & NISHIMURA, 1998).
Cabe destacar tambm a proposta de MARSAGLIA (2003): Complimentary-
Multiply-With-Carry (CMWC).
Tambm possvel operar com bases de dados que contm sequncias
binrias puramente aleatrias, que podem ser encontradas em
www.random.org.
IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
46
14 Distribuio normal a partir de uma distribuio uniforme
Dispondo de um gerador com distribuio uniforme, uma distribuio normal
de mdia e varincia
2
, ( )
2
, ~ N x , pode ser obtida na forma:
( ) ( )
2 1
2 cos log 2 u u x
e
+ =
ou ento
( ) ( )
2 1
2 sen log 2 u u x
e
+ =
com ( ) 1 0 ,
2 1
, ~U u u . Esta a bem conhecida transformao de Box-Muller
(BOX & MULLER, 1958).
15 Referncias
BCK, 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. 610611, 1958.
IA707 - Prof. Fernando J. Von Zuben
DCA/FEEC/Unicamp
Tpico 8 Geradores de Nmeros Aleatrios
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 (GECCO02), 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: Gibsons 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 (GECCO99), vol. 2, pp.
1851-1858, Morgan Kaufmann Publishers, 1999.
DOS REIS, S.F. Introduo ao Estudo de Probabilidade, Notas de Aula do Curso de Gentica
Populacional Terica, 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.
LECUYER, 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
Tpico 8 Geradores de Nmeros Aleatrios
48
LECUYER, P. Uniform random number generation, Annals of Operations Research, vol. 53, pp. 77-
120, 1994.
LECUYER, 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, Masters 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 (GECCO99), 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
Tpico 8 Geradores de Nmeros Aleatrios
49
the Genetic and Evolutionary Computation Conference (GECCO99), 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 (GECCO02), 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.