généralisation des automates généralisés, automates d'expression

28
Universit´ e des Sciences et des Techniques de Rouen Master 2 ITA Applications des automates 2004-2005 en´ eralisation des Automates G´ en´ eralis ´ es Automates d’Expression Samuel Grau <[email protected]>

Upload: vaseltior

Post on 07-Jun-2015

310 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Généralisation des Automates Généralisés, Automates d'expression

Universite des Sciences et des Techniques de Rouen

Master 2 ITA

Applications des automates

2004-2005

Generalisation des Automates G eneralis esAutomates d’Expression

Samuel Grau

<[email protected]>

Page 2: Généralisation des Automates Généralisés, Automates d'expression

Table des matieres

Introduction 3

1 Rappels et Definitions 41.1 Rappel Historique . . . . . . . . . . . . . . . . . . . . . . . . 41.2 Preliminaires . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2.1 Automates . . . . . . . . . . . . . . . . . . . . . . . . 61.2.2 L’idee d’Eilenberg . . . . . . . . . . . . . . . . . . . . 71.2.3 Automates Generalises Deterministes . . . . . . . . . . 8

2 Applications 102.1 Automates d’expression . . . . . . . . . . . . . . . . . . . . . 10

2.1.1 Elimination des etats . . . . . . . . . . . . . . . . . . . 132.2 Automates d’expression Deterministes . . . . . . . . . . . . . 17

2.2.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . 182.2.2 Proprietes . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.3 Minimisation des Automates d’expression . . . . . . . . . . . 212.3.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . 212.3.2 Algorithme . . . . . . . . . . . . . . . . . . . . . . . . 23

2.4 Langages Rationnels sans prefixes, premiers . . . . . . . . . . 24

Conclusion 26

2

Page 3: Généralisation des Automates Généralisés, Automates d'expression

Introduction

Ce document aura comme consequence, l’etude de l’article de Y. Hannet D. Wood [3] pour lequel nous suivrons le plan propose par l’article origi-nal. Nous tenterons d’apporter quelques preuves a celles introuvables dansl’article, sachant que celles-ci sont nombreuses et leur absence, intention-nelle.

Nous explorerons dans ce papier, les Automates d’expression en cequi concerne leur determinisme, leur minimisation et leur primalite. Nousverrons comment definir le determinisme de ces automates d’expressionen utilisant la notion de liberte de prefixe. Cette approche est d’une certainemaniere, similaire a la definition proposee par Giammarresi et Montalbanopour les automates d’expression deterministes et nous y verrons commentla nouvelle definition est plus fine.

Nous prouverons aussi que les langages reconnus par les automatesd’expression deterministes forment une sous-famille propre des langagesrationnels ainsi que certaines methodes permettant de definir la minimisa-tion et le determinisme des automates d’expression. Il sera enfin discutedes langages rationnels sans prefixes.

Partant de ces idees, nous nous evertuerons d’expliciter les passagessombres de l’article, en apportant la traduction en pseudo-code des algo-rithmes proposes et nous apprecierons l’interet de ces nouveaux automa-tes dans la mesure de nos capacites.

3

Page 4: Généralisation des Automates Généralisés, Automates d'expression

Chapitre 1

Rappels et Definitions

Recemment, nous avons pu constater un regain d’interet pour les auto-mates a nombre fini d’etats permettant la presence d’etiquettes plus com-plexes au niveau des transitions. Giammarresi et Montalbano [2] ont ef-fectue une etude sur les automates generalises en ce qui concerne ledeterminisme. Mais, avant de n’en dire plus a ce sujet, il est necessaired’effectuer un petit rappel aussi bien historique, afin de mieux comprendrede quoi nous allons traiter, que rafraıchissant du point de vue theorique.

1.1. Rappel Historique

Les automates generalises furent introduit pour la premiere fois par S.Eilenberg [1]. Dans ce papier, nous utiliserons les notations anglaises conven-tionnelles pour indiquer de quel type d’automate nous parlons. Et nouscommencerons des maintenant avec les automates generalises (GA pour Ge-neralized Automaton). Donc, S. Eilenberg chercha un modele permettant larepresentation des langages rationnels, et ce furent les GA qui servirent demodele de representation, dont nous verrons la definition.

La complexite d’un langage, pour un modele donne est habituellementconsideree comme la taille de la representation minimale du langage dansce modele. En general, la complexite d’un automate a nombre fini d’etatsest proportionnelle a son nombre d’etats. Calculer la complexite du langagerepresente revient donc a calculer le nombre d’etats de l’automate minimalle reconnaissant. Ce dernier probleme a ete demontre comme decidable il ya une quinzaine d’annee.

Un probleme relativement proche consiste effectivement a calculer larepresentation minimale d’un langage donne, dans un certain modele. Dansle cas des automates finis deterministes, il peut-etre demontre que l’automateminimal est unique et un algorithme le calculant a partir d’un quelconque

4

Page 5: Généralisation des Automates Généralisés, Automates d'expression

autre automate deterministe equivalent peut-etre obtenu grace au theoremede Myhill-Nerode. Cependant, pour les automates non deterministes, nousne connaissons que des resultats partiels tels que la non unicite de l’automateminimal.

Le but du jeu est donc le suivant. Il s’agit de trouver un automate mini-mal en nombre d’etats parmis tous les automates reconnaissant le langage.Et nous sommes bel et bien face a un probleme puisque la minimisation enelle meme, est probleme difficile.

Les automates generalises permettent, en general, de construire plus fa-cilement un automate. Un exemple interessant est le suivant. Considerantles mots reserves du langage C++, l’utilisation des automates generalises afinde construire un automate fini, reconnaissant tous les mots reserves du C++

dans un programme ou un morceau de programme, rend les choses beaucoupplus simples. Nous tenterons d’expliciter cet exemple afin de mieux cernerle gain de faciliter.

Mais avant toutes choses, rappelons quelques definitions concernant, lesmots, les automates finis, generalises, et leurs equivalents deterministes.

1.2. Preliminaires

Nous allons tout d’abord definir un alphabet fini de caracteres que nousappelerons Σ. Nommons par la meme occasion Σ∗ l’ensemble de tous lesmots formes sur cet alphabet. Les elements de Σ∗ sont appeles chaınes,mots ou blocs. Nous utiliserons beaucoup plus souvent le terme mot dansce document. Un langage sur Σ est un sous-ensemble de Σ∗ que l’on peutaussi noter L ⊆ Σ∗. Afin de mieux apprecier les notions avec lesquelles nousallons travailler, nous profitons de cette section afin de faire quelques rappelsconcernant les proprietes des mots.

Definition 1.2.1 (Prefixe). Soient x, y ∈ Σ∗. On dit que x est un prefixe

