5. Equivalences d automates



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

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

Théorie des Langages

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

Objets Combinatoires élementaires

La classification automatique de données quantitatives

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

2.4 Représentation graphique, tableau de Karnaugh

Introduction à la théorie des graphes. Solutions des exercices

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

Programmation linéaire

PROTEGER SA CLE USB AVEC ROHOS MINI-DRIVE

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

Théorie et codage de l information

La demande Du consommateur. Contrainte budgétaire Préférences Choix optimal

Continuité et dérivabilité d une fonction

Pourquoi l apprentissage?

Chapitre 5 : Flot maximal dans un graphe

Décision Markovienne appliquée à un jeu de stop ou encore : Pickomino (Heckmeck Am Bratwurmeck)

Plus courts chemins, programmation dynamique

Polynômes à plusieurs variables. Résultant

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

Model checking temporisé

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

chapitre 4 Nombres de Catalan

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

Définitions. Numéro à préciser. (Durée : )

Cours de Probabilités et de Statistique

Fondements de l informatique Logique, modèles, et calculs

Chp. 4. Minimisation d une fonction d une variable

Programmation Linéaire - Cours 1

Big Data et Graphes : Quelques pistes de recherche

Algorithmes d'apprentissage

Bien lire l énoncé 2 fois avant de continuer - Méthodes et/ou Explications Réponses. Antécédents d un nombre par une fonction

Excel 2007 Niveau 3 Page 1

Continuité d une fonction de plusieurs variables

Outils logiciels pour la combinaison de vérification fonctionnelle et d évaluation de performances au sein de CADP

LE MODELE CONCEPTUEL DE DONNEES

La fonction exponentielle

Etude d Algorithmes Parallèles de Data Mining

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

1S Modèles de rédaction Enoncés

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Système binaire. Algèbre booléenne

CHOIX OPTIMAL DU CONSOMMATEUR. A - Propriétés et détermination du choix optimal

Big Data et Graphes : Quelques pistes de recherche

Cours de mathématiques

Cryptographie et fonctions à sens unique

Théorie de la Mesure et Intégration

Etude d un cas industriel : Optimisation de la modélisation de paramètre de production

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

Calcul différentiel sur R n Première partie

Deux disques dans un carré

Diagramme de classes

Algorithme. Table des matières

Planche n o 22. Fonctions de plusieurs variables. Corrigé

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

1.1 Rappels sur le produit cartésien Relations Graphes dirigés Arbres Exercices Motivation...

Bases de données cours 4 Construction de requêtes en SQL. Catalin Dima

TABLEAU CROISE DYNAMIQUE

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Calculabilité Cours 3 : Problèmes non-calculables.

Algèbre binaire et Circuits logiques ( )

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

LES DIFFERENTS TYPES DE MESURE

IFT1215 Introduction aux systèmes informatiques

Rappels sur les suites - Algorithme

point On obtient ainsi le ou les points d inter- entre deux objets».

Algorithmique des Systèmes Répartis Protocoles de Communications

Le contexte. Le questionnement du P.E.R. :

Construction d un cercle tangent à deux cercles donnés.

LES TYPES DE DONNÉES DU LANGAGE PASCAL

GUIDE D UTILISATION. Gestion de compte. à destination des intermédiaires

Premiers exercices d Algèbre. Anne-Marie Simon

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable

Probabilité. Table des matières. 1 Loi de probabilité Conditions préalables Définitions Loi équirépartie...

Encryptions, compression et partitionnement des données

Aspects théoriques et algorithmiques du calcul réparti L agglomération

Section «Maturité fédérale» EXAMENS D'ADMISSION Session de février 2014 RÉCAPITULATIFS DES MATIÈRES EXAMINÉES. Formation visée

Géométrie Algorithmique Plan du cours

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.

SUR CERTAINS SYSTEMES D EQUATIONS AVEC CONTRAINTES DANS UN GROUPE LIBRE (*)

