Automate Fini Non-d´ eterministe Th´ eor` eme de Kleene
Aspects Th´eoriques de l’Informatique Licence 3 informatique
S´ebastien Verel [email protected]
http://www-lisic.univ-littoral.fr/~verel
Universit´e du Littoral Cˆote d’Opale Laboratoire LISIC Equipe OSMOSE
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Objectifs de la s´ eance 03
Connaitre la d´efinition d’un automate fini non-d´eternimiste Savoir d´eterminiser un automate
Savoir construire un automate `a ´etat fini reconnaissant un language rationnel simple
Connaˆıtre le th´eor`eme de Kleene
Questions principales du jour :
Comment d´efinir des automates reconnaissant un langage de mani`ere simple ?
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Objectifs de la s´ eance 03
Connaitre la d´efinition d’un automate fini non-d´eternimiste Savoir d´eterminiser un automate
Savoir construire un automate `a ´etat fini reconnaissant un language rationnel simple
Connaˆıtre le th´eor`eme de Kleene Questions principales du jour :
Comment d´efinir des automates reconnaissant un langage de mani`ere simple ?
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
R´ ef´ erences
Rappels de r´ef´erences concernant les langages et les automates : www-igm.univ-mlv.fr/~Eberstel/Elements/Elements.
html
S. Julia, deptinfo.unice.fr/~julia/IT/
www.polytech.unice.fr/~claudine
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Plan
1 Introduction
2 Automate Fini Non-d´eterministe
3 D´eterminisation
4 Th´eor`eme de Kleene
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Equivalence expression r´ eguli` ere et langage rationnel
Th´eor`eme (admis)
Un langage est rationnel (ou r´egulier) si et seulement si
il est d´ecrit par une expression r´eguli`ere.
Cardinalit´e
L’ensemble des langages rationnels est d´enombrable. Remarque : il existe beaucoup de langage non rationnel...
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Equivalence expression r´ eguli` ere et langage rationnel
Th´eor`eme (admis)
Un langage est rationnel (ou r´egulier) si et seulement si
il est d´ecrit par une expression r´eguli`ere.
Cardinalit´e
L’ensemble des langages rationnels est d´enombrable.
Remarque : il existe beaucoup de langage non rationnel...
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Automate Fini D´ eterministe (AFD)
Automate Fini D´eterministe (AFD)
UnAutomate Fini D´eterministeest un quintuplet (Q,Σ,T,q0,A) avec :
Σ est l’alphabet de l’automate,
Q un ensemble fini appel´eensemble des ´etats de l’automate, T est une application de Q×Σ dansQ, appel´ee lafonction de transition
q0 est un ´el´ement deQ, appel´e l’´etat initial
A est un sous-ensemble deQ, appel´e l’ensemble des ´etats acceptants.
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Automate Fini D´ eterministe (AFD)
Automate Fini D´eterministe (AFD)
UnAutomate Fini D´eterministeest un quintuplet (Q,Σ,T,q0,A) avec :
Σ est l’alphabet de l’automate,
Q un ensemble fini appel´eensemble des ´etats de l’automate, T est une application de Q×Σ dans Q, appel´ee lafonction de transition
q0 est un ´el´ement deQ, appel´e l’´etat initial
A est un sous-ensemble deQ, appel´e l’ensemble des ´etats acceptants.
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Exemple
a
1 2
3 4 b
a
b b a
a,b
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Langage reconnu par un automate
fonction de transition it´er´ee
Lafonction de transition it´er´eeest l’application T∗:Q×Σ∗→Q d´efinie par :
base : si w =alors T∗(q,w) =q induction : siw =w0x avecx ∈Σ alors T∗(q,w) =T(T∗(q,w0),x)
Langage d´ecid´e
SoientM est un automate d’alphabet Σ etLun langage sur Σ M d´ecideL ssiL est l’ensemble des mots accept´es par M.
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Reconnaissance d’un langage de cardinal 1
Soit Σ un alphabet etL={u} un langage sur Σ de cardinal 1.
u s’´ecrit alors commeu =a1a2a3. . .an avec∀i ai ∈Σ.
Automate reconnaissant le langageL: a2
1 2 3
a1 an
... n+1
0
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Reconnaissance d’un langage de cardinal 1
Soit Σ un alphabet etL={u} un langage sur Σ de cardinal 1.
u s’´ecrit alors commeu =a1a2a3. . .an avec∀i ai ∈Σ.
Automate reconnaissant le langageL:
a2
1 2 3
a1 an
... n+1
0
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Reconnaissance d’un langage de cardinal 1
Soit Σ un alphabet etL={u} un langage sur Σ de cardinal 1.
u s’´ecrit alors commeu =a1a2a3. . .an avec∀i ai ∈Σ.
Automate reconnaissant le langageL: a2
1 2 3
a1 an
... n+1
0
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Quelques difficult´ es pratiques
Il n’est pas ”pratique” de devoir d´efinir toutes les transitions, on aimerait :
a2
1 2 3
a1 an
n+1
...
Comment construire un automate qui reconnait deux mots ? a2
1 2 3
a1 an
n+1
...
bn
1 2 3 ... n+1
b2 b1
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Quelques difficult´ es pratiques
Il n’est pas ”pratique” de devoir d´efinir toutes les transitions, on aimerait :
a2
1 2 3
a1 an
n+1
...
Comment construire un automate qui reconnait deux mots ?
a2
1 2 3
a1 an
n+1
...
bn
1 2 3 ... n+1
b2 b1
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Quelques difficult´ es pratiques
Il n’est pas ”pratique” de devoir d´efinir toutes les transitions, on aimerait :
a2
1 2 3
a1 an
n+1
...
Comment construire un automate qui reconnait deux mots ? a2
1 2 3
a1 an
... n+1 bn
1 2 3 ... n+1
b2 b1
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Plus g´ en´ eralement
Pour pouvoir d´efinir un automate qui reconnait un langage rationnel,
Il faudrait d´efinir un automate qui puisse reconnaitre :
la r´eunion de langages, la concat´enation de langages,
l’´etoile d’un langage (fermeture de Kleene).
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Plus g´ en´ eralement
Pour pouvoir d´efinir un automate qui reconnait un langage rationnel,
Il faudrait d´efinir un automate qui puisse reconnaitre : la r´eunion de langages,
la concat´enation de langages,
l’´etoile d’un langage (fermeture de Kleene).
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Plus g´ en´ eralement
Pour pouvoir d´efinir un automate qui reconnait un langage rationnel,
Il faudrait d´efinir un automate qui puisse reconnaitre : la r´eunion de langages,
la concat´enation de langages,
l’´etoile d’un langage (fermeture de Kleene).
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Plus g´ en´ eralement
Pour pouvoir d´efinir un automate qui reconnait un langage rationnel,
Il faudrait d´efinir un automate qui puisse reconnaitre : la r´eunion de langages,
la concat´enation de langages,
l’´etoile d’un langage (fermeture de Kleene).
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Introduction de non-d´ eterministes
Non-d´eterministe
En informatique,non-d´eterministe est souvent associ´e `a
”plusieurs choix possibles” par oppositiond´eterministeo`u l’op´eration ou l’action `a effectuer est unique,i.e. compl`etement d´etermin´e par l’´etat actuel du syst`eme (sans ambiguit´e).
Non-d´eterministe dans les automates
Plusieurs sources de non-d´eterministe dans les automates : Absence de transition,
Plusieurs transitions pour une mˆeme lettre, Plusieurs ´etats initiaux,
des transitions sur des mots vides : -transitions.
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Introduction de non-d´ eterministes
Non-d´eterministe
En informatique,non-d´eterministe est souvent associ´e `a
”plusieurs choix possibles” par oppositiond´eterministeo`u l’op´eration ou l’action `a effectuer est unique,i.e. compl`etement d´etermin´e par l’´etat actuel du syst`eme (sans ambiguit´e).
Non-d´eterministe dans les automates
Plusieurs sources de non-d´eterministe dans les automates : Absence de transition,
Plusieurs transitions pour une mˆeme lettre, Plusieurs ´etats initiaux,
des transitions sur des mots vides : -transitions.
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Absence de transition
lecture debbba
b
1 2
3 b
a
a
S’il n’y a plus de transition possible
et que le mot est encore en cours de lecture Alors le mot est refus´e
Remarque : remplace la technique de l’´etat ”puit”
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Absence de transition
lecture debbba
b
1 2
3 b
a
a
S’il n’y a plus de transition possible
et que le mot est encore en cours de lecture Alors le mot est refus´e
Remarque : remplace la technique de l’´etat ”puit”
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Plusieurs transitions
Lecture deaabaababet de aaaaaba
4
1 2
a,b a
a 3
b
Le mot est accept´e lorsqu’il existe au moins une lecture menant `a un ´etat acceptant.
Cons´equence : Il faut essayer tous les lectures possibles pour ˆetre sˆur que le mot est refus´e
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Plusieurs transitions
Lecture deaabaababet de aaaaaba
4
1 2
a,b a
a 3
b
Le mot est accept´e lorsqu’il existe au moins une lecture menant `a un ´etat acceptant.
Cons´equence : Il faut essayer tous les lectures possibles pour ˆetre sˆur que le mot est refus´e
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Plusieurs ´ etats initiaux
a2
1 2 3
a1 an
n+1
...
bn
1 2 3 ... n+1
b2 b1
Le mot est accept´e lorsqu’il existe une lecture `a partir de l’un des
´etats initiaux menant `a un ´etat acceptant.
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
-transistions
1 2
a b
Une-transistion est une transition par lecture du mot vide.
Pendant la lecture d’un mot, il est possible de choisir d’effectuer la transition sans lire aucune lettre.
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
D´ efinition AFN
Automate Fini Non-d´eterministe (AFN)
UnAutomate Fini Non-d´eterministe est un quintuplet (Q,Σ,T,I,A) o`u :
Σ est l’alphabet de l’automate,
Q un ensemble fini appel´eensemble des ´etats de l’automate, T est une application de Q×Σ dans P(Q), appel´ee la fonction de transition
I est un sous-ensemble de Q, appel´e l’ensembledes ´etats initiaux
A est un sous-ensemble deQ, appel´e l’ensemble des ´etats acceptants.
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Exemple
a b
→ 1 - 2
2 - 4
3 3 3
4 4,7 4
5 4 -
→ 6 5 -
7 3 -
7
a,b
a a
a,b
3 1
a a b
b 2
4
5 6
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Lecture / reconnaissance
Lecture
SoientM = (Q,Σ,T,I,A) un AFN etu =x1x2. . .xl un mot sur Σ.
Une lecture deu par M est une suite d’´etats (q0,q1, . . . ,ql) v´erifiant :
i q0∈I, et
ii qi ∈T(qi−1,xi) pour 1≤i ≤l.
Acceptation
Le motu est accept´e par M s’il existe au moins une lecture de u parM qui se termine par un ´etat acceptant.
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Lecture / reconnaissance
Lecture
SoientM = (Q,Σ,T,I,A) un AFN etu =x1x2. . .xl un mot sur Σ.
Une lecture deu par M est une suite d’´etats (q0,q1, . . . ,ql) v´erifiant :
i q0∈I, et
ii qi ∈T(qi−1,xi) pour 1≤i ≤l.
Acceptation
Le motu est accept´e par M s’il existe au moins une lecture de u parM qui se termine par un ´etat acceptant.
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Equivalence d´ eterministe / non-d´ eterministe
D´efinition ´equivalence
SoientM et M0 deux automates. On dit que M etM0 sont
´equivalents s’ils acceptent et refusent exactement les mˆemes mots.
Equivalence : D´eterministe⇒ Non-d´eterministe
L’automate d´eterministe M = (Q,Σ,T,q0,A) est ´equivalent `a l’automate non-d´eterministeM = (Q,Σ,T0,{q0},A) avec T0(q,x) ={T(q,x)}.
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Equivalence d´ eterministe / non-d´ eterministe
D´efinition ´equivalence
SoientM et M0 deux automates. On dit que M etM0 sont
´equivalents s’ils acceptent et refusent exactement les mˆemes mots.
Equivalence : D´eterministe⇒ Non-d´eterministe
L’automate d´eterministe M = (Q,Σ,T,q0,A) est ´equivalent `a l’automate non-d´eterministeM = (Q,Σ,T0,{q0},A) avec T0(q,x) ={T(q,x)}.
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Equivalence d´ eterministe / non-d´ eterministe
Equivalence : Non-d´eterministe ⇒D´eterministe (admis)
SoientM = (Q,Σ,T,I,A) un AFN. Alors M est ´equivalent l’AFD M0 d´efinit par M0 = (P(Q),Σ,T0,I,A0) avec :
T0(X,x) =∪q∈XT(q,x) A0 ={X ∈ P(Q) |X ∩A6=∅}
Remarques :
Un ´etat dans l’automate d´eterministe est un ensemble.
Un ´etat pourM0 est acceptant lorsqu’il contient un ´etat acceptant pour M.
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Algorithme de d´ eterminisation
Les mots se terminant par a :
a b
→ 0 0,1 0
1 - -
a,b
0
a 1
AFD ´equivalent :
a b
→ 0 0,1 0 0,1 0,1 0
On part de l’´etat initial et pour chaque ´etat suivant, on r´eunit l’ensemble des ´etats atteignables depuis cet ´etat.
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Algorithme de d´ eterminisation
Les mots se terminant par a :
a b
→ 0 0,1 0
1 - -
a,b
0
a 1
AFD ´equivalent :
a b
→ 0 0,1 0 0,1 0,1 0
On part de l’´etat initial et pour chaque ´etat suivant, on r´eunit l’ensemble des ´etats atteignables depuis cet ´etat.
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Algorithme de d´ eterminisation
Les mots se terminant par a :
a b
→ 0 0,1 0
1 - -
a,b
0
a 1
AFD ´equivalent :
a b
→ 0 0,1 0 0,1 0,1 0
On part de l’´etat initial et pour chaque ´etat suivant, on r´eunit l’ensemble des ´etats atteignables depuis cet ´etat.
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Algorithme de d´ eterminisation
a b
→ 0 0 2
→ 1 2 1
2 - -
On regroupe les ´etats initiaux dans un mˆeme ensemble :
a b
→ 0,1 0,2 1,2
0,2 0 2
1,2 2 1
0 0 2
2
1 2 1
est un ´etat ”puit”
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Algorithme de d´ eterminisation
a b
→ 0 0 2
→ 1 2 1
2 - -
On regroupe les ´etats initiaux dans un mˆeme ensemble :
a b
→ 0,1 0,2 1,2
0,2 0 2
1,2 2 1
0 0 2
2
1 2 1
est un ´etat ”puit”
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Et les -transistions ?
1 2
a b
Une-transistion est une transition sur un mot vide.
Pendant la lecture d’un mot, il est possible de choisir d’effectuer la transition sans lire aucune lettre.
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
D´ efinition Σ
@D´efinir les -transitions consiste `a d´efinir un alphabet Σ@ o`u il existe une lettre suppl´ementaire correspondant `a.
D´efinition de Σ@
Σ@ = Σ∪ {@}
Notonsπ@ : Σ∗@→Σ∗ la fonction (projection) qui remplace : chaque lettre de Σ par elle-mˆeme
@ par le mot vide.
Exemple
Si Σ ={a,b} alors Σ@ ={a,b,@}
etπ@(@aa@b@@b) =aabb
Remarque :@repr´esente le mot vide ,π@(u) sous-mot de u
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
D´ efinition AFN
AFN
UnAutomate Fini Non-d´eterministe avec -transitions est un quintuplet (Q,Σ,T,I,A) o`u :
Σ est l’alphabet de l’automate,
Q un ensemble fini appel´eensemble des ´etats de l’automate, T est une application de Q× Σ@ dans P(Q), appel´ee la fonction de transition
I est un sous-ensemble de Q, appel´e l’ensemble des ´etats initiaux
A est un sous-ensemble deQ, appel´e l’ensemble des ´etats acceptants.
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Acceptation
Acceptation
Un motu sur Σ est accept´e par l’AFN (Q,Σ,T,I,A) s’il existe au moins un motu@ sur Σ@ qui est accept´e par l’AFN
(Q,Σ@,T,I,A) et tel que u =π@(u@).
Intuitivement, un mot est accept´e s’il existe un parcours de l’automate avec-transitions ”spontan´ees”
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Equivalence AFN
/ AFN
Equivalence (admis)
SoientM = (Q,Σ,T,I,A) un AFN. Alors M est ´equivalent l’AFN M0 d´efinit par M0 = (Q,Σ,T0,I0,A0) avec :
T0(q,x) =∪q0∈cl(q)T(q0,x) I0 =∪q∈Icl(q)
A0 ={q |cl(q)∩A6=∅}
cl(q) est la clˆoture (union des it´er´es) de q par -transitions, c’est-`a-dire l’ensemble des ´etats atteignables par-transitions it´er´ees (cf. suite).
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Equivalence AFN
/ AFN
Cloture deq
cl(q) est la cloture deq par-transitions, c’est-`a-dire l’ensemble des ´etats atteignables par-transitions it´er´ees.
Cloture : D´efinition ascendante
cl(q) =∪i∈INXi
avec :
X0 ={q}
Xi+1 =Xi ∪ {q0 :q0 =T(qi,@) avec i ∈Xi} Cloture : D´efinition descendante
cl(q) =∩{X : q∈X et X stable par-transistion}
On dit queX ⊂ P(Q) est stable par -transition siT(X,@)⊂X.
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Algorithme de d´ eterminisation
a b
→ 1 1 - 2
2 - 2 -
1 2
a b
AFN ´equivalent : cl(1) ={1,2}
a b
→ 1 1 2
→ 2 - 2
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Algorithme de d´ eterminisation
a b
→ 1 1 - 2
2 - 2 -
1 2
a b
AFN ´equivalent : cl(1) ={1,2}
a b
→ 1 1 2
→ 2 - 2
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Question
Quel rapport entre les langages reconnus par un Automate Fini et les langages d´ecrits par une expression r´eguli`ere (langage
rationnel) ?
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Th´ eor` eme de Kleene
Th´eor`eme de Kleene (admis...)
Un langage sur un alphabet Σ est rationnel si et seulement si il est reconnu par un automate fini.
Id´ee de la d´emonstration :
On peut construire de mani`ere inductive l’ensemble des langages rationnels et les automates reconnaissant ces langages.
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Union de langages rationnels
Soient deux automates finis d´eterministes M1 etM2 reconnaissant respectivement les langagesL1 etL2
L1∪L2 est reconnu par :
On ajoute des-transitions entre un nouvel ´etat initial et les ´etats initiaux deM1 et de M2
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Produit de concat´ enation de langages rationnels
Soient deux automates finis d´eterministes M1 etM2
reconnaissant respectivement les langagesL1 etL2 L1.L2 est reconnu par :
On ajoute des-transitions entre les ´etats acceptants deM1 et l’´etat intial deM2
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Etoile (cloture de Kleene) de langages rationnels
Soit un automate fini d´eterministe M reconnaissant le langageL L∗ est reconnu par :
On ajoute des-transitions entre les ´etats finaux et le nouvel ´etat initial
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Conclusion (1)
A chaque langage rationnel est associ´e un automate fini, et r´eciproquement.
Les automates sont des machines abstraites capables de r´ealiser des calculs sur des mots :
entr´ee : mot (donn´ee du probl`eme) sortie : oui/non (une d´ecision) Lien tr`es fort entre langage et machine :
Langage : d´efinit un ensemble de mots Machine : calcul un ensemble de mots
Introduction Automate Fini Non-d´eterministe D´eterminisation Th´eor`eme de Kleene
Conclusion (2)
Il est possible de d´efinir d’autres machines abstraites qui permettent de d´efinir d’autres classes de langages.
L’expressivit´e du langage et la capacit´e de calcul de la machine sont alors diff´erentes.
Les questions que l’on se pose sont alors les mˆemes : mode de lecture,
description alg´ebrique langage (souvent `a l’aide d’une d´efinition inductive),
´
equivalence avec d’autres classes de langages,
complexit´e de calcul d’une machine reconnaissant le langage.
Par exemple, on peut remplacer automate par machine de Turing...