You are on page 1of 25

IA707 - Prof. Fernando J.

Von Zuben
DCA/FEEC/Unicamp

Geradores de Nmeros Aleatrios


ndice
1
2

4
5
6
7
8
9
10
11
12
13
14
15

O papel da estatstica na engenharia e na cincia .............................................................................. 2


Probabilidade .................................................................................................................................... 4
2.1 Os conceitos de experimento, espao amostral e evento.............................................................. 6
2.2 Axiomas de probabilidade ............................................................................................................ 8
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
Medidas amostrais .......................................................................................................................... 29
Geradores de nmeros pseudo-aleatrios em computador ............................................................. 30
Pseudo-aleatoriedade em computadores digitais ............................................................................ 31
Geradores de nmeros pseudo-aleatrios uniformes ...................................................................... 33
Propriedades adicionais de um GNA ................................................................................................ 34
Geradores lineares .......................................................................................................................... 35
Geradores portveis ........................................................................................................................ 37
Outros geradores ............................................................................................................................ 40
Testes para geradores de nmeros pseudo-aleatrios ..................................................................... 41
Geradores de Nmeros Pseudo-Aleatrios em Computao Evolutiva ............................................. 43
Distribuio normal a partir de uma distribuio uniforme .............................................................. 46
Referncias ..................................................................................................................................... 46

Tpico 8 Geradores de Nmeros Aleatrios

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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.

Tpico 8 Geradores de Nmeros Aleatrios

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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

Tpico 8 Geradores de Nmeros Aleatrios

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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.
Tpico 8 Geradores de Nmeros Aleatrios

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


5

Tpico 8 Geradores de Nmeros Aleatrios

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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.

Tpico 8 Geradores de Nmeros Aleatrios

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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.

Tpico 8 Geradores de Nmeros Aleatrios

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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

Tpico 8 Geradores de Nmeros Aleatrios

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

denominada de funo de probabilidade e P E

denominada de

probabilidade do evento E se os seguintes axiomas forem vlidos:


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 nmero 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 espao amostral S.
Axioma 3: Para qualquer sequncia de eventos mutuamente exclusivos E1 , E 2 ,K
(isto , eventos para os quais E i E j = quando i j ),
P

i =1

i =1

U Ei = P Ei
9

Tpico 8 Geradores de Nmeros Aleatrios

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

Algumas proposies simples podem ser deduzidas a partir dos axiomas


enumerados acima:
Proposio 1: Dado que E e Ec so 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 equao acima pode ser escrita como:
P Ec = 1 P E .
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:

P EF = P E +P F P EF .

Tpico 8 Geradores de Nmeros Aleatrios

10

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

Para deduzir a frmula para P E F necessrio lembrar que ( E F ) pode


ser escrito como a unio 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
Alm 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 EF = P E +P F P EF .

11

Tpico 8 Geradores de Nmeros Aleatrios

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

Esta proposio pode tambm ser demonstrada utilizando o diagrama de Venn


mostrado abaixo.

F
I

II

III

S
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 ,

E F c ); a seo II representa todos os pontos que esto tanto em E quanto


em F (isto , E F ), e a seo III representa todos os pontos em F que no
esto em E (isto , E c F ).
Tpico 8 Geradores de Nmeros Aleatrios

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 so 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 ento:


P EF = P E +P F P EF ,

que conhecida como a lei de adio de probabilidades.


Em palavras, pode ser expressa como:
13

Tpico 8 Geradores de Nmeros Aleatrios

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

Tpico 8 Geradores de Nmeros Aleatrios

14

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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

15

Tpico 8 Geradores de Nmeros Aleatrios

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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

Tpico 8 Geradores de Nmeros Aleatrios

16

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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:
F ( z ) = P x E ( z ) = P E ( z ) = P x | x z
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.

17

Tpico 8 Geradores de Nmeros Aleatrios

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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.

Tpico 8 Geradores de Nmeros Aleatrios

18

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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:

p j se z = x j ( j = 1, 2, ...)
f ( z) =
0 alhures
e a correspondente funo distribuio de probabilidade dada por:

F ( z ) =

f (x j ) =

j
tal que x j z

pj

j
tal que x j z

onde xj, 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:
19

