Théorie des Langages Formels Chapitre 4 : Automates complets déterministes

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

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

Algorithmes sur les mots (séquences)

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

Notes de révision : Automates et langages

LANGAGES - GRAMMAIRES - AUTOMATES

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

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

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

Techniques d analyse de circuits

Chapitre 11 : L inductance

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

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

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

Chapitre VI Contraintes holonomiques

Toyota Assurances Toujours la meilleure solution

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

ANALYSE NUMERIQUE NON-LINEAIRE

3- Les taux d'intérêt

Module 2 : Déterminant d une matrice

Cours d Analyse IV Suites et Séries de fonctions

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

semestre 3 des Licences MISM annnée universitaire

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

Statuts ASF Association Suisse Feldenkrais

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

Probabilités sur un univers fini

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

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

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

Tout ce qu il faut savoir en math

Guide des bonnes pratiques

Guide d'utilisation Easy Interactive Tools Ver. 2

SYSTEME DE TELEPHONIE


OLYMPIADES ACADEMIQUES DE MATHEMATIQUES. 15 mars 2006 CLASSE DE PREMIERE ES, GMF

/HVV\VWqPHVFRPELQDWRLUHV

Chapitre 1 : Fonctions analytiques - introduction

CH.6 Propriétés des langages non contextuels

La spirale de Théodore bis, et la suite «somme=produit».

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

Partie 4 : La monnaie et l'inflation

Baccalauréat S Asie 19 juin 2014 Corrigé

Intégrale et primitives

INFORMATIONS TECHNIQUES

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

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

RadioCommunications CDMA

INSTALLATION DE DETECTION INCENDIE

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

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

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

Magister en : Génie Mécanique

ANALYSE : FONCTIONS D UNE VARIABLE RÉELLE

INTENTION LES PROCESSUS MATHÉMATIQUES

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

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

Commencer DCP-7055W / DCP-7057W /

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

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

EnsEignEmEnt supérieur PRÉPAS / BTS 2015

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Bilan pédagogique / Projet ipad Contexte

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

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

La pratique institutionnelle «à plusieurs»

SOCIÉTÉ LINNÉENNE DE LYO N FONDEE EN 182 2

Annexe II. Les trois lois de Kepler

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

Quelques algorithmes simples dont l analyse n est pas si simple

FONDATION CLEMENTINE ET MAURICE ANTILLE

LOGICIEL FONCTIONNEL EMC VNX

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

C f tracée ci- contre est la représentation graphique d une

GABARIT À PÊNE DORMANT ÉLECTRONIQUE

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

Déroulement de l épreuve de mathématiques

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

CTC Generic LITHO FLEXO. PANTONE a mm/dd/yy xxxxxx. PANTONE a mm/dd/yy xxxxxx PANTONE a mm/dd/yy xxxxxx.

Correction du baccalauréat ES/L Métropole 20 juin 2014

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

Atelier «personnaliser l environnement de l ordinateur mai 2015

Exprimez-vous lors du choix de vos pneus:

Développement de l imagerie RMN par agents CEST : application à un modèle rongeur de tumeur cérébrale

Guide de l'utilisateur

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

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

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

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

Livret de l étudiant

Demande de permis d exploitation d une installation destinée à entreposer ou à distribuer du gaz (avec ou sans transvasement)

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

La persistance des nombres


CHAUFFE-EAU RÉSIDENTIELS ÉLECTRIQUES

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

Théorie des graphes et optimisation dans les graphes

Réaliser un PUBLIPOSTAGE

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

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Transcription:

1/2 Théorie des Lngges Formels Chpitre 4 : Automtes complets déterministes Florence Levé Florence.Leve@u-picrdie.fr Année 2015-2016

2/2 Introduction 4 5 6 7 8 9 10 11 12 Recherche de :,

/2 Automte déterministe Automte déterministe. Un utomte est déterministe si et seulement si les deux conditions suivntes sont vérifiées : 1. L utomte possède un et un seul étt initil ; 2. Pour chque étt q et pour chque lettre α, il existe u plus une trnsition issue de q d étiquette α. Qund un utomte est déterministe, l ensemle des trnsitions est souvent vu comme une fonction de Q A dns Q. L ensemle des trnsitions est lors présenté sous forme d un tleu à deux dimensions. On note lors δ(q, ) l étt q (s il existe) tel que (q,, q ) est une trnsition.

4/2 Exemples

4/2 Exemples

4/2 Exemples

4/2 Exemples Le troisième utomte est déterministe, mis ps complet.

