Alternative Berechnungsmodelle
Aus ProgrammingWiki
Theorie der rekursiven Funktionen
Primitiv-rekursive Funktionen
Sudan-Funktion
Der rumänische Mathematiker Gabriel Sudan (14.04.1899 - 22.06.1977) - wie Ackermann ebenfalls ein Schüler von David Hilbert - hat 1927 eine total berechenbare jedoch nicht primitiv rekursive Funktion publiziert. Sie ist folgendermaßen definiert.
$\begin{eqnarray*}
F_0(x,y) &=& x+y \\
F_{n+1}(x,0) &=& x,\ n\geq 0 \\
F_{n+1}(x,y+1) &=& F_n(F_{n+1}(x,y),F_{n+1}(x,y)+y+1),\ n\geq 0\end{eqnarray*}$
Beispiel: F_1(3,2)=16
$\begin{eqnarray*}
F_1(3,2) &=& F_0(F_1(3,1), F_1(3,1)+1+1) \\
F_1(3,1) &=& F_0(\underbrace{F_1(3,0)}_{3}, \underbrace{F_1(3,0)}_{3}+0+1) \\
&=& F_0(3,4) = 3+4 = 7\\
F_1(3,2) &=& F_0(7,9)=7+9=16 \\\end{eqnarray*}$
Berechnen Sie F_1(3,3)=35, F_1(3,4)=74 und F_2(2,1)=27 mit Hilfe der folgenden Prozedur. Beachten Sie das Aufrufmuster: Zur Berechnung von F_n(x,y) lautet der zugehörigen Aufruf (f n x y).