Top Banner
Automates à états finis Damien Nouvel Damien Nouvel (Inalco) Automates 1 / 26
26

Automates à états finis - Damien Nouvel · 2020. 10. 14. · Automate à états finis déterministe Contraintes Un seul état initial Déterministe : par nœud / symbole, max une

Jan 22, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Automates à états finis - Damien Nouvel · 2020. 10. 14. · Automate à états finis déterministe Contraintes Un seul état initial Déterministe : par nœud / symbole, max une

Automates à états finis

Damien Nouvel

Damien Nouvel (Inalco) Automates 1 / 26

Page 2: Automates à états finis - Damien Nouvel · 2020. 10. 14. · Automate à états finis déterministe Contraintes Un seul état initial Déterministe : par nœud / symbole, max une

Langages et automates

§ Du langage …‚ Hiérarchie (réguliers, hors-contexte, contextuels)

ñ Mécanisme pour accepter / reconnaître un langage ?§ …aux automates

‚ Machine de Turing‚ États, transitions

ñ Automates …à états finis (langages réguliers)§ Représentations

ñ Diagrammes de transition (dessin)‚ Graphe : nœuds, arcs

ñ Tables de transition

Damien Nouvel (Inalco) Automates 2 / 26

Page 3: Automates à états finis - Damien Nouvel · 2020. 10. 14. · Automate à états finis déterministe Contraintes Un seul état initial Déterministe : par nœud / symbole, max une

Diagrammes de transitions

Plan

1. Diagrammes de transitions

2. Notations formelles

3. Tables de transition

4. Automates non déterministes

5. Propriétés des langages réguliers et compléments

Damien Nouvel (Inalco) Automates 3 / 26

Page 4: Automates à états finis - Damien Nouvel · 2020. 10. 14. · Automate à états finis déterministe Contraintes Un seul état initial Déterministe : par nœud / symbole, max une

Diagrammes de transitions

Diagrammes

§ Inspiré des diagrammes de flux / organigrammes

Travail ?

Menteur !

non

Urgent ?

oui

Loisirs

non

Procrastination ?

oui

non

oui

Damien Nouvel (Inalco) Automates 4 / 26

Page 5: Automates à états finis - Damien Nouvel · 2020. 10. 14. · Automate à états finis déterministe Contraintes Un seul état initial Déterministe : par nœud / symbole, max une

Diagrammes de transitions

États

ñ Indique où en est l’analyse d’un mot§ États : nœuds

‚ Cercle‚ Label : qi avec i un entier

q2

§ État initial‚ Ajout d’une flèche devant‚ Souvent q0 (mais pas obligatoire)

qO

§ État final‚ Double cercle

q5

Damien Nouvel (Inalco) Automates 5 / 26

Page 6: Automates à états finis - Damien Nouvel · 2020. 10. 14. · Automate à états finis déterministe Contraintes Un seul état initial Déterministe : par nœud / symbole, max une

Diagrammes de transitions

Transitions

ñ Indique quelles prochains symboles sont acceptés§ Transitions : arcs

‚ Arc orienté (flèche) qui relie deux états‚ Label : liste (ensemble) de symboles de Σ

q1 q3a, c

ñ Reconnaît le langage ta, cu ou tau Y tcu (mais pas ta.cu !)ñ Si, en q1, le prochain symbole est a ou c, aller en q3

§ Transition d’un état vers lui-même

‚ Boucle au dessus d’un étatq1

a, c

ñ Correspond à l’étoile de KleeneDamien Nouvel (Inalco) Automates 6 / 26

Page 7: Automates à états finis - Damien Nouvel · 2020. 10. 14. · Automate à états finis déterministe Contraintes Un seul état initial Déterministe : par nœud / symbole, max une

Diagrammes de transitions

Reconnaissance d’un mot

§ Chemin suivi au travers d’un automate‚ L’automate consomme les symboles‚ Une liste d’état « visités » est établie‚ Arrivée en fin de mot dans l’état final

§ Exemple : mots ab ou ac

qO q1a

q2b

q3

c

Damien Nouvel (Inalco) Automates 7 / 26

Page 8: Automates à états finis - Damien Nouvel · 2020. 10. 14. · Automate à états finis déterministe Contraintes Un seul état initial Déterministe : par nœud / symbole, max une

Diagrammes de transitions

Automate à états finis déterministe

