Você está na página 1de 25

IA707 - Prof. Fernando J.

Von Zuben
DCA/FEEC/Unicamp

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

Tpico 8 Geradores de Nmeros Aleatrios 1

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 2


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 3

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

Tpico 8 Geradores de Nmeros Aleatrios 5

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 6


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 7

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 8


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 U Ei = P Ei
i =1 i =1

Tpico 8 Geradores de Nmeros Aleatrios 9

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 .

Tpico 8 Geradores de Nmeros Aleatrios 11

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

Esta proposio pode tambm ser demonstrada utilizando o diagrama de Venn


mostrado abaixo.

E F

I II III

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:

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

Tpico 8 Geradores de Nmeros Aleatrios 15

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.

Tpico 8 Geradores de Nmeros Aleatrios 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. 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 ) = pj
j j
tal que x j z 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:

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

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 .
j
tal que x q < x j x r

Uma consequncia direta o resultado a seguir:


pj =1
j
tal que x j S

Tpico 8 Geradores de Nmeros Aleatrios 21

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

+
Uma consequncia direta o resultado: f ( x )dx = 1.
Exemplo: Uma varivel aleatria com distribuio normal, mdia 0 e
varincia 1, tem como funes densidade e distribuio de probabilidade:
Funo densidade de probabilidade Funo distribuio 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

Tpico 8 Geradores de Nmeros Aleatrios 23

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:
( z ) 2
1
f ( z) = e 22
2
Uniforme: uma varivel aleatria contnua 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 varivel aleatria discreta tem uma distribuio 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

Tpico 8 Geradores de Nmeros Aleatrios 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
n
r p r (1 p )
nr
P A ocorrer at k vezes =
r =0

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

Tpico 8 Geradores de Nmeros Aleatrios 25

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


j
os valores possveis de j);
2 = (x ) f ( x )dx , para o caso contnuo.
+ 2


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 .

Tpico 8 Geradores de Nmeros Aleatrios 27

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


k

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

N
1
Mdia amostral (N amostras): x =
N
xk
k =1

1 N
Varincia amostral: 2 = ( x k x )2
N 1 k =1

1 N
Desvio-padro amostral: = ( x k x )2
N 1 k =1

Tpico 8 Geradores de Nmeros Aleatrios 29

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

( xik xi )(x jk x j )
1 N
Covarincia amostral: ij =
N 1 k =1

ij
Coeficiente de correlao amostral: rij =
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 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:
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.

Tpico 8 Geradores de Nmeros Aleatrios 33

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.

Tpico 8 Geradores de Nmeros Aleatrios 35

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.

Tpico 8 Geradores de Nmeros Aleatrios 37

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 = a fix + ( m mod a ) = aq + r
m
a

Tpico 8 Geradores de Nmeros Aleatrios 38


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

onde fix fornece a parte inteira da razo . Para um inteiro z tal que
m m
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
a( z mod q) r fix q se 0

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 a q r
2311 16807 127773 2836
2311 48271 44488 3399
2311 69621 30845 23902

Tpico 8 Geradores de Nmeros Aleatrios 39

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

Tpico 8 Geradores de Nmeros Aleatrios 41

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.

Tpico 8 Geradores de Nmeros Aleatrios 43

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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.

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

Tpico 8 Geradores de Nmeros Aleatrios 45

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.

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.

Tpico 8 Geradores de Nmeros Aleatrios 47

IA707 - Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

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

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

Você também pode gostar