π
<-

Fonction isPrime

:32tins: :32tinsktpb: :32tinsktpn: :32tinscas: :32tinstpkc: :32tinstpktpb: :32tinstp: :32tinscastp: :32tinscmc: :32tinscx: :32tinscxcas:

Re: Fonction isPrime

Unread postby Bisam » 05 Jan 2014, 17:23

Je le répète : à part le test naïf et le test de Fermat (qui est rarement utilisé en pratique à cause des nombres de Carmichaël), il n'y a rien qui soit mathématiquement à la portée d'un élève du lycée.
Le test de Miller-Rabin peut être facilement implémenté... mais il est bien plus difficile de comprendre pourquoi il fonctionne.
Les autres (Solovay-Strassen, Lucas-Lehmer, cyclotomique, courbes elliptiques,...) sont hors de portée du lycéen, même excellent.
Le test AKS est, à la rigueur, compréhensible... mais très difficile à implémenter (sauf si l'on dispose d'un CAS...) mais de toute façon, il n'est pas intéressant en pratique car il est moins rapide que bien d'autres, et nécessite beaucoup de mémoire.
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: Fonction isPrime

Unread postby Lionel Debroux » 05 Jan 2014, 17:29

APRT-CL(E) n'est pas trivial non plus.
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.4%
 
Posts: 6873
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

Re: Fonction isPrime

Unread postby pierrotdu18 » 05 Jan 2014, 17:32

Et quel est l'algorithme (même si je ne peux pas le comprendre) déterministe le plus rapide?
Bonjour
User avatar
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 40.5%
 
Posts: 975
Joined: 07 Nov 2013, 20:18
Location: Paris V
Gender: Male
Calculator(s):
MyCalcs profile
Class: MP* Lycée Henri IV

Re: Fonction isPrime

Unread postby Lionel Debroux » 05 Jan 2014, 17:40

Le test de primalité générique (= applicable à des nombres qui n'ont pas une forme spéciale - par exemple, Lucas-Lehmer ne fonctionne que sur les nombres de Mersenne 2^p-1 avec p premier) déterministe le plus rapide doit être Elliptic Curve Primality Proving, puisque c'est ça qu'on utilise jusqu'aux alentours de 20000 digits (à cette longueur-là, il faut des mois avec un ordinateur normal). Avec une machine récente, ECPP peut prouver la primalité d'un nombre de 3000 digits en une heure environ, probablement un peu plus.
APRT-CL(E) fonctionne raisonnablement sur des nombres jusqu'à quelques centaines de digits.

Voir https://en.wikipedia.org/wiki/Primality_testing .
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.4%
 
Posts: 6873
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

Re: Fonction isPrime

Unread postby Bisam » 05 Jan 2014, 17:42

... et aucun des deux ne peut être implémenté sans de solides connaissances post-Bac, à moins de trouver un pseudo-code tout tapé et de le copier !
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: Fonction isPrime

Unread postby pierrotdu18 » 05 Jan 2014, 17:47

Et comment ils font avec des nombres de millions de chiffres?? :o
Bonjour
User avatar
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 40.5%
 
Posts: 975
Joined: 07 Nov 2013, 20:18
Location: Paris V
Gender: Male
Calculator(s):
MyCalcs profile
Class: MP* Lycée Henri IV

Re: Fonction isPrime

Unread postby Lionel Debroux » 05 Jan 2014, 17:49

... et ECPP utilise un crible qui, si on pousse un peu les paramètres, consomme facilement plus de mémoire qu'une pauvre petite Nspire en a ^^

Avec des nombres de millions de chiffres, soit ils sont des nombres de Mersenne et on utilise Lucas-Lehmer (voir http://mersenne.org ), soit ils sont des nombres susceptibles d'être traités par l'algorithme de Proth et ses variantes... soit on n'a pas le choix, il faut utiliser des tests probabilistes, en général Miller-Rabin :)

Quant aux algorithmes de factorisation des nombres, je te pointerai vers le programme YAFU, qui implémente, ou utilise dans des programmes externes, la plupart des algorithmes intéressants de factorisation: TF jusqu'à une limite très basse, l'heuristique Rho de Pollard, ECM (délégué à GMP-ECM), P+1, P-1, des variantes de QS, ou NFS (délégué à GGNFS + msieve) :)
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.4%
 
Posts: 6873
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

Re: Fonction isPrime

Unread postby pierrotdu18 » 05 Jan 2014, 17:50

Ok.....
Donc en fait c'est vraiment un domaine de recherche...


Mais ça marche comment en gros Lucas-Lehmer ?


Bisam wrote:Je le répète : à part le test naïf et le test de Fermat (qui est rarement utilisé en pratique à cause des nombres de Carmichaël), il n'y a rien qui soit mathématiquement à la portée d'un élève du lycée.
Le test de Miller-Rabin peut être facilement implémenté... mais il est bien plus difficile de comprendre pourquoi il fonctionne.
Les autres (Solovay-Strassen, Lucas-Lehmer, cyclotomique, courbes elliptiques,...) sont hors de portée du lycéen, même excellent.
Le test AKS est, à la rigueur, compréhensible... mais très difficile à implémenter (sauf si l'on dispose d'un CAS...) mais de toute façon, il n'est pas intéressant en pratique car il est moins rapide que bien d'autres, et nécessite beaucoup de mémoire.


C'est quoi les nombres de Carmichaël ?


EDIT Lionel: regroupé 3 posts en 1.
Bonjour
User avatar
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 40.5%
 
Posts: 975
Joined: 07 Nov 2013, 20:18
Location: Paris V
Gender: Male
Calculator(s):
MyCalcs profile
Class: MP* Lycée Henri IV

Re: Fonction isPrime

Unread postby Lionel Debroux » 05 Jan 2014, 17:59

En effet, c'est un domaine de recherche en activité permanente :)
Même si ça fait une vingtaine d'années qu'il n'y a pas eu de nouvel algorithme de factorisation intéressant (NFS reste l'algorithme d'usage général qui permet de traiter les plus gros nombres, les particuliers pouvant monter jusqu'aux alentours de 170 digits, les grilles de calcul vers 215-220 digits, et les chercheurs à la pointe du domaine en sont certainement actuellement un peu au-delà des 232 digits de RSA-768 en 2006-2009), pour le test de primalité, AKS est sorti en 2002.
Et qui sait si quelqu'un trouvera un moyen d'appliquer à la factorisation des nombres entiers un résultat récent qui a beaucoup accéléré le traitement des logarithmes discrets (auquel cas RSA serait en danger ^^) :)
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.4%
 
Posts: 6873
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

Re: Fonction isPrime

Unread postby pierrotdu18 » 05 Jan 2014, 18:01

Lionel Debroux wrote:Et qui sait si quelqu'un trouvera un moyen d'appliquer à la factorisation des nombres entiers un résultat récent qui a beaucoup accéléré le traitement des logarithmes discrets (auquel cas RSA serait en danger ^^) :)


Heu.. A tes souhaits... :P J'ai pas pigé un broc :P
Bonjour
User avatar
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 40.5%
 
Posts: 975
Joined: 07 Nov 2013, 20:18
Location: Paris V
Gender: Male
Calculator(s):
MyCalcs profile
Class: MP* Lycée Henri IV

PreviousNext

Return to Problèmes divers / Aide débutants

Who is online

Users browsing this forum: ClaudeBot [spider] and 7 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1399 utilisateurs:
>1339 invités
>53 membres
>7 robots
Record simultané (sur 6 mois):
7582 utilisateurs (le 25/06/2025)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)