Matemática para Computação

Trabalho para composição de nota AV2

Prof. Jose Rubens Rodrigues de Sousa

Emanuel Vidal e Rafael Saboia

Introdução

O Problema, a solução e o contexto.

Image

Leonard Mlodinow
[...]"Qualquer dispositivo artificial está fadado a possuir falha", disse Moshe, "porque os seres humanos não têm acesso à perfeição." Talvez seja verdade, mas a Natureza tem acesso à perfeição, e realmente ocorrem eventos aleatórios no nível atômico. De fato, essa é a própria base da quântica[...]

Image

Jose Rubens
Neste momento, sua equipe acaba de ser contratada pelo Governo Federal, mais especificamente pela Caixa Econômica Federal (órgão que administra o sorteio da Mega-Sena) para compor um time de cientistas da computação responsável por elaborar um código de programação para os sorteios dos números premiados. Este código deverá gerar aleatoriamente 6 números, de um total de 60 dezenas (de 01 a 60).

Image

Rafael Saboia
Serão utilizadas duas linguagens de programação JAVASCRIPT E PYTHON, onde cada uma tem sua sintaxe própria para elaboração do programa. No entanto, as funções oferecidas pelos mesmos possuem algumas falhas nas quais iremos demonstrar e explicar como minimizar os problemas.

Metodologia

Abordagem, problemas e conceitos.

Mesmo com a aleatoriedade proposta pelas fórmulas obtidas através das linguagens JAVASCRIPT e PYTHON, existe a preocupação sobre a verdadeira aleatoriedade dos números, pois na verdade, se gerados pelo computador, estamos apenas tratando de números pseudoaletórios. Com isso em mente, várias formas de gerar números "verdadeiramente" aleatórios, ou mais próximos disso, com a preocupação da segurança dos sistemas que os utilizam.

Por isso foi desenvolvido em Javascript, a fórmula Crypto.getRandomValues() . Outras soluções apareceram, em sua maioria, a chamada de API's que geram tais números através de seus próprios métodos de captação de eventos da natureza.
Hoje em dia, um dos mais "fortes" métodos, é o desenvolvido pela Universidade Nacional da Austrália em Canberra que utiliza da observação do vácuo como medida para tais números, tendo em vista que eles aparaentemente sempre são aleatórios(sem correlação).

ANU QRNG - Quantum Random Numbers
This website offers true random numbers to anyone on the internet. The random numbers are generated in real-time in our lab by measuring the quantum fluctuations of the vacuum. The vacuum is described very differently in the quantum physics and classical physics. In classical physics, a vacuum is considered as a space that is empty of matter or photons. Quantum physics however says that that same space resembles a sea of virtual particles appearing and disappearing all the time. This is because the vacuum still possesses a zero-point energy. Consequently, the electromagnetic field of the vacuum exhibits random fluctuations in phase and amplitude at all frequencies. By carefully measuring these fluctuations, we are able to generate ultra-high bandwidth random numbers. Image
Image

Rafael Saboia
Elaborar um programa que leia um som de origem natural, como por exemplo, som de uma rua, pessoas conversando, natureza e etc. Dessa forma, temos um sinal que será único, e o programa deve gerar os números a partir desse sinal. Link da pesquisa Image

Resultados

Números e gráficos.

Logo

Resultados

Números e gráficos.

Logo

Conclusão

“Embora tenham precisado de muitos séculos para isso, os cientistas aprenderam a enxergar além da ordem aparente e reconhecer a aleatoriedade oculta na natureza e na vida cotidiana".
O Andar do Bêbado - Como o Acaso Determina Nossas Vidas
Leonard Mlodinow (p.24)

Logo
Fibonacci Sequence (The Golden Ratio)