Introduction au maillage pour le calcul scientifique

Résolution d équations non linéaires


Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

TP 2 Réseaux. Adresses IP, routage et sous-réseaux

Installation d un Contrôleur de Domaine Windows Server 2003

MIS 102 Initiation à l Informatique

Les emprunts indivis. Administration Économique et Sociale. Mathématiques XA100M

Chapitre 3. Mesures stationnaires. et théorèmes de convergence

Problème 1 : applications du plan affine

Programmation linéaire et Optimisation. Didier Smets

Les algorithmes de base du graphisme

Date : 16 novembre 2011 Version : 1. 2 Nombre de pages : 13

EN BLANC AVANT IMPRESSION»»»

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

1 Première section: La construction générale

Mesure d angles et trigonométrie

Transcription:

5. Equivalences d automates 5.1. Le problème du déterminisme 5.2. Différentes sortes d AEF 5.3. Déterminisation d un AEF 5.4. Déterminisation d un AEF avec ɛ-transitions 5.5. Minimisation d un AEF déterministe Anne Berry, Cours de Théorie des Langages Partie 1 : 5. Equivalences d automates 1/34

5. Equivalences d automates il existe plusieurs types d Automates d Etats Finis ils sont équivalents Anne Berry, Cours de Théorie des Langages Partie 1 : 5. Equivalences d automates 2/34

5.1. Le problème du déterminisme La définition d un automate d états finis n interdit pas les conflits. L = aab a + ab b Comment doit-on interpréter δ(q 0, a)? Anne Berry, Cours de Théorie des Langages Partie 1 : 5. Equivalences d automates 3/34

5.1. Le problème du déterminisme Le choix est non-déterministe. Anne Berry, Cours de Théorie des Langages Partie 1 : 5. Equivalences d automates 4/34

5.1. Le problème du déterminisme Définition Un automates d états finis déterministe (AEFD) (en anglais : Deterministic Finite Automaton (DFA) ) est un automate d états finis tel que, de chaque état q Q, il part Σ transitions, une pour chacune des lettres de l alphabet Σ. 1 dans la pratique, les transitions absentes partent vers l état poubelle, qui souvent est implicite. 2 pas d ɛ-transition! Anne Berry, Cours de Théorie des Langages Partie 1 : 5. Equivalences d automates 5/34

5.1. Le problème du déterminisme Exemple d automate déterministe : Anne Berry, Cours de Théorie des Langages Partie 1 : 5. Equivalences d automates 6/34

5.2. Différentes sortes d AEF On définit 3 sortes d automates d états finis : 1 les automates d états finis déterministes 2 les automates d états finis non-déterministes avec ɛ-transition (NFA-ɛ) 3 les automates d états finis non-déterministes sans ɛ-transition (NFA-W, W pour Without ) Anne Berry, Cours de Théorie des Langages Partie 1 : 5. Equivalences d automates 7/34

5.2. Différentes sortes d AEF Théorème La classe des langages reconnus par : - les automates d états finis déterministes - les automates d états finis non-déterministes sans ɛ-transition - les automates d états finis non-déterministes avec ɛ-transition est la même : celle des langages rationnels. Preuve : constructive (algorithmes de passage d un type d AEF à un autre) Anne Berry, Cours de Théorie des Langages Partie 1 : 5. Equivalences d automates 8/34

5.3. Déterminisation d un AEF sans ɛ-transition On part d un AEF non déterministe A 1 = (Q, Σ, δ, q 0, F ) sans ɛ-transition. On calcule un automate d états finis déterministe A 2 = (Q, Σ, δ, Q 0, F ), avec Q 0 = {q 0} Anne Berry, Cours de Théorie des Langages Partie 1 : 5. Equivalences d automates 9/34

