Notes de cours sur les automates (NFP108)



Documents pareils
Notes de révision : Automates et langages

LANGAGES - GRAMMAIRES - AUTOMATES

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

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

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

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

Algorithmes sur les mots (séquences)

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

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

Module 2 : Déterminant d une matrice

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

Techniques d analyse de circuits

Chapitre VI Contraintes holonomiques

Chapitre 11 : L inductance

ANALYSE NUMERIQUE NON-LINEAIRE

Toyota Assurances Toujours la meilleure solution

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

semestre 3 des Licences MISM annnée universitaire

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

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

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

/HVV\VWqPHVFRPELQDWRLUHV

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

Cours d Analyse IV Suites et Séries de fonctions

SYSTEME DE TELEPHONIE

Intégrale et primitives

Tout ce qu il faut savoir en math

Chapitre 1 : Fonctions analytiques - introduction

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

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

Guide d'utilisation Easy Interactive Tools Ver. 2

La pratique institutionnelle «à plusieurs»

3- Les taux d'intérêt

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

ANALYSE : FONCTIONS D UNE VARIABLE RÉELLE

Partie 4 : La monnaie et l'inflation

Statuts ASF Association Suisse Feldenkrais

LOGICIEL FONCTIONNEL EMC VNX

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

Commencer DCP-7055W / DCP-7057W /

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

Guide des bonnes pratiques

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

INFORMATIONS TECHNIQUES

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

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

Baccalauréat S Asie 19 juin 2014 Corrigé

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

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

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

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

Guide de l'utilisateur

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

TOUT CE QU IL FAUT SAVOIR POUR LE BREVET

Probabilités sur un univers fini

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

Solutions IHM. Gammes Graphite et G3 Outils pour l'usine connectée

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

FONDATION CLEMENTINE ET MAURICE ANTILLE


McAfee Firewall Enterprise Control Center

Magister en : Génie Mécanique

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

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

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

INTENTION LES PROCESSUS MATHÉMATIQUES

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

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

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

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

INSTALLATION DE DETECTION INCENDIE

A11 : La représentation chaînée (1ère partie)

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

La plateforme Next Generation Mini guide

Livret de l étudiant

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

Transfert. Logistique. Stockage. Archivage

Bilan pédagogique / Projet ipad Contexte

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


Sciences Industrielles Précision des systèmes asservis Papanicola Robert Lycée Jacques Amyot

CAC, DAX ou DJ : lequel choisir?

16.1 Convergence simple et convergence uniforme. une suite de fonctions de I dans R ou C.

Déroulement de l épreuve de mathématiques

EnsEignEmEnt supérieur PRÉPAS / BTS 2015

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

RadioCommunications CDMA

VIBRATIONS COUPLEES AVEC LE VENT

Intégration et probabilités TD1 Espaces mesurés Corrigé

l'appareil et vérifiez les composants Cartouches d'encre incluses [x4] CD-ROM d'installation CD-ROM de documentation

dans Supply Chain sortir ERP commencent à de leur carcan prise de décision en temps réel au niveau des ateliers. La nouvelle génération de solutions

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

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

Chapitre 5 : Flot maximal dans un graphe

III- Raisonnement par récurrence

Exprimer ses goûts, son opinion

Coefficients binomiaux

Transcription:

Notes de cours sur les utomtes (NFP18) F. Brthélemy 8 décemre 215 Avertissement : ce document est en cours d élortion et susceptile d évoluer. Il est dns un étt provisoire. 1 Introduction Les utomtes finis à étts (utomtes finis en régé) offrent un formlisme de description peu puissnt mis vec eucoup d lgorithmes efficces. Ils sont très utilisés notmment dns deux domines : le tritement de chînes de crctères et l description de comportement dynmique de systèmes. 2 Un premier exemple Un utomte fini est un grphe orienté dont les rcs sont étiquetés pr des symoles. Voyons un exemple. j 1 o 2 u o e 5 n n 6 7 s z s t 8 FIGURE 1 exemple d utomte fini L nottion du grphe met en évidence deux types de noeuds prticulier. D une prt l étt initil, qui est crctérisé pr une flèche entrnte vennt de nulle prt et sns étiquette (ici l étt ). D utre prt les étts finls, identifiés pr un doule cercle (ici les étts 5 et 8). Il y toujours exctement un étt initil, lors qu il peut y voir, 1 ou plusieurs étts finls. Les noeuds du grphe sont ppelés étts et les rcs sont ppelés des trnsitions. Dns un tel grphe, on s intéresse 1