de y si et seulement si il existe un mot w ∈ Σ∗ tel que xw = y.

Nous noterons dans toute la suite du document que x est prefixe (resp.suffixe) de y de la maniere suivante : x < y (resp. x = y). Si nous souhaitonsne pas tenir compte des factorisations possibles a l’aide du mot vide pour lecas d’une factorisation prefixe, nous devons alors donner la definition d’unprefixe propre pour un mot.

Definition 1.2.2 (Prefixe propre). Soient x, y ∈ Σ∗. On dit que x est unprefixe propre de y si et seulement si il existe un mot w ∈ Σ∗ tel quexw = y et tel que x 6= ǫ et x 6= y.

5

Page 6: Généralisation des Automates Généralisés, Automates d'expression

Comme nous aurons besoin, lorsque nous parlerons des automates d’ex-pression deterministes, des ensembles sans prefixes, nous pouvons alors don-ner la definition suivante :

Definition 1.2.3. Un langage (rationnel) L sur un alphabet Σ est dit sansprefixe si, pour toutes chaınes distinctes x et y appartenant a L, x n’est pasprefixe de y et y n’est pas prefixe de x.

Nous avons une bonne quantite d’elements a present. Ces elements nouspermettent maintenant de travailler sur les automates de maniere plus adroi-te. Il va nous falloir nous occuper des automates, les definir, leur trouver desproprietes et finalement les generaliser, car la, se trouve le but de ce papier.

1.2.1 Automates

Les automates, nous allons les etudier, et pour cela, nous avons besoind’effectuer quelques rappels concernant leurs proprietes et definitions. Nouspourrons, de cette maniere, mieux apprecier les nouvelles notions qui serontintroduites dans ce papier. Nous verrons ainsi, durant la progression de notreinvestigation, subtilites, qui differencient les automates finis, des automatesgeneralises et des automates d’expression.

Mais comme chaque chose debute quelque part, commencons par l’au-tomate que nous connaissons le mieux et pour lequel nous connaissons ungrand nombre de proprietes, a savoir, l’automate a nombre fini d’etats, dontvoici la definition.

Definition 1.2.4 (Automate a nombre fini d’etats). Un automate A anombre fini d’etats, traditionnel, est defini par un quintuplet :• δ ⊆ Q× Σ×Q, ensemble (fini) de transitions,• Q un ensemble fini d’etats,

A =

(

Q , Σ , δ , I , T

)

• Σ est l’alphabet d’entree,• I ⊆ Q l’ensemble des etats initiaux,• T ⊆ Q l’ensemble des etats terminaux.

Maintenant, que nous savons ce qu’est un automate, voyons quelques pro-prietes de ceux-ci et plus particulierement, ceux des automates dits utiles.Les automates dits utiles sont en fait des automates qui ne possedent pasd’etats inutiles. Donnons alors une definition formelle d’un automate utiles(reduit, propre). Pour cela, nous allons maintenant introduire la notion d’ac-cessibilite pour un automate donne.

6

Page 7: Généralisation des Automates Généralisés, Automates d'expression

Definition 1.2.5 (Automate accessible). Soit A = (Q,Σ, δ, I, T ) un auto-mate. Alors, on dit que A est accessible si, pour tout etat q ∈ Q il existeun chemin c allant de l’etat i a l’etat q avec i ∈ I.

L’accessibilite etant, passons alors a la co-accessibilite. D’apres Eilen-berg [1], la co-accessibilite peut-etre definie comme l’accessibilite de l’au-tomate renverse. Mais nous n’entrerons pas si loin dans les details car laco-accessibilite peut aussi etre definie de la maniere suivante, qui decoulebien sur de celle du renverse.

Definition 1.2.6 (Automate co-accessible). Soit A = (Q,Σ, δ, I, T ) un au-tomate. Alors, on dit que A est co-accessible si, pour tout etat q ∈ Q ilexiste un chemin c partant de l’etat q vers un etat t avec t ∈ T .

L’automateA est dit utile si celui-ci est a la fois accessible et coaccessible.

Proposition 1.2.1. Pour tout automate A, les proprietes suivantes sontequivalentes :

(i) A est utile.(ii) Tout etat de A appartient a un chemin reussi.(iii) Tout chemin dans A appartient a un segment de chemin accepte.

Demonstration. Il suffit de montrer les equivalences suivantes, dans l’ordreindique, (i) ⇒ (iii) ⇒ (ii) ⇒ (i).

Donc, en fait, si nous venions a considerer un automate A, alors, nouspouvons obtenir un automate utile At en eliminant les etats pour lesquelsla condition (ii) de la proposition 1.2.1 n’est pas realisee. Il est tout dememe possible de s’interroger quand a l’interet d’etre en presence d’un au-tomate utile. Cette notion sera pour nous, peut-etre aussi importante quele determinisme d’un automate. Nous verrons alors que la combinaison deces deux notions, de maniere simultanee offre un automate puissant, dansla mesure ou celui-ci, lorsque nous le parcourerons nous donnera d’enormesinformations. Il est toujours plaisant de savoir que nous sommes sur la bonneroute et que celle-ci est unique.

1.2.2 L’idee d’Eilenberg

L’idee d’Eilenberg est la suivante. Plutot que de ne considerer que deslettres comme etiquettes de transitions pour les automates a nombre finisd’etats traditionnels, celui-ci va etendre les transitions afin que les etiquettesde celles-ci ne soient plus exclusivement composees de lettres mais ausside chaınes de caracteres que l’on appelle mots, ou encore blocs. Cesautomates, ce sont les automates generalises (GA) et ceux-ci peuventetre definis de maniere plus formelle, de la maniere suivante.

7

Page 8: Généralisation des Automates Généralisés, Automates d'expression

Definition 1.2.7 (Automate Generalise). Un automate generalise A estdefini par un quintuplet :• δ ⊆ Q× Σ∗ ×Q, ensemble (fini) de transitions,• Q un ensemble fini d’etats,

A =

(

Q , Σ , δ , i , T

)

• Σ est l’alphabet d’entree,• i ∈ Q est l’etat initial de l’automate,• T ⊆ Q l’ensemble des etats terminaux.

La premiere remarque que nous pouvons apporte est que, formellement,la definition des GA est tres proche de celle des NFA. En effet, les transitionsne sont plus exclusivement sur l’ensemble δ ⊆ Q × Σ × Q mais sur δ ⊆Q × Σ∗ × Q. Autrement dit, nous acceptons les mots ainsi que les lettres.C’est bien la l’idee que nous recherchions. De plus l’autre difference presenteest portee sur l’etat initial des GA, celui-ci est unique, alors que plusieurssont permis pour les NFAs.

