Un automate à états fini



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

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

Problèmes de Mathématiques Filtres et ultrafiltres

Logiciel de Base. I. Représentation des nombres

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

V- Manipulations de nombres en binaire

Théorie des Langages

Coefficients binomiaux

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

EVALUATION Nombres CM1

Dérivation : cours. Dérivation dans R

Glossaire des nombres

Objets Combinatoires élementaires

Premiers exercices d Algèbre. Anne-Marie Simon

STAGE IREM 0- Premiers pas en Python

UML (Diagramme de classes) Unified Modeling Language

Le chiffre est le signe, le nombre est la valeur.

L ARBORESCENCE. Qu est-ce qu un dossier? L arborescence?

Algorithmes récursifs

Initiation à LabView : Les exemples d applications :

Organigramme / Algorigramme Dossier élève 1 SI

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Probabilités sur un univers fini

Plus courts chemins, programmation dynamique

Chapitre 2. Eléments pour comprendre un énoncé

Algorithme. Table des matières

Fonctions linéaires et affines. 1 Fonctions linéaires. 1.1 Vocabulaire. 1.2 Représentation graphique. 3eme

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

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

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

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

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)

Structures algébriques

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

Cours d algorithmique pour la classe de 2nde

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

Application en classe de la progression des apprentissages en musique 1 er cycle du secondaire

Université Paris-Dauphine DUMI2E 1ère année, Applications

Chapitre 1 Qu est-ce qu une expression régulière?

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

Model checking temporisé

Initiation à la programmation en Python

Les chaînes de caractères

Les intermédiaires privés dans les finances royales espagnoles sous Philippe V et Ferdinand VI

CCI Génie Logiciel UFR - IMA. Objectifs du cours d'aujourd'hui. Génie Logiciel Validation par le test. Qu est-ce que tester un programme?

Excel 2007 Niveau 3 Page 1

Recherche dans un tableau

Algorithmique et Programmation Fonctionnelle

Cours de Probabilités et de Statistique

LES GENERATEURS DE NOMBRES ALEATOIRES

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Probabilités. I Petits rappels sur le vocabulaire des ensembles 2 I.1 Définitions... 2 I.2 Propriétés... 2

Logique : ENSIIE 1A - contrôle final

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

1 Introduction au codage

CORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!»

INTRODUCTION AUX TECHNOLOGIES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES

Comment automatiser la création d index multiples avec Word Paul-Henri Dumas - URFIST

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

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

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

Rappels Entrées -Sorties

Pour l épreuve d algèbre, les calculatrices sont interdites.

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

LE PROCESSUS ( la machine) la fonction f. ( On lit : «fonction f qui à x associe f (x)» )

Algorithmique et programmation : les bases (VBA) Corrigé

Polynômes à plusieurs variables. Résultant

chapitre 4 Nombres de Catalan

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

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.

Machines virtuelles Cours 1 : Introduction

Qu est-ce qu une probabilité?

Cours de Génie Logiciel

Représentation d un entier en base b

Liste des applications suggérées aux parents Tablettes tactiles Android et ipad

CONFIGURATION DE L AUTOMATE SIEMENS

Dérivation CONTENUS CAPACITÉS ATTENDUES COMMENTAIRES

Compter à Babylone. L écriture des nombres


Théorie et Codage de l Information (IF01) exercices Paul Honeine Université de technologie de Troyes France

Activités numériques [13 Points]

Cours Numération Mathématique de base 1 MAT-B Alphabétisation

GOL502 Industries de services

Feuille d exercices 2 : Espaces probabilisés

Cours 1 : Qu est-ce que la programmation?

Étude des formes de pratiques de la gymnastique sportive enseignées en EPS à l école primaire

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

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

Limites finies en un point

TP, première séquence d exercices.

KM2 W1 EVC1 M3~ Manuel AUTOMSIM API 24V. BP Dcy 1MINI 1MAXI.

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

Quantification Scalaire et Prédictive

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

MANUEL L I A I S O N B A N C A I R E C O D A D O M I C I L I A T I O N S I S A B E L 6

Programmation linéaire

MIS 102 Initiation à l Informatique

Puissances d un nombre relatif

Initiation à la Programmation en Logique avec SISCtus Prolog

Equations cartésiennes d une droite

Transcription:

Automates à états et langages Notion d automate Langage reconnu par un automate Automates non déterministes Expressions régulières et automates Limites des automates Notion d automate Objectif : définir formellement (modéliser) un mécanisme qui peut prendre une décision. Quel type de décision? entrée : une séquence de symboles sortie (réponse) : oui ou non (acceptation ou rejet) Idée du fonctionnement L automate possède des états Il lit les symboles un à un (à partir de la gauche) La lecture d un symbole * fait passer l automate dans un autre état * en fonction d une table On regarde l état atteint après lecture de tous les symboles Un automate à états fini symboles : b, o états : q1, q2, q3, q4 états finals : q3 état initial : q1 d(b, q1) = q2, d(b, q2) = q3 d(b, q3) = q4, d(b, q4) = q4 d(o, q1) = q4, d(o, q2) = q2 d(o, q3) = q4, d(o, q4) = q4 1

