Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même...

40
Automates Finis Cours 4 Automates et théorie des langages Otomatlar ve diller teorisi Dr. HDR Rabie Ben Atitallah FIT3 [INF323] 2018/19 Université Galatasaray

Transcript of Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même...

Page 1: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

Automates Finis Cours 4

Automates et théorie des langagesOtomatlar ve diller teorisiDr. HDR Rabie Ben Atitallah

FIT3 [INF323] 2018/19

Université Galatasaray

Page 2: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

Cours précédents

¢ 1er cours : Introductionl Introduction générale l Langage formel, grammaires

¢ 2ème cours : Automates Finis l Automate fini déterministe et non déterministe l Calcul du langage d’un AFD

¢ 3ème cours : Automates Finis (suite)l Automate complet, état puits, transitions-ε l Relation entre AFND et AFDl Rendre un automate déterministe

2

Page 3: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

Motivations

¢ Comprendre les limites de l'informatique

¢ Distinguer problèmes solubles et insolubles par des algorithmes

¢ Obtenir des résultats indépendants de la technologie employée pour construire les ordinateurs

3

Page 4: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

La formalisation des problèmes

¢ Résoudre un problème = reconnaître le langage des encodages des instances >0 du problème

l Instances : alphabets et mots• Les mots représentent les instances d’un problème

l Problème : reconnaître un langage défini par une grammaire

• Un langage représente les instances positives du problèmel Mécanisme : automate

• Un automate représente le programme

4

Page 5: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

La description des langages

¢ ∄de notation permettant de décrire tous les langages (finis et infinis)

l Ensemble des langages réguliers • Notation permettant de décrire tous les langages

finis et certains langages infinis

5

Page 6: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

Théorème

¢ Un langage est régulier si et seulement si il est dénoté par une expression régulière l Les expressions régulières sont un sous-ensemble infini de

l’ensemble des chaînes de caractèresl Les expressions régulières sont donc dénombrables

¢ ∄assez d'expressions régulières pour représenter tous les langages

6

Il y a donc (beaucoup) plus de langages que de langages réguliers

Limites fondamentales de l’informatique

Page 7: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

Formalisation d’un automate fini déterministe

¢ Un automate fini déterministe est défini par un quintuplet M = (Q,∑,δ,s,F), où l Q est un ensemble fini d’états,l ∑ est un alphabet,l δ : Q x ∑ à Q : est la fonction de transition,l s ∈ Q est l’état initial,l F ⊆ Q est l'ensemble des états accepteurs.

¢ Exemple l Mots se terminant par b

7

Page 8: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

Formalisation d’un automate fini non déterministe

¢ Un automate fini non déterministe est défini par un quintuplet M = (Q,∑,∆,s,F), oul Q est un ensemble d’états,l ∑ est un alphabet,l ∆ ⊂ (Q x ∑* x Q) est la relation de transition,l s ∈ Q est l’état initial,l F ⊆ Q est l'ensemble des états accepteurs.

8

Page 9: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

Relation entre AFND et AFD

¢ On peut toujours remplacer un AFND par un AFD équivalent.

Page 10: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

Cours d’aujourd’hui

¢ 4ème : Automates Finis

l Minimisation d’un automate

l JFLAP : un outil pour manipuler les langages formels, les automates finis déterministes, etc.

l Exercices d’application

10

Page 11: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

Introduction

¢ Minimisation d'un automate fini déterministel Opération consistant à transformer un AFD

en un AFD ayant le nombre minimal d'états et qui reconnaît le même langage

l Importance pratique évidente = gain d'espace qu'elle permet

l ∃ plusieurs méthodes pour effectuer cette opération de minimisation

11

Page 12: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

Introduction

¢ Application importante de la minimisation des automates finis déterministes l Test de l'équivalence de 2 automates finis,

c'est-à-dire le fait de décider s'ils reconnaissent le même langage

l Conséquence de l'unicité de l'automate fini minimal, à un renommage des états près

l Pour savoir si 2 automates sont équivalents, il suffit de minimiser les 2 automates et de tester si leurs versions minimales sont égales

12

Page 13: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

Plusieurs méthodes

¢ Méthode 1 : l Comparaison des mots de chaque langage

¢ Méthode 2 : l Calcul des résiduels

¢ Méthode 3 : l Méthode des équivalences de Nérode

13

Page 14: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

Méthode 1 : Comparaison des mots de chaque langage

¢ On écrit les équations liant les langages de départ de l’automate l On résolu le système du départ l On compare tous les langages du départ en