Tout comme cela est le cas pour les automates conventionnels, nousallons maintenant pouvoir introduire la notion de determinisme pour cesnouveaux types d’automate.

1.2.3 Automates Generalises Deterministes

Giammarresi et Montalbano [2] donnent la definition suivante pour unautomate generalise deterministe. Un automate generaliseA est deterministes’il ne possede qu’un seul et unique etat initial et si l’ensemble des motsformes par les transitions sortantes pour tout etat q de l’automate est sansprefixe. Pour cela, une notion de liberte de prefixe locale est utilisee.

Bien que cette definition paraisse agreablement proche de celle proposeepour le determinisme des automates traditionnels, celle-ci n’assure pas ledeterminisme de tous les automates. Afin de recouvrir un reel determinismepour ces automates, ce sont Han et Wood [3] qui apportent un complementa cette definition.

En effet, un automate generalise A est deterministe si pour tout etat q

de A, les deux conditions sont realisees :

1. L’ensemble de tous les blocs parmis les transitions sortantes de q sontsans prefixe.

2. Pour tout couple de transitions sortantes (q, x, p) et (q, y, r) de q, six = y alors, necessairement, p = r.

8

Page 9: Généralisation des Automates Généralisés, Automates d'expression

Il faut donc noter maintenant que comme Giammarresi et Montalbanone necessitent pas la condition 2, le resultat rapide en est que certains DGAs(Deterministic Generalized Automaton) sont donc non deterministes. Maisla condition 2 nous apporte la restriction suivante en fait. On evite la re-dondance des transitions et on assure l’unicite des transitions pour un blocdonne.

Definition 1.2.8. Un langage L (rationnel) sur un alphabet Σ est sansprefixe si, pour tout couple distinct de mots x et y de L, x n’est pas prefixede y et y n’est pas prefixe de x.

Definition 1.2.9. Une expression rationnelle α est sans prefixe si, L(α) estsans prefixe.

Lemme 1.2.1. Un langage rationnel L est sans prefixe si et seulement siil existe un automate deterministe (DFA) utile A pour le langage L qui nepossede aucune transition sortante pour chacun des etats terminaux.

Comme la preuve de ce lemme n’est pas presente dans l’article de Hanet Wood [3], ainsi que toutes les autres preuves d’ailleurs, nous allons tenterd’en apporter quelques unes dans la mesure de nos capacites, bien evidem-ment.

Demonstration. Avant toute chose, nous pouvons rappeler le theoreme sui-vant :

Theoreme 1.2.1. Tout langage reconnu par un automate non deterministel’est egalement par un automate deterministe.

Supposons tout d’abord qu’il existe un automate deterministe utile Apossedant une transition sortante pour au moins un etat terminal t ∈ T

de A. Soit donc t, c, q cette transition avec c ∈ Σ et q ∈ Q. Soit x le motreconnu par l’automate et accepte par t. L’automate etant utile, le mot xcw

avec w ∈ Σ∗ appartient aussi a L(A). Et dans ce cas, x < xcw.

Traitons l’autre implication a present et supposons que le langage ra-tionnel est prefixe. Autrement dit, il existe au moins un couple de mots x ety de Σ∗ tel que x < y (sans perte de generalites). Sachant que l’automatereconnaissant le langage est deterministe et utile, supposons que celui-ci nepossede aucune transition sortante d’aucun etat terminal. C’est absurde carx etant un chemin reussi, celui-ci s’acheve en un certain etat t ∈ T maiscomme x < y, alors y est aussi un chemin reussi et doit par consequentpasser lui aussi par cet etat t. Si y = ǫ la question ne se pose meme pas maissi y 6= ǫ alors il existe necessairement une transition sortante de t.

9

Page 10: Généralisation des Automates Généralisés, Automates d'expression

Chapitre 2

Applications

Maintenant que nous avons pu effectuer un rappel sur quelques notionsutiles, entrons des maintenant dans le vif du sujet, a savoir la generalisationdes automates generalises. Nous verrons durant l’etude de ce modele etde ses operations que malgre les definitions, l’etude meme n’en est qu’aces premiers balbutiements.

Il nous faudra etudier le determinisme de ces automates, ainsi que lesmethodes permettant de reduire leur taille afin de trouver, esperons-le unautomate minimal equivalent.

2.1. Automates d’expression

Qu’il s’agisse des expressions rationnelles ou des automates a nombrefini d’etats (deterministes), tous deux possedent la meme puissance d’ex-pression [4]. Qu’entendons-nous par puissance d’expression ? A vrai dire, lameme puissance d’expression signifie simplement que pour une expressionrationnelle donnee, et un automate fini deterministe donne reconnaissant lememe langage que celui de l’expression rationnelle, aucun des deux ne re-connais plus ou moins de mots du langage. Tous deux reconnaissent le memelangage.

Nous avons vu que partant d’un automate fini, celui-ci ne peut pas por-ter plus d’une lettre par transition. Eilenberg [1] a ensuite propose unegeneralisation pour ces automates en leur permettant d’accepter aussi desmots ou la chaıne vide en ce qui concerne les transitions. Maintenant queces deux entites ont ete etudiees, pourquoi ne pas etendre a nouveau les au-tomates afin que leur transitions acceptent une notion un peu plus generaleque les mots, a savoir, des expressions rationnelles. Cela n’est pas du toutcontradictoire cela dit. En effet, n’oublions pas qu’une lettre ou un mot est

10

Page 11: Généralisation des Automates Généralisés, Automates d'expression

une expression rationnelle, fort simple, mais une expression rationnelle, toutde meme.

Les automates d’expression, malgre leur generalisation qui, en generallaisse presager a une multitude de parametre formels, se definissent tresbien et leur definition est fortement proche de celle des automates finis etgeneralises, tout en restant aussi simple.

Definition 2.1.1 (Automate d’Expression). Un automate d’expression Aest defini par un quintuplet :• δ ⊆ Q×RΣ ×Q, ensemble (fini) de transitions d’expressions,• Q un ensemble fini d’etats,

A =

(

Q , Σ , δ , i , t

)

• Σ est l’alphabet d’entree,• i ∈ Q est l’etat initial de l’automate,• t ∈ Q est l’etat terminal de l’automate.

RΣ est l’ensemble de toutes les expressions rationnelles sur Σ. (Il est anoter que nous n’avons besoin que d’un seul etat final). Il est aussi necessaireque pour tout couple d’etat p et q, il existe une unique transition d’expression(p, α, q) appartenant a δ avec α une expression rationnelle sur Σ.

