← Retour

Le Langage, la Grammaire et l’Automate Eléments de langages formels et d’automates

par: ElKamel Merah
Disponible
Pages 284
Dimensions 16*23,5
Publication 2022-02-04
Éditeur —
Papier : 1 300.00 DA Numérique: 650.00 DA

AUcune formation informatique ne peut et ne doit ignorer la présence du cours de théorie des langages dans le cursus d’un informaticien. Un fondement de la science informatique, comme c’est le cas en physique avec la mécanique classique. Ce livre, moderne, clair et à jour, est destiné à tous les étudiants désireux de connaître les éléments essentiels des langages formels et des automates. Il est une introduction aux langages et grammaires formels selon Chomsky et aux modèles d’automates. Il s’adresse en particulier aux étudiants en informatique des deux premiers cycles universitaires et aux étudiants ingénieurs des écoles supérieures. Ce livre, que je recommande vivement, peut parfaitement servir de support au cours (textbook) sur la théorie des langages pour les enseignants. Ils y trouveront également des exercices avec solutions à la fin de chaque chapitre, une quarantaine d’exercices en tout, sans compter les nombreux exemples qui accompagnent cet ouvrage et un projet de programmation en langage C. Cinq examens finaux corrigés et plus de 50 exercices non corrigés sont également proposés.

Afficher la table des matières
Préface iii
Avant-propos v
1 Langages 1
1 Symbole 2
2 Alphabet 2
3 Mot 3
3.1 Opérations de base sur les mots 3
4 Langages 7
4.1 Opérations sur les langages 8
5 Trois questions fondamentales 11
6 Exercices avec solutions 13
2 Grammaires formelles 15
1 Introduction 16
2 Grammaire formelle 17
3 Dérivation 19
4 Langage engendré par une grammaire 21
4.1 Équivalence de deux grammaires 22
5 Classification de Chomsky 23
5.1 Grammaire générale 23
5.2 Grammaire de type 1 24
5.3 Grammaire hors-contexte 27
5.4 Grammaire régulière 27
5.5 Le mot vide 28
6 Notion d’automate
7 Exercices avec solutions 31
3 Langages réguliers 35
1 Grammaires régulières 37
2 Automates finis 38
2.1 Automates finis déterministes 39
2.1.1 Configuration et dérivation 40
2.1.2 Langage accepté par un automate fini 42
2.1.3 Représentations d’un automate fini 44
2.1.4 Automates équivalents et automates complets 46
2.2 Automates finis non-déterministes 48
2.3 Déterminisation d’automates finis 52
2.3.1 Élimination des ε-transitions 58
2.4 Minimisation d’automates finis 61
2.4.1 Indistinguabilité 62
2.4.2 Congruence de Nerode 64
2.4.3 Classe d’équivalence 65
2.4.4 Automate quotient 65
2.4.5 Congruence pour des mots 66
2.4.6 Algorithme de Moore 67
3 Automates finis et grammaires régulières 71
3.1 Grammaire régulière à partir d’un automate fini 71
3.2 Automate fini à partir d’une grammaire régulière 72
4 Propriétés des langages réguliers 74
4.1 Propriétés ensemblistes des langages réguliers 74
4.2 Lemme de pompage pour les langages réguliers 81
4.3 Problèmes de décision 85
5 Expressions régulières 87
5.1 Définitions 88
5.2 Propriétés algébriques 89
6 Automates finis et expressions régulières 90
6.1 Automate fini à partir d’une expression régulière 91
6.2 Expression régulière à partir d’un automate fini 97
6.2.1 Méthode de Brzozowsky et McCluskey 97
6.2.2 Méthode des équations 101
7 Exercices avec solutions 108
8 Projet de programmation en langage C
4 Langages hors-contexte 115
1 Grammaires hors-contexte 117
1.1 Dérivations 119
1.2 Arbres de dérivation 120
1.3 Ambiguïté 123
2 Propriétés des langages hors-contexte 131
2.1 Propriétés ensemblistes des langages hors-contexte 131
2.2 Lemme de pompage pour les langages hors-contexte 133
2.3 Problèmes de décision 134
3 Transformations des grammaires hors-contexte 135
3.1 Grammaires réduites 136
3.1.1 Élimination des symboles non productifs 136
3.1.2 Élimination des symboles inaccessibles 138
3.2 Grammaires propres 140
3.2.1 Élimination des règles vides 141
3.2.2 Élimination des règles unitaires 144
3.3 Grammaires récursives à gauche 146
3.4 Forme normale de Chomsky 151
3.5 Forme normale de Greibach 153
4 Automates à pile 155
4.1 Configuration et calcul d’un automate à pile 158
4.2 Langage accepté par un automate à pile 160
4.3 Déterminisme versus non-déterminisme 163
5 Automates à pile et grammaires hors-contexte 166
5.1 Automate à pile à partir d’une grammaire hors-contexte 167
6 Exercices avec solutions 169
5 Langages récursivement énumérables 171
1 Grammaires générales 173
2 Machine de Turing 176
2.1 Configuration et calcul d’une machine de Turing 179
2.2 Langage accepté par une machine de Turing 181
3 Langages récursivement énumérables 184
3.1 Langages récursifs 184
3.2 Langages récursivement énumérables 185
3.3 Discussion 185
4 Déterminisme versus non-déterminisme
5 Machine de Turing comme calculateur 186
6 Exercices avec solutions 188
Annexes 191
A Solutions des exercices 193
A.1 Chapitre 1 193
A.2 Chapitre 2 195
A.3 Chapitre 3 199
A.4 Chapitre 4 209
A.5 Chapitre 5 217
B Examens finaux 222
B.1 Examen final n°1 222
B.2 Examen final n°2 224
B.3 Examen final n°3 226
B.4 Examen final n°4 228
B.5 Examen final n°5 229
C Corrigés des examens finaux 231
C.1 Corrigé de l’examen final n°1 231
C.2 Corrigé de l’examen final n°2 235
C.3 Corrigé de l’examen final n°3 239
C.4 Corrigé de l’examen final n°4 242
C.5 Corrigé de l’examen final n°5 245
D Exercices non corrigés 248
D.1 Chapitre 1 248
D.2 Chapitre 2 249
D.3 Chapitre 3 251
D.4 Chapitre 4 257
D.5 Chapitre 5 261
Bibliographie 263
Index

Avis des lecteurs

Aucun avis pour le moment.