• Aucun résultat trouvé

Algorithmes

Dans le document Forme normale tournante des tresses (Page 101-105)

A l’aide du φn-´eclatement, nous allons maintenant construire une forme normale pour les ´el´ements deB+∗

n . Le principe est le suivant. Tout d’abord, chaque tresse deB+∗

2 est repr´esent´ee par un unique mot de la forme ak

1,2. Comme leφn-´eclatement permet de faire correspondre de mani`ere unique `a toute tresse de B+∗

n une suite de tresses de B+∗

n−1, nous allons construire la forme normale tournante surB+∗

n par induction surn>2. Au lemme 2.1 on a montr´e que l’image d’une A+

n-lettre par φn est une A+

n-lettre. Nous d´efinissons un homomorphisme d’A+

n-mots, que l’on note aussi φn, qui envoie la lettre ap,q surap+1,q+1 pourq 6n−1etap,n sura1,p+1. Notons que si une tresseβ deB+∗

n est repr´esent´ee par unA+

n-motwalors la tresseφn(β)est repr´esent´ee par leA+

n-motφn(w).

D´efinition 2.12.

– Pour β deB+∗

2 , la φ2-forme normale tournante de β est d´efinie comme ´etant l’unique A+

2 -motak

1,2repr´esentantβ. – Pour β de B+∗

n avec n > 3, la φn-forme normale tournante de β est d´efinie comme ´etant le A+

n-mot φb−1

n (wb)... w1, o`u(βb, ..., β1)est le φn-´eclatement de β etwk est laφn−1-forme normale tournante deβkpour toutk.

Comme leφn-´eclatement d’une tresseβdeB+∗

n−1 est la suite(β)de longueur1, laφn-forme normale tournante et laφn−1-forme normale tournante co¨ıncident surB+∗

n−1. Nous pouvons donc enlever l’indicenet parler de forme normale tournante, pour une tresse deB+∗

n . Naturellement, on dira qu’un mot est tournant s’il est la forme normale tournante de la tresse qu’il repr´esente.

Exemple 2.13. Calculons la forme normale tournante deδ2

4. D’abord, nous v´erifions que nous avons la relation δ2

4 = a1,2a1,4δ2

3. Le φ4-´eclatement de β est donc (a2,3, a2,3,1, δ2

3). Le φ3 -´eclatement de a2,3 est la suite (a1,2,1), et, donc, sa forme normale tournante est φ3(a1,2), soit a2,3. Ensuite, nous avons vu `a l’exemple 2.11 que le φ3-´eclatement de δ2

3 est la suite (a1,2, a1,2,1, a2

1,2). Donc, sa forme normale tournante estφ3

3(a1,2)·φ2

3(a1,2)·φ3(1)·a2 1,2, soit

a1,2·a1,3·ε·a1,2a1,2,

ou bien encorea1,2a1,3a1,2a1,2. Finalement, la forme normale tournante deδ2 4 est

φ43(a2,3)·φ42(a2,3)·φ4(1)·a1,2a1,3a1,2a1,2,

soita1,2·a1,4·ε·a1,2a1,3a1,2a1,2, `a savoira1,2a1,4a1,2a1,3a1,2a1,2.

2.3 Algorithmes

Dans cette section nous d´ecrivons des algorithmes nous permettant de calculer la forme normale tournante.

Nous commenc¸ons par un algorithme pour la divisibilit´e `a droite.

Algorithme 3 (DivDRet).

Entr´ee : Un triplet(n, w, u)o`unest un entier etwetudesA+ n-mots

1. RetGauche(n,wu−1)→w;

2. Siwest positiffaire

3. Renvoyerw;

4. Sinon faire

5. Renvoyer⊗;

Sortie : UnA+

2. La forme normale tournante 101 Proposition 2.14. L’algorithmeDivDRetappliqu´e `a(n, w, u)retourne en tempsO(Cn|w||u|), o`u Cn ne d´epend que de n, un mot w v´erifiant w ≡ wu si un tel mot existe ou le symbole erreursinon.

D´emonstration. Apr`es la ligne1, le motwest ´egal `a(u/w)−1·w/u. Par le corollaire II.3.27 la tresseuest un diviseur `a droite dewsi et seulement si(u/w)est vide, c’est-`a-dire siw est un mot positif. La complexit´e en temps est une cons´equence du corollaire II.3.26.

L’algorithme DivDRet est l’algorithme qu’on utilise dans nos exp´erimentations sur ordi-nateur. Cependant nous ne connaissons pas une estimation fine de sa complexit´e en temps en fonction du nombre de brinsn. Les r´ecents travaux de M. Autord donnent une borne inf´erieure quartique dans le cas du mono¨ıde de tresses positivesB+

n, voir [AD09] `

