35
EINF ¨ UHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester 2014 6. REKURSIVE FUNKTIONEN Ein maschinenunabh ¨ angiges formales Berechnungsmodell auf den nat ¨ urlichen Zahlen Theoretische Informatik (SoSe 2014) 6. Rekursive Funktionen 1 / 35

EINFUHRUNG IN DIE THEORETISCHE¨ INFORMATIK · (2)Primitive Rekursion(= Einfache Implizite Definitionen) (3)Minimalisierungsoperator (µ-Operator) (= Unbeschrankte Suche)¨ Wir fuhren

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: EINFUHRUNG IN DIE THEORETISCHE¨ INFORMATIK · (2)Primitive Rekursion(= Einfache Implizite Definitionen) (3)Minimalisierungsoperator (µ-Operator) (= Unbeschrankte Suche)¨ Wir fuhren

EINFUHRUNG IN DIE THEORETISCHEINFORMATIK

Prof. Dr. Klaus Ambos-Spies

Sommersemester 2014

6. REKURSIVE FUNKTIONENEin maschinenunabhangiges formales

Berechnungsmodell auf den naturlichen Zahlen

Theoretische Informatik (SoSe 2014) 6. Rekursive Funktionen 1 / 35

Page 2: EINFUHRUNG IN DIE THEORETISCHE¨ INFORMATIK · (2)Primitive Rekursion(= Einfache Implizite Definitionen) (3)Minimalisierungsoperator (µ-Operator) (= Unbeschrankte Suche)¨ Wir fuhren

Rekursive Funktionen: Idee

Definiere eine Klasse von (partiell) berechenbaren Funktionen uber Ninduktiv durch Festlegung

1 einer Ausgangsmenge einfacher berechenbarer Funktionen

2 von Operatoren, die (partiell) berechenbare Funktionen in(partiell) berechenbare Funktionen uberfuhren.

Theoretische Informatik (SoSe 2014) 6. Rekursive Funktionen 2 / 35

Page 3: EINFUHRUNG IN DIE THEORETISCHE¨ INFORMATIK · (2)Primitive Rekursion(= Einfache Implizite Definitionen) (3)Minimalisierungsoperator (µ-Operator) (= Unbeschrankte Suche)¨ Wir fuhren

Rekursive Funktionen: Ausgangsfunktionen

Die Ausgangsfunktionen sind:

S(x) = x +1 Nachfolger (= Inkrementieren)

Uni (x1, . . . ,xn) = xi n-stellige Projektion auf die

i-te Komponente(n ≥ 1, 1≤ i ≤ n)

Cni (x1, . . . ,xn) = i n-stellige konstante Funktion

mit Wert i(n, i ≥ 0)

NB: Offensichtlich sind diese Funktionen berechenbar!

Theoretische Informatik (SoSe 2014) 6. Rekursive Funktionen 3 / 35

Page 4: EINFUHRUNG IN DIE THEORETISCHE¨ INFORMATIK · (2)Primitive Rekursion(= Einfache Implizite Definitionen) (3)Minimalisierungsoperator (µ-Operator) (= Unbeschrankte Suche)¨ Wir fuhren

Rekursive Funktionen: Abschlussoperationen

Die Abschlussoperationen sind:

(1) Simultane Substitution (= Explizite Definitionen)

(2) Primitive Rekursion (= Einfache Implizite Definitionen)

(3) Minimalisierungsoperator (µ-Operator)(= Unbeschrankte Suche)

Wir fuhren diese Operationen im Folgenden ein.

Wir betrachten dabei zunachst nur den Abschluss unter (1) und (2)und erhalten so die primitiv rekursiven Funktionen.

Theoretische Informatik (SoSe 2014) 6. Rekursive Funktionen 4 / 35

Page 5: EINFUHRUNG IN DIE THEORETISCHE¨ INFORMATIK · (2)Primitive Rekursion(= Einfache Implizite Definitionen) (3)Minimalisierungsoperator (µ-Operator) (= Unbeschrankte Suche)¨ Wir fuhren

6.1 Primitiv rekursive Funktionen

Theoretische Informatik (SoSe 2014) 6. Rekursive Funktionen 5 / 35

Page 6: EINFUHRUNG IN DIE THEORETISCHE¨ INFORMATIK · (2)Primitive Rekursion(= Einfache Implizite Definitionen) (3)Minimalisierungsoperator (µ-Operator) (= Unbeschrankte Suche)¨ Wir fuhren

Simultane Substitution

DEFINITION: Seien g : Nm→ N und h1, . . . ,hm : Nn→ N m- bzw. n-stellige(partielle) Funktionen. Die aus g durch simultane Substitution von h1, . . . ,hmentstehende n-stellige (partielle) Funktion

f = g(h1, . . . ,hm)

ist definiert durch

∀~x ∈ Nn(f (~x) = g(h1(~x), . . . ,hm(~x)))

Bemerkungen:

