10 votos

Encontrar una breve expresión de un determinado entero grande

Dar una sola gran número de $N$, y un pequeño conjunto de operaciones y funciones (en mi caso por lo general, +, -, *, ^, $V(p,q,n),$ el enésimo término de Lucas secuencia generada por $p$$q$), hay una forma inteligente de encontrar un muy corto expresión para $N$ el uso de estas operaciones/funciones más pequeños enteros? Si es así, me gustaría saber esto, de forma inteligente; si no, me gustaría tener una idea de cómo sabemos que no la hay.

Nota: En mi aplicación a corto significa menos de 72 caracteres, pero mi pregunta es más general, corto, así que podría estar en el orden de $\,\log \log N$ personajes. Obviamente no podemos escribir todo con 72 caracteres, pero, ¿qué acerca de un determinado $N$? Podemos saber?

Ejemplo sencillo: dado el primer 92709463146717245465044514107163, se puede elegir el corto expresión $3^{67}-2^{70}$.

Motivación: tengo un sitio web que enumera el más grande que se conoce de los números primos. Hoy en día, para hacer la lista de la parte superior de 5000 un primer debe tener 223,656 dígitos. La mayoría de estos números primos tienen formas muy específicas, con mayor frecuencia $a\cdot b^n\pm1$, pero a veces algo con más carácter, como el primer $$2^{810655} + 2 V(1, 2, 810653) + 1$$ (244032 digits), or the prime $$(121227 \cdot 2^{384976} + 3)^2 + 24398127601 \cdot 2^{384962}$$ (231,789 dígitos). En ocasiones la gente se intencionada (o accidental) obtuso, y trata de enviar los dígitos en lugar de un simple formulario. Por lo general, puede encontrar un formulario simple, jugando con la adormece un poco de Arce. Otra vez un matemático presentó lo que afirma (en el momento) fue "la más grande que se conoce con el primer ningún formulario especial", una afirmación que yo no sé cómo comprobar, sin embargo, aún me preguntaba: ¿puedo acortar esta expresión lo suficiente como para caber en una lista que sólo permite un 100 caracteres?

Un par de docenas de nuevas grandes números primos se presentan cada día, así que he tratado de automatizar la mayoría de las cosas. Así que me pregunto, ¿puede la tarea señalado anteriormente automatizado (o al menos ser acelerado con matemática insight)? Afortunadamente la gente rara vez se esta obtusa y, a menudo, acaba de amenazar con eliminar su primer menudo es suficiente para ellos para darme una mejor forma, pero a veces ellos no saben de uno (por ejemplo, un ECPP primer registro que hace la lista de los 20 más grandes conocidos (como se ha demostrado de esta manera), aunque estos registros son sólo acerca de 10k dígitos).

Pero más que la cuestión práctica, sólo estoy interesado en la pregunta: ¿podemos saber si hay una forma corta (utilizando especificado de operaciones/funciones/enteros pequeños) existe? (Lo que podría ser la más corta que se puede esperar?)

Una Programación de la pregunta? Tal vez, pero sin duda un buen programa sería guiada por algunos de los principios matemáticos. Debe haber algo mejor que mi habitual método de fuerza bruta usando un algoritmo voraz (por ejemplo, restando grande términos de la forma $a\cdot b^n$ y, a continuación, la iteración).

Tal vez solo necesito ayuda en el fraseo de la pregunta como seguramente alguien ha preguntado esto, yo no podía encontrarlo. Me disculpo de antemano si me he perdido una obvia referencia o enlace.

5voto

Mike Puntos 1113

Lo que estamos pidiendo es una variante de la pregunta de " ¿cuál es la más simple (la más corta) descripción de este número?', un problema que se sabe para ser uncomputable en general; las palabras mágicas para aprender más acerca de esto son los 'test de Kolmogorov Complejidad" (y, en particular, en recursos delimitada de la complejidad de Kolmogorov'). En muchos sentidos es una especie de descifrado problema (y para los números primos encontrados con ECPP certificados es posible incluso que , literalmente, ser descifrado problema), así que no debería ser ninguna sorpresa que es difícil en general.

Para su aplicación en particular yo creo que ya has golpeado el mejor corto-cortes con su algoritmo de fuerza bruta; una variante particular en la que me gustaría considerar el uso sería para expresar el número en diferentes bases (todos los $b\lt256$ o así, tal vez) y mirar para carreras largas de base-$b$ dígitos, ya que esto puede ayudar levante términos de la forma$a\cdot b^n$$a\cdot(b^n-1)$, incluso para valores relativamente grandes de $a$ (por ejemplo, si alguien descubre que $2^{513273}\cdot L(1,3,159431)+1$ es primo). También debe estar basado en celosía algoritmos para descubrir si un gran número es de la forma $L(a,b,n)$ pequeña $a$$b$, ya que los términos de las secuencias será muy (anormal) cerca de simple múltiplos de potencias de $\phi$; técnicas similares a las que podría trabajar para encontrar a los miembros de otras lineal de relaciones de recurrencia (es decir, $r_n = ar_{n-1}+br_{n-2}$), y el mejor punto de partida para conocer más acerca de estas técnicas sería tener un vistazo a la liga de la leche (Lenstra-Lenstra-Lovász) algoritmo.

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