Академический Документы
Профессиональный Документы
Культура Документы
i i
Automates nis
Jean-Eric Pin
Mots-cls : automate, langage, expression rationnelle, reconnaissable, automate squentiel, industrie de la langue, e e vrication, spcication. e e Rsum : introduits vers 1950, les automates nis constituent le mod`le le plus lmentaire de machine. Ce chapitre e e e ee prsente dune part les automates usuels, qui se contentent de lire un mot en entre pour laccepter ou le rejeter, et e e les automates squentiels, munis dune entre et dune sortie. Apr`s une br`ve prsentation du thor`me de Kleene, e e e e e e e cl de vote de la thorie des automates, nous dcrivons les applications des automates dans divers domaines, e u e e notamment la modlisation et les industries de la langue. e
Un bref historique
La thorie des automates est ne de la convere e gence de plusieurs courants scientiques. Le premier est issu des tentatives de logiciens tels que Church, Gdel ou Turing pour formaliser la notion o de calcul et de machine. Cet eort a occup toute e la premi`re moiti du vingti`me si`cle et pourtant, e e e e les automates nis, qui constituent le mod`le le e plus simple de machine, ne seront dnis formele lement que bien apr`s les machines de Turing. Les e syst`mes dynamiques discrets forment la seconde e source dinspiration. Bien que leur tude remonte e aux travaux de Morse datant de la premi`re moiti e e du vingti`me si`cle, leurs liens avec les automates e e nis font encore ` ce jour lobjet de recherches a tr`s actives. Le troisi`me courant, proche coue e sin du prcdent, est la thorie de linformation e e e btie par Shannon en 1948. Les probl`mes de coa e dage, tudis notamment par Schtzenberger d`s e e u e les annes cinquante, ont en eet profondment e e inuenc la thorie des automates. La quatri`me e e e source provient de linguistes tels que Chomsky qui, en cherchant ` formaliser les langues natua relles, ont introduit les concepts de mots, langages, grammaires, que nous utilisons aujourdhui. Le domaine des circuits lectroniques a t la cine ee qui`me source dinspiration. Il a conduit notame ment ` la notion dautomate avec sortie et au a concept de spcication du comportement dun e circuit. Les cinq domaines que nous venons dvoquer e bri`vement ont eu une inuence considrable sur e e la gn`se et le dveloppement de la thorie des aue e e e tomates. Mais historiquement, cest un article sur les rseaux neuronaux publi en 1943 par McCule e loch et Pitts qui est ` lorigine de la notion daua tomate. Il semble en eet que le terme thorie e des automates ait t introduit en 1948 par Von ee
Neumann en rfrence ` cet article. Par ailleurs, ee a ` la demande de la RAND Corporation, Kleene a a longuement analys cet article dans un mmoire e e rdig durant lt 1951, mais publi seulement en e e ee e 1956. Cet article marque la naissance de la thorie e des automates. Kleene y dmontre un thor`me qui arme e e e que les langages reconnus par un automate sont exactement les langages rationnels, appels aussi e langages rguliers, que lon peut dcrire ` pare e a tir des lettres de lalphabet eu utilisant trois oprations : lunion (qui joue le rle de laddie o tion), le produit et ltoile. On obtient ainsi un e procd descriptif tout ` fait dirent des autoe e a e mates, et ce rsultat est assez surprenant. Il a e pour consquence que lensemble des langages rae tionnels est ferm par intersection et complment. e e Les automates avec sortie ont t introduits ee eux aussi ` la n des annes cinquante. Un autoa e mate avec sortie lit un mot en entre et produit e un mot en sortie. Les mod`les les plus intressants e e sont les automates squentiels, qui permettent e dobtenir la sortie au fur et ` mesure de la lecture a du mot dentre. Ces automates sont tr`s proches e e des circuits lectroniques et leur synth`se en cire e cuit peut dailleurs tre enti`rement automatise. e e e
Mots et langages
En informatique, mais aussi en mathmatie ques, en linguistique ou en biologie, les informations sont souvent reprsentes par des cha e e nes de caract`res. Par exemple pour les donnes ine e formatiques, on utilise des suites de 0 et de 1, pour linformation gntique, des suites formes e e e des quatre caract`res A (Adnine), C (Cytosine), e e G (Guanine) et T (Thymine) et pour les langues naturelles, les mots gurant dans un dictionnaire. La formalisation commune ` ces exemples est a
i i i
i
Automates 2006/4/16 11:20 page 2 #2
i i
2 Automates finis
la suivante. Un alphabet est un ensemble ni dont les lments sont appels des lettres. Ainsi, on ee e parle de lalphabet binaire {0, 1}, de lalphabet du gnome {A, C, G, T }, de lalphabet latin usuel e {a, . . . , z, A, . . . , Z}. Dans les exemples qui vont suivre, on utilisera le plus souvent des alphabets assez petits tels que {a, b} ou {a, b, c} et on notera A lalphabet tout entier. Un mot sur lalphabet A est une suite nie de lettres de A. On note ces lettres par simple juxtaposition : ainsi le mot abracadabra est un mot sur lalphabet {a, b, c, d, r}. La longueur dun mot u, note |u|, est gale au nombre de lettres e e gurant dans u, chaque lettre tant compte aue e tant de fois quelle appara Ainsi, |abaabb| = 6 t. et |abracadabra| = 11. Il existe aussi un mot de longueur 0, que lon note . Le produit (ou concatnation) de deux mots e est le mot obtenu en mettant ces mots bout ` a bout. Par exemple, le produit des mots abra et cadabra est le mot abracadabra. On note aussi un le produit de n mots gaux ` u. Ainsi, (ab)3 = e a ababab. On appelle langage tout ensemble de mots sur un alphabet donn. Par exemple, les ensembles e {aba, babaa, bb} et {an bn | n 0} sont des langages sur lalphabet {a, b}.
ce mot en partant de ltat initial 1, on utilise e dabord la transition dtiquette a qui va de 1 vers e 2, puis celle de 2 vers 2 dtiquette a et enn celle e dtiquette b de 2 vers 3. Comme 3 est un tat e e nal, le mot aab est accept par lautomate. e Si on lit maintenant le mot aba en partant de ltat initial 1, on utilise successivement les trane sitions de 1 vers 2, de 2 vers 3 et enn de 3 vers 1. ` A lissue de la lecture du mot aba on arrive donc dans ltat 1, qui nest pas un tat nal : le mot e e est rejet par lautomate. e Enn, examinons le mot abb. Comme pour le mot aba, on commence par utiliser les transitions de 1 vers 2, puis de 2 vers 3, mais arriv dans e ltat 3, on constate quil ny a pas de transition e dtiquette b issue de 3. La lecture du mot ne peut e donc se poursuivre et le mot est galement rejet. e e
Langages reconnaissables
Lensemble des mots accepts par un autoe mate est par dnition le langage reconnu par e lautomate. On dit quun langage est reconnaissable sil existe un automate dterministe qui le e reconna En voici deux exemples. t. Lautomate de la gure 1.2 reconna le lant gage des mots sur lalphabet {a, b} qui commencent par aba. a, b
Automates dterministes e
1 a 2 b 3 a 4
La gure 1.1 reprsente un automate e dterministe. Cet automate poss`de trois tats, e e e 1, 2 et 3, entours par des cercles sur la gure. e Ltat 1 est ltat initial, ce quon indique par e e une `che entrante. Les tats 2 et 3 sont des e e tats naux, ce qui est indiqu par une `che e e e sortante. Cet automate poss`de aussi des transie tions, reprsentes par des `ches tiquetes par e e e e e des lettres. De plus, de chaque tat sort au plus e une `che dtiquette donne. e e e a a
1 a
2 b
i i i
i
Automates 2006/4/16 11:20 page 3 #3
i i
Automates non dterministes e 3
de ce rsultat est quun automate ni ne peut sie muler une pile de hauteur non borne (voir chae pitre Mod`les de machines). e
poss`de 2n tats. Fort heureusement, cette situae e tion extrme se rencontre rarement en pratique. e a, b a, b
Les automates non dterministes constie tuent une variante importante des automates dterministes. Ils sont eux aussi reprsents par e e e un graphe tiquet, comme celui de la gure 1.4. e e a, b
Automate minimal
Si on dispose dun automate dterministe ree connaissant un langage L, on peut liminer tous e les tats inaccessibles ` partir de ltat initial et e a e tous ceux ` partir desquels on ne peut pas ata teindre un tat nal. On obtient ainsi la version e monde de lautomate, qui est quivalente ` laue e e a tomate de dpart. e On peut ensuite minimiser lautomate. Cette opration consiste ` identier deux tats p et e a e q lorsque ce sont exactement les mmes mots e qui permettent daller de p ` un tat nal et a e de q ` un tat nal. Lautomate obtenu apr`s a e e cette opration, appel automate minimal de L, e e est encore quivalent ` lautomate de dpart. e a e On dmontre que parmi tous les automates e dterministes reconnaissant L, lautomate minie mal est celui qui poss`de le plus petit nombre e dtats. e
Expressions rationnelles
Si on conna un automate dterministe recont e naissant un langage L, on peut facilement tester si un mot appartient ou non ` L. En revanche, a il nest pas toujours facile de dcrire les mots e de L. Les expressions rationnelles, appeles aussi e expression rguli`re, permettent de rsoudre ce e e e probl`me. e ` Lexpression (a + b) a+ (bab + ca) (b + ) c est un exemple dexpression rationnelle sur lalphabet {a, b, c}. Comme on le voit, cest une forme dexpression algbrique utilisant les lettres de lale phabet, le mot vide, un oprateur +, un oprateur e e produit et une sorte dexposant, not . e Le symbole + dsigne le ou logique. Autree ment dit, L + L reprsente lunion des deux lane gages L et L , forme des mots qui sont dans L e
i i i
i
Automates 2006/4/16 11:20 page 4 #4
i i
4 Automates finis
i
1 0 0 1 0 0, 1
ou dans L . Le produit de L et L , not LL , est e form des mots qui sont produits dun mot de L e et dun mot de L . L + L = {u A | u L ou u L } LL = {uu | u L et u L }. Pour L = ab + abc et L = ab + cab, on trouve L + L = ab+abc+cab et LL = abab+abcab+abccab. Comme pour les mots, on peut dnir les puise sances dun langage en posant L0 = {}, L1 = L, L2 = LL, etc. Ltoile dun langage L, note L , est lunion e e de toutes les puissances de L : X n L . L =
n 0
De faon quivalente, L est form de tous les c e e mots qui peuvent scrire comme produit dun e nombre arbitraire de mots de L. Les langages rationnels sont les langages dcrits par des expressions rationnelles. Si A = e {a, b}, les langages suivants sont rationnels : lalphabet A, qui peut scrire a + b, lensemble e A = (a + b) form de tous les mots sur lale phabet A, le langage A aA des mots contenant la lettre a, le langage (A2 ) A des mots de longueur impaire, le langage (ab) form des mots e , ab, abab, ababab, . . .. Les expressions rationnelles sont dun usage courant en informatique. Ainsi, les diteurs vi et e emacs dUnix utilisent des expressions rationnelles pour la recherche dexpressions. Une syntaxe voisine est utilise par les analyseurs lexicaux (lex) e ou les langages de script, tels que Perl ou PHP.
Automates squentiels e
Le thor`me de Kleene e e
Le thor`me de Kleene, clef de vote de la e e u thorie des automates, arme quun langage est e rationnel si et seulement sil est reconnaissable. De plus, la dmonstration de ce thor`me foure e e nit un algorithme pour passer dun automate ` a une expression rationnelle et vice-versa. Le lecteur pourra par exemple vrier que le langage accept e e par lautomate de la gure 1.1 est le langage rationnel (aa ba) aa (b + ). Le thor`me de Kleene a plusieurs conse e e quences importantes, notamment le fait que lintersection de deux langages rationnels et la dirence de deux langages rationnels sont encore e des langages rationnels. Pour illustrer la porte de ce dernier rsultat, e e cherchons une expression rationnelle reprsentant e le langage L des mots ne contenant pas la cha ne 010. Pour lobtenir, on part de lautomate de la gure 1.5, qui reconna le langage des mots qui t contiennent la cha 010. La gure 1.7 donne un ne automate dterministe quivalent. e e
Les automates squentiels sont des automates e dterministes qui produisent un mot de sortie. Ils e permettent de raliser plusieurs transformations e famili`res telles que laddition des entiers, la mule tiplication par une constante, divers codages et dcodages, le couper-coller dans un texte, etc. e Dans un automate squentiel, ltat initial et e e les tats naux sont tiquets par des mots et les e e e transitions sont tiquetes par des couples forms e e e dune lettre et dun mot spars par une barre vere e ticale. La lettre gurant ` gauche de la barre est a lue en entre, et le mot gurant ` droite de la barre e a est alors produit en sortie (voir gure 1.9). Le mot de sortie associ ` un mot dentre sobtient en liea e sant lentre depuis ltat initial et en produisant e e les sorties spcies par les transitions, y compris e e celles donnes au dbut par ltat initial et ` la e e e a n par ltat nal. Si on ne parvient pas dans un e tat nal, aucune sortie nest produite. e 1|1 0| 0|0 0|01 0 1 2 1|011 1| 3 00
i i i
i
Automates 2006/4/16 11:20 page 5 #5
i i
Automates squentiels e 5
Considrons lautomate squentiel de la gure 1.9 e e et prenons 1001101 comme mot dentre. En pare tant de ltat initial 1, et en lisant le mot de gauche e ` droite, on parcourt le chemin : a 1 1 2 2 3 3 1 2 3 La sortie est obtenue comme produit des mots de sortie 0, 1, , 0, , 011, , , 00, soit 01001100. Comme pour les automates dterministes, on e peut minimiser un automate squentiel, bien que e lalgorithme soit plus dlicat ` mettre en place. e a Une fonction est dite squentielle si elle peut tre e e ralise par un automate squentiel. Un rsultat e e e e essentiel assure que la composition de deux fonctions squentielles est squentielle. e e Un automate squentiel est dit lettre ` lettre e a si les mots de sortie de chaque transition sont des lettres. Un automate de Mealy est un automate lettre ` lettre dont ltat initial et les tats a e e naux sont tiquets par le mot vide, ce qui signie e e en pratique que lon peut ignorer ces tiquettes. e Un automate de Moore est une variante dautomate squentiel dans laquelle les sorties sont e lies aux tats traverss et non aux transitions. e e e On peut dmontrer que tout automate de Moore e peut tre simul par un automate de Mealy et e e rciproquement. e La gure 1.10 reprsente un automate e squentiel lettre ` lettre qui permet de raliser la e a e multiplication par 3 des entiers reprsents sous e e forme binaire inverse. Comme son nom lindique, e la reprsentation binaire inverse est obtenue en e e lisant de droite ` gauche la reprsentation binaire a e usuelle. Dans le jargon des informaticiens, cest la reprsentation binaire dans laquelle le bit de e droite a le plus fort poids. 1|1 0|0 0 0|1 1 1 0|0 1|0
1|011 0| 1| 00 0 1|1 0| 0|0 1|
reprsentations aient la mme longueur. Par e e exemple, si n = 22 et m = 13, on prend pour n la reprsentation 01101 (car 2 + 4 + 16 = 22) et pour e m la reprsentation 10110 (car 1 + 4 + 8 = 13). On e consid`re le couple (01101, 10110) e comme un mot sur lalphabet ( 0 ) , ( 1 ) , ( 0 ) , ( 1 ) obtenu en su0 0 1 1 perposant les deux reprsentations et en lisant e les colonnes : ( 0 ) ( 1 ) ( 1 ) ( 0 ) ( 1 ). Lautomate qui 1 1 0 0 1 ralise laddition est reprsent sur la gure 1.11. e e e Il a pour alphabet de sortie {0, 1}. Les tats 0 et 1 e correspondent respectivement ` labsence et ` la a a prsence dune retenue. e 0 ( 0 ) |1 0 ( 1 ) |0 1 1 1
( 0 ) |0 0 ( 0 ) |1 1 ( 1 ) |1 0
( 0 ) |0 1 ( 1 ) |0 0 ( 1 ) |1 1
X +1
i i i
i
Automates 2006/4/16 11:20 page 6 #6
i i
6 Automates finis
constant peuvent tre ralises par des automates e e e squentiels. e En revanche, ni la multiplication, ni la division de deux entiers ne sont des oprations e squentielles. De fait, la conception dun circuit e lectronique ralisant la multiplication de deux e e entiers est beaucoup plus dicile que celle dun additionneur. Voici un dernier exemple, de nature assez dirente des prcdents. Un ltre ` rebonds lit e e e a une suite de bits commenant et nissant par 0 et c change chaque 0 en 1 sil est encadr par des 1, et e chaque 1 en 0 sil est encadr par des 0, les autres e bits tant inchangs. Ainsi, si le mot dentre est e e e 01011010, la sortie sera 00111100. La gure 1.13 reprsente un automate squentiel qui ralise un e e e ltre ` rebonds. a 0|0 0|0 1| 1|1 2 1|11 3 1|1 0|00 0|0 0| 0 4
d f t
o i
u n
b a
l l
e l y
h r
s o w s
10
Les automates interviennent souvent dans la modlisation de probl`mes concrets. Cest daile e leurs un bon rexe, face ` un probl`me discret e a e (i.e. ne faisant pas intervenir de nombres rels), e de commencer par regarder si une approche par automate nest pas envisageable. Le mod`le sape plique mme ` certains probl`mes continus. Il est e a e vrai que les cha nes de Markov utilises en probae bilit sont de proches parents des automates. e Nous prsentons ci-dessous quelques applicae tions pratiques des automates. Toutefois, nous ne dirons que quelques mots de lune des applications les plus importantes, la spcication et la e vrication de syst`mes (lectroniques ou infore e e matiques), car elle est traite en dtail au chapitre e e Automates et vrication. e
i i i
i
Automates 2006/4/16 11:20 page 7 #7
i i
Utilisation pratique des automates 7
i
C P L CLP C L
CL PS
CP
C S CP S C S
S C LS P LP S
la conguration du syst`me par un mot sur lale phabet {T, N }, dont la i-`me lettre vaut T ou N e selon que le processeur i poss`de on non le tmoin. e e Sil y a k processeurs, la conguration initiale est donc reprsente par le mot du langage T N k1 . e e On reprsente ensuite la transmission du e tmoin par lautomate squentiel de la gure 1.18. e e On peut donc considrer cette opration comme e e une fonction squentielle : {T, N } {T, N } . e N |N T |N N |T N |N
i i i
i
Automates 2006/4/16 11:20 page 8 #8
i i
8 Automates finis
gnration automatique de texte, ralisation de e e e dictionnaires lectroniques, etc. e Lautomate non dterministe de la gure 1.20, e d au linguiste Maurice Gross, indique lordre de u succession des particules prverbales en franais e c (sans tenir compte des lisions). Par exemple les e phrases je ne le lui ai pas donn ou il ny en a jae mais ! sont correctes, mais la phrase il se le lui est fait vol ne lest pas... An dallger la e e gure 1.20, seules certaines particules prverbales e sont reprsentes. Pour les obtenir toutes, il sut e e doprer les substitutions suivantes : e je je, tu, nous, vous, on, ce me me, te, nous, vous, il il, ils, elle, elles le le, la, les, lui lui, leur, y y, ne ne, se se, en en,
arbre ncessite 2203261 nuds, alors que lautoe mate minimal ne poss`de que 273716 tats. e e De plus, on dispose dalgorithmes tr`s ecaces e pour les oprations de recherche et de mise ` jour e a pour ces dictionnaires lectroniques. Si on dispose e dun dictionnaire sous forme dautomate, on peut ensuite facilement raliser un programme informae tique champion du monde de Scrabble... L N N U P A L N S
A B D O
S S
X S
je
ne
le
lui y
il ne
ne me se
le
N X O U
i i i
i
Automates 2006/4/16 11:20 page 9 #9
i i
Extensions de la notion dautomate 9
u, il est facile de construire un automate non dterministe ` n + 1 tats pour ce langage (voir la e a e gure 1.5, pour u = 010). Et, chose remarquable, lautomate minimal de ce langage poss`de lui aussi e n+1 tats. La gure 1.7 illustre cette construction e pour la cha 010. ne
un ensemble dtats naux, mais une table dene sembles dtats {F1 , F2 , . . . , Fk }. Un chemin inni e est alors dit russi sil est issu dun tat initial et si e e lensemble F des tats visits inniment souvent e e gure dans la table. b a 1 a 2 b
11
Lutilisation des automates nest pas limite e aux mots. Elle a t tendue aux mots innis, qui e ee sont des suites innies de lettres a0 a1 a2 , aux arbres et ` bien dautres structures. Le cas des a mots innis mrite que lon sy arrte, en raison e e de ses applications ` la vrication des syst`mes. a e e
11.2 Transducteurs
Un automate non dterministe muni de sorties e est appel un transducteur. Les transducteurs pere mettent de reprsenter des relations entre mots. e Ce sont des outils formels tr`s puissants, qui ont e aussi des applications pratiques, notamment dans les industries de la langue. On peut aussi considrer des transducteurs e dont les sorties ne sont pas des mots, mais des entiers ou des rels. Ce type de transducteur est e utilis notamment en traitement dimage. Une e variante, connue sous le nom dautomate maxplus est particuli`rement adapte pour tudier e e e les syst`mes ` vnements discrets, qui come a e e prennent par exemple les syst`mes de produce tion, les rseaux de transport, les syst`mes infore e matiques, etc. Les automates permettent daborder certains probl`mes dvaluation de perfore e mance (calcul de taux de production, de dbit), e ou des probl`mes doptimisation (nombre optimal e de processeurs pour raliser une tche donne). Ils e a e permettent en outre de formaliser simplement certains algorithmes daccessibilit sur les graphes. e
12
Autres dveloppements e
Il nest pas possible de rsumer en quelques e lignes les dveloppements actuels de la thorie des e e automates et nous nous contenterons dvoquer e quelques grands axes. Les liens entre la logique et les automates remontent au tout dbut de la thorie (travaux e e
i i i
i i
de Kleene, Bchi, Rabin et Mc Naughton nou tamment). Le formalisme logique fournit en eet, apr`s les automates et les expressions rationnelles, e une troisi`me faon de dcrire des ensembles de e c e mots. Il sapplique galement aux mots innis e et aux arbres et est tr`s utilis en vrication e e e (voir chapitre Automates et vrication) pour e spcier le comportement de certains syst`mes. e e Les dveloppements algbriques de la thorie e e e des automates sont tout aussi importants. En dotant les mots de coecients, on peut dnir e des sries formelles en variables non commutae tives, pour lesquelles Schtzenberger a tendu u e le thor`me de Kleene. Ces sries ont de mule e e tiples applications, notamment en thorie du e contrle. Une autre branche en plein essor o est la vision abstraite de la reconnaissance, dveloppe par Schtzenberger et Eilenberg. Elle e e u consiste ` remplacer les automates par des objets a mathmatiques, les semigroupes. Cette approche e a permis de rsoudre de tr`s nombreux probl`mes e e e thoriques. Outre la logique et lalg`bre, les aue e tomates entretiennent galement des liens troits e e avec dautres parties des mathmatiques : topoloe gie, probabilit, syst`mes dynamiques, thorie des e e e groupes, etc.
les mots innis. Par ailleurs, plusieurs articles de synth`se pae rus ces derni`res annes dcrivent divers aspects e e e de la thorie des automates. Citons ceux de Pere rin et de Thomas du Handbook of Theoretical Computer Science (van Leeuwen, 1990), et ceux de Bal et Perrin, de Pin, de Staiger, de Thomas e et de Yu dans le Handbook of Formal Languages (Rozenberg et Salomaa, 1997).
Bibliographie
Beauquier D., Berstel J. et Chrtienne P. e e Elments dalgorithmique. Masson. (1992),
Berstel J. et Reutenauer C. (1988), Rational Series and Their Languages. Springer-Verlag. (Traduction de Les sries rationnelles et leurs langages, paru e chez Masson en 1984). Crochemore M., Hancart C. et Lecroq T. (2001), Algorithmique du texte. Vuibert. Eilenberg S. (1974 et 1976), Automata, Languages and Machines, volume A et B. Academic Press. Hopcroft J. E., Motwani R. et Ullman J. D. (2001), Introduction to Automata Theory, Languages and Computation. Addison Wesley. second edition. Perrin D. (1989), Automates et algorithmes sur les mots. Annales des Tlcommunications, 44 :2033. ee Perrin D. (1995), Les dbuts de la thorie des aue e tomates. Technique et Science Informatique, 14 : 409433. Perrin D. et Pin J.-E. (2004), Innite Words. Automata, semigroups, logic and games, volume 141 of Pure and Applied Mathematics. Elsevier. Pin J.-E. (1986), Varieties of formal languages. North Oxford, London et Plenum, New-York. (Traduction de Varits de langages formels, paru chez Masson e e en 1984). Rozenberg G. et Salomaa A. (1997), Handbook of formal languages. Springer Verlag. 3 volumes. e Sakarovitch J. (2003), Elments de thorie des autoe mates. Vuibert, Paris. Sbold P. (1999), Thorie des automates Mthodes ee e e et exercices corrigs. Vuibert, Paris. e van Leeuwen J. (1990), Handbook of theoretical computer science. Vol. B. Elsevier Science Publishers B.V., Amsterdam.
13
Pour crire ce chapitre, je me suis appuy sur e e deux articles remarquables de Perrin (1989, 1995), que je recommande particuli`rement au lecteur. Il e y trouvera en particulier des complments biblioe graphiques qui nont pas pu tre repris ici. e Le lecteur francophone trouvera un expos du e thor`me de Kleene et de ses consquences dans e e e le livre de Sbold (1999) et une prsentation ee e beaucoup plus exhaustive de la thorie des autoe mates dans le rcent trait de Sakarovitch (2003). e e Pour un expos des algorithmes utilisant des aue tomates, nous renvoyons au livre de Beauquier et al. (1992) ou, pour tout ce qui concerne les algorithmes sur les mots, ` Crochemore et al. (2001). a On trouve souvent un chapitre ou deux consacrs aux automates dans les ouvrages sur e la compilation ou sur la thorie des langages tels e que le livre de Hopcroft et al. (2001). Pour les aspects les plus mathmatiques, le lecteur pourra e consulter le trait dEilenberg (1974 et 1976) ou e encore Pin (1986). Le livre de Berstel et Reutenauer (1988) est consacr aux sries formelles et e e celui de Perrin et Pin (2004) aux automates sur
i i i
i i
Index
alphabet, 2 analyseur lexical, 6 automate dterministe, 2 e mond, 3 e e non dterministe, 3 e squentiel, 4 e transition, 2 automates quivalents, 3 e chemin, 3 tiquette, 3 e russi, 3 e concatnation de deux mots, 2 e dictionnaire lectronique, 8 e tat e nal, 2 initial, 2 expression rationnelle, 3 rguli`re, 3 e e ltre ` rebonds, 6 a industries de la langue, 7 Kleene, 4 langage, 2 rationnel, 4 reconnaissable, 2 lettre, 2 Mealy, 5 minimiser, 3 Moore, 5 mot, 2 accept, 2 e inni, 9 semigroupe, 10 srie formelle, 10 e syst`me ` vnements discrets, 9 e ae e transducteur, 9 11
i i i