O progresso científico e tecnológico do século 20 deve muito ao desenvolvimento da teoria da probabilidade e à criação de geradores de números aleatórios.
Números aleatórios são números que podem ser interpretados como os resultados da implementação de alguma variável aleatória - o conceito básico da teoria da probabilidade. O conceito de aleatoriedade neste contexto implica a imprevisibilidade do valor de uma determinada quantidade antes do início do experimento.
Histórico de números aleatórios
A necessidade da humanidade de usar números aleatórios surgiu muito antes da invenção de dispositivos por cientistas que permitem a obtenção de matrizes aleatórias. Por muito tempo, as pessoas usaram meios improvisados para gerar números aleatórios, incluindo objetos de natureza animada e inanimada.
Um dos exemplos mais marcantes dos geradores de números aleatórios mais simples são os dados familiares, que são amplamente utilizados hoje. Em experimentos elementares e de treinamento, as dependências da lei do movimento de um dado em seu ambiente, condições iniciais e o fator humano podem ser completamente negligenciadas, de modo que o número de pontos em um dado pode, com algumas reservas, ser considerado aleatório variável. Os dados desempenharam um papel significativo no desenvolvimento da teoria da probabilidade: em 1890, o pesquisador inglês Francis Galton propôs um método para gerar números aleatórios usando dados.
Um pouco mais complicado no dispositivo é outro gerador de números amplamente utilizado na vida cotidiana - o tambor da loteria. Este dispositivo é um tambor com bolas numeradas que são misturadas em seu interior durante a rotação. A principal área de aplicação dos tambores de loteria são as loterias e loterias. É fácil adivinhar que o lototron é inadequado para uso em experimentos científicos sérios devido ao baixo grau de aleatoriedade e velocidade de operação.
O primeiro gerador de números aleatórios que permite obter grandes quantidades de dados e é adequado para resolver problemas aplicados foi inventado em 1939. Maurice George Kendall e Bernard Babington-Smith criaram um dispositivo que poderia gerar uma tabela contendo 100.000 números aleatórios. E apenas 16 anos depois, a empresa estratégica americana RAND melhorou 10 vezes os resultados dos acadêmicos ingleses - com a ajuda de máquinas especiais, foi criada uma tabela de um milhão de números aleatórios. O método tabular para gerar números aleatórios recebeu um desenvolvimento significativo graças a George Marsaglia, que recebeu 650 MB de números aleatórios em 1996. No entanto, devido à limitação do escopo, esse método não é amplamente aceito atualmente.
As máquinas que geram números aleatórios em tempo real têm várias vantagens sobre os dispositivos que criam tabelas de números aleatórios. Uma das primeiras dessas máquinas foi o computador Ferranti Mark 1, que em 1951 incluía um programa que gerava números aleatórios com base no fluxo de ruído de entrada de um resistor. Curiosamente, a ideia de criar tal programa foi do grande matemático inglês Alan Turing. Também inovador no campo da geração de números aleatórios foi a invenção em 1957 do ERNIE (Electronic Random Number Indicator Equipment), originalmente destinado a gerar números vencedores na loteria britânica.
Números pseudoaleatórios
A invenção de geradores de números aleatórios sem dúvida acelerou muito o processo científico e tecnológico. No entanto, esses dispositivos tinham uma desvantagem extremamente importante, que limitava significativamente a possibilidade de sua aplicação. Já em meados do século 20, o matemático húngaro-americano John von Neumann notou a inadequação dos geradores físicos de números aleatórios na computação, devido à impossibilidade de repetir um experimento aleatório e, como resultado, a impossibilidade de reproduzir um número aleatório para testar o funcionamento de uma máquina. É assim que a comunidade científica precisava de números pseudoaleatórios - números que possuem várias propriedades importantes de números aleatórios, mas obtidos não como resultado de um experimento aleatório, mas com base em algum algoritmo. O próprio John von Neumann tornou-se o autor do método "meio do quadrado", que permite obter números pseudo-aleatórios de dez dígitos na saída.
A principal desvantagem dos números pseudo-aleatórios é, obviamente, a falta de aleatoriedade dos dados, que é tão importante em muitas áreas da ciência e da vida. Além disso, todos os geradores de números pseudo-aleatórios têm a propriedade de loop, ou seja, a partir de um determinado momento para repetir a sequência de números de saída, muitos algoritmos são reversíveis e alguns até têm uma distribuição unidimensional desigual. Portanto, atualmente, esta área atrai muitos pesquisadores que buscam desenvolver ou criar novos geradores de números pseudo-aleatórios eficientes.
Fatos interessantes
- De acordo com alguns historiadores, as primeiras tentativas de gerar números aleatórios datam de 3500 AC. Curiosamente, eles estão ligados ao antigo jogo de tabuleiro egípcio "Senet", que consiste em mover fichas pelo tabuleiro.
- Durante muito tempo, os resultados dos censos populacionais e outras tabelas de dados obtidos experimentalmente serviram como fontes de números aleatórios para alguns problemas práticos reais.
- Uma vulnerabilidade em algoritmos de geração de números pseudo-aleatórios foi explorada no início de 2010 pelo ex-diretor de segurança da Multi-State Lottery Association. O intruso tinha acesso a um software usado para determinar os números vencedores dos bilhetes de loteria, com o qual podia determinar as combinações vencedoras vários dias por ano. Ele foi cobrado em 2015 depois de ganhar US$ 16,5 milhões.
- Um gerador de números pseudo-aleatórios instalado no computador de bordo de uma espaçonave Apollo uma vez causou mau funcionamento de seu movimento e desviou seriamente de sua trajetória pretendida. Como os cientistas descobriram, os dados de saída do gerador usados para calcular as velocidades angulares caíram no semiplano inferior em 80% dos casos, o que absolutamente não atendeu aos critérios exigidos para a aleatoriedade dos resultados do gerador.
O problema de geração de números aleatórios é atualmente um dos mais relevantes e promissores da comunidade científica. Ao mesmo tempo, este tópico é mais interessante para pessoas que estão longe do mundo da ciência. Familiarize-se com os algoritmos de geração de números pseudo-aleatórios mais famosos e suas áreas de uso.