Sind g,h1, . . . ,hm (partiell) berechenbar, so ist auch g(h1, . . . ,hm)(partiell) berechenbar.

Fur partielle g,h1, . . . ,hm und fur f = g(h1, . . . ,hm) gilt hierbei:

f (~x)↓⇔ ∃y1, . . . ,ym(h1(~x)↓= y1& . . .&hm(~x)↓= ym &g(y1, . . . ,ym)↓)

Theoretische Informatik (SoSe 2014) 6. Rekursive Funktionen 6 / 35

Page 7: EINFUHRUNG IN DIE THEORETISCHE¨ INFORMATIK · (2)Primitive Rekursion(= Einfache Implizite Definitionen) (3)Minimalisierungsoperator (µ-Operator) (= Unbeschrankte Suche)¨ Wir fuhren

Simultane Substitution: Beispiele

Die Komposition 1-stelliger Funktionen ist ein Spezialfall der simultanenSubstitution:

(g ◦h)(x) = g(h(x)) = g(h)(x)

Jedes Polynom uber N mit Koeffizienten aus N lasst sich mit Hilfe einerendlichen Folge von simultanen Substitutionen uber denAusgangsfunktionen erweitert um die (2-stellige) Addition undMultiplikation darstellen.

Z.B. gilt fur das Polynom p(x) = 2x2 +3x +4:

p =+(·(C12 , ·(U1

1 ,U11 )),+(·(C1

3 ,U11 ),C

14)).

Theoretische Informatik (SoSe 2014) 6. Rekursive Funktionen 7 / 35

Page 8: EINFUHRUNG IN DIE THEORETISCHE¨ INFORMATIK · (2)Primitive Rekursion(= Einfache Implizite Definitionen) (3)Minimalisierungsoperator (µ-Operator) (= Unbeschrankte Suche)¨ Wir fuhren

Explizite vs. implizite Definitionen

Die Simultane Substitution ist ein Beispiel fur ein explizites Definitions-schema. Bei einer expliziten Definition wird eine (neue) Funktion f durchRuckgriff auf (gegebene) Funktionen g1, ...,gm definiert:

f (~x) = Funktionsterm uber g1, ...,gm

(Die Ausgangsfunktionen sind so gewahlt, dass sich umgekehrt jede uberFunktionen g1, ...,gm explizit definierbare Funktion f durch (iterierte)Simultane Substitutitonen der Funktionen g1, ...,gm und der Ausgangs-funktionen darstellen lasst (s. nachstes Kapitel).)

Bei der impliziten (rekursiven) Definition einer Funktion f wird dagegen beider Definition von f (~x) (auch) auf f selbst zuruckgegriffen. Hierbei istsicherzustellen, dass die Definition nicht zirkelhaft ist. Dies kann unteranderem dadurch erreicht werden, dass nur auf den Wert von f (~y) fur“kleinere” ~y zugegriffen wird. Ein besonders einfaches Rekursionsschema,das dies sicherstellt, ist die primitive Rekursion.

Theoretische Informatik (SoSe 2014) 6. Rekursive Funktionen 8 / 35

Page 9: EINFUHRUNG IN DIE THEORETISCHE¨ INFORMATIK · (2)Primitive Rekursion(= Einfache Implizite Definitionen) (3)Minimalisierungsoperator (µ-Operator) (= Unbeschrankte Suche)¨ Wir fuhren

Beispiele Primitiver Rekursionen

1. Rekursive Definition der Addition mit Hilfe der Nachfolgerfunktion:

x +0 = xx +(y +1) = S(x +y)

2. Rekursive Definition der Multiplikation mit Hilfe der Addition:

x ·0 = 0x · (y +1) = (x ·y)+x

3. Rekursive Definition der Fakultat mit Hilfe der Multiplikation:

0! = 1(y +1)! = y ! · (y +1)

Theoretische Informatik (SoSe 2014) 6. Rekursive Funktionen 9 / 35

Page 10: EINFUHRUNG IN DIE THEORETISCHE¨ INFORMATIK · (2)Primitive Rekursion(= Einfache Implizite Definitionen) (3)Minimalisierungsoperator (µ-Operator) (= Unbeschrankte Suche)¨ Wir fuhren

Schema Primitiver Rekursionen (informell)

Bei der Definition einer Funktion f (~x ,y) durch primitive Rekursion geht manwie folgt vor:

Die Rekursion erfolgt nach der letzten Variablen y .

Der Funktionswert von f an der Stelle (~x ,0) wird explizit definiert(mit Hilfe einer gegebenen Funktion g(~x)).

Der Funktionswert von f an der Stelle (~x ,y +1) wird durch Ruckgriff aufden Wert an der Stelle (~x ,y) definiert.(Dies geschieht mit Hilfe einer gegebenen Funktion h, die inAbhangigkeit von~x ,y und f (~x ,y) den Wert von f (~x ,y +1) festlegt.)