ux chemins qui vont de l étt initil à un étt finl. A chque chemin est ssociée l chîne des étiquettes des rcs prcourus. Pr exemple, il y un chemin qui prt de l étt, psse pr les étts 1, 2, et rrive en 5, qui est un étt finl. L chîne correspondnte est joue. Il existe de même des chemins pour les chînes joues, jouent, jouez et jouons. L ensemle de ces chînes forme ce que l on ppelle le lngge de l utomte. Cet exemple est donc un utomte qui représente le présent de l indictif du vere jouer. Notez que des chemins différents prtgent des prties communes. Pr exemple, ici, le préfixe jou est représenté une fois lors qu il pprtient à toutes les chînes. Automtes finis.1 Définitions de se Définition 1 Alphet, chˆıne On ppelle lphet un ensemle fini de symole. Une chˆıne sur un lphetσest une séquence éventuellement vide de symoles de Σ. L séquence vide est notée ǫ (epsilon). Les utres séquences sont notées pr l juxtposition des symoles qui les composent. Définition 2 Lngge Un lngge est un ensemle de chˆınes sur un lphetσ. Définition Automte fini Un utomte fini est un quintupleta = (Σ,Q,δ,i,F) où : Σ est un ensemle fini de symoles ppelé lphet. Q est un ensemle fini dont les éléments sont ppelés étts. δ est une reltion deq Σ Qppelée trnsition ou ensemle des trnsitions dea. i est un étt deqppelé étt initil. F est un sous-ensemle deqppelé ensemle des étts finls de A. L ensemle des trnsitions δ est une reltion, c est-à-dire un ensemle de triplets. Cet ensemle est nécessirement fini puisqueqetσsont finis. Un utomte fini est fit de composntes qui sont toutes finies (Σ, Q, δ, F ), d où le qulifictif de fini. Définition Représenttion grphique Un utomte fini peut ḙtre représenté grphiquement comme un grphe orienté dont les sommets sont les étts et les rcs sont les trnsitions. Une trnsition(q 1,x,q 2 ) est représentée pr un rc relint les sommetsq 1 et q 2, étiqueté prx. Nous vons déjà vu un exemple de représenttion grphique (figure 1). Reprenons pour cet exemple les différentes définitions. L lphet de l utomte est l ensemle{e, j, n, o, s, t, u, z}. Le quintuplet décrivnt l utomte est le suivnt :(Σ,{, 1, 2,,, 5, 6, 7, 8}, δ,,{, 8}) vec Σ = {e,j,n,o,s,t,u,z} 2

δ = {(,j,1),(1,o,2),(2,u,),(,e,),(,o,5),(,n,6),(,s,8),(,z,8),(5,n,7), (6,t,8),(7,s,8)} Définition 5 Chemin Soit A = (Σ, Q, δ, i, F) un utomte. Un chemin de cet utomte est une séquence (q,x,q 1 )(q 1,x 1,q 2 )...(q n 1,x n 1,q n ) de trnsitions de δ telle que n. L chˆıne ssociée à ce chemin est x x 1...x n. On noter un chemin de l fçon suivnte : q x x 1 q1 x n 1 q 2...q n 1 qn Cette notion de chemin correspond à celle de chemin en théorie des grphes. Définition 6 Chemin succès x SoitA = (Σ,Q,δ,i,F) un utomte. Un cheminq un succès siq = i et q n F. q1 x 1 q2...q n de cet utomte est ppelé En d utres termes, un chemin succès est un chemin qui prt de l étt initil et qui rrive dns un étt finl. Définition 7 Chˆıne ssociée à un chemin x SoitA = (Σ,Q,δ,i,F) un utomte et q à ce chemin est x...x n 1. q1 x 1 q2...q n un chemin dea. L chˆıne ssociée Définition 8 Lngge défini pr un utomte fini Soit A un utomte. Le lngge défini pr cet utomte est l ensemle des chˆınes ssociées ux chemins succès de cet utomte. Sur l exemple de l figure 1, voici deux exemples de chemins. j 1 o 2 u e j 1 o 2 u o 5 n 7 Les deux chemins commencent dns l étt initil. Le premier chemin se termine dns l étt qui est un étt finl. Donc ce chemin est un succès. Le second chemin se termine dns l étt 7 qui n est ps finl. Ce n est donc ps un succès. Les chînes ssociées à ces deux chemins sont respectivement joue et jouon. Le lnguge défini pr l utomte est l ensemle {joue, joues, jouons, jouez, jouent}. Attention, une chîne pprtient à un lngge s il existe un chemin succès ssocié à cette chîne. Cel ne signifie ps que tous les chemins prtnt de l étt initil et ssociés à cette chîne sont des succès. Pr exemple dns l utomte suivnt, il y deux chemins pour l chîne. 1 2 5 6

Il y le chemin 1 2 qui est un succès prce que est un étt finl et 1 5 qui est un échec prce que 5 n est ps un étt finl. L chîne pprtient u lngge de l utomte puisqu il existe un chemin succès. Donc l existnce d un échec ne dit rien sur l pprtennce de l chîne u lngge..2 Exécution d un utomte fini.2.1 Définitions des notions liées à l exécution Nous vons vu dns l section précédente qu un utomte fini définit un lngge, c est-à-dire un ensemle de chîne. Mis un utomte est ussi une mchine, que l on peut exécuter pour tester l pprtennce d une chîne à ce lngge ou pour générer les chînes de ce lngge. Nous llons d ord voir l exécution d un utomte en reconnissnce. Définition 9 Prcours prtiel, prcours complet, prcours succès Un prcours prtiel d utomte est une pire comprennt un chemin prtnt de l étt initil et une chˆıne. Un prcours complet est un prcours comprennt un chemin prtnt de l étt initil et l chˆıne vide. Un prcours succès est un prcours complet dont le chemin est un succès, c est à dire un chemin se terminnt dns un étt finl. Un prcours prtiel reflète un étt intermédiire d un prcours d un chemin. Le dernier étt du chemin donne l étt dns lequel on est rrivé et l chîne est ce qu il reste à reconnître sur l suite du chemin. C est un suffixe de l chîne que l on teste. Définition 1 Ps de clcul, clcul, clcul succès Un ps de clcul permet de psser d un prcours prtiel (i x...q,w) où Σ et w Σ à un prcours prtiel(i x...q q,w) s il existe une trnsition(q,,q ) dnsδ. Un clcul est une succession de prcours prtiels p 1,...p n tels que pour tout i, on peut psser dep i à p i+1 pr un ps de clcul. Un clcul succès est un clculp 1,...p n tel quep n est un prcours succès. Un clcul est un moyen de prcourir un chemin du grphe à l recherche d un chemin succès (c est à dire un chemin prtnt de l étt initil et rrivnt dns l étt finl, étiqueté pr w). Propriété 1 Soit A = (Σ,Q,δ,i,F) un utomte. Une chˆıne w pprtient à L() si et seulement si il existe un clcul succès commençnt du prcours prtiel(i,w). Attention, il fut qu un clcul succès existe, cel ne signifie ps que tous les clculs prtnt de cette configurtion doivent être des succès. S il y plusieurs chemins dns le grphe prtnt de l étt initil qui sont étiquetés pr w, il suffit qu un de ces chemins rrive dns un étt finl pour que w pprtienne u lngge. Pour prouver que w pprtient à L(A), il fut trouver un chemin succès. Pour prouver que w n pprtient ps à L(A), il fut prouver qu ucun chemin n est un succès. Il fut donc voir regrdé tous les chemins pour tirer cette conclusion.

