Grammaires de mots et langages

Grammaires de mots et langages

Mots et langages

Nous considรฉrons des ensembles finis de symboles, ou lettres, appelรฉs alphabets. Les suites finies de lettres sont appelรฉes mots. Autrement dit, un mot u de longeur n โ‰ฅ 0 sur un alphabet ฮฃ peut รชtre vu comme un n-uplet (a1, ยท ยท ยท ,an) dโ€™รฉlรฉments de ฮฃ, ou de faรงon รฉquivalente comme une application de lโ€™intervalle des entiers [1,n] dans ฮฃ. Tout mot u = (a1, ยท ยท ยท ,an) est habituellement notรฉ a1 ยท ยท ยท an ; sa i-รจme lettre est u(i) = ai . Lโ€™ensemble de tous les mots construits sur ฮฃ se note ฮฃโˆ— . Un langage sur lโ€™alphabet ฮฃ est un sous-ensemble de ฮฃโˆ— .

Le nombre dโ€™occurrences dโ€™une lettre a dans un mot u est notรฉ |u|a. Ainsi, le nombre total dโ€™occurrences de toutes les lettres dans le mot u est sa longueur et se note |u|. Lโ€™unique mot de longueur 0, qui ne contient aucune lettre, est appelรฉ le mot vide et est notรฉ ฮต.

La concatรฉnation de deux mots u = a1 ยท ยท ยท an et v = b1 ยท ยท ยท bm, qui se note u.v ou plus simplement uv, est le mot uv = a1 ยท ยท ยท anb1 ยท ยท ยท bm. Ainsi, la concatรฉnation est une opรฉration associative ayant วซ pour รฉlรฉment neutre. Pour tout mot u = xvy, v est un facteur de u, x est un prรฉfixe de u et y est un suffixe de u. En particulier, tout prรฉfixe ou suffixe dโ€™un mot est un facteur du mot.

Lโ€™itรฉration de la concatรฉnation ร  tout langage L est : Lโˆ— = S nโ‰ฅ0 L n , avec L0 = {ฮต} et L n+1 = Ln .L pour tout n โ‰ฅ 0.

De faรงon abusive, on pourra รฉcrire u ร  la place de {u}. Ainsi ฮฃn est lโ€™ensemble des mots de longueur n.

Exemple. Avec un alphabet ฮฃ = {0, 1}, nous avons :

ฮฃโˆ— = {วซ, 0, 1, 00, 01, 10, 11, 000, 001, ยท ยท ยท }
(11000)0 = ฮต
(110)ยฒ = 110110
1ยณย = 111

Monoรฏdes. La structure algรฉbrique sous-jacente aux mots est le monoรฏde. Un monoรฏde M est simplement un ensemble, potentiellement infini, muni dโ€™une opรฉration interne associative appelรฉe produit, et dโ€™un รฉlรฉment neutre 1M. Une partie S dโ€™un monoรฏde M est un ensemble de gรฉnรฉrateurs de M si chaque รฉlรฉment de M admet une dรฉcomposition comme produit dโ€™รฉlรฉments de S : M = Sโˆ— ; on dit que S est libre si toute dรฉcomposition en รฉlรฉments de S est unique :

Si u1 ยท ยท ยท um = v1 ยท ยท ยท vn avec u1, ยท ยท ยท ,um,v1, ยท ยท ยท ,vn โˆˆ S
alors m = n et u1 = v1, ยท ยท ยท ,un = vn.
Si de plus S est fini, M est dit de type fini.

Exemple. Lโ€™ensemble N des entiers positifs est un monoรฏde pour lโ€™addition. Son รฉlรฉment neutre est 0. Il est librement engendrรฉ par le singleton {1} et est donc de type fini.

Exemple. Lโ€™ensemble ฮฃโˆ— de tous les mots sur un alphabet ฮฃ est un monoรฏde pour la concatรฉnation. Il est de type fini et librement engendrรฉ par ฮฃ. Son รฉlรฉment neutre est le mot vide ฮต.

Systรจmes de rรฉcriture

Les systรจmes de rรฉcriture figurent parmi les formalismes les plus simples et les plus gรฉnรฉraux pour la modรฉlisation de transformations sur les mots (voir par exemple [DJ 90] et [Ca 90]). Ils gรฉnรฉralisent les grammaires, peuvent reprรฉsenter des calculs dโ€™automates finis, de transducteurs, dโ€™automates ร  pile ou mรชme de machines de Turing. Autant que faire se peut, nous donnerons une caractรฉrisation de chacun de ces formalismes en termes de systรจmes de rรฉcriture

Un systรจme de rรฉcriture de mots sur lโ€™alphabet ฮฃ est un ensemble potentiellement infini de rรจgles de rรฉcriture, cโ€™est-ร -dire de couples de mots (l,r) โˆˆ ฮฃโˆ— ร— ฮฃโˆ— .

Exemple. Un systรจme de rรฉcriture sur lโ€™alphabet ฮฃ = {0, 1,S} est le suivant :

R = {(S, 0S),(S, 1S),(S, 0),(S, 1)}

Ce qui sโ€™รฉcrit de la faรงon plus lisible suivante :

S โ†’ 0S
S โ†’ 1S
S โ†’ 0
S โ†’ 1

Le rapport de stage ou le pfe est un document dโ€™analyse, de synthรจse et dโ€™รฉvaluation de votre apprentissage, cโ€™est pour cela chatpfe.com propose le tรฉlรฉchargement des modรจles complet de projet de fin dโ€™รฉtude, rapport de stage, mรฉmoire, pfe, thรจse, pour connaรฎtre la mรฉthodologie ร  avoir et savoir comment construire les parties dโ€™un projet de fin dโ€™รฉtude.

Table des matiรจres

1 Introduction
2 Notions prรฉliminaires
2.1 Grammaires de mots et langages
2.1.1 Mots et langages
2.1.2 Systรจmes de rรฉcriture
2.1.3 Grammaires et hiรฉrarchie de langages
2.2 Grammaires de graphes et langages
2.2.1 Graphes
2.2.2 Chemins
2.2.3 Graphes et langages
2.2.4 Isomorphisme de graphes
2.2.5 Grammaires de graphes
3 Grammaires de graphes et langages algรฉbriques
3.1 Lemme des paires itรฉrantes
3.1.1 Introduction
3.1.2 Lemme des paires itรฉrantes
3.1.3 Dรฉmonstration gรฉomรฉtrique du lemme des paires itรฉrantes
3.2 Lemme de Parikh
3.2.1 Introduction
3.2.2 Lemme de Parikh
3.2.3 Dรฉmonstration gรฉomรฉtrique du lemme de Parikh
4 Plus courts chemins
4.1 Calculs avec des grammaires de graphes
4.2 Algorithmes de calculs
4.3 Calculs sur des graphes rรฉguliers
5 Rรฉgularitรฉ et algรฉbricitรฉ des systรจmes de rรฉcriture
5.1 Introduction
5.2 Dรฉcomposition de la dรฉrivation
5.2.1 Notations
5.2.2 Propriรฉtรฉs de prรฉservation
5.2.3 Dรฉcomposition
5.3 Applications
5.3.1 Systรจmes prรฉfixes, suffixes et bifixes
5.3.2 Dรฉrivation gauche-droite
5.3.3 Systรจmes marquรฉs
6 Conclusion

Lire le rapport complet

Tรฉlรฉcharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiรฉe. Les champs obligatoires sont indiquรฉs avec *