Theoretische Informatik (SoSe 2014) 6. Rekursive Funktionen 10 / 35

Page 11: EINFUHRUNG IN DIE THEORETISCHE¨ INFORMATIK · (2)Primitive Rekursion(= Einfache Implizite Definitionen) (3)Minimalisierungsoperator (µ-Operator) (= Unbeschrankte Suche)¨ Wir fuhren

Schema der Primitiven Rekursion: formalDEFINITION: Seien g : Nn→ N und h : Nn+2→ N (partielle) Funktionen. Diedurch primitive Rekursion uber g und h definierte (partielle) Funktion

f (n+1) = PR(g,h)

ist definiert durch

∀~x ∈ Nn (f (~x ,0) = g(~x))

∀~x ∈ Nn ∀y ∈ N (f (~x ,y +1) = h(~x ,y , f (~x ,y)))

Bemerkungen:

Sind g und h (partiell) berechenbar, so ist f = PR(g,h) wiederum(partiell) berechenbar.

Fur partielle g,h gilt fur f = PR(g,h):

f (~x ,0)↓⇔ g(~x) ↓

f (~x ,y +1)↓⇔ [ f (~x ,0) ↓, . . . , f (~x ,y) ↓ & h(~x ,y , f (~x ,y)) ↓ ]

Theoretische Informatik (SoSe 2014) 6. Rekursive Funktionen 11 / 35

Page 12: EINFUHRUNG IN DIE THEORETISCHE¨ INFORMATIK · (2)Primitive Rekursion(= Einfache Implizite Definitionen) (3)Minimalisierungsoperator (µ-Operator) (= Unbeschrankte Suche)¨ Wir fuhren

Beispiel: Addition f (x ,y) = x +y

Es gilt f (2) = PR(g(1),h(3)) wobei

f (x ,0) = g(x) = x ⇒ g(x) = xf (x ,y +1) = h(x ,y , f (x ,y)) = S(f (x ,y)) ⇒ h(x ,y ,z) = S(z)

Hierbei lassen sich g und h mit Hilfe der Ausgangsfunktionen (und dersimultanen Substitution) wie folgt darstellen:

g(x) = U11 (x), d.h. g = U1

1

h(x ,y ,z) = S(z) = S(U33 (x ,y ,z)) = S(U3

3 )(x ,y ,z), d.h. h = S(U33 )

Es gilt also+= f = PR(U1

1 ,S(U33 ))

(Die Addition + lasst sich also aus den Ausgangsfunktionen S,U11 ,U

33 mit

Hilfe einer Anwendung der Simultanen Substitution und einer Anwendung derPrimitiven Rekursion darstellen.)

Theoretische Informatik (SoSe 2014) 6. Rekursive Funktionen 12 / 35

Page 13: EINFUHRUNG IN DIE THEORETISCHE¨ INFORMATIK · (2)Primitive Rekursion(= Einfache Implizite Definitionen) (3)Minimalisierungsoperator (µ-Operator) (= Unbeschrankte Suche)¨ Wir fuhren

Beispiel: Multiplikation f (x ,y) = x ·y

Es gilt f (2) = PR(g(1),h(3)) wobei

f (x ,0) = g(x) = 0 ⇒ g(x) = 0f (x ,y +1) = h(x ,y , f (x ,y)) = f (x ,y)+x ⇒ h(x ,y ,z) = z +x

Hierbei lassen sich g und h mit Hilfe der Ausgangsfunktionen und + (undsimultaner Substitutionen) wie folgt darstellen:

g(x) = C10(x), d.h. g = C1

0

h(x ,y ,z) = +(z,x) = +(U33 (x ,y ,z),U

31 (x ,y ,z)) = +(U3

3 ,U31 )(x ,y ,z), d.h.

h =+(U33 ,U

31 )

Es gilt also·= f = PR(C1

0 ,+(U33 ,U

31 ))

(Die Multiplikation · lasst sich also aus den Ausgangsfunktionen C10 ,U

31 ,U

33

sowie der Addition + mit Hilfe einer Anwendung der Simultanen Substitutionund einer Anwendung der Primitiven Rekursion darstellen.)

Theoretische Informatik (SoSe 2014) 6. Rekursive Funktionen 13 / 35

Page 14: EINFUHRUNG IN DIE THEORETISCHE¨ INFORMATIK · (2)Primitive Rekursion(= Einfache Implizite Definitionen) (3)Minimalisierungsoperator (µ-Operator) (= Unbeschrankte Suche)¨ Wir fuhren

Beispiel: Fakultatsfunktion f (y) = y !

Entsprechend ergibt sich aus den Rekursionsgleichungen

f (0) = 1 und f (y +1) = f (y) · (y +1)

der Fakultatsfunktion die folgende Darstellung dieser Funktion:

! = f = PR(C01 , ·(U

22 ,S(U2

1 )))

