7 votos

La generación de números aleatorios con la distribución de los números primos

Me gustaría generar números aleatorios cuya distribución se imita a la de los números primos. Por lo que el número de genera números aleatorios menos de $n$ debe crecer como $n / \log n$, la mayoría de los intervalos de $[n,n+n^\epsilon]$ debe contener aproximadamente $n^\epsilon / \log n$ los números que se generan (Selberg de intervalos cortos de tiempo), etc. ¿Alguien sabe de un computacionalmente factible método para la generación de este tipo de "mirar-uno-como el de los números primos"?

Addendum. He implementado Henry y Xoff sugerencias. Aquí hay varias instancias de los diez primeros "pseudoprimes": $$ 4, 5, 9, 10, 17, 23, 27, 28, 31, 44 $$ $$ 7, 8, 9, 10, 12, 15, 18, 19, 27, 34 $$ $$ 6, 11, 15, 16, 23, 26, 27, 29, 45, 49 $$ Y aquí está la distribución acumulativa pseudoprimes a a $10^6$ (rojo), junto con una parcela de $n / \log n$ (púrpura), para una ejecución aleatorio:
         Cumulative distribution

4voto

Old John Puntos 16308

No estoy seguro si esto se ajusta a la ley, pero ¿y el siguiente proceso.

Desde la (normal) de los números primos pueden ser generados por un tamiz (colador a cabo todos los múltiplos de 2, luego 3, luego 5, etc.), cómo sobre el uso de un similar proceso de tamizado, pero elegir un desplazamiento aleatorio para cada carrera a través del proceso de tamizado?

Por ejemplo, el primer cedazo cada segundo número de partida al azar con 1 o 2.

Luego tamiz de todos los múltiplos de 3 de partida al azar en 1, 2 o 3.

Repita hasta llegar a la raíz cuadrada del límite que desee ir.

Dado que el estándar de la criba de Eratóstenes es bastante rápido cuando se pone en marcha, este podría ser un buen proceso si desea una razonable del tamaño de bloque de "primos".

3voto

Nikolai Prokoschenko Puntos 2507

Se podría generar números aleatorios $U_2,U_3,U_4,\ldots$ de forma independiente y de manera uniforme en $[0,1]$ e incluyen $n$ en su conjunto aleatorio si $U_n \lt \dfrac{1}{\log_e n} - \dfrac{1}{2(\log_e n)^2}$ o alguna expresión similar.

1voto

David Puntos 6

El número 1 es, en su conjunto, a continuación, número $n$ es en su conjunto con una probabilidad de $\frac{1}{\log(n)}$.

Así, para cada número, se utiliza una variable aleatoria uniforme $X$ $[0;1]$ y prueba si $X<\frac{1}{\log(n)}$.

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