Nous pouvons utiliser la notation fonctionnelle pour les transitions sil’on souhaite utiliser le formalisme sous-jacent des automates d’expressiona d’autres fins. Plutot que de representer les transitions sous la forme d’untriplet (p, α, q) ∈ Q×RΣ ×Q, nous pouvons representer une transition dela maniere suivante :

δ : Q×Q → RΣ

(p, q) 7→ α

Cette nouvelle notation n’est pas sans nous rappeler les notations uti-lisees en compilation. Et si l’on se rappelle un peu de ce qui a ete vu dansdes cas pratiques d’utilisation de ces automates, nous avons vu que ceux-cipouvaient apporter un gain considerable pour l’utilisation d’un compilateurC++ par exemple. On peut aussi remarquer que δ contient exactement |Q|2

transitions, une pour chaque couple d’etat, et meme si (p, , q) fait partie deδ, pour un certain p et q de Q, l’automate A ne peut pas aller de p a q

directement.

Comme nous avons vu qu’il etait possible de generaliser les automatestraditionnels ainsi qu’un nombre de proprietes les concernant, voyons main-tenant comment il est possible de generaliser la notion de chemin reussi

11

Page 12: Généralisation des Automates Généralisés, Automates d'expression

vers des suites de transitions d’expression acceptantes et vers des suites detransitions de langages acceptants. Autrement dit, plutot que de reconnaıtrelettre par lettre lors des passages par transitions, nous allons voir comment ildevient possible d’accepter des suites d’expression ou des suites de langages.

Definition 2.1.2. Une sequence acceptante de transition d’expres-

sion est une suite de transitions de la forme :

(p0 = i, α1, p1) · · · (pm−1, αm, pm = t)

En considerant un chemin de longueur m ≥ 1 ou i est l’etat initial et t l’etatterminal.

La seconde notion, qui suit celle de sequence acceptante de transitiond’expression, est celle qui s’etend aux langages. Comme nous ne faisons quede la generalisation, nous etendons ces transitions d’expressions aux suitesde transitions de langages, dont voici la definition.

Definition 2.1.3. Une suite acceptante de transitions de langage estune suite de transitions de la forme :

(p0 = i, L(α1), p1) · · · (pm−1, L(αm), pm = t)

En considerant un chemin de longueur m ≥ 1 ou i est l’etat initial et t l’etatterminal.

Nous allons voir maintenant qu’il existe une certaine bijection entre NFAutiles et EA utiles. En effet, nous tenterons d’apporter la preuve que toutautomate fini peut-etre convertit en un automate d’expression equivalent etvice versa. Pour cela, nous utiliserons le lemme 2.1.1.

Lemme 2.1.1. Tout NFA utile peut-etre convertit en un automate d’expres-sion (EA) utile equivalent. Il en decoule que tout langage rationnel est doncle langage d’un automate d’expression.

Ce lemme est tout de meme important, dans la mesure ou celui-ci nouspermet d’etablir qu’il est possible de convertir tout automate a nombre finid’etats A en un automate d’expression (EA) equivalent. Comme nous venonsde le voir en parlant de la bijection inherentes aux deux types d’automates,nous aurons que tous deux possedent la meme puissance d’expression.

La preuve proposee est un preuve constructive. Il suffit, pour cela, deconstruire une expression rationnelle α de maniere a ce que L(α) = L(A).Nous souhaitons donc que le langage reconnu par l’expression rationnelle α

soit le meme que celui reconnu par l’automate fini A.

Considerons l’automate d’expression utile A = (Q, Σ, δ, i, t). Celui-ciest non-retournant si δ(q, i) = ∅, pour tous les etats q ∈ Q. Autrement

12

Page 13: Généralisation des Automates Généralisés, Automates d'expression

dit, il n’existe pas de transition ni entrantes ni bouclantes pour l’etat initialou plus simplement, il n’existe aucun chemin passant par l’etat initial. Ilest alors facile de montrer que tout automate d’expression utile A peut-etreconvertit en un automate d’expression utile non-retournant, reconnaissantle meme langage L(A).

2.1.1 Elimination des etats

Ayant vu qu’il etait desormais possible de “jongler” entre les differentsautomates equivalents, il est alors legitime de presenter comment y par-venir. Nous allons presenter dans cette partie une methode permettant detransformer tout automate en un automate d’expression equivalent.

p

q

r

eiej

ek

p r(ei · ej) + ek

Fig. 2.1 – Un exemple d’elimination d’etat : etat q.

On definit l’elimination d’un etat q ∈ Q\{s, f} dans l’automate A

comme le “court-circuit” des fleches entrantes en q, sortantes de q et bouclantsur q lui-meme a l’aide de suites de transitions d’expression. Les operations arealiser peuvent etre facilement transformees en algorithme. Voici les grandesetapes de l’operation atomique concernant l’elimination d’un etat.

Pour chaque transition entrante (pi, αi, q) avec i ∈ {1, · · · , m}, pourchaque transition sortante (q, γj , rj) avec j ∈ {1, · · · , n} et pour chaquetransition bouclant sur l’etat q, (q, β, q) de δ, on construit alors une nouvelletransition :

δ(pi, rj) = αi · β∗ · γj

Puisque il existe toujours une transition (p, ν, r) dans δ, pour un expres-sion ν, nous fusionnons les deux transitions afin de donner la transition decontournement (p, (αi ·β

∗ ·γj)+ν, r). Il nous suffit alors de supprimer l’etatq et toutes les transitions entrantes et sortantes de q dans δ. On appelle alorsl’automate d’expression Aq = (Q\{q}, Σ, δq, i, t) resultant de l’eliminationde l’etat q.

Lemme 2.1.2. Soit A = (Q, Σ, δ, i, t) un automate reduit et sans cycleavec au moins trois etats et soit q un de ses etats dans q ∈ Q\{i, t}. Ondefinit alors Aq = (Q\{q}, Σ, δq, i, t) un automate reduit et sans cycle telque, pour tout couple p et r d’etats dans Q\{q},

δq (p, r) = δ (p, r) + (δ (p, q) · δ (q, q)∗ · δ (q, r))

13

Page 14: Généralisation des Automates Généralisés, Automates d'expression

De cette maniere, nous avons maintenant que L(Aq) = L(A) avec Aq

utile et non retournant.

a a

b

bab

a

a

b

aa∗b

ab

aaa∗b

ab

aba(ab)∗(aa∗b + ab)

Fig. 2.2 – Un EA pour le langage rationnel L(a(ab)∗(aa∗b + ab)) et l’elimi-nation de ses etats.

L’elimination d’un etat q preserve tous les chemins etiquetes a partir despredecesseurs de q a ses successeurs. Par consequent, l’elimination d’etatsne change pas le langage accepte par l’automate d’expression A.

