Notes de révision : Automates et langages



Documents pareils
Chapitre 2 Le problème de l unicité des solutions

Théorème de Poincaré - Formule de Green-Riemann

STI2D Logique binaire SIN. L' Algèbre de BOOLE

Techniques d analyse de circuits

Correction de l épreuve CCP 2001 PSI Maths 2 PREMIÈRE PARTIE ) (

LANGAGES - GRAMMAIRES - AUTOMATES

Algorithmes sur les mots (séquences)

semestre 3 des Licences MISM annnée universitaire

Université Paris-Dauphine DUMI2E. UFR Mathématiques de la décision. Notes de cours. Analyse 2. Filippo SANTAMBROGIO

Séquence 8. Probabilité : lois à densité. Sommaire

ANALYSE NUMERIQUE NON-LINEAIRE

COURS D ANALYSE. Licence d Informatique, première. Laurent Michel

/HVV\VWqPHVFRPELQDWRLUHV

Synthèse de cours (Terminale S) Calcul intégral

Chapitre 11 : L inductance

L'algèbre de BOOLE ou algèbre logique est l'algèbre définie pour des variables ne pouvant prendre que deux états.

LICENCE DE MATHÉMATIQUES DEUXIÈME ANNÉE. Unité d enseignement LCMA 4U11 ANALYSE 3. Françoise GEANDIER

Chapitre VI Contraintes holonomiques

Tout ce qu il faut savoir en math

Intégrale et primitives

LITE-FLOOR. Dalles de sol et marches d escalier. Information technique

Cours d Analyse IV Suites et Séries de fonctions

Pour développer votre entreprise. Compta LES LOGICIELS EN LIGNE, VOUS ALLEZ DIRE OUI!

Module 2 : Déterminant d une matrice

Toyota Assurances Toujours la meilleure solution

Statuts ASF Association Suisse Feldenkrais

Pour développer votre entreprise LES LOGICIELS EN LIGNE, VOUS ALLEZ DIRE OUI!

Guide des bonnes pratiques

Avant d utiliser l appareil, lisez ce Guide de référence rapide pour connaître la procédure de configuration et d installation.

SYSTEME DE TELEPHONIE

ANALYSE : FONCTIONS D UNE VARIABLE RÉELLE

Licence M.A.S.S. Cours d Analyse S4

Turbine hydraulique Girard simplifiée pour faibles et très faibles puissances

Introduction à la modélisation et à la vérication p. 1/8

AUTOUR D UN MÉMOIRE INÉDIT : LA CONTRIBUTION D HERMITE AU DÉVELOPPEMENT DE LA THÉORIE DES FONCTIONS ELLIPTIQUES. Bruno BELHOSTE (*)

Chapitre 1 : Fonctions analytiques - introduction

Conseils et astuces pour les structures de base de la Ligne D30

Influence du milieu d étude sur l activité (suite) Inhibition et activation

Guide d'utilisation Easy Interactive Tools Ver. 2

Probabilités sur un univers fini

Commencer DCP-7055W / DCP-7057W /

Classeur courtier d assurance. Comment organiser son activité et se préparer à un contrôle

Sommaire. 6. Tableau récapitulatif Sophos NAC intégré Vs. NAC Advanced - 17 Février

Réalisation de sites Internet PME & Grandes entreprises Offre Premium. Etude du projet. Webdesign. Intégration HTML. Développement.

ManSafe. pour les Utilitiés. La Protection antichute pour les Industries de l'energie. Français. TowerLatch LadderLatch

EnsEignEmEnt supérieur PRÉPAS / BTS 2015

3- Les taux d'intérêt

Thèse Présentée Pour obtenir le diplôme de doctorat en sciences En génie civil Option : structure

Transfert. Logistique. Stockage. Archivage

Partie 4 : La monnaie et l'inflation

Guide de l'utilisateur

Baccalauréat S Asie 19 juin 2014 Corrigé

NEWS PRO ACTIV. [Juillet 2015] Ce mois-ci on vous parle de. L arrêté est applicable à compter du 1er Juillet 2015.

Le canal étroit du crédit : une analyse critique des fondements théoriques


LOGICIEL FONCTIONNEL EMC VNX

La pratique institutionnelle «à plusieurs»

Compte rendu de la validation d'un observateur cascade pour la MAS sans capteurs mécaniques sur la plate-forme d'essai de l'irccyn

Magister en : Génie Mécanique

INFORMATIONS TECHNIQUES

- Phénoméne aérospatial non identifié ( 0.V.N.I )

La plateforme Next Generation Mini guide

Bloc notes. a À faire tout de suite. Gardez secret votre code confidentiel. À conserver précieusement. Protégez votre carte

1 Définition et premières propriétés des congruences

INSTRUCTIONS POUR L INSTALLATION ET LE FONCTIONNEMENT DES SERRURES À POIGNÉE BÉQUILLE

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Santé et sécurité psychologiques en milieu de travail

Modification simultanée de plusieurs caractéristiques d un bien hédonique : une nouvelle méthode de calcul de la variation de bien-être des ménages

Proposition. Si G est un groupe simple d ordre 60 alors G est isomorphe à A 5.

Directives COV et alternative lipochimique : peintures, encres, nettoyage, dégraissage...

Le produit semi-direct

McAfee Firewall Enterprise Control Center

Régression multiple : principes et exemples d application. Dominique Laffly UMR CNRS Université de Pau et des Pays de l Adour Octobre 2006

l appareil et vérifier les composants Module tambour-cartouche de toner (pré-installé)

INSTALLATION DE DETECTION INCENDIE

Livret de l étudiant

La paye. La comptabilité. Comparez et choisissez votre logiciel. Comparez et choisissez votre logiciel. Paye Bâtiment Paye Agricole 2013

Clients légers IGEL et bureaux virtuels : synergie idéale et coût minimal

Electrovanne double Dimension nominale Rp 3/8 - Rp 2 DMV-D/11 DMV-DLE/11

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

Calcul fonctionnel holomorphe dans les algèbres de Banach

Image d un intervalle par une fonction continue

La mesure de Lebesgue sur la droite réelle

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

III- Raisonnement par récurrence

Informatique Théorique : Théorie des Langages, Analyse Lexicale, Analyse Syntaxique Jean-Pierre Jouannaud Professeur

Dualité dans les espaces de Lebesgue et mesures de Radon finies

Fonctions de plusieurs variables

Portiers audio et vidéo ABB-Welcome et ABB-Welcome M

Résolution de systèmes linéaires par des méthodes directes

Probabilités sur un univers fini

Meg Gawler Bréhima Béridogo. Mars 2002

Chapitre 2 Le problème de l unicité des solutions

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Résolution d équations non linéaires

La fonction exponentielle

FONDATION CLEMENTINE ET MAURICE ANTILLE

Transcription:

Préprtion à l grégtion de mthémtiques 2011 2012 Notes de révision : Automtes et lngges Benjmin MONMEGE et Sylvin SCHMITZ LSV, ENS Cchn & CNRS Version du 24 octore 2011 (r66m) CC Cretive Commons y-nc-s Automtes et lngges Ces notes de révisions sont destinées ux cndidts à l grégtion de mthémtiques qui ont choisi l option D d informtique à l orl. Les notes couvrent (pour l instnt) l essentiel du progrmme de l option en mtière d utomtes et de lngges rtionnels, et seront complétées un jour... Certines thémtiques lrgement hors progrmme sont églement ordées : elles sont signlées pr le symole ici reproduit en mrge. Les notes de révision ne se sustituent ps à l lecture des ouvrges clssiques sur le sujet, mis offrent des renvois à ces ouvrges et les complètent vec des exemples et des pplictions plus vriées. En prticulier, on ne trouver ps en ces pges une seule démonstrtion complète, mis seulement des justifictions rpides, qui sont à proscrire lors d un développement orl. Progrmme officiel Le progrmme comporte d près le document du site de l grégtion http:// greg.org/indexmths2011.html : 1. Automtes finis. Lngges reconnissles. Lemme d itértion. Existence de lngges non reconnissles. Automtes complets. Automtes déterministes. Algorithme de déterministion. Propriétés de clôture des lngges reconnissles. 2. Expressions rtionnelles. Lngges rtionnels. Théorème de KLEENE. 3. Automte miniml. Résiduel d un lngge pr un mot. Algorithme de minimistion. 4. Utilistion des utomtes finis : recherche de motifs, nlyse lexicle. 5. Lngges lgériques. Lemme d OGDEN. Existence de lngges non lgériques. Grmmires lgériques. Propriétés de clôture des lngges lgériques. 6. Automtes à pile. Lngges reconnissles pr utomtes à pile. 7. Utilistion des utomtes à pile : nlyse syntxique. Grmmires LL(1). Les leçons correspondntes sont : Leçon 907 Algorithmique du texte : exemples et pplictions. Leçon 908 Automtes finis. Exemples et pplictions. Leçon 909 Lngges rtionnels. Exemples et pplictions. Leçon 910 Lngges lgériques. Exemples et pplictions. Leçon 911 Automtes à pile. Exemples et pplictions. Leçon 923 Anlyses lexicle et syntxique : pplictions.

Notes de révision : Automtes et lngges 2 Si le progrmme de l option D porte glolement sur l informtique fondmentle, on noter tout de même l insistnce des jurys à demnder des exemples et pplictions pour les résultts ssez théoriques du thème. C est que ces résultts, souvent sous l forme de preuves constructives, ne se réduisent ps à des théorèmes sur des ojets mthémtiques, mis sont réellement ppliqués dns de nomreux domines. Deux questions sont à se poser systémtiquement fce à un résultt théorique en informtique : 1. «À quoi cel sert-il?», quelles sont les pplictions de ce résultt? 2. «Quel est le coût?», quelle est l complexité théorique de cette construction? Biliogrphie recommndée Tout n est ps forcément disponile dns toutes les iliothèques universitires, mis u moins une prtie de ces ouvrges font prtie de l iliothèque de l grégtion, et sont donc disponiles pendnt les trois heures de préprtion des cndidts. Des renvois vers ces ouvrges sont systémtiques dns les notes de révision. Il est peut-être utile de rppeler que les seuls documents utorisés lors de l préprtion de l orl sont des livres lrgement diffusés, de mnière à préserver l églité des chnces entre les cndidts. En prticulier, ces notes de révision ne peuvent ps être utilisées lors de l préprtion elle-même, mis ont voction à l être en mont lors du trvil de révision à proprement prler. [ASU86] Alfred AHO, Rvi SETHI et Jeffrey ULLMAN. Compilteurs : Principes, techniques et outils. Dunod, 2000. Trduit de Compilers, Addison Wesley, 1986. [Aut94] Jen-Michel AUTEBERT. Théorie des lngges et des utomtes. Msson, 1994. [Cr08] Olivier CARTON. Lngges formels, clculilité et complexité. Vuiert, 2008. [GBJL00] Dick GRUNE, Henri E. BALS, Ceriel J.H. JACOBS et Koen G. LANGENDOEN. Compilteurs. Dunod, 2002. Trduit de Modern Compiler Design, John Wiley & Sons, 2000. [Hr78] Michel A. HARRISON. Introduction to Forml Lnguge Theory. Addison Wesley, 1978. [HU79] John E. HOPCROFT et Jeffrey D. ULLMAN. Introduction to Automt Theory, Lnguges, nd Computtion. Addison Wesley, 1979. [Sk03] Jcques SAKAROVITCH. Éléments de théorie des utomtes. Vuiert, 2003. [SSS88] Seppo SIPPU et Eljs SOISALON-SOININEN. Prsing Theory, Vol. I: Lnguges nd Prsing. EATCS Monogrphs on Theoreticl Computer Science volume 15, Springer, 1988. [SSS90] Seppo SIPPU et Eljs SOISALON-SOININEN. Prsing Theory, Vol. II: LR(k) nd LL(k) Prsing. EATCS Monogrphs on Theoreticl Computer Science volume 20, Springer, 1990.

Notes de révision : Automtes et lngges 3 Contenu des notes de révision 1 Automtes et lngges rtionnels 5 1.1 Lngges reconnissles....................... 5 1.1.1 Propriétés élémentires.................... 6 1.1.2 Automtes déterministes.................... 7 1.1.3 Propriétés de clôture...................... 9 1.1.4 Lemmes d itértion....................... 12 1.2 Lngges rtionnels.......................... 15 1.2.1 Des expressions ux utomtes................ 16 Construction de THOMPSON.................. 16 Automte stndrd de GLUSHKOV............... 17 Expressions dérivées prtielles d ANTIMIROV......... 20 1.2.2 Des utomtes ux expressions................ 24 Construction de MCNAUGHTON et YAMADA.......... 24 Construction de BRZOZOWSKI et MCCLUSKEY........ 24 Lemme d ARDEN et élimintion de GAUSS.......... 26 Complexité des expressions rtionnelles........... 27 1.3 Minimistion.............................. 29 1.3.1 Automte des quotients.................... 31 1.3.2 Algorithme pr renversement de BRZOZOWSKI........ 32 1.3.3 Congruence de NERODE.................... 33 1.3.4 Algorithme de MOORE..................... 34 1.3.5 Monoïde syntxique...................... 35 1.4 Applictions............................... 38 1.4.1 Loclistion........................... 39 1.4.2 Anlyse lexicle......................... 43 1.4.3 Linguistique........................... 47 1.4.4 Théorie des codes....................... 48 1.4.5 Décidilité de l rithmétique de PRESBURGER........ 56 1.4.6 Automtes oustrophédons.................. 58 2 Références supplémentires 61

Notes de révision : Automtes et lngges 4

Chpitre 1 Automtes et lngges rtionnels Le progrmme de l grégtion pour les utomtes et lngges rtionnels tourne essentiellement utour du théorème de KLEENE : Théorème 1.1 (KLEENE [1956]). Soit Σ un lphet fini. Un lngge de Σ est rtionnel si et seulement si il est reconnu pr un utomte fini sur Σ : Rt(Σ ) = Rec(Σ ) On s ttcher donc prticulièrement à connître les preuves des deux inclusions Rt(Σ ) Rec(Σ ) pr l construction de THOMPSON, celle de GLUSHKOV, ou celle d ANTIMIROV (section 1.2.1), Rec(Σ ) Rt(Σ ) pr l construction de MCNAUGHTON et YAMADA, ou celle de BRZOZOWSKI et MCCLUSKEY, ou pr résolution d un système d équtions et le lemme d ARDEN (section 1.2.2). Il n est ps nécessire de mîtriser toutes ces constructions, mis il fut en connître une dns chque direction du théorème! Au résultt centrl qu est le théorème de KLEENE s joutent des résultts périphériques de 1. clôture pr diverses opértions (section 1.1.3), 2. lemmes d itértion (section 1.1.4), et 3. minimistion (section 1.3). Ces résultts sont à connître puisqu ils sont u progrmme et sont donc susceptiles de fire l ojet de questions à l orl. L introduction d un ou plusieurs de ces points dns un pln d une leçon 908 ou 909 est utile, en veillnt à ne ps oulier pour utnt les exemples et pplictions. C.f. [Cr08, p. 36], [Sk03, p. 94], [Aut94, p. 52], [SIPPU et SOISALON-SOININEN, 1988, p. 82], [HU79, p. 30], [Hr78, p. 57]. Le théorème n est ps vérifié pour tout monoïde [Sk03, p. 261]. 1.1 Lngges reconnissles Définition 1.2 (Automte fini). Un utomte fini sur un lphet Σ est un tuple A = Σ, Q, I, F, δ où Q est un ensemle fini d étts, I Q l ensemle des étts initiux, F Q l ensemle des étts finls, et δ Q Σ {ε} Q l reltion de trnsition. Alterntivement, on peut voir δ comme une fonction de Q Σ {ε} dns 2 Q l ensemle des prties de Q. On étend nturellement l définition de δ sur Q Σ Q pr δ (q, ε) = q et δ (q, w) = q δ(q,) δ(q, w). Pr un us de nottion ien prtique, on peut ussi 5 C.f. [Cr08, sec. 1.5.2][Sk03, sec. I.1], [Aut94, ch. 4], [SIPPU et SOISALON-SOININEN, 1988, sec. 3.2], [HU79, sec. 2.2 2.4], [Hr78, ch. 2].

Notes de révision : Automtes et lngges 6 l étendre à des ensemles d étts ou de mots pr l union δ (E, L) = q E,u L δ (q, u). Enfin, on peut définir similirement l reltion inverse δ 1 = {(q,, p) (p,, q) δ}. Définition 1.3 (Lngge reconnissle). Le lngge reconnu pr un utomte A = Σ, Q, I, F, δ est L(A) = {w Σ i I, f F, f δ (i, w)} L utre définition de Rec(Σ ) utilise l notion de reconnissnce pr monoïde : nous l étudierons plus en détil dns l section 1.3.5 Deux utomtes finis sur Σ sont équivlents s ils reconnissent le même lngge de Σ. Un lngge L sur Σ est reconnissle s il existe un utomte fini sur Σ tel que L = L(A). L ensemle des lngges reconnissles sur Σ est noté Rec(Σ ). 1.1.1 Propriétés élémentires On rppelle ici quelques propriétés élémentires sur les utomtes. Définition 1.4 (Automte ccessile). L ensemle des étts ccessiles d un utomte fini est δ (I, Σ ). Un utomte fini est ccessile si tous ses étts sont ccessiles, c est-à-dire si, pour tout étt q de Q, il existe un mot u de Σ et un étt initil i de I tels que q δ (i, u). Proposition 1.5. Pour tout utomte fini sur Σ, il existe un utomte fini ccessile équivlent. Démonstrtion. Étnt donné un utomte fini A = Σ, Q, I, F, δ, on définit l utomte A = Σ, Q, I, F, δ vec Q = δ (I, Σ ) δ = δ (Q Σ {ε} Q ) C.f. [SIPPU et SOISALON-SOININEN, 1988, ch. 2], [Sk03, exercice I.1.20]. On rppelle ussi que le prolème de l ccessiilité dns un grphe orienté, c est-à-dire de déterminer pour deux sommets quelconques p et q s il existe un chemin orienté qui relie p à q, est l exemple clssique vec 2SAT d un prolème NLOGSPACE-complet [Cr08, théorème 4.46], [HU79, sec. 13.5], [PAPADIMITRIOU, 1993, ch. 16]. Un clcul d ccessiilité dns un utomte se réduit à un clcul d ccessiilité dns un grphe orienté, qui n est lui-même qu un clcul de l imge d un ensemle pr l fermeture réflexive trnsitive de l reltion R d djcence du grphe. En prtique, on utilise pour ce type de prolème soit un simple prcours en profondeur depuis les étts initiux en O( Q + δ ), soit des lgorithmes plus vncés utilisnt les composntes fortement connexes du grphe (lgorithme de TARJAN [1972] en O(t mx( S, R )) où S est l ensemle des sommets du grphe, R l reltion d djcence, et t le coût lgorithmique d une opértion d union entre deux prties de S, ce que l on tend à pproximer pr O( A ) en posnt A = mx( Q, δ )). On définit de mnière similire un utomte co-ccessile comme un utomte où tout étt peut ccéder à u moins un étt finl. On oserve isément qu il suffit de vérifier l ccessiilité de l utomte trnsposé qui échnge I et F et utilise δ 1 comme reltion de trnsition, et donc que pour tout utomte fini on peut construire un utomte co-ccessile équivlent. En cominnt ccessiilité et coccessiilité, on définit les utomtes émondés. Définition 1.6 (Automte émondé). Un utomte fini est émondé s il est ccessile et co-ccessile. Théorème 1.7 (Vide). On peut décider si un lngge reconnissle est vide en temps polynomil.

Notes de révision : Automtes et lngges 7 Démonstrtion. Soit L = L(A) un lngge reconnissle. L est l ensemle vide si et seulement si l utomte émondé de A un ensemle vide d étts. Une utre construction qui utilise les résultts de complexité sur les grphes permet d éliminer les ε-trnsitions, ce que l on supposer ensuite chque fois que cel ser utile. Proposition 1.8. Pour tout utomte fini sur Σ, il existe un utomte fini sns ε- trnsition équivlent. Démonstrtion. Étnt donné un utomte fini A = Σ, Q, I, F, δ, on définit un utomte A = Σ, Q, I, F, δ tel que F = {q Q δ (q, ε) F } δ = {(p,, q) q Q, δ (p, ε, q ) (q,, q) δ} Comme précédemment, on peut réduire ce clcul à celui de l clôture réflexive trnsitive d une reltion, ici {(p, q) (p, ε, q) δ}. L complexité de l construction est lors en O( Q 2 ). Exemple 1.9. On oserve réellement cette complexité qudrtique sur l utomte fini sur l lphet {1,..., n} suivnt 1 2 0 1 2 n 1 n ε ε ε 1.1.2 Automtes déterministes n À l inverse, l universlité d une expression rtionnelle (et donc d un utomte non déterministe) est un prolème PSPACE-complet (STOCKMEYER et MEYER [1973], [SIPPU et SOISALON-SOININEN, 1990, p. 392]). En utilisnt une construction inspirée pr celle de GLUSHKOV, on peut construire un utomte fini sns ε-trnsitions de tille O(n(log n) 2 ) pour toute expression rtionnelle de tille n, et donc pour l expression (1 + ε)(2 + ε) (n + ε) correspondnt à l utomte de l exemple 1.9 [HROMKOVIČ et l., 1997]. Les définitions suivntes supposent des utomtes sns ε-trnsitions. Définition 1.10 (Automte complet). Un utomte fini est complet si, pour tout étt q de Q et pour tout symole de Σ, δ(q, ). Proposition 1.11. Pour tout utomte fini sur Σ, il existe un utomte fini complet équivlent. Démonstrtion. Étnt donné un utomte fini A = Σ, Q, I, F, δ, on définit un utomte A = Σ, Q {p}, I, F, δ vec δ = δ {(p,, p) Σ} {(q,, p) q Q, Σ, δ(q, ) = } Le clcul d un utomte complet est mnifestement en O( Q Σ ). L étt p est ppelé un étt puit. Définition 1.12 (Automte déterministe). Un utomte fini est déterministe si I 1 et pour tout étt q de Q et pour tout symole de Σ, δ(q, ) 1. Proposition 1.13. Pour tout utomte fini sur Σ, il existe un utomte fini déterministe équivlent. On doit en fit l notion d utomtes non déterministes et leur conversion en utomtes déterministes à RABIN et SCOTT [1959]. Démonstrtion. Étnt donné un utomte fini A = Σ, Q, I, F, δ, on construit A = Σ, 2 Q, I, {E Q E F }, δ vec δ = {(E,, E ) E = δ (E, )}

Notes de révision : Automtes et lngges 8 Cette construction pr l méthode des sous-ensemles (ou des prties) un coût de O(2 Q ) dns le pire des cs, et il existe des utomtes à n étts dont le déterminisé complet 2 n étts. C.f. [Cr08, sec. 1.6], [Sk03, sec. I.3.2], [Aut94, p. 45], [SIPPU et SOISALON-SOININEN, 1988, sec. 3.4], [HU79, théorème 3.2]. Voir en prticulier [Sk03, exercice I.3.6] pour plusieurs exemples d explosion lors de l déterministion, dont un exemple qui tteint l orne. Exemple 1.14. Un exemple clssique d explosion lors de l déterministion est l utomte suivnt, vec un pssge de n + 1 à 2 n + 1 étts.,,, 0 1 2 n 1 n Démonstrtion. On montre pr récurrence sur k = P pour toute prtie P de {1,..., n} que l étt {0} P est ccessile dns le déterminisé. L propriété est vrie pour k = 0 puisque {0} est l étt initil du déterminisé. Soit P un sous-ensemle de {1,..., n} de crdinl k + 1. On définit l ensemle P 1 = {i 1 i 1 P } Si P contient 1, lors soit P 1 est de crdinl k et {0} P 1 est ccessile pr hypothèse de récurrence ; on ien δ ({0} P 1, ) = {0} P donc P est ccessile. Si P ne contient ps 1, lors on procède pr récurrence sur j l plus petite vleur dns P. Pour j = 2, P 1 est de crdinl k + 1 et contient 1, donc est ccessile u vu du cs précédent, et δ ({0} P 1, ) = {0} P. Puis, pour une plus petite vleur j + 1 de P, P 1 pour plus petite vleur j donc est ccessile pr hypothèse de récurrence, et δ ({0} P 1, ) = {0} P. Mlgré son coût potentiellement explosif, l déterministion sert vnt tout à méliorer l complexité des prolèmes sur les utomtes! Pour peu que l utomte déterministe reste de tille risonnle, on énéficie lors de complexités polynomiles pour les prolèmes d équivlence et d inclusion de lngges, et linéire pour le prolème d pprtennce. C.f. [SIPPU et SOISALON-SOININEN, 1988, pp. 92 95]. Des complexités polynomiles pour les prolèmes d inclusion et d équivlence peuvent ussi être otenues en considérnt des utomtes non migus tout en diminunt les risques d explosion [STEARNS et HUNT III, 1985]. L utomte non déterministe de l exemple 1.14 étit justement non migu. Théorème 1.15 (Apprtennce). Soit w un mot de Σ et A un utomte fini sur Σ. 1. L pprtennce de w à L(A) est décidle en temps déterministe O( A w ) et en espce O( A ). 2. Si A est déterministe, lors l pprtennce de w à L(A) est décidle en temps déterministe O( A + w ) et en espce O( A ). Démonstrtion. Soit w = 1 n et A = Σ, Q, I, F, δ. On démontre le point 1 à l ide d un lgorithme qui clcule initilement les étts ccessiles pr S 0 := δ (I, ε) en temps O( A ) puis les ensemles S i := δ (S i 1, i ) en temps O( A ) pour i de 1 à n. Le mot w pprtient à L(A) si et seulement si S n F. On n esoin de conserver qu un seul ensemle S i à l fois dns ce clcul, donc on reste ien en espce O( A ). Pour le cs du point 2, on oserve que l lgorithme précédent voit ses ensemles S i réduits à des singletons clculles en temps O(1). L complexité doit de plus tenir compte du temps et de l espce pris pr le chrgement de A.

Notes de révision : Automtes et lngges 9 1.1.3 Propriétés de clôture C.f. [Cr08, sec. 1.8], [Aut94, Les lngges reconnissles sont clos pr union, concténtion et étoile de pp. 43 48], [HU79, sec. 3.2], KLEENE comme nous le verrons dns le cdre de l construction de THOMPSON en [Hr78, sec. 2.3]. section 1.2.1. Cette section est plutôt l occsion de prler d une utre propriété de clôture, pr reltion rtionnelle ou trnsduction rtionnelle, qui générlise plusieurs C.f. [Sk03, sec. IV.1], [BERSTEL, utres propriétés de clôture. 1979, ch. III]. L rticle fondteur S démonstrtion est souvent donnée en décomposnt l trnsduction en morphisme, morphisme inverse et intersection et en utilisnt les preuves de clôture MEZEI [1965]. en l mtière est dû à ELGOT et pr ces opértions. Nous prenons ici le cheminement inverse et nous déduirons les clôtures pr morphisme, morphisme inverse et intersection de celle pr trnsduction. Le principl vntge de cette introduction des trnsducteurs dns une leçon est qu ils donnent lieu à de nomreuses pplictions : u lieu de simplement définir un lngge, un trnsducteur définit une reltion ou une fonction, et permet donc de clculer effectivement. Définition 1.16 (Trnsducteur). Un trnsducteur sur Σ est un utomte fini sur Σ. Un trnsducteur est sous forme normle si s reltion de trnsition est incluse dns Q (Σ {ε} {ε} ) Q. L trnsduction rtionnelle sur Σ définie pr T est R(T ) = {(u, v) Σ δ (I, (u, v)) F } Proposition 1.17 (Clôture pr trnsduction). L ensemle des lngges reconnissles est clos pr trnsduction rtionnelle. Démonstrtion. Soient A = Σ, Q, I, F, δ un utomte fini sur Σ et T = Σ, Q, I, F, δ un trnsducteur sur Σ. On construit un utomte fini A =, Q Q, I I, F F, δ sur tel que R(T )(L(A)) = L(A ). Sns perte de générlité, on suppose A sns ε-trnsition et T sous forme normle. On définit lors vec dns {ε} et dns : δ = {((q 1, q 2 ), ε, (q 1, q 2)) Σ, (q 1,, q 1) δ (q 2, (, ε), q 2) δ } {((q 1, q 2 ),, (q 1, q 2)) (q 2, (ε, ), q 2) δ } Cette construction est essentiellement un rffinement du clcul de l intersection de deux utomtes à étts finis. L complexité de ce produit synchrone est en O( A A ) dns le pire des cs. Grâce à cette construction similire à celle de l intersection de deux utomtes finis, on otient les propriétés de fermeture suivntes : intersection de deux lngges reconnissles L 1 et L 2 sur Σ : en ppliqunt le trnsducteur L 2 L 2 à L 1. Pr exemple, le trnsducteur suivnt clcule le résultt de l intersection vec le lngge sur {, } { n n 0} { m m 0} : C.f. [Sk03, corollire IV.1.3], [HU79, théorème 11.1], [Hr78, théorème 6.4.3]. / / / /

Notes de révision : Automtes et lngges 10 quotient guche de L pr un mot u de Σ : le trnsducteur reconnît (u, ε) puis l identité sur Σ. Pr exemple, pour le quotient pr u = sur l lphet {, } : /, / /ε /ε /ε sous-mot : le trnsducteur choisit non déterministiquement entre recopier (identité) et effcer ses symoles d entrée (Σ ε). Pr exemple, sur {, } : /ε, /, /ε, / fcteur (et similirement préfixe ou suffixe) : le trnsducteur est initilement dns un étt d effcement des symoles, choisit non déterministiquement de psser en mode copie, puis non déterministiquement de psser en mode d effcement jusqu à l fin. Pr exemple, sur {, } : /ε, /ε /, / /ε, /ε /ε, /ε /ε, /ε sustitution rtionnelle σ de Σ dns Rec( ) : pr le trnsducteur défini pr ( Σ {} σ()). Cel implique les clôtures pr sustitution inverse, morphisme et morphisme inverse. Pr exemple, pour l sustitution σ définie pr { n n 0} et { m m 0} : ε/ /ε /ε ε/ /ε /ε /ε /ε ε/ ε/ On pourrit ussi exprimer les opértions d union et de concténtion de lngges reconnissles, mis les constructions sont des dpttions de celles pour les utomtes finis et n exploitent ps réellement les trnsducteurs. Il nous reste à mentionner une opértion de clôture importnte : celle pr complément. Proposition 1.18 (Clôture pr complément). L ensemle des lngges reconnissles est clôt pr complément. Démonstrtion. Soit A = Σ, Q, I, F, δ un utomte déterministe complet. L utomte Σ, Q, I, Q\F, δ reconnît L(A), le complémentire de L(A).

Notes de révision : Automtes et lngges 11 On en déduit imméditement l décidilité de l inclusion et de l équivlence de deux lngges reconnissles : Théorème 1.19 (Inclusion). Soient L 1 et L 2 deux lngges reconnissles. Décider si L 1 L 2 est PSPACE-complet. Démonstrtion. En effet, les clculs du complément et de l intersection de deux lngges reconnissles sont effectifs, et C.f. [SIPPU et SOISALON-SOININEN, 1988, théorème 3.46]. L 1 L 2 ssi L 1 L 2 =. En composnt «u vol» ces clculs vec un clcul du vide (qui est en espce logrithmique), cel fournit ien un lgorithme en espce polynomil. L complétude pour PSPACE vient du prolème de l universlité : Σ L est déjà PSPACEcomplet. On verr en section 1.3 une utre technique pour vérifier l équivlence de deux utomtes déterministes : clculer l utomte miniml (qui est cnonique) pour chcun et vérifier s ils sont isomorphes. L construction du complément d un lngge reconnu pr un utomte vec n étts psse ici pr le clcul d un utomte déterministe, vec une complexité en O(2 n ). On pourrit espérer trouver des utomtes non déterministes plus compcts pour le complémentire d un lngge, mis cette orne supérieure est tteinte, comme le montre l exemple suivnt : Exemple 1.20. On considère l utomte A n = {, }, Q, Q, Q, δ vec l ensemle d étts Q = {0,..., n 1} et les trnsitions δ(i, ) = i + 1 mod n pour tout i de Q, et δ(i, ) = i si i 0. Tout utomte reconnissnt L(A n ) possède u moins 2 n étts. 0 n 1 1 2 5 3 4 Exemple dpté de YAN [2008]. Démonstrtion. On peut déjà noter que l déterministion de cet utomte produit un utomte vec 2 n étts. Mis on cherche ici à montrer que même un utomte non déterministe pour le lngge L(A n ) doit être de tille exponentielle. Soit K un sous-ensemle de Q ; il existe 2 n ensemles K différents. On définit w K = x 0 x n 1 vec pour tout i de Q x i = i n i si i K et x i = n sinon.

Notes de révision : Automtes et lngges 12 On oserve que le mot w K w Q\K n est ps un mot de L(A n ) : pour chque i de Q, un fcteur i n i pprît dns w K w Q\K, et donc quel que soit le choix de l étt initil pour reconnître le mot, on devr tenter de lire un dns l étt 0. En revnche, si K K, sns perte de générlité on peut supposer K K et lors le mot w K w Q\K est dns L(A n ) : il existe lors un étt i tel que i K et i Q\K, et il suffit de fire démrrer l reconnissnce de w K w Q\K dns l étt n i. Dès lors, pour chcun des 2 n ensemles K, les ensemles d étts tteints en lisnt w K dns un utomte pour L(A n ) doivent être disjoints, sous peine de permettre l reconnissnce d un mot w K w Q\K dns L(A n ). C.f. [Cr08, sec. 1.9], [Sk03, pp. 77 80], [Aut94, p. 54], [HU79, sec. 3.1], [Hr78, théorème 2.2.2]. 1.1.4 Lemmes d itértion Les lemmes d itértion et les propriétés de clôture permettent de démontrer que certins lngges ne sont ps reconnissles. Il est en générl plus simple de procéder pr clôtures successives jusqu à un lngge mnifestement non reconnissle, comme { n n n 0}, sur lequel il est isé d ppliquer un lemme d itértion. Lemme 1.21 (Lemme de l étoile). Si L est un lngge reconnissle de Σ, lors il existe un entier n tel que 1. pour tout mot w de L vec w n, il existe une fctoristion w = u 1 u 2 u 3 vec u 2 non vide, telle que u 1 u 2 u 3 L, 2. pour tout mot w de L et pour toute fctoristion de w = v 1 v 2 v 3 vec v 2 n, il existe une fctoristion v 2 = u 1 u 2 u 3 vec u 2 non vide, telle que v 1 u 1 u 2 u 3v 3 L, 3. pour tout mot w de L et pour toute fctoristion w = u 0 u 1 u n u n+1 vec u i non vide pour i de 1 à n, il existe deux positions 0 j < k n telles que u 0 u 1 u j (u j+1 u k ) u k+1 u n u n+1 L. Démonstrtion. On démontre le troisième cs, les deux utres en sont déductiles. Soit L un lngge reconnissle, et A = Σ, Q, I, F, δ un utomte fini pour L. On pose n = Q le nomre d étts de A, et pour tout mot de L dmettnt une fctoristion w = u 0 u 1 u n u n+1 vec u i non vide pour i de 1 à n, on ppelle q i pour i de 0 à n l étt tteint près voir lu u 0 u 1 u i lors de l reconnissnce de w. Prmi ces n + 1 étts q i, il en existe u moins deux, q j et q k vec 0 j < k n tels que q j = q k. Mis lors u 0 u 1 u j (u j+1 u k ) u k+1 u n u n+1 L. Les exemples et les exercices sur le lemme d itértion ondent dns les livres sur les lngges formels. Voici deux exemples plus originux. Exemple 1.22. Soit L un lngge quelconque sur Σ, et # un symole qui n est ps dns Σ. Alors le lngge L # = (# + L) Σ stisfit les conditions de l première version du lemme de l étoile. En effet, on pose n = 1 et pour tout mot w de # + L on peut choisir une fctoristion vec u 1 = ε et u 2 = #, et pour tout i u 1 u i 2 u 3 = # i u 3 ser ien dns L #. Pour tout mot de Σ, le lemme est ien vérifié puisque Σ est reconnissle. Pourtnt L = µ(l # # + Σ ) pour le morphisme µ défini pr pour tout de Σ et pr # ε, et donc si L n est ps reconnissle, lors L # ne l est ps non plus.

Notes de révision : Automtes et lngges 13 Enfin, si L ne stisfit ps les conditions de l seconde version du lemme de l étoile, lors L # ne les stisfit ps non plus : il suffit d utiliser le même fcteur que pour L. Exemple 1.23. Soit L un lngge quelconque sur Σ et $ un symole qui n est ps dns Σ. On définit Les exemples 1.22 et 1.23 sont dptés de YU [1997]. L 1 = {$ + 1 $ + 2 $ + $ + n $ + n 0, i i Σ, et w = 1 n L} L 2 = {$ + v 1 $ + v 2 $ + $ + v n $ + n 0, i v i Σ, et j v j 2} L $ = L 1 L 2 Le lngge L $ stisfit les conditions de l deuxième version du lemme de l étoile. En effet, on pose n = 3 et on considère un mot xyz de L $ vec y 3. Si $ pprît dns y, lors on peut choisir une décomposition y = u 1 $u 3 qui vérifie ien le lemme. Si $ n pprît ps dns y, lors xyz est dns L 2, et on peut choisir un symole de Σ comme fcteur itérnt : si on l effce, on ur encore u moins deux symoles consécutifs de Σ et on rester donc dns L 2, et si on l itère on reste clirement dns L 2. Pourtnt, comme dns l exemple 1.22, on vérifie que L = µ(l $ ($ + Σ) $ + ) pour le morphisme µ défini pr pour tout de Σ et pr $ ε, et donc si L n est ps reconnissle, lors L $ ne l est ps non plus. Enfin, si L ne vérifie ps les conditions de l troisième version du lemme de l étoile, lors L $ ne les vérifie ps non plus. Si un mot 0 m servi à démontrer que L n est ps reconnissle en utilisnt des positions sur les lettres i0 à in, lors on considère le mot de L 1 de l forme $ 0 $ $ m $, et les positions correspondntes modulo l jout des symoles $. On utilise lors un mot w l = 0 ( ij+1 ik ) l m qui n est ps dns L : l itértion du fcteur $ ij+1 $ $ ik correspondnt préserve l propriété qu il n y qu une seule lettre entre deux symoles $, et donc le mot otenu n est ps dns L 2, et il n est ps non plus dns L 1 puisque w l n est ps dns L. Même dns s troisième version, le lemme de l étoile n est qu une condition nécessire pour qu un lngge soit rtionnel. Il est possile de renforcer l dernière version du lemme pour otenir des crctéristions des lngges rtionnels. Ce résultt utilise deux propriétés de fctoristion pr locs, qu on pourr mettre en C.f. l rticle d EHRENFEUCHT prllèle vec l version l plus forte du lemme de l étoile cité précédemment. On et l. [1981], [Cr08, fixe un entier h. théorème 1.106] et [Sk03, On dit qu un lngge L de Σ stisfit l propriété E sec. I.3.4]. h (ou propriété d itértion pr locs) si pour tout mot w Σ et toute fctoristion de l forme w = u 0 u 1 u 2 u h u h+1 vec u i 1 pour tout i {1,..., h}, il existe un couple (j, k) d indices, 0 j < k h, tels que le mot otenu en itérnt dns w le fcteur u j+1 u k un nomre quelconque de fois même sttut que w pr rpport à L, i.e. : n N w L u 0 u 1 u 2 u j (u j+1 u k ) n u k+1 u h u h+1 L On dit qu un lngge L de Σ stisfit l propriété E h (ou propriété de simplifiction pr locs) si pour tout mot w Σ et toute fctoristion de l forme w = u 0 u 1 u 2 u h u h+1 vec u i 1 pour tout i {1,..., h}, il existe un couple (j, k) d indices, 0 j < k h, tels que le mot otenu en supprimnt dns w le fcteur u j+1 u k même sttut que w pr rpport à L, i.e. : w L u 0 u 1 u 2 u j u k+1 u h u h+1 L

Notes de révision : Automtes et lngges 14 Théorème 1.24 (EHRENFEUCHT, PARIKH, ROZENBERG). Soit L un lngge de Σ. Les trois conditions suivntes sont équivlentes : (i) L est reconnissle ; (ii) il existe un entier h tel que L stisfit E h ; (iii) il existe un entier h tel que L stisfit E h. Démonstrtion. L preuve de ce théorème repose sur une générlistion du principe des tiroirs utilisé dns l preuve du lemme de l étoile précédent. Il s git du théorème de RAMSEY : Pour tous entiers k, m et r, il existe un entier N = R(k, m, r) tel que, si un ensemle E est de crdinl supérieur ou égl à N, pour toute prtition P de P (k) (E) (ensemle de toutes les prties à k éléments de E) en m clsses, on peut trouver un sous-ensemle F de E de crdinl r tel que P (k) (F ) est entièrement contenu dns une seule clsse de P. L impliction (i) = (ii) résulte de l ppliction de l version l plus forte du lemme de l étoile, à l fois pour L et son complémentire. Pr illeurs, il est évident que l propriété E h implique l propriété E h. Il reste donc à démontrer l impliction (iii) = (i). On le fit en deux étpes. Première étpe On montre que tout quotient (à guche) v 1 L = {u Σ vu L} d un lngge L qui stisfit E h est un lngge stisfisnt cette même propriété. Soit w = u 0 u 1 u 2 u h u h+1 une fctoristion d un mot w de Σ. Soit w = vw : pr hypothèse sur L, il existe un couple (j, k) d indices, 0 j < k h, tel que w = vu 0 u 1 u 2 u h u h+1 L vu 0 u 1 u 2 u j u k+1 u h u h+1 L qu on peut réécrire en w = u 0 u 1 u 2 u h u h+1 v 1 L u 0 u 1 u 2 u j u k+1 u h u h+1 v 1 L Ainsi, v 1 L vérifie l propriété E h. Seconde étpe On montre que l ensemle des lngges vérifint E h est fini. Ainsi, mise en commun vec l première étpe, on ur prouvé que le lngge L possède un nomre fini de quotients à guche, ce qui, comme on le verr dns l section 1.3.1, prouve que le lngge L est reconnissle. Posons N = R(2, 2, h + 1) et E = {0, 1,..., N 1}. Soient L et K deux lngges vérifint l propriété E h qui coïncident sur les mots de longueur inférieure à N 1. Nous llons montrer, pr récurrence sur l longueur des mots, que K = L : cel chèver de prouver l seconde étpe. Supposons que L et K coïncident sur les mots de longueur inférieure à M, M N 1, et soit w = 1 2 N 1 v un mot de Σ de longueur M. Soient X w et Y w les sous-ensemles de P (2) (E) définis pr X w = {(j, k) 0 j < k N 1, 1 2 j k+1 N 1 v L} Y w = P (2) (E)\X w Pr hypothèse de récurrence, X w est ussi tel que X w = {(j, k) 0 j < k N 1, 1 2 j k+1 N 1 v K}

Notes de révision : Automtes et lngges 15 Pr le théorème de RAMSEY, il existe un sous-ensemle F = {i 0 < i 1 < < i h } de E, de crdinl h + 1, tel que ou ien ou ien P (2) (F ) X w (1.1) P (2) (F ) Y w (1.2) Soit lors w = u 0 u 1 u 2 u h u h+1 v l fctoristion de w otenue en considérnt les h couples d indices consécutifs dns F, c est-à-dire u 0 = 1 i0, u 1 = i0 +1 i1,..., u h = ih 1 +1 ih, u h+1 = ih +1 N 1. Le choix de F implique que : 1. ou ien, pour tout 0 j < k h, le mot u 0 u 1 u 2 u j u k+1 u h u h+1 v est à l fois dns L et dns K, si c est (1.1) qui est vérifiée ; 2. ou ien, pour tout 0 j < k h, le mot u 0 u 1 u 2 u j u k+1 u h u h+1 v n est ni dns L ni dns K, si c est (1.2) qui est vérifiée. Puisque L et K vérifient l propriété E h, il existe j et k, 0 j < k h tels que w et w = u 0 u 1 u 2 u j u k +1 u h u h+1 v ont même sttut pr rpport à L et il existe j et k, 0 j < k h tels que w et w = u 0 u 1 u 2 u j u k +1 u h u h+1 v ont même sttut pr rpport à K. Si on est dns le cs 1, w et w sont dns L et dns K, et w est dns L comme w et dns K comme w ; si on est dns le cs 2, w et w ne sont ni dns L ni dns K, et w n est ni dns L comme w ni dns K comme w. Dns les deux cs, w même sttut pr rpport à L et K. Pr récurrence, on insi montré que K = L. 1.2 Lngges rtionnels Définition 1.25. (Lngge rtionnel) Rt(Σ ) est le plus petit ensemle de prties de Σ qui contient les prties finies de Σ et qui est fermé pr union, concténtion et étoile. Un lngge rtionnel sur Σ est un élément de Rt(Σ ). Comme chque prtie finie de Σ est soit l ensemle vide, soit une union finie de mots de Σ, et que ces mots sont soit le mot vide, soit l concténtion finie de lettres de Σ, on otient une définition équivlente sous l forme d expressions rtionnelles. C.f. [Cr08, sec. 1.5.1], [Sk03, sec. I.4], [Aut94, ch. 5], [SIPPU et SOISALON-SOININEN, 1988, sec. 3.1], [HU79, sec. 2.5]. Définition 1.26. (Expression rtionnelle) Une expression rtionnelle E sur Σ est un terme défini inductivement pr E ::= ε E 1 E 1 + E 2 E 1 E 2 où est un symole de Σ, et E 1 et E 2 sont des expressions rtionnelles. On interprète une expression rtionnelle E comme un lngge L(E) sur Σ défini inductivement pr L( ) = L(ε) = {ε} L() = {} L(E ) = L(E) L(E 1 + E 2 ) = L(E 1 ) L(E 2 ) L(E 1 E 2 ) = L(E 1 )L(E 2 )

Notes de révision : Automtes et lngges 16 Le lngge d une expression rtionnelle est ien un lngge rtionnel. Deux mesures sont courmment utilisées pour l tille d une expression rtionnelle E : E l tille du terme E, définie pr = ε = = 1 E = E + 1 E 1 + E 2 = E 1 E 2 = E 1 + E 2 + 1 L utre mesure est le nomre d occurences de symoles lphétiques dns E, défini pr = ε = 0 = 1 E = E E 1 + E 2 = E 1 E 2 = E 1 + E 2 Comme nnoncé u déut du chpitre 1, le résultt centrl sur les lngges rtionnels est qu ils coïncident vec les lngges reconnissles, sur le monoïde lire Σ. 1.2.1 Des expressions ux utomtes C.f. THOMPSON [1968] et [Sk03, pp. 157 158], [SIPPU et SOISALON-SOININEN, 1988, théorème 3.16], [HU79, théorème 2.3]. Construction de THOMPSON L construction l plus simple et l plus intuitive : on construit un utomte A(E) pr induction sur l expression rtionnelle E. Les utomtes générés vérifient comme invrint qu ils ont un unique étt initil, qui n ps de trnsition entrnte, et un unique étt finl, qui n ps de trnsition sortnte. Cet invrint permet d ssurer l vlidité de l construction pour l concténtion et l étoile. A( ) = A(ε) = A() = ε A(E ) = ε ε A(E) ε A(E 1 ) A(E 1 +E 2 ) = ε ε A(E 2 ) A(E 1 E 2 ) = A(E 1 ) A(E 2 )

Notes de révision : Automtes et lngges 17 Cette construction inductive trville en O( E ) sur l tille de l expression, et résulte en un utomte vec ε-trnsitions vec u plus 2 E étts et 3 E trnsitions, soit u finl O( E 2 ) une fois les ε-trnsitions éliminées. Exemple 1.27. Pr exemple, si on considère l expression E = ( + ), on otient pr cette construction l utomte ε ε ε ε ε Automte stndrd de GLUSHKOV Cette construction d un utomte équivlent à une expression rtionnelle E est pprécile, d une prt prce qu elle résulte en des utomtes de petite tille, et d utre prt prce qu elle reflète fidèlement les propriétés de l expression rtionnelle de déprt. Ainsi, l notion d miguïté d une expression rtionnelle est définie comme l miguïté de son utomte de GLUSHKOV [EVEN, 1965]. En effet, cette construction résulte en un utomte ynt un étt pour chque occurence d un symole de Σ dns l expression E, et distingue ces différentes occurrences ce qui revient à linériser E. C.f. GLUSHKOV [1961] et MCNAUGHTON et YAMADA [1960], et ussi BERSTEL et PIN [1996]. Définition 1.28 (Expression linéire). Une expression rtionnelle E sur Σ est linéire si chque symole de Σ pprît u plus une fois dns E. Proposition 1.29. Tout lngge rtionnel sur Σ est le résultt de l ppliction d un morphisme lphétique Σ u lngge d une expression rtionnelle linéire sur. Démonstrtion. Soit L(E) un lngge rtionnel sur Σ décrit pr une expression rtionnelle E sur Σ. On indice chque pprition d une lettre de Σ pr s position dns l lecture linérire de l expression, pr exemple (+) devient ( 1 + 2 ) 3. L expression E otenue est ien linéire sur l lphet indicé, et l imge de L(E ) pr le morphisme lphétique i est ien L(E). Il nous fut fire un petit détour pr les utomtes et lngges locux. Définition 1.30 (Lngge locl). Un lngge L sur Σ est locl s il existe trois ensemles P Σ, S Σ et N Σ 2 tels que L présenttion suit fidèlement BERSTEL et PIN [1996] ; voir ussi [Sk03, exercice II.1.8]. L\{ε} = (P Σ Σ S)\(Σ NΣ ) c.-à-d. tels que tout mot de L commence pr un symole dns P, finisse pr un symole dns S, et n it ucun fcteur de longueur deux dns N. On peut définir

Notes de révision : Automtes et lngges 18 ces ensemles P, S et N pr P = { Σ Σ L } S = { Σ Σ L } N = { Σ 2 Σ Σ L = }. Définition 1.31 (Automte locl). Un utomte fini déterministe est locl si, pour chque symole de Σ, {q Q q Q, (q,, q ) δ} 1. Il est de plus stndrd si son étt initil n ps de trnsition entrnte. Lemme 1.32. Les trois énoncés suivnts sont équivlents : 1. L est un lngge locl, 2. L est reconnu pr un utomte locl stndrd, 3. L est reconnu pr un utomte locl. Démonstrtion. 1 2. On construit l utomte A = Σ, Σ {i}, {i}, F, δ vec pour reltion de trnsition δ = {(i,, ) P } {(,, ) N} et S pour ensemle finl, plus potentiellement l étt i si ε pprtient à L. On vérifie isément que A est déterministe, locl et stndrd. Il reconnît de plus L : soit une exécution de A i 1 2 1 2 n n vec n > 0 et n F. Alors w = 1 n vérifie 1 P, n S et pour tout i de 1 à n 1, i i+1 N, donc w L. Inversement, si un mot w ε vérifie ces trois conditions, lors il existe ien cette même exécution dns A, et donc w L(A). 2 3. Évident. 3 1. À prtir d un utomte déterministe locl A = Σ, Q, q 0, F, δ, on clcule les ensemles P (A) = { Σ δ(q 0, ) } S(A) = { Σ q Q, δ(q, ) F } N(A) = Σ 2 \{ Σ 2 q Q, δ (q, ) } L = (P (A)Σ Σ S(A))\(Σ N(A)Σ ) On peut noter que L est un lngge locl. Soit mintennt une exécution dns A q 1 0 2 q1 q2 n q n vec n > 0 et q n F. Alors 1 P (A), n S(A) et pour tout i de 1 à n 1, i i+1 N(A), donc w = 1 n pprtient à L. Inversement, soit w = 1 n dns L. On montre inductivement pour chque i de 1 à n qu il existe une exécution q 1 0 2 q1 q2 i q i dns A. Puisque 1 P (A), l trnsition δ(q 0, 1 ) = q 1 est ien définie. Puis, puisque i i+1 N, il existe q et q tels que δ (q, i i+1 ) = q. Comme A est locl, δ(q, i ) = δ(q i 1, i ) = q i, et pr suite q = δ(q i, i+1 ) peut être pris en guise de q i+1. Enfin, n S implique qu il existe q dns Q et q f dns F tels que δ(q, n ) = q f, et encore une fois, comme A est locl, δ(q, n ) = δ(q n 1, n ), donc l exécution dns A se finit dns q n = q f.

Notes de révision : Automtes et lngges 19 On s intéresse ussi ux propriétés de clôture des lngges locux. Lemme 1.33. Soient L 1 et L 2 deux lngges locux sur des lphets disjoints Σ 1 et Σ 2. Alors L 1 L 2, L 1 L 2 et L 1 sont des lngges locux. Démonstrtion. Pr le lemme 1.32, il suffit de prendre des utomtes locux stndrds A 1 = Σ 1, Σ 1 {i 1 }, i 1, F 1, δ 1 et A 2 = Σ 2, Σ 2 {i 2 }, i 2, F 2, δ 2 pour L 1 et L 2 et de construire un utomte locl A = Σ, Q, q 0, F, δ pour le lngge désiré. Pour l union, on pose Σ = Σ 1 Σ 2, Q = Σ 1 Σ 2 {q 0 } et { F 1 F 2 {q 0 } si i 1 F 1 ou i 2 F 2 F = F 1 F 2 sinon δ = {(q 0,, ) (i 1,, ) δ 1 ou (i 2,, ) δ 2 } ((δ 1 δ 2 ) Σ 3 ). Pour l concténtion, on pose Σ = Σ 1 Σ 2, Q = Σ 1 Σ 2 {i 1 }, q 0 = i 1 et { F 1 F 2 si i 2 F 2 F = sinon F 2 δ = δ 1 {(q,, ) q F 1, (i 2,, ) δ 2 } (δ 2 Σ 3 ). Pour l étoile de KLEENE, on pose Σ = Σ 1, Q = Σ 1 {i 1 }, q 0 = i 1, F = F 1 {i 1 }, et δ = δ 1 {(,, ) F 1 et (i 1,, ) δ 1 }. Proposition 1.34. Pour toute expression linéire E sur Σ, on peut construire un utomte locl A sur Σ tel que L(E) = L(A). Démonstrtion. Comme E est linéire, pr le lemme 1.33, son lngge L(E) est locl. On clcule inductivement sur E les ensemles de symoles préfixes P (E), de symoles suffixes S(E), et de pires de symoles fcteurs F (E), en utilisnt ussi λ(e) égl à {ε} si ε L(E) et à sinon : λ( ) = λ(ε) = {ε} λ() = λ(e ) = {ε} P ( ) = P (ε) = P () = {} P (E ) = P (E) λ(e 1 + E 2 ) = λ(e 1 ) λ(e 2 ) P (E 1 + E 2 ) = P (E 1 ) P (E 2 ) λ(e 1 E 2 ) = λ(e 1 ) λ(e 2 ) P (E 1 E 2 ) = P (E 1 ) λ(e 1 )P (E 2 ) S( ) = S(ε) = S() = {} S(E ) = S(E) F ( ) = F (ε) = F () = F (E ) = F (E) S(E)P (E) S(E 1 + E 2 ) = S(E 1 ) S(E 2 ) F (E 1 + E 2 ) = F (E 1 ) F (E 2 ) S(E 1 E 2 ) = S(E 2 ) λ(e 2 )P (E 1 ) F (E 1 E 2 ) = F (E 1 ) F (E 2 ) S(E 1 )P (E 2 ) Comme L(E) est locl, il vérifie L(E)\{ε} = (P (E)Σ Σ S(E))\(Σ (Σ 2 \F (E))Σ ) On conclut en utilisnt l construction du lemme 1.32 pour otenir un utomte locl pour L(E).

Notes de révision : Automtes et lngges 20 En cominnt les propositions 1.29 et 1.34, on otient une méthode de construction d un utomte fini sns ε-trnsitions à prtir d une expression rtionnelle E, vec exctement E + 1 étts, où E est le nomre d ppritions de symoles de Σ dns E, et u pire O( E 2 ) trnsitions réellement otenues sur l expression correspondnt à l exemple 1.9. Exemple 1.35. Considérons à nouveu l expression rtionnelle E = ( + ). On peut l linériser en ( 1 2 + 3 ) 4 5, et en déduire l utomte suivnt. 1 2 i 3 4 5 Cette section reprend les preuves d ANTIMIROV [1996] ; voir ussi [Sk03, sec. I.5.2], et l construction similire de BRZOZOWSKI [1964] dns [Sk03, sec. I.4.4]. Expressions dérivées prtielles d ANTIMIROV Cette technique de construction d un utomte équivlent à une expression rtionnelle fournit des utomtes, générlement non déterministes, encore plus compcts que ceux de l utomte de GLUSHKOV. Cette construction est un rffinement de celle mise u point pr BRZOZOWSKI [1964], et le déterminisé de l utomte que l on otient est exctement celui que l on urit otenu pr l construction de BRZOZOWSKI. Définition 1.36 (Dérivée d une expression). L dérivée prtielle (E) d une expression rtionnelle E sur Σ pr une lettre de Σ est l ensemle d expressions rtionnelles sur Σ défini pr ( ) = (ε) = { {ε} () = si = sinon (E + F ) = (E) (F ) (E ) = (E) {E } { (E) {F } (EF ) = (E) {F } (F ) si ε L(E) sinon où l opértion de concténtion est étendue de mnière évidente ux ensemles d expressions rtionnelles. Attention, dns ( ) =, le symole du terme de guche est une expression rtionnelle, tndis que celui du terme de droite est l ensemle vide! On étend cette définition à des mots w de Σ et à des ensemles d expressions

Notes de révision : Automtes et lngges 21 rtionnelles S pr ε (E) = {E} w (E) = ( w (E)) w (S) = w (E). E S Exemple 1.37. Pr exemple, si on pose E = ( + ), on otient les dérivées prtielles successives (E) = {( + ) } (E) = {E, } (( + ) ) = (( + ) ) = {E} () = {ε} () = (ε) = (ε) =. Cet ensemle de dérivées prtielles se trduit isément en un utomte : ( + ) ε ( + ) L utomte construit à prtir des expressions dérivées prtielles d une expression rtionnelle E est A = Σ, Q, I, F, δ ynt pour ensemle d étts des expressions rtionnelles, et dont les trnsitions respectent les dérivtions : Q = {E 1 w Σ, E 1 w (E)} I = {E} F = {E 1 Q ε L(E 1 )} δ = {(E 1,, E 2 ) Q Σ Q E 2 (E 1 )}. Le fit que cet utomte reconnît L(E) découle de l proposition 1.38, et le fit qu il soit ien un utomte fini de l proposition 1.40. On note pr w 1 L = {u Σ wu L} le quotient à guche de L Σ pr w Σ. Proposition 1.38. Soit S un ensemle d expressions rtionnelles sur Σ et w un mot de Σ. Alors L( w (S)) = w 1 L(S). Démonstrtion. On opère pr récurrence sur l longueur de w. Si w = ε, lors pr définition L( ε (S)) = L(S). Soit mintennt w = u, pprtennt à Σ ; on

Notes de révision : Automtes et lngges 22 vérifie trivilement pr induction sur les expressions E de u (S) que L( (E)) = 1 L(E). On donc L( u (S)) = L( ( u (S))) = L( (E)) = 1 L(E) = 1 L( u (S)) E u(s) E u(s) et, en ppliqunt l hypothèse de récurrence sur L( u (S)), L( u (S)) = 1 u 1 L(S) = (u) 1 L(S). On note l ensemle des suffixes non vides d un mot w pr Suff + (w) = {v Σ + u Σ, w = uv}. Lemme 1.39. Pour tout mot w de Σ + et expressions E et F sur Σ, on : w (E + F ) = w (E) w (F ) (1.3) w (EF ) w (E) F v (F ) (1.4) w (E ) v Suff + (w) v Suff + (w) v (E) E (1.5) Démonstrtion. L éqution (1.3) est immédite pr récurrence sur w = u, pprtennt à Σ : u (E + F ) = ( u (E + F )) = ( u (E) u (F )) = ( u (E)) ( u (F )) = u (E) u (F ). L éqution (1.4) est démontrée pr recurrence sur w = u, pprtennt à Σ. Si u = ε, lors on ien (EF ) (E) F (F ) = (E) F v (F ) puisque Suff + () = {}. Puis u (EF ) = ( u (EF )) u (E) F = ( u (E) F ) v Suff + (u) v Suff + (u) ( u (E)) F (F ) = u (E) F v Suff + (u) v (F ) ( v (F )) v Suff + (u) v (F ) v Suff + () v (F ) Enfin l éqution (1.5) est elle ussi démontrée pr récurrence sur w = u, pprtennt à Σ. Si u = ε, lors (E ) = (E) E = v (E) E. v Suff + ()

Notes de révision : Automtes et lngges 23 Puis, u (E ) = ( u (E )) v (E) E v Suff + (u) = ( v (E) E ) v Suff + (u) ( ( v (E)) E (E )) v Suff + (u) = v (E) E (E) E = v Suff + (u) v Suff + (u) v (E) E. On montre mintennt que l ensemle des dérivées prtielles d une expression E est fini, et même qu il est orné pr E +1, ce qui rend l utomte d ANTIMIROV plus compct que celui de GLUSHKOV. Proposition 1.40. L ensemle des dérivées prtielles différentes d une expression rtionnelle E pr tous les mots de Σ contient u plus E + 1 éléments. Démonstrtion. Montrons pr induction sur E que w Σ + w(e) E. Le lemme ser lors démontré puisque w (E) = ε (E) w (E) E + 1. w Σ w Σ + Les cs de se, pour E =, E = ε et E = vec dns Σ sont évidents. On vérifie ensuite grâce ux équtions du lemme 1.39 w (E + F ) = ( w (E) w (F )) = w (E) + w (F ) w Σ + w Σ + w Σ + w Σ + E + F w (EF ) w (E) F w Σ + w Σ + = w (E) F w Σ + + v Suff + (w) E + F w (E ) v (E) E w Σ + w Σ + v Suff + (w) = w (E) E w Σ + E. v (F ) w Σ + v Suff + (w) v (F ) L tille de l utomte demeure cependnt en O( E 2 ), comme on peut le constter sur l exemple 1.9.

Notes de révision : Automtes et lngges 24 1.2.2 Des utomtes ux expressions Cette direction du théorème de KLEENE est l moins utile en prtique, et l plus coûteuse. Nous llons voir trois techniques pour réliser cette conversion, qui sont en rélité trois présenttions d une même technique (c.f. [Sk03, sec. 4.3]). C.f. MCNAUGHTON et YAMADA [1960] et [Cr08, p. 38], [Sk03, pp. 103 104], [Aut94, p. 53], [BEAUQUIER et l., 1992, p. 305], [SIPPU et SOISALON-SOININEN, 1988, théorème 3.17], [HU79, théorème 2.4], [Hr78, sec. 2.4]. Construction de MCNAUGHTON et YAMADA L construction l plus simple à démontrer, que l on trouver dns eucoup d ouvrges. En revnche, elle est délicte à utiliser à l min. Soit A = Σ, Q, I, F, δ un utomte fini ; on v chercher à clculer des expressions rtionnelles dérivnt les lngges L p,q = {w Σ q δ (p, w)} reconnus entre deux étts p et q de Q. En effet, le lngge de A est l union finie L(A) = p I,q F L p,q. On ordonne les étts de Q, lors vu comme l ensemle {1,..., n}, et on construit incrémentlement des expressions rtionnelles pour les ensemles de chemins L (k) p,q de p à q qui ne pssent que pr des étts intermédiires inférieurs à un certin k. Cette méthode fournit les expressions désirées puisque L p,q (n) = L p,q. On pose initilement { L (0) (p,,q) δ p,q = + ε si p = q (p,,q) δ sinon Puis, pour l étpe d induction sur k de 1 à n, on vérifie L p,q (k) = L p,q (k 1) + L (k 1) p,k (L (k 1) k,k ) L (k 1) k,q C.f. BRZOZOWSKI et MCCLUSKEY [1963] et [Cr08, p. 39], [Sk03, pp. 105 107]. Construction de BRZOZOWSKI et MCCLUSKEY Cette construction est plus intuitive, et plus isée à utiliser à l min. Elle consiste à éliminer un à un les étts de l utomte, et de mettre ses trnsitions à jour en cons quence, en utilisnt des prties rtionnelles de Σ comme étiquettes de trnsitions. Définition 1.41 (Automte générlisé). Un utomte générlisé est un utomte fini A = 2 Σ, Q, I, F, δ, c est-à-dire un utomte dont les trnsitions sont étiquetées pr des lngges L sur Σ. Proposition 1.42. Soit A = Rt(Σ ), Q, I, F, δ un utomte générlisé. Alors L(A) Rt(Σ ). Démonstrtion. L preuve consiste en l construction d un utomte équivlent à A. A n = Rt(Σ ), {q 0, q f }, {q 0 }, {q f }, {(q 0, L(A), q f )}

Notes de révision : Automtes et lngges 25 On construit tout d ord un utomte A 0 vec un unique étt initil q 0, un unique étt finl q f, et une seule trnsition entre deux étts q et q de A : A 0 = Rt(Σ ), Q {q 0, q f }, {q 0 }, {q f }, δ 0 δ 0 = {(q 0, {ε}, q) q I} {(q 0,, q) q (Q\I) {q f } {(q, {ε}, q f ) q F } {(q,, q f ) q (Q\F ) {q 0 }} {(q, L, q ) q q Q} {(q, {ε} L, q) q Q}. (q,l,q ) δ (q,l,q) δ Notons qu une trnsition existe entre toute pire d étts de A 0, potentiellement étiquetée pr ε ou. Cet utomte est ien équivlent à A, et ien ses étiquettes dns Rt(Σ ). L suite de l construction procède pr induction sur n = Q pour construire des utomtes A i où le ième étt est éliminé de A i 1, tels que A i soit encore équivlent à A. Notons q i l étt de Q éliminé à l étpe i, on lors A i = Rt(Σ ), {q i+1,..., q n, q 0, q f }, {q 0 }, {q f }, δ i δ i = {(q, L q,q (L q,qi L q i,q i L qi,q ), q ) Schémtiquement : (q, L q,q, q ), (q, L q,qi, q i ), (q i, L qi,q i, q i ), (q i, L qi,q, q ) δ i 1 }. L q,q q q L q,qi L devient q q,q (L q,qi L q i,q i L qi,q ) L q qi,q q i L qi,q i On vérifie ien que A i est équivlent à A i 1, et donc pr hypothèse d induction, à l utomte A d origine. Exemple 1.43. Appliquons cette technique d élimintion à l utomte A suivnt : A q 4 q 2 q 1 q 3 L première étpe est l construction de l utomte A 0 ; ici nous étiquetons les trnsitions vec des expressions rtionnelles, et ne fisons ps pprître les trnsitions étiquetées pr, ni les oucles élémentires uniquement étiquetées pr ε (qui devrient pprître sur chcun des étts q 1 à q 3 ) :

Notes de révision : Automtes et lngges 26 ε + A 0 q ε 0 q 4 q 2 q ε 1 q f q 3 On otient lors successivement les utomtes ε + A 1 q ε 0 q 4 q 2 q f q 3 ε + A 2 q ε 0 q 4 q f q 3 ε + + A 3 q ε 0 q 4 q f A 4 q 0 ( + ) q f C.f. [Cr08, p. 40], [Sk03, p. 107], [BEAUQUIER et l., 1992, p. 306]. Lemme d ARDEN et élimintion de GAUSS Voici enfin une troisième méthode pour clculer une expression rtionnelle à prtir d un utomte fini. Le principe est d exprimer les lngges de chque étt p de Q dns un système d équtions d inconnues X p, à vleur dns 2 Σ : { (p,,q) δ X p = X q + ε si p F (p,,q) δ X q sinon Comme L(A) est l union finie des solutions p I X p, il suffit de montrer que ces solutions sont elles-même rtionnelles. Un tel système se résout pr une élimintion de GAUSS, en ordonnnt les X i. On exprime lors chque X i comme l solution d une éqution X i = K i X i + L i vec

Notes de révision : Automtes et lngges 27 K i et L i des lngges sur Σ {X i+1,..., X n } pour n = Q, éqution que l on résout en utilisnt le lemme d ARDEN ci-dessous. On sustitue ensuite cette solution à X i dns les équtions pour X j, j > i. Le fit que ces solutions soient rtionnelles découle de l rtionnlité de K 1 et L 1 (qui sont dns Rt((Σ {X 2,..., X n }) )), puis de X 1 pr le lemme d ARDEN, et pr induction pour chcun des K i et L i. Lemme 1.44 (ARDEN). Soient K et L deux lngges sur Σ, et l éqution X = KX + L d inconnue X à vleur dns 2 Σ. Alors 1. X = K L est l plus petite solution, 2. si ε K, X = K L est l unique solution, 3. si ε K, les solutions sont X = K Y où L Y Σ. Démonstrtion. Montrons tout d ord que K L est une solution de l éqution. En effet, K (K L) + L = K + L + L = (K + + ε)l = K L. 1. Montrons mintennt que si X est une solution, lors K L X, et donc que K L est l plus petite solution. Procédons pr induction et montrons pour cel que K n L X pour tout n 0. Initilement, L X. Pr suite, KX X et en ppliqunt l hypothèse d induction K n L X, on déduit K n+1 L X. 2. Si ε K, montrons que toute solution X vérifie X K L, qui ser lors l unique solution. Pr l surde, soit w le mot de longueur minimle dns X\K L. Alors w L, et donc nous n vons ps d utre choix que w KX pour stisfire l éqution. On en déduit w = uv vec u K différent de ε et v dns X est strictement plus court que w, donc v est ussi dns K L. Mis lors w K L, une contrdiction. 3. Si ε K, soit un lngge Y sur Σ tel que L Y, lors K Y est solution de l éqution. Inversement, si X est une solution, L K L X et pr induction K X est ussi solution. À noter que si l on prt d un utomte sns ε-trnsitions, on n utilise lors que l énoncé (2) du lemme l énoncé (3) est là pour répondre ux jurys fcétieux... Complexité des expressions rtionnelles Si l on dispose de complexités risonnles pour l conversion d une expression rtionnelle en un utomte équivlent, ce n est ps le cs des expressions rtionnelles que l on peut construire à prtir d un utomte fini. Borne supérieure Le premier point, le plus simple, est que l on peut trouver u pire une expression E vec E = O(4 n ) pour un utomte de tille n. Cette orne s otient en exminnt l lgorithme de MCNAUGHTON et YAMADA, et en posnt S k pour l tille de l plus grnde expression L (k) p,q : S k = mx{ L (k) p,q p, q Q} S 0 Σ S k 4S k 1.

Notes de révision : Automtes et lngges 28 L preuve de cette orne inférieure est tirée de EHRENFEUCHT et ZEIGER [1976] ; voir ussi [SIPPU et SOISALON-SOININEN, 1988, exercice 3.16]. Borne inférieure Le second point est qu il existe une fmille d utomtes de tille n 2 pour lquelle toute expression rtionnelle équivlente vérifie E 2 n 1. Soit en effet l utomte A n = Q n, Σ n 2, {1}, {1}, δ défini pr Q n = {1,..., n} Σ n 2 = { ij i, j Q n } δ = {(i, ij, j) i, j Q n }. Le grphe sous-jcent de A n est le grphe complet sur l ensemle de sommets {1,..., n}. Définition 1.45 (Expression normle). Une expression rtionnelle est normle à un utomte A = Q, Σ, I, F, δ s il existe deux fonctions i et f des sous-expressions de E, notées su(e), dns Q telles que 1. si E 1 + E 2 su(e), lors i(e 1 ) = i(e 2 ) = i(e 1 + E 2 ) et f(e 1 ) = f(e 2 ) = f(e 1 + E 2 ), 2. si E 1 E 2 su(e), lors i(e 1 ) = i(e 1 E 2 ), f(e 2 ) = f(e 1 E 2 ), et f(e 1 ) = i(e 2 ), 3. si E 1 su(e), lors i(e 1) = i(e 1 ) = f(e 1) = f(e 1 ), 4. si E 1 su(e), lors L(E 1 ) L i(e1 ),f(e 1 ). Remrquons que toute expression rtionnelle E telle que L(E) = L(A n ) est normle à A n : il suffit de trouver le point de découpe dns une sous-expression E 1 E 2 (les utres cs ne lissnt ps de choix), et pour cel d inspecter P (E 2 ) (c.f. proposition 1.34) pour trouver ij et en déduire f(e 1 ) = i(e 2 ) = i. On pourrit procéder de mnière équivlente en inspectnt S(E 1 ) pour trouver un symole ki. Ce choix de i est ien unique : en effet, s il existit ussi ml dns P (E 2 ) vec i m, lors de E 1 E 2 on pourrit déduire un fcteur ki ml dns un mot de L(E), contredisnt L(E) = L(A n ). Définition 1.46 (Couverture d un mot). Une expression rtionnelle E couvre un mot u de Σ + si u Fct(L(E)), où Fct(L) dénote l ensemle des fcteurs de L. Définition 1.47 (Index d un mot). L index I u (E) d un mot u dns une expression E est l plus grnde vleur de m telle que E couvre u m. Si I u (E) =, lors on dit que E est u-infinie, et sinon qu elle est u-finie. Lemme 1.48. Soit u un mot de Σ + et E une expression rtionnelle sur Σ. Si E est u-finie, lors I u (E) E Démonstrtion. On vérifie en générl I u ( ) = 0 I u (ε) = 0 I u () 1 I u (E 1 + E 2 ) = mx(i u (E 1 ), I u (E 2 )) I u (E 1 E 2 ) I u (E 1 ) + I u (E 2 ) + 1 I u (E ) = sup{i u (E n ) n 0}.

Notes de révision : Automtes et lngges 29 Le seul point potentiellement surprennt est le +1 dns l inéglité pour E 1 E 2, qui provient de l possiilité de découper u en u 1 u 2, et d voir u Iu(E 1) u 1 dns Suff(L(E 1 )) et u 2 u Iu(E 2) dns Pref(L(E 2 )). L expression de I u (E ) dissimule en fit deux cs, selon que I u (E ) = ou que I u (E ) I u (E) + 1. Cette remrque permet de conclure. On déduit l orne cherchée de l proposition suivnte. Proposition 1.49. Il existe une oucle u dns A n pssnt pr l étt 1 telle que, pour toute expression E couvrnt u, E 2 n. Démonstrtion. On procède pr induction sur n. Dns A 1, l seule oucle possile est celle sur 11, vec pour expression E = 11 de tille 2. Supposons mintennt que l on it trouvé une oucle u dns A n 1 vérifint l énoncé, i.e. que pour toute expression E n 1 couvrnt u, E n 1 2 n 1. Dns l utomte A n, pour tout k de Q n, on considère les chemins u k, permuttions circulires de u qui commencent et finissent en l étt k. Pr exemple, si u = 11 13 34 45 51 dns A 5, lors dns A 6 on ur u 1 = 11 13 34 45 51 = u u 2 = 22 24 45 56 62 u 3 = 33 35 56 61 13 u 4 = 44 46 61 12 24... On vérifie insi que u k oucle sur k mis ne psse ps pr l étt k 1. Considérons à présent l oucle w = u 2n 1 12 u 2n 2 23 u 2n n n1. Soit E une expression couvrnt w. Pr définition de w, pour tout k, I uk (E) 2 n, et donc pr le lemme 1.48, soit E 2 n et nous vons notre preuve, soit E est u k -infinie. Dns ce dernier cs, pour chque k, on peut trouver des sous-expressions Fk de su(e) minimles (pour l ordre «sous-expression de») telles que ces Fk soit elles ussi u k -infinies et couvrent u k. On considère lors prmis ces sous-expressions un étt j = i(e1 ) pour l une de ces sous-expressions E 1 couvrnt un certin chemin u k, et une utre sous-expression E 2 pour l oucle u (j mod n)+1, qui pr définition étiquette un chemin qui ne psse ps pr j. On oserve que, si l on sustitue ε pour E 1 dns E (et donc indirectement dns E 2 ), lors E 2 couvre toujours u (j mod n)+1. Dès lors, E 2 2 n 1 près sustitution, pr hyp. d ind. puisque E 2 couvre u (j mod n)+1 E1 2 n 1 vnt sustitution, pr hyp. d ind. puisque E1 couvre u k E 2 n vnt sustitution 1.3 Minimistion Morphismes d utomtes Nous llons souvent utiliser dns cette section l notion de morphisme d utomtes : C.f. [Cr08, sec. 1.7], [Sk03, sec. I.3.3], [Aut94, ch. 6], [HU79, sec. 3.4].

Notes de révision : Automtes et lngges 30 C.f. [Sk03, chp. II.3]. Définition 1.50 (Morphisme d utomtes). Un morphisme d utomtes ϕ : A 1 A 2 entre deux utomtes A 1 = Σ, Q 1, I 1, F 1, δ 1 et A 2 = Σ, Q 2, I 2, F 2, δ 2 est une fonction de Q 1 dns Q 2 qui vérifie 1. ϕ(i 1 ) I 2, 2. ϕ(f 1 ) F 2 et 3. si (q,, q ) est une trnsition de δ 1, lors (ϕ(q),, ϕ(q )) est une trnsition de δ 2. On otient pr induction le lemme suivnt : Lemme 1.51. Soit ϕ : A 1 A 2 un morphisme d utomtes. Alors L(A 1 ) L(A 2 ). Une condition grntissnt l équivlence des lngges d un utomte et de son imge pr un morphisme d utomte est l surjectivité, définie pr : Définition 1.52. Un morphisme d utomtes ϕ : A 1 A 2 est loclement surjectif si 1. pour tout q de I 2, il existe q dns I 1 tel que ϕ(q ) = q et q soit dns F 1 si q est dns F 2, et 2. pour tout étt q de Q 1, et toute trnsition (ϕ(q),, q ) de δ 2, il existe une trnsition (q,, q ) de δ 1 telle que q = ϕ(q ) et q soit dns F 1 si q est dns F 2. À noter que dns le cs d utomtes déterministes complets, l surjectivité locle de ϕ se résume à demnder que ϕ(q) F 2 implique q F 1 pour tout q de Q 1. L surjectivité locle n interdit ps d voir des étts non ccessiles dns Q 2 sns ntécédent dns Q 1. Lemme 1.53. Si ϕ : A 1 A 2 est un morphisme loclement surjectif d utomtes, lors L(A 1 ) = L(A 2 ). Démonstrtion. D près le lemme 1.51, il ne nous reste qu à montrer que L(A 2 ) L(A 1 ). Soit donc une exécution de A 2 q 1 0 2 q1 q2 q n 1 n qn vec q 0 dns I 2 et q n dns F 2. On montre pr récurrence sur i de 0 à n qu il existe une exécution de A 1 q 0 1 q 2 1 q 2 q i 1 i q i vec q 0 dns I 1 et ϕ(q i ) = q i. Tout d ord, comme ϕ(i 1 ) = I 2, il existe ien un ntécédent q 0 I 1 pour q 0 pr ϕ. Puis, s il existe une telle exécution dns A 1 jusqu à q i, lors comme (ϕ(q i ),, q i+1) pprtient à δ 2, il existe (q i,, q i+1 ) dns δ 1 vec q i+1 = ϕ(q i+1 ). Il ne nous reste plus pour conclure qu à rppeler que si q n est dns F 2, lors l étt q n fourni pr l induction précédente est lui dns F 1, et donc que le mot 1 n est ccepté pr A 1. Même en l sence d une forme cnonique, il est intéressnt de minimiser des utomtes non déterministes. Ce prolème été montré PSPACE-complet pr JIANG et RAVIKUMAR [1993]. Enfin, un morphisme d utomtes est surjectif s il est loclement surjectif et si ϕ(q 1 ) = Q 2. On définit un morphisme injectif de mnière dule. En prticulier, deux utomtes A 1 et A 2 sont isomorphes s il existe un morphisme ijectif de A 1 à A 2. Les utomtes finis déterministes ont une forme minimle cnonique modulo isomorphisme. Ce résultt est à comprer à l sence d un tel utomte cnonique dns le cs non déterministe.

Notes de révision : Automtes et lngges 31 Exemple 1.54. Le lngge décrit pr l expression ( + ) + est reconnu pr les deux utomtes non isomorphes suivnts : On pourrit énumérer modulo isomorphisme tous les utomtes vec deux étts, ou trois étts et trois trnsitions, et vérifier qu il n en existe ucun qui reconnisse ce lngge. 1.3.1 Automte des quotients Rppelons que w 1 L = {u Σ wu L} est le quotient à guche (ou résiduel) de L Σ pr w Σ, et notons L q = {w Σ δ (q, w) F } pour un étt q d un utomte A = Σ, Q, I, F, δ. On les équtions C.f. [Cr08, déf. 1.83], [Sk03, p. 121], [Aut94, p. 64], [BEAUQUIER et l., 1992, p. 312]. v 1 u 1 L = (uv) 1 L L q = Σ pour tout u, v de Σ, L Σ, et q de Q. (q,,q ) δ {}L q Lemme 1.55. Soit A = Σ, Q, q 0, F, δ un utomte déterministe, q un étt de Q, et w un mot de Σ. Si δ (q 0, w) = q, lors L q = w 1 L. Démonstrtion. Pr récurrence sur w : initilement, L q0 = L = ε 1 L, puis pour w = u vec u dns Σ u et dns Σ, et q 0 q q, pr hypothèse de récurrence L q = u 1 L et on vérifie ien L q = 1 L q = 1 u 1 L = (u) 1 L puisque l utomte est déterministe. Le lemme 1.55 permet de mjorer le nomre de quotients à guche d un lngge reconnissle ; en prticulier, ce nomre est fini. Corollire 1.56. Soit A = Σ, Q, q 0, F, δ un utomte déterministe complet. Le nomre de quotients à guche de L(A) est inférieur à Q. Nous introduisons mintennt un utomte prticulier dont les étts sont des lngges sur Σ, et plus précisément les quotients à guche de L pr Σ : Définition 1.57 (Automte des quotients). L utomte des quotients d un lngge L Σ est A L = Σ, Q L, L, F L, δ L défini pr Q L = {w 1 L w Σ } F L = {w 1 L ε w 1 L} = {w 1 L w L} δ L = {(w 1 L,, (w) 1 L) w Σ, Σ} On déduit de cette définition que A L est un utomte déterministe complet ccessile. On vérifie isément dns A L que δ (L, w) = w 1 L, et donc que L(A L ) = L. Pr le corollire 1.56, si L est reconnissle, lors A L est fini et miniml. Une utre démrche pour ces résultts est de démontrer l proposition suivnte :

Notes de révision : Automtes et lngges 32 Proposition 1.58. Soit A = Σ, Q, q 0, F, δ un utomte déterministe complet reconnissnt L et A L = Σ, Q L, L, F L, δ L l utomte des quotients ssocié. L fonction ϕ : Q Q L, q L q est un morphisme surjectif d utomtes. Démonstrtion. Tout d ord, ϕ est ien un morphisme d utomtes : ϕ(q 0 ) = L, ϕ(f ) = F L, et si (q,, q ) est une trnsition de δ, lors (L q,, L q ) est une trnsition de δ L. De plus, ϕ est loclement surjectif, puisque, encore une fois ϕ(q 0 ) = L et, comme A est complet, pour toute trnsition (L q,, w 1 L) de δ L il existe une trnsition (q,, q ) de δ telle que L q = w 1 L, et q F si L q F L. Enfin, puisque A L est ccessile, ϕ(q) = Q L, donc ϕ est surjectif. Exemple 1.59. Les quotients à guche du lngge L de l expression ( + ) + sont L,, L(( + ) ) et L(( + ) ), ce qui fournit l utomte A L suivnt : ( + ) + ( + ) ( + ), C.f. BRZOZOWSKI [1963] et [Sk03, p. 125]. 1.3.2 Algorithme pr renversement de BRZOZOWSKI Voici un résultt ien utile pour démontrer qu un utomte que l on vient de déterminiser est miniml (c.f. l utomte de l exemple 1.14) : Proposition 1.60. Le déterminisé d un utomte co-déterministe co-ccessile qui reconnît L est miniml. Démonstrtion. Soient A = Σ, Q, I, {q f }, δ un utomte co-déterministe et coccessile qui reconnît L, et A d = Σ, 2 Q, I, F, δ son déterminisé. Montrons que le morphisme ϕ : 2 Q Q L est injectif, i.e. que si u 1 L = v 1 L pour deux mots de Σ, lors δ (I, u) = δ (I, v). On ur insi montré que A d est isomorphe à l utomte miniml A L. Supposons u 1 L = v 1 L et soit un étt p de δ (I, u), montrons qu il pprtient ussi à l ensemle δ (I, v). Comme A est co-ccessile, il existe un mot w de Σ tel que q f pprtienne à δ (p, w). Donc uw et vw pprtiennent à L. Comme A est co-déterministe, p est l unique étt tel que q f pprtienne à δ (p, w), donc p pprtient ussi à δ (I, v). Symmétriquement, on prouve ussi δ (I, v) δ (I, u). On en déduit un lgorithme extrêmement simple pour minimiser un utomte (y compris un utomte non déterministe) : clculer l utomte trnsposé, le déterminiser, prendre son trnsposé (on lors un utomte co-ccessile et co-déterministe), et déterminiser à nouveu : A L = det(tr(det(tr(a)))). Une trnsposition se fit en temps linéire, une déterministion en temps exponentiel. A priori, cet lgorithme trville donc en temps O(2 2n ). Cependnt, comme

Notes de révision : Automtes et lngges 33 l utomte finl est miniml, on sit qu il est plus petit que det(a), donc de tille u pire O(2 n ). L rgument est donc le suivnt : le coût d une déterministion est en O( A + det(a) ), l utomte intermédiire tr(det(tr(a))) est de tille O(2 n ), et l utomte finl ussi, d où une complexité totle en O(2 n ). Cette complexité est prticulièrement intéressnte si A est initilement non déterministe, puisque les utres lgorithmes de minimistion doivent commencer pr une déterministion. En prtique, même dns le cs où A est déterministe, cet lgorithme reste performnt. 1.3.3 Congruence de NERODE Définition 1.61 (Congruence). Soit A = Σ, Q, q 0, F, δ un utomte déterministe, et une reltion d équivlence sur Q. Cette reltion est une congruence si elle est comptile vec les trnsitions de A : C.f. [Cr08, sec. 1.7.2], [Sk03, déf. I.3.3], [Aut94, p. 60], [BEAUQUIER et l., 1992, p. 315]. q q implique Σ, δ(q, ) δ(q, ) (1.6) et si elle sture A : pour tous étts q, q de Q. q q implique q F ssi q F (1.7) Notons [q] pour l clsse d équivlence de l étt q. Définition 1.62 (Quotient). Soit A = Σ, Q, q 0, F, δ un utomte déterministe et une équivlence sur Q. L utomte quotient de A pr est l utomte A/ = Σ, Q/, [q 0 ], {[q f ] q f F }, δ/ } vec δ/ = {([q],, [δ(q, )]) q Q, Σ}. Oservons que A/ est déterministe et complet. Lemme 1.63. Soit A = Σ, Q, q 0, F, δ un utomte déterministe et une congruence sur Q. L utomte quotient A/ reconnît L(A). Démonstrtion. L inclusion L(A) L(A/ ) est immédite pour toute équivlence. Soit mintennt w = 1 n L(A/ ), reconnu pr une exécution [q 0 ] 1 [q 1 ] n [q n ] vec q n q f pour un étt finl q f de F. En prticulier, cette exécution ne psse ps pr l clsse d équivlence vide (qui sert d étt puit). On montre pr récurrence sur n que w étiquette une exécution de A q 1 0 q 1 n q n vec q i q i pour chque i de 1 à n. C est vri pr (1.6) pour i = 1, et de même pour l hypothèse de récurrence. Enfin, q n q n q f pour un certin étt finl q f (vec q n = q 0 si w = ε), et pr l propriété de sturtion (1.7), q n F, donc w est ien dns L(A). Définition 1.64 (Congruence de NERODE). Soit A = Σ, Q, q 0, F, δ un utomte déterministe. On ppelle l reltion d équivlence = suivnte l congruence de NERODE : q = q ssi L q = L q pour tous étts q, q de Q.

Notes de révision : Automtes et lngges 34 Sns surprise, l congruence de NERODE est ien une congruence u sens de l définition 1.61. L définition de = donne imméditement : Proposition 1.65. Soit A un utomte déterministe complet pour L. Alors A/ = est isomorphe à A L. C.f. [Cr08, sec. 1.7.3], [Sk03, proposition I.3.12], [Aut94, p. 61], [HU79, sec. 3.4], [BEAUQUIER et l., 1992, p. 318]. 1.3.4 Algorithme de MOORE L proposition 1.65 suggère un moyen de clculer l utomte miniml, en opérnt à des rffinements successifs d une congruence jusqu à otenir l congruence de NERODE. Définition 1.66. Soit A = Σ, Q, q 0, F, δ un utomte déterministe. On définit = i sur Q pr pour tous étts q, q de Q. q = 0 q ssi (q F ssi q F ) (1.8) q = i+1 q ssi q = i q et Σ, δ(q, ) = i δ(q, ) (1.9) Proposition 1.67. Il existe k tel que = k = = k+j pour tout j 0, et tel que = k = =. Démonstrtion. On vérifie pr récurrence que = = i pour tout i 0 : = = 0 est vérifié puisque L q = L q implique q F ssi q F, puis L q = L q implique q = i q pr hypothèse de récurrence, et pour tout de Σ, L δ(q,) = L δ(q,), donc encore pr hypothèse de récurrence δ(q, ) = i δ(q, ). Notons que = i+1 = i pour tout i, donc = i+1 est d index supérieur à celui de = i, mis d index inférieur à celui de =, qui est le nomre (fini) d étts de l utomte miniml. Donc il existe k tel que = k = = k+1 = = k+j pour tout j 0. Il reste à montrer que = k =. Soient q et q deux étts de Q tels que q = k q, et w = 1 n dns L q. Alors il existe deux exécutions dns A q 1 q 2 1 n qn q 1 q 2 1 n q n vec q j =k q j pour tout j 1 pr (1.9), et q n F ssi q n F pr (1.8), donc w est ussi dns L q. Cel montre L q L q, et on démontre de même l inclusion inverse. L lgorithme de MOORE consiste lors à clculer les prtitions successives de Q pr = i. Exemple 1.68. L lgorithme de MOORE trville en temps O(n 2 ) dns le pire des cs, que l on peut rencontrer vec l utomte suivnt, qui reconnît le lngge { m m = 0 mod n} : n 1 0 1 2 5 4 3

Notes de révision : Automtes et lngges 35 L prtition initile est puis pour chque i et enfin pour i = n 1 Q/ = 0 = {{0}, {1,..., n 1}} Q/ = i = {{0}, {1,..., n i 1}, {n i},..., {n 1}} Q/ = = {{0}, {1},..., {n 1}}. Notons des résultts récents qui ont prouvé que l lgorithme de Moore trville C.f. DAVID [2010]. en temps moyen O(n log log n) sur des utomtes complets déterministes. Il existe une version optimisée pr HOPCROFT de cet lgorithme, qui utilise une technique de diviser pour régner, en O(n log n). En prtique, elle est en fit moins efficce! 1.3.5 Monoïde syntxique On étudié jusque-là des crctéristions des lngges rtionnels grâce ux utomtes et ux expressions rtionnelles. On s intéresse dns cette section à une troisième fçon plus lgérique de définir ces lngges. Cette vision lgérique nous permettr de visuliser l minimistion d un utomte sous un nouveu jour. Rppelons pour commencer les définitions de monoïdes et de morphisme de monoïdes. Définition 1.69 (Monoïde). On ppelle monoïde tout ensemle M muni d une loi de composition interne M ssocitive (i.e.,, c M ( M ) M c = M ( M c)) qui possède un élément neutre 1 M (i.e. M M 1 M = 1 M M = ). On s utorise dns l suite à noter le produit M s il n y ps d miguité sur le monoïde utilisé. Si M et M sont deux monoïdes, on ppelle morphisme de M dns M toute ppliction µ : M M qui vérifie : µ(1 M ) = 1 M ; pour tous éléments et de M, µ() = µ()µ(). Exemple 1.70. Si Σ est un lphet fini, l ensemle Σ muni de l concténtion est un monoïde. L ensemle N muni de l ddition est un monoïde. L ppliction w w est un morphisme de Σ dns N. Remrquons que le monoïde Σ un sttut prticulier. En effet, toute fonction µ : Σ M de Σ dns un monoïde M se prolonge de fçon unique en un morphisme de monoïde de Σ dns M. On ppelle Σ le monoïde lire engendré pr Σ. Cel donne imméditement une nouvelle notion de lngge reconnissle. Définition 1.71 (Reconnissnce pr monoïde). On dit qu un lngge L Σ est reconnu pr le morphisme µ : Σ M s il existe une prtie P de M telle que L = µ 1 (P ). Pr extension, on dit qu un monoïde M reconnît le lngge L s il existe un morphisme µ : Σ M qui reconnît L. Remrquez qu on peut toujours choisir P = µ(l) lorsque µ reconnît le lngge L : insi, le morphisme µ : Σ M reconnît le lngge L si et seulement si L = µ 1 (µ(l)). On commence pr montrer que cette nouvelle définition de reconnissnce coïncide vec l définition émnnt des utomtes, si l on se restreint ux monoïdes finis. C.f. [Cr08, sec. 1.11], [Sk03, p. 256] et [Aut94, p. 47].

Notes de révision : Automtes et lngges 36 Proposition 1.72. Soit L un lngge sur l lphet Σ. Alors L est reconnissle si et seulement s il est reconnu pr un monoïde fini. Démonstrtion. Soit µ : Σ M un morphisme de monoïdes, vec M monoïde fini, vérifint L = µ 1 (µ(l)). L utomte Σ, M, {1 M }, µ(l), δ vec δ = {(m,, mµ()) m M, Σ} reconnît le lngge L, ce qui prouve une impliction de l proposition. Réciproquement, considérons A = Σ, Q, I, F, δ un utomte reconnissnt le lngge L. On définit le monoïde M Q des reltions inires sur l ensemle Q muni de l loi de composition interne définie pour deux reltions inires r, r sur Q pr rr = {(, c) Q (, ) r (, c) r } L ppliction µ : Σ M Q définie pr µ(w) = {(q, q ) q δ (q, w)} est un morphisme de monoïdes. Son imge µ(σ ) dns M Q est ppelée monoïde des trnsitions de l utomte A. Si on pose P = {r r (I F ) }, on vérifie que L = µ 1 (P ). C.f. [Sk03, p. 270] Cette définition lgérique de l rtionlité permet de donner des preuves extrêmement élégntes de certines propriétés de clôture des lngges rtionnels. Pr exemple, il est isé de reconnître l intersection de deux lngges reconnissles en définissnt le produit de deux monoïdes. Les clôtures pr sustitution inverse (et donc morphisme et morphisme inverse) insi que pr complément sont églement fcilitées. On verr dns l section 1.4.6 une utilistion de l reconnissnce pr monoïde pour prouver que les utomtes oustrophédons reconnissent exctement les lngges rtionnels. Étudions finlement l contreprtie lgérique de l minimistion. On vu précédemment que l minimistion d un utomte déterministe pouvit psser pr l fusion de certins de ses étts, équivlents pour une certine congruence. On v ici ussi psser pr une notion de congruence sur des monoïdes et l fusion d étts ser gérée pr l divisiilité de monoïdes. Définition 1.73 (Congruence de monoïde). Une reltion d équivlence définie sur un monoïde M est ppelée congruence (de monoïde) si pour tous,, et dns M vérifint et, on. De mnière équivlente, il suffit que pour tous y, y M, l impliction y y = x, z xyz xy z soit stisfite. Un monoïde M muni d une congruence peut être simplifié en quotientnt M pr : on otient le monoïde quotient noté M/ dont les éléments sont les clsses d équivlence de l reltion (l clsse de dns le quotient est notée []) muni du produit [][] = []. De mnière équivlente, un monoïde M est un quotient de M si et seulement s il existe un morphisme surjectif π : M M. Définition 1.74 (Congruence syntxique). Pour tout lngge L Σ, on ppelle contexte de w Σ l ensemle C(w) = {(u, v) (Σ ) 2 uwv L}. L reltion L définie pr w L w C(w) = C(w ) u, v Σ (uwv L uw v L) est ppelée congruence syntxique de L et le monoïde quotient Σ / L est ppelé monoïde syntxique de L.

Notes de révision : Automtes et lngges 37 Lemme 1.75. Pour tout lngge L, le monoïde syntxique M(L) reconnît L. Démonstrtion. Un mot w pprtient à L si et seulement si son contexte C(w) contient l pire (ε, ε). Ainsi, si une clsse de l congruence syntxique contient un mot de L, elle est entièrement contenue dns L. L ppliction cnonique de Σ dns M(L) = Σ / L qui ssocie à tout mot w s clsse [w] est un morphisme. Puisque L = w L [w] d près l remrque précédente, ce morphisme reconnît L. Non seulement le monoïde syntxique reconnît le lngge L mis en plus, il est le plus petit monoïde reconnissnt ce lngge, comme on v le voir mintennt. Définition 1.76 (Monoïde diviseur). Un monoïde M est ppelé sous-monoïde de M lorsque M M et si l ppliction identité de M dns M est un morphisme de monoïdes. On dit que M divise M, et on note M M si M est un quotient d un sous-monoïde M 1 de M. id M 1 M M π Notons que l reltion de division est une reltion d ordre sur l ensemle des monoïdes finis. Proposition 1.77. Un monoïde M reconnît un lngge L Σ si et seulement si le monoïde syntxique M(L) divise M. Démonstrtion. Il est isé de prouver que si un monoïde M reconnît L et que M divise M, lors le monoïde M reconnît L. Cette remrque djointe du résultt du lemme 1.75 prouve que si M(L) divise M, lors M reconnît le lngge L. Réciproquement, supposons que le monoïde M reconnît L, c est-à-dire qu il existe un morphisme µ : Σ M et une prtie P de M tels que L = µ 1 (P ). Soit π le morphisme cnonique de Σ dns M(L). Le monoïde M = µ(σ ) est un sous-monoïde de M. On v montrer que M(L) est un quotient de M ce qui prouver que M(L) divise M. Soient w et w deux mots tels que µ(w) = µ(w ). Une pire (u, v) pprtient lors u contexte C(w) si uwv L, c est-à-dire si µ(u)µ(w)µ(v) P : insi, les contextes C(w) et C(w ) sont égux, et finlement π(w) = π(w ). Cel nous utorise à définir une fonction π qui à tout élément m = µ(w) de M ssocie π (m) = π(w). On vérifie lors que π est un morphisme surjectif de M dns M(L). Σ M(L) µ π π M M Finlement, on peut fire le lien entre utomte miniml et monoïde syntxique d un lngge rtionnel.

Notes de révision : Automtes et lngges 38 Proposition 1.78. Le monoïde syntxique M(L) d un lngge rtionnel L est égl u monoïde des trnsitions de l utomte miniml de L. Démonstrtion. On note Σ, Q, {i}, F, δ l utomte miniml de L. On sit, grâce à l preuve de l proposition 1.72, que le monoïde des trnsitions de l utomte miniml de L reconnît L. Il est donc divisile pr le monoïde syntxique M(L). Pr illeurs, soient deux mots w et w ynt des imges différentes dns le monoïde des trnsitions de l utomte miniml. Puisque cet utomte est déterministe, il existe un étt p tel que δ (p, w) = q et δ (p, w ) = q vec q q. Puisque cet utomte est miniml, il existe un mot v tel que δ(q, v) F et δ(q, v) / F (ou l inverse). L utomte étnt émondé, il existe ussi un mot u tel que δ(i, u) = p. On en déduit que l pire (u, v) pprtient à C(w) mis ps à C(w ) et donc que w et w ont des imges différentes dns le monoïde syntxique de L. Cette remrque s inspire de HOLZER et KÖNIG [2004]. Cependnt, même si le monoïde syntxique d un lngge est le plus petit monoïde le reconnissnt, il peut tteindre l tille n n vec n le nomre d étts de l utomte miniml lorsque l lphet est de tille supérieure à 3. L utomte suivnt vérifie cette orne inférieure sur l lphet {,, c} : c 1 c n, c, 2 n 1 3, c, c... 4, c On peut reformuler l reconnissnce pr monoïde à l ide de congruences sur le monoïde Σ. On dit qu une congruence est d index fini lorsqu elle possède un nomre fini de clsses d équivlence, et qu elle sture le lngge L Σ si pour tous mots w, w Σ, l reltion w w implique w L w L. Les propositions précédentes permettent donc de prouver : un lngge L Σ est rtionnel si et seulement s il est sturé pr une congruence d index fini. 1.4 Applictions Voici enfin quelques pplictions des utomtes finis et des expressions rtionnelles. Les deux premières sont tellement clssiques qu elles sont même officiellement u progrmme de l grégtion... mis on trouver des exemples plus originux dns les sections suivntes.

Notes de révision : Automtes et lngges 39 1.4.1 Loclistion Sous cette dénomintion se cchent de nomreuses pplictions, depuis l recherche d une chîne dns des fichiers (pr exemple vec grep), jusqu à celle de motifs pproximtifs dns une séquence ADN. Pour limiter le chmp de ces lgorithmes de pttern mtching, on se contente ici de l recherche d un mot fini m dns un texte t sur un lphet fini Σ connu à l vnce. Algorithme 1.79. LOCALISATION NAÏVE (m = 1 p, t = 1 n ) 1. i 1 (index cournt dns m) 2. j 1 (index cournt dns t) 3. tnt que j n fire 4. tnt que i p j n fire 5. si i = j lors 6. i i + 1 7. j j + 1 8. sinon 9. j j i + 2 10. i 1 11. fin si 12. fin tnt que 13. si i > p lors 14. fficher «motif trouvé en j p+1 j» 15. j j i + 2 16. i 1 17. fin si 18. fin tnt que Cet lgorithme fonctionne en temps O( m t ) et espce O( m ). On otient un meilleur lgorithme de loclistion en utilisnt un utomte fini déterministe pour le lngge Σ m : à chque pssge pr son étt finl, on ur trouvé le motif recherché une utilistion originle des étts finux. Exemple 1.80. Un utomte non déterministe pour le motif sur {, } est le suivnt : Cette section reprend un chpitre de CROCHEMORE et HANCART [1997] ; voir ussi BEAUQUIER et l. [1992, sec. 10.1.6, p. 354], AHO [1990] et [Sk03, sec. I.5.3]. ε Définition 1.81 (Chevuchement, ordure, période). Le chevuchement ch(u, v) de deux mots u et v est le plus long suffixe de u qui est un préfixe de v. u ch(u, v) Un mot u est une ordure d un mot v s il est à l fois un préfixe et un suffixe de v, c est-à-dire s il existe v 1, v 2 dns Σ tels que v = uv 1 = v 2 u. L ordure l plus longue de v différente de v est notée ord(v). v L utilistion de ordures est ussi u cœur de l lgorithme de KNUTH et l. [1977] qui trville en temps O( m + t ) et espce O(m). L idée d utiliser l utomte miniml pour Σ m vec une trnsition pr défut est dûe à SIMON [1994].

Notes de révision : Automtes et lngges 40 ord(v) v v 2 v 1 p v Une période d un mot v = 1 n est un entier p entre 0 et n tel que, pour tout 1 i n p, i = i+p. À noter que si un mot v une ordure non vide, lors v ord(v) est une période de v. Lemme 1.82. Pour tous mots u, v de Σ et tout symole de Σ, { ch(u, v) si ch(u, v) est un préfixe de v ch(u, v) = ord(ch(u, v)) sinon. Démonstrtion. Montrons tout d ord que w 1 = ch(u, v) est une ordure de w 2 = ch(u, v). Comme w 1 est un suffixe de u, deux cs sont possiles : 1. soit w 1 = ε et lors c est trivilement une ordure de w 2, 2. soit w 1 = w 1 et d une prt u = u 1w 1 et v = w 1 v 1 et d utre prt u = u 2 w 2 et v = w 2 v 2 pour u 1, u 2, v 1, v 2 ppropriés. On voit lors que w 1 est à l fois suffixe de u et préfixe de v, donc c est une ordure de w 2 (qui est pr définition le plus long suffixe de v et préfixe de u). Pr suite w 1 = w 1 est un suffixe de w 2, et comme l ordre préfixe est linéire, soit w 2 est un préfixe strict de w 1 mis lors w 1 = w 2 et donc w 1 est ien préfixe de w 2, soit w 1 est un préfixe lrge de w 2 et donc de w 2. Il reste à montrer le lemme : si w 2 est un préfixe de v, lors c est ussi un suffixe de u mximl (sinon w 2 ne serit ps mximl). Sinon, si w 2 n est ps un préfixe de v, lors d une prt w 1 w 2 et d utre prt si w est une ordure stricte de w 2 lors w est un suffixe de u et un préfixe de w 2 lui-même préfixe de v donc est une ordure de w 1. Définition 1.83 (Automte d un motif). On définit pour un motif m de Σ l fonction de retour r m pr { u si u est un préfixe de m r m (u) = ord(u) sinon pour tout préfixe u de m et tout symole de Σ. L utomte du motif m sur Σ est l utomte fini A m = Σ, Pref(m), ε, {m}, {(u,, r m (u)) u Pref(m), Σ} où Pref(m) est l ensemle des préfixes de m. Exemple 1.84. L utomte du motif sur {, } est le suivnt : ε

Notes de révision : Automtes et lngges 41 Proposition 1.85. L utomte A m d un motif m est l utomte miniml pour le lngge Σ m. Démonstrtion. Le fit que A m soit déterministe et complet est immédit d près les définitions. Pr récurrence sur l longueur du mot u de Σ, on montre que δ (ε, u) = ch(u, m) dns A m. C est vri pour u = ε = ch(ε, m), et pour δ(ch(u, m), ) = ch(u, m) pr le lemme 1.82. En prennt u = vm vec v dns Σ, δ (ɛ, vm) = ch(vm, m) = m d où l on déduit que L(A m ) = Σ m. L utomte A m est de plus miniml puisque les lngges cceptés depuis chque étt sont ien différents : soient u 1 et u 2 deux préfixes différents de m = u 1 v 1 = u 2 v 2 ; on peut supposer u 1 < u 2 et donc v 1 > v 2, lors v 2 ne peut ps être dns le lngge ccepté à prtir de l étt u 1, sinon u 1 v 2 de longueur inférieure à m serit ccepté pr l utomte entier. On noter que l utomte d un motif est exctement le déterminisé de l utomte non déterministe «nturel» pour Σ m : ce dernier étnt co-déterministe, s déterministion donne ien un utomte miniml (c.f. l utomte non déterministe de l exemple 1.80, et son déterminisé miniml dns l exemple 1.84). L utomte d un motif m exctement m + 1 étts et Σ m trnsitions. Une fois l utomte construit, on sit donc effectuer l recherche d un motif m dns un texte t en temps O( Σ m + t ) et espce O( Σ m ). Ce n est ps encore très on, du fit du fcteur Σ dns l tille de l utomte. L solution est d utiliser un utomte vec les trnsitions vers l étt ε lissées implicites : dns l lgorithme de reconnissnce d un mot pr un utomte déterministe, on ir lors en l étt ε u lieu de rejeter le mot si une trnsition n est ps prévue pr l utomte. On tire insi prti de l propriété suivnte sur les utomtes de motif. Voir l lgorithme de minimistion pr renversement de BRZOZOWSKI en section 1.3.2. Proposition 1.86. Une trnsition (u,, ε) d un utomte de motif est dite trivile. Si A m est un utomte de motif pour m, lors il contient u plus 2 m trnsitions non triviles. Démonstrtion. Les trnsitions de l forme (u,, u) dns A m pour u un préfixe de m = 1 p sont u nomre de p = m ; il nous reste à montrer qu il y u plus m trnsitions de l forme (u,, ord(u)) vec ord(u) ε. On considère pour cel l différence u ord(u) m. Supposons qu il existe deux telles trnsitions différentes (u 1,, ord(u 1 )) et (u 2,, ord(u 2 )) telles que u 1 ord(u 1 ) = u 2 ord(u 2 ). (1.10) Si u 1 = u 2, lors d près (1.10), ord(u 1 ) = ord(u 2 ), qui implique à son tour =, en contrdiction vec le fit que ces deux trnsitions devient être différentes.

Notes de révision : Automtes et lngges 42 Si u 1 > u 2 et donc ord(u 1 ) > ord(u 2 ), lors = ord(u2 ) puisque ord(u 2 ) ε = ord(u2 ) + u 1 ord(u 1 ) +1 puisque ord(u 1 ) ε = ord(u2 ) + u 2 ord(u 2 ) +1 pr (1.10) = u2 +1 donc u 1 ord(u 1 ) une période de u 1 donc u 1 ord(u 1 ) + 1 une période de u 1 Ce qui contredit le fit que u 2 n étit ps un préfixe de m. Exemple 1.87. Une orne de 2 m trnsitions non triviles est tteinte pr l utomte pour le motif n : pour 0 i n, chque étt i une trnsition pr vers l étt. ε n Il ne nous reste plus pour conclure cette section qu à donner un lgorithme pour construire A m sns ses trnsitions triviles en temps et espce O( m ). L idée de cette construction est l suivnte : en prtnt d un utomte reconnissnt Σ, on «déplie» les trnsitions qui vont composer le motif m lettre pr lettre. L étt tteint pr l ncienne trnsition est utilisé pour clculer les trnsitions depuis le nouvel étt. L utilistion de trnsitions pr défut est ensuite une simple dpttion. Lemme 1.88. Soit δ m l ensemle des trnsitions de l utomte A m sur Σ. On pour tout u de Σ et de Σ : δ ε = {(ε,, ε) Σ} δ u = δ u δ u δ u = {(u,, u)} (δ u \{(u,, r u (u))}) δ u = {(u,, v) (r u (u),, v) δ u, Σ} Exemple 1.89. L construction incrémentle de l utomte pour de l exemple 1.84 psse pr les étpes suivntes vnt d otenir l utomte du motif : ε ε

Notes de révision : Automtes et lngges 43 ε ε 1.4.2 Anlyse lexicle Une utre ppliction des utomtes finis est l nlyse lexicle, ici du point de vue des lngges de progrmmtion et dns le contexte de l compiltion de progrmmes. Comme dns le cs de l recherche de motif, les utomtes sont utilisés de mnière non stndrd : il n est ps esoin d être à l fin de l entrée pour s intéresser ux étts finux rencontrés, u contrire on souhite repérer à quels moments cel se produit. Cependnt, et c est là que l ffire se corse pr rpport ux lgorithmes de loclistion, on veut trouver un découpge du texte d entrée à l ide de tels étts finux, et comme plusieurs découpges sont générlement possiles, quelques croties deviennent nécessires... Rppelons d ord le schém générl de l prtie vnt d un compilteur : C.f. [GBJL00, sec. 2.1], [SIPPU et SOISALON-SOININEN, 1988, sec. 3.6], [ASU86, ch. 3], [HU79, sec. 2.8]. progrmme (texte) nlyse lexicle lexèmes nlyse syntxique rres syntxiques nlyse sémntique production de code tle de symoles 1. L nlyseur lexicl reconnît les composnts élémentires de l syntxe, pr exemple les mots-clefs, opérteurs, commentires, etc. Le résultt est une séquence de lexèmes (ou tokens) qui sont pssés à 2. l nlyseur syntxique, qui vérifie que le progrmme est syntxiquement correct et construit un rre de syntxe (strit) à prtir des lexèmes ; enfin 3. l nlyseur sémntique sttique vérifie le on typge du progrmme. Arrivé à ce point, un compilteur enchîne encore typiquement plusieurs phses d - nlyse sttique pour optimiser le code mchine qu il v produire, ce qui constitue s prtie rrière. Les trois phses de l prtie vnt mintiennent générlement une tle des symoles, contennt les noms des identificteurs, les types utilisteurs, les opérteurs surchrgés, etc. Exemple 1.90. Voici quelques-unes des expressions rtionnelles utilisées pour l - nlyse lexicle du lngge C, et l fçon de les noter dns un générteur d nlyseurs lexicux comme flex : mots clefs dont int ou if, notés

Notes de révision : Automtes et lngges 44 symoles comme =, + ou ; E if =if E int =int L nottion [...] reprśente un ensemle de crctères (prmi un lphet comme l tle ASCII), et [^...] l ensemle de crctères complémentire. Ces crctères peuvent être échppés, comme \n pour un retour à l ligne, et on peut considérer tout un intervlle de l tle ASCII, comme -f pour toutes les lettres de à f. E = == E + =+ E ; =; lncs les crctères d espce, de tultion, de retour à l ligne etc., notés E spce =[ \n\r\t]+ identifints des séquences de lettres et de chiffres, notés E id =[_-za-z][_0-9-za-z]* nomres entiers dns plusieurs ses possiles, de type long ou non, signés ou non, notés E ic =([1-9][0-9]* 0[0-7]* 0x[0-9-fA-F]+)[lLuU]? chînes commencent et finissent pr ", vec des crctères d échppement, notées... E sc ="([^"] \\")*" L idée à prtir d une telle collection d expressions rtionnelles (E i ) i est de construire un utomte fini reconnissnt l union de leurs lngges, et de l utiliser pour segmenter le texte d entrée. Pr exemple, l nlyse lexicle d un texte d entrée int = 12; int = 3 + ; v retourner une séquence de lexèmes, qui correspondent chcun à une expression rtionnelle, et qui constituent un découpge de l chîne d entrée : int spce id spce = spce ic ; spce int spce id spce = spce ic spce + spce id ; On peut oserver que ce découpge n est ps sns prolème, puisque 1. int est à l fois dns L(E int ) et L(E id ), ce que l on résout hituellement en donnnt l priorité u premier choix, 2. on pourrit ussi diviser 12 en deux lexèmes ic, l un pour 1 et l utre pour 2, ce que l on résout en prennt toujours le segment le plus long possile. Un utomte fini déterministe pour les expressions rtionnelles données en exemple est donné en figure 1.1. On peut noter qu il étiquette ses étts finux vec les expressions rtionnelles identifiées en ce point, et qu il incorpore déjà l priorité des mots clefs sur les identifints. Algorithme nïf Le principe de l lgorithme nïf d nlyse lexicle est de simuler un utomte déterministe A pour le lngge L( p i=1 E i) = p i=1 L(E i), comme celui représenté ci-dessus, sur le texte d entrée w de Σ. Qund il rencontre un étt finl, l lgorithme ne peut générlement ps imméditement nnoncer voir trouvé un lexème, puisqu en lisnt plus, il pourrit en trouver un plus long. Il fut donc mémoriser ce dernier étt finl q f rencontré et s position j dns le texte, et continuer l recherche d un lexème plus long. Qund

Notes de révision : Automtes et lngges 45 [_0-9-zA-Z] E id [_0-9-zA-Z] [_-hj-za-z] [_0-9-eg-mo-zA-Z] [_0-9-zA-Z] [_0-9-su-zA-Z] f E if E int E id n t E + + i [ \n\r\t] E spce [ \n\r\t] E id = E = ; " \ " E ; [1-9] " E sc 0 [^"] E ic [lluu] [lluu] E ic [0-9] E ic [0-7] x E ic [0-7] [lluu] E ic [0-9-fA-F] FIGURE 1.1 Anlyse lexicle pr un utomte déterministe. on ne peut ppliquer ucune trnsition de l utomte, on utilise cet étt finl (pr exemple en ffichnt l index de l expression rtionnelle qui vient d être identifiée, donné pr une fonction f de F dns {1,..., p}), et on reprend l nlyse depuis l position j mémorisée. Algorithme 1.91. ANALYSE LEXICALE NAÏVE (A = Σ, Q, q 0, F, δ, f : F {1,..., p}, w = 1 n ) 1. q q 0 (étt cournt) 2. i 1 (index cournt dns w) 3. tnt que i n fire 4. q f (dernier étt finl rencontré) 5. tnt que i n δ(q, i ) fire

Notes de révision : Automtes et lngges 46 6. si q F lors 7. q f q 8. j i 9. fin si 10. q δ(q, i ) 11. i i + 1 12. fin tnt que 13. si q F lors 14. q f q 15. j i 16. fin si 17. si q f = lors 18. retourner échec 19. fin si 20. fficher f(q f ) 21. i j 22. fin tnt que 23. retourner succès Cet lgorithme simple souffre cependnt d un défut : il trville en temps O(n 2 ) dns le pire des cs. Comme les fichiers à nlyser peuvent être de tille conséquente (pr exemple en C pr le truchement des #include), cette complexité n est ps cceptle. Exemple 1.92. Considérons deux expressions rtionnelles E 1 = et E 2 =, pour lesquelles on peut construire l utomte déterministe suivnt, ssocié à l fonction f : q 1 1, q 3 2 : q 3 q 0 q 1 q 2 Sur le texte d entrée w = n, l lgorithme 1.91 v fficher 1 n, mis u prix d une inspection de l totlité du texte depuis chcune des n positions de déprt. Notons enfin qu il est nécessire que ε n pprtienne à ucun lngge d expression E i si l on veut grntir l terminison... C.f. REPS [1998], et [GBJL00, sec. 2.1.6.7, p. 85]. Algorithme pr progrmmtion dynmique Une solution à cette complexité excessive est d dopter un lgorithme pr progrmmtion dynmique. L idée est d exprimer une solution u prolème d identifier un segment de longueur mximle à prtir d un étt q de l utomte depuis une position i dns le mot d entrée w = 1 n à l ide d utres clculs pour q un étt de Q et de l position i + 1. Ces clculs ne dépendent ps du contexte dns lequel ils sont effectués (trnsprence référentielle : une expression peut être remplcée pr son résultt), et sont en nomre polynomil Q (n + 1) : { (, 0) si q F T (q, n + 1) = (q, n + 1) sinon

Notes de révision : Automtes et lngges 47 et pour i n, (, 0) (q, i) T (q, i) = (q, i) T (q, i + 1) si δ(q, i ) = et q F si δ(q, i ) = et q F si δ(q, i ) = q, T (q, i + 1) = (, 0) et q F si δ(q, i ) = q sinon. On peut clculer T (Q, {1,..., n + 1}) de mnière systémtique (en considérnt On peut isément modifier le successivement des positions décroissntes de w), en temps linéire Θ( Q w ). On clcul de T pour trviller sur un reconstruit ensuite l segmenttion en lisnt T (q 0, i) pour les positions déqutes utomte non déterministe, ce du texte d entrée w : qui fit dvntge ressortir le Algorithme 1.93. ANALYSE LEXICALE (A = Σ, Q, q 0, F, δ, f : F {1,..., p}, w = 1 n ) 1. i 1 2. tnt que i n fire 3. (q f, i) T (q 0, i) 4. si q f = lors 5. retourner échec 6. fin si 7. fficher f(q f ) 8. fin tnt que 9. retourner succès Une solution plus efficce utilise une pproche pr mémoïstion (ou recensement), et consiste à ne clculer que les vleurs utiles de T (Q, {1,..., n + 1}). Cette version presseuse trville lors en temps O( Q w ). Exemple 1.94. Reprenons l nlyse de w = n de l exemple 1.92 : on puisque T (q 0, 1) = T (q 1, 2) = (q 1, 2) T (q 2, 3) = T (q 2, 4) = = T (q 2, n + 1) = (, 0). Une fois ce premier segment trouvé en temps O(n), on peut relncer l nlyse lexicle vec T (q 0, 2) = T (q 1, 3), pour lequel on pourr directement réutiliser l solution du clcul de T (q 2, 4) : les étpes ultérieures sont en O(1) dns cet exemple. côté «progrmmtion dynmique», puisqu un clcul de T (q, i) dépend lors de plusieurs clculs T (q j, i + 1) vec q j δ(q, i). De plus, l complexité reste en O( A w ), sns voir à pyer le coût de l déterministion. 1.4.3 Linguistique Syntxe Puisque les lngges rtionnels permettent une description finie d un ensemle infini, on pourrit espérer représenter l totlité des phrses d une lngue comme le frnçis, en supposnt tout de même un lexique fini et fixe. Cette idée d employer des règles de dérivtion formelles été notmment explorée pr Nom CHOMSKY [1956], et l mené à définir les différentes clsses de grmmires qui composent mintennt l hiérrchie de CHOMSKY. Les grmmires de type 3 y sont équivlentes ux lngges rtionnels (voir l??). Cependnt les lngges rtionnels sont inppropriés pour décrire l totlité d une lngue : en trduisnt un exemple de CHOMSKY, un prédict de l forme l homme qui dit que S rrive demin

Notes de révision : Automtes et lngges 48 peut voir n importe quel prédict à l plce de S, y compris un prédict de cette même forme. On rrive donc à un ensemle de phrses de l forme (l homme qui dit que) n S(rrive demin) n, n 0 sur Σ = {l homme, qui, dit, que, rrive, demin}. Un lngge qui contient un tel sous-ensemle n est ps rtionnel voici une ppliction un peu originle des propriétés de clôture et des lemmes d itértion. À défut de modéliser l intégrlité du frnçis, on peut nénmoins utiliser (vec succès) des utomtes finis et des expressions régulières pour des sous-lngges : dtes, nomres, etc. Exemple 1.95. Voici un utomte qui reconnît les nomres de «un» à «vingtneuf» : vingt ε et onze douze treize qutorze quinze seize dix ε - un deux trois qutre cinq six - ε sept huit neuf Une nlyse syntxique simple, dite «de surfce», peut ussi être effectuée sur des phrses entières, à l ide de trnsducteurs ou de cscdes de trnsducteurs, qui vont repérer les ensemles de mots qui forment des groupes nominux ou des groupes verux pr exemple. L intérêt des utomtes réside lors dns leur onne complexité d nlyse comprée à des formlismes plus complexes comme les grmmires lgériques, fournissnt des nlyses suffisntes pour certines pplictions à moindre coût. 1.4.4 Théorie des codes Cette section s inspire des résultts de BERSTEL et PERRIN [1985]. L théorie des codes est u cœur de plusieurs disciplines (cryptogrphie, théorie de l informtion, mthémtiques, électrotechnique...) et son ojectif est d étudier des méthodes permettnt de trnsmettre de données de mnière efficce (compression de données) et file (codes correcteurs d erreur). On se contente ici de donner une vision des codes sées sur les utomtes. Après voir donné l définition formelle d un code sur un lphet fini, on étudier une méthode de reconnissnce des codes et on étudier un type prticulier de codes, les codes préfixes. Définition 1.96 (Code). Soit Σ un lphet fini. Un sous-ensemle X de Σ est un code sur Σ si pour tous n, m 1 et pour tous x 1,..., x n, y 1,..., y m X, l condition x 1 x 2 x n = y 1 y 2 y m implique n = m et x i = y i pour tout i {1,..., n}.

Notes de révision : Automtes et lngges 49 En d utres termes, un ensemle X est un code si tout mot de X + peut s écrire de mnière unique comme un produit de mots dns X. En prticulier, un code ne contient jmis le mot vide. En terme d encodge, on peut reformuler l définition d un code comme suit : Proposition 1.97. Si un sous-ensemle X de Σ est un code, lors tout morphisme β : A Σ qui induit une ijection d un lphet A sur X est injectif. Réciproquement, s il existe un morphisme injectif β : A Σ tel que X = β(a), lors X est un code. Un tel morphisme injectif β : A Σ vérifint X = β(a) est ppelé morphisme d encodge pour X : les mots de X encodent les lettres de l lphet A. L procédure d encodge consiste à ssocier à un mot 1 n A ( i A), qui est le messge clir, le messge chiffré β( 1 ) β( n ). Le fit que β soit injectif ssure que le messge chiffré peut être décodé de mnière unique pour retrouver le messge originel. Exemple 1.98. On fixe l lphet Σ = {, }. L ensemle X = {,, } est un code. En effet, supposons le contrire. Alors, il existe un mot w X +, de longueur minimle, qui possède deux fctoristions distincts w = x 1 x n = y 1 y m (n, m 1, x i, y j X). Comme w est de longueur minimle, on x 1 y 1 : sns perte de générlité, on peut supposer que x 1 est un préfixe strict de y 1. Ceci implique nécessirement que x 1 = et y 1 =. Pr suite, on doit nécessirement voir x 2 = = y 2. Ainsi, y 1 = x 1, y 1 y 2 = x 1 x 2 et si on suppose que y 1 y p = x 1 x p, lors nécessirement x p+1 = = y p+1, d où on déduit y 1 y p+1 = x 1 x p+1. Ceci contredit l existence de deux fctoristions distinctes. L ensemle X = {,, } n est ps un code puisque le mot w = possède deux fctoristions distinctes w = () = (). Les ensemles X = et Y = { n n n 1} sont des exemples de codes infinis, qu on retrouver lorsqu on prler de codes préfixes. En prticulier, on remrque que X est un lngge reconnissle, lors que Y n en est ps un. Pour tout lphet, l ensemle Σ + est un code. Vérifiction d un code Il n est ps toujours fcile de vérifier si un ensemle donné de mots est un code. On décrit ici un premier test, sé sur une orgnistion systémtique des clculs requis pour vérifier qu un ensemle de mots stisfit l définition d un code. On s ppuie sur l section I.3 de BERSTEL et PERRIN [1985]. Exemple 1.99. Soit Σ = {, }. L ensemle X = {,,,, } n est ps un code puisque le mot w = deux fctoristions ()() = w = ()()()(). Ces deux fctoristions définissent une suite de préfixes de w, chcun correspondnt à une tenttive de doule fctoristion : () = () () = ()() () = ()()() ()() = ()()() ()() = ()()()() Chcune de ces tenttives, suf l dernière, échoue, à cuse du reste non vide.

Notes de révision : Automtes et lngges 50 Pour X un sous-ensemle (fini ou infini) de Σ +, on pose U 1 =X 1 X\{ε} U n+1 =X 1 U n U 1 n X pour n 1 Exemple 1.100. Dns l exemple précédent, on U 1 = {}, U 2 = {}, U 3 = {, }, U 4 = {,, } et U 5 = {,,, ε, }. Lemme 1.101. Pour tout n 1 et k {1,..., n}, on ε U n si et seulement s il existe un mot u U k et des entiers i, j 0 tels que ux i X j et i + j + k = n (1.11) Démonstrtion. On prouve ce résultt pour tout n, pr récurrence forte descendnte sur k. Si k = n, l équivlence est trivile. Supposons donc que n > k 1 et que l équivlence est vrie pour n, n 1,..., k + 1. Si ε U n, pr hypothèse de récurrence, il existe v U k+1 et deux entiers i, j 0 tels que vx i X j et i + j + k + 1 = n. Il y donc des mots x X i et y X j tels que vx = y. Comme v U k+1, deux cs se présentent. 1er cs. v X 1 U k : il existe un mot z X tel que zv = u U k. Alors ux = zvx = zy, d où ux i X j+1. 2ème cs. v U 1 k X : il existe un mot z X et u U k tels que z = uv. Alors zx = uvx = uy, d où ux j X i+1. Dns les deux cs, l formule 1.11 est stisfite. Réciproquement, si on suppose qu il existe u U k et i, j 0 vérifint ux i X j et i + j + k = n lors ux 1 x i = y 1 y j pour des mots x r, y s X. Si j = 0, lors i = 0 et k = n. Donc j 1. À nouveu, on distingue deux cs selon les longueurs respectives de u et y 1. 1er cs. Si u = y 1 v pour un mot v Σ +, lors v X 1 U k U k+1 et vx 1 x i = y 2 y j. Ainsi, vx i X j 1 et pr hypothèse de récurrence ε U n. 2ème cs. Si y 1 = uv pour un mot v Σ +, lors v U 1 k X U k+1 et x 1 x i = vy 2 y j. Ainsi, X i vx j 1 et pr hypothèse de récurrence ε U n. Finlement, on peut en déduire le théorème suivnt Théorème 1.102. L ensemle X Σ + est un code si et seulement si ucun des ensemles U n ne contient le mot vide. Démonstrtion. Si X n est ps un code, lors il existe une églité x 1 x 2 x p = y 1 y 2 y q, x i, y j X et x 1 y 1 Sns perte de générlité, supposons que y 1 < x 1. Alors x 1 = y 1 u pour un mot u A +. Dns ce cs, u U 1 et ux p 1 X q 1. D près le lemme, ε U p+q 1. Réciproquement, si ε U n, en prennt k = 1 dns le lemme, on sit qu il existe u U 1 et des entiers i, j 0 tels que ux i X j. Le fit que u U 1 ssure l existence de x, y X tels que xu = y. De plus, x y puisque u ε. Ainsi, xux i xx j, ce qui entrîne yx i xx j, puis que X n est ps un code.

Notes de révision : Automtes et lngges 51 Exemple 1.103. Dns l exemple précédent, on déduit du fit que ε U 5 que X n est ps un code. Pour Y = {,,,, }, on otient U 1 = {} et U 2 = U 1. Ainsi, U n = {} pour tout n 1, donc X est un code. Afin de trnsformer l condition nécessire et suffisnte du théorème précédent en un lgorithme de vérifiction, considérons le cs où X est un lngge reconnissle. Proposition 1.104. Si X Σ + est un lngge reconnissle, lors l ensemle de tous les U n (n 1) est fini. Démonstrtion. Soit X l congruence syntxique du lngge X (cf. définition 1.74) : le fit que X soit reconnissle entrîne que celle-ci soit d index fini. On définit un rffinement pr w w si w = w = ε ou ien si w, w Σ + et w X w. Il est clir que est à nouveu une congruence d index fini. De mnière générle, si est une congruence et si L Σ est une union de clsses d équivlence de, lors pour tout sous-ensemle Y de Σ, Y 1 L est une union de clsse d équivlences de. En effet, soit z Y 1 L et z z. Il existe y Y tel que yz L, d où on déduit que yz L. Ainsi z Y 1 L. On v insi prouver que chque U n est une union de clsses d équivlence de, pr récurrence sur n 1. Pour n = 1, X est une union de clsses de X, insi X 1 X est ussi une union de clsses de X, et il est fcile de vérifier que X 1 X\{ε} est lors une union de clsses de. Pr suite, si U n est une union de clsses de, lors Un 1 X et X 1 U n sont tous deux des unions de clsses de. Donc il en est de même de leur réunion, U n+1. L preuve précédente montre églement que le nomre d ensemles U n différents est mjoré pr 2 2n vec n le nomre d étts de l utomte miniml de X. On décrit dns l suite un deuxième test, eucoup plus efficce, sé sur des C.f. BERSTEL et PERRIN [1985, propriétés d miguïté d un utomte. Soit A = Σ, Q, I, F, δ un utomte sns sec. IV.1] et [Sk03, p. 81]. ε-trnsition. Définition 1.105. Un utomte émondé A est dit non migu si pour tout mot w L(A), il existe un unique clcul réussi de A dont w est l étiquette. Commençons pr décrire un lgorithme permettnt de tester si un utomte est non migu. On définit le crré C(A) d un utomte A = Σ, Q, I, F, δ pr C(A) = Σ, Q Q, I I, F F, δ vec ((p 1, p 2 ),, (q 1, q 2 )) δ (p 1,, q 1 ), (p 2,, q 2 ) δ. On ppelle digonle de C(A) le sous-utomte D de C(A) défini pr l digonle D de Q Q : D = {(q, q) q Q}. Les étts et les trnsitions de A et D sont en ijection, et donc ces deux utomtes sont équivlents. Lemme 1.106. Un utomte émondé A est non migu si et seulement si l prtie émondée de C(A) est l digonle D de C(A). Démonstrtion. Pr définition, A est migu si et seulement s il existe deux clculs réussis distincts c et c de A qui ont même étiquette w = 1 2 n : c = q 0 1 q 2 1 n q n et c = q 0 1 q 1 2 n q n

Notes de révision : Automtes et lngges 52 c est-à-dire si et seulement s il existe un clcul réussi c de C(A) : c = (q 0, q 0) 1 (q 1, q 1) 2 n (q n, q n) où, pour u moins un indice i, 0 i n, on : q i q i et donc si et seulement s il existe un étt ccessile et coccessile de C(A) en dehors de D. En utilisnt les résultts de l section 1.1.1, on peut donc tester en temps O( A 2 ) l non miguité d un utomte A (construction du crré puis utilistion de l lgorithme de TARJAN pour trouver les étts ccessiles et coccessiles). Décrivons mintennt comment relier cette notion d miguité vec l théorie des codes. Pour un utomte A = Σ, Q, I, F, δ donné et un étt ω / Q, on peut construire un utomte B = Σ, Q {ω}, {ω}, {ω}, δ pr δ = δ {(ω,, q) i I (i,, q) δ} {(q,, ω) f F (q,, f) δ} {(ω,, ω) i I f F (i,, f) δ} Soit A l prtie émondée de l utomte B. Il est clir que ces deux utomtes reconnissent le lngge L(A). Théorème 1.107. Soient X Σ + et A un utomte non migu reconnissnt le lngge X. Alors X est un code si et seulement si A est non migu. Démonstrtion. X est un code sur si et seulement si pour tous n, m 1 et pour tous x 1,..., x n, y 1,..., y m X, l condition x 1 x 2 x n = y 1 y 2 y m implique n = m et x i = y i pour tout i {1,..., n}. On otient donc une procédure de vérifiction d un code rtionnel fonctionnnt en temps O(n2 n ) vec n le nomre d étts d un utomte non migu (pr exemple un utomte déterministe) reconnissnt le lngge X.

Notes de révision : Automtes et lngges 53 Codes préfixes Un ensemle X Σ + est dit préfixe si ucun élément de X n est Section II de BERSTEL et PERRIN un préfixe strict d un utre élément de X. [1985] Proposition 1.108. Tout ensemle préfixe de Σ + est un code. Démonstrtion. Si X n est ps un code, lors il existe un mot w de longueur minimle ynt deux fctoristions x 1 x n = w = y 1 y m vec x i, y j X. Les deux mots x 1 et y 1 sont non vides et w ynt une longueur minimle, ils sont distincts. Dns ce cs, x 1 est un préfixe strict de y 1, ou vice-vers, ce qui contredit le fit que X soit préfixe. Les deux procédures de test développées précédemment fournissent des résultts prticuliers dns le cs de codes préfixes. Dns le cs du premier test, l ensemle U 1 = X 1 X\{ε} est directement égl à, donc l procédure s rrête imméditement. Dns le cs du second test, l utomte A X est lors déterministe : dns ce contexte, on s perçoit que les utomtes non migus sont ux utomtes déterministes, ce que les codes sont ux codes préfixes. On peut isément construire un utomte reconnissnt un code préfixe fini X donné (on l ppelle utomte littérl) : A = Σ, X(Σ + ) 1 X, {ε}, X, δ où on définit les quotients à droite d un lngge pr un mot Lw 1 = {u Σ uw L}, et vec (u,, u) δ si u X(Σ + ) 1 X. L utomte A est déterministe et reconnît le lngge X. Exemple 1.109. L utomte littérl du code X = {,, } sur l lphet Σ = {, } est donné pr : ε L utomte littérl d un code préfixe est émondé mis n est ps miniml en générl. Pour le rendre miniml, il s git de fusionner les étts u et v, s ils vérifient u 1 X = v 1 X, c est-à-dire si les deux sous-rres enrcinés en u et v respectivement sont identiques. Cel permet de décrire une procédure très simple pour le clcul de l utomte miniml : tout d ord, tous les étts cceptnts sont étiquetés, pr exemple vec l étiquette 0. Si les étiquettes de 0 à i ont toutes été distriuées, on considère les sous-rres tels que tous les étts, suf l rcine, sont étiquetés. On étiquette lors les rcines identiquement si et seulement si les sousrres étiquetés sont isomorphes. Si on fusionne les étts selon leurs étiquettes, on otient lors l utomte miniml.

Notes de révision : Automtes et lngges 54 Exemple 1.110. Sur le code préfixe X = {,, } de l exemple précédent, les trois étts cceptnts sont à fusionner, insi que les étts et puisque 1 X = () 1 X = {}. Ainsi, l utomte miniml de X est : ε Pour finir, remrquons que les codes préfixes sont très fciles à décoder : si on donne un mot w X +, lors pour trouver l unique décomposition x 1 x 2 x n, vec pour tout j, x j X, il suffit de prcourir l utomte miniml du code, en reprtnt de l étt initil à chque fois qu on psse pr l étt cceptnt. Décodge Soit X un sous-ensemle de Σ +. Alors X est dit à déli de déchiffrge fini, s il existe un entier d positif tel que x, x X y X d u Σ xyu x X = x = x (1.12) Si l éqution (1.12) est vrie pour un entier d, lors elle est ussi vérifiée pour tout entier d d. Si X est à déli de déchiffrge fini, lors le plus petit entier d stisfint l éqution (1.12) est ppelé déli de déchiffrge de X. Il est clir (et cel justifie l dénomintion) que Proposition 1.111. Un sous-ensemle X de Σ + qui est à déli de déchiffrge fini est un code. Démonstrtion. Soit d le déli de déchiffrge de X. Si X n est ps un code, lors il existe une églité w = x 1 x 2 x n = y 1 y 2 y m vec x 1 y 1 où n, m 1, x 1,..., x n, y 1,..., y m X. Soit z X. Alors wz d y 1 X. D près l éqution 1.12, on donc x 1 = y 1, ce qui contredit l hypothèse. L réciproque est fusse comme le montre l exemple suivnt. Exemple 1.112. Le code X = {,, } possède un déli de déchiffrge infini. En effet, pour tout entier d 0, le mot () d X d est un préfixe de () d et. C.f. [Sk03, sec. V.1.2] pour les définitions de se et les premières propriétés, et SCHÜTZENBERGER [1977] pour l rticle fondteur. Remrquons que les codes préfixes ont un déli de déchiffrge nul. Pour clore cette section sur les codes, on rélise une incursion rpide dns le monde des fonctions séquentielles. Définition 1.113 (Fonction séquentielle). Un utomte séquentiel est un tuple Q, Σ, A, i, δ,, m, ρ où Q est un ensemle d étts, Σ un lphet d entrée, A un lphet de sortie, i un étt initil, δ : Q Σ Q une fonction de trnsition, : Q Σ A une fonction de sortie, m A un préfixe initil et ρ : Q A une fonction terminle. Un utomte séquentiel génère des mots de A à prtir

Notes de révision : Automtes et lngges 55 d une entrée dns Σ (le préfixe initil et l fonction terminle sont concténés respectivement u déut et à l fin du mot généré). Un utomte séquentiel est dit séquentiel pur si m = ε et q Q ρ(q) = ε. Un utomte séquentiel (pur) définit une fonction ϕ : Σ A. Une telle fonction est dite séquentielle (pure). Les utomtes séquentiels purs sont des cs prticuliers de trnsducteurs (définition 1.16), pour lesquels l utomte fini défini pr l reltion de trnsition est déterministe. Exemple 1.114. L utomte séquentiel pur suivnt reconnît le morphisme,. On représente l fonction de trnsition et l fonction de sortie schémtiquement : si δ(q, ) = q et (q, ) = α, on note q /α q. / / L utomte séquentiel pur suivnt remplce toute séquence d espces (encodé pr le symole #) dns un texte de pr un seul espce. / #/# #/ε / Mentionnons qu il existe des fonctions séquentielles non pures : pr exemple, l fonction qui à un mot w {, } ssocie w() 1 si est suffixe de w, et w sinon. On utilise dns l suite un morphisme d encodge β d un code : on rppelle qu un tel morphisme est injectif, on peut donc isément définir une fonction prtielle inverse β 1. On étudie les propriétés de cette fonction inverse. Proposition 1.115. Soit X un code fini de Σ et soit β : A Σ un morphisme d encodge. 1. Si X est un code préfixe, lors β 1 est une fonction séquentielle pure. 2. X est un code à déli de déchiffrge fini si et seulement si β 1 est une fonction séquentielle. Démonstrtion. 1. On lit le mot d entrée lettre près lettre et dès qu on lu un mot de X, on écrit sur l sortie l lettre de A correspondnt à ce mot. 2. On procède pr doule impliction. Supposons dns un premier temps que X est un code à déli de déchiffrge fini d. Soit Q = 0 i (d+1) mx w X w Σi. On définit sur cet ensemle d étts l utomte séquentiel Q, Σ, A, ε, δ,, ε, ρ pr

Notes de révision : Automtes et lngges 56 si p d, x 1,..., x p X et y Σ préfixe d un mot de X : δ(x 1 x p y, ) = x 1 x p y et (x 1 x p y, ) = ε ; si x 1,..., x d X et y Σ \X préfixe d un mot de X : δ(x 1 x d y, ) = x 1 x d y et (x 1 x d y, ) = ε ; si x 1,..., x d X et y Σ tel que y X : δ(x 1 x d y, ) = x 2 x d y et (x 1 x d y, ) = β 1 (x 1 ) ; pour tout étt q Q X, ρ(q) = β 1 (q). Cet utomte est ien un utomte séquentiel : en prticulier, l fonction de trnsition δ est déterministe. Il conserve une fenêtre finie de longueur u plus (d + 1) mx w X w en mémoire puis décode le mot donné dès qu il suffismment d informtions pour être certin du décodge. Réciproquement, si l fonction β 1 est séquentielle, le décodge d un chiffré se fit en simulnt un utomte séquentiel A reconnissnt β 1 sur cette entrée. Intuitivement, le déli de déchiffrge correspondr u nomre d étts dns l plus longue séquence de trnsitions telle que l fonction de sortie renvoie l chîne vide. En effet, cette séquence correspond à une mise en mémoire d une fenêtre du chiffré, et l première trnsition dont l fonction de sortie n est ps vide correspond u déchiffrge d un mot du code. Il s git donc de montrer qu il n existe ps dns A de séquence infinie de trnsitions dont l fonction de sortie renvoie l chîne vide. Si c étit le cs, pr l surde, cette séquence infinie contiendrit nécessirement un cycle et on trouverit donc (en pompnt ce cycle) plusieurs chiffrés de Σ renvoynt le même clir de A : cel contredit l hypothèse que X est un code. 1.4.5 Décidilité de l rithmétique de PRESBURGER On s intéresse ici à l théorie logique du premier ordre des entiers munis de l ddition, mis ps de l multipliction. Plus précisément, on fixe un ensemle infini X de vriles. On définit l rithmétique de PRESBURGER, comme le plus petit ensemle P de formules logiques telles que si x, y, z X lors x = 0 et x = y + z sont des formules de P, si x X et ϕ, ψ P, lors ϕ ψ, ϕ ψ, ϕ, x ϕ et x ϕ sont des formules de P. L sémntique de cette formule définit pour chque formule ϕ et chque ensemle fini de vrile V X qui contient les vriles lires de l formule, un sous-ensemle de V-ssigntions σ N V. On note Free(ϕ) l ensemle des vriles lires d une formule ϕ. Si Free(ϕ) V et σ N V, on note σ ϕ si l formule ϕ est vrie pour l ssigntion σ. Pr exemple, l formule y x = y + y s évlue à vrie si et seulement si l vrile x est envoyée sur un entier pir, et l formule y z (x = y + z) (y = 0 z = 0) C.f. [Cr08, Théorème 3.63], BOUDET et COMON [1996]. s évlue à vrie si et seulement si x est envoyée sur 1. L question qui nous intéresse est de svoir si cette théorie est décidle, u sens qu il est décidle si une formule close est vlide, c est-à-dire si s sémntique est égle à l ensemle réduit u tuple vide (plutôt que l ensemle vide). L réponse est positive comme le montre le théorème suivnt. Théorème 1.116 (PRESBURGER 1929). L théorie P est décidle. Démonstrtion. On v montrer plus générlement que le codge de l ensemle des vlutions qui stisfont une formule ϕ de P est un lngge reconnissle.

Notes de révision : Automtes et lngges 57 Soit Σ = {0, 1}. On choisit de coder les entiers en inire, vec it de poids le plus fort à guche. On définit une fonction de décodge ν : Σ N pr ν(ε) = 0 ν(w0) = 2ν(w) ν(w1) = 1 + 2ν(w) Remrquons que cette fonction est surjective, totle, mis non injective. Soit V X un ensemle fini de vriles. Afin d encoder des vlutions, on définit l lphet Σ V des V-uplets de lettres dns Σ, i.e. Σ V = Σ V : remrquons que si V =, lors l lphet Σ V est vide et donc l ensemle des mots de (Σ V ) est réduit u mot vide. Soit w (Σ V ) un mot et x V une vrile, on note w x l projection du mot w sur l composnte x de l lphet Σ V. On note ν(w) = (ν(w x )) x V N V l ssigntion codée pr l mot w. Pr exemple, ν (18, 7, 6). ( 0 1 0 0 1 0 0 0 0 1 1 1 0 0 0 1 1 0 On montre pr induction sur l formule ϕ que pour tout ensemle fini V de vriles contennt les vriles lires de ϕ, on peut construire un utomte A ϕ sur l lphet Σ V tel que pour tout mot w (Σ V ), on w L(A ϕ ) ν(w) ϕ. ) = Formules tomiques Les utomtes pour les formules x 1 = 0 (pour V = {x 1 }) et x 1 = x 2 + x 3 (pour V = {x 1, x 2, x 3 }) sont respectivement donnés pr 0 1 0 0 1, 0, 1 1 1 0 0 1 1 0 1 1 0, 0, 1 0 1 0 q 0 q 1 q 0 1 0 0 On peut nturellement [ décrire ces lngges pr des expressions rtionnelles, respectivement 0 0 ( et 0 + 1 0 + 1 1 + 1 1 ) 0 1 + 0 0 + 0 ] 0 1 1. 0 1 0 0 1 1 0 1 Le fit qu on puisse à souhit enrichir l ensemle V provient du processus de cylindrifiction. Soient Σ 1 et Σ 2 deux lphets finis. Si ϕ : Σ 1 Σ 2 est un morphisme lettre à lettre (c est-à-dire tel que ϕ() Σ 2 pour toute lettre Σ 1 ) et si L est un lngge reconnissle sur Σ 2, lors ϕ 1 (L) est un lngge reconnissle sur Σ 1. On peut démontrer ce résultt en prtnt d un utomte Un résultt plus générl de A = Σ 2, Q, I, F, δ reconnissnt le lngge L et en construisnt l utomte A = clôture pr sustitution Σ 1, Q, I, F, δ vec δ = {(p,, q) (p, ϕ(), q) δ}. On peut églement fournir rtionnelle été prouvé dns l une preuve très simple en utilisnt les expressions rtionnelles. section 1.1.3. Soit V V et A ϕ un utomte pour l formule ϕ sur l lphet Σ V. Si V, en utilisnt le morphisme ϕ : Σ V Σ V défini pr ϕ(( x) x V ) = ( x ) x V vec x Σ pour tout x V, on peut construire un utomte pour l formule ϕ sur l lphet Σ V. Si V =, lors l formule ϕ est close et l utomte A ϕ reconnît soit le lngge, soit le lngge {ε} (selon que l formule ϕ est vlide ou non) : sur l ensemle de vriles V non vide, on construit donc un utomte qui reconnît l ensemle et (Σ V ) respectivement. Formules composées L utomte A ϕ est défini comme l utomte complémentire de A ϕ. Supposons pr hypothèse d induction qu on possède les utomtes

Notes de révision : Automtes et lngges 58 A ϕ1 et A ϕ2 reltifs ux formules ϕ 1 et ϕ 2 sur un ensemle de vriles V contennt les vriles lires de ϕ 1 et celles de ϕ 2. Pour l disjonction ϕ 1 ϕ 2, on définit l utomte A ϕ1 ϕ 2 comme l réunion disjointe des utomtes A ϕ1 et A ϕ2. Pour l conjonction ϕ 1 ϕ 2, on définit l utomte A ϕ1 ϕ 2 comme le produit synchrone des deux utomtes A ϕ1 et A ϕ2. Pour l formule x i ϕ, on projète l utomte A ϕ en effçnt l i-ième composnte des symoles : si l utomte A ϕ contient l trnsition q, (c 1,..., c i 1, c i, c i+1,..., c n ) q lors l utomte projeté A xi ϕ contient l trnsition q, (c 1,..., c i 1, c i+1,..., c n ) q L construction pour l quntifiction universelle se déduit de celle de l quntifiction existentielle et de celle de l négtion. Finlement, pour décider l vlidité d une formule close ϕ, on construit son utomte A ϕ et on vérifie si son lngge est non vide. C.f. DURAND-GASSELIN et HABERMEL [2010] L procédure de décision décrite dns l preuve ci-dessus possède une complexité non élémentire due à l déterministion nécessire de l utomte près chque étpe de disjonction ou de quntifiction existentielle. Cependnt, des résultts récents ont permis de trouver une procédure de complexité triple exponentielle. 1.4.6 Automtes oustrophédons Cette section s inspire de [Sk03, sec. I.7.2] et [Cr08, sec. 3.10.2] qui générlise légèrement ce résultt. Voir ussi [HU79, sec. 2.6]. On étend dns cette section le pouvoir des utomtes finis pour qu ils puissent se déplcer sur le mot donné en entrée, non ps seulement de guche à droite, mis utnt qu ils le veulent dns les deux directions. On v montrer que cette tout ne leur pporte curieusement ucun pouvoir supplémentire. Définition 1.117 (Automte oustrophédon). On ppelle utomte oustrophédon (ou utomte à doule sens) un quintuplet Q, Σ {, }, I, F, δ vec Q un ensemle fini d étts, I Q un ensemle d étts initiux, F Q un ensemle d étts cceptnts et δ Q (Σ {, }) {, } Q l reltion de trnsition. Une configurtion est un triplet (u, q, v) vec u, v (Σ {, }) et q Q : on dit que l tête de lecture de l utomte est entre u et v. Le frnchissement d une trnsition (q,, d, q ) modifie l configurtion cournte (u, q, v) en (u, q, v ) si (d =, u = u et v = v ) ou (d =, u = u et v = v) Un clcul cceptnt d étiquette w Σ, est une suite de configurtions frnchissles deux à deux d une configurtion (, i, w ) vec i I à une configurtion ( w, f, ε) vec f F. Un mot w Σ est reconnu pr l utomte s il existe un clcul cceptnt d étiquette w. Le lngge de l utomte est l ensemle des mots reconnus. Ainsi, un utomte oustrophédon est une mchine de TURING dont l nde de lecture est limitée à l tille du mot en entrée, qui ne peut ps écrire sur s nde. Les symoles et qu on jouté à l lphet d entrée sont donc à considérer comme des mrqueurs de déut et de fin de mot, ssurnt que l utomte ne sort ps ccidentellement de l nde de lecture. Théorème 1.118. Soit A un utomte oustrophédon. Le lngge L de A est rtionnel.

Notes de révision : Automtes et lngges 59 Démonstrtion. On v montrer que le lngge L est sturé pr une congruence sur Σ d index fini (c.f. section 1.3.5). Pour cel, on introduit qutre fonctions λ 0 0, λ1 0, λ0 1, λ1 1 : Σ P(Q Q) : pour un mot w Σ, le couple (p, q) Q 2 pprtient à λ 1 0 s il existe un clcul de A de l étt p vec l tête de lecture sur l première lettre de w à l étt q vec l tête de lecture près l dernière lettre de w, et qui ne lit que des lettres de w. On définit similirement les trois utres fonctions, comme représentées dns l figure 1.2. λ 1 0 w λ 0 1 w p p q q λ 0 0 w λ 1 1 w p p q q FIGURE 1.2 Définitions des fonctions λ 0 0, λ1 0, λ0 1, λ1 1 sur un mot w. On définit lors l reltion d équivlence sur Σ pr λ 0 0 (w) = λ0 0 (w ) w w λ 1 0 si (w) = λ1 0 (w ) λ 0 1 (w) = λ0 1 (w ) λ 1 1 (w) = λ1 1 (w ) Cette reltion possède un nomre fini de clsses d équivlence, orné pr 2 4 Q 2 puisque les fonctions λ 0 0, λ1 0, λ0 1, λ1 1 peuvent prendre 2 Q 2 vleurs différentes. Montrons que est une congruence de monoïde. Soient u, u, v, v des mots sur Σ tels que u u et v v. On montre que λ 1 0 (uv) = λ1 0 (u v ) : les trois utres églités se prouvent de mnière similire et il s en suit que uv u v. Soit (p, q) λ 1 0 (uv). Un chemin de p à q à l intérieur de uv se décompose en une suite finie de chemins à l intérieur de u et v (c.f. figure 1.3) : comme u u et v v, les chemins à l intérieur de u et v peuvent être remplcés pr des chemins équivlents à l intérieur de u et v. Ainsi (p, q) λ 1 0 (u v ). On prouve réciproquement l utre inclusion. p u v u v p p 1 p 1 p 2 p 3 q p 2 p 3 q FIGURE 1.3 Églité λ 1 0 (uv) = λ1 0 (u v ). On montre finlement que l congruence sture le lngge L. Soient w et w

Notes de révision : Automtes et lngges 60 deux mots sur Σ tels que w w. Un clcul cceptnt d étiquette w se décompose en une suite de clculs à l intérieur de w et de trnsitions sur les symoles et (c.f. figure 1.4). Comme w w, les clculs à l intérieur de w peuvent être remplcés pr des clculs à l intérieur de w pour otenir un clcul cceptnt d étiquette w. Ainsi w L si et seulement si w L. p p 1 p 3 p 4 w p2 p5 q FIGURE 1.4 Décomposition d un clcul cceptnt d étiquette w.

Chpitre 2 Références supplémentires Ces références supplémentires contiennent des rticles clssiques du domine, mlheureusement souvent difficiles à otenir, et des rticles ou des livres plus récents dont l lecture complète celle de l iliogrphie recommndée. Alfred V. AHO, 1990. Algorithms for finding ptterns in strings. Dns Jn VAN LEEUWEN, éditeur, Hndook of Theoreticl Computer Science, volume A, chpitre 5, pges 256 300. Elsevier. Vlentin ANTIMIROV, 1996. Prtil derivtives of regulr expressions nd finite utomton constructions. Theoreticl Computer Science, 155(2):291 319. doi: 10.1016/0304-3975(95)00182-4. Dnièle BEAUQUIER, Jen BERSTEL, et Philippe CHRÉTIENNE, 1992. Eléments d lgorithmique. Msson. URL http://www-igm.univ-mlv.fr/~erstel/elements/. Jen BERSTEL, 1979. Trnsductions nd Context-Free Lnguges. Teuner Studienücher: Informtik. Teuner. ISBN 3-519-02340-7. URL http://www-igm.univ-mlv. fr/~erstel/livretrnsductions/. Jen BERSTEL et Dominique PERRIN, 1985. Theory of Codes. Acdemic Press, Inc., Orlndo, FL, USA. ISBN 0120934205. Jen BERSTEL et Jen-Éric PIN, 1996. Locl lnguges nd the Berry-Sethi lgorithm. Theoreticl Computer Science, 155(2):439 446. doi: 10.1016/0304-3975(95)00104-2. Alexndre BOUDET et Huert COMON, vril 1996. Diophntine equtions, Presurger rithmetic nd finite utomt. Dns Hélène KIRCHNER, éditeur, 21st Interntionl Colloquium on Trees in Alger nd Progrmming (CAAP 96), volume 1059 de Lecture Notes in Computer Science, pges 30 43. Springer. doi: 10.1007/3-540-61064-2_27. Jnusz A. BRZOZOWSKI, 1963. Cnonicl regulr expressions nd miniml stte grphs for definite events. Dns Symposium on the Mthemticl Theory of Automt, pges 529 561. Jnusz A. BRZOZOWSKI, 1964. Derivtives of regulr expressions. Journl of the ACM, 11 (4):481 494. doi: 10.1145/321239.321249. Jnusz A. BRZOZOWSKI et Edwrd J. MCCLUSKEY, 1963. Signl flow grph techniques for sequentil circuit stte digrms. IRE Trnsctions on Electronic Computers, 12:67 76. doi: 10.1109/PGEC.1963.263415. Nom CHOMSKY, 1956. Three models for the description of lnguge. IEEE Trnsctions on Informtion Theory, 2(3):113 124. doi: 10.1109/TIT.1956.1056813. Mxime CROCHEMORE et Christophe HANCART, 1997. Automt for mtching ptterns. Dns Grzegorz ROZENBERG et Arto SALOMAA, éditeurs, Hndook of Forml Lnguges, volume 2. Liner Modeling : Bckground nd Appliction, chpitre 9, pges 399 462. Springer. ISBN 3-540-60648-3. 61

Notes de révision : Automtes et lngges 62 Julien DAVID, 2010. The verge complexity of Moore s stte minimiztion lgorithm is O(n log log n). Dns Petr HLINENÝ et Antonín KUCERA, éditeurs, 35th Interntionl Symposium on Mthemticl Foundtions of Computer Science (MFCS 2010), volume 6281 de Lecture Notes in Computer Science, pges 318 329. doi: 10.1007/978-3-642-15155- 2_29. Antoine DURAND-GASSELIN et Peter HABERMEL, 2010. On the use of non-deterministic utomt for presurger rithmetic. Dns Pul GASTIN et Frn ois LAROUSSINIE, éditeurs, 21st concur (CONCUR 2010), volume 6269 de Lecture Notes in Computer Science, pges 373 387. Springer. doi: 10.1007/978-3-642-15375-4_26. Andrzej EHRENFEUCHT et Pul ZEIGER, 1976. Complexity mesures for regulr expressions. Journl of Computer nd System Sciences, 12(2):134 146. doi: 10.1016/S0022-0000(76)80034-7. Andrzej EHRENFEUCHT, Rohit PARIKH, et Grzegorz ROZENBERG, 1981. Pumping lemms for regulr sets. SIAM Journl on Computing, 10(3):536 541. doi: 10.1137/0210039. Clvin C. ELGOT et Jorge E. MEZEI, 1965. On reltions defined y generlized finite utomt. IBM Journl of Reserch nd Development, 9(1):47 68. URL http://www. reserch.im.com/journl/rd/091/imrd0901e.pdf. Shimon EVEN, 1965. On informtion lossless utomt of finite order. IEEE Trnsctions on Electronic Computers, EC-14(4):561 569. doi: 10.1109/PGEC.1965.263996. V. M. GLUSHKOV, 1961. The strct theory of utomt. Russin Mthemticl Surveys, 16(5):1 53. doi: 10.1070/RM1961v016n05ABEH004112. Mrkus HOLZER et Brr KÖNIG, 2004. On deterministic finite utomt nd syntctic monoid size. Theoreticl Computer Science, 3(2):319 347. doi: 10.1016/j.tcs.2004.04.010. Jurj HROMKOVIČ, Sestin SEIBERT, et Thoms WILKE, 1997. Trnslting regulr expressions into smll ε-free nondeterministic finite utomt. Dns R. REISCHUK, éditeur, 14th Interntionl Symposium on Theoreticl Aspects of Computer Science (STACS 97), volume 1200 de Lecture Notes in Computer Science, pges 55 66. Springer. ISBN 3-540- 62616-6. doi: 10.1007/BF0023448. To JIANG et Bl RAVIKUMAR, 1993. Miniml NFA prolems re hrd. SIAM Journl on Computing, 22(6):1117 1141. doi: 10.1137/0222067. Stephen C. KLEENE, 1956. Representtion of events in nerve nets nd finite utomt. Dns C. E. SHANNON et J. MCCARTHY, éditeurs, Automt Studies, pges 3 40. Princeton University Press. Donld E. KNUTH, Jmes H. MORRIS, Jr., et Vughn R. PRATT, 1977. Fst pttern mtching in strings. SIAM Journl on Computing, 6(2):323 350. doi: 10.1137/0206024. Roert MCNAUGHTON et H. YAMADA, 1960. Regulr expressions nd stte grphs for utomt. IRE Trnsctions on Electronic Computers, 9(1):39 47. Christos PAPADIMITRIOU, 1993. Computtionl Complexity. Addison-Wesley. ISBN 0-201- 53082-1. Michel O. RABIN et Dn SCOTT, 1959. Finite utomt nd their decision prolems. IBM Journl of Reserch nd Development, 3(2):114 125. URL http://www.reserch. im.com/journl/rd/032/imrd0302c.pdf. Thoms REPS, 1998. Mximl-munch tokeniztion in liner time. ACM Trnsctions on Progrmming Lnguges nd Systems, 20(2):259 273. doi: 10.1145/276393.276394. Mrcel-Pul SCHÜTZENBERGER, 1977. Sur une vrinte des fonctions séquentielles. Theoreticl Computer Science, 4(1):47 57. doi: 0.1016/0304-3975(77)90055-X. URL http://igm.univ-mlv.fr/~erstel/mps/trvux/a/1977-3sequentiellestcs.pdf. Imre SIMON, 1994. String mtching lgorithms nd utomt. Dns Julini KARHUMÄKI, Hermnn MAURER, et Grzegorz ROZENBERG, éditeurs, Results nd Trends in Theoreticl Computer Science: Colloquium in Honor of Arto Slom, volume 812 de Lecture Notes in Computer Science, pges 386 395. Springer. ISBN 978-3-540-58131-4. doi: 10.1007/3-540-58131-6_61.

Notes de révision : Automtes et lngges 63 Seppo SIPPU et Eljs SOISALON-SOININEN, 1988. Prsing Theory, Vol. I: Lnguges nd Prsing, volume 15 de EATCS Monogrphs on Theoreticl Computer Science. Springer. ISBN 3-540-13720-3. Seppo SIPPU et Eljs SOISALON-SOININEN, 1990. Prsing Theory, Vol. II: LR(k) nd LL(k) Prsing, volume 20 de EATCS Monogrphs on Theoreticl Computer Science. Springer. ISBN 3-540-51732-4. R. E. STEARNS et H. B. HUNT III, 1985. On the equivlence nd continment prolems for unmiguous regulr expressions, regulr grmmrs nd finite utomt. SIAM Journl on Computing, 14(3):598 611. doi: 10.1137/0214044. Lrry J. STOCKMEYER et Alert R. MEYER, 1973. Word prolems requiring exponentil time (preliminry report). Dns Fifth Symposium on Theory of Computing (STOC 73), pges 1 9. ACM Press. doi: 10.1145/800125.804029. Roert E. TARJAN, 1972. Depth first serch nd liner grph lgorithms. SIAM Journl on Computing, 1(2):146 160. doi: 10.1137/0201010. Ken THOMPSON, 1968. Regulr expression serch lgorithm. Communictions of the ACM, 11(6):419 422. doi: 10.1145/363347.363387. Qiqi YAN, 2008. Lower ounds for complementtion of ω-utomt vi the full utomt technique. Logicl Methods in Computer Science, 4(1):5. doi: 10.2168/LMCS-4(1:5)2008. Sheng YU, 1997. Regulr lnguges. Dns Grzegorz ROZENBERG et Arto SALOMAA, éditeurs, Hndook of Forml Lnguges, volume 1. Word, Lnguge, Grmmr, chpitre 2, pges 41 110. Springer. ISBN 978-3-540-60420-4.