1 2 FIGURE 2 utomte à exécuter.2.2 Exemple d exécution Prenons comme exemple l utomte de l figure 2. Voyons pour cet utomte un clcul qui permet de montrer que pprtient u lngge. Le prcours prtiel de déprt est(,). Le clul succès est le suivnt : (,),( 1,),( 1,),( 1 2,),( 1 2,ǫ) Ce clcul est un succès prce que le dernier prcour une chîne vide et son chemin rrive dns l étt finl 2. On peut définir un notion de clcul et d exécution d utomte en génértion, pour énumérer les chînes d un utomte. Nous ne détillerons ps cel ici. Le principe générl consiste à ccumuler les symoles vus sur l prtie du chemin déjà prcourue u lieu de stocker le reste de ce qui reste à trouver sur le chemin non encore prcouru.. Lngge régulier, non-déterminisme Définition 11 Lngge régulier Un lnggelest dit régulier s il existe un utomte finiatel quel = L(A). Définition 12 Automte fini non-déterministe Un utomte fini A = (Σ,Q,δ,i,F) est dit non déterministe s il existe dns δ deux trnsitions (q 1,x,q 2 ) et (q 1,x,q ) telles queq 2 q. Un utomte est non-déterministe si dns certins cs, il existe plusieurs chemins étiquetés pr l même chîne. Un utomte fini est déterministe s il n est ps non-déterministe. Propriétés de clôture Nous llons nous intéresser à deux lngges réguliers prticuliers et à des opértions ensemlistes qui conservent l régulrité. 5

Propriété 2 Le lngge vide est régulier. L utomte qui ne comprend que l étt initil qui n est ps finl ne possède ucun chemin succès. Il n y ucun étt finl, donc il n y ps de chemin succès. Donc le lngge reconnu ne comporte ucune chîne, c est le lngge vide (l ensemle vide). Propriété Le lngge{ǫ} est régulier. L utomte qui ne comprend que l étt initil qui est églement finl reconnît ce lngge, s il n ucune trnsition. Il convient de ien sisir l différence entre le lngge vide qui ne contient ucune chîne et ce lngge qui contient une chîne, l chîne vide. Propriété L union de deux lngges réguliers est un lngge régulier. L preuve de cette propriété est sée sur un lgorithme qui construit un utomte reconnissntl(a 1 ) L(A 2 ) étnt donnés les deux utomtesa 1 et A 2. A1 = (Σ,Q 1,δ 1,i 1,F 1 ) et A2 = (Σ,Q 2,δ 2,i 2,F 2 ). On suppose que Q 1 et Q 2 sont disjoints. Si ce n est ps le cs, on peut renommer les étts d un des deux utomtes. Cel ne chnge ps le lngge reconnu, puisque le nom des étts n intervient ps dns les chînes. A 1 A 2 = (Σ,Q 1 Q 2 {i},δ,i,f) où i est un nouvel étt initil n pprtennt ni àq 1, ni àq 2. δ = δ 1 δ 2 {(i,x,q) (i 1,x,q) δ 1 } {(i,x,q) (i 2,x,q) δ 2 } F = F 1 F 2 {i} si i 1 F 1 oui 2 F 2 F = F 1 F2 sinon. L figure montre un exemple d union. Le nouvel étt initil créé est l étt. Définition 1 Concténtion de lngges Soient L 1 et L 2 deux lngges. L concténtion de L 1 et L 2, notée L 1.L 2 est définie pr : L 1.L 2 = {w 1 w 2 w 1 L 1 et w 2 L 2 }. Propriété 5 L concténtion de deux lngges réguliers est un lngge régulier. A1 = (Σ,Q 1,δ 1,i 1,F 1 ) et A2 = (Σ,Q 2,δ 2,i 2,F 2 ). On suppose que Q 1 et Q 2 sont disjoints. A 1.A 2 = (Σ,Q 1 Q 2,δ,i 1,F) où δ = δ 1 δ 2 {(q 1,x,q 2 ) q 1 F 1 et (i 2,x,q 2 ) δ 2 } F = F 1 F 2 sii 2 F 1 F = F 2 sinon Définition 1 Clˆoture sous concténtion Soit L un lngge. On ppelle clˆoture sous concténtion de L et on note L le lngge définit prl = {w 1...w n n et i,1 i n,w i L}. Propriété 6 L clˆoture sous concténtion d un lngge régulier est un lngge régulier. 6

1 2 c 1 2 c c FIGURE exemple d union d utomtes finis 7