5/2 Automte complet Définition. Un utomte est complet si pour chque étt q et pour chque lettre α, il existe u moins une trnsition issue de q étiquetée pr α. Ett puits. Pour un utomte complet, on ppelle étt puits, tout étt e non terminl tel que pour toute trnsition (e, α, f ), e = f. Algorithme de complétion. Pour rendre un utomte complet : Ajouter un étt puits P ; Ajouter pour chque étt q, et chque lettre α, une trnsition (q, α, P) s il n existe ps déjà une trnsition prtnt de q pr l lettre α. Pour chque lettre α, jouter l trnsition (P, α, P). Remrque : L complétion ne chnge ni le lngge reconnu, ni le déterminisme éventuel de l utomte.

6/2 Exemple

6/2 Exemple P

6/2 Exemple, P

6/2 Exemple,, P

6/2 Exemple,, P Attention : P n est ps un étt d ccepttion!!

6/2 Exemple,, P Attention : P n est ps un étt d ccepttion!! Remrque : un utomte peut être non déterministe mis complet.

7/2 Déterministion (méthode des sous-ensemles) Pour tout utomte fini Aut = <A, Q, D, F, δ >, l utomte Aut d suivnt est déterministe complet et reconnît le même lngge que Aut : Aut d =<A, Q d, D d, F d, δ d > où Qd = 2 Q i.e. les étts de Aut d sont les prties (sous-ensemles) de Q ; Dd = {D} i.e. D d ne contient qu un étt qui est l ensemle des étts initiux de Aut ; F d = {P Q d P F } i.e. est étt d ccepttion toute prtie de Q qui contient u moins un étt d ccepttion de Aut ; δd = {(P, α, P ) P, P Q d, α A tels que P = {q (q, α, q ) δ, q P}} i.e. l unique trnsition dns Aut d qui prt de P Q d étiquetée pr l lettre α mène dns l ensemle P qui est l ensemle des étts de Aut qu on peut tteindre pr une trnsition étiquetée pr α en prtnt d un étt de P.

8/2 Pourquoi ç mrche? On vérifie isément que l utomte construit est déterministe et complet. Propriété : si P et P sont deux ensemles d étts de Q (deux étts de Q d ), il existe un chemin prtnt de P outissnt en P étiqueté pr un mot u si et seulement s il existe un étt p dns P, un étt p dns P tels qu il existe un chemin dns Aut prtnt de p rrivnt dns p d étiquette u. Se démontre pr récurrence sur u. D où l églité des lngges. Remrque : l utomte construit n est en générl ps émondé.

Construction de l tle de trnsitions Donnée : un utomte Aut = <A, Q, D, F, δ > Résultt : l tle de trnsitions de l utomte ccessile de Aut d. 1. Définir un tleu à deux dimensions ynt une colonne de plus que de lettres dns l lphet. 2. Étiqueter l première colonne étts (les vleurs dns cette colonne qui seront les étts de l utomte déterministe, étiquetteront les lignes).. Étiqueter les utres colonnes pr les lettres de l lphet. 4. Plcer sur une première ligne en première colonne, l ensemle des étts de déprt de Aut. 5. Tnt qu u moins une cse du tleu n est ps remplie : choisir une cse à remplir : notons P l ensemle d étts de Aut figurnt en première colonne de l ligne de cette cse, et notons α l lettre étiquetnt l colonne de l cse ; clculer l vleur de l cse : δ(p, α) ; si ucune ligne n est ssociée à cette vleur, commencer une nouvelle ligne étiquetée pr cette vleur. 9/2

10/2 Clcul de l utomte déterministe complet Donnée : un utomte Aut = <A, Q, D, F, δ >, Résultt : construit l utomte ccessile Aut de l utomte Aut d. Émonder l utomte Aut. Appliquer l lgorithme précédent de construction de l tle de trnsitions. à l fin de cet lgorithme, sont connus l lphet de Aut (c est A), les étts de Aut (ce sont les étts qui pprissent dns l première colonne de l tle), les trnsitions de Aut (elles se lisent dns l tle). Mrquer l étt initil de Aut : il s git de l étt sur l première ligne de l tle ; le mrquer visuellement pr une flèche juste devnt l étt de l tle. Déterminer et mrquer les étts terminux de Aut : pour le mrquge mettre une flèche devnt chque étt concerné (si l étt initil est ussi terminl, on pourr remplcer l flèche pr une flèche )

11/2 Exemple L utomte est émondé.

12/2 Exemple : clcul de l tle de trnsition

12/2 Exemple : clcul de l tle de trnsition 1. Définir un tleu à deux dimensions ynt une colonne de plus que de lettres dns l lphet.

12/2 Exemple : clcul de l tle de trnsition 2. Étiqueter l première colonne étts. étts

12/2 Exemple : clcul de l tle de trnsition. Étiqueter les utres colonnes pr les lettres de l lphet. étts

12/2 Exemple : clcul de l tle de trnsition 4. Plcer sur une première ligne en première colonne, l ensemle des étts de déprt de Aut. étts {1,}

