Vous êtes sur la page 1sur 9

Chapitre 3

Langages algébriques
(Langages hors contexte)

Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and

Chap. 3: Langages algébriques

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

Chap. 3: Langages algébriques

Automate à pile (En français)

• Un automate à pile est un analyseur de


mots :
• un mot w appartient au langage décrit par
l’automate si et seulement si il existe un
parcourt de l’automate qui accepte w.
• C’est-à-dire qui commence dans l’état « Start » et qui
termine dans l’état «Accept ».

• On pourra représenter le fonctionnement de


l’analyseur par un tableau.

Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and

1
Chap. 3: Langages algébriques

Langage algébrique déterministe

On appelle langage algébrique déterministe un


langage pour lequel il existe un A.à.P. déterministe
qui le reconnaît.

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

Chap. 3: Langages algébriques

Automates à pile (A.à.P.)

Un A.à.P. A est un système (Q, Σ, Γ, q0, Δ, F, δ) :


• Q est un ensemble fini d’états;
• Σ est un alphabet;
• Γ est un alphabet de pile;
• q0 est l’état initial;
• Δ est le symbole de fond de pile;
• F est un ensemble d’état finaux (F ⊆ Q)
• δ est la fonction de transition;

Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and

Chap. 3: Langages algébriques

Représentation graphique

Start Accept Reject

Etat final Etat de rejet


Etat initial

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

Chap. 3: Langages algébriques

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

Chap. 3: Langages algébriques

Forme normale de Chomsky


Théorème :
Soit un langage algébrique L ne contenant pas ε alors
il existe une grammaire G engendrant L dont toute les
productions sont de la forme :
A  BC, ou A  a avec A,B,C ∈ N, et a ∈ T.

Exemple :
G : S  aSa | bSb | a | b | aa | bb

G’ : S  AR1; R1 SA; A  a;


S  BR2; R2  SB; B  b
S  AA; S  BB; S  a; S  b
Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and

3
Chap. 3: Langages algébriques

Retour aux automates

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

Chap. 3: Langages algébriques


Start

Exemple
Push S

a b

S SB | AB C B
A CC Read Pop Read
B b
C a S
S A

Push B Push B Push C

Push S Push A Push C

Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and

Chap. 3: Langages algébriques

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

Chap. 3: Langages algébriques

Frontière
Théorème
Il existe des langages non algébriques

Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and

Chap. 3: Langages algébriques

L’arbre syntaxique (énoncé)


Théorème
Soit un arbre syntaxique obtenu pour une grammaire sous
forme normale de Chomsky, et supposons que le résultat
de l’arbre soit une chaîne terminale w.
Si la longueur du chemin le plus long dans cet arbre est n
alors |w| ≤ 2n-1

(Extrait de HMU2001)
Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and

5
Chap. 3: Langages algébriques

L’arbre syntaxique (démonstration)


Preuve par induction sur n.

Base : n = 1 un arbre avec un chemin maximum de longueur 1


est une racine muni d’une feuille terminale; |w| = 1;
Puisque 2 n-1 = 2 0 = 1, nous avons prouvé la base;

Induction : supposons que la longueur d’un chemin max soit


n>1; la racine est de la forme A → BC; Aucun chemin des 2
sous arbres en B et C n’a une longueur supérieure à n-1;
Par hypothèse d’induction, le résultat des 2 sous arbres est au
plus de taille 2 n-2 .
Le résultat global est donc de taille au plus : 2 n-2 + 2 n-2 = 2 n-1 .
L’étape d’induction est prouvée. (Extrait de HMU2001)
Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and

Chap. 3: Langages algébriques

Lemme de la Pompe (énoncé)

Lemme de la Pompe (Pumping Lemma)


Soit L un langage algébrique. Alors il existe une
constante n telle que si z est un mot de L avec |z| ≥ n,
alors il existe une décomposition de z en uvwxy avec :
1. |vwx| ≤ n (la portion centrale n’est pas trop longue);
2. vx ≠ ε (une des 2 chaînes à pomper est non nulle);
3. Pour tout i ≥ 0, u vi w xi y ∈ L

(Extrait de HMU2001)
Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and

Chap. 3: Langages algébriques

Lemme de la Pompe (démonstration :1)


Soit un grammaire G sous F.N.C. avec m variables:
Choisissons n = 2m, et supposons z de longueur > n;

D’après le théorème précédent tout arbre syntaxique dont


la longueur du chemin le plus long est au plus m admet
un résultat de taille bornée par : 2m-1= n/2;

Tout arbre syntaxique produisant z admet un chemin de


longueur au moins m+1;

(Extrait de HMU2001)
Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and

6
Chap. 3: Langages algébriques

Lemme de la Pompe (démonstration :1)


A0
A1
A2

Ak
z (Extrait de HMU2001)
Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and

Chap. 3: Langages algébriques

Lemme de la Pompe (démonstration :2)


S
(Extrait de HMU2001)

Ai=Aj

Aj

u v w x y
z
Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and

Chap. 3: Langages algébriques

Lemme de la Pompe (démonstration :2)


S

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

Lemme de la Pompe (démonstration :2)


S

u y
(Extrait de HMU2001)
Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and

Chap. 3: Langages algébriques

Lemme de la Pompe (démonstration :3)

Rappelons les éléments du théorème :


« …Il existe une décomposition de z … »

1. |vwx| ≤ n (la portion centrale n’est pas trop longue);


2. vx ≠ ε (une des 2 chaînes à pomper est non nulle);
3. Pour tout i ≥ 0, u vi w xi y ∈ L

(Extrait de HMU2001)
Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and

Chap. 3: Langages algébriques


(Extrait de HMU2001)

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»;

Or d’après le lemme le mot « uwy » doit être dans L


Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and

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

Nous avons les 2 cas suivants :


• Si « vwx » contient un seul type de symbole :
• « uwy » contient n des 3 symboles et moins de n du 4ième

• Si « vwx » contient 2 types de symboles « a » et « b » :


Il manque alors dans « uwy » soit des « a », soit des
« b » ou les deux; A terminer.
Or d’après le lemme le mot « uwy » doit être dans L
Olivier Raynaud, U niver sit é Blaise Pascal, Cler mont -Fer r and

Chap. 3: Langages algébriques

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

Vous aimerez peut-être aussi