5.3. Déterminisation d un AEF sans ɛ-transition Principe : On construit les états et la table de transition de δ : 1 On construit la table de transition de δ (qui comporte des ensembles d états) 2 Initialisation de δ - on commence par Q 0 ={q 0} - on applique chaque caractère x de Σ à Q 0 - on obtient un ensemble d états qui est sera état de Q Anne Berry, Cours de Théorie des Langages Partie 1 : 5. Equivalences d automates 10/34

5.3. Déterminisation d un AEF sans ɛ-transition 3 Construction de δ - on choisit un état Q de Q non encore traité - on applique chaque caractère x de Σ chaque état de Q avec δ - on obtient un ensemble d états 1 si cet ensemble ne correspond pas à un été déjà défini de Q, on crée un nouvel état (final) de Q 4 les états finaux de A 2 sont ceux qui contiennent au moins un état de F Anne Berry, Cours de Théorie des Langages Partie 1 : 5. Equivalences d automates 11/34

5.3. Déterminisation d un AEF sans ɛ-transition Algo DETERMINISATION Donnee : un automate A 1 = (Q, Σ, δ, q 0, F ) Resultat : un automate déterministe A 2 = (Q, Σ, δ, Q 0, F ). Initialisation : Q 0 {q 0};ATRAITER Q 0 = {q 0} ; Q {Q 0 } ; tant que ATRAITER faire CHOISIR Q dans ATRAITER ; ATRAITER ATRAITER - Q ; pour chaque caractère x de Σ faire pour chaque état Q de Q faire δ (Q, x) δ (Q, x) δ(q, x) ; si δ (Q, x) n est pas un état de Q alors Q δ (Q, x) ; Q Q + {Q } ; ATRAITER ATRAITER + {Q } ; pour chaque état Q de Q contenant un état de F faire AJOUTER Q à F ; Retourner((Q, Σ, δ, Q 0, F )). Anne Berry, Cours de Théorie des Langages Partie 1 : 5. Equivalences d automates 12/34

5.3. Déterminisation d un AEF sans ɛ-transition Exemple : L = {ab, ac} δ a b c q 0 {q 1,q 3 } { } { } q 1 { } {q 2 } { } q 2 { } { } { } q 3 { } { } {q 4 } q 4 { } { } { } Anne Berry, Cours de Théorie des Langages Partie 1 : 5. Equivalences d automates 13/34

5.3. Déterminisation d un AEF sans ɛ-transition Initialisation : Q 0 = {q 0} δ (Q 0, a) = {q 1, q 3 } : on crée un nouvel état Q 1 = {q 1, q 3 } δ (Q 0, b) = { } ; δ (Q 0, c) = { } Anne Berry, Cours de Théorie des Langages Partie 1 : 5. Equivalences d automates 14/34

5.3. Déterminisation d un AEF sans ɛ-transition On a un état Q 1 = {q 1, q 3 } qui n est pas traité : δ (Q 1, a) = δ (Q 0, b) = {q 2} : on crée un nouvel état Q 2 = {q 2} δ (Q 0, c) = {q 4} : on crée un nouvel état Q 3 = {q 4} Anne Berry, Cours de Théorie des Langages Partie 1 : 5. Equivalences d automates 15/34

5.3. Déterminisation d un AEF sans ɛ-transition On traite l état Q 2 = {q 2} : δ (Q 2, a) = δ (Q 2, b) = δ (Q 2, c) = On traite l état Q 3 = {q 4} : δ (Q 3, a) = δ (Q 3, b) = δ (Q 3, c) = Etats finaux : Q 2 parce qu il contient q 2, et Q 3 parce qu il contient q 4. Anne Berry, Cours de Théorie des Langages Partie 1 : 5. Equivalences d automates 16/34