A = (Σ,Q,δ,i,F).A = (Σ,Q {i },δ,i,f {i }) oùδ = δ {(q 1,x,q 2 ) q 1 F {i } et (i,x,q 2 ) δ} Propriété 7 L intersection de deux lngges réguliers est un lngge régulier. SoientA 1 = (Σ,Q 1,δ 1,i 1,F 1 ) eta 2 = (Σ,Q 2,δ 2,i 2,F 2 ).A 1 A 2 = (Σ,Q 1 Q 2,δ,(i 1,i 2 ),F 1 F 2 ) vecδ = {((q 1,q 2 ),x,(r 1,r 2 )) (q 1,x,r 1 ) δ 1,(q 2,x,r 2 ) δ 2 } Propriété 8 Le complémentire d un lngge régulierl, notél, est un lngge régulier. Soit A = (Σ, Q, δ, i, F) un utomte. Pour clculer l utomte définissnt L(A), on procède en deux temps. D ord on complète l utomte A u moyen d un étt dit étt pouelle et de trnsitions llnt des utres étts vers cet étt. Pour tout étt de Q et tout symolexde Σ, soit il existe une trnsition(q,x,r) dnsδ, soit on joute une trnsition(q,x,pou) à l utomte (pou étnt l étt pouelle). Ensuite, on inverse le sttut des étts : les étts finls deviennent non finls et les étts non finls deviennent finls. A = (Σ,Q 1 {pou},δ,i,q 1 F) vec δ = δ {(q,x,pou) il n existe ps d étt r tel que(q,x,r) δ}. Propriété 9 L différence ensemliste de deux lngges réguliers est un lngge régulier. Cette propriété est l conséquence des deux propriétés précédentes. En effet, L 1 L 2 = L 1 L 2..1 Exemple d utilistion des opértions Les différentes propriétés étudiées dns cette section ont un intérêt direct pour l spécifiction. Pr exemple, l union est l se de l modulrité. L différence ensemliste permet un tritement fcile des exceptions. Illustrons cel sur un exemple. Supposons que l on veuille représenter vec un utomte fini tous les mots du frnçis pour une ppliction de correction orthogrphique. On v fire une liste de tous les noms u singulier. Chque nom peut fcilement être représenté vec un utomte fini qui n qu un chemin succès correspondnt à ce mot. Pr exempleri est représenté pr : 1 2 r i 5 Le lexique de tous les noms u singulier peut être otenu en fisnt l union de tous les utomtes insi construits. Appelonsnoms_singulier cet utomte. Pour voir mintennt les noms u pluriel, il fut jouter un s à l fin des mots. Cel peut être otenu u moyen de l opértion de concténtion. Mis il y certines exceptions qui ont un pluriel enx. On peut fire l liste de ces exceptions (pou, hiou, chou, etc). Appelonsexceptions l utomte construit à prtir de cette liste. Appelons s_finl et x_finl les deux utomtes qui contiennent respectivement les chînes s etx. 8

L liste des mots u pluriel peut s otenir pr : ((noms_singulier-exceptions).s_finl) (exceptions.x_finl) Dns une ppliction réelle, il fut gérer ussi d utres exceptions (pluriel des mots en l, en il, en eu et pluriels irréguliers). Cel peut se fire vec le même genre d utilistion des opértions ensemlistes. 5 Expression régulières Les expressions régulières sont une fçon de noter un lngge régulier. Nous llons d ord les définir, puis ensuite montrer qu elles recouvrent exctement l notion de lngge régulier. Définition 15 Expression régulière SoitΣun lphet. est une expression régulière dénotnt le lngge vide. ǫ est une expression régulière dénotnt le lngge{ǫ}. soitx Σ. x est une expression régulière dénotnt le lngge{x}. Supposons que p et q sont deux expressions régulières dénotnt les lngges L 1 et L 2. Alors, p q est une expression régulière dénotnt le lnggel 1 L 2. pq est une expression régulière dénotnt le lnggel 1.L 2. p est une expression régulière dénotnt le lnggel 1. On peut étend l nottion des expressions régulières vec des prenthèses fculttives et vec l nottionp + pour réger l expression régulièrep p. Deux exemples d expressions régulières : ( )( c) dénote le lngge{,c,,c}. dénote l ensemle des chînes commençnt pr un, suivies d un nomre quelconque de et terminée pr un. Deux expressions régulières sont égles si elles dénotent le même ensemle régulier. Voici quelques églités d expressions régulières : p q = q p (pr commuttivité de l union d ensemle) = ǫ (p q) r = p (q r) (pr ssocitivité de l union ensemliste) pǫ = ǫp = p p p = p (p ) = p p = p = Les lngges définis pr les expressions régulières et les utomtes finis sont les mêmes : ce sont les lngges réguliers. Cel peut s énoncer u moyen de deux propriétés (doule inclusion). Propriété 1 Pour toute expression régulière p, il existe un utomte fini qui reconnˆıt le lngge défini prp. 9

Cette propriété est une conséquence évidente des propriété de clôtures énoncées à l section précédente. Propriété 11 Pour tout utomte fini A, il existe une expression régulière dénotnt le lngge L(A). Nous n llons ps prouver cette propriété. Nous llons donner un moyen de déterminer l expression régulière ssociée à un utomte fini. Pour chque étt q de l utomte, on note X q le lngge comprennt toutes les chînes étiquetnt un chemin prtnt de q et rrivnt dns un étt finl. Si q est finl, lors le chemin vide conduit à un étt finl, donc ǫ pprtient à X q. Tout chemin non vide commence pr une première trnsition conduisnt à un étt q et fini pr une chemin llnt de q à un étt finl. Un tel chemin est étiqueté pr une chîne de X q. En suivnt cette idée, on peut étlir pour chque X une éqution composée de l disjonction de tous les moyens de fire un chemin llnt dns un étt finl. Le lnggex q serit le lngge défini pr l utomte si l éttq étit l étt initil. En résolvnt les équtions, on trouve les vleurs des X q sous forme d expressions régulières et notmment le lnggex i où i est l étt initil. Ce lngge est celui défini pr l utomte. Nous vons un système d équtions vec utnt d équtions que d étts dns l utomte. On résoud ce système en utilisnt le lemme d Arden. Lemme 1 d Arden Une éqution du typex = αx β oùǫn pprtient ps àαune solution uniquex = α β. Prenons un exemple. 1 2 d c Pour chque étt, on pose une éqution en regrdnt deux choses : si l étt q est finl, lors ǫ pprtient àx q. Chque trnsition qui sort de l étt est potentiellement un moyen de commencer un chemin succès. Ce chemin se poursuit pr un chemin succès prtnt de l étt d rrivée de l trnsition. Pour l étt, il y deux trnsitions qui sortent, donc deux fçons de commencer un chemin. On pose l disjonction des deux, de l fçon suivnte : X = dx cx 1 L étt 1 est finl et il une trnsition sortnte : X 1 = X 2 ǫ Si l on collecte toutes les équtions, cel donne : X 1 = X 2 ǫ 1

