• Aucun résultat trouvé

THL (Théorie des langages) Programme du cours

N/A
N/A
Protected

Academic year: 2022

Partager "THL (Théorie des langages) Programme du cours"

Copied!
2
0
0

Texte intégral

(1)

THL (Théorie des langages) Programme du cours

David A. Madore 22 mars 2021

INF105

Git :a53a9ae Mon Mar 22 15:29:23 2021 +0100

1. Présentation générale. Alphabet, mots, langages. Opérations et notions sur les mots : concaténation de deux mots, longueur d’un mot ; préfixe, suffixe, facteur, sous-mot et mot miroir.

Opérations sur les langages : opérations booléennes (complémentaire, union, intersection), concaténation, étoile de Kleene.

2.Définition des langages rationnels. Expressions rationnelles.

Automates finis : automates déterministes (DFA), automates déterministes à spécification incomplète (DFAi), automates non déterministes (NFA), automates non déterministes à transitions spontanées (ε-NFA).

3.Équivalence entre DFA, DFAi, NFA etε-NFA. Langages reconnaissables.

Stabilité des langages reconnaissables par complémentaire, union, intersec- tion ; stabilité par concaténation et étoile de Kleene.

Les langages rationnels sont reconnaissables. Automate de Glushkovou (au choix) automate de Thompson d’une expression rationnelle.

4. Automates à transitions étiquetées par des expressions rationnelles (informel- lement), équivalence avec les autres sortes d’automates, équivalence avec les ex- pressions rationnelles (par élimination des états =algorithme de Kleene). Équiva- lence entre langages rationnels et reconnaissables.

Énoncé et démonstration du lemme de pompage pour les langages rationnels (=reconnaissables).

5.Exemples d’utilisation du lemme de pompage.

DFA minimal (=canonique). Algorithme de minimisation (=algorithme de Moore). (On insistera plus sur l’aspect algorithmique que sur la formulation théo-

∗. On conviendra d’utiliser la notion d’automate déterministecomplet, et la première étape de minimisation sera de compléter l’automate en lui ajoutant éventuellement un puits.

1

(2)

rique du théorème de Myhill-Nerode.) Conséquence : on peut décider algorithmi- quement si deux expressions rationnelles sont équivalentes.

6.TD sur les automates finis et langages rationnels.

7.Grammaires hors contexte, langages algébriques (=définis par une grammaire hors contexte). Dérivations, dérivations gauches et droites. Arbre d’analyse (=de dérivation). Ambiguïté (grammaires inambiguës et ambiguës, exemple sans dé- monstration de langage intrinsèquement ambigu).

Stabilité des langages algébriques par réunion, concaténation et étoile de Kleene.

Les langages rationnels sont algébriques : d’après ce qu’on vient de dire et direc- tement en associant une grammaire à un DFA ou NFA.

8.L’intersection d’un langage algébrique et d’un langage rationnel est algébrique (admis sans démonstration).

Lemme de pompage pour les langages algébriques (admis sans démonstration, mais on peut esquisser l’idée).

L’appartenance d’un mot au langage défini par une grammaire hors contexte est algorithmiquement décidable (l’énoncer et éventuellement expliquer une ap- proche possiblesi le temps le permet).

Selon le temps disponible : quelques notions sur l’analyse syntaxique en pra- tique : notion d’analyseurs descendants et ascendants (sans entrer dans les détails).

9.TD sur les grammaires hors contexte et langages algébriques.

10.Éléments de calculabilité§: algorithme, terminaison d’un algorithme, thèse de Church-Turing.

Ensembles/langagesdécidables (=calculables, =récursifs) et semi-décidables (=semi-calculables, =récursivement énumérables). Un ensemble est décidable ssi lui et son complémentaire sont semi-décidables. Un ensemble est semi-décidable ssi il est (vide ou) énuméré par une fonction calculable.

11.Notion de machine universelle. Indécidabilité du problème de l’arrêt.

Petit TD sur la calculabilité.

†. Je propose pour gagner du temps de ne faire que mentionner au passage le fait qu’il existe des grammaires plus générales, sans entrer dans les détails.

‡. Par ex., en montrant qu’on peut trouver une grammaire monotone équivalente ; ou bien esquisser comment on peut mettre la grammaire sous forme normale de Chomsky et utiliser l’al- gorithme de programmation dynamique (CYK) ?

§. Mieux vaut sans doute ne pas perdre de temps à introduire un modèle de calculabilité parti- culier (machine de Turing ou fonctions générales récursives, par exemple) : insister sur le fait que tout langage de programmation raisonnable, suffisamment idéalisé, est équivalent.

¶. Souligner qu’ici contrairement au reste du cours, on peut indifféremment considérer des ensembles d’entiers naturels ou de mots.

2

Références

Documents relatifs

Quel est le type de Chomsky du langage engendré par cette nouvelle

→ est sûrement plus efficace qu’une machine de Turing déterministe. × permet d’aboutir à une réponse là où les machines

Attention, dans ces qcms il y a toujours une et une seule réponse valable.?. 2.2

EPITA – Promo 2008 Juillet 2006. Il y a toujours exactement une seule

× peut ne pas être inclus dans un langage défini par une grammaire. → est toujours inclus dans un langage rationnel Soit L r est un

Un des problème des automates à pile est que le calcul se bloque dès que la pile devient vide. Cette difficulté peut être contournée en utilisant des automates à fond de pile

Étant donnée la sémantique voulue et pour que ‘,’ se comporte comme ‘&’ en shell dans une phrase comme ‘p, q; r’, quelles associativités sont naturelles pour ‘,’

Montrer que l’on a deux conflits shift/reduce entre d’une part les règles des opérateurs binaires, et d’autre part la règle de l’opérateur postfixe.. Dire dans chacun des cas