Foros de matemática
22/05/2017, 08:10:21 pm *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias: Renovado el procedimiento de inserción de archivos GEOGEBRA en los mensajes.
 
 
Páginas: 1 [2]   Ir Abajo
  Imprimir  
Autor Tema: Anatomía-III de los Números Primos. Métodos de Primalidad Estructural.  (Leído 2067 veces)
0 Usuarios y 1 Visitante están viendo este tema.
Víctor Luis
Pleno*
*****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Bolivia Bolivia

Mensajes: 922


Ver Perfil
« Respuesta #20 : 14/02/2017, 10:38:32 am »

Buenas Tardes Feriva…


Cita
“Al haber mogollones de números donde sirve encontrar cualquiera de ellos, la probabilidad de encontrarlo aumenta una brutalidad. Si tú buscas uno de los primos, factorizando números, buscando un sólo “punto de factorización” como tú dices, sólo hay dos números posibles entre los más que “llones” de mogollones de mogollones... de etc., números posibles; mientras que yo cuento con muchos “llones” que me sirven, cualquiera de ellos.”

• Disculpa que te contradiga; pero no es así la factorización estructural, simplemente buscamos en el compuesto semiprimo, el “Punto de Factorización” donde determinamos a los dos divisores primos, de los trigocentillones de primos que hubieran, que nos nos interesa evaluar el compuesto, siquiera con alguno de estos primos, no empleamos en la factorización ningún primo, tan solo trabajamos con la estructura del compuesto.
→ He desempolvado algunos desarrollos que hice con esta metodología, ya que lo dejé, para dedicarme primero a la “Primalidad Estructural” cosa que ya lo tengo muy avanzado, teniendo ya mas a punto la PEN (Primalidad Estructural de Naturales) con la modalidad de calculo que logré y con esta misma, a punto, la PEM (Primalidad Estructural para Mersennes) metodología envidiable por GIMPS por ser recontra menos compleja que la de Lucas Lehemer e igualmente determinista y a su par, la PRIM_PQ (Primalidad Inversa-Factorización para Mersenne con P y Q) un tanto algo tan solo mas compleja que la anterior y de igual manera recontra menos compleja e igual de determinista que la que emplea GIMPS y en esto no hay marcha atrás, las comprobaciones lo respaldan, faltando tan solo su demostración matemática, para agregar el “Enfoque Estructural” a los anales de la literatura matemática, en el campo de Teoría de Números.

• Como te decía, tomé uno de los desarrollos y lo modifiqué para que exportara una lista de compuestos semiprimos de 21 digitos, los cuales la metodología de factorización estructural, los factoriza todos en menos de 5 minutos, siendo que estamos con Python y al hacer esto, Mathematica trabajaba en otro desarrollo, lo que para mi ordenador, es mucho costo de memoria y es mejor así, ya que es el peor tiempo de proceso en la factorización de estos compuestos semiprimos, que te propongo los factorices aplicando tu metodología, esto…, antes de adentrarnos a la factorización de RSA-230, donde para retomar este tema dejado como pendiente, no así olvidado ni evadido, yo parto desde la factorización de compuestos semiprimos de 21 digitos, que es simple.
→ Por otro lado, te pido que me des otra lista de compuestos semiprimos de 21 digitos, para que los factorice y asi comparamos apreciaciones metodológicas… te parece?


Código:
* LISTA de COMPUESTOS...........
107518667490801992197
116466601806352926833
119071224966964267409
123724635033981656083
149361117328742822207
153559571381528065489
155628857420459155921
172417648055889708761
301574431590158050193
309464284114236460081
313613992908761422729
325157050067484197267
335885843083510439429
340879279650530164867
351113326532609227481
362580536544987169663
500501629045554043837
507430477208052937529
558800552608927642843
568522661725218714901
570724719973973955347
572805697296924467659
584164126892159992793
587829406605040301231



Saludos Cordiales…
En línea
feriva
Pleno*
*****

Karma: +1/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 6.269



Ver Perfil
« Respuesta #21 : 14/02/2017, 12:57:04 pm »


Buenas tardes, Víctor Luis.

Mi método unas veces no tarda nada y otras no encuentra lo busca o tarda demasiado; piensa que con los RSA hay que jugar un poco a la probabilidad, probar muchos programas y recorrer intervalos intuitivamente, ésa ha sido mi idea, no la de factorizar números sistemáticamente, sino factorizar en concreto uno.

No obstante, probando, con algunos de los que pones he dado deprisa:



107518667490801992197:
 5067118747
,   21218896351

153559571381528065489:
  5936424217
,  25867351417

301574431590158050193:
 35298935369
, 8543442697



Probaré a hacer un programa, con esta misma idea, pero para factorizar números de unas veinte cifras más sistemáticamente; añadiré el time, si veo que merece la pena, que no lo uso nunca, para que veas los tiempos. Pero ya te digo que tendría que probar cosas, hacer modificaciones... está inventado para lo que te digo más que nada.