étudiant leur mots de longueur 0,1,2 …

¢ Exemple (après simplification) l D1 = aD2+bD1+εl D2 = aD1l D3 = D1 l D4 = D1 l D5 = ø

14

Page 15: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

Méthode 1 : Comparaison des mots de chaque langage

¢ Exemple l D1 = (a² + b)*

l D2 = a(a² + b)*

l D3 = (a² + b)*

l D4 = (a² + b)*

l D5 = ø

¢ λ=0l 2 sous-ensembles

¢ λ=1l 3 sous-ensembles

¢ λ=2l 3 sous-ensembles

15

λ=0 λ=1 λ=2D1 ε b aaD2 a aa,abD3 ε b aaD4 ε b aaD5

Page 16: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

Méthode 1 : Comparaison des mots de chaque langage

¢ On ne peut pas trouver plus que 3 sous-sembles

¢ Comme ce nombre est inférieur au nombre d’états de l’automate, celui-ci peut être minimiser avec 3 états

¢ On peut dessiner le nouvel automate à partir de l’ancienne table de transition et des 3 nouveaux états

16

Page 17: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

Méthode 1 : Comparaison des mots de chaque langage

¢ On peut dessiner le nouvel automate à partir de l’ancienne table de transition

17

Page 18: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

Méthode 2 : Calcul des résiduels

¢ Rappel l Si L est un langage et σ un mot, on appelle

résiduel de L par rapport à σ (σ-1L), le langage ayant pour éléments les mots τtq τ σ ∈ L

l Autrement dit, c’est l’ensemble des mots de L commençant par σ auxquels on a retiré ce préfixe σ

18

Page 19: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

Méthode 2 : Calcul des résiduels

¢ Pour calculer tous les résiduels d’un langage régulier L, on détermine1. ε-1 L = L 2. Les différents résiduels Ri du type x-1L pour

chacune des lettres de ∑3. Les résiduels x-1 Ri pour chacun des

résiduels Ri obtenu à l’étape précédente qui sont différents de ceux déjà rencontrés, et pour toutes les lettres x ∈ ∑

l On itère 3 jusqu’à ce qu’on n’obtienne plus de résiduel nouveau 19

Page 20: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

Méthode 2 : Calcul des résiduels, exemple

¢ Calcul de résiduels sous forme d’arbre l L = b*ab+ab* et ∑ = {a,b}

20

ε-1 L =L= b*ab+ab*

a-1 L = b+ab* = R1

a-1 R1 = ø = R4

a-1 R2 = b* = R3

a-1 R3 = ø

b-1 L = L

b-1R1= b*ab*=R2

b-1 R2=b*ab*=R2

b-1 R3 = b*

Page 21: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

Méthode 2 : Calcul des résiduels, exemple

¢ On peut déduire que le langage L admet 5 résiduels distincts l L= b*ab+ab*l R1 = b+ab* l R2 = b*ab* l R3 = b* l R4 = ø

¢ Comme le langage L a 5 résiduels, l’automate minimal qui reconnait L et qui a le moins possible d’états est l’automate à 5 états que l’on peut construire à partir de ces 5 résiduels

21

Page 22: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

Méthode 2 : Calcul des résiduels, exemple

¢ On peut dessiner le nouvel automate à partir des résidus en suivant les transitions sur l’arbre

22

Page 23: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

Méthode 3 : équivalences de Nérode

¢ Théorème Myhill-Nérodel Pour un langage rationnel donnée L, il existe

un AFD canonique (uniquement défini), et qui comporte un nombre minimum d’états, reconnaissant L

l Il existe un algorithme très efficace • Principe de minimisation d'un AFD • Utilise le principe algorithmique d’éclatement de

partitions

23

Page 24: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

Méthode 3 : équivalences de Nérode

¢ Rappel : l Une partition d'un ensemble est la définition d'un

ensemble de classes, tq l'union de toutes les classes est l'ensemble de départ, et tq l'intersection de 2 classes est vide : une partition correspond à une relation d’équivalence

