158 CHAPITRE 7. FONCTIONS R ´
ECURSIVES
7.2 Fonctions r´ecursives totales
Un ensemble de fonctions Fest ferm´e par minimisation si, pour toute ap-
plication ξFtelle que "n m.ξ("n , m )=0,lafonctionφefinie par
φ("n)=min
m(ξ("n , m )=0)
est dans F.
Definition 7.2.1 L’ensemble des fonctions r´ecursives (totales) est le plus petit
ensemble de fonctions qui contient les fonctions initiales et qui est ferm´e par
composition, r´ecursion primitive, et minimisation.
Th´eor`eme 7.2.1 La fonction dAckermann est r´ecursive totale.
C’est une cons´equence de l’exercice 169.
Exercice 167
Montrer que la fonction J:
J(x, y)=x+(x+y)(x+y+1)
2
est une bijection de N2dans N.Onnote(K(z),L(z)) = J1(z).
Montrer que J, K, L C.
Exercice 168
Soit p0,p
1,...,p
n,...la suite strictement croissante des nombres premiers. Mon-
trer que les fonctions suivantes sont primitives r´ecursives :
1. La fonction PrimeS(n)=pn
2. La fonction Log qui, `a i, n associe l’exposant de pidans la d´ecomposition
de nen facteurs premiers.
Exercice 169 (6)
Soit p0,p
1,...,p
n,... la suite des nombres premiers et Cl’application qui `a une
suite finie d’entiers k0,...,k
nassocie pk0+1
0×···×pkn+1
n.Cest une injection
de l’ensemble des suites finies d’entiers dans N.
1. Montrer que la fonction Definie par :
D(i, k)=!ri+1 Sini, r1,...,r
n.k=C(J(0,r
0),...,J(n, rn))
0sinon
est r´ecursive primitive.
2. Soit A"la fonction d´efinie par :
A"(n, m, k)=
m+1 Sin=0
D(J(n1,1),k)Sin>0, m=0
D(J(n1,D(J(n, m 1),k)),k)sinon
Montrer que A"est r´ecursive primitive.
7.2. FONCTIONS R ´
ECURSIVES TOTALES 159
3. kest une approximation de la fonction d’Ackermann si
(a) pour tous n, m,D(J(n, m),k)'=0entraineD(J(n, m),k)=A"(n, m, k)
(b) pour tout n,pourtoutm,siD(J(n, m),k)'=0,alorspourtout
j<m,D(J(n, j),k)'=0.
Soit Ple pr´edicat qui est vrai sur les entiers qui sont des approximations
de la fonction d’Ackermann. Montrer que Pest r´ecursif primitif.
4. Montrer que, pour tous n, m N
(a) si P(k)=1etD(J(n, m),k)'=0,alorsA(n, m)=A"(n, m, k)
(b) il existe un entier ktel que D(J(n, m),k)'=0etP(k)=1.
5. En eduire qu’il existe deux fonctions r´ecursives primitives φ,ψtelles que,
pour tous n, m N,
A(n, m)=ψ(n, m, min{xN|φ(n, m, x)=0})
Exercice 170 (5)
Si hest une fonction de Ndans Non appelle it´eration de hla fonction f(n, x)
efinie par :
f(n, x)=!xsi n=0
h(f(n1,x)) sinon
Montrer que la plus petite classe de fonctions sur les entiersquicontientles
fonctions de base, les fonctions J, K, L et qui est close par it´eration et compo-
sition, co¨ıncide avec l’ensemble des fonctions r´ecursives primitives.
Exercice 171
Montrer qu’il existe une fonction non r´ecursive primitive dont le graphe est
ecursif primitif. (Le graphe de fest l’ensemble des paires (n, f(n)).
160 CHAPITRE 7. FONCTIONS R ´
ECURSIVES
7.3 Fonctions semi-r´ecursives et ensembles r´ecursivement
´e n u m ´e r a b l e s
La minimisation est ´etendue au cas o`u on n’a pas n´ecessairement "n m.ξ("n , m )=
0. Dans ce cas, la fonction φenie est une fonction partielle :
φ("n)=min{m|(ξ("n , m )=0)∧∀k<m,ξ("n , k )'=}
La composisition de fonctions r´ecursives totales est ´etendue aux fonctions
partielles : la compos´ee n’est efinie que lorsque les fonctions composantes le
sont. De mˆeme, la r´ecursion primitive appliqu´ee `a des fonctions partielles :
φ=Prim(ξ,ψ)estd´enieen(m, "n)sim=0etξ("n)'=ou bien m>0,
φ(m1,"n)estd´enieetψest d´efinie en (φ(m1,"n),m1,"n).
Definition 7.3.1 L’ensemble des fonctions ecursives partielles (aussi appel´ees
fonctions semi-r´ecursives)estlepluspetitensembledefonctionssurlesentiers
contenant les fonctions initiales et clos par r´ecursion primitive, composition et
minimisation.
Un ensemble est ecursif si sa fonction caract´eristique est une fonction
ecursive totale. Un ensemble Sest ecursivement ´enum´erable si la fonction
qui vaut 1 quand nSet est ind´efinie ou vaut 0 quand n/Sest r´ecursive
partielle.
7.3.1 Turing-calculabilit´e et fonctions r´ecursives
Alappuidelath`esedeChurch,lesnotionsdecalculabilit´e d ´e fi n i e s s u r
les entiers par les machines de Turing et les fonctions r´ecursives partielles
co¨ıncident :
Th´eor`eme 7.3.1 Soit f:NkNune fonction partielle. fest semi r´ecursive
(resp. r´ecursive) ssi il existe une machine de Turing Mftelle que Mfs’arrˆete
exactement sur les donn´ees du domaine de d´efinition de fet, lorsqu’elle s’arrˆete
sur n1,...,n
k,lerubancontientf(n1,...,n
k).
Preuve:
On suppose que les entiers sont repr´esent´es (dans une base b)pardesmots.
Tout dabord, si fest r´ecursive partielle (resp. r´ecursive totale), fest cal-
culable par une machine de Turing. On montre que l’ensemble des fonctions
partielles calculables par une M.T., contient les fonctionsinitialesetestclos
par r´ecursion primitive, par composition et par minimisation.
–soitM0une machine `a krubans et M1,...,M
kkmachines `a nrubans
calculant respectivement f0,f
1,...,f
k.Lamachine`an×krubans dont
les donn´ees sont sur les rubans de num´ero divisible par ket qui simule
Misur les rubans i×ki+1,...,i ×k,puisM0sur les rubans de
nueros divisibles par kcalcule f0(f1("n),...,f
k("n)) (et ne s’arrˆete pas
lorsque l’une des fonctions fin’est pas d´efinie en nou bien f0n’est pas
efinie sur f1("n),...,f
k("n))
7.3. FONCTIONS SEMI-R ´
ECURSIVES ET ENSEMBLES R ´
ECURSIVEMENT ´
ENUM ´
ERABLES161
–Pourlaminimisation:ongardesurunrubanlesessaissuccessifs de la
valeur n.Initialement,n=0.Silecalculdef(n, "x)setermineetdonne
0, on rend n.Silecalculsetermineavecunevaleurdistinctede0,on
incr´emente net on recommence. **a detailler **
–Pourlar´ecursionprimitive**ad´etailler**
eciproquement, ´etant done une machine de Turing, on construit une fonc-
tion r´ecursive primitive qui simule un mouvement de la machine, puis avec un
coup de minimisation on termine. Plus pr´ecis´ement : les mots sont consid´er´es
comme des entiers en base |Σ|+1. Les congurations sont des triplets (q, w1,w
2)
et sont donc cod´es de mani`ere bijective par des entiers sup´e r i e u r s o u ´e g a u x `a 2 .
La fonction fqui `a C(q, w1,w
2)associeC(q",w
"
1,w
"
2), codage de la configura-
tion suivante si elle existe et 0 si q=accept,1siq=reject,estunefonction
primitive r´ecursive puisque les fonctions reste, produit,sommesontprimitives
ecursives.
On d´efinit alors g(n, γ)parg(0,γ)=γet g(n+1,γ)=g(n, f(γ)). Enfin,
h(γ)=g(min
ng(n, γ)=0,γ)
calcule, `a partir du codage d’une configuration γ,lecodagedelaconguration
finale de la machine (si elle existe) correspondant `a un calcul commen¸cant par
la configuration dont le code est γ.
On d´eduit alors que la fonction calcul´ee est r´ecursive, car le codage et le
ecodage d’une conguration sont r´ecursives.
Enfin, remarquons que dans ces constructions, le calcul de la machine sur
la donn´ee Dse termine si et seulement si la fonction r´ecursive correspondante
est d´efinie sur la donn´ee D.
Corollaire 7.3.1 (Kleene) Toute fonction r´ecursive partiel le sobtient `a laide
d’une seule minimisation d’une fonction primitive r´ecursive.
Exercice 172 (5)
Montrer que le probl`eme suivant est ind´ecidable :
Donn´ee : une fonction r´ecursive primitive f
Question : fcalcule-t-elle la fonction nulle ?
Exercice 173 (5)
Montrer que, si fest une fonction r´ecursive partielle, alors son graphe est
ecursif primitif.
7.3.2 ´
Elimination de la r´ecursion primitive
On veut montrer que la r´ecursion primitive peut ˆetre simul´e e p a r l e s a u t r e s
constructions.
On note Cle plus petit ensemble de fonctions sur les entiers qui contient
les fonctions initiales, l’addition, la multiplication, l’´egalie, et qui est clos par
composition et minimisation. (Donc pas de ecursion primitive ici).
Exercice 174
Montrer que les fonctions ou pr´edicats suivants sont dans C:
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !