Table des matières

II.5 Problèmes indécidables pour les grammaires

Théorème

Les problèmes suivants sont indécidables:

  1. Etant donnée une grammaire générale G et un mot w, est-ce que w \in L\left(G\right)?
  2. Etant donnée une grammaire générale G, est-ce que \epsilon \in L\left(G\right)?
  3. Etant donnée deux grammaires G_1 et G_2, est-ce que L\left(G_1\right)=L\left(G_2 \right)?
  4. Etant donnée une grammaire G, est-ce que L\left(G\right)=\emptyset?
  5. Il existe une grammaire générale G_u pour laquelle le problème suivant est indécidable : étant donné w, est-ce que w \in L\left(G_u \right)?

Preuves

Théorème

Les problèmes suivants concernant les grammaires algébriques (ou “hors contexte”) sont indécidables :

  1. étant donnée une grammaire algébrique G, est-ce que L\left(G\right)=\Sigma^* ? (preuve pas facile)
  2. étant donnée deux grammaires algébriques G_1 , G_2, est-ce que L\left(G_1\right)=L\left(G_2\right)? [ Même chose avec les automates à pile M1 et M2 : L(M1) = L(M2)? ]
  3. étant donné un automate à pile M, trouver un automate à pile M' tel que L(M) = L(M') et M' a un nombre minimal d'états.

Preuves

  1. difficile → admis
  2. \Sigma = \left\{ a, b, c \right\}\quad ,\quad G_0:S\rightarrow Sa | Sb | Sc | \epsilon \quad \Rightarrow L\left(G_0\right) = \Sigma^*. Donc si cette deuxième question était décidable on saurait décider le premier problème on comparant le langage L(G) pour une grammaire algébrique et L(G_0)
  3. preuve incomplète :
    • Proposition (non démontrée ici) : soit \Sigma un alphabet et M un automate à pile reconnaissant un langage \Sigma^*. Si M a un seul état alors on sait décider si L(M)=\Sigma^* (ou non).
    • Donc, si on savait minimiser un automate à pile, tout automate à pile reconnaissant \Sigma^* serait minimisable en un automate à un état dont on saurait décider s'il accepte (ou non) \Sigma^*. Dans ce cas, le premier problème serait décidable.

II.6 Propriétés des langages récursifs

Théorème

Un langage L est récursif si et seulement si L et \bar{L} sont récursivement énumérables.

Preuve

Définition : énumération

Théorème

Un langage L est Turing-énumérable ⇔ il est récursivement énumérable.

Preuve

Exercices

Montrons que la classe des langages récursifs est stable par …

union

intersection

concaténation

FIXME schémas à faire

Navigation

II.4 Problèmes IndécidablesIII. Complexité