12/2 Exemple : clcul de l tle de trnsition 5. Tnt qu u moins une cse du tleu n est ps remplie : choisir une cse à remplir et clculer s vleur δ(p, α) ; si ucune ligne n est ssociée à cette vleur, commencer une nouvelle ligne étiquetée pr cette vleur. étts {1, }

12/2 Exemple : clcul de l tle de trnsition 5. Tnt qu u moins une cse du tleu n est ps remplie : choisir une cse à remplir et clculer s vleur δ(p, α) ; si ucune ligne n est ssociée à cette vleur, commencer une nouvelle ligne étiquetée pr cette vleur. étts {1, } {1, 2}

12/2 Exemple : clcul de l tle de trnsition 5. Tnt qu u moins une cse du tleu n est ps remplie : choisir une cse à remplir et clculer s vleur δ(p, α) ; si ucune ligne n est ssociée à cette vleur, commencer une nouvelle ligne étiquetée pr cette vleur. étts {1, } {1, 2} {1, 2}

12/2 Exemple : clcul de l tle de trnsition 5. Tnt qu u moins une cse du tleu n est ps remplie : choisir une cse à remplir et clculer s vleur δ(p, α) ; si ucune ligne n est ssociée à cette vleur, commencer une nouvelle ligne étiquetée pr cette vleur. étts {1, } {1, 2} {1, 2}

12/2 Exemple : clcul de l tle de trnsition 5. Tnt qu u moins une cse du tleu n est ps remplie : choisir une cse à remplir et clculer s vleur δ(p, α) ; si ucune ligne n est ssociée à cette vleur, commencer une nouvelle ligne étiquetée pr cette vleur. étts {1, } {1, 2} {1, 2}

12/2 Exemple : clcul de l tle de trnsition 5. Tnt qu u moins une cse du tleu n est ps remplie : choisir une cse à remplir et clculer s vleur δ(p, α) ; si ucune ligne n est ssociée à cette vleur, commencer une nouvelle ligne étiquetée pr cette vleur. étts {1, } {1, 2} {1, 2} {2}

12/2 Exemple : clcul de l tle de trnsition 5. Tnt qu u moins une cse du tleu n est ps remplie : choisir une cse à remplir et clculer s vleur δ(p, α) ; si ucune ligne n est ssociée à cette vleur, commencer une nouvelle ligne étiquetée pr cette vleur. étts {1, } {1, 2} {1, 2} {2} {2}

12/2 Exemple : clcul de l tle de trnsition 5. Tnt qu u moins une cse du tleu n est ps remplie : choisir une cse à remplir et clculer s vleur δ(p, α) ; si ucune ligne n est ssociée à cette vleur, commencer une nouvelle ligne étiquetée pr cette vleur. étts {1, } {1, 2} {1, 2} {2} {1, } {2}

12/2 Exemple : clcul de l tle de trnsition 5. Tnt qu u moins une cse du tleu n est ps remplie : choisir une cse à remplir et clculer s vleur δ(p, α) ; si ucune ligne n est ssociée à cette vleur, commencer une nouvelle ligne étiquetée pr cette vleur. étts {1, } {1, 2} {1, 2} {2} {1, } {2}

12/2 Exemple : clcul de l tle de trnsition 5. Tnt qu u moins une cse du tleu n est ps remplie : choisir une cse à remplir et clculer s vleur δ(p, α) ; si ucune ligne n est ssociée à cette vleur, commencer une nouvelle ligne étiquetée pr cette vleur. étts {1, } {1, 2} {1, 2} {2} {1, } {2} {1, }

12/2 Exemple : clcul de l tle de trnsition 5. Tnt qu u moins une cse du tleu n est ps remplie : choisir une cse à remplir et clculer s vleur δ(p, α) ; si ucune ligne n est ssociée à cette vleur, commencer une nouvelle ligne étiquetée pr cette vleur. étts {1, } {1, 2} {1, 2} {2} {1, } {2} {1, }

12/2 Exemple : clcul de l tle de trnsition 5. Tnt qu u moins une cse du tleu n est ps remplie : choisir une cse à remplir et clculer s vleur δ(p, α) ; si ucune ligne n est ssociée à cette vleur, commencer une nouvelle ligne étiquetée pr cette vleur. étts {1, } {1, 2} {1, 2} {2} {1, } {2} {1, }

1/2 Exemple : mrquer l étt initil étts {1, } {1, 2} {1, 2} {2} {1, } {2} {1, }

14/2 Exemple : mrquer les étts d ccepttion étts {1, } {1, 2} {1, 2} {2} {1, } {2} {1, }

15/2 Exemple : l utomte déterministe correspondnt étts {1, } {1, 2} {1, 2} {2} {1, } {2} {1, } {1,} {1,2}, {2}