§ Contraintes‚ Un seul état initial‚ Déterministe : par nœud / symbole, max une transition

§ Remarques‚ Autant d’états finaux que nécessaires‚ L’état initial peut-être final‚ Des transitions peuvent partir d’un état final

ñ Boucles possible sur un état ou par cycles§ Exemple : expression régulière (a|bc)*(b(a|b))?

qO

a

q1

b

c

q2a, b

Damien Nouvel (Inalco) Automates 8 / 26

Page 9: Automates à états finis - Damien Nouvel · 2020. 10. 14. · Automate à états finis déterministe Contraintes Un seul état initial Déterministe : par nœud / symbole, max une

Notations formelles

Plan

1. Diagrammes de transitions

2. Notations formelles

3. Tables de transition

4. Automates non déterministes

5. Propriétés des langages réguliers et compléments

Damien Nouvel (Inalco) Automates 9 / 26

Page 10: Automates à états finis - Damien Nouvel · 2020. 10. 14. · Automate à états finis déterministe Contraintes Un seul état initial Déterministe : par nœud / symbole, max une

Notations formelles

Fonction de transition

§ Définition formelle de l’automate : A = (Q,Σ, δ, q0,F)‚ États Q = tq0, q1, q2, . . .u‚ Alphabet Σ = ta, b, c, . . .u‚ Fonction de transition δ : Q ˆ Σ Ñ Q Y H

‚ État initial q0‚ Ensemble d’états finaux F (avec F Ă Q)

§ Importance de la fonction de transition‚ Cœur de l’automate (entrée : état et symbole / sortie : état)‚ Exemples : δ(q0, a) = q1 ou δ(q1, b) = q0‚ Valeurs à définir : |Q| ˚ |Σ|

‚ Une transition « qui n’existe pas » donne H

Damien Nouvel (Inalco) Automates 10 / 26

Page 11: Automates à états finis - Damien Nouvel · 2020. 10. 14. · Automate à états finis déterministe Contraintes Un seul état initial Déterministe : par nœud / symbole, max une

Notations formelles

Fonction de transition étendue

§ La fonction de transition n’effectue qu’une transitionñ Comment savoir quel état est atteint avec n transitions ?‚ Pour abc, il faut calculer δ(δ(δ(q0, a), b), c)

ñ Impossible de savoir combien de fois appliquer δ …§ Fonction récursive δ˚ : Q ˆ Σ˚ Ñ Q Y tHu

‚ Forme générale : δ˚(q,w) avec w P Σ˚

‚ Si w = a avec a P Σñ Retourner δ(q, a)‚ Si w = x.a avec x P Σ˚, a P Σ

ñ Retourner δ(δ˚(q, x), a)‚ Permet de faire des transitions sur les mots

ñ Quel état est atteint pour un état et un mot donné ?

Damien Nouvel (Inalco) Automates 11 / 26

Page 12: Automates à états finis - Damien Nouvel · 2020. 10. 14. · Automate à états finis déterministe Contraintes Un seul état initial Déterministe : par nœud / symbole, max une

Notations formelles

Langage reconnu

§ Un automate reconnaît un langageñ Concaténation de symboles telles que les transitions

conduisent, depuis l’état initial, à un état finalñ L = tw P Σ˚|δ˚(q0,w) P Fu

Damien Nouvel (Inalco) Automates 12 / 26

Page 13: Automates à états finis - Damien Nouvel · 2020. 10. 14. · Automate à états finis déterministe Contraintes Un seul état initial Déterministe : par nœud / symbole, max une

Tables de transition

Plan

1. Diagrammes de transitions

2. Notations formelles

3. Tables de transition

4. Automates non déterministes

5. Propriétés des langages réguliers et compléments

Damien Nouvel (Inalco) Automates 13 / 26

Page 14: Automates à états finis - Damien Nouvel · 2020. 10. 14. · Automate à états finis déterministe Contraintes Un seul état initial Déterministe : par nœud / symbole, max une

Tables de transition

Table de transition

§ Représentation équivalente aux diagrammes‚ Lignes : états‚ Colonnes : symboles‚ Cases : résultat de la fonction de transition

§ Notations‚ État initial : flèche‚ État final : étoile

§ Exemple (cf diagramme)Q a b c

Ñ ˚q0 q0 q1 H

q1 q2 q2 q0˚q2 H H H