(Die Fakultat ! lasst sich also aus den Ausgangsfunktionen C01 ,U

21 ,U

22 sowie

der Multiplikation · mit Hilfe zweier Anwendungen der Simultanen Substitutionund einer Anwendung der Primitiven Rekursion darstellen.)

Theoretische Informatik (SoSe 2014) 6. Rekursive Funktionen 14 / 35

Page 15: EINFUHRUNG IN DIE THEORETISCHE¨ INFORMATIK · (2)Primitive Rekursion(= Einfache Implizite Definitionen) (3)Minimalisierungsoperator (µ-Operator) (= Unbeschrankte Suche)¨ Wir fuhren

Primitiv Rekursive Funktionen

DEFINITION: Die Klasse F(PRIM) der primitiv rekursiven Funktionen istinduktiv definiert durch

(i) S,Uni ,C

mj ∈ F(PRIM) (fur n ≥ 1, 1≤ i ≤ n, m, j ≥ 0)

(ii) Sind g(m),h(n)1 , . . . ,h(n)

m ∈ F(PRIM), so auch g(h1, . . . ,hm).

(iii) Sind g(n),h(n+2) ∈ F(PRIM), so auch PR(g,h).

D.h. die Klasse F(PRIM) der primitiv rekursiven Funktionen ist die kleinsteFunktionsklasse, die die Ausgangsfunktionen enthalt und gegen simultaneSubstitution und primitive Rekursion abgeschlossen ist.

Theoretische Informatik (SoSe 2014) 6. Rekursive Funktionen 15 / 35

Page 16: EINFUHRUNG IN DIE THEORETISCHE¨ INFORMATIK · (2)Primitive Rekursion(= Einfache Implizite Definitionen) (3)Minimalisierungsoperator (µ-Operator) (= Unbeschrankte Suche)¨ Wir fuhren

Eine historische Anmerkung

Die primitiv rekursiven Funktionen wurden von Godel 1931 in seinerberuhmten Arbeit uber die Unvollstandigkeit formaler Systeme derArithmetik eingefuhrt.

Kurt Godel (1906 (Brunn/Brno) - 1978 (Princeton))

Theoretische Informatik (SoSe 2014) 6. Rekursive Funktionen 16 / 35

Page 17: EINFUHRUNG IN DIE THEORETISCHE¨ INFORMATIK · (2)Primitive Rekursion(= Einfache Implizite Definitionen) (3)Minimalisierungsoperator (µ-Operator) (= Unbeschrankte Suche)¨ Wir fuhren

Bemerkungen

Die letzten Beispiele zeigen, dass +, · und ! primitiv rekursiv sind.Primitiv rekursive Funktionen sind total!(Induktion nach dem Aufbau)Primitiv rekursive Funktionen sind im intuitiven Sinne berechenbar.

Dies folgt aus unserer Beobachtung, dass die Ausgangs-funktionen berechenbar sind und dass die Klasse derberechenbaren Funktionen gegen Substitution und primitiveRekursion abgeschlossen ist.Es gibt jedoch totale berechenbare Funktionen, die sich mit Hilfekomplexerer Rekursionsschemata berechnen lassen, die nichtprimitiv rekursiv sind. Ein Beispiel fur solch eine Funktion ist dieAckermann-Funktion.

Theoretische Informatik (SoSe 2014) 6. Rekursive Funktionen 17 / 35

Page 18: EINFUHRUNG IN DIE THEORETISCHE¨ INFORMATIK · (2)Primitive Rekursion(= Einfache Implizite Definitionen) (3)Minimalisierungsoperator (µ-Operator) (= Unbeschrankte Suche)¨ Wir fuhren

Die Ackermann-Funktion

Die Ackermann-Funktion α : N2→ N ist durch folgende geschachtelteRekursion definiert:

α(0,y) = y +1

α(x +1,0) = α(x ,1)

α(x +1,y +1) = α(x ,α(x +1,y))

NB: Wahrend bei einer primitiven Rekursion, die letzte Variable dieRekursionsvariable ist, sind hier beide Variablen x und y Rekursions-variablen!

LEMMA. Die Ackermann-Funktion ist wohldefiniert, total und berechenbar.

BEWEISIDEE: Man zeigt dies durch Hauptinduktion nach x undNebeninduktion nach y .

Theoretische Informatik (SoSe 2014) 6. Rekursive Funktionen 18 / 35

Page 19: EINFUHRUNG IN DIE THEORETISCHE¨ INFORMATIK · (2)Primitive Rekursion(= Einfache Implizite Definitionen) (3)Minimalisierungsoperator (µ-Operator) (= Unbeschrankte Suche)¨ Wir fuhren

Die Ackermann-Funktion: BeispielWir berechnen α(2,1) mit Hilfe der “Ersetzungsregeln”

(i) α(0,y)→ y +1 (ii) α(x +1,0)→ α(x ,1)

(iii) α(x +1,y +1)→ α(x ,α(x +1,y))

