4. Les langages rationnels

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

Algorithmes récursifs

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

Rappel sur les bases de données

Cours d algorithmique pour la classe de 2nde

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

Utilisation des tableaux sémantiques dans les logiques de description

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

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

UML (Paquetage) Unified Modeling Language

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

Cours d Analyse. Fonctions de plusieurs variables

Tâche complexe produite par l académie de Clermont-Ferrand. Mai 2012 LE TIR A L ARC. (d après une idée du collège des Portes du Midi de Maurs)

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Grammaires d unification

Évaluation et implémentation des langages

Journée_: Modules HoraireEpreuve

LES GENERATEURS DE NOMBRES ALEATOIRES

Glossaire des nombres

Deux disques dans un carré

Cours 1 : La compilation

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Mesure d angles et trigonométrie

Initiation à l algorithmique

Algèbre binaire et Circuits logiques ( )

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

MIS 102 Initiation à l Informatique

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

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Organigramme / Algorigramme Dossier élève 1 SI

Université de Bangui. Modélisons en UML

Les diagrammes de modélisation

UTILISER UN SITE COLLABORATIF

CONTRAT DE LICENCE D UTILISATION DU LOGICIEL MORPH M SOUS LA FORME MORPH M PYTHON

MABioVis. Bio-informatique et la

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

STAGE IREM 0- Premiers pas en Python

Enoncé et corrigé du brevet des collèges dans les académies d Aix- Marseille, Montpellier, Nice Corse et Toulouse en Énoncé.

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

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 =

Note de cours. Introduction à Excel 2007

Model checking temporisé

Systèmes décisionnels et programmation avancée

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

Cours No 3 : Identificateurs, Fonctions, Premières Structures de contrôle.

Le théorème de Thalès et sa réciproque

Compilation (INF 564)

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

chapitre 4 Nombres de Catalan

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Comment se servir de cet ouvrage? Chaque chapitre présente une étape de la méthodologie

IFT1215 Introduction aux systèmes informatiques

Logiciel Libre Cours 3 Fondements: Génie Logiciel

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Les chaînes de caractères

CHAPITRE VIII : Les circuits avec résistances ohmiques

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

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

Texte Agrégation limitée par diffusion interne

Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM)

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

Générer du code à partir d une description de haut niveau

JOURNEES SYSTEMES & LOGICIELS CRITIQUES le 14/11/2000. Mise en Œuvre des techniques synchrones pour des applications industrielles

Qu est-ce qu une probabilité?

Algorithme. Table des matières

TD1 Signaux, énergie et puissance, signaux aléatoires

INTRODUCTION AUX TECHNOLOGIES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES

Exercice 6 Associer chaque expression de gauche à sa forme réduite (à droite) :

Présentation du langage et premières fonctions

Calcul différentiel. Chapitre Différentiabilité

Conception des bases de données : Modèle Entité-Association

RE SOLUTIONS CHAPITRE 1

Faculté des sciences Département de mathématiques. Théorie des graphes

Algorithmique et Programmation Fonctionnelle

Consortium de recherche Value Stream Mapping Formation

VÉRIFICATION DES SYSTÈMES À PILE AU MOYEN DES ALGÈBRES DE KLEENE

8.1 Généralités sur les fonctions de plusieurs variables réelles. f : R 2 R (x, y) 1 x 2 y 2

CAHIER DES CHARGES GESTION DES STOCKS

Initiation à LabView : Les exemples d applications :

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

Introduction au datamining

Activités numériques [13 Points]

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

Chapitre 2 : Caractéristiques du mouvement d un solide

Cours 1 : Qu est-ce que la programmation?

Techniques d ordonnancement pour les SoC

IFT2255 : Génie logiciel

Continuité d une fonction de plusieurs variables

Pourquoi l apprentissage?

Formation Pédagogique 3h

O, i, ) ln x. (ln x)2

La Tête à Toto par Henri Bokilo