5.3. Déterminisation d un AEF sans ɛ-transition A la fin, on obtient : δ a b c q 0 {q 1,q 3 } { } { } q 1 { } {q 2 } { } q 2 { } { } { } q 3 { } { } {q 4 } q 4 { } { } { } δ a b c Q 0 ={q 0} {q 1,q 3 }=Q 1 { } { } Q 1 ={q 1,q 3 } { } {q 2 }=Q 2 {q 4 }=Q 3 Q 2 =q 2 { } { } { } Q 3 =q 4 { } { } { } Anne Berry, Cours de Théorie des Langages Partie 1 : 5. Equivalences d automates 17/34

5.3. Déterminisation d un AEF sans ɛ-transition Remarque : Etant donné un AEF non déterministe à k états, l AEF déterministe correspondant peut avoir 2 k états. Anne Berry, Cours de Théorie des Langages Partie 1 : 5. Equivalences d automates 18/34

5.4. Déterminisation d un AEF avec ɛ-transitions On étend la technique de déterminisation en étendant la fonction de transition δ (Q i, x) à une fonction donnée par les mots ɛ xɛ. Anne Berry, Cours de Théorie des Langages Partie 1 : 5. Equivalences d automates 19/34

5.4. Déterminisation d un AEF avec ɛ-transitions Définition On appelle ɛ-fermeture d un état q l ensemble des états q i atteignables à partir de q par un chemin étiqueté uniquement par le mot vide ɛ. Définition On appelle ɛ-fermeture d un ensemble Q d états l union des ɛ-fermetures des états appartenant à Q. Anne Berry, Cours de Théorie des Langages Partie 1 : 5. Equivalences d automates 20/34

5.4. Déterminisation d un AEF avec ɛ-transitions Exemple : a b c ɛ-fermeture(q 0 ) = {q 0, q 1, q 2 } ɛ-fermeture(q 1 ) = {q 1, q 2 } ɛ-fermeture(q 2 ) = {q 2 } Anne Berry, Cours de Théorie des Langages Partie 1 : 5. Equivalences d automates 21/34

5.4. Déterminisation d un AEF avec ɛ-transitions Principe de déterminisation : Pour un état Q de l AEF déterministe en cours de calcul : 1 On part de l ɛ-fermeture de Q. 2 On calcule δ(q ) 3 On calcule l ɛ-fermeture de δ(q ) 4 On obtient un état du nouvel automate Les états finaux du nouvel automate sont ceux qui contiennent au moins un état de l automate de départ. Anne Berry, Cours de Théorie des Langages Partie 1 : 5. Equivalences d automates 22/34

5.4. Déterminisation d un AEF avec ɛ-transitions Exemple : δ a b c ɛ q 0 {q 0 } { } { } {q 0,q 1,q 2 } q 1 { } {q 1 } { } {q 1,q 2 } q 2 { } { } {q 2 } {q 2 } Construction de δ, Q 0 =ɛ-fermeture(q 0)={q 0,q 1,q 2 } Anne Berry, Cours de Théorie des Langages Partie 1 : 5. Equivalences d automates 23/34

5.4. Déterminisation d un AEF avec ɛ-transitions δ a b c Q 0 = {q 0, q 1, q 2 } {q 0 } Q 0 {q 1 } {q 1,q 2 }=Q 1 {q 2 } {q 2 }= Q 1 = {q 1, q 2 } { } {Q 1 } {Q 2 } Q 2 = {q 2} { } { } {Q 2 } Anne Berry, Cours de Théorie des Langages Partie 1 : 5. Equivalences d automates 24/34

5.4. Déterminisation d un AEF avec ɛ-transitions Tous les états sont finaux, on obtient l automate : Anne Berry, Cours de Théorie des Langages Partie 1 : 5. Equivalences d automates 25/34

5.5. Minimisation d un AEF déterministe Théorème (de Nérode - Myhill) : Pour un langage rationnel donné L, il existe un automate d états finis déterministe canonique (uniquement défini), et qui comporte un nombre minimum d états, reconnaissant L. Il existe un algorithme très efficace de minimisation. Anne Berry, Cours de Théorie des Langages Partie 1 : 5. Equivalences d automates 26/34