(2,1) = (1,(2,0)) (iii)= (1,(1,1)) (ii)= (1,(0,(1,0))) (iii)= (1,(0,(0,1))) (ii)= (1,(0,2)) (i)= (1,3) (i)= (0,(1,2)) (iii)= (0,(0,(1,1))) (iii)= (0,(0,(0,(1,0)))) (iii)= (0,(0,(0,(0,1)))) (ii)= (0,(0,(0,2))) (i)= (0,(0,3)) (i)= (0,4) (i)= 5 (i)

Theoretische Informatik (SoSe 2014) 6. Rekursive Funktionen 19 / 35

Page 20: EINFUHRUNG IN DIE THEORETISCHE¨ INFORMATIK · (2)Primitive Rekursion(= Einfache Implizite Definitionen) (3)Minimalisierungsoperator (µ-Operator) (= Unbeschrankte Suche)¨ Wir fuhren

Eigenschaften der Ackermann-Funktion

Jeder Zweig αx : N→ N der Ackermann-Funktion ist primitiv rekursiv.(Hierbei: αx (y) := α(x ,y))

Man zeigt dies durch Induktion nach x .

Die Anzahl der primitiven Rekursionen, die man zur Darstellung von αxbenotigt, wachst jedoch mit x .

Mit wachsendem x machen die Zweige αx der Ackermann-Funktionjeweils einen “Wachstumssprung”:

I α1(y) = y +2I α2(y) = 2y +3I α3(y) = 2y+3−3I . . .

Dies benutzt man, um zu zeigen, dass die Diagonale α(y) := α(y ,y) vonα schneller wachst als jede primitiv rekursive Funktion (siehe z.B. A.Oberschelp: Rekursionstheorie, BI Wissenschaftsverlag, 1993).Wegen α = α(U1

1 ,U11 ) folgt hieraus α 6∈ F(PRIM).

Theoretische Informatik (SoSe 2014) 6. Rekursive Funktionen 20 / 35

Page 21: EINFUHRUNG IN DIE THEORETISCHE¨ INFORMATIK · (2)Primitive Rekursion(= Einfache Implizite Definitionen) (3)Minimalisierungsoperator (µ-Operator) (= Unbeschrankte Suche)¨ Wir fuhren

Primitiv rekursiv vs. berechenbar

Die Klasse der primitiv rekursiven Funktionen enthalt samtlicheberechenbaren Funktionen, auf die man in den ublichen Anwendungenstosst.

Das Beispiel der Ackermann-Funktion zeigt jedoch, dass die Klasse derprimitiv rekursiven Funktionen nicht alle berechenbaren Funktionenumfasst.

Man kann aber zeigen, dass fur Funktionen, die berechenbar aber nichtprimitiv rekursiv sind, die Berechnung so zeitaufwendig ist, dass diesefur grossere Eingaben praktisch nicht mehr ausfuhrbar ist.

Um alle berechenbaren Funktionen zu erhalten, benotigen wir eineweitere Abschlussoperation, die partiell berechenbare Funktionenwiederum auf partiell berechenbare Funktionen abbildet: dieMinimalisierung. Durch diese konnen jedoch totale (d.h. berechenbare)Funktionen auf partielle (d.h. partiell berechenbare) Funktionenabgebildet werden.

Theoretische Informatik (SoSe 2014) 6. Rekursive Funktionen 21 / 35

Page 22: EINFUHRUNG IN DIE THEORETISCHE¨ INFORMATIK · (2)Primitive Rekursion(= Einfache Implizite Definitionen) (3)Minimalisierungsoperator (µ-Operator) (= Unbeschrankte Suche)¨ Wir fuhren

6.2 Rekursive und partiell rekursive Funktionen

Theoretische Informatik (SoSe 2014) 6. Rekursive Funktionen 22 / 35

Page 23: EINFUHRUNG IN DIE THEORETISCHE¨ INFORMATIK · (2)Primitive Rekursion(= Einfache Implizite Definitionen) (3)Minimalisierungsoperator (µ-Operator) (= Unbeschrankte Suche)¨ Wir fuhren

Der Minimalisierungsoperator (µ-Operator)

DEFINITION: Sei g : Nn+1→ N eine (moglicherweise partielle) Funktion. Dieaus g durch Anwendung des µ-Operators entstehende partielle Funktion

f (n) = µ(g)

ist definiert durch

f (~x) = µy (g(~x ,y) = 0&∀z < y [g(~x ,z)↓])= min{y : g(~x ,y) = 0&∀z < y [g(~x ,z)↓]},

(fur alle~x ∈ Nn) wobei min /0 :=↑.

Der µ-Operator wird auch Minimalisierungs-Operator genannt.

Man spricht auch von einem Suchoperator: Fur eine (n+1)-stellige Relation(Eigenschaft) E liefert einem der µ-Operator zu gegebenem x1, . . . ,xn daskleinste y , sodass E auf x1, . . . ,xn,y zutrifft (falls existent), wenn man µ aufdie charakteristische Funktion cE des Komplements von E anwendet.