Pour completer la construction d’une expression rationnelle equivalente,nous repetons l’operation atomique qu’est l’elimination d’un etat jusqu’ace qu’on ai Q = {i, t}. De cette maniere, nous nous retrouvons avec unautomate d’expression utile et non-retournant A, qui possede exactementdeux etats i et t. On peut aussi remarquer que δ(i, i) = ∅ et δ(t, i) = ∅puisque A est utile et non-retournant. Donc, seules les transitions δ(i, t) etδ(t, t) peuvent-etre non triviales.

Theoreme 2.1.1. Un langage L est le langage d’un automate d’expressionsi et seulement si L est un langage rationnel.

L’algorithme d’elimination des etats venant d’etre decrit, nous pouvonsadmettre que l’implementation, meme si l’algorithme est assez naıf, peut po-ser certains problemes. Afin d’effectuer toutes les etapes de l’elimination, demaniere coherente, nous allons presenter l’algorithme sous forme de pseudo-code. De cette maniere, l’implementation en sera plus aisee. Il s’agit del’algorithme 2.

Nous venons de decrire l’algorithme effectuant la micro-operation demaniere detaillee puis sous forme de pseudo-code, nous pouvons alors pre-

14

Page 15: Généralisation des Automates Généralisés, Automates d'expression

Algorithme 1 : Eliminer etat

Entrees : A un EA utile non retournant et q ∈ Q\{i, t} l’etat aeliminer.

debut{ Sauvegarde des transitions entrantes, sortantes et

bouclantes pour l’etat q passe en parametre };δe ← {(p, α, q) ∈ δ | p ∈ Q\{t, q}, α ∈ RΣ};δs ← {(q, γ, r) ∈ δ | r ∈ Q\{i, q}, γ ∈ RΣ};δb ← {(q, β, q) ∈ δ | q ∈ Q\{i}, β ∈ RΣ};pour tous les (p, α, q) ∈ δ avec p 6= q faire{ Pour chacune des transitions entrantes };pour tous les (q, γ, r) ∈ δ avec r 6= q faire{ Pour chacune des transitions sortantes };si ∃ (q, β, q) ∈ δ alors{ S’il existe une transition bouclant };Etiquette ← α · β∗ · γ;

sinon{ S’il n’existe pas de transition bouclant };Etiquette ← α · γ;

finsisi ∃ (p, ν, r) ∈ δ alors{ Doit-on combiner deux transitions };Etiquette ← ((Etiquette) + ν);

finsiAjouter Transition (A, (p, Etiquette, r));

finprtsfinprts{ Suppression des transitions devenues inutiles };δ ← δ\(δe ∪ δs ∪ δb);{ Suppression de l’etat q};Supprimer Etat (A, q);retourner A;

fin

senter l’algorithme general qui est du coup, on ne peut plus simple. Il s’agitde l’algorithme 2.

Un autre point important qu’il est necessaire de soulever ici est l’ordredans lequel a lieu l’elimination des etats. Ceci peut paraıtre annodin aupremier abord mais en y reflechissant bien, nous allons aboutir a un resultatinteressant. Nous avons vu que la complexite d’un langage etait fortement liea la representation de l’automate minimal le representant. Nous venons ausside montrer que tout langage rationnel peut-etre represente par un automated’expression le reconnaissant et que celui-ci peut toujours se reduire en un

15

Page 16: Généralisation des Automates Généralisés, Automates d'expression

Algorithme 2 : Elimination totale

Entrees : A un automate d’expression utile non retournant.Sorties : A un automate d’expression utile non retournant minimal.debut

Q′ ← Q\{i, t};tant que Q′ 6= ∅ faire

q ← Obtenir Etat Suivant(Q′);Eliminer Etat(A, q);Q′ ← Q′ \{q };

fintqretourner A;

fin

automate comportant deux etats (un final et un initial) et une, voire deux,transitions. N’est-il pas formidable de se retrouver en presence d’un si petitautomate ?

A vrai dire, la complexite du langage devrait etre modelisee differem-ment. Il faudrait aussi tenir compte de la taille des etiquettes afin de definirun bon compromis entre nombre d’etats et tailles (en nombre de caracteres)des etiquettes de transitions. En introduisant cette nouvelle notion, l’ordred’elimination des etats ainsi que la complexite du langage represente prendune importance plus grande. C’est un autre probleme bien connu, que celuide reduire la taille d’une expression rationnelle.

Si l’on reprend l’exemple de la figure 2.1, et que nous effectuons l’elimi-nation des etats dans l’ordre des entiers representant les etats, nous pouvonsaboutir a l’expression rationnelle suivante :

e1 = (aa (ba)∗ (baa∗b + b)) + (aaa∗b)

Alors que celle proposee est :

e2 = a (ab)∗ (aa∗b + ab)

Et qu’il en existe une autre equivalente mais un peu plus factorisee :

e3 = a (ab)∗ aa∗b

Nous devons alors remarquer la chose suivante :

|e3| < |e2| < |e1|

On peut alors remarquer que suivant l’ordre d’elimination des etats,nous pourrions augmenter ou reduire la taille de l’etiquette de la transition

16

Page 17: Généralisation des Automates Généralisés, Automates d'expression

finale representant l’expression et que nous pourrions, par la meme occasion,modifier la complexite du langage dans ce nouveau modele qui tient comptede la taille des etiquettes de transitions.

Nous verrons, lorsque nous nous occuperons de la minimisation des au-tomates d’expression que cette idee devrait etre approfondie, si ce n’est dejafait.

Rappelons aussi qu’avant de pouvoir effectuer l’elimination des etats del’automate d’expression, nous nous devons d’etre en presence d’un automateparticulier. Celui-ci doit-etre :

– Deterministe– Minimal– Accessible et Co-accessible (Utile)

2.2. Automates d’expression Deterministes

Nous en connaissons maintenant assez sur les automates d’expression,pour pouvoir nous permettre de nous interesser aux versions deterministes deces automates. Ce sont donc les automates d’expression deterministes(DEAs) que nous allons etudier ainsi que leurs proprietes.

On dit qu’un automate fini est deterministe si pour chaque etat, l’etatsuivant est defini de maniere unique par l’etat courant et par le caractered’entree courant ou plus formellement :

Definition 2.2.1 (Automate fini deterministe). Un automate a nombre finid’etats A = (Q, Σ, δ, I, T ) est deterministe si et seulement si les deux condi-tions suivantes sont remplies :• |I| = 1 (unique etat initial).• ∀p ∈ Q, ∀a ∈ Σ, |δ(p, q) = a| ≤ 1 (pour chaque etat, il existe au plus,

une transition par lettre).

