Estudo comparativo de gera˘c~ao de numeros aleat orios · Paulo Henrique da Silveira Instituto de...

8
Estudo comparativo de gera¸ c˜aoden´ umeros aleat´ orios Paulo Henrique da Silveira Instituto de F´ ısica - USP Gabriel Moraes Instituto de F´ ısica - USP Hugo Salia Instituto de F´ ısica - USP 15 de Dezembro de 2015 Palavras chave Gerador de n´ umeros aleat´ orios, teste de χ 2 , monte carlo, MLC, 1 Introdu¸ ao 1.1 Propriedade dos n´ umeros aleat´ orios Uma sequˆ encia de n´ umeros aleat´ orios x 1 ,x 2 , ... deve ser independente e seguir uma distribui¸ ao uniforme, i.e., todo x i ´ e uma amostra indepen- dente de uma distribui¸ ao uniforme e cont´ ınua no intervalo I = [0, 1], portanto a fun¸c˜ ao densi- dade probabilidade (figura 1) de x ´ e: f (x)= ( 1 se 0 x 1 0 se outro valor (1) Figura 1: Fun¸ c˜ao densidade de probabilidad (FDP) para n´ umerosaleat´orios O valor esperado e a variˆ ancia para cada x i ´ e: E(x)=<x>= Z 1 0 xdx = 1 2 (2) V (x)=<x 2 > - <x> 2 = Z 1 0 x 2 dx - [E(x)] 2 = 1 12 (3) Se um intervalo I = [0, 1] ´ e subdividido em n classes, o valor esperado de observa¸c˜ ao em cada intervalo ser´ a de n N , onde N ´ e o n´ umero total de observa¸c˜ oes. 1.2 N´ umeros aleat´ orios ao realmente aleat´ orios? Logo temos todas as propriedades asicas para gerar n´ umeros aleat´ orios, entretanto cada sequˆ encia de valores ´ e igualmente poss´ ıvel apare- cer, isso significa que um bom gerador produzir´ a sequˆ encias que n˜ ao parecem nada aleat´ orias (fi- gura 2). Figura 2: Ser´a que a criatura realmente est´a di- zendo uma sequˆ enciaaleat´oria? [??] O que ´ e dito para Dilbert ´ e totalmente correto, ´ e imposs´ ıvel provar se um gerador ´ e aleat´ orios, pois a criatura pode estar gerando n´ umeros per- feitamente aleat´ orios a anos e Dilbert fora justo na hora errada. Caso ele ficasse mais tempo tal- vez perceberia a aleatoriedade. Assim temos o problema t´ ecnico de dizer se uma sequˆ encia de fato ´ e realmente aleat´ oria, uma maneira ´ e gerar v´ arias sequˆ encias e efetuar tes- tes estat´ ısticos, como veremos na sess˜ ao 1.6, al- guns testes falhar˜ ao, pois como vimos parte das sequˆ encias ´ e n˜ ao aleat´ oria, o que n˜ ao prejudica o etodo, mas se repetido muitas vezes e for de- tetado esse padr˜ ao, devemos nos atentar que tal gerador pode estar enviesado. a arias maneiras de gerar umeros aleat´ orios uns melhores que outros, como vere- mos mais a frente.

Transcript of Estudo comparativo de gera˘c~ao de numeros aleat orios · Paulo Henrique da Silveira Instituto de...

Page 1: Estudo comparativo de gera˘c~ao de numeros aleat orios · Paulo Henrique da Silveira Instituto de F sica - USP Gabriel Moraes Instituto de F sica - USP ... A tabela (4) mostra os

Estudo comparativo de geracao de numeros aleatorios

Paulo Henrique da SilveiraInstituto de Fısica - USP

Gabriel MoraesInstituto de Fısica - USP

Hugo SaliaInstituto de Fısica - USP

15 de Dezembro de 2015

Palavras chave

Gerador de numeros aleatorios, teste de χ2, monte

carlo, MLC,

1 Introducao

1.1 Propriedade dos numeros aleatorios

Uma sequencia de numeros aleatorios x1, x2, ...deve ser independente e seguir uma distribuicaouniforme, i.e., todo xi e uma amostra indepen-dente de uma distribuicao uniforme e contınuano intervalo I = [0, 1], portanto a funcao densi-dade probabilidade (figura 1) de x e:

f(x) =

1 se 0 ≤ x ≤ 1

0 se outro valor(1)

Figura 1: Funcao densidade de probabilidad(FDP) para numeros aleatorios

O valor esperado e a variancia para cada xi e:

E(x) =< x >=

∫ 1

0xdx =

1

2(2)

V (x) =< x2 > − < x >2

=

∫ 1

0x2dx− [E(x)]2 =

1

12

(3)

Se um intervalo I = [0, 1] e subdividido em nclasses, o valor esperado de observacao em cada

intervalo sera de nN , onde N e o numero total de

observacoes.

1.2 Numeros aleatorios sao realmentealeatorios?

Logo temos todas as propriedades basicaspara gerar numeros aleatorios, entretanto cadasequencia de valores e igualmente possıvel apare-cer, isso significa que um bom gerador produzirasequencias que nao parecem nada aleatorias (fi-gura 2).

Figura 2: Sera que a criatura realmente esta di-zendo uma sequencia aleatoria? [??]

O que e dito para Dilbert e totalmente correto,e impossıvel provar se um gerador e aleatorios,pois a criatura pode estar gerando numeros per-feitamente aleatorios a anos e Dilbert fora justona hora errada. Caso ele ficasse mais tempo tal-vez perceberia a aleatoriedade.

Assim temos o problema tecnico de dizer seuma sequencia de fato e realmente aleatoria, umamaneira e gerar varias sequencias e efetuar tes-tes estatısticos, como veremos na sessao 1.6, al-guns testes falharao, pois como vimos parte dassequencias e nao aleatoria, o que nao prejudica ometodo, mas se repetido muitas vezes e for de-tetado esse padrao, devemos nos atentar que talgerador pode estar enviesado.

Ha varias maneiras de gerar numerosaleatorios uns melhores que outros, como vere-mos mais a frente.

Page 2: Estudo comparativo de gera˘c~ao de numeros aleat orios · Paulo Henrique da Silveira Instituto de F sica - USP Gabriel Moraes Instituto de F sica - USP ... A tabela (4) mostra os

1.3 Verdadeiros geradores aleatorios(TRNGs)

TRNGs extraem a aleatoriedade de fenomenosfısicos, como por exemplo, jogadas de dados naoviciados, um jogo de cara ou coroa, roleta deum cassino, ate mesmo decaimentos radioativos1,condicoes climaticas2 e clock da CPU de um com-putador pessoal.

Para exemplificar vamos tomar um dado de6 faces nao viciado, seu espaco amostral e Ω =1, 2, 3, 4, 5, 6. Seja uma variavel aleatorio X,temos que:

f(x) = p(X = xi) = 1/6;xi ∈ Ω (4)

Figura 3: Funcao densidade de probabilidade(FDP) de um dado

1.4 Geradores de Numeros pseudoaleatorios (PRNGs)

Como o nome ”pseudo”diz, esses geradores naosao verdadeiros, no sentido similar ao real, issoe, nao se comporta como jogar os dados ou saberos numeros da loteria. Sao obtidos atraves dealgoritmos computacionais e sao determinısticos,isso e, sabendo o metodo e as condicoes iniciais,facilmente obtermos a sequencia.

Em contra partida os PRNGs sao superrapidos e eficientes para gerar grandes sequenciasde valores, diferente dos TRNGs que tem a li-mitacao do tempo para gera-los, imagine o tempopara jogar 1000 dados e obter a sequencia, en-quanto com os PRNGs pode-se obter em questaode segundos.

Como exemplo vamos gera-los pelo metodo li-near congruente (3), um dos metodos recursivos,i.e., xn = f(xn−1,xn−2) mais comuns.

1HotBits service at Fourmilab in Switzerland2Random.org3para maiores detalhes ver 2.1

xn = 5xn−1 + 1mod16 (5)

Iniciando a serie com x0 = 5 o qual chamamosde seed e calculando os 32 primeiros elementos:10, 3, 0, 1, 6, 15, 12, 13, 2, 11, 8, 9, 14, 7, 4, 5,10, 3, 0, 1, 6, 15, 12, 13, 2, 11, 8, 9, 14, 7, 4, 5.

Podemos dizer que essa sequencia e aleatoria?para facilitar nossa analise, vemos que osnumeros estao entre 0 e 15, dividindo-os por 16obtemos uma sequencia com numeros entre 0 e 1(tabela 1)

Tabela 1: Sequencia exemplo de 32 numerosaleatorios gerados pelo metodo congruente li-near com multiplicado m = 16 e perıodo na 17o

posicao0,6250 0,1875 0,0000 0,06250,3750 0,9375 0,7500 0,81250,1250 0,6875 0,5000 0,56250,8750 0,4375 0,2500 0,31250,6250 0,1875 0,0000 0,06250,3750 0,9375 0,7500 0,81250,1250 0,6875 0,5000 0,56250,8750 0,4375 0,2500 0,3125

Vemos que conhecida a funcao e o seed (x0)podemos reobter a mesma sequencia, logo dize-mos que esse metodo e determinıstico, embora asequencia ser aleatoria. Vale ressaltar que a par-tir do 17o posicao a sequencia torna a se repetir,logo dizemos que o gerador possui comprimentode ciclo de 16 valores. Alguns geradores nao re-petem os primeiros numeros sendo esses numeroschamados de calda, vemos na figura 4tem o quechamam de cauda.

Figura 4: Comprimento do ciclo, cauda e perıodode gerador de numeros aleatorios

Portanto qual e a vantagem de usar geradorespsedo aleatorios? ora, como vimos esses algorit-mos rapidos e eficientes, sendo util quando fornecessario gerar uma grande sequencia de dados,garantindo perıodos longos, uniformidade e inde-pendencia dos numeros, temos excelentes gerado-res, embora sua usabilidade dependa de qual am-biente se esta trabalho, criptografia por exemplo,e um pessımo lugar, entretanto para simulacaode dados e excelente.

Page 3: Estudo comparativo de gera˘c~ao de numeros aleat orios · Paulo Henrique da Silveira Instituto de F sica - USP Gabriel Moraes Instituto de F sica - USP ... A tabela (4) mostra os

1.5 Comparacao entre PRNGs andTRNGs

Abaixo ha um resumo das utilidades e funciona-lidades de ambos tipos de geradores.

Tabela 2: Comparacao dos verdadeiros para ospseudo geradores

Caracterısticas PRNG TRNGEficiencia Excelente Ruim

Determinstico Sim NaoPerıodico Sim Nao

Tabela 3: Usabilidade dos dois tipos de geradores

UsosGeradores

Mais UsadosLoteria TRNG

Jogos e Apostas TRNGSimulacao e Modelagem PRNGCriptografia e Seguranca TRNG

1.6 Testes para os geradores

Os testes tem objetivo de garantir que os gerado-res sao de fato aleatorios, por meio de metodosestatısticos. Ha varias maneiras de testa-los,seja por meio de verificar os testes estatısticospor varios metodos diferentes e ao final compa-rar seus resultados, se for diferente um ou maisdos geradores nao e confiavel ou atraves da vi-sualizacao grafica do mapa dos pontos e o his-tograma e para ver os padroes, da imagem, con-forme vemos na figura 5 que e o mapa de doisalgoritmos aleatorios, se nota um padrao na fi-gura.

Figura 5: Mapa dos pontos de um gerador verda-deiro (esq) e um pseudo (dir)

Ha dois tipos de testes, os empıricos e teoricos[??], nos empıricos, sao gerados varias sequenciase testados por metodos estatısticos. Ja osteoricos e empregado tecnicas mais sofisticadas4.

4tecnicas teoricas???

Vamos analisar os algoritmos pelo testeempırico do teste do χ2 e no calculo do valor πpor Monte Carlo.

1.6.1 teste χ2

O teste consiste em comparar as possıveis di-vergencias por um gerador em determinadoevento e os dados para o mesmo evento. Essemetodo e util quando a diferenca entre os dadosobtidos e os dados esperados se aproxima de zero.Podemos quantificar tal diferenca pela seguinteformula:

χ2 =

n∑i=1

[(observado(i)− esperado(i))2

esperado(i)] (6)

Para utilizar esse teste e necessario compararχ2calculado com o χ2

critico tabelado, que sao valoresfixos (tabel 4). A tabela (4) mostra os valorescrıticos da probabilidade nas colunas e os grausde liberdade 5 nas linhas.

Se χ2calculado > χ2

crıtico entao rejeitam-se os da-dos, caso contrario aceita-se os dados.

Tabela 4: χ2tabelado , primeira coluna contem os

graus de liberdade e na primeria linha a proba-bilidade de confiabilidade

χ2c

GL / P 0.975 0.950 ... 0.050 0.0251 0.001 0.004 3.841 5.0242 0.051 0.103 5.991 7.3783 0.216 0.352 7.815 9.3484 0.484 0.711 9.488 11.1435 0.831 1.145 ... 11.070 12.833

Exemplo, no nosso teste do dado nao viciado,vamos supor que foram jogados 186 vezes e obtido(tabela 5):

Tabela 5: frequencia das faces de um dado naoviciado

Face Frequencia1 342 293 304 325 286 33

Total 186

O valor esperado para cada face e o produtoda probabilidade do dado vezes o numero totalde jogadas (eq.: 7).

5Graus de Liberdade = Espaco amostral - 1

Page 4: Estudo comparativo de gera˘c~ao de numeros aleat orios · Paulo Henrique da Silveira Instituto de F sica - USP Gabriel Moraes Instituto de F sica - USP ... A tabela (4) mostra os

esperado(i) = p(X)N =1

6186 = 31 (7)

χ2 =

6∑i=1

[(observado(i)− 31)2

31] (8)

χ2 = 0, 903 (9)

Com χ2 = 0, 903 e comparando com a tabela4 vemos que 0, 903 < 11, 143 logo nao rejeitamoso teste e alem do mais podemos dizer que temosentre 97,5 e 95 porcento de confiabilidade, vistoque 0, 831 < 0, 903 < 1, 145 e que o dado e ho-nesto.

Vale ressaltar que todas nossas analises dosgeradores vamos padronizar 29 graus de liber-dade, isso e, subdividiremos em 30 bins dos his-togramas. O χ2

t e apresentado na tabela 6 quesera comparado na analise dos nossos numerosaleatorios.

Tabela 6: chi2t para 29 graus de liberdade, paracomparacao na analise dos geradores.

χ2c

GL P 0.9 0.6 0.5 0.4 0.0529 19.77 26.47 28.34 30.28 42.55

1.6.2 Teste por Monte Carlo

Consiste basicamente em calcular o valor nonumero π por meio da razao entre as areas, pormeio da quantidade do numero de pontos (figura6), tal que A e a area de 1/4 do cırculo de raio Re B e area de um quadrado de lado R e o valorde π e obtido pela razao 12.

Figura 6: Exemplo da distribuicao dos pontospara o calculo de π dentro de um quarto decırculo num quadrado

A =πR2

4(10)

B = R2 (11)

π = 4A

B(12)

2 Geradores de numeros aleatorios

Tabela 7: Perıodo aproximado de geradores

GeradorPerıodoaproximado

Mersenne twister(default at MATLAB R©)

219937 − 1

SIMD-oriented fastMersenne twister

219937 − 1

Multiplicativecongruential generator

231 − 1

Multiplicativelagged Fibonacci generator

2124

Combined multiplerecursive generator

2127

Shift-register withlinear congruential generator

264

Modified subtractwith borrow generator

21492

2.1 Metodo linear congruente

E considerado o mais popular, entre tantos ou-tros metodos geradores. tambem conhecido comometodo congruente misto, foi primeiramente di-vulgado em um trabalho desenvolvido pelo Prof.D. H. Lehmer, em 1951, quando dos expedi-mentos executados pelo computador ENIAC noMIT[??]. Em suas pesquisas ele descobriu querestos de sucessivas potencias de um numero pos-suem boas caracterısticas de aleatoriedade. Eleobtinha o n-esimo numero de uma sequencia, to-mando o resto da divisao da n-esima potencia deum inteiro a por um outro inteiro m. Isto e:

xn = anmod(m) (13)

xn = an−1mod(m) (14)

onde a e o modulo e m multiplicador

A popularidade dos geradores baseados nestemetodo devesse ao fato de serem facilmente ana-lisados e de algumas garantias de suas proprieda-des dadas pela teoria das congruencias [??].

Na figura 7, sao dados os histogramas para100, 1000 e 10000 numeros aleatorios entre 0 e1 gerados a partir do Metodo Linear Congruenteque nos mesmos produzimos no MATLAB. Alemdisso, foram construıdos os mapas de primeiroretorno com o objetivo de verificar se e possıvelidentificar a periodicidade.

E facil notar as faixas periodicas no mapa deprimeiro retorno, ja que o metodo linear congru-

Page 5: Estudo comparativo de gera˘c~ao de numeros aleat orios · Paulo Henrique da Silveira Instituto de F sica - USP Gabriel Moraes Instituto de F sica - USP ... A tabela (4) mostra os

Figura 7: Na parte superior: Histogramas gera-dos a partir do Metodo Linear CongruenteNa parte inferior: Respectivos mapas de primeiroretorno

ente e um metodo relativamente simples com ape-nas uma recursividade e uma semente inicial.

Em seguida, foi feito o Teste de Monte Carlopara obter o valor de π e compara-lo ao valor daliteratura.Os resultados estao dados na figura 8

Figura 8: Histograma dos valores de π para 10000repeticoes

Figura 9: Histograma para distribuicao do χ2

para 10 000 repeticoes pelo MLC

2.2 Multiply-With-Carry

O Metodo Multiple With Carry e semelhante aoMetodo Linear Congruente. Neste ultimo uti-lizavamos uma formula recursiva:

xn+1 = (a ∗ xn−r + cn−1)mod(m) (15)

Em que as constantes a e n, e as sementes ini-ciais x0 e c0 sao fornecidas pelo administradordo metodo (no caso anterior, utilizamos c=0).No metodo Multiply with Carry, a constante ctambem e dada recursivamente:

cn = (a ∗ xn−r + cn−1)/m para n ≥ 0 (16)

A vantagem do metodo Multiply With Carrydeve-se a utilizacao de duas sementes iniciais, oque aumenta o perıodo para geracao do numeroaleatorio.

Figura 10: Na parte superior: Histogramas gera-dos a partir do Metodo Multiply With CarryNa parte inferior: Respectivos mapas de primeiroretorno

No Metodo Multiply With Carry e mais difıcilidentificar as faixas periodicas no mapa de pri-meiro retorno na figura 10, ja que neste metodotemos duas sementes e duas recursividades.

Novamente foi feito o Teste de Monte Carlopara obter o valor de π e compara-lo ao valor daliteratura. Os resultados estao dados na figura11

2.3 Geradores Lagged Fibonacci

O metodo Lagged Fibonacci, como o proprionome sugere, foi inspirado na sequencia de Fi-bonacci, a qual apresentava valores a partir dasoma de dois numeros anteriores na sequencia:

xn = xn−1 + xn−2 (17)

Generalizando, podemos trocar a operacao desoma por outras operacoes:

xn = xn−l ? xn−k tal que l > k > 0 (18)

Page 6: Estudo comparativo de gera˘c~ao de numeros aleat orios · Paulo Henrique da Silveira Instituto de F sica - USP Gabriel Moraes Instituto de F sica - USP ... A tabela (4) mostra os

Figura 11: Histograma dos valores de π para10000 repeticoes

Figura 12: Histograma para distribuicao do χ2

para 10 000 repeticoes pelo MWCarry

Onde ? representa as operacoes de soma, sub-tracao, multiplicacao ou operacao de binarios. AMultiplicative Lagged Fibonacci e a sequencia emque se utiliza a operacao de multiplicacao. Paraobter os resultados referentes a ela, utilizou-se afuncao do MATLAB que proporcionou os resul-tados dados nas figuras 13 e 14.

Figura 13: Na parte superior: Histogramas ge-rados a partir do Metodo Multiplicative LaggedFibonacciNa parte inferior: Respectivos mapas de primeiroretorno

Figura 14: Histograma dos valores de π para10000 repeticoes

Figura 15: Histograma para distribuicao do χ2

para 10 000 repeticoes pelo Metodo de Lagged Fi-bonnaci

2.4 Mersenne Twister

O Mersenne Twister e um Gerador de NumerosPseudo aleatorios (PRNG), seu nome Mersennee devido ao seu perıodo ser um Mersenne Prime6,que sao numeros primos estudados pelo francesMarin Mersenne, dados por uma potencia de doismenos um 22 − 1, o Mersenne Twister e atual-mente um dos mais eficientes PRNGs, pois foidesenvolvido justamente para cobrir as falhas dosPRNGs anteriores com a proposta de ser umPRNG rapido e eficiente, ou seja, rapido paragerar numeros pseudo aleatorios e com um longoperıodo. As versoes do Mersenne Twister sao oMT19937, cujo padrao de rotina e baseado emum comprimento de palavra de 32 bits ja a ou-tra versao, que e o MT19937-64, utiliza um com-primento de palavra de 64 bits. O Mersenne

6??

Page 7: Estudo comparativo de gera˘c~ao de numeros aleat orios · Paulo Henrique da Silveira Instituto de F sica - USP Gabriel Moraes Instituto de F sica - USP ... A tabela (4) mostra os

Twister gera uma sequencia de vetores de pala-vras(strings) como uniformes pseudo aleatoriosinteiros entre 0 a 22− 1, onde w e a dimensao dovetor linha sobre o campo binario finito F2. Elee baseado na equacao de recorrencia (19)

xk+n := xk+n ⊗ (xuk |xlk+1)A (19)

Onde: n e o grau da recorrencia. m e uminteiro, 1 ≤ m ≤ n. A e uma matriz qua-drada (wx, w) (eq. 20) constante escolhida demoda a facilitar o produto de matrizes efetuadona equacao (eq. 19).

A =

0 10 0 10 ... ...

1aw−1 aw−2 a0

(20)

K e 0, 1, 2, ... xn e um vetor de linha de umapalavra com tamanho w que e gerado com k = 0.x0, x1, . . . .xn−1 sao as sementes iniciais. xlk+1 saoos mais baixos ou mais a direita r bits de xk+1. xuksao os mais altos ou os mais a esquerda (w − r)bits de xk. ⊗e referente a adicao bit a bit docircuito XOR, da algebra Booleana. | e referentea operacao de concatencao. (xuk |xlk+1) e o vetorobtido concatenando os vetores mais altos (w −r) bits de xk com o mais baixo (r)bits de xlk+1.Nessa ordem, entao a matriz A pela direita poresse vetor. Finalmente a adicao bit a bit ⊗ e parafazer a adicao do vetor obtido com xk+m , paraassim gerar o proximo o proximo vetor xk+n. Amultiplicacao de (xuk |xlk+1)A pode ser mostradautilizando uma operacao de deslocamento de bitcomo mostrada a seguir(eq. 21):

xA =

x 1 se x0 = 0

(x 1)⊗ a se x0 = 1(21)

Onde: x e o vetor linha (x0, x1 . . . .xn−1). ae o vetor linha inferior de A. e o desloca-mento bit a bit para a direita. Assim o calculoda recorrencia (19), e realizado atraves de deslo-camentos de bits, os bit a bit sao baseados nasoperacoes logicas: bit a bit EXCLUSIV E−OR,bit a bit OR e bit a bit AND. O Mersenne Twis-ter possui um equidistribuicao (n− 1) dimensio-nal, oque e um boa caracterıstica para um geratorde numeros pseudoaleatorios. Para o MT19937com 32bits, por exemplo possui uma precisao de32 bits para cada 1 ≤ k ≤ 623, de acordo com otexte da k-distribuicao.

Os resultados estao dados nas figuras 16 e 17.

Figura 16: Na parte superior: Histogramas gera-dos a partir do Metodo Mersenne TwisterNa parte inferior: Respectivos mapas de primeiroretorno

Figura 17: Histograma dos valores de π para10000 repeticoes

Figura 18: Histograma para distribuicao do χ2

para 10 000 repeticoes pelo Twister

2.5 dev/urandom

O dev/random e uma funcao geradora denumeros aleatorios, sendo a unica deste trabalho

Page 8: Estudo comparativo de gera˘c~ao de numeros aleat orios · Paulo Henrique da Silveira Instituto de F sica - USP Gabriel Moraes Instituto de F sica - USP ... A tabela (4) mostra os

que gera numeros realmente aleatorios. E utili-zada pelos sistemas operacionais do UNIX, comopor exemplo o Linux que foi o primeiro sistemaoperacional a utilizar uma funcao que gerassedados aleatorios para fins de seguranca, cripto-grafia, geracao de senhas ou simulacoes. Essesdados aleatorios sao oriundos do ruıdo do ambi-ente e obtidos atraves de drivers de dispositivoe de outras origens, como por exemplo, impul-sos eletricos do sistema (o simples movimento domouse pode fornecer o impulso necessario paragerar dados aleatorios). O numero estimado debits de ruıdo e mantido pelo gerador no pool deentropia, a partir do qual os numeros aleatoriossao criados. Assim, quando solicitada, a funcaoretorna os bytes aleatorios de acordo com numerode bits estimados pelo pool de entropia. Porfim, esses dados sao gerados atraves do comando“RANDOM” direto no terminal do linux, oupela funcao “urand” do Octave, sendo que estaultima foi a utilizada para a seguinte analise.

Os resultados estao dados nas figuras 19 e 20.

Figura 19: Na parte superior: Histogramas gera-dos a partir do urandNa parte inferior: Respectivos mapas de primeiroretorno

2.6 Outros geradores

- Legacy MATLAB 5.0 uniform generator - Le-gacy MATLAB 5.0 normal generator - LegacyMATLAB 4.0 generator

3 Conclusao

Como explicitado anteriormente, a maioria dosgeradores de numeros aleatorios apresentadoseram pseudoaleatorios (apenas o gerador uranddo Linux se aproxima de um gerador realmentealeatorio). Ainda assim, sao muito utilizados pois

Figura 20: Histograma dos valores de π para10000 repeticoes

a maioria possui perıodos extremamente gran-des. Em criptografia, sua utilizacao e essencialtambem, ja que para decodificar algum tipo desistema, ele nao pode ser totalmente aleatorio.

O gerador MLC, como verificado na analise deresultados, e o gerador mais simples e de menorperiodicidade.

4 Bibliografia

RESENDE, Maria Fernanda Araujo de, SAN-TOS, Antonio Domingues dos, ITRI, Rosangela.Efeito Fotoeletrico, Notas de Aula. Laboratoriode Fısica Moderna, 2015.

, conforme citado por Jain, [1991]

[Dudewicz e Karian (1985)]