Theoretische Informatik (SoSe 2014) 6. Rekursive Funktionen 23 / 35

Page 24: EINFUHRUNG IN DIE THEORETISCHE¨ INFORMATIK · (2)Primitive Rekursion(= Einfache Implizite Definitionen) (3)Minimalisierungsoperator (µ-Operator) (= Unbeschrankte Suche)¨ Wir fuhren

Bemerkungen zum µ-Operator

Die Berechnung von µ(g) lasst sich durch folgende while-Schleifebeschreiben:

z : = 0;while g(~x ,z) 6= 0 do z := z +1;µ(g)(~x) := z

Dies zeigt, dass fur partiell berechenbares g die partielle Funktion µ(g)ebenfalls partiell berechenbar ist.

Zugleich verdeutlicht dies, warum wir fur partielles g fordern, dass g(~x ,z)↓fur z unterhalb der Nullstelle y gelten muss: Fur z mit g(~x ,z)↑ wird derzugehorige Schleifendurchgang namlich nicht beendet (da die zurEntscheidung der Schleifenbedingung notwendige Berechnung von g(~x ,z)nicht terminiert), weshalb µ(g)(~x)↑ in diesem Fall.

(Spater werden wir zeigen, dass ohne diese Definiertheitsforderung derderart modifizierte µ-Operator µ eine partiell berechenbare Funktion g aufeine nichtberechenbare partielle Funktion µ(g) abbilden kann.)

Theoretische Informatik (SoSe 2014) 6. Rekursive Funktionen 24 / 35

Page 25: EINFUHRUNG IN DIE THEORETISCHE¨ INFORMATIK · (2)Primitive Rekursion(= Einfache Implizite Definitionen) (3)Minimalisierungsoperator (µ-Operator) (= Unbeschrankte Suche)¨ Wir fuhren

Die Partiell Rekursiven Funktionen

DEFINITION: Die Klasse F(REK) der partiell rekursiven Funktionen istinduktiv definiert durch

(i) S,Uni ,C

mj ∈ F(REK) (fur n ≥ 1, 1≤ i ≤ n, m, j ≥ 0)

(ii) Sind g(m),h(n)1 , . . . ,h(n)

m ∈ F(REK) so auch g(h1, . . . ,hm).

(iii) Sind g(n),h(n+2) ∈ F(REK), so auch PR(g,h).

(iv) Ist g(n+1) ∈ F(REK), so auch µ(g).

Ist f ∈ F(REK) total, so nennt man f (total) rekursiv.

Die Klasse F(REK) der partiell rekursiven Funktionen ist also gerade diekleinste Funktionsklasse, die die Ausgangsfunktionen enthalt und gegensimultane Substitution, primitive Rekursion und den µ-Operatorabgeschlossen ist.

Theoretische Informatik (SoSe 2014) 6. Rekursive Funktionen 25 / 35

Page 26: EINFUHRUNG IN DIE THEORETISCHE¨ INFORMATIK · (2)Primitive Rekursion(= Einfache Implizite Definitionen) (3)Minimalisierungsoperator (µ-Operator) (= Unbeschrankte Suche)¨ Wir fuhren

Die Partiell Rekursiven Funktionen: Bemerkungen

Im Gegensatz zu F(PRIM) enthalt F(REK) auch partielle Funktionen.

Z.B. ist fur g = C21 die Funktion f (1) = µ(g) nirgends definiert, da g keine

Nullstellen besitzt.

Es gilt also F(PRIM) ⊂ F(REK).

Spater werden wir zeigen, dass es auch total rekursive Funktionen gibt,die nicht primitiv rekursiv sind.

Die Ackermann-Funktion ist ein Beispiel fur solch eine Funktion.

Theoretische Informatik (SoSe 2014) 6. Rekursive Funktionen 26 / 35

Page 27: EINFUHRUNG IN DIE THEORETISCHE¨ INFORMATIK · (2)Primitive Rekursion(= Einfache Implizite Definitionen) (3)Minimalisierungsoperator (µ-Operator) (= Unbeschrankte Suche)¨ Wir fuhren

6.3 Rekursivitat vs. TM- und RM-Berechenbarkeit

Theoretische Informatik (SoSe 2014) 6. Rekursive Funktionen 27 / 35

Page 28: EINFUHRUNG IN DIE THEORETISCHE¨ INFORMATIK · (2)Primitive Rekursion(= Einfache Implizite Definitionen) (3)Minimalisierungsoperator (µ-Operator) (= Unbeschrankte Suche)¨ Wir fuhren

Rekursivitat vs. TM- und RM-Berechenbarkeit

Unser Ziel ist zu zeigen, dass die von uns betrachteten dreiverschiedenen Vorgehensweisen den Begriff der Berechenbarkeit furZahlfunktionen zu formalisieren aquivalent sind, d.h. dass