X 2 = X 2 X X = dx cx 1 X = ǫ On peut remplcer X pr s vleur. Cel donne X = dǫ cx 1 = d cx 1 On peut mintennt remplcerx ce qui donne l éqution : X 2 = X 2 (d cx 1 ) = X 2 d cx 1 Ensuite, on remplcex 1 dns cette éqution. X 2 = X 2 d c(x 2 ǫ) = X 2 d cx 2 cǫ = ( c)x 2 (d c) Cette éqution l forme requise pour ppliquer le lemme d rden. Pour ppliquer ce lemme, on peut poserα = ( c) et β = (d c) Le résultt de l ppliction est l vleur dex 2. X 2 = ( c) (d c) Ensuite, on remplcex 2 pr s vleur dns l éqution dex 1. X 1 = (( c) (d c)) ǫ = ( c) (d c) ǫ C est là le lngge défini pr l utomte. 5.1 Syntxe détillée pour les expressions régulières Il n existe ps de convention générle pour écrire les expressions régulières. On trouve différentes nottions ussi ien dns les ouvrges de référence que dns les logiciels proposnt des expressions régulières. Nous llons proposer ici une nottion à utiliser dns les exercices qui seront proposés. Nous llons reprendre en grnde prtie l syntxe utilisée pr OpenGrm, un des outils que nous llons utiliser en TP. Une chîne de crctère est notée entre doules guillemets droits. Pr exemple"c". Dns une chîne de crctère, un symole de l lphet comportnt plusieurs crctères dns son nom ser noté entre crochets. Pr exemple"[timeout]". L chîne vide est noté sns surprise"". L rre olique inversée est un crctère d échppement permettnt de noter dns une chîne un crctère qui un utre usge dns l syntxe, notmment les crctères ", [ et]. Les fins de lignes et tultions sont notées respectivement\n et\t. Les opérteurs ensemlistes seront utilisés pour âtir des expressions régulières. Ceux-ci porteront soit sur des chînes de crctères, soit sur d utres expressions régulières. L union ou disjonction ser notée vec une rre verticle, l concténtion sns rien ou vec un point, l différence vec un tiret, l étoile vec une étoile, l intersection vec une esperluette & (cette opértion n existe ps dns OpenGrm). Les prenthèses serviront comme d hitude à indiquer des priorités dns les expressions. Exemples d usge d opérteurs : "" "" "" "cd" ""* - "" (""* - "")&"cde" On pourr donner un nom à une expression régulière puis utiliser ce nom dns les expressions régulières qui suivront. Pr exemple : 11

voyelles = "" "e" "i" "o" "u" ; sylle = "c" voyelle "c" voyelle "c"; Deux opérteurs supplémentires sont définis comme des rccourcis : w+ dénotew*w (une séquence non vide d occurrences de w) w? dénotew "" (une occurrence optionnelle de w) On pourr utiliser une nottion d intervlle pour désigner l disjonction de tous les crctères compris dns cet intervlle. L nottion ser l suivnte : "".."e" comme révition pour l expression"" "" "c" "d" "e". Notez que cette nottion n existe ps dns OpenGrm. 6 Déterministion, minimistion, epsilon trnsition Propriété 12 Pour tout lngge régulier L, il existe un utomte fini déterministe A tel que L = L(A). Pr définition, un lngge est régulier s il existe un utomte fini qui le reconnît. L propriété énoncée spécifie de plus que s il existe un utomte qui reconnît un lngge, lors il existe nécessirement un utomte fini déterministe qui le reconnît. Cette propriété est intéressnte opértionnellement, cr, si l on peut utiliser cet utomte déterministe, on pourr svoir si une chîne pprtient ou non u lngge en effectunt un seul clcul de l utomte. Propriété 1 Il existe un lgorithme dit lgorithme de déterministion qui pour tout utomte fini non déterministea, clcule un utomte fini déterministea tel quel(a ) = L(A). Cet lgorithme utilise l notion d ensemle de successeurs d un étt pour un symole donné. Définition 16 Ensemle de successeurs Soit A = (Σ,Q,δ,i,F) un utomte. On ppelle ensemle des successeurs de l étt q pour un symole x et on note succ(q,x) l ensemle des étts r tels qu il existe une trnsition (q,x,r) dnsδ. SoitA = (Σ,Q,δ,i,F) un utomte fini non-déterministe. On définitdet(a) = (Σ,2 Q,δ,{i},F ) vec δ = {(M,x,N) N = q M succ(q,x)} F = {M 2 Q M F } Rppel : 2 Q est une nottion pour désigner l ensemle des prties de l ensemle Q. On peut montrer quedet(a) est déterministe et quel(det(a)) = L(A) (ce que nous ne ferons ps ici). Cet lgorithme est potentiellement coûteux prce que le nomre d étt croît de fçon exponentielle pr rpport à l utomte non déterministe. En prtique, ce coût n est ps toujours effectif prce qu un grnd nomre d étts de 2 Q sont inccessiles depuis l étt initil {i} et ne sont ps clculés si l on s y prend ien. Nénmoins, dns les muvis cs, l tille du résultt est une fonction exponentielle de l tille de l utomte non-déterministe. 12

