Theorie de Langage
Theorie de Langage
Theorie de Langage
S ERGE G RIGORIEFF
Introduction à la théorie des langages
Publications du Département de Mathématiques de Lyon, 1982, fascicule 1B
« Quelques thèmes de la théorie des algorithmes », , p. 37-65
<http://www.numdam.org/item?id=PDML_1982___1B_37_0>
par
Serge GRIGORIEFF
(Université de LYON I)
propres à la théorie,
truits sur un même alphabet : nous dirons que ce sont des langages.
si une formule est ou non un théorème (c'est par exemple hors de ques-
ment additive).
ou non une preuve (à supposer que l'on puisse décider si une formule est
Ceci permet alors de définir un algorithme qui -s'il est poursuivi indé-
37
finiment- donne une liste de tous les théorèmes : il suffit d'énumérer
retenir celles qui sont des preuves et d'ajouter les formules qui y fi-
rèmes.
DEFINITION.
(i) - d'un alphabet fini comportant des lettres dites terminales a,b,c,..
_ dans u.
a
l > a
n
te
^- s
9 u e
ot^ = a, = 3 et, pour chaque i, o u ^ + est dé-
38
duit élémentairement de a.. On écrit a > 8.
u — > v | w | x ...
S variable
S • ÀlaaaS productions.
(2) G [a,b
S > bS|abS|aabS|aa|a|A
*
L(G) est l'ensemble des mots de la,b) dans lesquels ne figurent ja-
(3) G r o , 1, (,), v
S, A
|~ S > (v 0) | (v 1 A
_L A >0 AU AI)
39
d'un entier.
(4) G |~ a,b
_ S > ab I aSb
(5) G [~a,b
_ S > AlSablaSblabSlSbalbSalbaS
L(G) est l'ensemble des mots contenant autant de lettres a que de let-
tres b.
S • ( )I[ ] I (s)|[S]ISS
L(G), appelé langage de DYCK, est formé des écritures équilibrées de pa-
comme suit :
s — * ss — + [ s ] s — > [ ( ) ] s — » [ ( ) ] ( )
(7) G ["(,), 0, s, +, ., v, 1
TV > (v 0) I (v 1 A
A > 0 A U AI)
_ [_ T — • 0|V|s(T)|(T) + (T)|(T).(T)
40
En ajoutant à G
mules de l'arithmétique.
(8) G T a,b
S, T, X, A, B
[" s — • T
T > XTXlalb
X > alb
S > ABlBA
A > alXAX
B > blXBX
c'est-à-dire aussi :
On en déduit que L(G) est l'ensemble des mots qui ne sont pas de la for-
(9) G Ta,b,c
S,B
P S > aBc
aB — > aaBcB
41
(10) G |~ a,b
S, T, A, B, D, D , F, F f f
P S > aalbblaDTlbD'T|A
T > aAT|bBT|Fa|F b f
AF • Fa BF > Fb
DF > aa D F
f f
> bb
_L DF f
> ba D'F > ab
L(G) est l'ensemble des mots d'alphabet a,b qui sont de la forme uu.
(11) G r 0, 1, = , +
S >+ A =
+ Z >0 + + U >1 +
tiles en tête) dont les deux premiers ont pour somme le troisième.
1.3. Les exemples précédents montrent que les grammaires permettent de fai-
42
naire l'ensemble diophantien
théorie mathématique.
En fait, les langages définis par les grammaires sont tous les
1 ) . Grammaire de type 0.
Les productions sont toutes du type uAv -—> uav où A est une
Ces productions opèrent sur une seule variable mais prise dans
43
"context-sensitive". (La clause "a non vide" est essentielle pour ne pas
"context-free" en anglais).
terminales.
44
De cette manière, on voit que tous les exemples du § 1 sont des
langages CS.
CS = NSPACE(n).
2.3. Il est assez facile de voir que les langages CS sont stables par
réunion, produit (L.L' est par définition l'ensemble des mots obtenus par
45
les deux questions suivantes sont ouvertes :
?
co - CS = CS (i.e. CS est-elle close par complémentation ?)
DSPACE(n) = NSPACE(n) (i.e. DSPACE(n) est-elle strictement incluse
dans NSPACE(n) ? ) .
une telle application est déterminée par les mots images des lettres de Z.
ble Z et posons :
l~Z •z
inchangées.
46
§ 3 - LES LANGAGES REGULIERS.
3.1. Notons d abord que toute grammaire régulière peut être transformée
T
par exemple une production A > abcB se remplace par les trois produc-
mates finis.
6(q,a). Si cette famille n'a jamais plus d'un seul élément, sé est dit
déterministe.
dans ô(q,a).
état final.
de G,
47
(ii) q est l'état initial de si
3.2. Les langages réguliers sont stables par réunion, intersection, pro-
langages réduits à un seul mot d'une seule lettre, et fermée par réunion,
produit et opération *.
48
premier membre la lettre A, tout mot déduit de A l'est via une de
unique X = F . E.
Preuve.
X = E U F.X
=EUF.(EUF.X) =EUF.EUF .X 2
=EUF.EUF .EU 2
... U F . E U n
F n + 1
. X
= ({A} U F U F 2
U ... U F ).E U F** . X
n 1
X = F* . E U F P
. X (pour tout p > 1)
et donc :
X = fl [F* . E U F P
. X]
p > 1
= F* . E U ([ fl F ] . X)
P
p > 1
* p
= F . E car -le mot vide n'étant pas dans F- les mots de F
sont de longueur au moins p.
Nous verrons plus loin (cf. alinéa 4.4) une autre traduction en
49
formelles ]N[[X]]. C'est cette interprétation algébrique qui a conduit
guliers.
THEOREME.
''. dans L alors on peut écrire u = svt de sorte que xsv^tz est
Preuve.
comme la suite des lettres a^ a^ ... a^, avec t > n et donc t supé-
j < k et les lectures des mots x a., ... a. et x a. ... a. ... a, amè-
1 j 1 j k
nent -via le calcul retenu de l'automate- dans le même état q,
1 j j+1 K k+1 V
50
§ 4 - LES LANGAGES "CONTEXT FREE (CF).
4.1. C'est dans les travaux de linguistes tels BLOCH , HARRIS , WELLS
(durant les années 40-50) que se trouve l'origine de la théorie des lan-
^ ^ ^ ^ Phrase ^ ^ ^ ^
/\
Article Nom
Mise en place par N.CHOMSKY vers 1956, cette classe des CF est
d'un mot u on peut associer un arbre (cf. l'exemple de 4.1 et les exem-
51
Exemples,
G f~ a,b
S, A, T, U
P S > ATlUA
T > balbTa
U > ablaUb
[_ A > a I aA
L(G) = {a 11
b^ a Qi
: n,p,q > 1 et (n = p ou p = q)}
S S
A T , U A
a ba ab a
relativement à G.
52
té d'un mot de L(G) est toujours fini.
langages : un même langage peut être construit par une grammaire ambigue
et une autre non ambigue. On peut cependant montrer que certains langages
S,B
S > a | aB | BS
_ B > b I SB
" X = {a} U aY U YX
_ Y = {b} U XY
Ce système n'a pas une unique solution (X = Y = la,b} est aussi solu-
tion) mais (X(S), X(B)) en est la plus petite solution : ces équations
de la grammaire.
S,B
S > aB | Ba
53
Aux variables S et B associons les séries formelles G et G :
b D
o = X y u , a - Z 6 u
S * u
* u
u e i3 u e r>
y et ô étant les nombres des arbres de dérivation du mot u à par-
u u
ble à partir de S ou B ) .
~ X = aY + Ya
de plus, ces solutions sont les seules dont les coefficients du mot vide
soient nuls.
4.5. Sans changer les langages associés, on peut mettre les grammaires CF
droite).
A > A'C
A"' — * a
54
La preuve de la forme normale de GREIBACH est plus délicate ; nous
S,B
P S > a | BS
_L B • b | SB ;
blistes :
~ X = {a} U YX
(1)
_ Y = {b} U XY
forme matricielle :
(X Y) = ({a} {b}) + (X Y) ( J
= K + (X Y) M
= K + [K + (X Y) M] M
= K + KM + (X Y) M 2
= K + K(M + M 2
+. + M ) + (X Y) M
n n + 1
(X Y) = K + K(M + M 2
+ + M n
+ ...)
55
du système
( 2 )
(Z (9 Y \ (d Y ^ (z v\
_ \T vj \X <tj \x 0j \T v;
soit aussi
(3) Z = YT
T = X U xz
U = Y U YV
_ V = XU
ou
" X = {a} U {a} Z U {b} T
G f
[" a,b
S, B, C, D, E, F
T S > a I aC I bD
B > b I aE | bF
E • b I aE | bF | aEF I bFF
56
On remarque que la forme de GREIBACH est au plus proche de celle
4.6. La classe des langages CF est close par réunion, produit, opéra-
1) - On a L(G)* = L(G ) f
où
(i) G T
a une lettre de variable de plus que G, cette lettre -soit T-
(i) G 1
a pour variables celles de G ainsi que des variables A^, A^, ...
(ii) Les productions de G' sont celles de G dans lesquelles les va-
57
pas (cf. l'alinéa 4.7.). Il est en fait possible de montrer que tout lan-
deux CF.
q , q^
Q q n désignant les états de sé et le symbole =.
et q' G ô(q,a), q ,f
quelconque
phisme 6 efface les symboles autres que les terminaux de G (et laisse
cela la clôture par réunion montrerait celle par intersection) :: par exem-
ple, l'ensemble des mots du type uu n'est pas CF alors que son complé-
58
mentaire l'est (cf. les exemples 8 et 10 de l'alinéa 1.2.).
liers est valable pour les CF ; nous en énonçons une version simple.
THEOREME.
;! de longueur au plus n, et ux wy v
1 1
est dans L pour tout
: i
:
e m.
Preuve.
des variables de G.
binaire (car G est sous forme de CHOMSKY et les seconds membres des
de longueur au moins p+1 ; sur une telle branche il y a au moins une va-
S S > u A v
y" ^ x
v A »x A y x y non vide
u~'
L —
y : L
~~v~ J
X • N.
ci-,-''' . K
x /.*\ y A >w
I \ \
I .\
L_J_) u,v,w,x,y mots terminaux
W
a = uxwyv xy non vide
59
On voit alors facilement que l on peut dériver de f
S les mots ux wy 'v,
1 1
ont été prises le plus bas possible sur la branche la plus longue.
{a 1
b n
a 11
: n > 1} n'est pas CF, de même que le langage des mots de la
forme uu.
suivante
(
1 ' 1>} (
2 9 }
2 (
n ' n }
S > SS i ( ) i I ( S ) i i = 1,2,...,n
THEOREME.
Soit L = { a n
b n
; n > l } ; une grammaire pour L est
a,b
_S > ab | aSb
60
a,b
S, A, B, T
[~ S > AB (1)
S » AT (2)
T > SB (3)
A >a (4)
_ [B • b (5)
comme suit :
(. , ) . 1=1,2,3,4,5
[. , ]. 1=1,2,3
(les parenthèses sont associées aux cinq productions, les crochets aux
considérons 1'arbre
A
/\ T
I /\
a S B
/ \ l
A X
B b
de dérivation du mot
2
a b
2
i b
A ^2 T
^2 application de la production (2)
61
( 2 ( 4 ) 4 t 2 ] 2 ( 3 S [ 3 ] 3 B ) 3 ) 2 productions (4) et (3)
< 2 ( 4 ) 4 [ 2 ] 2 ( 3 ( x ( 4 ) 4 t x ] x ( 5 ) 5 ) 1 [ 3 ] 3 ( 5 ) 5 ) 3 ) 2 productions
(4) et (5)
ce dernier mot est le code de l'arbre dans D .
Il est assez simple de voir que l'ensemble des codes des arbres
[((...([ et J ))...)] ;
i „ » i v 1
i fois i fois
dur possible au sens suivant : tout autre langage CF en est une image
4.9. Les langages CF peuvent être reconnus par des machines de Turing
62
Nous considérons la grammaire suivante (sous forme de CHOMSKY)
G |~ a,b
S, A, B, C
S > AB I BC
A > a | BA
B > b I CC
_c > a | AB
b a a b a Sous-mots de longueur 1,
ba aa ab ba Sous-mots de longueur 2,
0 {B} {B}
0 {S,A,C}
baaba le mot u
{S,A,C}
63
possibles xy de v, ces découpages sont en nombre plus petit que n.
1 2
(iii) en tout il y a donc moins de — n (n+1) tests à faire, d où un
f
3
temps d effectuation en 0(n ) .
f
de calcul en 0(n^'^).
1 ) . Un ruban d'entrée où est écrit un mot dont les lettres sont lues suc-
3 ) . Une pile où sont mis des lettres, dont à chaque étape l'automate ne
64
reconnaissent (relativement à diverses formes d'acceptation : par état
voir quels sont les langages reconnus par les automates à pile déterminis-
seule possibilité). On peut démontrer que cette classe des langages "dé-
terministe context-free M
(DCF) est strictement incluse dans la classe
BIBLIOGRAPHIE.
BERSTEL J.
HARRISON M.
Introduction to Formai Language Theory,
1978, Addison-Wesley.
HOCROFT J. et ULLMAN J.
Introduction to Automata Theory, Languages and Computation,
1979, Addison-Wesley.
65