Automate à états finis. Faculté I&C, André Maurer, Claude Petitpierre



Documents pareils
Théorie des Langages

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

STAGE IREM 0- Premiers pas en Python

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

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre

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)

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

Problèmes de Mathématiques Filtres et ultrafiltres

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 =

Vers l'ordinateur quantique

Structures algébriques

5 ème Chapitre 4 Triangles

Initiation à la Programmation en Logique avec SISCtus Prolog

Géométrie dans l espace Produit scalaire et équations

1 radian. De même, la longueur d un arc de cercle de rayon R et dont l angle au centre a pour mesure α radians est α R. R AB =R.

GUIDE DU NOUVEL UTILISATEUR

Algorithmes récursifs

Calculateur de primes de l'ofsp Manuel

Les chaînes de caractères

Modèles de Calcul. Yassine Lakhnech. 2007/08 Université Joseph Fourier Lab.: VERIMAG. Modèles de Calcul Start p.

Les probabilités. Chapitre 18. Tester ses connaissances

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

Correction : E = Soit E = -1,6. F = 12 Soit F = y = 11. et G = -2z + 4y G = 2 6 = 3 G = G =

Représentation d un entier en base b

1 Définition et premières propriétés des congruences

LES INFORMATIONS GÉNÉRALES

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?

DOCM Solutions officielles = n 2 10.

LES TYPES DE DONNÉES DU LANGAGE PASCAL

LES DIFFERENTS TYPES DE MESURE

Activités numériques [13 Points]

TD3: tableaux avancées, première classe et chaînes

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN

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

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

TABLE DES MATIÈRES 1. DÉMARRER ISIS 2 2. SAISIE D UN SCHÉMA 3 & ' " ( ) '*+ ", ##) # " -. /0 " 1 2 " 3. SIMULATION 7 " - 4.

Théorie de la mesure. S. Nicolay

MEMOIRES MAGNETIQUES A DISQUES RIGIDES

Introduction au maillage pour le calcul scientifique

Module d échange de données INTERLIS v1.0 GeoConcept Manuel d'utilisation

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

TD3 - Facturation avec archivage automatisé

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

Les droites (d 1 ) et (d 2 ) sont sécantes en A Le point A est le point d intersection des 2 droites

1 Introduction au codage

CHAPITRE VIII : Les circuits avec résistances ohmiques

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

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

SOMMAIRE. Travailler avec les requêtes... 3

CIRCUIT DE CHARGE BOSCH

Magnum vous présente ses nouvelles gammes d'armoires électriques. Gamme Auto de 125A à 400A

Chapitre 10 Arithmétique réelle

I. Dispositions générales. Article premier : Le cimetière de Cotterd est le lieu officiel d inhumation de la commune de Bellerive.

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.

L informatique en BCPST

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

Initiation à la programmation en Python

Sommaire de la séquence 8

EXERCICES DE REVISIONS MATHEMATIQUES CM2

Relais d'arrêt d'urgence, protecteurs mobiles

Sèche-serviette réalisé avec des éléments horizontaux en acier de 20 mm de diamètre soudés par fusion avec des collecteurs de 34 mm de diamètre

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

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

Si deux droites sont parallèles à une même troisième. alors les deux droites sont parallèles entre elles. alors

Problème 1 : applications du plan affine

INF111. Initiation à la programmation impérative en C amini/cours/l1/inf111/ Massih-Reza Amini

Hébergement de site web Damien Nouvel

COMMUNICATEUR BLISS COMMANDE PAR UN SENSEUR DE POSITION DE L'OEIL

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

Analyse Combinatoire

Programme cantonal Diabète une réponse de santé publique au service des patients

STI 26 Édition 1 / Mai 2002

RAPPORT DE LA COMMISSION THÉMATIQUE DES SYSTÈMES D'INFORMATION

Peut être utilisée à l intérieur du site où se trouve la liste de référence.

TP 1. Prise en main du langage Python

Série 77 - Relais statiques modulaires 5A. Caractéristiques. Relais temporisés et relais de contrôle

3 ème 2 DÉVELOPPEMENT FACTORISATIONS ET IDENTITÉS REMARQUABLES 1/5 1 - Développements

Plus courts chemins, programmation dynamique

Le code à barres EAN 13 mes premiers pas...

Le Greater Geneva Berne area (GGBa) démystifié; quels bienfaits pour les PME?

Pilotec confort 10/Pilotec confort 20 réf réf

