Académique Documents
Professionnel Documents
Culture Documents
Langages algébriques
(Langages hors contexte)
Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and
Grammaire algébrique
Définition
Une grammaire G = (N,T,R,S) est dite algébrique
(hors-contexte) si et seulement si toutes ses règles de
production sont de la forme :
A γ avec A ∈ N et γ ∈ V*
Caractérisation
Un langage est algébrique si et seulement si il existe
une grammaire algébrique qui l’engendre.
Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and
Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and
1
Chap. 3: Langages algébriques
Théorème
Il existe des langages algébriques qui ne sont
reconnus par aucun A.à.P. déterministe.
Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and
Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and
Représentation graphique
a a b
Read Push Pop
b Δ
On empile le
caractère a
Lecture du caractère On dépile un
dans la pile
de w caractère
Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and
2
Chap. 3: Langages algébriques
q0
Exemple Start
q1
a b
Read
a
q2 q3
$
Push Pop
q4
Pop
Reject Reject
Δ
Accept
Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and
Trace
Caractères de w Transition Action Pile
abaabb q0 q1 Read a Δ
abaabb q1 q2 Push a Δ, a
abaabb q2 q1 Read b Δ, a
abaabb q1 q3 Pop Δ
abaabb q3 q1 Read a Δ
abaabb q1 q2 Push a Δ, a
e.t.c.
Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and
Exemple :
G : S aSa | bSb | a | b | aa | bb
3
Chap. 3: Langages algébriques
Théorème :
Soit G une grammaire sous la forme normale de
Chomsky, il existe un algorithme de construction
d’un automate à pile reconnaissant le même langage
que L(G).
Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and
Exemple
Push S
a b
S SB | AB C B
A CC Read Pop Read
B b
C a S
S A
Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and
Indice de difficulté
Théorème :
Les problèmes suivants sont indécidables :
• Un langage algébrique L est-il déterministe?;
• Un langage algébrique L est-il ambiguë?.
Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and
4
Chap. 3: Langages algébriques
Propriétés
Propriété :
Soit L1 un langage algébrique et L2 un langage
rationnel alors L1 ∩ L2 est algébrique.
Attention
Si L1 et L2 sont deux langages algébriques,
L1 ∩ L2 et L1 ne sont pas forcément algébriques.
Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and
Frontière
Théorème
Il existe des langages non algébriques
Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and
(Extrait de HMU2001)
Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and
5
Chap. 3: Langages algébriques
(Extrait de HMU2001)
Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and
(Extrait de HMU2001)
Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and
6
Chap. 3: Langages algébriques
Ak
z (Extrait de HMU2001)
Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and
Ai=Aj
Aj
u v w x y
z
Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and
u v A x y
v w x
(Extrait de HMU2001)
Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and
7
Chap. 3: Langages algébriques
u y
(Extrait de HMU2001)
Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and
(Extrait de HMU2001)
Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and
Application
Considérons le langages L= {0n 1 n 2n avec n >= 1} ;
Soit une décomposition z en u v w x y telle que
• v et x ne sont pas tout 2 nuls;
• taille de (v w x) ≤ n
La chaîne « v w x » ne peut pas contenir à la fois des 0 et
des 2. Nous avons les 2 cas suivants :
1. Si « vwx » n’a pas de « 2 », alors « uwy » contient :
n « 2 »; et moins de n « 0 » ou moins de n »1»;
2. Si « vwx » n’a pas de « 0 », alors « uwy » contient :
n « 0 »; et moins de n « 1 » ou moins de n »2»;
8
Chap. 3: Langages algébriques
(Extrait de HMU2001)
Application
Considérons le langages L= {0i 1 j 2 i 3 j avec i ≥ 1 et j ≥ 1} ;
Soit z = 0 n 1 n 2 n 3 n et considérons la décomposition de z en
u v w x y telle que
• v et x ne sont pas tout 2 nuls;
• taille de (v w x) ≤ n
Pour résumer
• Les langages algébriques sont reconnus par des
A.à.P.;
• Toute grammaire G engendrant un langage L ne
contenant pas ε peut se mettre sous la forme
normale de Chomsky (F.N.C.).
• Pour toute grammaire G sous forme F.N.C., Il existe
un algorithme de construction d’un A.à.P. qui
reconnaît le langage engendré par G.
• La pile d’un A.à.P. prend la forme d’une mémoire
de nature consommable. Certains langages, pour
être reconnus, nécessitent l’utilisation d’une
mémoire plus évoluée. Il existe donc des langages
non algébriques.
Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and