Lorsque l’on travaille avec les automates d’expression, la situation n’estpas si simple. En effet, lorsque l’on traite un mot en entree, avec un auto-mate d’expression donne ainsi qu’un etat courant donne, nous devons nonseulement, determiner l’etat suivant, mais aussi un prefixe adequate de lachaıne resultante apres transition car chacune des transitions est etiqueteepar un expression rationnelle (ou un langage rationnel) au lieu de l’etre parune simple lettre.

Il va nous falloir alors un autre moyen de decrire le determinisme pourles automates d’expression.

17

Page 18: Généralisation des Automates Généralisés, Automates d'expression

Un automate d’expression est deterministe si et seulement si, pour cha-cun des etats p de l’automate, tout couple de transitions sortantes possedentdes langages rationnels disjoints et chacun des langages rationnels ainsiconsideres, sont des langages sans prefixes.

a∗

(a)

a∗b

(b)

Fig. 2.3 – a. Exemple de non liberte de prefixe. b. Exemple de liberte deprefixe.

Afin de mieux cerner cette nouvelle notion, nous pouvons nous servirde l’illustration de la figure 2.3. La transition sortante de la figure 2.3(a)n’est pas sans prefixe car L(a∗) n’est pas sans prefixe. Nous avons ai quiest prefixe de aj pour tout 1 ≤ i ≤ j. Du coup, on peut directement voirque cet automate d’expression n’est pas deterministe. Par contre, la figure2.3(b) presente un automate d’expression deterministe car le langage L(a∗b)est bel et bien sans prefixe.

2.2.1 Definition

Nous pouvons desormais, maintenant que nous avons apercu ce qu’etaitun automate d’expression deterministe, donner une definition formelle de cefameux determinisme.

Definition 2.2.2. Un automate d’expression A = (Q, Σ, δ, i, t), ou |Q| =m, est deterministe si et seulement si les trois conditions suivantes sontrespectees :

1. Langages non prefixes : Pour tout etat q ∈ Q et pour chaque tran-sition sortant de l’etat q

(q, α1, q1), (q, α2, q2), . . . , (q, αm, qm)

L(α1) ∪ L(α2) ∪ . . . ∪ L(αm) est un langage rationnel sans prefixe.

2. Disjonction des langages : Pour tout etat q ∈ Q et pour chaquecouple de transitions sortantes de l’etat q par αi et alphaj, ou i 6= j et1 ≤ i, j ≤ m,

L(αi) ∩ L(αj) = ∅

3. Etats finaux non-sortants :

∀ q ∈ Q, δ(t, q) = ∅

18

Page 19: Généralisation des Automates Généralisés, Automates d'expression

Que ce passerait-il si jamais l’une de ces trois conditions n’etait pasremplie ? On se retrouverait en presence d’un langage prefixe par exemplesi les langages n’etaient pas disjoints par exemple.

2.2.2 Proprietes

Effectuer l’investigation de ces automates particuliers nous amene biennaturellement a etudier certaines de leurs proprietes et des consequences quecelles-ci apportent. C’est ce que nous allons voir dans cette partie. Et nouscommencerons par un lemme.

Lemme 2.2.1. Si un automate d’expression deterministe utile A =(Q, Σ, δ, i, t) possede au moins trois etats, alors, pour tout etat q ∈ Q\{i, t},Aq est deterministe. Neanmoins, l’inverse n’est pas vrai.

Demonstration. Ce resultat est dans la prolongation du lemme 2.1.2 puisquela concatenation de langages sans prefixes est un langage sans prefixe. Parconsequent, l’elimination des etats pour un automate d’expression determi-niste, preserve le determinisme.

Lemme 2.2.2. Il existe un automate d’expression A utile qui est determi-niste si et seulement si L(A) est sans prefixe.

Theoreme 2.2.1. La famille des langages rationnels sans prefixes est fer-mee par la concatenation et l’intersection mais pas par l’union, complemen-tarite ou l’etoile.

Ces resultats de fermeture et de non fermeture peuvent etre montressimplement. Tentons alors d’en demontrer quelques uns. Commencons pardemontrer que cette famille n’est pas fermee par l’union.

Union. Soit les deux langages rationnels sans prefixes suivants :

L1 = L(a∗b) et L2 = L(a∗bc)

Le langage resultant de l’union de L1 et L2 est le langage :

L1 ∪ L2 = L(a∗b) ∪ L(a∗bc)

= L(a∗b + a∗bc)

= L(a∗(b + bc))

= L3

Soit maintenant les deux mots suivants :

x = b ∈ L3 et y = bc ∈ L3

Les deux mots x et y appartiennent bien a L3 mais x < y.

19

Page 20: Généralisation des Automates Généralisés, Automates d'expression

Un resultat relativement simple, comme cela venait d’etre dit, il en estde meme pour le cas de la fermeture par complementarite.

Complementarite. Soit le langage rationnel sans prefixes suivant et son com-plementaire sur l’alphabet Σ = {a, b} :

L(a∗b) et L(a∗b) = L(ǫ + aa∗)

Soit maintenant les deux mots suivants :

x = a ∈ L(a∗b) et y = aa ∈ L(a∗b)

Les deux mots x et y appartiennent bien a L(a∗b) mais x < y.

Comme nous avons traiter deux cas de non fermeture, nous allons appor-ter la preuve que la fermeture par concatenation de deux langages rationnelssans prefixe reste bien dans la famille des langages rationnels sans prefixe.

Concatenation. Cette fois, nous allons demontrer un cas de fermeture, celuide la concatenation. Commencons par considerer deux langages rationnelssans prefixes L1 et L2. Le langage resultant de la concatenation de ces deuxlangages est le langage L1.L2 = L. Donc, tout mot de L s’ecrit sous la formed’un mot w = x.y avec x ∈ L1, y ∈ L2 et bien sur w ∈ L.

Traitons maintenant les differents cas possibles qui s’offrent a nous. SoitX = x1.x2 ∈ L et Y = y1.y2 ∈ L, nous avons les differents cas suivantsou pour chacun, X 6= Y , X 6= ǫ et Y 6= ǫ mais nous n’en traiterons que lamoitie sans perte de generalites :

cas 1 : |X| = |Y | et |x1| > |y1| Or, par definition, on a y1 6< x1 donc X 6< Y et

x1 x2

y1 y2

comme |x1| > |y1| on a Y 6< X.

cas 2 : |X| < |Y | et |x1| > |y1| Or, par definition, on a y1 6< x1 donc x1 tronque

x1 x2

y1 y2

aux |y1| premiere lettres est different de y1 donc, X 6< Y et comme |X| < |Y | on a

Y 6< X.

Les autres cas sont symetriques et tous donnent le meme resultat a peude choses pres, par symetrie ou evidence.