I Turingmaschinen-BerechenbarkeitI Registermaschinen-BerechenbarkeitI Rekursivitat

ubereinstimmen (→ Aquivalenzsatz).

Hierzu beschliessen wir dieses Kapitel mit dem Nachweis, dass dierekursiven Funktionen RM-berechenbar sind.

Aufgrund der bereits gezeigten Beziehungen zwischen den obigenKonzepten genugt es dann zu zeigen, dass die TM-berechenbarenFunktionen rekursiv sind. Hierzu werden wir im nachsten Kapitel dieprimitive Rekursivitat zahlreicher Funktionen nachweisen und eineReihe von Abschlusseigenschaften von F(PRIM) und F(REK) beweisen.Diese Ergebnisse werden dann im ubernachsten Kapitel im Beweis derInklusion F(TM) ⊂ F(REK) Verwendung finden.

Theoretische Informatik (SoSe 2014) 6. Rekursive Funktionen 28 / 35

Page 29: EINFUHRUNG IN DIE THEORETISCHE¨ INFORMATIK · (2)Primitive Rekursion(= Einfache Implizite Definitionen) (3)Minimalisierungsoperator (µ-Operator) (= Unbeschrankte Suche)¨ Wir fuhren

Rekursive Funktionen sind RM-berechenbar

Da wir in Kapitel 5 bereits gezeigt haben, dass jede RO-berechenbareFunktionen auch RM-berechenbar ist (F(RO) ⊆ F(RM)), genugt eszum Nachweis, dass jede rekursive Funktion RM-berechenbar ist (d.h.,dass F(REK) ⊆ F(RM) gilt), zu zeigen, dass jede rekursive FunktionRO-berechenbar ist:

REK-RO-SIMULATIONSLEMMA. F(REK) ⊆ F(RO).

Theoretische Informatik (SoSe 2014) 6. Rekursive Funktionen 29 / 35

Page 30: EINFUHRUNG IN DIE THEORETISCHE¨ INFORMATIK · (2)Primitive Rekursion(= Einfache Implizite Definitionen) (3)Minimalisierungsoperator (µ-Operator) (= Unbeschrankte Suche)¨ Wir fuhren

REK-RO-Simulationslemma: Beweisidee

Da F(REK) die kleinste Funktionsklasse ist, die die Ausgangsfunktionen S,Un

i und Cni enthalt und abgeschlossen ist gegen simultane Substitution,

primitive Rekursion und den µ-Operator, genugt es zu zeigen:

die Ausgangsfunktionen sind RO-berechenbar

und

F(RO) ist abgeschlossen gegen

I simultane SubstitutionI primitive RekursionI µ-Operator.

Wir weisen dies in den folgenden 4 Hilfslemmata nach.

Theoretische Informatik (SoSe 2014) 6. Rekursive Funktionen 30 / 35

Page 31: EINFUHRUNG IN DIE THEORETISCHE¨ INFORMATIK · (2)Primitive Rekursion(= Einfache Implizite Definitionen) (3)Minimalisierungsoperator (µ-Operator) (= Unbeschrankte Suche)¨ Wir fuhren

RO-Berechenbarkeit der Ausgangsfunktionen

LEMMA 1: S,Uni ,C

mj ∈ F(PRO) (n ≥ 1; 1≤ i ≤ n; m, j ≥ 0).

BEWEIS. Es gilt

S = ϕ(1)P fur den RO P ≡ TL1→2 a2

Uni = ϕ

(n)P fur den RO P ≡ TLi→n+1

Cmj = ϕ

(m)P fur den RO P ≡ (am+1)

j

Hierbei haben wir in der letzten Zeile folgende Notation benutzt: Das n-facheHintereinanderausfuhren eines Operators P bezeichnen wir mit Pn . D.h. P0

ist der leere Operator (z.B. realisiert als P0 ≡ a1s1) und Pn+1 ≡ PnP.

Theoretische Informatik (SoSe 2014) 6. Rekursive Funktionen 31 / 35

Page 32: EINFUHRUNG IN DIE THEORETISCHE¨ INFORMATIK · (2)Primitive Rekursion(= Einfache Implizite Definitionen) (3)Minimalisierungsoperator (µ-Operator) (= Unbeschrankte Suche)¨ Wir fuhren

Abschluss von F(RO) gegen sim. Substitution

LEMMA 2. F(RO) ist gegen simultane Substitution abgeschlossen.

BEWEIS. Seien g(m),h(n)1 , . . . ,h(n)

m ∈ F(RO). Zu zeigen:

f (n) = g(h1, . . . ,hm) ∈ F(RO)

Nach Annahme gibt es ROs Pg ,Ph1 , . . . ,Phm die g,h1, . . . ,hm o.B.d.A.konservativ berechnen. Umbenennen der Register liefert:

Eingaberegister Ausgaberegister HilfsregisterPh1 1, . . . ,n n+2 > n+m+1· · · ·· · · ·· · · ·Phm 1, . . . ,n n+m+1 > n+m+1Pg n+2, . . . ,n+m+1 n+1 > n+m+1

