CHAPITRE 3 : AUTOMATES FINIS NON-DETERMINISTES (AFN)

Documents pareils
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 =

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

Continuité et dérivabilité d une fonction

Compression Compression par dictionnaires

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

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.

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

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

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.

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

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

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

Probabilités sur un univers fini

Limites finies en un point

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

1 Introduction au codage

Plan. 5 Actualisation. 7 Investissement. 2 Calcul du taux d intérêt 3 Taux équivalent 4 Placement à versements fixes.

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

Chapitre 1 : Évolution COURS

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

TSTI 2D CH X : Exemples de lois à densité 1

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

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

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

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

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

Angles orientés et trigonométrie

Groupe symétrique. Chapitre II. 1 Définitions et généralités

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

La maison Ecole d ' Amortissement d un emprunt Classe de terminale ES. Ce qui est demandé. Les étapes du travail

Par combien de zéros se termine N!?

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

5 ème Chapitre 4 Triangles

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

Glossaire des nombres

Cryptographie et fonctions à sens unique

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

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

Algèbre binaire et Circuits logiques ( )

Qu est-ce qu une probabilité?

Système binaire. Algèbre booléenne

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

LEÇON N 7 : Schéma de Bernoulli et loi binomiale. Exemples.

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

2.4 Représentation graphique, tableau de Karnaugh

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

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

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

V- Manipulations de nombres en binaire

Résolution d équations non linéaires

Optimisation des fonctions de plusieurs variables

Rappels sur les suites - Algorithme

a et b étant deux nombres relatifs donnés, une fonction affine est une fonction qui a un nombre x associe le nombre ax + b

DOCM Solutions officielles = n 2 10.

PROBLEME(12) Première partie : Peinture des murs et du plafond.

Nombres premiers. Comment reconnaître un nombre premier? Mais...

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

Les suites numériques

Modélisation du comportement habituel de la personne en smarthome

Cours d algorithmique pour la classe de 2nde

Transmission d informations sur le réseau électrique

Objets Combinatoires élementaires

Problèmes de dénombrement.

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

Algorithmes récursifs

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

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

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

Activités numériques [13 Points]