Symposium e-gov Lausanne 3 mai 2012 Vision politique de la cyberadministration

Table des matières. Télécharger MetaTrader 4. Première connexion à MetaTrader 4. Se connecter à MetaTrader 4. Modifier la langue

Introduction à la théorie des files d'attente. Claude Chaudet

Etude d Algorithmes Parallèles de Data Mining

Rappels Entrées -Sorties

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

TP Bases de données réparties

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

CONFIGURATION DE L AUTOMATE SIEMENS

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

Algèbre binaire et Circuits logiques ( )

Calculs de probabilités

Qu est-ce qu une probabilité?

Arbre de probabilité(afrique) Univers - Evénement

Nouveautés Version Guide PME

Le monitoring cannabis et les recommandations pour la prévention

3 e fiche d'informations sur l'initiative relative à la caisse unique

Transcription:

Automate à états finis Faculté I&C, André Maurer, Claude Petitpierre

Exemple introductif: reconnaître un numéro de plaque Numéros valides Numéros non valides

Un problème de décision Un mot OUI, si le mot appartient au langage NON, si le mot n appartient pas au langage Exemples (numéros de plaques) VD 1 OUI V33 NON VD 01 NON VD 1234 OUI

Un mot OUI / NON Automate à états finis Exemples d automate à états finis (numéros de plaques)

Un premier automate Un automate pour reconnaître le mot VD

Caractéristiques d un automate à états finis Un automate est constitué des éléments suivants: Un ensemble fini d états: Q={q0;q1;q2} Un alphabet (un ensemble de symboles) Σ={V;D} Un ensemble de transitions: T={(q0,V,q1);(q1,D,q2)} Un état initial: q0 Un ensemble d états terminaux (accepteurs): F={q2}

Reconnaissance d un mot Pour reconnaître un mot: 1. Se placer dans l état initial avec le mot en entrée 2. Regarder si le premier symbole du mot correspond à une transition partant de l état courant Si c est le cas passer dans l état d arrivée de la transition supprimer le premier symbole du mot revenir en (2) Le mot est reconnu par l automate si: Tous les symboles ont été analysés ET L automate termine dans un état final Mot en entrée: VD État initial: q0 Le symbole courant est V, l état courant est q0, Il existe une transition (q0,v,q1) On se place en q1 On supprime V Le mot VD est reconnu par le langage, car tous les symboles ont été analysés q2 est un état final

Mot Reconnaissance d un mot (suite) Reconnu par l automate ci-dessous Raison V non q1 n est pas un état terminal VDD non Tous les symboles n ont pas été analysés AVD non q0 n est pas un état terminal et toutes les symboles n ont pas été analysés

Exercice Pour l automate suivant, indiquer L ensemble des états: L alphabet (un alphabet possible): L ensemble des transitions: L état initial: L ensemble d états terminaux (accepteurs): Quel est le langage reconnu par cet automate?

Exercice (correction) Pour l automate suivant, indiquer L ensemble des états: Q={q0;q1} L alphabet (un alphabet possible): Σ={a;b} L ensemble des transitions: T={(q0,a,q1);(q1,b,q1)} L état initial: q0 L ensemble d états terminaux (accepteurs): F={q1} Le langage reconnu: {a,ab,abb,abbb, } Il s agit de l ensemble des mots commençant par a et se terminant par un nombre arbitraire de b

Remarque le nombre d états doit être fini, L alphabet (nombre de symboles) doit être fini il est cependant possible de reconnaître il est cependant possible de reconnaître des langages infinis (nombre infini de mots).

Exercice 2 Construire un automate qui reconnaisse le langage composé d un seul mot: le mot abc

Exercice 3 Construire un automate qui reconnaisse le langage composé des mots ab et ac Version 1 Version 2

Exercice 4: Numéro de plaques Construire un automate qui reconnaît le langage suivant: l ensemble des numéros de plaques du canton de Vaud

Exercice 4: Numéro de plaques Indications concernant ce langage: tous les mots commencent par les lettres VD suivies éventuellement un espace ou un point suivi d un chiffre de 1 à 9 suivi éventuellement de 1 à 5 chiffres de 0 à 9

Exercice 4 (solution) Faculté I&C, André Maurer, Claude Petitpierre

Exercice Quel est le langage, sur l alphabet {a;b} reconnu par cet automate? L={aa,aaa,baa,aaaa,abaa,baaa,bbaa, aaaaa,aabaa,abaaa, }