Prenons un exemple d utomte non déterministe qui décrit les différentes formes de l djectif fini, à svoir : fini, finis, finie et finies. Une construction nïve de l utomte consiste à écrire un chemin distinct pour chque mot du lngge. 1 i 2 n i f f f f 5 1 i i 6 11 n n 7 12 i s 9 8 i 1 e 1 15 i 16 n 17 i 18 e 19 s 2 L construction de l utomte déterministe prt de l étt initil,. Pr f, on peut ller dns les étts 1, 5, 1, et 15. On crée un nouvel étt de nom1,5,1,15. De 1 prion v en 2, de 5 en 6, de 1 en 11, de 15 en 16. On crée donc un nouvel étt ppelé2,6,11,16, vec une flèche de 1,5,1,15 vers 2,6,11,16, étiquetée pr i. Et insi de suite, ce qui donne le résultt suivnt. e 1,19 s 2 f 1,5 i 2,6 n,7 i,8 1,15 11,16 12,17 1,18 s 9 Propriété 1 Il existe un lgorithme ppelé lgorithme de minimistion qui pour tout utomte fini déterministe A clcule un utomte fini déterministe A tel que L(A) = L(A ) et A un nomre d étt inférieur ou égl à tout utre utomte définissnt le lnggel(a). Nous ne détillerons ps cet lgorithme un peu complexe. Il est sé sur l recherche de redondnce entre étts, c est à dire des étts différents qui clculent le même lngge. Si on en trouve, ces étts redondnts peuvent être fusionnés en un seul. Cet lgorithme est églement ssez coûteux. L minimistion de l utomte déterministe précédent permet de fusionner les étts 9 et 2. f 1,5 i 2,6 n,7 i,8 1,15 11,16 12,17 1,18 e 1,19 s s 9,2 Nous llons mintennt présenter une vrinte des utomtes fini qui utorise l utilistion de trnsitions sns étiquettes, qui ne lisent ps de symole de l chîne. On ppelle ces trnsitions 1

epsilon-trnsitions et on les note vec un epsilon en guise d étiquette. Cette extension de l syntxe des utomtes finis ne chnge rien à l puissnce du formlisme. C est à dire que les utomtes vec epsilon-trnsitions décrivent l même clsse de lngges que les utomtes sns epsilon-trnsition, c est-à-dire les lngges réguliers. Définition 17 Automte fini vecǫ-trnsition Un utomte fini est un quintupleta = (Σ,Q,δ,i,F) où : Σ est un ensemle fini de symoles ppelé lphet. Q est un ensemle fini dont les éléments sont ppelés étts. δ est une reltion de Q (Σ {ǫ}) Q ppelée trnsition ou ensemle des trnsitions de A. i est un étt deqppelé étt initil. F est un sous-ensemle deqppelé ensemle des étts finls de A. Propriété 15 Il existe un lgorithme dit lgorithme d élimintion des ǫ qui pour tout utomte A vec des ǫ-trnsitions clcule un utomtea snsǫ-trnsition et tel quel(a) = L(A ). Le principe de l lgorithme consiste à remplcer chque chemin de longueur 1 commençnt pr une epsilon-trnsition pr une nouvelle trnsition qui décrit ce chemin. Prenons un exemple. 2 c 1 epsilon c utomte vec epsilon-trnsition Il y deux chemin de longueur 1 qui commencent pr l trnsition sur epsilon : (1,ǫ,)(,,) (1,ǫ,)(,c,) On joute à l utomte deux nouvelles trnsitions qui résument ces deux chemins : (1,,) (1,c,) Et on supprime l trnsition (1,ǫ,). Il est fcile de voir que pour tout succès dns l ncien utomte, il existe un succès dns le nouveu et réciproquement. 1

2 c 1 c utomte sns epsilon-trnsition c L lgorithme est un peu plus complexe dns les cs où plusieurs epsilon-trnsitions se suivent et si elles vont dns un étt finl, mis le principe générl présenté ici reste vlle. L utilistion des epsilon-trnsitions permet prfois de décrire plus lisilement un lngge. Elle permet ussi de simplifier l description de certines opértions (pr exemple l union ou l concténtion). D un utre côté, l existence d epsilon-trnsitions rend générlement l utomte non-déterministe puisqu on toujours l possiilité d emprunter une telle trnsition même qund il existe une trnsition ordinire que l on pourrit emprunter. Pr exemple, sur notre exemple, depuis l configurtion initile (1,c), on peut pr un ps de clcul ller ussi ien dns l configurtion(1, c) en suivnt l trnsition sur que dns l configurtion(, c) en suivnt l trnsition sur epsilon. 7 Utilistion des utomtes finis Les utomtes finis et les expressions régulières sont utilisées dns différents contextes. Pour décrire des tritements textuels (pr exemple, recherche de sous-chîne). Dns les tritements de textes, les lngges de script (wk, perl), etc. Pour décrire les léxèmes d un lngge dns un compilteur ou un interpréteur (lngge de progrmmtion, de script, de description de document, d interrogtion de se de donnée). De même pour les fichiers de configurtion d pplictions. Pour décrire l étge morpho-lexicl des lngues nturelles (dictionnires, lexiques). Pour décrire les propriétés dynmiques d un système. Pr exemple dns des lngges de description comme UML (digrmmes étts-trnsitions) ou SA-RT. Pour décrire le flot de contrôle d un progrmme séquentiel (pr exemple, pour fire des tests d ccessiilité d instructions). Les propriétés des utomtes finis sont très intéressntes. Grâce à l déterministion et à l minimistion, toute description sous forme d utomte fini peut être exécutée efficcement. Les opértions ensemlistes insi que l concténtion et l étoile ouvrent l voie à l modulrité et u tritement d exceptions. Des oîtes à outil efficce existent qui permettent de décrire et d exécuter de très gros utomtes (plusieurs millions d étts et de trnsitions). 15

