Funkcja rekurencyjna

Z testwiki
Przejdź do nawigacji Przejdź do wyszukiwania

Funkcja rekurencyjna – funkcja i, która jest obliczalna za pomocą maszyny Turinga. Klasę tych funkcji definiuje się za pomocą mniejszej klasy funkcji pierwotnie rekurencyjnych:

Funkcja pierwotnie rekurencyjna

Funkcjami pierwotnie rekurencyjnymi nazywamy funkcje:

  • Funkcja zerowa
Z:, zdefiniowana jako Z(n)=0
  • Funkcja następnika
S:, zdefiniowana jako S(n)=n+1
  • Funkcja rzutowania
Ini:n, zdefiniowana jako Ini(x1,,xn)=xi, in

oraz wszystkie funkcje zbudowane z funkcji pierwotnie rekurencyjnych za pomocą następujących metod kompozycji:

  • Złożenia funkcji
Dla danych funkcji f:k oraz g1,,gk:n, złożeniem nazywamy funkcję
h:n, zdefiniowaną jako h(n)=f(g1(n),,gk(n))
  • Rekursji prostej
Dla danych funkcji g:n oraz h:n+2, złożeniem rekurencyjnym nazywamy funkcję
f:n+1 zdefiniowaną jako {f(n,0)=g(n)f(n,S(m))=h(f(n,m),n,m)

Funkcja częściowo rekurencyjna

Dodając do zbioru możliwych operacji operator minimalizacji otrzymujemy klasę funkcji częściowo rekurencyjnych:

  • Operator minimalizacji

Dla danej funkcji f:n+1, definiujemy funkcję h:n w ten sposób, że wartością h(x1,x2,,xn) jest minimalne y takie, że

xyf(x,x1,x2,,xn) jest zdefiniowane, oraz
f(y,x1,x2,,xn)=0.

Ponieważ nie dla wszystkich wartości x1,xn takie y musi istnieć, funkcje częściowe rekurencyjne mogą być (w przeciwieństwie do funkcji pierwotnie rekurencyjnych) funkcjami częściowymi.

Funkcja rekurencyjna

Funkcję częściowo rekurencyjną, która jest zdefiniowana dla każdego argumentu, nazywamy funkcją rekurencyjną

Przykładem funkcji która jest rekurencyjna, ale nie jest pierwotnie rekurencyjna, jest funkcja Ackermanna.

Funkcja elementarnie rekurencyjna

Funkcjami elementarnie rekurencyjnymi nazywamy funkcje:

  • funkcję następnika,
  • funkcję odejmowania ograniczonego
˙:2, zdefiniowaną jako ˙(x,y)={0, x<yxy, xy,
  • funkcję potęgowania
pow:2, zdefiniowaną jako pow(x,y)=xy.

oraz wszystkie funkcje zbudowane z powyższych trzech za pomocą złożenia funkcji i operatora minimalizacji ograniczonej.

Twierdzenie o zamkniętości funkcji pierwotnie rekurencyjnych ze względu na sumę i iloczyn

Niech dana będzie pierwotnie rekurencyjna funkcja f:n+1. Wówczas funkcje

h1:n+1, zdefiniowana jako h1(n,m)=i=0mf(n,i),
h2:n+1, zdefiniowana jako h2(n,m)=i=0mf(n,i)

są funkcjami pierwotnie rekurencyjnymi.

Analogicznie twierdzenie zachodzi dla funkcji elementarnie rekurencyjnych.

Przykłady funkcji rekurencyjnych

Zobacz też

Bibliografia

  • Mycka J., Teoria funkcji rekurencyjnych, wrzesień 2000, [1] (dostęp 27 sierpnia 2011).

Linki zewnętrzne

Szablon:Kontrola autorytatywna

ru:Рекурсивная функция (теория вычислимости)#Частично рекурсивная функция