18.09.2013 Aufrufe

Skript in PDF - Theoretische Informatik - Technische Universität ...

Skript in PDF - Theoretische Informatik - Technische Universität ...

Skript in PDF - Theoretische Informatik - Technische Universität ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

4.5. REKURSIVE FUNKTIONEN 111<br />

π k i (n1, n2, . . .,nk) = ni.<br />

Für k = 2 gibt es z.B. zwei Projektionen<br />

π2 1 (n, m) = n und π2 2 (n, m) = m.<br />

Für k = 1 ist π1 1(n) = n die Identitätsfunktion.<br />

Def<strong>in</strong>ition. Die folgenden Funktionen heißen Basisfunktionen:<br />

1. die Nachfolgerfunktion succ (mit succ(n) = n + 1)<br />

2. die Nullfunktion K0 (mit dem e<strong>in</strong>zigen Wert 0) und<br />

3. die Projektionen π k i<br />

für alle 1 ≤ i ≤ k, k = 1, 2, 3, . . ..<br />

Aus den Basisfunktionen können weitere Funktionen mit Hilfe der Verknüpfung<br />

def<strong>in</strong>iert werden:<br />

Beispiel 1. Konstante Funktionen. Die konstante Funktion K1 entspricht der Verknüpfung<br />

von K0 mit succ:<br />

K1 = succ(K0).<br />

Analog<br />

K2 = succ(K1) = succ(succ(K0))<br />

usw.<br />

Beispiel 2. Die Funktion f(n) = n + 2 für alle n ∈<br />

succ mit sich selbst:<br />

f(n) = succ(succ(n)).<br />

ist die Verknüpfung von<br />

Beispiel 3. Die Funktion g(n, m) = m+2 (für alle n, m ∈ ) ist e<strong>in</strong>e Verknüpfung<br />

der zweiten Projektion π2 2 (n, m) (die n wegfallen lässt) und der Funktion f aus<br />

Beispiel 2:<br />

g(n, m) = f(π2 2(n, m)) = succ(succ(π2 2(n, m)).<br />

Bemerkung 1. 1. Im Allgeme<strong>in</strong>en def<strong>in</strong>ieren wir die Verknüpfung mehrstelliger<br />

Funktionen wie üblich: falls<br />

f : k → (k ≥ 1)<br />

e<strong>in</strong>e k-stellige Funktion ist und<br />

g1, . . .,gk : m → (m ≥ 0)<br />

k m-stellige Funktionen s<strong>in</strong>d, ist die Verknüpfung von f mit g1, . . . , gk die<br />

m-stellige Funktion<br />

h :<br />

die durch<br />

m → ,<br />

h(n1, . . . , nm) = f(g1(n1, . . . , nm), g2(n1, . . . , nm), . . .,gk(n1, . . . , nm))<br />

für alle (n1, . . .,nm) auf m def<strong>in</strong>iert wird.<br />

2. Neben der Verknüpfung wollen wir die sogenannte primitive Rekursion verwenden,<br />

um neue Funktionen zu erzeugen. Zum Beispiel lässt sich die Fakultätsfunktion<br />

f(n) = n! mit Hilfe primitiver Rekursion durch die Multiplikation<br />

h(n, m) = n ∗ m und den Initialwert 1 = f(0) wie folgt def<strong>in</strong>ieren:<br />

f(0) = 1;<br />

f(n + 1) = h(n, f(n)) = n ∗ f(n).<br />

Die Def<strong>in</strong>ition e<strong>in</strong>er e<strong>in</strong>stelligen Funktion f(n) durch primitive Rekursion hat<br />

zwei Bestandteile: e<strong>in</strong>e Konstante k und e<strong>in</strong>e zweistellige Funktion h(n, m).<br />

Dann def<strong>in</strong>iert man<br />

f(0) = k<br />

und<br />

f(n + 1) = h(n, f(n)).

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!