Até onde eu sei, a maioria das implementações de geração de números pseudo-aleatórios na prática usa métodos como registradores de feedback de deslocamento linear (LSFRs), ou esses algoritmos "Mersenne Twister". Embora eles passem em muitos testes estatísticos (heurísticos), não há garantias teóricas de que pareçam pseudo-aleatórios para, digamos, todos os testes estatísticos computáveis com eficiência. No entanto, esses métodos são usados indiscriminadamente em todos os tipos de aplicativos, desde protocolos criptográficos até computação científica e bancos (provavelmente). Acho um tanto preocupante que tenhamos pouca ou nenhuma garantia sobre se esses aplicativos funcionam como pretendido (porque qualquer tipo de análise provavelmente teria assumido a aleatoriedade verdadeira como entrada).
Por outro lado, a teoria da complexidade e a criptografia fornecem uma teoria muito rica da pseudo-aleatoriedade, e até temos construções candidatas a geradores pseudo-aleatórios que enganariam QUALQUER teste estatístico eficiente que você pudesse criar, usando funções unidirecionais candidatas.
Minha pergunta é: essa teoria entrou em prática? Eu espero que, para usos importantes da aleatoriedade, como criptografia ou computação científica, sejam utilizados teoricamente PRGs sólidos.
Como um aparte, pude encontrar algumas análises limitadas de quão bem os algoritmos populares, como o quicksort, funcionam ao usar LSFRs como fonte de aleatoriedade, e aparentemente eles funcionam bem. Veja "Algoritmos aleatórios e números pseudo-aleatórios" de Karloff e Raghavan .