Pseudoaleatoriedade: diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
Correções de gramática e ortografia.
Linha 1:
Um processo '''pseudoaleatório''' é um processo que parece ser [[Aleatoriedade|aleatório]] mas não é. Sequências pseudoaleatórias tipicamente exibem ''aleatoriedade estatística'' enquanto estão sendo geradas por um processo inteiramente [[Determinismo|determinístico]]. Tal processo é mais fácil de se produzir do que um genuinamente aleatório, e tem o benefício de poder ser utilizado vezes seguidas para produzir exatamente os mesmos números, o que é útil para teste e correção de [[Software|software]].<ref>[http://www.vivaolinux.com.br/artigo/Aleatoriedade-em-C/ Linux: Aleatoriedade em C [Artigo]]</ref>
 
Para gerar números verdadeiramente aleatórios é necessário o uso de sistemas medições de processos absolutamente não-determinísticos, e estas medições precisam ser precisas e possíveis de serem repetidas. [[Linux]] utiliza, por exemplo, vários medidores conhecidos como ''system timings'' (como entradas do teclado, [[Entrada/saída|E/S]], ou o dígito menos significativo de medições de voltagemtensão) para produzir uma pool de números aleatórios. Ele tenta constantemente reabastecer estaeste pool, dependendo do seu nível de importância, e, então emitirá um número aleatório. Este sistema é um exemplo, e funciona de maneira similar aquelesàqueles que utilizam um [[Gerador de número pseudoaleatório (hardware)|hardware gerador de número pseudoaleatório]].<ref>[https://pt.khanacademy.org/computing/cs/programming-natural-simulations/programming-randomness/a/normal-distribution-of-random-numbers Distribuição normalizada de números aleatórios]</ref><ref>[https://pt.khanacademy.org/computing/cs/programming-natural-simulations/programming-randomness/a/probability-non-uniform-distributions Probabilidade & distribuições não uniformes]</ref>
 
==História==
Linha 7:
A geração de números aleatórios tem muitos usos (em sua maioria em [[Estatística|estatística]], para [[Amostragem (estatística)|amostragem]] aleatória e [[Simulação|simulação]]). Antes da computação moderna, pesquisadores que precisavam de números aletórios os gerava através de vários meios ([[Dado|dado]], [[Jogos de cartas|cartas]], [[Roleta|roleta]], etc.), ou utilizavam as tabelas de números aleatórios existentes.
 
A primeira tentativa de prover para os pesquisadores um suplimentosuprimento pronto de dígitos aleatórios foi feita em 1927, quando a [[Cambridge University Press]] publicou uma tabela de 41.600 dígitos desenvolvida por Leonard H.C. Tippet. Em 1947, a [[RAND Corporation]] gerou números por meio de uma simulação eletrônica de uma roleta; os resultados foram eventualmente publicados em 1955 como ''[[A Million Random Digits with 100,000 Normal Deviates]]'' (Um milhão de dígitos aleatórios com 100.000 desvios normais).<ref>[http://limcserver.dee.ufcg.edu.br/metrologia_2011/imekotc4/89154.pdf GERADORES PSEUDO-ALEATÓRIOS: MEDIÇÃO DE ALEATORIEDADE]</ref>
 
[[John von Neumann]] foi um pioneiro dos geradores de números aleatórios baseados em computadores. Um contribuidor notável no campo da geração de números pseudoaleatórios para uso prático é um matemático paquistanês Dr. [[Arif Zaman]]. Em 1951, [[Derrick Henry Lehmer]] inventou o ''gerador linear congruente'', utilizado na maioria dos [[Gerador de números pseudoaleatórios|geradores de números pseudoaleatórios]] atuais. Com a disseminação do uso dos computadores, geradores de números pseudoaleatórios substituíram as tabelas numéricas, e "verdadeiros" geradores aleatórios ([[Gerador de número pseudoaleatório (hardware)|hardwares geradores de números pseudoaleatórios]]) são utilizados apenas em alguns casos.
 
==Quase aleatório==
Uma variável pseudoaleatória é uma variável que é criada por um procedimento determinístico (frequentemente um programa de computador ou uma subrotina) que (geralmente) recebe bits aleatórios como entrada. A cadeia pseudoaleatória irá, tipicamente, ser maior do que a cadeia aleatória original, porém menos aleatória (menor [[Entropia da informação|entropia]], no sentido aplicado na [[teoria da informação]]). Isto pode ser útil para algoritmos aleatórios.
 
[[Gerador de números pseudoaleatórios|Geradores de números pseudoaleatórios]] são amplamente utilizados em aplicações como modelagem computacional (e.g., [[Cadeias de Markov]]), estatística, design experimental, etc. AlgumAlguns deles são suficientemente aleatórios para serem úteis nestas aplicações; muitos não são, e uma sofisticação considerável é necessária para determinar corretamente a diferença para qualquer propósito em particular. O uso não-precavido de geradores de números pseudoaleatórios prontamente disponíveis tem causado danos consideráveis, e por muito tempo sustentados, no valor de um grande número de projetos de pesquisas por muitos anos. O gerador [[algoritmo RANDU]] disponível em muitos [[mainframe]]s por décadas possui erros consideráveis.<ref>[http://repositorio.uma.pt/handle/10400.13/68 Padrões de aleatoriedade na modelação do acaso]</ref>
 
==Pseudo-aleatoriedade em complexidade computacional==