Tpico 8 Geradores de Nmeros Aleatrios

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

f(z )
1
6
2

1
F (z )
1

1
2

Tpico 8 Geradores de Nmeros Aleatrios

20

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

Em muitas aplicaes, 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 no precisam necessariamente ser
elementos de S. Da definio F ( z ) = P x | x z de funo distribuio de
probabilidade, pode-se deduzir que:

P x q < x r = F ( x r ) F ( x q ) .
Como a varivel aleatria discreta, resulta:
P xq < xr =

pj .

tal que x q < x j x r

Uma consequncia direta o resultado a seguir:

pj =1

j
tal que x j S

21

Tpico 8 Geradores de Nmeros Aleatrios

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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:
f ( z) =

dF ( z )
dz

F ( z ) = P x | x z = f ( x )dx

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 no precisam necessariamente ser
elementos de S. Da definio F ( z ) = P x | x z de funo distribuio de
probabilidade, pode-se deduzir que:
Tpico 8 Geradores de Nmeros Aleatrios

22

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

P x q < x r = F ( x r ) F ( x q ) .
x

Para uma varivel aleatria contnua, resulta: P x q < x r = x r f ( x )dx


q

f ( x )dx = 1.

Uma consequncia direta o resultado:

Exemplo: Uma varivel aleatria com distribuio normal, mdia 0 e


varincia 1, tem como funes densidade e distribuio de probabilidade:
Funo distribuio de probabilidade
1

0.9

0.9

0.8

0.8

0.7

0.7

0.6

0.6
F (z)

0.5

f (z)

Funo densidade de probabilidade


1

0.5

0.4

0.4

0.3

0.3

0.2

0.2

0.1

0.1

0
-3

-2

-1

0
z

0
-3

-2

-1

0
z

23

Tpico 8 Geradores de Nmeros Aleatrios

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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:

1
f ( z) =
e
2

( z ) 2
22

Uniforme: uma varivel aleatria contnua chamada uniforme no intervalo


[x1,x2] se sua densidade de probabilidade pode ser expressa na forma:
1

f ( z ) = x 2 x1
0

se x1 z x 2
alhures

Binomial: uma varivel aleatria discreta tem uma distribuio binomial de


ordem n se sua densidade de probabilidade pode ser expressa na forma:
n

f ( z) =
Tpico 8 Geradores de Nmeros Aleatrios

k p k q n k ( z k )

k = 0

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 condies) 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 condies) dada por:
k

P A ocorrer at k vezes =

r p r (1 p )

r =0

nr

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

25

Tpico 8 Geradores de Nmeros Aleatrios

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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

= x j f ( x j ) , para o caso discreto (o somatrio sobre todos os


j

valores possveis de j);


+

"

= xf ( x )dx , 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
f (c + z ) = f (c z ) .
Tpico 8 Geradores de Nmeros Aleatrios

26

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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

2 = (x j ) f ( x j ) , para o caso discreto (o somatrio sobre todos


2

os valores possveis de j);


+

"

2 = (x ) f ( x )dx , 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 .

27

Tpico 8 Geradores de Nmeros Aleatrios

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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

E [g ( )] = g ( x j ) f ( x j ) , para o caso discreto (o somatrio sobre


j

todos os valores possveis de j);


+

"

E [g ( )] = g ( x ) f ( x )dx , para o caso contnuo.

Tomando

g () = k ,

k = 1, 2, ...,

as

esperanas

matemticas

acima

representam o k-simo momento de .

Tpico 8 Geradores de Nmeros Aleatrios

28

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

Tomando 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:
"

E [x1 + x 2 ] = E [x1 ] + E [x 2 ];

"

E [x ] = E [x ], com determinstico e constante.

4 Medidas amostrais

Mdia amostral (N amostras): x =


Varincia amostral: 2 =

1
N

xk
k =1

1 N
( x k x )2

N 1 k =1

Desvio-padro amostral: =

1 N
( x k x )2

N 1 k =1

29

Tpico 8 Geradores de Nmeros Aleatrios

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

Covarincia amostral: ij =

1 N
( xik xi )(x jk x j )
N 1 k =1

Coeficiente de correlao amostral: rij =

ij
i j

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.
Tpico 8 Geradores de Nmeros Aleatrios

