Cours 1 : Introduction
Introduction
- Automate :
-
modèle extrêmement réduit de MT : ne peut pas écrire sur le ruban, et va toujours à droite
MAIS : en contrepartie : il y a très peu de propriétés qu’on ne peut pas décider sur les langages rationnels (contrairement aux MT, où Riesz nous condamne)⟶ bonnes propriétés algorithmiques
Langages rationnels = une boîte à outils utilisée en
- Algorithmique
- Logique
- Intelligence artificielle
Différents points de vue équivalents :
-
Reconnaissance par automates :
⟶ opérationnel
-
Expressions rationnelles :
⟶ dénotationnel
-
Logique :
-
Logique du premier ordre : ensemble des modèles considérés = les mots finis
-
ordre + prédicat unaire ⟶ logique du premier ordre
-
quantification sur les ensembles des propositions ⟶ logique monadique du second ordre : équivalent aux langages rationnels
- Algèbre :
- Reconnaissance par monoïdes finis : homomorphisme entre le monoïde libre et des quotients de monoïde (en fonction des états de l’automate)
NB : points de vue équivalents, mais passer d’une représentation à l’autre : plus ou moins difficile :
Exs :
- passer d’un automate à une ER : exponentiel
- passer d’une logique MSO à un automate/ER : tour d’exponentielle
PUIS : extension des langages rationnels qui capturent une classe de langages plus large
⟶ Langages Algébriques :
Différents points de vue :
- Automates à pile
- Grammaires algébriques
- ex: pour les compilateurs : on écrit une grammaire algébrique, puis traduction en automates à piles
Ex :
Programme en assembleur ⟶ pile d’appels ⟶ se modélise naturellement à l’aide d’automates à pile
Automates finis
- Automate fini (NFA) :
-
Un tuple
où : est un ens. fini d’états un alphabet fini-
NB : inclure
revient à autoriser la MT à rester sur place ens. d’états intiaux et finals
Sémantique
- Exécution de
: -
Une séquence
où : - Exécution initiale :
-
- Exécution finale :
-
- Exécution acceptante :
-
initiale et finale
Notations :
- On étend
aux mots :
- Langage de
: -
- Un automate est sans
-transitions : -
si
Réprésentation : par listes d’adjacences, donc
Lemme : Pour tout NFA, on peut construire un NFA équivalent sans
-transitions de taille en temps
Preuve :
Soit
On construit
où :
Soit
En identifiant les
On trouve dans
et
et peut être construit en
Pour chaque état, on trouve les états accessibles par une séquence d’
Exemples :
Automate
(avec clôture transitive pour les
Complexité :
Propriétés de clôture
Prop : Les langages reconnaissables par automates sont fermés par :
- union (juxtaposition des automates, avec complexité
) - concaténation (on lie les états finals du premier aux états initiaux du second par des
-transitions en passant par un état intermédiaire (complexité ) l’étoile de Kleene (on lie les états finals aux états initiaux par des
-transitions en passant par un état intermédiaire (complexité )
- NB : on passe par un état intermédiaire pour ne pas rajouter de boucles supplémentaires à l’intérieur de l’automate
NB : pas fermé par complémentation, si l’automate n’est pas déterministe ET complet.
- Déterministe :
-
- Complet :
-
Pourquoi ça marche avec les automates déterministes complets ?
- ⟶ car pour tout état
, il existe une unique exécution sur commençant en : -
Si
DONC
Prop : Pour un automate
, on peut construire un automate reconnaissant de taille en temps
Déterminiser l’automate prend un temps exponentiel en le nombre d’états, et il n’y a pas moyen de faire mieux.
- Intersection :
On n’est pas fou, on ne va le faire en utilisant l’union et la complémentation (complémentation exponentielle !), il y a bien plus efficace avec l’automate produit (coût quadratique, et on ne peut pas faire mieux) :
- Transposition : en
, trivialement
- Morphisme :
-
défini sur les générateur
-
Fermeture par morphisme :
devient
-
Fermeture par morphisme inverses :
devient
On montre que
(l’autre inclusion étant triviale) -
Shuffle (mélange) :
Prop : Les langages reconnaissables sont fermés par mélange
Pour
et , on construit :
Expressions rationnelles
Syntaxe :
L’ensemble des expressions rationnelles sur
NB : les opération d’union, de concaténation et l’étoile de Kleene sont aussi appelées “opérations rationnelles”.
Sémantique :
est défini inductivement
NB :
-
-
l’ensemble des langages rationnels est le plus petit ensemble contenant les langages finis sur
et fermé par union, concaténation, et étoile de Kleene. -
Clôture par substitution rationnelle : à chaque lettre on associe une expression rationnelle
Théorème de Kleene
Th de Kleene :
:
Construction de THOMSON par induction sur
- automate standard
: -
, et pas de transition entrantes dans ni de transition sortante de
On définit la taille alphabétique
- Construction de Thomson par induction sur
: - Construction de Glushkov :
- Construction d’Antimirov :
- Construction d’Hromovic :
:
Construction par élimination d’états : Mc Naughton Yamada :
La matrice d’adjacence donne une table des
si sinon si
On ordonne les états de
Montrons que les langages
Par réc sur
Cette construction se fait en
Exemple :
On va construire un automate tel qu’il n’y a pas d’ER de taille inférieure à
Automate
Relations rationnelles
- Transducteur fini :
-
un tuple
, où : ens. fini d’états alphabets finis fini ens. intiaux et finals
Sémantique :
Une exécution sur
- Exécution acceptante :
-
si
,
La relation définie par
Exs :
Relation identité :
Relation
On remplace les transitions étiquetées par
Relation
Relation
On remplace les transitions étiquetées par
Th : Les langages rationnels sont fermés par relations rationnelles.
Preuve :
Soit
et
on construit
Lemme :
, où
Dém : trivial
NB : Pour
ça généralise ce qu’on a fait précédemment.
Leave a comment