CREATION D UNE EVALUATION AVEC JADE par Patrick RUER (

Représentation géométrique d un nombre complexe

Les indices à surplus constant

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

Axiomatique de N, construction de Z

Représentation d un entier en base b

1. Création d'un état Création d'un état Instantané Colonnes Création d'un état Instantané Tableau... 4

Simulation de variables aléatoires

Initiation à la Programmation en Logique avec SISCtus Prolog

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

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

Cours de Probabilités et de Statistique

CHAPITRE 2 SYSTEMES D INEQUATIONS A DEUX INCONNUES

Introduction à l étude des Corps Finis

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

Développements limités, équivalents et calculs de limites

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

6. Les différents types de démonstrations

Dérivation : cours. Dérivation dans R

Le graphisme et l écriture, en lien avec les apprentissages en maternelle

Initiation à LabView : Les exemples d applications :

Initiation à la programmation en Python

Programmes des classes préparatoires aux Grandes Ecoles

3. Conditionnement P (B)

Chapitre 2. Matrices

Filtrage stochastique non linéaire par la théorie de représentation des martingales

Probabilités sur un univers fini

Cours de bridge. Guillaume Lafon

LES PROS DE L AFFICHAGE

MIS 102 Initiation à l Informatique

Transcription:

CHAPITRE 3 : AUTOMATES FINIS NON-DETERMINISTES (AFN) 1. Définition des automates finis non-déterministes (AFN) 1.1 Définition générale Définition. Un automate fini non-déterministe AFN sur un alphabet Σ est la donnée d un n-uplet (Q, δ, I, F) où : Q est un ensemble fini d états, δ est une fonction de transition de Q Σ dans P(Q), ensemble des parties de Q, I est une partie de Q d états dits initiaux, F est une partie de Q d états dits finals. 1.2 Fonctionnement Un automate fini non-déterministe est un automate tel que dans un état donné, il peut y avoir plusieurs transitions avec la même lettre. Au temps initial, la machine est dans un état initial i I. Si à l instant t la machine est dans l état q et lit a, alors à l instant t + 1 si δ(q, a) =, la machine se bloque, si δ(q, a), la machine se met dans l un des états δ(q, a) (et lit le symbole suivant). On voit que le fonctionnement n est pas complètement «déterminé», car on ne sait pas à l avance quel état la machine doit choisir dans δ(q, a), d où le terme non-déterministe. On pourrait donc penser que les AFN n ont aucun intérêt dans la pratique. En fait, il n en est rien car on peut montrer que tout AFN peut être remplacé par un AFD équivalent (voir algorithme de déterminisation). Donc on se sert des AFN, car ils peuvent être très utiles pour exprimer certains problèmes, et on les remplace ensuite par des AFD. Exemple : ensemble des mots qui se terminent par ab Q = {1, 2, 3}, I = {1}, F = {3}. δ définie par la table de transition : 1

1 2 3 a {1,2} b 1 3 1.3 Langage reconnu par un AFN Un mot u est accepté par un AFN s il existe un chemin d étiquette u, partant de l un des états initiaux, et arrivant à l un des états finals. Définition. Le langage reconnu (ou accepté) par un automate AFN est l ensemble des mots acceptés par l AFN, c est-à-dire qui correspondent à un calcul de l automate partant d un état initial et s arrêtant dans un état final. 2. Déterminisation d un AFN 2.1 Algorithme de déterminisation d un AFN Un AFD est un cas particulier d AFN, avec Card(δ(q, a)) 1 pour tous q Q, a Σ. Donc tout langage reconnu par un AFD est reconnu par un AFN. Plus surprenant, on a la réciproque. Théorème (Rabin-Scott). Tout langage reconnu par un AFN peut être reconnu par un AFD. Le principe de la construction est de prendre comme états de l AFD les ensembles d états de l AFN. L unique état initial de l AFD est l ensemble I des états initiaux de l AFN. Construction pour la déterminisation d un AFN : Si A = (Q, δ, I, F) est un AFN qui reconnaît L, alors A det = (P(Q), δ det, I, F det ) est un AFD qui reconnaît le même langage L, avec : F det = {X P(Q), X F }, δ det (X, a) = q X δ(q, a). Pratiquement, on ne construit que les états accessibles à partir de I, de proche en proche : on part de l état initial I, puis on calcule toutes les transitions qui partent de I, puis on recommence avec les nouveaux états obtenus, etc. Exemple : 2

état initial : I = {1} transition par a : {1, 2} transition par b : {1} état {1, 2} transition par a : {1, 2} transition par b : {1, 3} état {1, 3} transition par a : {1, 2} transition par b : {1} 2.2 Équivalence entre AFD et AFN Conclusion. Les langages reconnus par les AFN sont exactement les langages reconnus par les AFD. Dans l exemple ci-dessus, le nombre d états de l automate déterminisé est égal à celui de l AFN de départ. On verra que c est le cas dans certaines applications, notamment pour la recherche de motifs. Mais il existe des cas où l AFD équivalent est beaucoup plus gros. En fait, si Card(Q) = n, la limite théorique est Card(P(Q)) = 2 n. Or il existe des automates qui correspondent à ce cas limite. Exemple : L = {a, b} * a{a, b} n L AFN a n + 1 états, alors que l AFD équivalent a 2 n états. 3. Automates AFN avec ε-transitions 3.1 Définition 3

Définition. On généralise encore la notion d automate en introduisant des transitions avec le mot vide ε. La fonction de transition est alors définie de Q (Σ {ε}) dans P(Q), ensemble des parties de Q. Ces transitions s effectuent sans lecture de lettre. Comme pour les AFN, un mot u est accepté par un AFN avec ε-transitions s il existe un chemin d étiquette u, partant de l un des états initiaux, et arrivant à l un des états finals. Exemple : Langage reconnu : L = {acbc, acc, abc, ac} 3.2 Transformation en AFN sans ε-transition Proposition. Tout langage reconnu par un AFN avec ε transitions peut être reconnu par un AFN (sans ε transitions) ayant le même nombre d états. Construction de l AFN équivalent à un automate avec ε transitions, en prolongeant δ en δ 1 : Première étape : Ajoût de ε transitions par fermeture transitive. Pour tous les états q accessibles à partir de p par ε-transition (en plusieurs étapes), on rajoute une ε transition directe de p à q. On prolonge ainsi la fonction δ : δ 1 (p, ε) = tous les états accessibles à partir de p par ε transition. Deuxième étape : Ajoût de transitions supplémentaires et d états initiaux supplémentaires, puis suppression des ε-transitions. Les états initiaux sont tous les états accessibles à partir des états initiaux par ε transition. Pour toute transition de p à q par une lettre, on rajoute des transitions de p à r avec la même lettre pour toutes les ε transitions de q à r. δ 1 (p, a) = δ(p, a) ( q δ(p, a) δ 1 (q, ε)). On supprime toutes les ε transitions. On vérifie : - qu un chemin correspondant à un calcul réussi pour un mot dans l automate avec ε transitions peut facilement être transformé en chemin dans le nouvel AFN, grâce aux nouvelles transitions introduites, - et qu un chemin correspondant à un calcul réussi dans l AFN peut être transformé en chemin dans l automate avec ε transitions, en remplaçant chaque nouvelle transition utilisée par les ε transitions correspondantes. 4

Exemple : Fermeture transitive des ε-transitions Ajoût de nouvelles transitions et suppression des ε-transitions L AFN obtenu reconnaît bien le même langage : L = {acbc, acc, abc, ac} 4. Clôture des langages reconnus par automates (AFN / AFD) 4.1 Clôture par complémentation Propriété. Si L est un langage reconnu par AFN, alors son complémentaire Σ * \L l est aussi. Par déterminisation, on peut construire un AFD reconnaissant le même langage L, puis appliquer la propriété de clôture vue au chapitre 2. 4.2 Clôture par intersection Propriété. Si L 1, L 2 sont des langages reconnus par AFN, alors L 1 L 2 l est aussi. Exemple : L 1 = {w Σ *, w a au moins un b}, L 2 = {w Σ *, w a un nombre pair de a} 5

Construction par produit d automates : Si A i = (Q i, δ i, I i, F i ) reconnaît L i pour i = 1, 2 sans ε transition, alors A = (Q 1 Q 2, δ, I 1 I 2, F 1 F 2 ) reconnaît L 1 L 2. Justification : Si un mot correspond à un calcul réussi dans l automate produit, on obtient une succession de couples d états. En projetant sur les premières composantes (resp. deuxièmes), on obtient un calcul réussi dans le 1 er automate (resp. 2 ème ). Donc le mot appartient à l intersection. Réciproquement, si un mot appartient aux deux langages, il correspond à deux calculs réussis dans les automates. S il n y a pas de ε transition, les deux chemins ont même longueur. En fabriquant des couples à partir des deux séries d états, on obtient un calcul réussi dans l automate produit. Remarque : Si les automates sont des AFD, alors l automate produit obtenu pour l intersection est aussi un AFD. 4.3 Clôture par union Propriété. Si L 1, L 2 sont des langages reconnus par AFN, alors L 1 L 2 l est aussi. Il suffit de faire l union des deux AFN. 4.4 Clôture par concaténation et étoile Propriété. Si L 1, L 2 sont des langages reconnus par AFN, alors L 1 L 2 l est aussi. Pour cette propriété, il est très commode d utiliser des ε transitions : 6

on rajoute des ε transitions de tous les états finals de l AFN pour L 1, vers tous les états initiaux de l AFN pour L 2. Propriété. Si L est un langage reconnu par AFN, alors L * l est aussi. De même, on rajoute des ε transitions de tous les états finals de l AFN pour L, vers tous ses états initiaux. 4.5 Théorème de clôture pour les langages reconnus par AFN ou AFD Théorème. Si L, L' sont des langages reconnus par AFN, alors il en est de même : du complémentaire Σ * \L, de l intersection L L', de l union L L', de la concaténation LL', de l étoile L * Les langages reconnus par AFD étant les mêmes que les langages reconnus par AFN, ces propriétés de clôture sont vraies aussi pour les langages reconnus par AFD. 5. AFN avec probabilités de transitions : chaînes de Markov Une chaîne de Markov est un AFN dont les transitions sont munies de probabilités. Exemple : Construction des probabilités de transitions dans un mot. Soit le mot w = aaabaa On compte le nombre de fois où chaque lettre est suivie d une même lettre : a b a 3 1 b 1 0 Dans cet exemple, le contexte est de longueur 1, mais on peut étudier des contextes plus long, par exemple de longueur 2 : - combien de fois aa est suivi de a? de b? - combien de fois ab est suivi de a? de b? - etc 7

? (creer-table "Bonjour, ceci est le cours sur les automates, c'est-à-dire une structure de calcul très simple, mais qui a beaucoup de propriétés intéressantes") ((#\é 3 (#\r 1) (#\s 1) (#\t 1)) (#\q 1 (#\u 1)) (#\p 4 (#\r 2) (#\Space 1) (#\l 1)) (#\è 1 (#\s 1)) (#\d 3 (#\e 2) (#\i 1)) (#\à 1 (#\- 1)) (#\- 2 (#\d 1) (#\à 1)) (#\' 1 (#\e 1)) (#\m 3 (#\p 1) (#\a 2)) (#\a 7 (#\n 1) (#\Space 1) (#\i 1) (#\l 1) (#\t 1) (#\u 2)) (#\l 5 (#\Space 1) (#\c 1) (#\e 3)) (#\t 10 (#\é 2) (#\u 1) (#\r 2) (#\- 1) (#\e 2) (#\o 1) (#\Space 1)) (#\s 13 (#\a 1) (#\s 1) (#\i 1) (#\, 1) (#\u 1) (#\Space 5) (#\t 3)) (#\i 7 (#\n 1) (#\é 1) (#\s 1) (#\m 1) (#\r 1) (#\Space 2)) (#\e 15 (#\a 1) (#\, 1) (#\Space 6) (#\s 6) (#\c 1)) (#\c 8 (#\u 1) (#\a 1) (#\t 1) (#\' 1) (#\o 2) (#\i 1) (#\e 1)) (#\Space 21 (#\i 1) (#\p 1) (#\b 1) (#\q 1) (#\m 1) (#\t 1) (#\d 2) (#\u 1) (#\a 2) (#\s 3) (#\l 2) (#\e 1) (#\c 4)) (#\, 3 (#\Space 3)) (#\r 10 (#\i 1) (#\o 1) (#\è 1) (#\u 1) (#\e 3) (#\Space 1) (#\s 1) (#\, 1)) (#\u 11 (#\p 1) (#\i 1) (#\l 1) (#\c 2) (#\n 1) (#\t 1) (#\r 4)) (#\j 1 (#\o 1)) (#\n 4 (#\t 2) (#\e 1) (#\j 1)) (#\o 6 (#\p 1) (#\m 1) (#\u 3) (#\n 1)) (#\B 2 (#\e 1) (#\o 1)))? (markov 5000) "'es s complcai ma truromai cturestéste des quronjop caless s lc'e dint s primp e, les cop comaure qurouciés cop satés uctér, e qunjounjomantérèsauiétres quront e ciés ciére s s près mp esss auci curoulesainjompres cureaintéres, c'e dintériétététuc'ecuimanjompr a couprèsalcturesi di ecoui près le aiésuc'estr térintrèsa b"? (markov 5000) " i pre al ce c'esulestérsururs ines aur sa t-à-à-dess coutà-de les e, diromales p cintes, cis le ul destétre s trestéroure b" 8