30

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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

Tpico 8 Geradores de Nmeros Aleatrios

31

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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.

Tpico 8 Geradores de Nmeros Aleatrios

32

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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 pseudoaleatrios 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:
sn = f(sn1), n 1,
sendo que s0 S denominada a semente, e f: S S, a funo de transio.
No n-simo passo, a sada do gerador dada por un = g(sn), com g: S [0,1]
sendo a funo de sada.
33

Tpico 8 Geradores de Nmeros Aleatrios

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

A sequncia de sada do gerador , portanto, {un, n 0}.


O espao de sada poderia ser mais geral, mas suposto aqui o intervalo [0,1].
Como S finito, a sequncia {un, n 0} deve ser peridica, possivelmente
depois de transcorrido um transitrio inicial.
Se for o perodo da sequncia {un, 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 un tendo b bits, o valor timo para o perodo
= 2b1.

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:
Tpico 8 Geradores de Nmeros Aleatrios

34

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

# 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 I1, I2, I3, ... de inteiros entre 0 e m1
pela relao de recorrncia
I j +1 = ( aI j + c ) mod m, 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, Ij = Ik (k < j), ou
seja, ela vai ter um perodo p m.
35

Tpico 8 Geradores de Nmeros Aleatrios

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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

Tpico 8 Geradores de Nmeros Aleatrios

36

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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

Tpico 8 Geradores de Nmeros Aleatrios

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

Uma escolha possvel a = 75 = 16807 e m = 2311 = 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
m = a fix + ( m mod a ) = aq + r
a

Tpico 8 Geradores de Nmeros Aleatrios

38

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

m
m
onde fix fornece a parte inteira da razo . Para um inteiro z tal que
a
a

0 < z < m1, 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
se 0
a( z mod q) r fix q

az mod m =
a( z mod q) r fix z + m se < 0

q
Sugestes para os valores de m, a, q e r:
m

2311
2311
2311

16807
48271
69621

127773
44488
30845

2836
3399
23902
39

Tpico 8 Geradores de Nmeros Aleatrios

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

O perodo destes trs geradores portveis 2312 = 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 j +1 = ( a0 I j + a1 I j 1 +L+ ak I j k ) mod m
Lineares multivariveis com incremento pseudo-aleatrio:

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
Tpico 8 Geradores de Nmeros Aleatrios

40

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

Geradores no-lineares: I j +1 = ( I 2j ) mod m


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

41

Tpico 8 Geradores de Nmeros Aleatrios

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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.
Tpico 8 Geradores de Nmeros Aleatrios

42

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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.

43

Tpico 8 Geradores de Nmeros Aleatrios

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

Estudos recentes sugerem que a escolha do gerador de nmeros pseudoaleatrios 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.

Tpico 8 Geradores de Nmeros Aleatrios

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 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): ComplimentaryMultiply-With-Carry (CMWC).
Tambm possvel operar com bases de dados que contm sequncias
binrias

puramente

aleatrias,

que

podem

ser

encontradas

em

www.random.org.

45

Tpico 8 Geradores de Nmeros Aleatrios

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

14 Distribuio normal a partir de uma distribuio uniforme


Dispondo de um gerador com distribuio uniforme, uma distribuio normal

de mdia e varincia 2, x ~ N , 2 , pode ser obtida na forma:


x = + 2log e (u1 ) cos(2u2 )
ou ento
x = + 2log e (u1 ) sen (2u2 )
com u1 , u2 ~ U (0 ,1). 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.
Tpico 8 Geradores de Nmeros Aleatrios

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 (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.
REIS, S.F. Introduo ao Estudo de Probabilidade, Notas de Aula do Curso de Gentica
Populacional Terica, IB/Unicamp, 2001.

DOS

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.

47

Tpico 8 Geradores de Nmeros Aleatrios

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

LECUYER, P. Uniform random number generation, Annals of Operations Research, vol. 53, pp. 77120, 1994.
LECUYER, P. Combined multiple recursive generators, Operations Research, vol. 44, no. 5, pp. 816822, 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
Tpico 8 Geradores de Nmeros Aleatrios

48

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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.

Tpico 8 Geradores de Nmeros Aleatrios

49

You might also like