Documente Academic
Documente Profesional
Documente Cultură
recurenta
Student,
Burtea Bogdan-Florian
Grupa 405
Contents
Definitie schema.......................................................................................................................................3
Definitie recurenta...................................................................................................................................3
Functii primitiv recursive unare.............................................................................................................4
Functii primitiv recursive: cazul general...............................................................................................4
Enumerari primitiv recursive.................................................................................................................6
Definitie schema
Schemele sunt realizate din cuvinte cheie, variabile, date
constante (numere, caractere, siruri etc), spatii goale si comentarii.
Cuvintele
cheie,
variabilele
si
simbolurile
sunt
denumite
Definitie recurenta
Recurenta in informatica este o metoda a carei solutii depinde
de solutia altor probleme mai mici ale aceleasi probleme. Aceasta
abordare poate fi aplicata mai multor tipuri de probleme. Recurenta
este una dintre ideile principale ale informaticii.
f1(x,0) = g1(x),
f1(x, y + 1) = g2(x, y, f1(x, y)),
f2(x,0) = C0(x),
f2(x, y + 1) = (f1(P1, P3))(x, y, f2(x, y)),
f1(x, y) x + y, f2(x, y) =xy.
In primul rand trebuie sa aratam ca orice functie care se obtine
din functiile S si E prin compunere si iteratie este primitiv recursiva.
Deoarece este clar ca operatiile de compunere si iteratie sunt cazuri
particulare ale operatiilor de compunere functionala si recurenta
primitiva, este suficient sa aratam ca E este primitiv recursiva.
Observatie. Orice functie primitiv recursiva este totala.
Exemplul 1. Functia exponentiala; xy : x0 = 1, xy+1 = x(xy)
Exemplul 2. Functia factorial; x! : 0! = 1, (x+1)! = (x+1)x!
Exemplul 3. Functia predecesor; Pd(x) : Pd(0) = 0, Pd(x) = x 1,
daca x>0; Pd(0) = 0, Pd(x+1) = x.
0
0
1
1
2
3
3
6
4
1
5
15
...
...
0
1
1
1
1
2
3
4
5
9
2
0
.
.
4
2
3
.
.
30
...
39
...
94
...
115
...
.
.
.
.
0
7
7
.
.
1
3
...
3
2
2
5
6
.
.
8
1
22
6
1
5
.
.
8 z +1 < 2x + 2y + 3. In
concluzie, [
x + y = [([
8 z +1 ] + 1)/2] 1,
3x + y = 2z- ([([ 8 z +1 ] + 1)/2] 1)2,
Care admite o solutie unica. Daca membrul drept al fiecarei
ecuatii se noteaza cu Q1(z), respectiv Q2(z), atunci solutiile
sistemului se pot exprima astfel: x = [(Q2(z) - Q1(z))/2] = K(z), y =
Q1(z) - [(Q2(z) - Q1(z))/2] = L(z). Functiile K si L sunt primitiv
recursive.
Rezumand, fie z N. Notam cu r cel mai mare numar natural
care satisface inegalitatea 1 + 2 + 3 + ... + r z. Punem x = z (1
+ 2 + 3 + ... + r). Prin umare xr; fie y = r z. Atunci z = (1 + 2
+ ... + (x + y)) + x = (x + y) (x + y + 1)/2 + x = J(x,y). Deci z= J(x,
y) = J(K(z), L(z)).
Teorema 1.
Functia lui Cantor J este bijectiva si primitiv recursiva. Exista
doua functii primitiv recursive K si L astfel incat J(K(z),L(z)) = z,
K(J(x, y)) = x, L(J(x, y)) = y.
Teorema 2.(Teorema reducerii numarului de variabile la
functii primitiv recursive)
Orice functie primitiv recursiva f(x,y) se poate scrie sub forma
f*(J(x,y)), unde f* este functie primitiv recursiva unara.
Demonstratie. Aplicand Teorema 1 obtinem f*(x)=f(K(x),L(x)),
f*(J(x,y)) = f(K(J(x,y)), L(J(x,y))) = f(x, y).
Cazul general al reducerii se poate obtine imediat.
Corolarul 1. Orice functie primitiv recursiva se poate obtine din
functiile primitiv recursive unare, functia x + y, functiile identitate,
prin compunere functionala.
Demonstratie. Aplicand Teorema 2 si tinem seama de forma
functiei pereche (x + y)2 + x.
px0 0 ...
lea numar prim. Reciproc, fiecarui sir (x0, ... , xk) de numere naturale
ii asociem numarul
px0 0 ...
lui Godel asociat sirului (x0, ... , xk) si se noteaza cu <(x0, ... , xk)>.
Codificarea de mai sus (care admite mai multe variante) se numeste
enumerarea
lui
Godel(Godel,1931).
De
exemplu
33
750.
Deoarece
orice
numar
natural
admite
de
formula
( pn(i))
x =0
rezulta ca
0) ,..., f(x1, .... , xn , y)>). Cum h este primitiv recursiva din Propozitia
1, rezulta ca f este primitiv recursiva.
Exemplu. Functia lui Fibonacci este primitiv recursiva. Pentru a
arata acest lucru este suficient sa remarcam ca functia lui Fibonacci
satisface ipotezele Corolarului 2.
Corolarul 3. Fie f o functie definita de ecuatiile:
f(x1, .... , xn , 0) = g (x1, .... , xn ),
f(x1, .... , xn , y+1) = h (x1, .... , xn, y, f(x1, .... , xn , t(x1, .... , xn ,
y))).
Daca g, h si t sunt primitiv recursive si t(x 1, .... , xn , y) y,
oricare ar fi x1, .... , xn , y, atunci f este primitiv recursiva.
Demonstratie. Construim functia primitiv recursiva:
h(x1, .... , xn , y, z)= h (x1, .... , xn, y,exp( t(x1, .... , xn ,y), z)).
Atunci: f(x1, .... , xn , y+1) = h (x1, .... , xn, y, f(x1, .... , xn , t(x1, .... ,
xn , y))) =
= h(x1, .... , xn , y, < f(x1, .... , xn, 0) , ... , f(x1, .... , xn, y) >).
Aplicand Propozitia 1 deducem ca f este primitiv recursiva.
Bibliografie
1. Brian Harvey, Matthew Wright, Simply Scheme: Introducing Computer
Science, MIT Press, 1999
2. R. Kent Dybvig, The Scheme Programming Language, MIT Press, 2003
3. Richard E. Crandall, Carl Pomerance, Prime Numbers: A Computational
Perspectives, Springer Science & Business Media, 1 ian. 2001
4. Recursive Functions and Metamathematics: Problems of Completeness and
Decidability, Gdel's Theorems, Springer Science & Business Media, 30 sept.
1999
5. Cristian Sorin CALUDE: Complexitatea calculului ; aspecte
calitative, Editura Stiinific i Enciclopedica, Bucureti, 1982.