• Aucun résultat trouvé

Langages formels et automates – cours 1 Introduction et rappels de maths discrètes Catalin Dima

N/A
N/A
Protected

Academic year: 2022

Partager "Langages formels et automates – cours 1 Introduction et rappels de maths discrètes Catalin Dima"

Copied!
24
0
0

Texte intégral

(1)

Langages formels et automates – cours 1

Introduction et rappels de maths discrètes

Catalin Dima

(2)

Objectifs du cours

Introduction en théorie d’automates finis.

Modélisation des systèmes par des automates finis

Parallélisme, communications synchrones et asynchrones, implémentation et abstraction.

Algorithmes d’automates finis.

Dualité automates/logique.

Grammaires et hiérarchie de Chomsky.

Automates à pile et grammaires hors contexte.

(3)

Ressources et évaluation

J.M. Autebert, Théorie des langages et des automates, Masson 1994 (bibliothèque P12).

J. Hopcroft, R. Motwani, J. Ullman, Automata Theory, Languages, and Computation, Pearson/Addison Wesley, 2006.

Page web :http://lacl.univ-paris12.fr/dima/...

(4)

Ressources et évaluation

J.M. Autebert, Théorie des langages et des automates, Masson 1994 (bibliothèque P12).

J. Hopcroft, R. Motwani, J. Ullman, Automata Theory, Languages, and Computation, Pearson/Addison Wesley, 2006.

Page web :http://lacl.univ-paris12.fr/dima/...

Evaluation contrôle continu :

2 contrôles en TD.

Exos “devoir maison” :

2 exos rendus (dans les délais) vaut 1 contrôle.

Examen :

Exos de type “prouver que”

Exos de type “donner un algorithme”.

Exos “construire un automate/une grammaire/modéliser le système”.

Exos “prouver qu’on ne peut pas construire un automate/une grammaire”.

(5)

Pourquoi théorie des automates ?

Automate fini = modèle élémentaire de système informatique.

État de l’automate = état du système.

Transition dans l’automate = transition d’état dans le système.

Trace de l’automate = comportement du systême.

...

Modélisation des notions fondamentales en informatique :

Modularité = intersection d’automates.

Implémentation = inclusion de langages.

Synchronisation, indépendence, comportements défaillants,...

Bases de la compilation :

Arbres d’analyse syntaxique.

Traducteurs de langages.

Recherche de motifs.

(6)

Techniques et outils en théorie des automates

Algorithmes de graphes.

Preuves par induction.

Preuves par réduction à l’absurde.

Éléments d’algèbre des groupes/anneaux.

Analyse combinatoire.

Éléments de complexité algorithmique.

(7)

Preuves

Preuves déductives:

p,p→q⊢q (Modus ponens)

Exemple ....

(8)

Preuves

Preuves déductives:

p,p→q⊢q (Modus ponens)

Exemple ....

Preuves inductives:

P(n) : formule en logique de 1er ordre, avec une variable libre :n P(0),∀n P(n)→P(n+1)

⊢ ∀nP(n)

Exemple :

n

X

i=1

i=?

(9)

Preuves

Preuves déductives:

p,p→q⊢q (Modus ponens)

Exemple ....

Preuves inductives:

P(n) : formule en logique de 1er ordre, avec une variable libre :n P(0),∀n P(n)→P(n+1)

⊢ ∀nP(n)

Exemple :

n

X

i=1

i= n(n+1) 2

(10)

Ensembles

Formules de définition :

A= x |φ(x)

où φ(x)est une formule de premier ordre ayant la variablex libre (non-quantifiée).

Égalité d’ensembles :

x |φ(x) =

x|ψ(x)

Preuve d’uneéquivalence:∀x.φ(x)⇔ψ(x).

Donc deux preuves :∀x.φ(x)→ψ(x)et∀x.ψ(x)→φ(x).

n∈N|n=4a+6b,a,b∈N =

2k |k ∈N,k 6=1

(11)

Relations

Relation : ρ⊆A×B.

Deux fonctions associéesρ:P(A)−→ P(B)et ρ−1:P(B)−→ P(A):

ρ(X) =

