UNIVERSITE JOSEPH FOURIER M1-informatique
Calculabilit´e et complexit´e Ann´ee 2006-2007
Quick du 2 mai 2007 (dur´ee : 1h30 - sans document) – corrig´e, v4
Questions de cours
Remarque : 3 lignes suffisent pour r´epondre `a chacune des questions.
1. D´efinir formellement la classe RP Ades fonctions r´ecursives primitives “relativement `a
A⊆N”.
IVoir le cours.J
2. Quand on d´efinit l’ensemble Pdes fonctions r´ecursives partielles, on introduit l’op´erateur
de “minimalisation” µ(ou MinGen). Donner sa d´efinition exacte en pr´ecisant le sens de
f=µ[g] o`u gest une fonction `a n+ 1 arguments et en donnant l’arit´e de f.
Ifest d’arit´e n, et est d´efinie par : (∀~x(n)) [f(~x) = “le plus petit y, s’il existe, tel que
g(y, ~x) = 0]. Dans la d´efinition de PA, on exige que µs’applique `a des fonctions totales
(g∈R(n+1)A).
J
3. Pourquoi tout mod`ele de calcul g´en´eral doit-il permettre de programmer des fonctions
non totales ?
IParce qu’on veut pouvoir programmer tout ce qui est “intuitivement calculable”, et
donc pouvoir utiliser des boucles tant que , qui peuvent mener `a des calculs qui ne se
terminent pas.J
4. Expliquer en fran¸cais ce que d´efinit la notation ϕ(k)
npar rapport `a la notation Ψ(k)
Z, en
pr´ecisant ce que repr´esentent k,net Z.
Iϕ(k)
nd´esigne la fonction Ψ(k)
Zd’arit´e ksur les entiers (de Nkvers N) calcul´ee par la
Machine de Turing Z, o`u nest un indice de Z, c’est `a dire le num´ero d’un de ses nombres
de G¨odel (elle en a p! si elle a pquadruplets). J
Fonctions r´ecursives primitives
Soit le pr´edicat `a n+ 2 arguments Conv d´efini par “Conv(z, ~x, p)≡ϕz(~x) converge en au plus
ppas.”
Formellement, si t(n+2)
nest le pr´edicat de Turing pour les fonctions d’arit´e n, qui a ´et´e d´efini
en cours par tn(z, ~x, y)≡“yest le nombre de G¨odel d’un calcul de la machine de Turing de
num´ero (indice) zlanc´ee sur la configuration initiale associ´ee `a ~x (q0|x1+1B . . . |xn+1), et dont
on a montr´e qu’il est r´ecursif primitif, on a :
Conv(z, ~x, p) = sg(1 + µy [tn(z, ~x, y)∧ |y| ≤ p])
1. Montrer que la minimalisation peut ˆetre born´ee par une fonction r´ecursive primitive.
IOn a vu en cours que le pr´edicat ConvAd´efini de mˆeme, mais relativement `a un en-
semble A, est r´ecursif primitif relativement `a A. On peut refaire la mˆeme d´emonstration
en supprimant le A, et on obtient donc que Conv est r´ecursif primitif. Faisons-le.
L’id´ee est assez simple : la taille de la description instantan´ee (la plus courte possible) de
la configuration d’entr´ee (au 0`eme pas de calcul) est E(~x, 0) = Pn
i=1(xi+ 2). Apr`es k≤p
pas de calcul, la longueur de la description instantan´ee n’a pas augment´e de plus de k,
puisqu’un pas de calcul ne peut l’augmenter de plus de 1. Donc E(~x, k)≤E(~x, 0) + k.
1