¿Puede Merlín convencer a Arthur sobre una cierta suma?

11

Merlín, que tiene recursos computacionales ilimitados, quiere convencer a Arthur de que

m|pN, p primepk
para (N,m,k) con k=O(logN) y m=O(N). Calcular esta suma de forma directa (exponenciación modular y suma) lleva tiempo N(loglogN)2+o(1) con multiplicación basada en FFT. * Pero Arthur solo puede realizaroperacionesO(N).

(Notación, para compatibilidad con versiones anteriores de esta pregunta: dejemos que la suma sea igual a mα ; entonces la pregunta es si α es un número entero).

¿Puede Merlín convencer a Arthur con una cuerda de longitud O(N) ? Si no, ¿puede convencer a Arthur con una prueba interactiva (la comunicación total, por supuesto, debe ser O(N) )? Si es así, ¿podría Merlín usar una cadena de longitud o(N) ? ¿Podría Arthur usar el tiempo o(N) ?

Arthur no tiene acceso al no determinismo ni a otras herramientas especiales (métodos cuánticos, oráculos que no sean Merlín, etc.) pero tiene espacio O(N) si es necesario. Por supuesto, Arthur no necesita calcular la suma directamente, simplemente necesita estar convencido de que un triple dado (N, m, k) hace que la ecuación sea verdadera o falsa.

Tenga en cuenta que con k=0 , es posible calcular la suma en el tiempo O(N1/2+ε) usando el Lagarias-Odlyzko método. Para k>0 la suma es superlineal y, por lo tanto, no se puede almacenar directamente (sin, por ejemplo, reducción modular), pero no está claro si existe un algoritmo rápido.

También estaría interesado en cualquier algoritmo para calcular la suma (modular o de otro tipo) que no sea mediante alimentación directa y adición.

* números para calcular, tiempo lg k log N ( log log N ) 1 + o ( 1 ) = log N ( log log N ) 2 + o ( 1 ) para cada cálculo.N/logNlgklogN(loglogN)1+o(1)=logN(loglogN)2+o(1)

Charles
fuente
1
Post relacionados en Math.SE .
Hsien-Chih Chang 張顯 之
1
Sí, relacionado. La diferencia clave es que la pregunta de matemáticas. SE supone que Merlín tiene cero recursos computacionales y este supone que tiene recursos ilimitados.
Charles
3
¿Qué pasa con el tiempo necesario para la prueba de primalidad?
Peter Shor
1
@ Charles: No veo eso escala para contar primos. ¿Puedes expandirlo? Pensé que requería una escala superlineal. El tamiz de Eratóstenes da unalgoritmoO(N2). NO(N2)
Joe Fitzsimons
1
El algoritmo se debe a Lagarias y Odlyzko. Se describe, por ejemplo, dtc.umn.edu/~odlyzko/doc/arch/analytic.pi.of.x.pdf (Y no es pero ˜ O (O(N))O~(N).
Charles

Respuestas:

7

Estoy publicando esto por separado de mi caso especial anterior, porque creo que es un enfoque diferente del problema y tiene poca relación con mi otra respuesta. Puede que no sea exactamente lo que está buscando, pero es simple y se acerca.

1(loglogN)2+o(1)(pi,ci=pik mod m)pNO(N/log(N))×O(log(N))=O(N)π(N)NSNppikci mod mSN O((loglogN)2+o(1))S=(loglogN)(2+o(1))Sπ(N)SS

N1m=1O(N)

Joe Fitzsimons
fuente
Si publicar dos respuestas es una mala práctica, avíseme y las fusionaré. Los dejé separados ya que este último acaba de llegar a mí y es una opinión completamente diferente en comparación con la primera respuesta.
Joe Fitzsimons
1
bien por mi. especialmente en las preguntas de CW es común tener múltiples respuestas.
Suresh Venkat
@Suresh: Sí, lo sé, pero esto no es CW, y no quiero parecer una prostituta.
Joe Fitzsimons
2
Θ(N)Θ(N)
1
@ JoeFitzsimons: está bien :). si ambas respuestas merecen representante obtendrás el doble de puntos :)
Suresh Venkat
6

Esta es una respuesta completa al problema que no usa Merlín en absoluto.

xlk,O(x2/3/log2x).O(x1/2+o(1)).

m.q,k

p primepNpk(modq).

Use el Teorema del resto chino para determinar el valor de la suma mod23logm.

Por el teorema del número primo, el primo más grande necesario es por lo que esto da la suma en el tiempo(1+o(1))logm,O(N1/2+o(1)).

Referencias

[1] Marc Deléglise, Pierre Dusart y Xavier-François Roblot, Cuenta primos en clases de residuos , Matemáticas de la computación 73 : 247 (2004), págs. 1565-1575. doi 10.1.1.100.779

[2] JC Lagarias y AM Odlyzko, Computing : An analytic methodπ(x) , Journal of Algorithms 8 (1987), págs. 173-191.

[3] Charles, responde en MathOverflow . (Sí, esta es la misma persona. Vea las otras respuestas allí para conocer diferentes enfoques).

Charles
fuente
5

Esta no es una respuesta completa, sino más bien un caso especial (para un valor mayor de de lo que consideras), que originalmente había publicado como un comentario. En el caso de que (para algún entero ) hay una prueba simple y la cadena de Merlín puede ser de longitud cero.kk=xϕ(m)x

Para hacer esto, Arthur simplemente calcula . Esto se puede hacer factorizando (que se puede hacer en tiempo sublineal en incluso usando la división de prueba). Dado que para todos los , y contrario, si entonces tenemos , donde es el número de divisores primos de . Como se señaló en la sección de comentarios, se puede calcular en tiempo sublineal enϕ(m)mNpxϕ(m)0 mod mp|mpxϕ(m)1 mod mk=xϕ(m)pN,p primepkπ(N)y mod mymπ(N)N, y por lo tanto, Arthur puede calcular esta suma directamente.

m α1<N<mmα1<π(N)<m

Joe Fitzsimons
fuente