Hasta donde yo sé, la mayoría de las implementaciones de generación de números pseudoaleatorios en la práctica utilizan métodos como los registros de retroalimentación de desplazamiento lineal (LSFR) o estos algoritmos "Mersenne Twister". Si bien pasan muchas pruebas estadísticas (heurísticas), no hay garantías teóricas de que parezcan pseudoaleatorias para, por ejemplo, todas las pruebas estadísticas computables de manera eficiente. Sin embargo, estos métodos se usan indiscriminadamente en todo tipo de aplicaciones, desde protocolos criptográficos hasta computación científica y banca (probablemente). Me parece un poco preocupante que tengamos poca o ninguna garantía sobre si estas aplicaciones funcionan según lo previsto (porque cualquier tipo de análisis probablemente habría asumido una aleatoriedad verdadera como entrada).
Por otro lado, la teoría de la complejidad y la criptografía proporcionan una teoría muy rica de pseudoaleatoriedad, e incluso tenemos construcciones candidatas de generadores pseudoaleatorios que engañarían CUALQUIER prueba estadística eficiente que se te ocurra, utilizando funciones candidatas de una vía.
Mi pregunta es: ¿esta teoría ha llegado a la práctica? Espero que para usos importantes de la aleatoriedad, como la criptografía o la computación científica, se utilicen PRG teóricamente sólidos.
Por otro lado, pude encontrar un análisis limitado de qué tan bien funcionan los algoritmos populares, como el método de clasificación rápida, cuando se usan LSFR como fuente de aleatoriedad, y aparentemente funcionan bien. Ver "Algoritmos aleatorios y números pseudoaleatorios" de Karloff y Raghavan .