D un utre côté, les utomtes finis ont une puissnce limitée. Ils n ont ps l puissnce des mchines de Turing. L seule mémoire des utomtes finis est les étts qui sont en nomre fini. Prmi les lngges qui ne peuvent ps être décrits pr utomtes finis, voici quelques exemples clssiques : les chînes qui ont le même nomre deque de. les chînes ien prenthésées (vec une prenthèse fermnte pour chque ouvrnte et une onne imriction des prenthèses). Il existe plusieurs formlismes qui ugmentent le pouvoir descriptif des utomtes finis. Cel permet de représenter des lngges non réguliers. Il y donc surcroît de puissnce. Mis l contreprtie est l perte de certines des onnes propriétés des utomtes finis. Citons quelques exemples : les trnsducteurs finis sont utilisés pour décrire des reltions régulières ou des fonctions de trduction. Sur chque trnsition, il y deux symole : un en lecture, un en écriture. Reconnître une chîne permet d otenir son imge pr l fonction. les utomtes à pile : une pile de tille illimitée est jouté à un utomte fini. Chque trnsition lit un symole de chîne et rélise une opértion de pile (empilement, dépilement, lecture du sommet). Ce dispositif décrit les lngges non contextuels qui sont utilisés pour décrire l syntxe des lngges informtique et prfois ussi l syntxe des lngues nturelles. les réseux de Petri : sur l se d un grphe orienté, on joute l notion de jetons qui peuvent se déplcer dns le grphe, être créés ou éliminés. Des contrintes spécifiques permettent de limiter le nomre de jetons dns certins nœuds du grphe. Compte tenu de leur file pouvoir expressif, les spécifictions sous forme d utomtes finis sont souvent des spécifictions prtielles qui ne décrivent qu imprfitement, pproximtivement un système. Ils sont nénmoins les ienvenus dns ce rôle du fit de leur simplicité. 8 Trnsducteurs finis à étts 8.1 Notion et définition de trnsducteur fini à étts Selon le dictionnire Trésor de l Lngue Frnçise informtisé, un trnsducteur est un dispositif ou élément d une chîne de communiction (mécnique, électrique, etc.) recevnt un messge sous une certine forme et le trnsformnt en une utre. Selon le Lrousse, trnsducteur est un synonyme de trducteur. Un trnsducteur fini à étt est un utomte fini qui non seulement reconnît un ensemle régulier de chînes, mis encore qui trduit chque chîne de cet ensemle dns une utre chîne pprtennt à un utre lngge régulier. Concrètement, comme un utomte fini, c est un grphe orienté étiqueté, mis chque trnsition est étiquetée pr un (ou zéro) symole à reconnître et un (ou zéro) symole utilisé pour construire l trduction, séprés pr un point-virgule. Voyons un exemple qui concerne l trduction de quelques chiffres du frnçis à l nglis (un one, deux two et trois three). 16

d:t 1 e:w u:o 7 x:<epsilon> t:t u:o 2 r:h 5 o:r 8 i:e 1 s:e 9 n:n 6 <epsilon>:e exemple de trnsducteur Définition 18 Trnsducteur fini à étt Un utomte fini est un sextupleta = (Σ i,σ o,q,δ,i,f) où : Σ i et Σ o sont deux ensemles finis de symoles ppelés respectivement lphet d entrée et lphet de sortie. Q est un ensemle fini dont les éléments sont ppelés étts. δ est une reltion deq (Σ i {ǫ}) (Σ o {ǫ}) Q ppelée trnsition ou ensemle des trnsitions dea. i est un étt deqppelé étt initil. F est un sous-ensemle deqppelé ensemle des étts finls de A. L notion de chemin succès est inchngée pr rpport ux utomtes : c est un chemin qui prt de l étt initil et rrive dns un étt finl. Mis un tel chemin n est plus ssocié à une chîne mis à une pire de chînes : une chîne de symoles de Σ i (ou entrée) et une de symoles de Σ o. Un trnsducteur ne défini ps un lngge (ensemle de chînes), mis une reltion inire (ensemles de pires de chînes). Une reltion définissle pr un trnsducteur fini est ppelée reltion régulière. Bien que l terminologie rppelle un peu celle des fonctions, il s git ien de reltions, ce qui signifie qu une chîne peut voir plusieurs trductions et deux chînes différentes peuvent voir l même trduction. Pr exemple, dns une trduction frnçis-nglis, on peut voir l reltion suivnte : {(un,),(un,one),(grtuit,free),(lire,free)}. Un trnsducteur peut donner lieu à différent types d exécution : étnt donné une chîne entrée, clculer s ou ses trductions en sortie (si cette chîne pprtient à une ou plusieurs pires de l reltion). étnt donné une chîne en sortie, clculer l ou les entrées dont cette sortie est l trduction. étnt donné une pire de chînes, déterminer si cette pire pprtient à l reltion. exhier une ou plusieurs pires de l reltion. Nous llons décrire le clcul pour le premier type d exécution, que nous ppellerons exécution cnonique du trnsducteur. Une configurtion est un triplet vec un chemin du trnsducteur, une chîne de Σ i et une chîne de Σ o. Soit T = (Σ i,σ o,q,δ,i,f) un trnsducteur et w i l chîne de Σ i à trduire. L configurtion initile est (i,w i,ǫ). Un ps de clcul permet de psser d une configurtion à une utre en utilisnt une trnsitiont = (q i,x i,x o,q f ). (q 1...q i,x i v i,v o ) t (q 1...q i,v i,v o x o ) Une configurtion(q...q n,w i,w o ) est finle si et seulement siq n est finl et w i = ǫ. 17