Es folgt: Pf ≡ Ph1 . . . Phm Pg berechnet f .

Theoretische Informatik (SoSe 2014) 6. Rekursive Funktionen 32 / 35

Page 33: EINFUHRUNG IN DIE THEORETISCHE¨ INFORMATIK · (2)Primitive Rekursion(= Einfache Implizite Definitionen) (3)Minimalisierungsoperator (µ-Operator) (= Unbeschrankte Suche)¨ Wir fuhren

Abschluss von F(RO) gegen primitive RekursionLEMMA 3. F(RO) ist gegen primitive Rekursion abgeschlossen.

BEWEIS. Es gelte g(n), h(n+2) ∈ F(RO). Zu zeigen: f (n+1) = PR(g,h) ∈ F(RO).Seien Pg und Ph Registeroperatoren die g und h o.B.d.A. mit folgendenRegisterbelegungen und konservativ berechnen:

Eingaberegister Ausgaberegister HilfsregisterPg 1, . . . ,n n+2 > n+5Ph 1, . . . ,n,n+3,n+2 n+4 > n+5

Wie oben bereits gezeigt, lasst sich f = PR(g,h) durch eine for-Schleifebeschreiben, die wir durch folgenden (primitiven) RO simulieren konnen:

Pf ≡ Tn+1→n+5,n+6 Pg [sn+5 Ph an+3 TLn+4→n+2]n+5

(NB: Register n+5 wird zum Zahlen der Schleifendurchlaufe (d.h. derRekursionsschritte mit Anwendungen von h) benutzt. Hierzu wird y zunachstin Register n+5 als Zahlvariable z kopiert und dann mittels Pg f (~x ,0) = g(~x)berechnet. So lange z > 0 wird dann h iteriert an der Stelle(~x ,y −z, f (~x ,y −z)) berechnet, wobei in jedem Schritt z in Register n+5dekrementiert, also y −z in Register n+3 inkrementiert wird.)Theoretische Informatik (SoSe 2014) 6. Rekursive Funktionen 33 / 35

Page 34: EINFUHRUNG IN DIE THEORETISCHE¨ INFORMATIK · (2)Primitive Rekursion(= Einfache Implizite Definitionen) (3)Minimalisierungsoperator (µ-Operator) (= Unbeschrankte Suche)¨ Wir fuhren

Abschluss von F(RO) gegen den µ-Operator

LEMMA 4. F(RO) ist gegen den µ-Operator abgeschlossen.

BEWEIS. Fur g(n+1) ∈ F(RO) haben wir f (n) = µ(g) ∈ F(RO) zu zeigen. Ist Pgein RO, der g konservativ berechnet, so berechnet

Pf ≡ Pg [[sn+2]n+2 an+1 Pg ]n+2

f = µ(g), indem Pf den Operator Pg so lange fur Eingabe y = 0,1, . . . iteriert,bis dieser erstmals das Ergebnis 0 liefert.

Wie bereits beobachtet, implizieren Lemma 1 - 4 das REK-RO-Simulations-lemma.

BEMERKUNG: Wie man leicht sieht, gelten Lemma 1- 3 auch fur primitiveRegisteroperatoren anstelle allgemeiner ROs. Hierzu genugt es zubeobachten, dass die angegebenen ROs tatsachlich PROs sind (falls dienach I.V. gegebenen ROs ebenfalls PROs sind). Es gilt also auch:

PRIM-PRO-SIMULATIONSLEMMA. F(PRIM) ⊆ F(PRO).

Theoretische Informatik (SoSe 2014) 6. Rekursive Funktionen 34 / 35

Page 35: EINFUHRUNG IN DIE THEORETISCHE¨ INFORMATIK · (2)Primitive Rekursion(= Einfache Implizite Definitionen) (3)Minimalisierungsoperator (µ-Operator) (= Unbeschrankte Suche)¨ Wir fuhren

Zusammenfassung

Unsere bisherigen Ergebnisse zu den Beziehungen zwischen den von unseingefuhrten formalen Berechnungskonzepten lassen sich wie folgtzusammenfassen:

F(REK) ⊆ F(RO) ⊆ F(RM) ⊆⋃k≥1

F(k -TM) = F(TM)

Zum Beweis des Aquivalenzsatzes, der die Gleichheit der Klassen

F(REK) = F(RM) = F(TM)

behauptet, genugt es also noch die Inklusion

F(TM) ⊆ F(REK)

zu zeigen. Der Beweis hierfur ist recht aufwendig. Zur Vorbereitung beweisenwir im nachsten Kapitel eine Reihe von Aussagen uber die (primitiv)rekursiven Funktionen, bevor wir dann in Kapitel 8 diese noch fehlendeInklusion beweisen.

Theoretische Informatik (SoSe 2014) 6. Rekursive Funktionen 35 / 35