y ∈B| ∃x ∈X,xρy ρ−1(Y) =

x∈A| ∃y ∈Y,xρy

(12)

Relations

Relation : ρ⊆A×B.

Deux fonctions associéesρ:P(A)−→ P(B)et ρ−1:P(B)−→ P(A):

ρ(X) =

y ∈B| ∃x ∈X,xρy ρ−1(Y) =

x∈A| ∃y ∈Y,xρy

Relation d’équivalence :ρ⊆A×Aayant les propriétés :

Reflexive :∀x∈A,xρx.

Symmétrique :∀x,y ∈A,xρy ⇒yρx.

Transitive :∀x,y,z∈A,xρy∧yρz⇒xρz.

Quotientd’un ensemble par rapport à une relation d’équivalence : A/ρ=

X ⊆A| ∀x ∈X,∀y∈A,xρy ⇒y∈X

Un élémentX ∈A/ρs’appelleclasse d’équivalence.

ThéorèmeSiX,Y ∈A/ρavecX 6=Y, alorsX∩Y =∅.

Notation : pourx∈A, la classe d’équivalence (unique !) à laquellex appartient est notée[x]ρ.

(13)

Relations (2)

Relation d’ordre :

Reflexive,antisymmétrique et transitive.

∀x,y∈A,xρy∧yρx⇒x=y

Représentation par diagramme de Hasse – on ne représente que les relations entreéléments consecutifs.

x,yAsontconsécutifspar rapport àρsi :

zA,zρxzρyz=xz=y

Ordretotal:∀x,y ∈A,xρy∨yρx.

Exemples :(N,≤),(Σ,≤lex).

Produit d’ordres : étant donnés(A, ρA)et(B, ρB), on crée un nouvel ordre(A×B, ρ)où ρest défini par

(x,x)ρ(y,y)si et seulement sixρAx etyρBy

Exercice

Si(A, ρA)et(B, ρB)sont totaux, est-ce que(A×B, ρ)sera un ordre total ?

(14)

Opérations binaires et structures algébriques

Opération binaire sur un ensemble A: ⊕:A×A−→A.

(A,⊕)est unsemigroupe si :

⊕estassociative:∀x,y,z∈A,x⊕(y⊕z) = (x⊕y)⊕z.

(A,⊕,e)est un monoïde si

⊕est associative et

e est élément neutre pour⊕:∀x∈A,x⊕e=e⊕x=x.

⊕estcommutativesi ∀x,y ∈A,x⊕y=y⊕x.

(15)

Opérations binaires et structures algébriques

Opération binaire sur un ensemble A: ⊕:A×A−→A.

(A,⊕)est unsemigroupe si :

⊕estassociative:∀x,y,z∈A,x⊕(y⊕z) = (x⊕y)⊕z.

(A,⊕,e)est un monoïde si

⊕est associative et

e est élément neutre pour⊕:∀x∈A,x⊕e=e⊕x=x.

⊕estcommutativesi ∀x,y ∈A,x⊕y=y⊕x.

(A,⊕,⊗,0,1)est un semianneau si

(A,⊕,0)est un monoïdecommutatif.

(A,⊗,1)est un monoïde.

0estabsorbantpour⊗:∀x ∈A,x⊗0=0⊗x =0.

⊗estdistributivepar rapport à⊕:

∀x,y,z∈A,x⊗(y⊕z) = (x⊗y)⊕(x⊗z).

(16)

Alphabets, mots, langages

Alphabet = ensemble fini de lettres/symboles.

Σ1={a,b,c,d,e} Σ2={0,1}

(17)

Alphabets, mots, langages

Alphabet = ensemble fini de lettres/symboles.

Σ1={a,b,c,d,e} Σ2={0,1}

Motsur un alphabetΣ= séquencefiniede lettres.

abbabcddacacacdebb 010001110101110

(18)

Alphabets, mots, langages

Alphabet = ensemble fini de lettres/symboles.

Σ1={a,b,c,d,e} Σ2={0,1}

Motsur un alphabetΣ= séquencefiniede lettres.

abbabcddacacacdebb 010001110101110

Langagesur un alphabetΣ= ensemble de mots

