L3 – Fondements de l’informatique (Année 2013/2014) A. Lagoutte & P. Valicov
DM FDI - Automates finis
A rendre pour le vendredi 15 novembre 2013 à 16h dans le casier de votre chargé de TD.
SoitLun langage sur un alphabetΣ. Quelques notations, oùaetbsont des lettres deΣ(non nécessairement distinctes).
prefixe :a∈ P(L) ⇔ a∈ΣetaΣ∗∩L6=∅ suffixe :a∈ S(L) ⇔ a∈ΣetΣ∗a∩L6=∅
facteur :ab∈ F(L) ⇔ ab∈Σ2 etΣ∗abΣ∗∩L6=∅ non facteur :N(L) = Σ2\ F(L) Langages Locaux.
Un langageLsurΣest ditlocalsiL\ {}= (P(L)Σ∗∩Σ∗S(L))\Σ∗N(L)Σ∗. 1. Montrer que tout langage local est rationnel.
2. (abc)∗ est-il local ? eta∗ba?
3. Les langages locaux sont-ils stables par union ? par concaténation ?
Un morphisme strictement alphabétique est une applicationϕ:X∗ →Y∗telle que – ϕ(uv) =ϕ(u)ϕ(v)
– pour touta∈Σ,|ϕ(a)|= 1
4. Montrer que tout langage rationnelL est l’image d’un langage local par un morphisme strictement alphabétique. (indication : on pourra utiliser un AFD ou un AFND qui recon- naitLet utiliser l’alphabetQ×Σ×Q)
Automates locaux.
Un AFDA= (Q, i, F, δ)est ditlocalsi∀a,∃qtq∀q0, δ(q0, a) =qou est indéfini1.
5. Montrer que tout langage local sur un alphabetΣest reconnu par un automate local stan- dard, dont l’ensemble des états estΣ∪ {}.
6. Réciproquement, montrer que tout langage reconnu par un automate local est lui-même local.
7. SoitL1etL2deux langages locaux sur des alphabetsXetY disjoints. Montrer queL1∪L2, L1·L2etL∗1sont des langages locaux.
Algorithme de Berry-Sethi
Une expression rationnelleesur un alphabetΣest ditelinéairesi chaque lettre deΣpossède au plus une occurrence danse.
8. Comment construire très facilement un alphabetΣ0et un morphisme alphabétique ϕ: Σ0∪ {(,),+,∗} →Σ∪ {(,),+,∗}avecϕ(+) = +,ϕ(∗) = ∗,ϕ(() = (etϕ()) = )tel que pour toute expression rationnellee, il existe une expression rationnelle linéaire e0 surΣ0 vérifiantϕ(e0) =e.
9. Soiteune expression rationnelle linéaire. Montrer queL(e)est un langage local.
10. Que pensez-vous de la réciproque : sieest une expression rationnelle etL(e)est un lan- gage local alorseest linéaire ?
1. C’est à dire que les transitions étiquetées par une lettreadonnée arrivent toutes dans un même état, qui ne dépend donc que dea.
1
11. Définir par induction structurelle : – λ:e7→ {} ∩L(e)
– P :e7→ P(L(e)) – S :e7→ S(L(e)) – F :e7→ F(L(e))
Voici l’algorithme de Berry-Sethi qui permet d’associer à une expression rationnelleeun auto- mate fini reconnaissantL(e):
(a) Construire une version linéairee0dee, en mémorisant l’encodage alphabétique ; (b) ConstruireP(e0),S(e0)etF(e0);
(c) Construire un AFDA0 reconnaissantL(e0);
(d) Décoder les étiquettes des transitions deA0pour obtenir un AFD reconnaissantL(e).
12. Appliquer Berry-Sethi à((ab(ac)∗+ca)∗b)∗.
Voici la phrase qui conclut l’article2dont est tiré le DM de taupe dont est tiré ce DM :
"Berry and Sethi have given an unusual proof of a well-known result, namely that every ratio- nal language is the homomorphic image of a local language."
2. cosigné par Jean BERSTELet Jean-Éric PIN
2