Automates, Applications finies
📄️ Automates finis et langages
Un algorithme est réalisé dans le but de résoudre un problème. Nous commençons
📄️ Automates finis et langages - Expression régulières et théorème de Kleene
Grâce au chapitre précédent nus pouvons représenter $x$ par un mot,
📄️ Langages non réguliers
Au chapitre précédent, nous avons étudié les langages réguliers. Nous avons particulièrement montré que les langages réguliers. Ainsi donc, le problème de décision $\omega \in L$ peut être résolu par un automate fini uniquement si $L$ est un langage régulier. Il se pose donc la question de l'existence de langages non réguliers. Nous allons tout d'abord montrer l'existence de tels langages, puis nous donnons une condition nécessaire pour qu'un langage soit régulier. La négation de cette condition nécessaire donne une condition suffisante pour qu'un langage ne soit pas régulier, et donc pour prouver l'irrégularité.
📄️ Grammaires
Un automate fini est une description analytique d'un langage régulier elles explicitent des règles de construction des mots du langage. Nous connaissans déjà la notion de grammaires en lagage naturel. Par exemple, en français, une phrase déclarative à la forme : "sujet" + "verbe" + "complément". La grammaire a pour rôle de fixer la structure des phrases. En informatique, les grammaires sont couramment utilisées pour définir la syntaxe des langages de programmation et pour construire les compilateurs.
📄️ Non-déterminisme et déterminisation
Nous avons introduit au chapitre 1 une distinction entre automates finis
📄️ Automate minimal et minimisation
Nous avons vu au chapitre précédent que tout langage régulier est accepté par un automate fini déterministe. Cependant, il n'y a pas un unique automate fini (déterministe) qui accepte un langage régulier
📄️ Automates finis et application - TD1
Langages et automates finis
📄️ Automates finis et application - TD2
Expression régulières
📄️ Automates finis et application - TD3
Exercice 1
📄️ Automates finis et application - TD4
Exercice 1
📄️ Automates finis et application - TD5
Merci à Aurélien et Fabien pour la prise de note durant les séances de questions réponses.
📄️ Automates finis et application - TD6
Merci à Aurélien et Fabien pour la prise de note durant les séances de questions réponses.
Objectif du cours
Les automates finis permettent de modéliser des programmes informatiques à mémoire finie. Ils permettent de résoudre des problèmes à un niveau d'abstraction élevé, sans s'encombrer des spécificités d'un langage donné, et en se concentrant sur les invariants à maintenir pour parvenir à une solution.
L'enseignement aborde des notions théoriques (automates finis, langages réguliers, expressions régulières, équivalence de ces trois formalismes, non-déterminisme, automate minimal, lemme de l'étoile) ainsi que leur utilisation pour la résolution de problèmes concrets.
Ressources pédagogiques
Le support de cours
Thème | Sujet de TD |
---|---|
Automates finis et language | td1-sujet |
Expressions régulières et théorème de Kleene | td2-sujet |
Langages non réguliers | td3-sujet |
Grammaires | td4-sujet |
Non déterminisme et déterminisation | td5-sujet |
Automate minimal et minimisation | td6-sujet |
Introduction à l'analyse lexicale | td7-sujet |