Définition
Soient L_1, L_2 \subset \Sigma^*. Une réduction de L_1 à L_2 est une fonction récursive
- \rho :\Sigma^* \rightarrow \Sigma^*\quad | \quad \omega\in L_1 \Leftrightarrow \rho\left(\omega\right)\in L_2
Pour pouvoir démontrer que d'autres problèmes sont indécidables, nous allons employer la réduction de problèmes : montrer que résoudre un nouveau problème permettrait de résoudre un problème qu'on sait déjà indécidable, et d'en conclure que le nouveau doit l'être aussi.
Soient L_1, L_2 \subset \Sigma^*. Une réduction de L_1 à L_2 est une fonction récursive
Si \rho est une réduction de L1 à L2
Soit M_{\rho} une MT qui implante \rho (qui est récursif).
| w ⇒ | M_{\rho} | ⇒ | \rho\left(w\right) | ⇒ | M_2 | ⇒ Y ⇒ N |
|---|---|---|---|---|---|---|
| Décide L_2 | ||||||
| décide L1 | ||||||
Les problèmes suivants sont indécidables avec des MT :
C'est le “halting problem” dont l'indécidabilité a été vu la dernière fois.
On fait une réduction \rho ramenant le halting problem à ce problème.
Soit w =a_1 a_2 a_3 \ldots a_m. Ecrire le mot sur le ruban par une suite de mouvements et écritures : R a_1 R a_2 R a_3 \ldots R a_m L_{\sqcup} avec une machine qui prend w \in \Sigma^* et produit cette séquence \in \Sigma_U^*. Le codage ce cette machine – fonction récursive – est laissé en exercice.
Ensuite, \rho : \Sigma_U \rightarrow \Sigma_U,
\rho est récursive (pas triviale à démontrer).
On fait une réduction de problème (b) au problème ©. "M" \mapsto \underbrace{"Efface\quad M"}_{M\prime}. Efface est une MT qui efface le ruban. Mi s'arrete pour une ou des entrées si et seulement si M s'arrête avec le mot vide en entrée. Donc le problème © est indécidable.
Comme dans (3), même réduction. Si et seulement si M' s'arrête pour toutes ses entrées…
Soit M une machine de Turing, et w\in \Sigma^*. On construit M', la MT équivalente à la MT à 2 rubans qui réalise l'algorithme suivant :
M \mapsto M\prime est récursif. \rho_f: M' s'arrête avec w en entrée ⇔ M s'arrête avec le mot vide en entrée et U s'arrête avec w en entrée.
U ?
Etant donnée une MT M, un état q de M et un mot w\in \Sigma^*, est-ce que M passe par l'état q avec w en entrée?
hq = h pour résoudre le halting problem.Soit M une MT et k\in \mathbb{N} et w\in \Sigma^*. On dit que M utilise (au moins) k cases du ruban avec le mot w en entrée ⇔
Etant donnée une MT, M, un mot w\in \Sigma^* et k\in \mathbb{N} est-ce que M utilise au moins k cases avec le mot w en entrée?
| K | \times |\Sigma|^{k-1} peut être très grand, mais fini ⇒ on peut détecter des boucles éventuelles.
suite de l'explication à rajouter
Soit M une MT, w\in \Sigma^* et f:\Sigma^* \rightarrow \mathbb{N} une fonction récursive. Est-ce que M utilise au moins f(w) cases avec w en entrée?
Soit M un MT, w\in \Sigma^*. Est-ce qu'il existe un entier k \geq O tel que M utilise moins de k cases avec w en entrée?
exercice.