Automate - définition Un AF est composé de 1. un alphabet de symboles reconnus A = s1, s2,..., sn 2. un ensemble d états Q = q1, q2,..., qm (les ronds) 3. un état initial appartenant à Q 4. un ensemble F d états finals inclus dans Q 5. une fonction de transition d de Q x A dans Q (les flèches) Analyse d une chaîne Analyse d une chaîne 2

Analyse d une chaîne Analyse d une chaîne 3

Analyse d une chaîne Analyse d une chaîne 4

Analyse d une chaîne Acceptation d une chaîne Le traitement d une chaine de symbole u = [t 1 t 2...t k ] par un automate consiste à faire e := état initial ; répéter pour i allant de 1 à k { e := d(e, t i ) } ; si e appartient à F accepter u sinon rejeter u 5

Définition formelle de l acceptation Une chaine X = x 0 x 1... x n est acceptée si et seulement si il existe une séquence d états r 0, r 1,..., r n telle que : 1. r 0 est l état initial 2. r i+1 = d(r i, x i ), pour i = 0,... n 1 3. r n F (l ensemble des états finals) Langage accepté par un automate Un vocabulaire A est un ensemble de symboles (p.ex. des lettres ou des chiffres ou des noms ou...) A Une chaîne sur A est une suite finie de symboles de A On note A l ensemble (en général infini) de toutes les chaînes possibles sur Un langage sur le vocabulaire A est un sous-ensemble de A Le langage L(M) accepté par un automate M est l ensemble des chaînes acceptées par M Exemple Langage accepté L(M) = a, aba, ababa, abababa,... Exemple - 2 6

Langage accepté L(M) =? Langage régulier On dit qu un langage L est régulier s il existe un automate M tel que L = L(M), c-à-d un automate qui accepte les chaines de L et seulement celles-ci. Exemles / exercices Les langages suivants sont réguliers : 1. les chaines sur {a, b} qui commencent par aa et se terminent par bb ; 2. les chaines sur {a, b} qui se terminent par baba ; 3. les chaines sur {a, b} qui se terminent par bbab ; 4. les chaines sur{a} qui ont au plus 5 symboles ; 5. les chaines sur {a, b, c} où chaque c est précédé de deux a ; 6. les chaines sur {0, 1} qui, interprétées comme des nombres en base 2, sont des multiples de 5 ; 7. les chaines formées de 6k +1fois le symbole a (k entier positif quelconque). Automates non déterministes 1) La fonction de transition est multivaluée, pour un état e et un symbole s il peut y avoir plusieurs états successeurs : d(e, s) = {e 1, e 2,..., e n } 2) L automate peut avoir des transitions ɛ qui mènent d un état à un autre sans consommer un seul symbole. Par conséquent : Il y a plusieurs manière d analyser une chaine, Si l une d elles conduit à un état final, la chaine est acceptée. 7

Exemple Fonctionnement d un AFND Une description instantannée d un automate est une paire (<état>, <chaine restant à analyser>) On définit ensuite la transition d une description à une autre par les règles suivantes : (e, ax) (f, x) si f d(e, a) (e, x) (f, x) si f d(e, ɛ) Acceptation dans un AFND Une chaine w est acceptée s il existe une séquence de descriptions où q f est un état final. s 0 = (q 0, w) s 1 s 2... s f = (q f, <vide>) Autrement dit : s il y a un moyen d atteindre un état final en lisant toute la chaîne d entrée. Exemple Automate non déterministe pour reconnaître les chaînes de a et b se terminant par bbab 8

Exemple : acceptation de babbab s0 = (q1, babbab) (q1, abbab) (q1, bbab) (q2, bab) (q3, ab) (q4, b) (q5, <vide>) accepte Les non déterministes ne sont pas si forts On peut toujours trouver un AFD équivalent à un AFND donné Exemple Construction d un AFD équivalent à un AFND (I) 1. Construire un automate non déterministe sans transitions ɛ a) Ajouter des transitions pour remplacer toutes les chaines de ɛ b) Rendre final tout état qui atteint un final par des ɛ c) Eliminer les transitions ɛ d) Eliminer les états atteignable uniquement par des transitions ɛ Exemple 9

Construction (II) Etats Les états de l automate déterministe sont des ensembles d états de l automate non déterministe. Si l ensemble contient un état final il est lui-même final. Transitions S = s 1,..., s k un état de l AD a un symbole d(s, a) = l ensemble des états de l AFND atteignable avec le symbole a depuis l un des s i Exemple 10