58 votos

¿Es pi un buen generador de números aleatorios?

Parte de lo que hago es estudiar el comportamiento típico de las grandes estructuras combinatorias observando instancias pseudoaleatorias. Pero muchos generadores de números pseudoaleatorios disponibles en el mercado tienen defectos conocidos, lo que me lleva a preguntarme si debería utilizar simplemente los dígitos (o bits) de $\pi$ .

Un colega mío dice que "leyó en alguna parte" que los dígitos de $\pi$ no son un buen generador de números aleatorios. Quizás esté pensando en el artículo "Un estudio sobre la aleatoriedad de los dígitos de $\pi$ "por Shu-Ju Tu y Ephraim Fischbach. ¿Alguien conoce este artículo? Algunos de los medios de comunicación que ha recibido (véase, por ejemplo http://news.uns.purdue.edu/html4ever/2005/050426.Fischbach.pi.html ) lo hizo sonar como $\pi$ no era una buena fuente de aleatoriedad, pero el resumen del propio artículo (ver http://adsabs.harvard.edu/abs/2005IJMPC..16..281T ) sugiere lo contrario.

¿Alguien sabe de problemas con el uso de $\pi$ de esta manera? Por supuesto, si se utilizan los dígitos de $\pi$ debes tener cuidado de no reutilizar dígitos que ya hayas usado en otra parte de tu experimento.

Mi opinión es que hay que utilizar los dígitos de $\pi$ para las simulaciones de Monte Carlo. Si utilizas un RNG comercial y te lleva a publicar conclusiones falsas, has perdido el tiempo y has engañado a tus colegas. Si utiliza $\pi$ y te lleva a publicar conclusiones falsas, igual has perdido el tiempo y has engañado a tus colegas, pero también has encontrado un patrón en los dígitos de $\pi$ ¡!

4 votos

5 votos

¿Existen realmente ejemplos en los que los RNG comerciales hayan llevado a conclusiones falsas en un artículo publicado?

1 votos

Lo dudo. Personalmente, estoy mucho más contento de creer en una prueba publicada (en la que no puedo encontrar un error) que en el resultado de una especie de RNG construido a mano en el mundo real.

56voto

Dean Hill Puntos 2006

Estrictamente hablando, hay algunos patrones conocidos en los dígitos de $\pi$ . Hay algunos resultados conocidos sobre lo bien que $\pi$ pueden ser aproximados por los racionales, lo que implica (por ejemplo) que sabemos a priori que el próximo $n$ dígitos aún no calculados de $\pi$ no pueden ser todos cero (para algún valor explícito de $n$ que me da pereza calcular ahora mismo). En la práctica, sin embargo, estos "patrones" son tan débiles que no afectarán a ningún experimento de Monte Carlo.

La principal limitación de utilizar los dígitos de $\pi$ puede ser la velocidad de cálculo. Dependiendo de la cantidad de dígitos aleatorios que necesites, el cálculo de dígitos frescos de $\pi$ puede convertirse en un cuello de botella computacional. Cuanto más se aleje, más difícil será computar más dígitos de $\pi$ .

Si le preocupa la calidad de los dígitos aleatorios que está obteniendo, puede utilizar criptográfico generadores de números aleatorios. Por ejemplo, encontrar un patrón en el generador de números aleatorios Blum-Blum-Shub probablemente daría lugar a un nuevo algoritmo para factorizar números enteros grandes. Los generadores de números aleatorios criptográficos funcionarán más lentamente que los generadores de números aleatorios "comerciales" de los que hablas, pero seguro que puedes encontrar algunos que generen dígitos más rápido que los algoritmos para calcular $\pi$ lo hará.

4 votos

Recientemente he revisado la bibliografía y parece que me he equivocado ligeramente al hablar de un "valor explícito de $n$ ". Salikhov demostró que la medida de irracionalidad de $\pi$ es menor que $8$ lo que implica, por ejemplo, que existe $n_0$ tal que para todo $n>n_0$ El $n$ a través de la $8n$ ón de los bits de $\pi$ no pueden ser todos cero, pero por lo que he podido comprobar, no existe un límite superior efectivo para el tamaño de $n_0$ .

0 votos

¿Es realmente más difícil calcular los dígitos adicionales de pi incluso cuando se utiliza el algoritmo de la espiga basado en la fórmula Bailey-Borwein-Plouffe?

1 votos

@JohnEye : Sí. Si quieres el $n$ dígito de $\pi$ entonces la complejidad del algoritmo de la espiga aumenta casi linealmente con $n$ . No es necesario almacenar los dígitos anteriores ni aumentar la precisión de los cálculos, pero la cantidad de trabajo necesaria para calcular el $n$ aumenta a medida que $n$ se hace más grande.

27voto

Eric Puntos 246

También es relevante la fórmula Bailey-Borwein-Plouffe

$$ \pi = \sum_{i=0}^{\infty} \frac1{16^i}\left( \frac{4}{8i+1}-\frac{2}{8i+4}-\frac{1}{8i+5}-\frac{1}{8i+6}\right),$$

lo que indica una cierta previsibilidad en los dígitos de base-16 de $\pi$ .

0 votos

Ver el comentario de Steve.

2 votos

Pero +1 de todos modos porque creo que esta fórmula es realmente genial.

20 votos

Me gustaría que la gente no publicara enlaces desnudos. Rara vez los sigo.

21voto

Flow Puntos 14132

En un sentido técnico, no. Un buen generador de números pseudoaleatorios sería aquel que se puede conectar a cualquier algoritmo aleatorio y esperar ver el mismo comportamiento que tendría un generador de números aleatorios real. Una forma de hacer una definición técnica de esto es decir que el generador de números pseudoaleatorios no puede distinguirse del verdaderamente aleatorio (con probabilidad acotada lejos de 1/2) por cualquier prueba de tiempo polinómico.

Pero los dígitos de π pueden distinguirse claramente del azar mediante una prueba de tiempo polinómico, es decir, una prueba que calcule los dígitos de π y los compare con su supuesta secuencia aleatoria.

Por la misma razón, ninguna secuencia totalmente determinista puede ser una buena secuencia aleatoria. En su lugar, para ajustarse a esta definición, es necesario utilizar un generador de números pseudoaleatorios que tome algún número n de bits verdaderamente aleatorios como semilla de entrada y genere a partir de ellos una secuencia más larga (polinómica en n) de bits pseudoaleatorios que no pueda distinguirse del azar mediante un algoritmo de tiempo polinómico.

2 votos

Sí, ¡toda esta entropía debe venir de alguna parte! Al revés, fue un gran problema con la decodificación ENIGMA.

8voto

Aissen Puntos 131

Creo que depende de su aplicación.

Yo diría que no si estás usando los números aleatorios para generar claves criptográficas, entonces te abres inmediatamente a los ataques, porque el atacante puede probablemente imitar tu generador de números aleatorios, y así añades un eslabón débil en la cadena.

1 votos

Estoy de acuerdo. Si quieres hacer un experimento de Monte Carlo, $\pi$ puede funcionar, aunque probablemente será más lento que, por ejemplo, el Mersenne Twister. Si quieres hacer criptografía, es una muy mala idea.

7voto

Robby McKilliam Puntos 676

Se sabe que $\pi$ no equidistribuye muy bien . No estoy seguro de lo que esto dice (si es que dice algo) sobre la "aleatoriedad" de sus dígitos, pero podría sugerir el uso de la proporción áurea o la constante de Euler-Mascheroni sobre $\pi$ .

0 votos

... o $\ln 2:$ hay un algoritmo de espiga fácil para ello

1 votos

Mmm me pregunto si hay una relación entre ease' of spigot algorithm and ¿"Bondad" de la equidistribución?

0 votos

¿Existen resultados cuantitativos rigurosos que digan que $\pi$ ¿equidistribuye "lentamente"? o sólo numéricamente?

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X