Différence? Quelle est la différence importante entre ces 2 automates? Automate à états finis déterministes Automate à états finis non déterministes

Automate non déterministe Si le mot en entrée est abaa, deux possibilités existent: q0 q1 q0 q0 q0 q1 q2

Automate non déterministe Pour la séquence d états q0 q0 q0 q1 q2 tous les symboles du mot abaa sont analysés q2 est un état terminal L automate ci-dessous accepte donc le mot abaa

La transition vide (ε) Un automate qui reconnaît le langage composé des mots ab et ba Les états d arrivée de la transition vide (ε) sont atteints sans consommer de symboles. Question: cet automate est-il déterministe?

Rendre un automate déterministe

Rendre un automate déterministe

Automate déterministe Faculté I&C, André Maurer, Claude Petitpierre

Récapitulation: alphabet Un alphabet est ensemble fini non vide de symboles

Récapitulation: un mot Un mot sur un alphabet Σ est une séquence de longueur finie de symboles de Σ λ est le mot vide exemples: aaab est un mot sur Σ={a,b} aabacb est un mot sur Σ={a,b,c} a est un mot sur Σ={a,b}

Récapitulation: un langage Un ensemble de mots sur un alphabet est un langage Exemples L={aa,ab,b} sur Σ={a,b} L={ab,cd} sur Σ={a,b,c,d} L={a} sur Σ={a} L= L={x {0,1}* le nombre représenté par x est pair}

Palindrome Un palindrome est un mot qui peut être lu dans les deux sens: Radar Rotor Kayak «Elu par cette crapule»

Palindrome sur Σ={a,b} L'ensemble des palindromes sur Σ={a,b} est un langage: L={a,b,aa,bb,aba,bab,aaa,bbb,aaaa,baab, abba, } Exercice: écrire un automate qui reconnaisse ce langage

Exercice (correction) Il n est pas possible de construire un automate qui reconnaisse ce langage!! Car l ensemble des palindromes sur Σ={a,b} n est pas un langage régulier

Autre exemple L'ensemble des mots qui contiennent autant de a que de b: L={λ,ab,ba,aabb,abab,bbaa,abba,...} Il n est pas non plus possible de construire un automate qui reconnaisse ce langage. Ce langage n est pas régulier

Caractéristiques d un langage régulier

Un langage élémentaire Un langage élémentaire est un langage composé d un seul mot d un seul symbole Exemples sur Σ={a,b,c}: R={a} R={b} R={c} Un langage élémentaire est un langage régulier

L union de 2 langages Les langages sont des ensembles (de mots). On peut faire l union de deux langages Exemples: R 1 ={a}, R 2 ={b} R 3 =R 1 R 2 ={a,b} R 1 ={ab,b}, R 2 ={a,bc} R 3 =R 1 R 2 ={ab,b,bc} L union de deux langages réguliers est un langage régulier Remarque: dans exorciser: R 1 R 2 est noté R 1 R 2

La fermeture de Kleene R={a} R*={λ,a,aa,aaa,aaaa,aaaaa, } R={ab} R*={λ,ab,abab,ababab, } R={ab,b} R*={λ,ab,b,abab,abb,bb,ababab, babb,abbb, } La fermeture de Kleen d un langage régulier est un langage régulier

Langage régulier (résumé) Un langage régulier, c est Un langage élémentaire: R={a} L union de deux langages réguliers: R 1 ={a}, R 2 ={b} R 3 =R 1 R 2 ={a,b} Le produit de deux langages réguliers R 1 ={a}, R 2 ={b} R 3 =R 1 R 2 ={ab} La fermeture de Kleene d un langage régulier R={a}, R*={λ,a,aa,aaa,aaaa, }

R=a* Exemples de langages réguliers R={λ,a,aa,aaa,aaaa} R=(a b)* R={λ,a,b,aa,bb,ab,aab,abb,bbb,aaa, } R={ab b}* R={λ,ab,b,abb,abab, } R=(ab*a b)* {λ,b,aba,abba,abbab, )

Comment construire un automate qui reconnaisse un langage régulier?

Langage élémentaire R 1 ={a}

R 1 ={a} R 2 ={b} Le produit de 2 langages R 3 =R 1 R 2

Union R 4 =ab b

Fermeture de Kleene R=(abc)*={λ,abc,abc,abcabc,abcabcabc, } R=abc R=abc*

Exercice R=(ab b) R=(ab b)*