EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK 8. DER ÄQUIVALENZSATZ. Prof. Dr. Klaus Ambos-Spies. Sommersemester 2017

Ähnliche Dokumente
8. Der Äquivalenzsatz

10. Der Äquivalenzsatz

Universelle Maschinen und universelle Funktionen

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

14. Rekursiv aufzählbare Mengen

9. Universelle Maschinen und universelle Funktionen

Wir suchen Antworten auf die folgenden Fragen: Was ist Berechenbarkeit? Wie kann man das intuitiv Berechenbare formal fassen?

10. UNENTSCHEIDBARE PROBLEME:

Logik und Beweisbarkeit

2 Turingmaschinen 6. Eine nd. k-band-turingmaschine M zur Erkennung einer m-stelligen Sprache L (Σ ) m ist ein 8-Tupel

9. UNVERSELLE MASCHINEN UND UNIVERSELLE FUNKTIONEN

Grundlagen der Theoretischen Informatik

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK 3. TURINGMASCHINEN. Prof. Dr. Klaus Ambos-Spies. Sommersemester 2012

Unentscheidbarkeitssätze der Logik

Die Church-Turing-These

6.4 Entscheidbarkeit. nein sein müssen, ist klar. THEO 6.4 Entscheidbarkeit 205/307 c Ernst W. Mayr

Alan Mathison Turing ( )

Grundlagen der Theoretischen Informatik

6. REKURSIVE FUNKTIONEN Ein maschinenunabhängiges formales Berechnungsmodell auf den natürlichen Zahlen

Entscheidungsprobleme

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK 0. ORGANISATORISCHES UND ÜBERBLICK

5. Universelle Maschinen und uniform rekursive Klassen

Rekursive und primitiv rekursive Funktionen. Ein maschinenunabhängiges formales Berechnungsmodell auf den natürlichen Zahlen

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK 0. ORGANISATORISCHES UND ÜBERBLICK

6. Varianten des Turingmaschinen-Konzeptes II: Varianten der Speicherstruktur

Theoretische Grundlagen der Informatik

LOOP-Programme: Syntaktische Komponenten

Universität Heidelberg 23. Juli 2018 Institut für Informatik Prof. Dr. Klaus Ambos-Spies Dipl. Math. Martin Monath

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Ein formales Berechnungsmodell: Turingmaschinen. Turingmaschinen 26 / 62

5. REGISTERMASCHINEN Ein formales Berechnungsmodell auf den natürlichen Zahlen

Kapitel 1.4. Exkurs: Entscheidbarkeit und Komplexität. Mathematische Logik (WS 2012/3) K. 1.4: Entscheidbarkeit und Komplexität 1/10

Berechenbarkeit und Komplexität

Nachklausur zur Vorlesung Einführung in die Theoretische Informatik

Algorithmentheorie 8. Vorlesung

11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P

4. VARIANTEN DES TURINGMASCHINEN-KONZEPTES

Algorithmen und Komplexität, Teil II: Berechenbarkeit und Komplexität

Grundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier. Henning Fernau Universität Trier

Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt:

2.5 Halteproblem und Unentscheidbarkeit

Entscheidungsprobleme

Grundlagen der Theoretischen Informatik

8. Rekursive und primitiv rekursive Funktionen

Einführung in die Theoretische Informatik

Mächtigkeit von LOOP-Programmen. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen

Einführung in die mathematische Logik

Fragen 1. Muss eine DTM ein Wort zu Ende gelesen haben, um es zu akzeptieren? a) Ja! b) Nein!

Theoretische Grundlagen der Informatik

Einführung in die mathematische Logik

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Beispiel einer nicht berechenbaren Funktion: Busy Beaver

Unentscheidbarkeit von Problemen mittels Turingmaschinen

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion

Grundlagen der Theoretischen Informatik

Berechenbarkeit. Script, Kapitel 2

Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion

Turing-Maschine Definition

Kapitel 5. Entscheidbarkeit und Berechenbarkeit. 5.1 Entscheidbarkeit

Turing-Maschinen: Ein abstrakes Maschinenmodell

Berechnungsmodelle. Mathias Hecht. April 29, 2010

