2.4 Algorithme F5
2.4.4 Vers une implantation efficace de F5
colonnes et n´ecessairement moins de lignes puisqu’il n’y a pas de r´eductions `a
z´ero. En utilisant les algorithmes de calcul de forme ´echelon bas´es sur les m´ethodes de multiplication
matricielle rapide (comme par exemple Strassen [Str69]), on obtient une complexit´e en
O
d
reg+n+ 1
d
reg ω(2.1)
op´erations dansK, o`uω est la constante intervenant dans la complexit´e du produit matriciel. Cette
borne reste valable dans le cas affine s’il n’y a pas de r´eduction `a z´ero, pour un ordre gradu´e par
le degr´e et une strat´egie de s´election adapt´ee.
2.4.4 Vers une implantation efficace de F5
Dans l’algorithme tel qu’il est pr´esent´e ici ou dans [Fau02], la r´eduction des polynˆomes est
incompl`ete : `a part pour le calcul initial de la forme normale en ligne 4 de Reduction, on se
contente de “top-r´eduire” les polynˆomes, i.e. la r´eduction s’arrˆete quand le terme de tˆete n’est plus
divisible par les ´el´ements de la base courante. Pour acc´el´erer les r´eductions ult´erieures, il serait
possible d’essayer de r´eduire plus compl`etement les S-polynˆomes. Cependant, le surcoˆut li´e `a la
recherche de r´educteurs v´erifiant les conditions de signature peut ˆetre plus important que le gain
attendu. Il reste n´eanmoins possible de recalculer la r´eduction compl`ete parG
prec, qui ne pose pas
de probl`eme de signature, apr`es la top-r´eduction.
Le choix de la strat´egie de s´election Sel a aussi une influence non n´egligeable sur les calculs.
Dans [Fau02], Faug`ere sugg`ere d’utiliser la strat´egie “normale”, qui consiste `a s´electionner `a chaque
´
etape toutes les paires critiques delcmde plus petit degr´e : c’est la strat´egie qui donne usuellement
les meilleurs r´esultats pour l’algorithme F4 pour un ordre gradu´e par le degr´e. Si cela semble
ˆ
etre encore vrai pour F5 avec des polynˆomes homog`enes, dans le cas affine, on a constat´e qu’une
strat´egie de s´election par signature deS-polynˆomes croissante ´etait plus efficace et g´en´erait moins
de polynˆomes redondants (elle correspond en quelque sorte `a la strat´egie du sucre donn´ee dans
le contexte de l’algorithme de Buchberger ; voir [GMN
+91]). On donne en figure 2.5, voir aussi
section 3.3.1, une comparaison entre ces deux strat´egies sur un exemple o`u il y a de nombreuses
chutes de degr´e : le nombre d’it´erations dans la strat´egie par signature est plus de sept fois inf´erieur
`
a celui de la strat´egie normale.
Mais pour vraiment am´eliorer les performances, il est crucial d’agir au niveau de la r´eduction des
S-polynˆomes en utilisant des outils d’alg`ebre lin´eaire ; comme remarqu´e par Faug`ere dans [Fau02],
“from the efficiency point of view, it is recommended to translate the algorithm in a F4 fashion”.
On note d’ailleurs que les performances de l’implantation FGb de l’algorithme F5 (dont le code
source n’est pas public) telles qu’elles apparaissent dans les articles [BFP10, Fau02, FLDVP08] sont
de tr`es loin sup´erieures `a celles des implantations publiques (voir par exemple [EP10, GGV10]),
ce qui laisse place `a de nombreuses optimisations. Cependant, combiner F5 avec des r´eductions
matricielles est beaucoup plus difficile qu’il n’y ne paraˆıt. Une premi`ere tentative en ce sens est
l’algorithme F5-Matriciel introduit dans [Bar04] ; mais cette version n’utilise pas le concept de
paires critiques et est en fait une am´elioration de l’algorithme de Lazard, o`u le crit`ere F5 sert `a
´
eliminer certaines lignes des matrices de Macaulay. En cons´equence, de nombreuses lignes restent
inutiles dans cette matrice car elles n’interviennent dans aucune top-r´eduction.
0
10
20
30
0 50 100 150 200
Degr
´e
´
Etapes
S´election par signature
S´election par lcm
Figure 2.5 – Comparaison, selon la strat´egie de s´election, des degr´es maximaux des polynˆomes
des paires critiques `a chaque ´etape de F5Incrementpour le syst`eme pr´esent´e en section 3.3.1
Une autre approche, directement inspir´ee de F4, est pr´esent´ee dans [AP10, Ars05]. On range
dans une matrice de type Macaulay les polynˆomes provenant des paires critiques, que l’on compl`ete
lors d’un preprocessing par les multiples normalis´es des ´el´ements de la base courante permettant
de r´eduire les termes de ces polynˆomes. On peut alors proc´eder `a une pseudo-r´eduction gaussienne,
en faisant attention `a respecter les signatures : si l’on trie les lignes de la matrice par signature
croissante, chaque pivot ne peut r´eduire que les lignes qui lui sont inf´erieures (donc de signature plus
grande). En particulier, la forme de la matrice r´eduite n’est en g´en´eral absolument pas triangulaire
sup´erieure. Le plus d´elicat est la gestion des r`egles de r´e´ecriture, puisque chaque nouveau g´en´erateur,
apparaissant d`es que le terme de tˆete initial d’une ligne est r´eduit, correspond `a une nouvelle r`egle
de r´e´ecriture qui peut rendre invalides certaines des lignes inf´erieures.
On donne en figures 2.6 et 2.7 des exemples de matrices “peudo-r´eduites” obtenues avec cette
version matricielle. La partie sup´erieure de la matrice (en noir) correspond aux ´el´ements de
signa-ture 0, pour lesquelles on a effectu´e une r´eduction compl`ete et utilis´e une proc´edure typeSimplify;
dans la partie inf´erieure, les polynˆomes sont tri´es par signature croissante et les tranches de couleur
correspondent `a des degr´es totaux de signature diff´erents. Les grandes divisions verticales
corres-pondent aux diff´erents degr´es des monˆomes. La structure de ces matrices est assez repr´esentative.
Tant que les chutes de degr´e ne sont pas tr`es nombreuses, le terme de tˆete d’un polynˆome ´etiquet´e
croˆıt globalement avec la signature : ceci explique l’aspect triangulaire inf´erieur droit (sauf pour la
partie de signature 0). Par contre, la structure locale est celle de blocs ´echelonn´es inf´erieurement,
et dont la partie triangulaire sup´erieure est pleine puisqu’une r´eduction compl`ete n’est pas permise
par le crit`ere de signatures. L’importante partie vide inf´erieure gauche sur la figure 2.7 provient
d’une part de la s´election des paires critiques par signature croissante et d’autre part de la pr´esence
de nombreuses chutes de degr´e jusqu’`a cette ´etape pour le syst`eme consid´er´e.
Cette approche matricielle de l’algorithme F5 pr´esente n´eanmoins de nombreux inconv´enients.
Premi`erement, la pseudo-r´eduction paraˆıt incompatible avec les m´ethodes de r´eduction rapide, ou
avec les optimisations pr´esent´ees en section 2.3.3. De fa¸con plus gˆenante, le preprocessing risque
d’ins´erer de nombreuses lignes inutiles dans la matrice. En effet, si la signature d’une ligne uf de
terme de tˆetemest plus grande que la signature des autres lignes o`u intervient le monˆomem, alors
cette ligne ne va jouer un rˆole dans la r´eduction que dans le cas o`u m devient le terme de tˆete
d’un nouveau g´en´erateur, ce qu’il est ´evidemment impossible de pr´evoir au moment du
preproces-sing. Enfin, une part importante des performances de l’algorithme F4 provient de la r´eutilisation
des calculs d’une matrice `a l’autre (proc´edure Simplify). Dans la mesure o`u les r´eductions sont
Figure 2.6 – Matrice de taille 1 078×4 479 obtenue `a l’´etape 10 du calcul de la base de Gr¨obner
du syst`eme (compos´e des 4 premiers polynˆomes) issu du probl`eme pr´esent´e en section 3.3.1.
Figure 2.7 – Matrice de taille 2 892×4 082 obtenue `a l’´etape 16 du calcul de la base de Gr¨obner
du syst`eme (compos´e de 5 polynˆomes) issu du mˆeme probl`eme.
beaucoup moins compl`etes avec F5 (`a cause des crit`eres de signatures), le gain attendu d’une telle
r´eutilisation est relativement faible.
Le caract`ere incr´emental de l’algorithme F5 est aussi sujet `a am´elioration. Par exemple, avec la
version pr´esent´ee ici, il est clair qu’il est plus difficile de calculer une base de Gr¨obner dehf
1, . . . , f
mi
que dehf
1, . . . , f
m−1i, alors que pour des syst`emes surd´etermin´es cela ne devrait pas ˆetre le cas. Pour
rem´edier `a ce probl`eme, on peut inverser ou fusionner les deux boucles principales de l’algorithme
(celle sur les f
iet celle sur les paires critiques). La signature d’un polynˆome p devient alors un
couple (u, ind), o`u u est un monˆome et ind ∈ J1;mK, qui est admissible s’il existe une ´ecriture
p =P
indi=1
h
if
iavec LM(h
ind) =u, et qui est normalis´ee si u /∈LT(hf
1, . . . , f
ind−1i). La difficult´e
est que dans ce cas on ne connaˆıt pas lors du d´eroulement de l’algorithme les bases de Gr¨obner
des I
i= hf
1, . . . , f
ii pour pouvoir appliquer le crit`ere F5. Cependant, si l’on travaille par degr´e
croissant avec des polynˆomes homog`enes, `a l’´etapedon va obtenir les bases de Gr¨obner tronqu´ees
`
a l’ordre d des id´eaux I
i, ce qui est suffisant pour d´eterminer les paires critiques normalis´ees `a
l’´etaped+ 1.
Dans le document
Attaques algébriques du problème du logarithme discret sur courbes elliptiques
(Page 61-64)