5.5. Minimisation d un AEF déterministe Principe de minimisation d un automate d états finis déterministe : utilise le principe algorithmique d éclatement de partitions. Anne Berry, Cours de Théorie des Langages Partie 1 : 5. Equivalences d automates 27/34

5.5. Minimisation d un AEF déterministe Rappel : une partition d un ensemble est la définition d un ensemble de classes, tel que l union de toutes les classes est l ensemble de départ et l intersection de deux classes est vide (une partition correspond à une relation d équivalence) Principe algorithmique d éclatement de partitions (ou d affinement de partitions) 1 on part d une (ou plusieurs) (grandes) classes 2 on a un critère qui permet de partitionner un classe en plusieurs classes plus petites 3 on arête quand chaque classe obtenue est non-partitionnable Anne Berry, Cours de Théorie des Langages Partie 1 : 5. Equivalences d automates 28/34

5.5. Minimisation d un AEF déterministe Pour minimiser un AEF déterministe : 1 on retire les états non atteignables ; 2 on partitionne l ensemble des états en deux classes : 1 les états finaux 2 les états non finaux (y compris l état poubelle ) Anne Berry, Cours de Théorie des Langages Partie 1 : 5. Equivalences d automates 29/34

5.5. Minimisation d un AEF déterministe Etape d éclatement d une classe C i : 1 appliquer à C i une transition par un caractère x de Σ ; 2 séparer les éléments de C i qui n aboutissent pas à la même classe Anne Berry, Cours de Théorie des Langages Partie 1 : 5. Equivalences d automates 30/34

5.5. Minimisation d un AEF déterministe On répète jusqu à ce qu il n y ait plus d éclatement possible. A la fin, on a pour toute classe C i obtenue : x Σ, q, q C i, δ(q, x) = δ(q, x) On obtient la description d un nouvel AEF déterministe, dont l état initial est l état contenant q 0 et dont les états finaux sont les états contenant un état final de de l automate de départ. Anne Berry, Cours de Théorie des Langages Partie 1 : 5. Equivalences d automates 31/34

5.5. Minimisation d un AEF déterministe Exemple : L = {ab, ac} On part de C 1 = {q 3, q 4 } et C 2 = {q 0, q 2, } (C 1, a), (C 1, b), (C 1, c), (C 2, a) C 2 C 2, b : (q 0, b) C 2, (q 2, b) C 1, (q 2, c) C 1 On sépare C 2 = {q 0, q 2 } en C 2 = {q 0, } et C 2 = {q 2} etc. On obtient un automate d états finis déterministe à trois états : Anne Berry, Cours de Théorie des Langages Partie 1 : 5. Equivalences d automates 32/34

5.5. Minimisation d un AEF déterministe Algo MINIMISATION Donnee : un automate déterministe A 1 = (Q, Σ, δ, q 0, F ) Resultat : l automate déterministe minimum A 2 = (Q, Σ, δ, Q 0, F ). Initialisation : C {Q F, F } ; b 1 ; SUPPRIMER de A 1 les états non atteignables ; tant que b=1 faire b 0 ; pour chaque classe C de C faire pour chaque caractère x de Σ faire si par δ on n aboutit pas dans une même classe de C alors REMPLACER C dans C par les classes obtenues ; b 1 ; δ fonction de passage d une classe de C à une autre ; F ensemble des classes de C classes contenant au moins un état de F ; Retourner(C, Σ, δ, q 0, F ). Anne Berry, Cours de Théorie des Langages Partie 1 : 5. Equivalences d automates 33/34

5.5. Minimisation d un AEF déterministe Théorème Pour un langage rationnel L donné, il existe un unique automate d états fini déterministe minimum engendrant L. Conséquence fondamentale : Les langages rationnels sont non ambigüs. Anne Berry, Cours de Théorie des Langages Partie 1 : 5. Equivalences d automates 34/34