• Aucun résultat trouvé

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

m

i

que dehf

1

, . . . , f

m−1

i, 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

i

et 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

ind

i=1

h

i

f

i

avec LM(h

ind

) =u, et qui est normalis´ee si u /∈LT(hf

1

, . . . , f

ind−1

i). 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

i

i 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.