Por otra parte, no importa el método que uses, la cuestión es repartirse intervalos entre unos y otros e ir peinando la “zona”.

Pienso, si embargo, que para acometer esta empresa, aunque uses tu método, tienes que salir un poco de la idea de intentar “ser determinista” y echar un a suertes buscando la mayor probabilidad de acertar, a ver qué se puede pescar; porque no estamos hablando de un número de 21 cifras, sino de 230, y que no han factorizado aún ni los mejores expertos; hasta el momento.

Un cordial saludo.
En línea

Víctor Luis
Pleno*
*****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Bolivia Bolivia

Mensajes: 922


Ver Perfil
« Respuesta #22 : 15/02/2017, 03:39:39 am »

Buenos Días Feriva...


Cita
Mi método unas veces no tarda nada y otras no encuentra lo busca o tarda demasiado; piensa que con los RSA hay que jugar un poco a la probabilidad, probar muchos programas y recorrer intervalos intuitivamente, ésa ha sido mi idea, no la de factorizar números sistemáticamente, sino factorizar en concreto uno.

• Te propuse que factorizaras los compuestos de la lista, porque no comprendo en sí tu metodología y por otro lado, le das contra a la "Factorización Estructural" donde el criterio de evaluación para la factorización es diferente, no hay "llones" ni "megallones" ni "optillones" de selección de primos ó constantes de estos, que evaluar, para dar con los divisores primos específicos del compuesto. Tan solo, determinar el "Punto de Factorización" del compuesto y no es mas, ya tenemos a los divisores primos, exactos e inequívocos que dividen al compuesto semiprimo.
→ Como te había dicho... dejé en archivo el tema de la factorización, ya que era mucho hacer ambas cosas, a pesar que están muy relacionados y como ves, ya tenemos dos metodologías deterministas para los Mersenne, que no es poca cosa.

• Mira que acabo de dar con una mejora de mi modalidad de calculo, que no es mucha cosa, ya que solo me resta de 1 a 2 segundos el tiempo de proceso; pero ya con esto, la determinación de números primos desde 3.000 digitos, Mathematica lo hace en 26 segundos, mientras que mi metodología, esta última, lo procesa en 6 segundos. Pasando a primos de 4.000 digitos, Mathematica lo determina en 54 segundos y mi metodología en 13 segundos, observa que la complejidad no afecta en mucho a mi metodología, mientras que a Mathematica si que le afecta.
→ Lo que aprendí, es a tomar el tiempo en Mathematica, con la función:
Código:
Date[ ]
Donde tenemos: Date[Año, Mes, Día, Hora, Minuto, Segundos] con lo cual tomo el tiempo al iniciar el proceso en sí mismo y luego al terminar este, calculando la diferencia de tiempos, que es el empleado en el proceso, tanto para mi metodología como para la de Mathematica, por lo que no me puede tomar mas el pelo, con su función "Timing"... además, que un proceso continúa al otro, no habiendo nada que excusar  tanto a mí como a Mathematica de la demora de nuestros procesos.



Cita
Pienso, si embargo, que para acometer esta empresa, aunque uses tu método, tienes que salir un poco de la idea de intentar “ser determinista” y echar un a suertes buscando la mayor probabilidad de acertar, a ver qué se puede pescar; porque no estamos hablando de un número de 21 cifras, sino de 230, y que no han factorizado aún ni los mejores expertos; hasta el momento.

◘ Lo que dices es muy... muy tentador... pero de seguro, mucho ya lo han intentado y como tales, hay que afrontar el reto con nuestras mejores armas factorísticas...  :sonrisa_amplia:

• En esto no he avanzado casi nada, desde la ultima vez... tan solo analicé los ciclos de los primos que se dan clasificados de acuerdo a su Grupo PIG, donde me falta hacer esto mismo, para lo compuestos.
→ De antemano, sabemos que el RSA-230 es un compuesto que pertenece al grupo PIG[13] lo que ya nos dice ó nos dirá, el cómo atacar su factorización. Si se trata de iniciar de un modo probabilístico, no me parece la evaluación por trozos... eso ya me huele a GIMPS  :sonrisa_amplia:

• Planteémos las estrategias que podamos contar, desde nuestros criterios metodológicos y en el camino, nos apoyamos, en lo que nos haga falta, asi atacaremos a Tú RSA por varios flancos y hay vistas que podamos tumbarlo... qué te parece Feriva...?




Saludos Cordiales...
En línea
feriva
Pleno*
*****

Karma: +1/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 6.269



Ver Perfil
« Respuesta #23 : 15/02/2017, 04:45:01 pm »

Buenas noches, Víctor Luis (esta mañana no te contesté más que a la respuesta del otro hilo, se me pasó éste).

Cita
Te propuse que factorizaras los compuestos de la lista, porque no comprendo en sí tu metodología y por otro lado, le das contra a la "Factorización Estructural" donde el criterio de evaluación para la factorización es diferente