20

Page 21: Généralisation des Automates Généralisés, Automates d'expression

2.3. Minimisation des Automates d’expression

Comme certaines proprietes concernant les automates d’expression ontpu etre vues, nous allons a present, nous occuper de la minimisation desautomates d’expression. Il est naturel de tenter de reduire la taille d’un au-tomate autant qu’il nous est possible afin d’economiser de l’espace memoireainsi que de la lisibilite.

Il existe des algorithmes bien connus qui reduisent efficacement la tailledes DFAs dans la mesure ou ceux-ci produisent des DFAs minimaux, uniques(au renommage pres des etats). Recemment, Giammarresi et Montalbano [2]ont suggere un algorithme de minimisation pour les automates generalisesdeterministes (DGAs). Helas, leur technique n’assure pas l’unicite del’automate generalise deterministe minimal. Pour un DGA donne, ils in-troduisent deux operations dans la recherche de l’automate minimal. Nouspourrions voir cette methode comme la suite d’operations, regroupementpuis suppression. Voyons maintenant la methode de Giammarresi et Mon-talbano reprise par Han et Wood [3].

2.3.1 Definition

Nous definissons la minimisation d’un DEA (Automate d’ExpressionDeterministe) comme la transformation d’un DEA donne en un DEA equi-valent mais possedant un nombre inferieur d’etats. On peut remarquer quepour tout DEA donne, nous sommes en mesure de construire un DEA mi-nimal consistant en un etat initial et un etat final relies entre eux par uneunique transition en utilisant l’elimination des etats pour les DEA vu en2.1.1.

Etant donne un DEA utile A = (Q, Σ, δ, i, t), on definit, pour un etatq ∈ Q, le langage droit

−→Lq comme l’ensemble des mots definis par l’auto-

mate utile−→Aq = (Q′, Σ′, δ′, q, t), ou Q′ ⊆ Q, Σ′ ⊆ Σ et δ′ ⊆ δ. On definit

de maniere similaire, le langage gauche←−Lq comme l’ensemble des mots

definis par l’automate utile←−Aq = (Q′, Σ′, δ′, q, t), ou Q′ ⊆ Q, Σ′ ⊆ Σ et

δ′ ⊆ δ.

Nous ajoutons alors la definition suivante permettant de differentier deuxetats. On dit que deux etats p et q sont indifferentiables si :

−→Lp =

−→Lq

Nous noterons par la suite, l’indifferentiabilite de deux etats, p ∼ q, parsoucis de concision. Explique de maniere moins formelle, on dit que deuxetats sont indifferentiables si, il nous est impossible, pour un mot donne, desavoir si, le chemin emprunte a un moment de la lecture passa par l’etat p ou

21

Page 22: Généralisation des Automates Généralisés, Automates d'expression

l’etat q. On peut alors se demander la chose suivante. Si p ∼ q, cela signifie-t-il qu’il existe un couple d’etats indifferentiables dans les etats suivants duDFA ? Cette propriete est loin d’etre vraie, la preuve en est visible en figure2.4.

s

p

q u v

r

f

a

a

bcad

b

b

a∗b ca

db

c

Fig. 2.4 – Un exemple d’etats indifferentiables

Ce probleme concernant l’unicite de la decomposition des chemins estsurement tres proche de celle des mots et de la la theorie des codes [5].

Nous definissons alors un DEA minimal, en se basanr sur la notion delangage droit. Nous pouvons alors donner la definition suivante.

Definition 2.3.1. Un DEA utile A est minimal si tous les etats de A sontdifferentiables les uns par rapport aux autres.

Donc, l’algorithme ne s’occupe principalement que de fusionner les etatsindifferentiables afin de minimiser un DEA. Nous allons maintenant detaillercomment, partant de deux etats p et q indifferentiable, nous aboutissons a,disons, un etat p.

La methode en elle-meme est assez simple. Si p et q sont tels que p ∼ q,alors, nous commencons par supprimer l’etat q ainsi que ses transitions sor-tantes, puis, nous redirigeons ces transitions entrantes vers l’etat p. Une foiscette micro-operation definie, il ne nous reste plus qu’a repeter l’operationa chaque fois et quand on trouve deux etats indifferentiables. La finitude dela methode est belle et bien verifiee puisque il existe un nombre fini d’etat.On peut ainsi garantir l’arret et la minimalite.

Nous devons maintenant prouver que la micro-operation effectuee surp ∼ q dans A ne modifie pas L(A). Puisque

−→Lp =

−→Lq, nous pouvons en-

lever l’etat q et ses transitions sortantes, puis rediriger ses transitions en-trantes afin qu’elles deviennent de nouvelles transitions entrantes pour l’etatp. Maintenant, soit

←−Lp et

←−Lq respectivement, les langages gauche de p et q.

On voit tres bien que la redirection des transitions entrantes de q en tant quenouvelles transitions entrantes de p implique que le nouveau langage gauche

22

Page 23: Généralisation des Automates Généralisés, Automates d'expression

de p est maintenant←−Lp ∪

←−Lq alors que juste avant le langage gauche de p est

←−Lp et celui de q,

←−Lq. Neanmoins, puisque

−→Lp =

−→Lq, une fois qu’on a enleve

l’etat q le langage droit de p reste, par consequent, inchange. Finalement,nous concatenons les langages et nous obtenons le langage initial, avant lasuppression de l’etat q.

(

←−Lp ∪

←−Lq

)

.−→Lq =

(

←−Lp.−→Lp

)

∪(

←−Lq.−→Lp

)

=(

←−Lp.−→Lp

)

∪(

←−Lq.−→Lq

)

p

q

e1

e2

e3

e4

e5

e6

p

q

e1 + e2

e3 + e4

e5 + e6

Fig. 2.5 – Exemple de fusion d’etats indiferrentiables p et q. Les pointillesrepresentent les transitions supprimees.

Tout comme pour les DGAs, il n’est pas possible d’assurer l’unicite d’unDEA minimal pour un DEA donne. En revanche, nous pouvons garantir quenous obtenons bel et bien “un” DEA minimal. Par exemple, l’automate enfigure 2.4 peut-etre minimise, au moins, de deux manieres distinctes.

2.3.2 Algorithme

Le plus difficile dans cette partie, ce n’est pas l’application de l’algo-rithme en general mais surement l’operation consistant a comparer deuxlangages droits. Nous pourrions effectuer une copie de l’automate et elimi-ner tous les etats de l’automate distincts du couple considere. Il ne resteraitalors qu’a comparer les expressions. Mais, est-ce vraiment judicieux ?