ALGORITHMIQUE ET PROGRAMMATION En C

Business Process Modeling (BPM)

FctsAffines.nb 1. Mathématiques, 1-ère année Edition Fonctions affines

RTDS G3. Emmanuel Gaudin

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

Diapo 1. Objet de l atelier. Classe visée. Travail en co-disciplinarité (identité et origine académique des IEN)

Transcription:

4. Les langages rationnels 4.1. Introduction aux langages rationnels 4.2. Les expressions régulières 4.3. Les automates d états finis Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 1/31

4.1. Introduction aux langages rationnels Langages rationnels ( regular languages ) Classe 3 de la hiérarchie de Chomsky : les plus simples, les plus rapides, et aussi les moins puissants. Ils servent - en compilation à assurer l analyse lexicale (segmentation d un flot de caractères en mots ) - pour la recherche de motifs - pour le traitement de texte - etc. Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 2/31

4.1. Introduction aux langages rationnels Ces langages sont caractérisés de plusieurs façons : ils sont : 1 engendrés par une grammaire régulière. 2 décrits par une expression régulière. 3 engendrés par un automate d états finis. Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 3/31

4.2. Les expressions régulières Une expression régulière décrit un langage rationnel avec une syntaxe particulière, et correspond à une grammaire régulière. Exemples d expressions régulières sur Σ = {a, b} : 1 (a + b) est l ensemble des mots sur {a, b} 2 (a + b) aa(a + b) : correspond à S AaaA; A aa ba ɛ 3 b + aa(a + b) : Ensemble des mots sur l alphabet Σ = {a, b} qui commencent par un ou plusieurs b, suivis du facteur aa. Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 4/31

4.2. Les expressions régulières Une expression régulière est une expression algébrique qui permet de décrire un langage rationnel. Définition Définition inductive des expressions régulières : - Base :, ɛ et les caractères de Σ sont des expressions régulières, représentant respectivement les langages,{ɛ}, {x} si x Σ. - Règles : si r et s sont des expressions régulières représentant les langages R et S, alors (r + s), r.s, r et r + sont des expressions régulières représentant respectivement les langages R S, R.S, R et R +. En anglais : regular expression Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 5/31

4.2. Les expressions régulières On notera L(r) le langage (rationnel) décrit par l expression régulière r, et on dira que r engendre le langage L(r). Souvent, par abus de langage, on confond expression régulière et langage engendré! Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 6/31

4.2. Les expressions régulières Remarques : - r + s se note aussi r s. - r.s se note aussi rs. - a précédence sur + : a + b s interprète comme (a + (b )) Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 7/31

4.2. Les expressions régulières Un même langage rationnel peut être décrit par plusieurs expressions régulières différentes. Exemple : langage des mots sur Σ = {a, b} contenant le facteur aa : r = (a + b) aa(a + b) s = (b + ab) aa(a + b) On a L(r) = L(s) Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 8/31

4.2. Les expressions régulières Définition Si L(r)=L(s), on dira que r et s sont des expressions régulières équivalentes, noté r s. Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 9/31

4.2. Les expressions régulières Propriétés : 1 (r ) = r 2 r(r ) = (r )r = r + 3 (a b ) = (a + b) Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 10/31

4.2. Les expressions régulières Théorème Un langage est rationnel si et seulement si il existe une expression régulière le reconnaissant. Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 11/31

Les automates d états finis (AEF) (en anglais : Finite State Automata ou FA) Ce sont les machines reconnaissant les langages rationnels. Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 12/31

Un système à états finis est un modèle mathématique discret. Il est composé d un nombre fini de configurations, appelées des états, et d actions permettant de passer d un état à un autre. Les automates d états finis sont des systèmes à états finis particuliers. Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 13/31

Un automate d états finis est un graphe orienté fini dont les arcs sont étiquetés. Il est composé : 1 d un nombre fini de configurations (les états), qui sont les sommets du graphe 2 d actions permettant de passer d un état à un autre (ces actions étiquettent les arcs du graphe) Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 14/31