8.2 Opértions rtionnelles et ensemlistes Certines opértions sur les lngges réguliers et les utomtes finis se définissent de fçon nlogue sur les reltions régulières et trnsducteurs finis. Pour ces opértions, les lgorithmes sont les mêmes pour utomtes et trnsducteurs. Il s git des trois opértions rtionnelles : concténtion, union et clôture sous concténtion. En revnche, les reltions régulières ne sont ps closes sous certines opértions ensemlistes et opértions d optimistion. Pr exemple, l intersection de deux reltions régulières n est ps toujours une reltion régulière. En termes de trnsducteurs, l intersection de deux trnsducteurs finis n est ps toujours clculle sous l forme d un trnsducteur fini. De même pour le complémenttion et l différence ensemliste. Les opértions de déterministion et de minimistion ne s ppliquent ps non plus ux trnsducteurs finis en générl. Elles peuvent s ppliquer à certines conditions. Il existe églement des lgorithmes d optimistion pprochée qui ne grntissent ps un résultt optiml. L élimintion des ǫ trnsitions permet d éliminer les trnsitions qui sont étiquetées pr un ǫ en entrée et unǫen sortie. Il n y ps d lgorithme générl pour éliminer les trnsitions vec un ǫ d un seul des deux côtés (entrée ou sortie). 8. Opértions spécifiques des trnsducteurs L première opértion consiste à restreindre une reltion régulière ux entrées pprtennt à un certin lngge régulier. Soit R une reltion régulière et L un lngge régulier. Cette restriction notée σ L (R) est définie pr σ L (R) = {(w i,w o ) R w i L}. L restriction d une reltion régulière à un lngge régulier est une reltion régulière. Etnt donné un trnsducteur fini T et un utomte fini A, il existe un lgorithme permettnt de construire un trnsducteur T qui définit σ L(A) (R(T)). Cet lgorithme est une vrinte de l lgorithme d intersection d utomtes finis. L seconde opértion est l composition qui consiste à enchîner deux reltions, l sortie de l première étnt utilisée comme entrée de l seconde. R 1 R 2 = {(w 1,w) w 2,(w 1,w 2 ) R 1,(w 2,w ) R } L composition de deux reltions régulières est une reltion régulière. Il existe un lgorithme qui construit l composition de deux trnsducteurs finis sous l forme d un trnsducteur fini. C est une vrinte de l lgorithme d intersection d utomtes finis. L troisième opértion est l projection qui consiste à extrire un lngge d une reltion en ne conservnt que le premier ou que le second composnt de chque pire de l reltion. C est donc en fit deux opértions différentes notées π 1 et π 2, définies pr π 1 (R) = {w i Σ i w o Σ o,(w i,w o ) R} et π 2 (R) = {w o Σ o w i Σ i,(w i,w o ) R}. L projection d une reltion régulière est un lngge régulier. L lgorithme sur les trnsducteurs est trivil : il suffit de remplcer sur chque trnsition l pire pr l composnte conservée. L exécution cnonique d un trnsducteur fini à toutes les chînes d un lngge régulier peut se clculer vec une restriction suivie d une projection sur l sortie. Le résultt est un lngge régulier. Une utre opértion consiste à inverser l entrée et l sortie du trnsducteur. 18

8. Extension des expressions régulières Si l on veut voir pour les reltions régulières une nottion équivlente à celle des expressions régulières pour les lngges réguliers, il fut jouter un nouvel opérteur pour définir les reltions et les opértions spécifiques ux trnsducteurs. L opérteur permettnt de définir des reltions régulières est le produit crtésien de lngge régulier. Ce produit crtésien se définit comme suit : L 1 L 2 = {(w i,w o ) w i L 1,w o L o }. Le produit crtésien est noté : (deux points) dns les expressions régulières. Prenons quelques exemples :"":"x" est l expression régulière qui note l reltion{(,x)}. ("" "c"):("x" "y") est l expression régulière qui note l reltion {(,x),(,y),(c,x),(c,y)}.""*:"x" note l reltion {(ǫ,x),(,x),(,x),(,x),...}. Avec ce nouvel opérteur, il fut fire ttention lorsqu on écrit une expression : toutes les expressions n ont ps de sens. Pr exemple, le produit crtésien doit porter sur deux expressions qui dénotent des lngges et non des reltions. Pr exemple, il n est ps correct d écrire : ("":"x"):"t". Les opértions comme l disjonction ou l concténtion peuvent s ppliquer sur deux lngges ou sur deux reltions, mis ps sur un lngge et une reltion. Il n est ps correct d écrire""("c":"d"). Pour les opértions spécifiques ux trnsducteurs, on l sélection que l on noter #, l composition que l on noter @ et les deux projections que l on noter respectivement /1 et /2. 8.5 Conclusion sur les trnsducteurs Les trsducteurs offrent un modèle plus puissnt que les utomtes finis, mis ce surcroît de puissnce se fit u prix de l perte de certines propriétés des utomtes finis : l clôture sous intersection et différence, les propriétés d optimistion utomtique (déterministion, minimistion). Les trnsducteurs sont souvent utilisés pour définir un clcul comme une succession d étpes élémentires, chque étpe étnt rélisée pr l ppliction d un trnsducteur fini. On ppelle cel une cscde de trnsducteurs. Avec une telle cscde, il est équivlent de fire l exécution cnonique des trnsducteurs successifs ou de clculer l composition des trnsducteurs et de fire l exécution cnonique du résultt. Supposons qu on it une cscde de trnsducteurs et une entrée w à trnsformer. L équivlence des deux clculs s écrit : (((w#t 1 )/2#t 2 )/2#t ) (w#(t 1 @t 2 @t ))/2 19