L1={a,ab,abc,abcde}langage surΣ1 L2={an|n∈N} langage surΣ1

L3={1w0|w nombre binaire quelconque}langage surΣ2

(19)

Alphabets, mots, langages

Alphabet = ensemble fini de lettres/symboles.

Σ1={a,b,c,d,e} Σ2={0,1}

Motsur un alphabetΣ= séquencefiniede lettres.

abbabcddacacacdebb 010001110101110

Langagesur un alphabetΣ= ensemble de mots

L1={a,ab,abc,abcde}langage surΣ1 L2={an|n∈N} langage surΣ1

L3={1w0|w nombre binaire quelconque}langage surΣ2

Ensemble (langage) detous les mots sur Σnoté Σ.

(20)

Opérations et relations sur les mots

Concaténation :abcc·cdaba=abcccdaba.

Mot vide :ε.

Σ,·, ε

est un monoïde

(21)

Opérations et relations sur les mots

Concaténation :abcc·cdaba=abcccdaba.

Mot vide :ε.

Σ,·, ε

est un monoïde (commutatif ?...)

(22)

Opérations et relations sur les mots

Concaténation :abcc·cdaba=abcccdaba.

Mot vide :ε.

Σ,·, ε

est un monoïde

Longueur :|abccbabcba|=10

| · |: Σ−→Nest unmorphisme de monoïdes.

Nombre de lettres :#a(abccbabcba) =3.

#a: Σ−→Nest lui aussi un morphisme de monoïdes.

Préfixe :abcde abcdeeabece maisabcde 6ababcde

Σ,

est une relation d’ordretotale.

Similaire : suffixe, infixe.

Sous-mot :

abcd ⊑abbabacbd

(23)

Opérations sur les langages

Concaténation étendue aux langages.

L1·L2=

w1·w2|w1∈L1,w2∈L2

P(Σ),∪,·,∅,{ε}

est un semianneau.

Qu’en est-il de P(Σ),∩,·,?,{ε}

?

Quotient gauche de langages : w\L=

z∈Σ|wz∈L

Peut s’étendre à deux langagesL1\L2.

Propriété de liaison avec l’union ?

Quotient droit de langages : L\w =

z∈Σ|zw ∈L

(24)

Opérations sur les langages (2)

Étoiled’un langage : L=

w1w2. . .wk |k ∈N,w1,w2, . . . ,wk∈L L+=

w1w2. . .wk |k ≥1,w1,w2, . . . ,wk∈L

ε∈Lpour toutL,même quandL=∅!

Exemple...

Shuffle de mots : w1 w2=

a1b1a2. . .akbk|k ∈N,w1=a1a2. . .ak,w2=b1b2. . .bk

Exemple...

Peut s’étendre à deux langagesL1 L2.

P(Σ),∪, ,∅,{ε}

est un semianneau aussi !

Références

Documents relatifs

– Si le symbole est un non terminal, l’attribut pourrait être une donnée calculée en utilisant les actions sémantiques. – Une grammaire avec des attributs est appelée

• Pour aller au-delà, il faut utiliser d’autres outils ou des méthodes adhoc pour évaluer les attributs (avec l’aide

• Pouvoir programmer un analyseur syntaxique récursif pour une grammaire donnée. • Connaître les fondements d’un générateur d’analyseur syntaxique LL tel

AFD pour préfixes viables, avec état initial I0 et fonction de transition goto Initialement la pile contient I0.. L’état I2 contient élément Shift (T ® T.*F) et un élément

- Pour montrer que la grammaire n’est pas LR(0), on montre que l’AFD correspon- dant pour les préfixes viables a au moins un état contenant à la fois un élément shift et

– Un AFD LALR(1) est obtenu de l’AFD LR(1) en fusionnant les états identiques pour les éléments LR(0) (seuls les composantes lookahead diffèrent). – Une table d’analyse

 Réponse : L est un langage régulier parce que le nombre de configuration de l’automate A est borné, on pourrait donc le simuler par un automate fini dont les états

b) Repr´esenter la table de multiplication du mono¨ıde syntaxique de L. En particulier, d´eterminer les classes d’´equivalence de ≡ L qui contiennent une infinit´e