Principe (informel) : On part de l état initial (q 0 ) et on parcourt le graphe jusqu à ce qu on décide de s arrêter sur un état final (ici q 2 ou q 4, symbolisés par un double cerclage). Ce parcours définit un mot du langage reconnu par l automate. Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 15/31

Le parcours définit le mot aabba. Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 16/31

Formellement, un automate d états finis est défini par : - un nombre fini d états Q (les sommets du graphe) - un alphabet Σ. - un ensemble fini δ de transitions (les arcs du graphe), étiquetés chacune par une (ou plusieurs) lettre(s) de Σ ou par ɛ ; on peut avoir des boucles de réflexivité. Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 17/31

Parmi les états de Q, on distingue : l état initial q 0 (il y a exactement un état initial) les états finaux, qui constituent l ensemble F (il peut y avoir plusieurs ou même aucun état final) Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 18/31

Etiquetage de l état initial et des états finaux : 1 l état initial est noté par une flèche 2 les états finaux ont un double cerclage Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 19/31

Formellement : Définition Un automate d états finis est un quintuplet A = (Q, Σ, δ, q 0, F ), où : 1 Q est un ensemble d états (de cardinal fini) 2 Σ est un alphabet (de cardinal fini) 3 δ est une fonction de transition (qui permet de passer d un état à un autre) 4 q 0 Q est l état initial 5 F Q est l ensemble des états finaux Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 20/31

Exemple classique d un automate (extrait du livre de Hopcroft and Ullman : Introduction to Automata Theory, Languages and Computation) Le problème du passeur, du loup, de la chèvre et du chou. Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 21/31

Question : Quel est l ensemble des solutions qui permettent au passeur d emmener de la rive droite à la rive gauche le chou, la chèvre et le loup, avec une barque ne pouvant contenir que l un des trois, sans laisser seuls ensemble ni le loup et la chèvre, ni la chèvre et le chou? Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 22/31

(M - Man), le loup (W - Wolf), la chèvre (G - Goat) et le chou (C - Cabbage). Cet automate modélise toutes les solutions possibles. Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 23/31

On peut déduire de cette modélisation par automate d états finis : 1 qu il y a une solution au problème. 2 qu il y a deux plus courtes solutions étiquetées GMWGCMG et GMCGWMG. 3 qu il existe une infinité de solutions (le langage engendré par l automate est infini). Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 24/31

Définition Lorqu un arc d un automate d états finis est étiqueté par le mot vide ɛ (souvent noté par l absence d un caractère), il correspond à une ɛ-transition. Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 25/31

Définition On dit qu un automate d états finis A = (Q, Σ, δ, q 0, F ) accepte un mot ω de Σ si et seulement si il existe (au moins) un chemin dans A allant de q 0 à un état final, étiqueté par les lettres successives de ω, entre lesquelles on a éventuellement intercalé des occurences de ɛ. Le langage L(A) reconnu par A est l ensemble des mots que A accepte. Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 26/31

Exemple 1 : langage reconnu : L(A) = {ab, ac} Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 27/31

Exemple 2 : langage reconnu : aab a + b + On peut avoir 2 transitions possibles avec la même lettre : ici sur q 2, 2 transitions avec b. Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 28/31

On définit la table de transitions d un automate d états finis A = (Q, Σ, δ, q 0, F ), qui décrit la fonction de transition δ. Sur l exemple 2 : a b q 0 {q 1 } {q 2 } q 1 {q 3 } { } q 2 { } {q 2, q 4 } q 3 {q 4 } {q 3 } q 4 { } { } Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 29/31

On peut utiliser un état poubelle, vers lequel on envoie toutes les transitions non définies. Souvent, cet état poubelle est implicite. Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 30/31

On va voir qu il existe plusieurs sortes d AEF. Anne Berry, Cours de Théorie des Langages Partie 1 : 4. Langages rationnels 31/31