Damien Nouvel (Inalco) Automates 14 / 26

Page 15: Automates à états finis - Damien Nouvel · 2020. 10. 14. · Automate à états finis déterministe Contraintes Un seul état initial Déterministe : par nœud / symbole, max une

Tables de transition

Exercices

§ Modélisez par diagramme et faites la table de transision desautomates qui reconnaissent

‚ Une des déclinaisons de « beau »‚ Un nombre entre 10 et 15‚ Un nombre parmi 10, 15, 20, 25, 30, 35‚ Une dizaine entre 0 et 50‚ Un mot parmi « report, reporter, apporter »‚ Un nombre pair entre 10 et 50‚ Un mot parmi « bla », « blabla », « blablabla », etc.‚ Une combinaisons de « hi(...) » et de « bla... »‚ Une heure au format HH:MM‚ Une date au format JJ/MM/AAAA

Damien Nouvel (Inalco) Automates 15 / 26

Page 16: Automates à états finis - Damien Nouvel · 2020. 10. 14. · Automate à états finis déterministe Contraintes Un seul état initial Déterministe : par nœud / symbole, max une

Automates non déterministes

Plan

1. Diagrammes de transitions

2. Notations formelles

3. Tables de transition

4. Automates non déterministes

5. Propriétés des langages réguliers et compléments

Damien Nouvel (Inalco) Automates 16 / 26

Page 17: Automates à états finis - Damien Nouvel · 2020. 10. 14. · Automate à états finis déterministe Contraintes Un seul état initial Déterministe : par nœud / symbole, max une

Automates non déterministes

Types d’automates

§ Terminologie‚ FSA : Finite State Automata‚ DFA : Deterministic Finite state Automata‚ NFA : Non-deterministic Finite state Automata‚ ϵ-NFA : NFA avec transitions ϵ

Damien Nouvel (Inalco) Automates 17 / 26

Page 18: Automates à états finis - Damien Nouvel · 2020. 10. 14. · Automate à états finis déterministe Contraintes Un seul état initial Déterministe : par nœud / symbole, max une

Automates non déterministes

NFA

§ Fonction de transition renvoit un ensembleδ : Q ˆ Σ Ñ Q˚

§ Dans les représentations‚ Diagramme : plusieurs transitions pour un état / symbole‚ Table : une case peut contenir plusieurs états

ñ Comment reconnaître tous les mots se terminant par ab ?§ Fonction de transition étendue δ˚ : Q ˆ Σ˚ Ñ Q˚

‚ Forme générale : δ˚(q,w) avec w P Σ˚

‚ Si w = x.a avec a P Σñ Retourner YrPδ˚(q,x)δ(r, a)ñ Union des états atteints selon les états précédents‚ Si w = a avec a P Σ

ñ Retourner δ(q, a)§ Langage reconnu : L = tw|δ˚(q0,w) X F ‰ Hu

Damien Nouvel (Inalco) Automates 18 / 26

Page 19: Automates à états finis - Damien Nouvel · 2020. 10. 14. · Automate à états finis déterministe Contraintes Un seul état initial Déterministe : par nœud / symbole, max une

Automates non déterministes

Exercice

§ Dessinez un automate qui reconnaît un code couleur‚ Avec 2 chiffres héxadécimaux (par ex. A05B)‚ Avec 2 chiffres de 000 à 256 en décimal (par ex. 138027)

§ Exécutez l’automate pour indiquer les états atteints pour‚ FFFF‚ 5243‚ 005132‚ 2A5B

Damien Nouvel (Inalco) Automates 19 / 26

Page 20: Automates à états finis - Damien Nouvel · 2020. 10. 14. · Automate à états finis déterministe Contraintes Un seul état initial Déterministe : par nœud / symbole, max une

Automates non déterministes

Exercice

§ Dessinez les DFA et NFA sur Σ : ta, b, c, du qui reconnaissent‚ Les mots contenant ad, puis au moins un c, puis da‚ Les mots dont l’avant dernière lettre est un b ou un d

Damien Nouvel (Inalco) Automates 20 / 26

Page 21: Automates à états finis - Damien Nouvel · 2020. 10. 14. · Automate à états finis déterministe Contraintes Un seul état initial Déterministe : par nœud / symbole, max une

Automates non déterministes

ϵ-NFA