De toute maniere, voici donc la methode de minimisation des DEAspresentee en 2.3.1 reecrite sous forme de pseudo-code afin de rendre plusagreable la suite necessaire d’instructions effectuant l’operation.

23

Page 24: Généralisation des Automates Généralisés, Automates d'expression

s

p

q u v

inaccessible

r

f

a + b

a∗b cadb

c

p→ q

s

p

q

inaccessible

u v

r

f

a + b

a

bcad

b

db

c

q → p

a + b a∗b ca db

c

(a)

a + b

a

bcad

b

db

c

(b)

Fig. 2.6 – Deux automates minimaux distincts pour l’automate en Fig. 2.4

2.4. Langages Rationnels sans prefixes, premiers

Considerons que nous avons deux expressions rationnelles, α1 = b∗a∗ etα2 = a∗b∗. Si l’on effectue la concatenation de ces deux expressions, nousobtenons α1 ·α2 = b∗a∗b∗ ou nous ne voyons apparaıtre que trois etoiles. Cesetoiles sont b∗, a∗ et b∗, alors que la concatenation sans simplification nousen aurait laisser quatre visibles. La liberte de prefixe, ou, tout du moins, lefait que le langage soit sans prefixe, assure qu’il ne peut y avoir de tellespertes lors de la concatenation. De maniere similaire, tout langage rationnelinfini peut-etre decoupe autant de fois qu’on le souhaite tant que l’on y metpas de borne. Par exemple, L(a∗) = L(a∗) · L(a∗) · L(a∗) · · ·L(a∗).

Ces deux exemples amenent a se poser la question, de savoir, si unedecomposition non bornee d’un langage rationnel sans prefixe, infini, estpossible ou non. Il existe quelques resultats connus sur la decompositionpremiere des langages finis ainsi que sur la decomposition des langages ra-tionnels [6].

Definition 2.4.1. Un langage rationnel sans prefixe L est premier si L 6=L1 · L2 pour tout langages rationnels sans prefixes, non triviaux L1 et L2.

On dit qu’un etat b dans un DFA A est un etat pont si les conditionssuivantes sont maintenues :

1. b est ni un etat initial, ni un etat final.

2. Pour tout mot w ∈ A, son chemin, dans A, doit passer au moins unefois par l’etat b.

24

Page 25: Généralisation des Automates Généralisés, Automates d'expression

Algorithme 3 : Minimisation d’un EA

Entrees : A un EA utile non retournant et q ∈ Q\{i, t} l’etat aeliminer.

debutpour tous les p ∈ Q faire{ Pour chacun des etats p};pour tous les q ∈ Q faire{ Pour chacun des etats q};si p 6= q alors{ Un couple d’etats distincts };si p ∼ q alors{ Ce couple est indifferentiable };Supprimer Etat (A, q);{ Suppression des transitions sortantes };pour tous les (q, α, r) ∈ δ faire

Supprimer Transition (δ, (q, α, r));finprts{ Redirection des transitions entrantes };pour tous les (r, α, q) ∈ δ faire

Supprimer Transition (δ, (r, α, q));Ajouter Transition (δ, (r, α, p));

finprtsfinsi

finsifinprts

finprtsretourner A;

fin

Nous partitionnons l’automate A en b en deux sous-automates A1 et A2

tel que toutes les transitions sortantes de b appartiennent a A2, faisant deb l’etat final de A1 et l’etat initial de A2, respectivement. Ceci nous assurealors que A1 defini un langage rationnel sans prefixe.

Theoreme 2.4.1. Un langage rationnel sans prefixe L est un langage ra-tionnel sans prefixe premier si et seulement si il n’existe aucun etat pontdans le DFA minimal A pour L.

Le theoreme 2.4.1 nous montre enfin que etant donne un langage ration-nel sans prefixe L, celui-ci ne peut-etre decompose indefiniment puisque sonDFA minimal possede un nombre fini d’etats.

25

Page 26: Généralisation des Automates Généralisés, Automates d'expression

Conclusion

Cette etude nous a permis d’explorer un certains nombre de connais-sances relatives aux automates generalises et leur extension, les automa-tes d’expression. Nous y avons remarque que l’elimination d’etats est unmoyen naturel et simple permettant le calcul d’une expression rationnellepartant d’un automate donne a travers differentes transformations.

Nous avons ensuite aborde de maniere formelle, la definition des au-tomates d’expression ainsi que des DEA bases sur la notion de langagesans prefixe. Cela nous a ensuite guide vers un resultat. Celui-ci nous disque les langages reconnus par les automates d’expression deterministessont en fait, des langages rationnels sans prefixes et que ceux-ci formentpar consequent, un sous-famille des langages rationnels.

Nous avons ensuite pu verifier durant l’etude de la minimisation desautomates d’expression deterministes, tout comme pour Giammarresi etMontalbano, qu’en general, l’automate minimal obtenu n’est pas unique.Puisque le probleme de l’equivalence entre expressions rationnelles est unprobleme NP-complet, nous pouvons nous attendre a ce que celui de laminimisation en soit de meme. C’est exactement ce probleme qui se pose,aussi bien dans la definition formelle du modele minimal que dans le calculde celui-ci (nombre d’etats, taille des etiquettes, etc.).

Enfin, nous avons survole la decomposition des langages en langagespremiers afin d’esperer trouver une piste ou une idee permettant de “cas-ser” cette complexite et peut-etre aboutir a une definition formelle de laminimalite des automates.

26

Page 27: Généralisation des Automates Généralisés, Automates d'expression

Ce que nous pourrions tenter a present, serait de generaliser les au-tomates consideres depuis le debut de ce document, ainsi que toutes lesproprietes obtenues, aux automates a multiplicite. Nous pourrions peut-etre obtenir quelques resultats supplementaires, plus larges, mais qui nouspermettraient, au final, de les reappliquer de la cas precis des automatesd’expression. (Reculer pour mieux sauter)

27

Page 28: Généralisation des Automates Généralisés, Automates d'expression

Bibliographie

[1] S. Eilenberg, Automata, languages and machines, Academic Press, 1974.

[2] D. Giammarresi and R. Montalbano, Deterministic generalized auto-mata, Theoretical Comput. Sci. 215 (1999), 191–208.

[3] Y. Han and D. Wood, The generalization of generalized automata : Ex-pression automata, Theoretical Comput. Sci. (2004), 08.

[4] J. Hopcroft and J. Ullman, Introduction to automata theory, languages,and computation, 2nd ed., Addison-Wesley, 1979.

[5] D. Perrin and J. Berstel, Theory of codes, Universite de Marne-la-Vallee,2002.

[6] A. Salomaa and S. Yu, On the decomposition of finite languages, Deve-lopments in Language Theory (DLT) 99 (2000), 20–31.

28