U M A N OVA M A N E I R A S I M P L E S D E GERAR NÚMEROS PSEUDO-ALEATÓRIOS I TA M A R AC Á FRNS = ABS [N - (PN * XRN)] DH PEREIRA U N D E R S TA N D I N G I TA M A R AC Á • Itamaracá ou simplesmente "Ita" é uma base matemática nova (para GNPAs), simples, rápida e que gera uma sequência de "infinitos" números "não periódicos" dentro de um intervalo [0, 1] levando-se a cabo uma distribuição uniforme. • Seu nome é derivado do idioma Tupi Guarani, no qual significa "Pedra que canta". Neste sentido, uma referência a algo que seja "aleatório", "inesperado". C O M O I TA F U N C I O N A Como todo GNPA (Gerador de Números Pseudo-aleatórios) Ita tem algumas características distintivas. Abaixo apresenta-se suas condições iniciais: • Primeiramente, escolha N, isto é, um valor máximo dentro de um intervalo entre 0 e N selecionado por um critério escolhido pelo usuário, onde N ∈ ℕ. • Neste modelo, há 3 sementes S0, S1 and S2. Para cada uma destas sementes escolha qualquer número ∈ ℕ pertencentes ao intervalo entre 0 e N. C O M O I TA F U N C I O N A Após ter escolhido de forma arbitrária os valores 3 sementes S0, S1 eS2, o processo de cálculo é dividido em duas principais etapas muito simples: • Pn (n Process) ou Estado Intermediário • Cálculo Final ou Fórmula Geral C O M O I TA F U N C I O N A Pn (n Process) ou Estado Intermediário Nesta etapa, precisamos levar em consideração os valores absoluto tendo-se as diferenças entre as 2 sementes que são 'móveis' no tempo, preferivelmente dizendo, na sequência. Pn = ABS (S2 – S0) C O M O I TA F U N C I O N A Cálculo Final ou Fórmula Geral Nesta etapa, devemos multiplicar “x” resultado obtido na primeira etapa (em Pn) por Xrn, isto é, qualquer valor desejado pelo usuário, desde que este valor seja muito próximo de 2 (ex: 1.97, 1.98, 1.99789...). FRNS = ABS [N – (Pn * Xrn)] EXEMPLO PRÁTICO Vamos assumir que gostaríamos gerar números de 0 a 10.000: N 10.000 Semente 0 8.777 Semente1 11 Semente 2 8 EXEMPLO PRÁTICO Podemos gerar o primeiro número usando o estado intermediário (Pn) e então usamos a formulação geral, como demontrado abaixo: P1 = ABS (8 – 8,777) = 8,769 FRNS1 = ABS [10,000 - (8,769*1.97) = 7,275 EXEMPLO PRÁTICO Segundo número: P2 = ABS (7,275 – 11) = 7,264 FRNS2 = ABS [10,000 - (7,264*1.97) = 4,310 Terceiro número: P3 = ABS (4,310 – 8) = 4,302 FRNS3 = ABS [10,000 - (4,302*1.97) = 1,525 EXEMPLO PRÁTICO Então, obtemos os três primeiros números gerados: 7,275 - 4,310 e 1,525... Os próximos números gerados por esta sequência de agora em diante seguir-se-á com a mesma lógica. R E S U LTA D O S D E A L G U N S T E S T E S E F E R R A M E N TA S E S TAT Í S T I C A S Comparando resultados entre Ita e TRNG por Random Org considerando 10.000 números gerados Testes Ita TRNG Teste Qui-Quadrado 11.26 3.65 Números Repetidos / N 3.618 3.763 Média / Desvio Padrão 4,941 / 2,884 4.925 / 2.905 Run Test (Par/Ímpar) -0.914634 0.004101 Run Test (Mediana) 0.759184 0.603023 Autocorrelação (Média dos 10 primeiros k-lags diferente de 0) 0.000103 0.000980 Entropia de Shannon 3.45327 3.45284 Nota: A metodologia utilizada para avaliar os resultados é exatamente a mesma que a contida na versão publicada. R E S U LTA D O S D E A L G U N S T E S T E S E F E R R A M E N TA S E S TAT Í S T I C A S Histograma pelo modelo Ita R E S U LTA D O S D E A L G U N S T E S T E S E F E R R A M E N TA S E S TAT Í S T I C A S Run Sequence para o modelo Ita Line Graph for 1,000 numbers generated by Itamaracá 12000 10000 8000 6000 4000 2000 1 19 37 55 73 91 109 127 145 163 181 199 217 235 253 271 289 307 325 343 361 379 397 415 433 451 469 487 505 523 541 559 577 595 613 631 649 667 685 703 721 739 757 775 793 811 829 847 865 883 901 919 937 955 973 991 0 R E S U LTA D O S D E A L G U N S T E S T E S E F E R R A M E N TA S E S TAT Í S T I C A S Gráfico de Dispersão para o modelo Ita Scatter Plot for 1,000 numbers generated by Ita 12000 10000 8000 6000 4000 2000 0 0 200 400 600 Série1 800 1000 1200 ALGUMAS CONSIDERAÇÕES • O modelo Ita tem demonstrado ser um bom gerador de números aleatórios, especialmente no critério que avalia independência e uniformidade. Apesar de ser um estudo recente, há boas perspectivas quanto ao seu custo computacional e sua aplicabilidade para o campo de estudo na Criptografia. Neste sentido, podendo-se em breve obter o selo de CSPRNG. • Outro ponto a ser destacado tratar-se-á do fato de que não fora observado quaisquer regras com relação a escolha dos valores das sementes, sendo suficiente apenas escolher de forma arbritrária quaisquer valores dentro do intervalo de 0 a N ∈ ℕ, seu valor máximo. ALGUMAS CONSIDERAÇÕES • Independentemente dos valores iniciais das sementes utilizadas, existe uma forte tendência para que o algoritmo passe nos testes estatísticos padrões de uniformidade e independência. No entanto, embora aprovados, alguns valores destas sementes escolhidos podem fazer com que os resultados de certos testes sejam "melhores" ou "piores" do que quando se utilizam outras sementes. ALGUMAS CONSIDERAÇÕES • O modelo de Ita assim como todos PRNGs também tem algumas limitações identificadas. Como exemplo, em algum momento, provavelmente após uma grande quantidade de números gerados, a repetição da mesma sequência de números gerados tende a se repetir. No entanto, isso somente ocorrerá se e somente se os valores das 3 sementes iniciais (S0, S1 e S2) aparecerem no meio da sequência gerada exatamente na mesma ordem. • Apesar dessa limitação, podemos observar que é muito difícil esta sequência de números vir a se repetir novamente em sua totalidade a medida em que o valor de N aumente se considerarmos uma distribuição uniforme [0, 1]. Logo, podemos inferir que trata-se de um gerador que gera "infinitos" e "não-periódicos" números aleatórios. A geração de números aleatórios é demasiado importante para vários campos de estudo e aplicações práticas para o desenvolvimento da Humanidade. CONCLUSÃO O presente estudo, apresentou uma nova e simples proposta de um Gerador de Números Pseudo Aleatórios (PRNG) denominado "Itamaracá" (Ita em forma abreviada). O modelo Ita, como todos os algoritmos PRNG, tem algumas limitações, mas de uma forma geral, mostrou bons resultados nos testes estatísticos considerados. Neste sentido, mais um modelo no portfólio plenamente disponível para uso e, sobretudo, para novos estudos, especialmente aqueles aplicáveis a um objetivo específico e a problemas reais.