Disclaimer : non sono un esperto di teoria dei numeri.
Risposta breve : se sei disposto ad assumere "congetture teoriche numeriche ragionevoli", allora possiamo dire se c'è un numero primo nell'intervallo nel tempo p o l y l o g ( n ) . Se non siete disposti a fare una tale ipotesi, poi c'è un bel algoritmo a causa di Odlyzko che raggiunge n 1 / 2 + o ( 1 )[n,n+Δ]polylog(n)n1/2+o(1) , e credo che questo è il più noto.
Link molto utile con molte informazioni utili su un problema strettamente correlato : progetto PolyMath su algoritmi deterministici per la ricerca di numeri primi .
Risposta lunga :
Questo è un problema difficile, un'area attiva di ricerca, e sembra essere intimamente connesso alla difficile questione di colmare le lacune tra i numeri primi. Il tuo problema è moralmente molto simile al problema di trovare deterministicamente un numero primo tra e 2 n , che recentemente è stato oggetto di un progetto PolyMath . (Se vuoi davvero approfondire queste domande, quel link è un ottimo punto di partenza.) In particolare, i nostri migliori algoritmi per entrambi i problemi sono essenzialmente gli stessi.n2n
In entrambi i casi, l'algoritmo migliore dipende fortemente dalla dimensione degli spazi tra i primi. In particolare, se è tale che c'è sempre un numero primo tra n e n + f ( n ) (e f ( n ) può essere calcolato in modo efficiente), allora possiamo sempre trovare un numero primo nel tempo p o l y l o g ( n ) ⋅ f ( n ) come segue. Per determinare se esiste un numero primo tra n e Δf(n)nn+f(n)f(n)polylog(n)⋅f(n)nn+Δ, verificare innanzitutto se . In tal caso, emettere sì. Altrimenti, basta scorrere gli interi tra n e n + Δ e testare ciascuno per primalità e rispondere sì se trovi un numero primo e no altrimenti. (Questo può essere fatto in modo deterministico, motivo per cui trovare in modo deterministico un numero primo tra n e 2 nΔ ≥ f( n )nn + Δn2 n è così strettamente correlato alla determinazione se esiste un numero primo in un determinato intervallo.)
Se i numeri primi si comportano come pensiamo fanno, allora questo è il fine della storia (fino a fattori). In particolare, ci aspettiamo di essere in grado di prendere f ( n ) = O ( log 2 n ) . Questa è conosciuta come la congettura di Cramér dopo Harald Cramér, e dimostrando che al momento sembra molto fuori portata. Ma, per quanto ne so, è ampiamente creduto. (Si arriva a questa congettura, ad esempio, dall'euristico che i numeri primi si comportano come l'insieme casuale di numeri interi ottenuti includendo ciascun numero intero n ≥ 3p o l y l o g (n)f( n ) = O ( log2n )n ≥ 3indipendentemente a caso con probabilità 1 / logn .)
Esistono molte congetture che implicano il limite molto più debole , comela congettura di Legendre. (Non sono a conoscenza di congetture che sono note per implicare un limite intermedio, anche se immagino che esistano.) E, l'ipotesi di Riemann è nota per implicare il limite similef(n)≤O(f(n)≤O(n−−√). Quindi, se assumi queste congetture, fondamentalmente abbini l'algoritmo di Odlyzko (con un fattoren o ( 1 )f(n)≤O(n−−√logn)no(1) ) con un algoritmo molto più semplice.
Credo che il miglior limite incondizionato in questo momento sia causa di Baker, Harman e Pintz . Quindi, se si assume nulla, quindi l'algoritmo di Odlyzko batte l'algoritmo ovvio di circa un fattore di n 0.025 .O˜(n0.525)n0.025