No voy contra ninguna factorización, hombre, sólo resalté la ventaja (también tiene inconvenientes) de la que decía.

En cualquiera de los casos es muy difícil dar pronto con los factores de un semiprimo de doscientas y pico cifras cono el que tenemos entre manos; ¿cuantos números de la forma 6n+1 y 6n-1 hay hasta un número de 200?

Pues, por ejemplo, en nuestro RSA hay la cantidad de estos 6n+1

Spoiler (click para mostrar u ocultar)

Son muchísimos y sólo dos de ellos valen; claro que podemos intentar saber algunas cosas, como las que decía en el otro hilo; si son 6n+1 si son 6n-1, si “n” es par, si no lo es... Pero aun así, poco podremos filtrar. En cuanto a que sirva muy bien para factorizar números más pequeños no he dicho que no.

Aparte, se pueden usar las dos ideas; ¿sabes cuántos números de esos contienen como factor a algún primo de los que buscas? Muchísimos “llones”; en muchos de los candidatos que descartas por ser compuestos puede estar escondido alguno de ellos como factor; simplemente comprobando el mcd (sin dejar de hacer lo que haces, sino como complemento) te puede tocar el premio antes o mucho antes de lo que tienes previsto en el tiempo; y también puede que no.

Para que lo entiendas pongo otro ejemplo, quizá el que puse era con primos demasiado pequeños.

Tomemos este semiprimo:   

192849562879; sus factores son  132241; 1458319.

¿Cuántos múltiplos de 132241 hay hasta 192849562879? Pues ya lo sabes, simplemente hacemos la división para saberlo; hay el valor del otro primo, ésa es la cantidad 1458319. Y cuántos hay del otro, pues  132241. En total la cantidad de múltiplos de los primos vendrá dada por la suma de los dos primos (“enésimo teorema de Víctor- Feriva :sonrisa: ) o sea: 1590560, más de un millón y medio de números que, de ser encontrados y comprobados por el muy rápido método del mcd, darían la respuesta.

Bien es cierto que los múltiplos de 2 pueden tener de mcd al primo multiplicado por potencias de 2, pero yo pongo una rutina para que me quite los factores 2 y luego compruebe si el factor común que queda es distinto de 1.

Si tú multiplicas por 2 el número  192849562879 entonces tienes dos intervalos y éste, el RSA, digamos, es el que está en medio, el “n”. Las suma de las simétricos (como lo que hago en Goldbach) sólo tienen un factor común distinto de 1 si ese factor lo es también “2n”; si quitamos los doses, entonces es factor de “n”, del semiprimo.

En ele ejemplo práctico te lo pongo con números pequeños, pero ya has has visto que son mogollones:


[texx]0,1,2,3,4,{\color{red}5},6,7,8,9,{\color{red}10},13,14,{\color{red}15},16,17,18,19,{\color{red}20},21,22,23,24,{\color{blue}25},26,27,28,29,{\color{red}30},31,32,33,34,{\color{red}35},36,37,38,39,{\color{red}40},41,42,43,44,{\color{red}45},46,47,48,49,50
 [/texx]

En este caso no es semiprimo, pero pasa lo mismo que si lo fuera. Si 5 es un factor del “rsa”, entonces todos los “cincos” (los múltiplos de 5) de un lado sumarán el rsa (50 de ejemplo aquí) con los “cincos” del otro lado (del otro lado de “n” del rsa); y, análogamente, si  tomamos cualquier otro primo que no sea factor de 50, o cualquier compuesto coprimo con 50, sólo sumará con un compuesto o un primo que tampoco lo sea factor de 50, que sea coprimo en general, vamos.

Mi programa va encontrando así todos los factores y los repite que cada vez que aparecen en un número distinto.

Básicamente, tú haces un programa que mande recorrer desde un punto del intervalo (1,RSA) como puede ser la raíz cuadrad, en adelante; for p in range (raíz,RSA)

 ¿Qué pasa si le sumas “2*RSA menos ese número”; pues que te da 2*RSA.

En vez de sumarlos, lo que hacemos es poner esto (en Python o donde quieras)

if gcd (p,  2*RSA-p) != 1  (recuerda que he puesto “p” en el bucle del intervalo de antes)

que quiere decir que si el mcd es distinto de 1... entonces lo normal es que haya encontrado dos pares; que yo los divido como te he dicho hasta que se quedan impares o tal, pero si quitas los pares, va a ser uno de los primos; y en número pequeño, que lo recorre deprisa, con primos pequeños, lo encuentra muchas veces.

Pero no digo que sea mejor que el tuyo, sólo digo que tiene esta ventaja, o curiosidad, de ir encontrando muchas veces el primo o los primos en números distintos; y que es una idea que, quizá, con suerte (mucha) nos puede dar ese primo de ese semiprimo tan grande.

Un cordial saludo.
En línea

Páginas: 1 [2]   Ir Arriba
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.1 | SMF © 2006, Simple Machines LLC XHTML 1.0 válido! CSS válido!