Beispiel: NTM. M = ({q 0,q 1,q 2 }, {0, 1}, {0, 1, #},δ, q 0, #, {q 2 }) q 2

Informatik III. Arne Vater Wintersemester 2006/ Vorlesung

Einführung in die mathematische Logik

1.5 Turing-Berechenbarkeit

Logik und Beweisbarkeit

3. Mathematische Maschinen

Reduktionen. Formalisierung von Sprache A ist nicht schwerer als Sprache B.

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

VL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger

Semi-Entscheidbarkeit und rekursive Aufzählbarkeit

Halteproblem/Kodierung von Turing-Maschinen

Wiederholung. Organisatorisches. VL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger

Präsenzübung Berechenbarkeit und Komplexität

Vorname Name Matrikelnummer 1. a) Benennen Sie die übrigen 6 Komponenten einer nicht-deterministischen Turingmaschine (TM): (3 Punkte)

Theorie der Informatik

Einführung in die Theoretische Informatik

Falls H die Eingabe verwirft, so wissen wir, dass M bei Eingabe w nicht hält. M hält im verwerfenden Haltezustand. Beweis:

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Berechenbarkeit. Script, Kapitel 2

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

1 Eine Menge M Σ heißt (rekursiv) aufzählbar genau. 2 Die Familie aller aufzählbaren Mengen wird mit RE

3. Turingmaschinen FORMALISIERUNG VON ALGORITHMEN. Turingmaschinen Registermaschinen Rekursive Funktionen UNTERSCHEIDUNGSMERKMALE DER ANSÄTZE:

1.5 Turing-Berechenbarkeit

Angewandte Mathematik am Rechner 1

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p.

Übungsblatt 1. Lorenz Leutgeb. 30. März 2015

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Akzeptierbarkeit und Entscheidbarkeit. Teil V.

Die Unentscheidbarkeit extensionaler Eigenschaften von Turingmaschinen: der Satz von Rice

a b b a Vom DFA zur TM Formale Grundlagen der Informatik 1 Kapitel 9 Turing-Maschinen Der Lese-/Schreibkopf Bedeutung der TM

Theoretische Grundlagen der Informatik

Informatik III. Arne Vater Wintersemester 2006/ Vorlesung

Klausur zur Vorlesung Mathematische Logik

Turingmaschinen. und eine kleine Einführung in Bereiche der theoretischen Informatik

Wie man eine Sprache versteht

Transkript:

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester 2017 8. DER ÄQUIVALENZSATZ Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 1 / 36

Übersicht In diesem Kapitel zeigen wir zunächst, dass die von uns eingeführten formalen Berechnungskonzepte übereinstimmen, d.h., dass eine Funktion genau dann Turing-berechenbar ist, wenn diese Registermaschinen-berechenbar ist, und wenn diese rekursiv ist (Äquivalenzsatz, 8.1) Wir stellen dann die Church-Turing-These vor, die besagt, dass die formalen Berechnungsbegriffe den intuitiven Berechnungsbegriff erfassen ( 8.2), und diskutieren schließlich einige Folgerungen aus dem Äquivalenzsatz, wobei wir insbesondere alternative Charakterisierungen der primitiv rekursiven Funktionen vorstellen ( 8.3). Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 2 / 36

8.1 Der Äquivalenzsatz Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 3 / 36

Der Äquivalenzsatz ÄQUIVALENZSATZ. Für eine (partielle) Funktion f : N n N sind folgende Aussagen äquivalent: f ist (partiell) rekursiv. f wird von einer Registermaschine berechnet. f ist (partiell) Turing-berechenbar. F(REK) = F(RM) = F(TM) Betrachtet man auch die von uns eingeführten Varianten der Turingund Registermaschinen-Berechenbarkeit, so lässt sich der Satz noch wie folgt erweitern: Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 4 / 36

Der Erweiterte Äquivalenzsatz ERWEITERTER ÄQUIVALENZSATZ. Für eine (partielle) Funktion f : N n N sind folgende Aussagen äquivalent: f ist (partiell) rekursiv. f wird von einem Registeroperator berechnet. f wird von einer Registermaschine berechnet. f ist (partiell) Turing-berechenbar. f ist (partiell) k-band-turingmaschinen-berechenbar (k 1). F(REK) = F(RO) = F(RM) = F(TM) = F(k-TM) = k 1 F(k-TM) Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 5 / 36

Bereits gezeigte Inklusionen In den vorangegangenen Kapitel haben wir bereits die folgenden Inklusionen bewiesen: F(REK) F(RO) (Kapitel 6) F(RO) F(RM) (Kapitel 5) F(RM) k 1 F(k-TM) (Kapitel 5) k 1 F(k-TM) = F(k-TM) = F(TM) für alle k 1 (Kapitel 4) Zum Beweis des (Erweiterten) Äquivalenzsatzes genügt es also noch zu zeigen: F(TM) F(REK) Der BEWEIS wird auf den folgenden Folien skizziert. Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 6 / 36

Gliederung des Beweises der Inklusion F(TM) F(REK) Sei ϕ (n) F(TM). Um ϕ (n) F(REK) zu zeigen gehen wir wie folgt vor: (1) NORMIERUNG: Wähle eine geeignet normierte TM M, die ϕ berechnet. (2) GÖDELISIERUNG (KODIERUNG): Kodiere die Maschine M, M-Konfigurationen und M-Rechnungen durch Zahlen so, dass das Prädikat RECHNUNG( x, y, z) y kodiert eine terminierende M-Rechnung bei Eingabe x mit Ergebnis z primitiv rekursiv ist. Dann gilt ϕ( x) = (µy(rechnung( x,(y) 1,(y) 2 ))) 2, womit ϕ F(REK) bewiesen ist. Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 7 / 36

Normierung Sei ϕ (n) eine n-stellige partiell Turing-berechenbare Funktion. Nach Definition gibt es dann eine Turingmaschine M = ({0},n,{0},Γ,Z,z 0,δ), die ϕ berechnet, d.h. für deren berechnete Funktion ϕ M gilt: ϕ = ϕ M. O.B.d.A. können wir folgende Annahmen über die Maschine M machen: Γ = {0,1,...,p} (für p 1 geeignet), wobei 1 = b das Blankzeichen sei Z = {0,1,...,q} (für q 1 geeignet) z 0 = 0 und z stopp := q ist ausgezeichneter Stoppzustand von M Die Buchstaben des Bandalphabets und die Zustände sind also Zahlen! Wir erreichen dies durch Umbenennen der Buchstaben des Bandalphabets (die nicht zum Ein- und Ausgabealphabet {0} gehören) und der Zustände. Den Stoppzustand q erhalten wir dadurch, dass wir diesen Zustand zur ursprünglichen Zustandsmenge hinzunehmen und für jedes Paar (z, a), für das δ nicht definiert ist, die Programmzeile δ(z,a) = (a,s,q) neu hinzufügen. Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 8 / 36

Gödelisierung: Vorbemerkungen Um zu zeigen, dass die von M berechnete Funktion ϕ M partiell rekursiv ist, kodieren wir die Maschine M und deren Konfigurationen durch Zahlen, wodurch sich die Arbeitsweise von M mit Hilfe arithmetischer Prädikate und Funktionen beschreiben lässt. Hierzu benutzen wir die im letzten Kapitel eingeführte primitiv rekursive Kodierung endlicher Zahlenfolgen. Wir rufen zunächst die dort eingeführten Funktionen ins Gedächtnis und führen eine vereinfachte Bezeichnungsweise für die kodierten Folgen ein. Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 9 / 36

Gödelisierung: Kodierung von Zahlfolgen x 1,...,x n := τ (x 1,...,x n ) := τ (λ) (x) i := π (x,i) d.h. ( x 1,...,x n ) i = x i (x) i,j := ((x) i ) j = π (π (x,i),j) l( x 1,...,x n ) = n head( x 1,...,x n ) = x 1 tail( x 1,...,x n ) = x 2,...,x n x 1,...,x n y 1,...,y m = x 1,...,x n,y 1,...,y m Wir haben gezeigt, dass mit Ausnahme von... diese Funktionen primitiv rekursiv sind. Weiter ist die Funktion x 1,...,x n primitiv rekursiv, wenn wir die Eingabelänge n festhalten. Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 10 / 36

Gödelisierung: Kodierung von Konfigurationen Einer Konfiguration c =...a l...a 1 a 0...a r... z ordnen wir die Gödelnummer c = z(c), l(c), r(c) zu, wobei z(c) = z (Zustand) l(c) = a 1,...,a l (linke Bandhälfte; von rechts gelesen) r(c) = a 0,...,a r (rechte Bandhälfte inkl. AF; von links gelesen). NB(1): Da die Buchstaben des Bandalphabets Zahlen sind, können wir hier ein Wort a 1...a n durch die kodierte Zahlenfolge a 1,...,a n beschreiben. NB(2): Die wesentliche Information über c lässt sich primitiv rekursiv aus c extrahieren. Z.B. ist ( c) 1 der Zustand von c, ( c) 2 und ( c) 3 die kodierte linke bzw. rechte Bandhälfte und ( c) 3,1 die Inschrift des AF. Zur leichteren Lesbarkeit verwenden wir die folgenden primitiv rek. Funktionen: z(x) := (x) 1 lbh(x) := (x) 2 rbh(x) := (x) 3 af(x) := (x) 3,1 Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 11 / 36

Gödelisierung: Ausgezeichnete Konfigurationen und Übergänge Als nächstes zeigen wir, dass folgende Funktionen primitiv rekursiv sind: 1 start : ordnet einer Eingabe die Gödelnummer der zugehörigen Startkonfiguration zu 2 wert : ordnet der Gödelnummer einer Konfiguration die zugehörige Ausgabe zu 3 nfk : ordnet der Gödelnummer einer Nichtstopp-Konfiguration die Gödelnummer der Nachfolgekonfiguration zu Hiermit werden wir dann die primitive Rekursivität des Rechnungsprädikates RECHNUNG nachweisen. Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 12 / 36

Gödelisierung: Kodierte Eingabefunktion BEHAUPTUNG. Die Funktion start : N n N mit start( x) = start(x 1,...,x n ) = c, wobei c die zu x = (x 1,...,x n ) gehörende Startkonfiguration c =... 1 1 x 0 1 1 x 2... 1 x n 1... ist, ist primitiv rekursiv. Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 13 / 36

Gödelisierung: Kodierte Eingabefunktion (Forts.) BEWEIS DER BEHAUPTUNG. Definiere start durch start( x) = 0, lbhstart( x), rbhstart( x) wobei lbhstart( x) = 1 rbhstart( x) = 1 unär(x 1 ) 1 unär(x n ) 1 Hierbei ordnet die durch unär(0) = 0 unär(m + 1) = unär(m) 0 definierte Funktion unär einer Zahl m die kodierte Folge m = 0,...,0 der Länge m + 1 zur Beschreibung der Unärdarstellung 0 m+1 von m zu. Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 14 / 36

Gödelisierung: Kodierte Ausgabefunktion BEHAUPTUNG. Die Funktion wert : N N, die der Kodierung c einer Konfiguration c den zugehörigen Ausgabewert zuordnet, d.h. wert( c) = m für c =... a l... a 1 a 0 z m a m+2... a r... (a m+2 0), ist primitiv rekursiv. BEWEIS. Da m + 2 durch die Länge der relevanten rechten Bandhälfte beschränkt ist und a m+2 der erste rechts des Arbeitsfeldes stehende von 0 verschiedene Buchstabe ist, gilt wert(x) = µy l(rbh(x))(y 2 & (rbh(x)) y 0) 2. Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 15 / 36

Gödelisierung: Kodierte Einschrittfunktion BEHAUPTUNG. Die Funktion nfk : N N, die der Gödelnummer c einer Nichtstoppkonfiguration c die Gödelnummer der Nachfolgekonfiguration von c zuordnet (und die die Gödelnummer c einer Stoppkonfiguration c auf sich selbst abbildet), ist primitiv rekursiv. BEWEIS. Wir setzen nfk(x) = nfz(x), nflbh(x), nfrbh(x) aus den im Folgenden definierten primitiv rekursiven Hilfsfunktionen nfz(x), nflbh(x) und nfrbh(x) zusammen, die bei Eingabe x = c Zustand sowie kodierte linke bzw. rechte Bandhälfte der Nachfolgekonfiguration c von c ausgeben. Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 16 / 36

Gödelisierung: Kodierte Einschrittfunktion - Hilfsfunktionen Zur Definition dieser 3 Komponenten von nfk stellen wir das Programm δ zunächst durch drei primitiv rekursive Funktionen dar: nz(z,a) gibt den Nachfolgezustand des Zustandes z an, falls a auf dem Arbeitsfeld steht: { z falls δ(z,a) = (a,b,z ) (für a, B geeignet) nz(z,a) = z sonst NB: nz ist primitiv rekursiv, da nz(z,a) = z. no(z,a) gibt den im Zustand z ausgeführten Druckbefehl an, falls a auf dem Arbeitsfeld steht: { a falls δ(z,a) = (a,b,z ) (für B, z geeignet) no(z,a) = a sonst NB: no ist primitiv rekursiv, da no(z,a) = a. Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 17 / 36

Gödelisierung: Kodierte Einschrittfunktion - Hilfsfunktionen (Forts) nb(z, a) gibt den im Zustand z ausgeführten Bewegungsbefehl (in kodierter Form) an, falls a auf dem Arbeitsfeld steht: { B nb(z,a) = S falls δ(z,a) = (a,b,z ) (für a, z geeignet) sonst Hierbei sei: L = 0, S = 1 und R = 2. NB: nb ist primitiv rekursiv, da nb(z,a) = 1. Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 18 / 36

Gödelisierung: Kodierte Einschrittfunktion - Definition der Komponenten Hiermit können wir nun definieren: nfz(x) := nz(z(x), af(x)) lbh(x) nflbh(x) := tail(lbh(x)) 1 no(z(x),af(x)) lbh(x) falls nb(z(x),af(x)) = S falls nb(z(x),af(x)) = L falls nb(z(x),af(x)) = R sowie nfrbh(x) := no(z(x),af(x)) tail(rbh(x)) head(lbh(x)) no(z(x),af(x)) tail(rbh(x)) tail(rbh(x)) 1 falls nb(z(x),af(x)) = S falls nb(z(x),af(x)) = L falls nb(z(x),af(x)) = R Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 19 / 36

Gödelisierung: Kodierte Einschrittfunktion - Definition der Komponenten (Bemerkungen) Bei der Definition von nflbh haben wir den relevanten Teil der linken Bandhälfte links um ein Blank erweitert, falls diese durch den L-Befehl rechts um ein Feld gekürzt wird (s. Fall 2). Analog haben wir bei nfrbh im Fall 3 ein Blank am rechten Ende der rechten Bandhälfte hinzugefügt. Hierdurch haben wir sichergestellt, dass die relevanten linken und rechten Bandteile nie leer sind. Weiter beachte man, dass wir die Funktionen so definiert haben, dass für ein x, das keine Konfiguration mit Zustand z < q kodiert, nfk(x) = nfz(x), nflbh(x), nfrbh(x) = x gilt. Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 20 / 36

Gödelisierung: Kodierung von Konfigurationenfolgen Eine Folge c 1,...,c m von Konfigurationen stellen wir als kodierte Folge der kodierten Konfigurationen dar: c 1,..., c m BEHAUPTUNG. Es gibt ein 1-stelliges primitiv rekursives Prädikat TKF, das auf eine Zahl x, deren erste (kodierte) Komponente (x) 1 eine Konfiguration kodiert, genau dann zutrifft, falls x eine maximale endliche M-Konfigurationenfolge kodiert: (x) 1 kodiert Konfiguration [TKF(x) x kodiert eine endl. maximale M-Konfigurationenfolge c 1,...,c m, d.h. x = c 1,..., c m & c 1 M c 2 M c m & c m ist Stoppkonfiguration] Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 21 / 36

Gödelisierung: Kodierung von Konfigurationenfolgen (Forts.) BEWEIS DER BEHAUPTUNG. Definiere TKF durch TKF(x) : l(x) 1 & i < l(x) (i 1 z((x) i ) < q & nfk((x) i ) = (x) i+1 ) & z((x) l(x) ) = q Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 22 / 36

Gödelisierung: das kodierte Rechnungsprädikat BEHAUPTUNG. Das (n+2)-stellige Prädikat RECHNUNG mit RECHNUNG( x, y, z) y kodiert eine terminierende M-Rechnung bei Eingabe x mit Ergebnis z ist primitiv rekursiv. BEWEIS. RECHNUNG( x,y,z) start( x) = (y) 1 & TKF(y) & wert((y) l(y) ) = z Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 23 / 36

Abschluss des Beweises Wie bereits zu Beginn des Beweises bemerkt, lässt sich die von M berechnete Funktion ϕ M mit Hilfe des gödelisierten Rechnungsprädikats durch darstellen. ϕ M ( x) = (µy(rechnung( x,(y) 1,(y) 2 ))) 2, Aus der primitiven Rekursivität von RECHNUNG ergibt sich hieraus die partielle Rekursivität von ϕ M. Da ϕ = ϕ M folgt hiermit: ϕ F(REK). Damit ist die Inklusion F(TM) F(REK) bewiesen, was auch den Beweis des Äquivalenzsatzes abschließt. Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 24 / 36

8.2 Die Church-Turing-These Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 25 / 36

Äquivalenzsatz und Church-Turing-These Neben den drei von uns betrachteten Ansätzen zur Formalisierung des Berechenbarkeitsbegriffs wurde eine Reihe anderer formaler Berechnungskonzepte (z.b. Markov-Algorithmen, der λ-kalkül und Post s Kanonische Systeme) eingeführt, die sich ebenfalls als äquivalent zur Turing-Berechenbarkeit erwiesen haben. Weiter scheint es keinen Grund zu geben, der einen hindert einen Algorithmus in eine äquivalente Turing-Maschine zu überführen. Man geht daher davon aus, dass mit der Turing-Berechenbarkeit (und den anderen formalen hierzu äquivalenten Berechenbarkeitsbegriffen) eine adäquate Formalisierung des intuitiven Berechenbarkeitsbegriffs vorliegt ( CHURCH-TURING-THESE oder kurz CHURCHSCHE THESE). Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 26 / 36

Church-Turing-These CHURCH-TURING-THESE (CHURCHsche THESE): Für eine (partielle) Funktion ϕ : N n N sind die folgenden Aussagen äquivalent: ϕ ist (partiell) Turing-berechenbar ϕ ist im intuitiven Sinne (partiell) berechenbar NB Diese These beschreibt eine Überzeugung. Sie vergleicht ein vages, intuitives Konzept (berechenbar) mit einem präzisen mathematischen Konzept (Turing-berechenbar). Die These ist daher nicht im strengen mathematischen Sinn beweisbar. Man kann daher nur anschaulich argumentieren und sagen, dass die These plausibel ist. Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 27 / 36

Church-Turing-These für die Entscheidbarkeit Nach der Church-Turing-These und dem Äquivalenzsatz stimmen die (partiell) berechenbaren Funktionen mit den (partiell) rekursiven Funktionen überein. Da eine Mengen genau dann entscheidbar ist, wenn ihre charakteristische Funktion berechenbar ist, und da wir entsprechend definiert haben, dass eine Menge genau dann rekursiv ist, wenn ihre charakteristische Funktion rekursiv ist, impliziert die Church-Turing-These auch die Äquivalenz A entscheidbar A rekursiv Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 28 / 36

Church-Turing-These für die Aufzählbarkeit Den Begriff der Aufzählbarkeit konnten wir ebenfalls auf den der Berechenbarkeit zurückführen, indem wir beobachteten, dass eine Menge genau dann aufzählbar ist, wenn sie der Definitionsbereich einer partiell berechenbaren Funktion ist. Wir definieren nun entsprechend: DEFINITION. Eine Menge M N n ist rekursiv aufzählbar (r.a.), wenn M der Definitionsbereich einer partiell rekursiven Funktion ϕ : N n N ist. Aus der Church-Turing-These für die Berechenbarkeit ergibt sich dann: A aufzählbar A rekursiv aufzählbar Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 29 / 36

8.3 Folgerungen aus dem Äquivalenzsatz Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 30 / 36

Eine Folgerung aus dem Äquivalenzsatz Die im Beweis des Äquivalenzsatzes gefundene Darstellung von ϕ ϕ( x) = (µy(rechnung( x,(y) 1,(y) 2 ))) 2, zeigt, dass jede partiell rekursive Funktion eine Darstellung hat, in der der µ-operator nur einmal angewendet wird, während die anderen Bestandteile der Darstellung primitiv rekursiv sind: NORMALFORMSATZ. Zu jeder partiell rekursiven Funktion ϕ : N n N gibt es eine 1-stellige primitiv rekursive Funktion f und ein (n + 1)-stelliges primitiv rekursives Prädikat P, sodass gilt. ϕ( x) = f (µy(p( x,y))) Anmerkung: Im nächsten Kapitel werden wir eine Verschärfung des Normalformsatzes erhalten ( Normalformtheorem von Kleene). Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 31 / 36

Primitiv rekursive Funktionen und TMs Ähnlich kann man zeigen: SATZ. Für eine totale Funktion f (n) über N sind folgende Aussagen äquivalent: (a) f ist primitiv rekursiv. (b) f wird von einer Turingmaschine M berechnet, deren Laufzeit time M ( x) durch eine primitiv rekursive Funktion t( x) beschränkt ist. BEWEISIDEE. (a) (b) Induktion nach dem Aufbau der primitiv rekursiven Funktionen. (b) (a) Nach den vorangehenden Bemerkungen genügt es zu zeigen, dass die kodierte Rechnung einer Turingmaschine primitiv rekursiv in der Eingabe und in der Rechenzeit beschränkt ist. Dies ergibt sich leicht aus der Definition der kodierten Rechnung. (Übung!) Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 32 / 36

Kleiner Äquivalenzsatz Weiter lassen sich die primitiv rekursiven Funktionen mit Hilfe der primitiven Registeroperatoren beschreiben: KLEINER ÄQUIVALENZSATZ. F(PRO) = F(PRIM). Da wir bereits F(PRIM) F(PRO) = F kon (PRO) gezeigt haben, genügt es hierzu folgendes Lemma zu beweisen. LEMMA. F kon (PRO) F(PRIM). Aus Zeitgründen verzichten wir auf den Beweis, der ebenfalls mit Kodierungen arbeitet: Hier werden Registermaschinen gödelisiert. Bei Interesse kann der Beweis im Skript (Kapitel 10) nachgelesen werden: http://www.math.uni-heidelberg.de/logic/skripten.html Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 33 / 36

Historische Anmerkung STICHWORT GÖDELISIERUNG: Kurt Gödel 1906 (Brünn/Brno) - 1978 (Princeton) Bedeutendster Mathematischer Logiker des 20. Jahrhunderts Gödel benutzte die Technik der Gödelisierung um seine berühmten Unvollständigkeitssätze zu zeigen: 1. UNVOLLSTÄNDIGKEITSSATZ. Es gibt keinen (konsistenten) Kalkül der Arithmetik, in dem alle wahren Sätze der Arithmetik herleitbar sind. 2. UNVOLLSTÄNDIGKEITSSATZ. Die Konsistenz eines Kalküls lässt sich nicht mit Mitteln des Kalküls alleine beweisen. ( Hilbert s Programm zur Formalisierung der Mathematik ist undurchführbar) Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 34 / 36

Historische Anmerkung (Fortsetzung) Berechenbarkeitstheoretische Version des 1. Unvollständigkeitssatzes: Die in einem Kalkül herleitbaren Sätze bilden eine rekursiv aufzählbare Menge. Die Menge der wahren Sätzen der Arithmetik ist nicht rekursiv aufzählbar. (Hierbei wird von einer Gödelisierung der Formeln ausgegangen.) Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 35 / 36

Unser erstes Ziel, nämlich den Algorithmenbegriff zu formalisieren, haben wir erreicht. Wir benutzen dies nun um Grundergebnisse der Berechenbarkeitstheorie (z.b. Existenz universeller Maschinen) Grenzen der Berechenbarkeit (z.b. Unentscheidbarkeit des Halteproblems) aufzuzeigen. Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 36 / 36