A l’aide de la forme normale de Garside surB+∗

n nous pouvons d´ecrire un autre algorithme pour la divisibilit´e `a droite :

Proposition 2.15. (D.B.A. Epstein et al, [ECH+92]) PourwetudesA+

n-mots, on peut d´ecider si la relationw <uest satisfaite en tempsO(K|w||u|), o`uK est la complexit´e en temps d’un algorithme calculant le pgcd de deux simples deB+∗

n .

Une valeur possible deK introduite dans la proposition 2.15 est donn´ee par :

Proposition 2.16. (J.S. Birman, K.H. Ko, S.J. Lee, [BKL98]) Il existe un algorithme calculant

le pgcd de deux simples deB+∗

n en tempsO(n).

L’algorithme construit `a partir des propositions 2.15 et 2.16 est not´e DivD, son entr´ee et sa sortie sont de mˆeme types que celles de l’algorithmeDivDRet. De la mˆeme mani`ere, il existe un algorithmeDivGpour la division `a gauche.

Comme cons´equence des propositions 2.15 et 2.16, on obtient la complexit´e suivante pour les algorithmesDivDetDivG.

Corollaire 2.17. L’algorithmeDivD(resp.DivG) appliqu´e `a(n, w, u)(resp. `a(n, u, w)) renvoie en tempsO(n · |w|)un motw v´erifiant w ≡ wu (resp. w ≡ uw)si un tel mot existe ou le symbole erreursinon.

L’algorithme suivant calcule l’image d’unA+

n-mot par l’homomorphisme de motφn (envoy-antap,qpourp6n−1etap,nsura1,p+1). On rappelle que pour un motw,w(h)d´esigne lah`eme lettre du motwen partant de la gauche, la num´erotation commenc¸ant `a1.

Algorithme 4 (Phi).

Entr´ee : Un triplet(n, k, w)o`un,ksont des entiers avec06k 6netwunA+ n-mot

1. w→w;

2. Pourk = 1jusqu’`a|w|faire

3. w[k]→ap,q; 4. p+k →p;q+k →q; 5. Sip > nfairep−n →p; 6. Siq > nfaireq−n →q; 7. ap,q →w[k]; 8. Renvoyerw; Sortie : UnA+ n-mot

Proposition 2.18. L’algorithmePhiappliqu´e `a(n, k, w)renvoie en tempsO(log(n)|w|)leA+ n -motφk

D´emonstration. L’addition, la soustraction et la comparaison d’entiers compris entre0etnest enO(log(n)). L’int´erieur de la bouclepourest donc enO(log(n))et|w|tours de boucle sont n´ecessaires. On obtient donc la complexit´e annonc´ee.

De la d´efinition du φn-´eclatement, nous construisons l’algorithme suivant qui appliqu´e `a un mot w renvoie une suite de A+

n−1-mots (wb, ... , w1) telle que la suite de (wb, ... , w1) soit leφn-´eclatement de la tressew.

Algorithme 5 (Eclatement).

Entr´ee : Un couple(n, w)o`unest un entier>3etwest unA+ n-mot

1. ()→s;w→w;0→k;

2. Tant quew!=εfaire

3. ε →u;

4. Tant qu’il existeuneAn−1-lettrexavecDivD(w,Phi(n,k,x)) !=⊗faire

5. DivD(w,Phi(n,k,x))→w;

6. x·u→u;

7. Ins´ereru`a gauche danss;

8. k+1→k;

9. Sik=nfaire0→k;

10. Renvoyers;

Sortie : Une suite deA+

n−1-mots

Proposition 2.19. L’algorithmeEclatementappliqu´e `a(n, w)retourne une suite(wb, ... , w1)

en tempsO(n3· |w|2)telle que(wb, ... , w1)soit leφn-´eclatement dew.

D´emonstration. Les propri´et´es de la suite retourn´ee sont une cons´equence directe de la

propo-sition 2.7. Chaque appel `aDivDest enO(n· |w|)avec|w| 6 |w|. L’algorithmeEclatement

n´ecessitantO(card(A+

n)· |w|)appels `aDivD, on obtient le r´esultat. `

A partir de maintenant, siwest un mot tournant `anbrins, l’unique suite de mots normaux tournant `a(n−1)brins(wb, ... , w1)telle que(wb, ... , w1)soit leφn-´eclatement dewest appel´e

φn-´eclatement dew. `

A l’aide de l’algorithmeeclatementpermettant de calculer le φn-´eclatement d’une tresse de B+∗

n , nous construisons un algorithme renvoyant la forme normale tournante d’une tresse deB+∗

n . Le principe est celui donn´e `a la d´efinition 2.12.

Algorithme 6 (FormeTournante).

Entr´ee : Un couple(n, w)o`unest un entier≥2etwest unA+ n-mot

1. Sin=2 faire Renvoyerw;

2. Eclatement(n,w) →(wb, ... , w1);

3. ε→w;0→k;

4. Pourk = 0jusqu’`abfaire

5. Phi(n,k,FormeTournante(n−1,wk))·w→w; 6. k+ 1 →k; 7. Sik=nfaire0→k; 8. Renvoyerw; Sortie : UnA+ n-mot

Proposition 2.20. L’algorithmeFormeTournanteappliqu´e `a(n, w)retourne la forme normale tournante dewen tempsO(n4· |w|2).

3. Contraintes sur leφn-´eclatement 103

D´emonstration. `A la ligne4, l’entierkest ´egal `akmodulon. Le reste de l’algorithme est juste une adaptation de la d´efinition 2.12.

Notons C(n, ℓ) la complexit´e en temps de l’algorithme FormeTournante appliqu´e `a un

A+

n-mot w de longueur ℓ. Pour n = 2, la complexit´e C(n, ℓ) est constante. Pour n > 3, la complexit´eC(n, ℓ)est lin´eaire en

n32+C(n−1,|w1|) +...+C(n−1,|wb|),

avecℓ=|w1|+...+|wb|. CommeC(n, ℓ)est au moins lin´eaire enℓ, on obtient

C(n, ℓ)6n32+C(n−1, ℓ).

AinsiC(n, ℓ)appartient `aO(n4|w|2).

Pour le moment, nous nous sommes seulement int´eress´es `a calculer la forme normale tour-nante d’une tresse `a partir d’un mot la repr´esentant. Pour cela nous avons utilis´e l’op´eration de

φn-´eclatement. Peut-on facilement retrouver leφn-´eclatement d’une tresse `a partir de sa forme normale tournante ? La r´eponse est donn´ee par le r´esultat suivant :

Lemme 2.21. Supposonsn >3. Pour toutAn-mot tournantw, leφn-´eclatement dewpeut ˆetre calcul´e en temps au plusO(log(n)ℓ).

D´emonstration. Par d´efinition de φn, un g´en´erateurap,q appartient `a φk n(B+∗

n−1)si et seulement si on a p 6= k modn et q 6= k mod n. Ainsi, ´etant donn´e un An-mot tournant w, on peut directement lire le φn-´eclatement(wb, ... , w1) dew. En effet, lisantw `a partir de la droite, w1

est le suffixe maximal de w qui est unAn−1-mot, puis φn(w2)est le suffixe maximal du mot restant qui est l’image d’unAn−1-mot parφn, etc, jusqu’`a obtenir le mot vide.

Exemple 2.22. Consid´erons le mot tournantw=a1,2a1,4a2,3a1,2et calculons leφ4-´eclatement dew. En lisantw `a partir de la droite, on trouve que le suffixe maximal dewne contenant pas de lettreap,q avecp = 0 mod nouq = 0 mod nest a2,3a1,2. On a doncw1 = a2,3a1,2. En r´ep´etant ce proc´ed´e, on trouve facilement que leφ4-´eclatement dewest

43(a1,2), φ42(a1,4), φ−1

4 (1), a2,3a1,2),

donc la suite(a2,3, a2,3,1, a2,3a1,2).

3 Contraintes sur le φ

n

-´eclatement

L’op´eration deφn-´eclatement associe `a chaque tresse non triviale de B+∗

n une suite finie de tresses de B+∗

n−1. Maintenant, dans l’autre direction, toute suite finie de tresses de B+∗

n−1 n’est pas le φn-´eclatement d’une tresse de B+∗

n . Le but de cette section est d’´etablir certaines con-traintes qui sont satisfaites par les termes d‘un φn-´eclatement. La contrainte principale ´etant qu’unφn-´eclatement contient n´ecessairement ce que l’on appelle une ´echelle, qui correspond `a une succession de lettres ap,q (pas forc´ement adjacentes) dont les indicesq forment une suite croissante (les barreaux de l’´echelle).

Dans le document Forme normale tournante des tresses (Page 101-105)