Hola,
Lo que sigue es largo, pero si estás interesado, probablemente te interesará.
No , no hay pruebas de que tal función generadora no pueda existir.
+
No existe una fórmula para generar números primos (y, por lo tanto, no hay funciones
eso puede generarlos a todos ).
Una función generadora de números primos es algo que no está bien definido como alguien más dijo. Asumiré que te refieres a una función que te da todos los números primos … Esto sería equivalente a encontrar una manera de saber instantáneamente si un número es primo o no, y así es como entenderé a partir de ahora una función generadora para primo números (= una función que dice instantáneamente si un número es primo o no).
Tal función que dice instantáneamente si un número es primo o no no existe, y puede existir (aunque altamente improbable). Esto es lo que quiere decir mi primera oración.
Las computadoras no pueden saber instantáneamente si muchos números son primos o no (incluso si lo hacen instantáneamente en números relativamente pequeños … otro tema aquí), y en nuestro mundo, es muy importante que sea así. Este tema requeriría otra pregunta más específica también.
Si está interesado, la razón por la cual es tan importante que no exista una función generadora de números primos se detalla brevemente en lo que sigue (suponiendo que no lo sepa, pero luego otros querrán leer …).
No sé cuál es su conocimiento en matemáticas, pero este tema de los números primos es especialmente sensible. Si se encontrara una función generadora, en cierto sentido, si bien es un gran paso para las matemáticas en general, sería catastrófico .
¿Por qué sería catastrófico? Simplemente porque hoy en día, el único sistema realmente confiable para codificar mensajes utiliza el hecho preciso de que tal función generadora no existe.
Por ejemplo, todos los datos bancarios, por ejemplo, están codificados con el llamado sistema RSA (que utiliza números primos). Concretamente, la razón por la que es relativamente seguro comprar cosas en Internet con tarjeta azul, etc., se basa en este sistema RSA. De hecho, todo lo que debería codificarse en nuestro mundo utiliza la no existencia de una función generadora de números primos a través de este sistema RSA (que es ampliamente utilizado, si no se usa exclusivamente, cuando es importante que los mensajes codificados no sean decodificados por personas equivocadas).
RSA son las iniciales de los tres tipos que inventaron el sistema.
Si desea saber cómo funciona este sistema RSA, es otro tema, pero esta es la idea principal, ya que es muy bueno.
Con las computadoras, hoy, si se te ocurre un código, existe una alta probabilidad de que sea destruido a través de la inmensa potencia de cálculo de la máquina. El sistema RSA se asegura de que una computadora no pueda ayudar (y si no puede, ¿quién lo hará?).
Con RSA, además del mensaje, envía un número, llamémoslo c, que es el producto de otros dos números primos huuuuuuge, llamaremos ay b. Entonces c = a * b. (a * b es cómo c se factoriza como producto de números primos).
Si A es la persona que quiere enviar mensajes a la persona B, sin entrar en detalles, B conoce un número especial al que llamaremos d. d es secreto , A lo eligió por B.
Solo B, conoce el número d. Si A quiere enviar mensajes a otra persona, a la persona C, le da a C otro número d ‘…
La primera parte de la belleza del sistema es que su mensaje codificado y este número c son información pública , todos tienen acceso a ellos (no teman ver su mensaje interceptado y analizado por algún extraño, todo es público).
Ahora, el segundo efecto de belleza es que el procedimiento para decodificar el mensaje también es público (no hay bromas aquí). En otras palabras, todos conocen el mensaje codificado, el número c y lo que uno tiene que hacer para decodificar el mensaje y, sin embargo, solo la persona elegida podrá decodificar el mensaje. La perfección misma …
Para decodificar, tienes dos opciones:
1) sabes el número d, y sucede instantáneamente con una computadora (realmente al instante).
2) O logras encontrar a y b de c. Pero aquí está la clave del sistema. Debido a que a y b se eligen lo más cerca posible de los límites de la máquina, la computadora no podrá factorizar c, es decir, encontrar a y b. Si la computadora logra encontrar ayb, si, entonces tomará años (las edades aquí son años …). Esto solo sucederá porque ayb no son lo suficientemente grandes.
Si alguien encuentra una función generadora de números primos, entonces las computadoras probablemente lograrán encontrar ayb de cualquier manera demasiado rápida. En primer lugar, significaría el fin del sistema RSA, pero si el hombre que lo encuentra es un delincuente, podrá descifrar todos los datos bancarios y esto será nada menos que pánico …
Existe un registro del mayor número c factorizado, y es mucho más pequeño que los números primos más grandes conocidos.
Debido a que no existe una función generadora de números primos (todavía, y con suerte), existe el concepto de “el número primo más grande conocido”.
Como habrás adivinado, tales números cuestan cientos de miles de dalares. Encontrar esos números es lo que hacen las “compañías RSA”, comprar esos números es lo que hacen los bancos.
Por lo tanto, no se conoce una función generadora de números primos hasta el momento, no hay pruebas de que no se pueda encontrar dicha función, encontrar números primos grandes es realmente difícil (lleva años, pero es mucho más rápido encontrarlos que factorizar el número ac) y esa es básicamente la clave), y es de suma importancia que si algún día alguien encuentra esa función, no es un delincuente (un investigador universitario, por ejemplo …) porque podría causar problemas reales.
Largo, pero espero que haya ayudado.
Tuya,
GW.
Alguien cometió un error en otra publicación aquí sobre la generación de funciones para números primos: reproduzco mi comentario en su publicación aquí para aquellos interesados:
Casi todos los programas tienen una función llamada (next_prime) (o algo así) que dado un número devuelve el siguiente número primo. U otra función le da el enésimo número primo …
Pero estos no están generando números primos porque funcionan solo bajo ciertos límites .
La forma en que funcionan estas funciones es que se refieren a una base de tabla en la que se enumeran los números primos conocidos (por un programa en particular).
(O, algunas fórmulas dan un cierto número de números primos, pero no todos, pero no voy a entrar en esto …).
Si le pregunta a un programa un número que está por encima del límite, no tendrá ninguna respuesta …
Si se pregunta cómo podrían venir los programas simples con tan enormes bases de tablas almacenadas … estas bases de tablas no tienen que ser utilizadas para que un teorema indique que dado un número n (un gran n …), hay aproximadamente ln (n) números primos entre 1 yn, y si planeabas poner números primos en una tabla, no podrías soñar con nada mejor …
No hay función generadora para números primos.
Quizás la prueba más convincente sería que los bancos pagan miles de miles de dólares para tener números primos cada vez mayores (porque no es fácil encontrarlos), y no lo harían si no lo hicieran también …
Espero que haya ayudado
GW