Symboles inutiles
Exercice · niveau 2 · informatique (MP2I/MPI), chapitre 30 — Grammaires non contextuelles
Énoncé
Soit la grammaire de symbole initial sur :
- Quel est le langage engendré ?
- Identifier les symboles productifs et les symboles accessibles.
- Écrire la grammaire émondée.
Corrigé
1. . Un seul mot.
2. Deux notions, indépendantes, et qui se calculent chacune par un point fixe.
- Productif : le symbole engendre au moins un mot de terminaux. On part des non-terminaux ayant une règle entièrement terminale, et l'on ajoute tant qu'on peut. Ici (par ) et (par ), puis (par ). n'est pas productif : sa seule règle ne termine jamais. Productifs .
- Accessible : le symbole apparaît dans une forme dérivée du symbole initial. Parcours depuis : on atteint (par ) et (par ). n'est pas accessible. Accessibles .
est accessible mais stérile ; est fertile mais inatteignable. Les deux défauts sont bien distincts.
3. On supprime d'abord les non-productifs — et toutes les règles où ils figurent, donc disparaît aussi — puis les inaccessibles :
Il faut supprimer les non-productifs d'abord, les inaccessibles ensuite. Sur
n'est pas productif, et tout est accessible.
- Productifs puis accessibles : on retire , donc la règle , donc devient inaccessible et disparaît. Il reste : correct.
- Accessibles puis productifs : rien n'est inaccessible, on ne retire donc que ; il reste et , où n'est plus accessible. La grammaire contient encore un symbole inutile.
Supprimer un symbole peut en rendre un autre inaccessible ; cela ne peut jamais rendre un symbole non productif. Le sens de l'implication fixe l'ordre.
Le parallèle avec l'émondage d'un automate est exact : « productif » est le co-accessible, « accessible » est l'accessible, et l'on parcourt dans les deux sens.
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.