¢ Principe algorithmique d’éclatement de partitions (ou d'affinement de partitions)l on part d'une (ou plusieurs) (grandes) classesl on a un critère qui permet de partitionner une classe

en plusieurs classes plus petitesl on arrête quand chaque classe obtenue est

non-partitionnable24

Page 25: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

Méthode 3 : équivalences de Nérode

¢ Pour minimiser un AFD :l on retire les états non atteignables l on partitionne l'ensemble des états en

2 classes : • Les états finaux, acceptant : A • Les états non finaux (y compris l’état poubelle),

refusant : R

¢ Etape d’éclatement des classes A et R l Appliquer à A et R une transition par un

caractère x ∈∑ l Séparer les éléments de A et R qui

n'aboutissent pas à la même classe25

Page 26: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

Méthode 3 : équivalences de Nérode

¢ On répète jusqu’à ce qu'il n'y ait plus d’éclatement possible

¢ On obtient la description d'un nouvel AFD dont l’état initial est l’état contenant q0 et dont les états finaux sont les états contenant un état final de l'automate de départ

26

Page 27: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

Méthode 3 : équivalences de Nerode - exemple

¢ Au départ 2 classes l A = {q3,q4}l R = {q0,q2,ø}

¢ On remplace A et R dans la table de transition, et on regarde si Ǝ des partitions

27

a b cà q0 R R R

q2 R A A* q3 R R R* q4 R R R

ø R R R

a b cà q0 R R R

q2 R A A* q3 R R R* q4 R R R

ø R R R

q0,q2,ø ∈ R

q3,q4 ∈ A

Page 28: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

Méthode 3 : équivalences de Nerode - exemple

¢ Au départ 2 classes l A = {q3,q4}

• Pas de séparation car transitions sur a,b,c à ø

l R = {q0,q2,ø}• On voit 2 ensembles : R1 = {q2} ; R2 = {q0,ø}• On remplace dans la table de transition

28

a b cà q0 R R R

q2 R A A* q3 R R R* q4 R R R

ø R R R

a b cR1 R2 R2R2 A AR2 R2 R2R2 R2 R2R2 R2 R2

q0,q2,ø ∈R

a b cq0 R R Rq2 R A Aq3 R R Rq4 R R Rø R R R

Page 29: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

a b cà q0 R1 R2 R2

q2 R2 A A* q3 R2 R2 R2* q4 R2 R2 R2

ø R2 R2 R2

Méthode 3 : équivalences de Nerode - exemple

¢ Au départ 2 classes l A = {q3,q4}

• Pas de séparation car transitions sur a,b,c à ø

l R = {q0,q2,ø}• Puis R1 = {q2} et R2 = {q0,ø}

• On voit 2 ensembles : R21 = {q0} et R22 = {ø}

a b cR1 R22 R22R22 A AR22 R22 R22R22 R22 R22R22 R22 R2229

Il n’y a pas de nouvel ensemble possible !

Page 30: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

Méthode 3 :équivalences de Nérode - exemple

¢ Au final on a 4 ensembles l A = {q3,q4}l R1 = {q2} l R21 = {q0} l R22 = {ø}

¢ On obtient un AFD à 3 états

30

a b cà q0 q2 ø ø

q2 ø q3 q4* q3 ø ø ø* q4 ø ø ø

ø ø ø ø

Page 31: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

FLAPIntroduction, fonctionnalités, installation, utilisation

31

Page 32: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

Introduction

¢ FLAP est un logiciel pour expérimenter les langages formels, les automates finis déterministes, les automates à pile, les machines de Turing, plusieurs types de grammaires, etc.l http://www.jflap.org/

32

Page 33: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

Fonctionnalités

¢ Permet de

l Construire et de tester des automates sur des mots

l Convertir une expression régulière en un AF et inversement

l Déterminiser un AFNDl Minimiser un AFD l Comparer 2 automates l …

33

Page 34: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

Installation

¢ Logiciel gratuit sous Java

¢ Nécessite de remplir un formulaire

¢ Il est recommandé d’utiliser la version 7 plutôt que la version 8 beta

34

Page 35: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

Utilisation

¢ Cliquer sur « Finite Automaton »

35

Page 36: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

Utilisation

¢ Dessinez votre automate

36

Page 37: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

Utilisation

¢ Testez votre automate

37

Page 38: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

Utilisation

¢ Minimiser votre automate

38

Page 39: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

Utilisation

¢ Automate ó Expression régulière

39

Page 40: Université Galatasaray...en un AFD ayantle nombre minimal d'états et qui reconnaît le même langage l Importance pratique évidente = gain d'espace qu'elle permet l ∃ plusieurs

Conclusion

¢ 4ème cours : Automates Finis l Minimisation d’un automatel Exercices d’application

¢ Les prochaines fois l Automates finis et expressions régulièresl Grammaires régulières l Automates à pile et langages hors-contextel Machines de Turing

40