§ Fonction de transition peut renvoyer ϵδ : Q ˆ Σ Y tϵu Ñ Q˚

§ Extension des NFA‚ Facilité de transition : ϵ‚ Exemple : reconnaître le langage tabcc, abdcd, ac, adu

q0 q1a q2b q3c

ϵ

q4c, d

§ Calcul de la fermeture transitive d’un état‚ Initialisation : @qi P Q, qi P fermeture(qi)‚ Itération : @qi P Q, si δ(qi, ϵ) = R alors R Ă fermeture(qi)

ñ fermeture(qi) contient tous les états atteints avec ϵ§ Fonction de transition étendue sur

δ˚(q, x.a) = YrPδ˚(q,x) YsPδ(r,a) fermeture(s)Damien Nouvel (Inalco) Automates 21 / 26

Page 22: Automates à états finis - Damien Nouvel · 2020. 10. 14. · Automate à états finis déterministe Contraintes Un seul état initial Déterministe : par nœud / symbole, max une

Automates non déterministes

Exercice

§ Dessinez un automate qui reconnaît des dates‚ Des années seules (par ex. 2010)‚ Des mois / années (par ex. 11/2020)‚ Des jours / mois / années (par ex. 21/05/2010)‚ Les jours et les mois peuvent être sans 0

§ Exécutez l’automate pour indiquer les états atteints pour‚ 2017‚ 1193‚ 05/1980‚ 12/1995‚ 31/10/1979‚ 3/5/2015‚ 10/10/2010

Damien Nouvel (Inalco) Automates 22 / 26

Page 23: Automates à états finis - Damien Nouvel · 2020. 10. 14. · Automate à états finis déterministe Contraintes Un seul état initial Déterministe : par nœud / symbole, max une

Propriétés des langages réguliers et compléments

Plan

1. Diagrammes de transitions

2. Notations formelles

3. Tables de transition

4. Automates non déterministes

5. Propriétés des langages réguliers et compléments

Damien Nouvel (Inalco) Automates 23 / 26

Page 24: Automates à états finis - Damien Nouvel · 2020. 10. 14. · Automate à états finis déterministe Contraintes Un seul état initial Déterministe : par nœud / symbole, max une

Propriétés des langages réguliers et compléments

Propriétés des automates et langages réguliers

§ Pour un NFA, il existe un DFA équivalentñ États comme sous-ensembles d’états§ Le complémentaire d’un langage régulier est régulier

ñ Inversion états initial / finaux§ La fermeture d’un langage régulier est régulière

ñ Transitions ϵ finaux vers initial§ L’union de deux langages réguliers est régulière§ Le produit de deux langages réguliers est régulier§ L’intersection de deux langages réguliers est régulier§ Par homomorphisme, un langage reste régulier

ñ Homorphisme : f(x ˚ y) = f(x) ‹ f(y)

Damien Nouvel (Inalco) Automates 24 / 26

Page 25: Automates à états finis - Damien Nouvel · 2020. 10. 14. · Automate à états finis déterministe Contraintes Un seul état initial Déterministe : par nœud / symbole, max une

Propriétés des langages réguliers et compléments

Compléments

§ Dérivation comme transition entre configurations (DFA)‚ Configuration : état et mot à lire (q,w)‚ Dérivation : (q,w) Ñ (q1,w1)

ñ Transition avec w = a.w1 par δ(q, a) = q1

§ Calcul du langage généré à partir d’un état‚ Fonction récursive

L(q) = YaPΣa.L(δ(q, a)) Y f(q)avec f(q) = ϵ si q P F

ñ L’ensemble peut être de cardinalité infinie

Damien Nouvel (Inalco) Automates 25 / 26

Page 26: Automates à états finis - Damien Nouvel · 2020. 10. 14. · Automate à états finis déterministe Contraintes Un seul état initial Déterministe : par nœud / symbole, max une

Propriétés des langages réguliers et compléments

TP Unitex

§ Unitex‚ Disponible en ligne sur le site de l’IGM‚ Logiciel à base d’automates (dictionnaires, grammaires, etc.)

§ Travail sur un projet à définir par promotion‚ 2015/2016 : textes de loi (codes : civil / pénal / travail)‚ 2016/2017 : textes littéraires historiques‚ 2017/2018 : arguments, avis, opinions‚ …

Damien Nouvel (Inalco) Automates 26 / 26