16/2 Complexité L déterministion est une opértion fondmentlement exponentielle. En effet, il existe des utomtes non déterministes, pour lesquels tout utomte déterministe reconnissnt le même lngge contient un nomre exponentiel d étt. Pr exemple, pour n entier, le lngge ( + ) ( + ) n 1 des mots sur {, } dont l n-ième lettre vnt l fin est un est reconnu pr un utomte non déterministe à n + 1 étts (Q = {0,..., n}, D = {0}, F = {n}, δ = {(0,, 0), (0,, 0), (0,, 1)} {(i 1,, i), (i 1,, i) i {1,..., n}}), mis tout utomte déterministe doit contenir u moins 2 n étts (il fut un étt pour le mot vide et un étt pour chque mot de l forme u vec u n pour chque mot de longueur u plus n 1). Tester si un utomte est déterministe peut se fire en temps polynômil.

17/2 Utilistion d utomtes déterministes : complémenttion Complémenttion Soit Aut = <A, Q, {d}, F, δ > un utomte fini déterministe complet reconnissnt un lngge L. Le lngge A \ L (complémentire de L dns A ) est reconnu pr l utomte Aut = <A, Q, {d}, Q \ F, δ >. Aucune trnsition n ynt été enlevée ou joutée, cet utomte est églement déterministe complet.

18/2 Remrques Le fit que l utomte soit ici déterministe est fondmentl. Exemple : A = {}, Q = {1, 2, }, D = {1}, F = {2}, δ = {(1,, 1), (1,, 2), (2,, )}. Cet utomte reconnît +. Si on prend F = {1, } on otient un utomte qui reconnît et non {ε} le complémentire ttendu. Le fit que l utomte soit ici complet est églement fondmentl (ici l lphet de référence joue églement un rôle cpitl). Exemple : A = {, }, Q = {1} = D = F, δ = {(1,, 1)}. L complémenttion v reconnître l ensemle vide et non tous les mots contennt u moins un. Tous les étts de l utomte résultt ne seront ps nécessirement co-ccessiles même s ils l étient u déprt.

19/2 Complexité Étnt donné un utomte de n étts, l complexité de l complémenttion est en O(n) si on ne fit ps une copie de l utomte. Elle est en O(n 2 ) sinon.

20/2 Utilistion pour l intersection Étnt donnés deux utomtes reconnissnt des lngges L 1 et L 2, existe-t-il un lgorithme qui permet de construire un utomte reconnissnt l intersection L 1 L 2? Oui! Cel peut se fire vec des utomtes déterministes, en otennt un utomte déterministe. L idée est de suivre simultnément des chemins dns les deux utomtes. L même technique permet de construire un utomte déterministe reconnissnt l union de deux lngges reconnus pr des utomtes déterministes.

21/2 Union et intersection déterministe Soient Aut 1 = <A, Q 1, {d 1 }, F 1, δ 1 > et Aut 2 = <A, Q 2, {d 2 }, F 2, δ 2 > deux utomtes finis déterministes complets reconnissnt les lngges L 1 et L 2. Les lngges L 1 L 2 et L 1 L 2 sont respectivement reconnus pr les utomtes finis déterministes complets et où : Aut = <A, Q 1 Q 2, {(d 1, d 2 )}, F, δ > Aut = <A, Q 1 Q 2, {(d 1, d 2 )}, F, δ > δ = {((p1, p 2 ),, (q 1, q 2 )) (p 1,, q 1 ) δ 1, (p 2,, q 2 ) δ 2 } ; F = F 1 F 2 (un mot est dns L 1 L 2 s il est ccepté pr Aut 1 et Aut 2 ) ; F = (F 1 Q 2 ) (Q 1 F 2 ) (un mot est dns L 1 L 2 s il est ccepté pr Aut 1 ou Aut 2 ).

22/2 Remrques Là encore, le fit que les utomtes soient complets est cpitl pour l union. Pour l union, l utomte plus d étt que pour l union non déterministe vue précédemment. Tous les étts de l utomte d union (et fortiori pour l intersection) ne sont ps nécessirement ccessiles et co-ccessiles. Si n 1 et n 2 sont les nomres d étts respectifs du premier et du deuxième utomte, lors les lgorithmes précédents sont en O(n 2 1 n2 2 ).

2/2 Conséquences Proposition : L fmille des lngges rtionnels (resp. reconnissles) est close pr intersection et complémenttion. L 1 \ L 2 = L 1 (A \ L 2 ). L 1 \ L 2 est clculle pr les lgorithmes précédents. L proposition précédente explique l usge d expressions régulières étendues dns les logiciels vec possiilité d intersection et de complémenttion Cel permet une plus grnde fcilité d expression Pr exemple, pour les identifints de vriles, il est plus fcile d exclure tous les mots clefs plutôt que de prévoir directement une expression rtionnelle ou un utomte représentnt le lngge