Kapitel 3: Berechnungstheorie Gliederung

Ähnliche Dokumente
Kapitel 4: Komplexitätstheorie Gliederung

Kapitel 3: Berechnungstheorie Gliederung

Kapitel 3: Berechnungstheorie Gliederung

Kapitel 3: Berechnungstheorie Gliederung

ALP I Turing-Maschine

Kapitel 3: Berechnungstheorie Gliederung

Kapitel 3: Berechnungstheorie Gliederung

Berechenbarkeit. Script, Kapitel 2

Kapitel 2: Formale Sprachen Gliederung

Kontextsensitive und Typ 0 Sprachen Slide 2. Die Turingmaschine

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

Theoretische Informatik Kap 2: Berechnungstheorie

Auffrischung Einige (wenige) Grundlagen der Theoretischen Informatik

Kapitel 2: Formale Sprachen Gliederung

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

Typ-0-Sprachen und Turingmaschinen

Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie

Theoretische Grundlagen der Informatik

Berechenbarkeit. Script, Kapitel 2

Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie

Komplexitätstheorie WiSe 2011/12 in Trier. Henning Fernau Universität Trier

Kapitel 4: Komplexitätstheorie Gliederung

1936 von Alan Turing zum theoretischen Studium der Berechenbarkeit eingeführt Besteht aus

Einführung in Berechenbarkeit, Komplexität und formale Sprachen

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

Berechenbarkeit und Komplexität: Probleme, Sprachen, Maschinen

Turing-Maschinen. Definition 1. Eine deterministische Turing-Maschine (kurz DTM) ist ein 6- Dem endlichen Alphabet Σ von Eingabesymbolen.

Halteproblem/Kodierung von Turing-Maschinen

Theoretische Grundlagen der Informatik

11. Übungsblatt. x y(top(push(x, y)) = y)

Turingmaschinen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen

1.5 Turing-Berechenbarkeit

Eva Lugstein Michaela Peterhansl Sophie Wirnsberger Cornelia Zenz

Einige Beispiele zur Turingmaschine

1.5 Turing-Berechenbarkeit

Theoretische Grundlagen der Informatik

ALP I Turing-Maschine

Berechenbarkeitstheorie 1. Vorlesung

Gliederung. Kapitel 1: Endliche Automaten

Grundlagen der Theoretischen Informatik: Übung 10

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

Theoretische Grundlagen der Informatik

Turing-Maschinen: Ein abstrakes Maschinenmodell

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

Kapitel 3: Grundlegende Ergebnisse aus der Komplexitätstheorie Gliederung

Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP

Einfache Turing Maschine. Formale Spezifikation einer einfachen Turing Maschine. M = (Σ,Γ,#,Q,s,F, ) Σ

Turing Maschinen II Wiederholung

Akzeptierende Turing-Maschine

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Einführung in die Informatik Turing Machines

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

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

VL-03: Turing Maschinen II. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger

Kapitel 0: Grundbegriffe Gliederung

11.3 Eindimensionale Turingmaschinen

Berechenbarkeit und Komplexität Vorlesung 2

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

Turing-Maschine. Berechenbarkeit und Komplexität Turing-Maschinen. Turing-Maschine. Beispiel

Theoretische Informatik und Logik Übungsblatt 1 (2016S) Lösung

6 Schaltwerke und endliche Automaten

Modelle der Parallelverarbeitung

Informatik III - WS07/08

Theoretische Informatik II

Berechenbarkeit/Entscheidbarkeit

Ein formales Berechnungsmodell: Turingmaschinen. Turingmaschinen 26 / 62

Einführung in die Informatik Turing Machines

Grundlagen der Theoretischen Informatik

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

Einführung in die Theoretische Informatik Tutorium IX

Deterministische Turing-Maschinen

Unentscheidbarkeit von Problemen mittels Turingmaschinen

Theoretische Informatik

Theoretische Informatik SS 03 Übung 3

4.2 Varianten der Turingmaschine. 4 Turingmaschinen

WS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven

Die mathematische Seite

Grundbegriffe der Informatik

Kapitel 3: Berechnungstheorie Algorithmisch unlösbare Probleme. Einordnung

THEORETISCHE INFORMATIK UND LOGIK

Grundlagen der theoretischen Informatik

Grundlagen der Theoretischen Informatik

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

Theorie der Informatik

LOOP-Programme: Syntaktische Komponenten

Einführung in die Informatik

Unentscheidbarkeitssätze der Logik

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

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

1 Prädikatenlogik: Korrektheit, Vollständigkeit, Entscheidbarkeit

Klassische Informationstheorie: Berechenbarkeit und Komplexität

Weitere universelle Berechnungsmodelle

Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen

Formale Methoden 1. Gerhard Jäger 9. Januar Uni Bielefeld, WS 2007/2008 1/23

Grundbegriffe der Informatik Tutorium 13

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004

Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Transkript:

Gliederung 0. Einleitung und Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 3.1. Algorithmische Probleme und Berechnungsmodelle 3.2. Das Berechnungsmodell Turing-Maschine 3.3. Churchsche These 3.4. Algorithmisch unlösbare Probleme 3/2, Folie 1 2018 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Zielstellung Gegenstand der Betrachtung Wir sehen uns ein einfaches, aber überraschend leistungsfähiges Berechnungsmodell an. Dieses Modell wurde von Alan Turing entwickelt und war das erste Berechnungsmodell überhaupt. Die Programme in diesem Berechnungsmodell nennt man Turing-Maschinen. Turing-Maschinen werden benutzt, um Funktionen zu berechnen. Turing-Maschinen kann man zu mehr benutzen, als nur Entscheidungsprobleme zu lösen. Turing A., On computable numbers with an application to the Entscheidungsproblem, Proc. London Math. Soc., Vol. 42 (1936), 230-265. 3/2, Folie 2 2018 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Berechenbarkeitsmodell - Turing-Maschine Historisches ( aus einem Gutachten zum Artikel von A. Turing ) This is a bizarre paper. It begins by defining a computing device absolutely unlike anything I have seen, then proceeds to show I haven t quite followed the needlessly complicated formalism that there are numbers that it can t compute. As I see it, there are two alternatives that apply to any machine that will ever be built: Either these numbers are too big to be represented in the machine, in which case the conclusion is obvious, or they are not; in that case, a machine that can t compute them is simply broken! 3/2, Folie 3 2018 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Berechnungsmodelle Berechnungsmodelle Zur Präzisierung einer Sprache zur Beschreibung von Algorithmen sind u.a. zu klären: Welche elementare Operationen stehen zur Verfügung? Wie viel Speicher steht zur Verfügung, und wie geht man damit um? Wie verläuft die Eingabe? Wie verläuft die Ausgabe? Festlegung der Semantik Welche möglichen Ausgaben berechnet ein Programm in dem gewählten Berechnungsmodell aus den Eingaben? bzw. hier genauer (ohne alternative Ausgaben) Welche totale oder partielle Funktion f berechnet ein Algorithmus ( in dem vorliegenden Berechenbarkeitsmodell ) eigentlich? 3/2, Folie 4 2018 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Turing-Maschinen Lese-/Schreibkopf... B B 1 0 B B B B... Eingabe-/Ausgabeband Programm Im Unterschied zu einem endlichen Automaten hat eine Turing-Maschine eine Eingabe-/Ausgabeband (auch Speicherband, Arbeitsband), das aus Zellen besteht Eine Turing-Maschine kann den Inhalt der Zellen des Arbeitsbands lesen, in die Zellen schreiben, alle Zellen mehrfach benutzen, denn sie kann auch den Lese-/Schreibkopf nach links und rechts bewegen. 3/2, Folie 5 2018 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

informelle Beschreibung Arbeitsband linearer Speicher; besteht aus Zellen; in jede Zelle passt ein Zeichen; auf dem Arbeitsband steht die zu verarbeitende Eingabe und nach der Berechnung die Ausgabe; vor und hinter der Eingabe stehen in den Zellen nur spezielle Leerzeichen (hier B ) Lese-/Schreibkopf steht zu Beginn auf dem ersten Zeichen der Eingabe außer sie ist leer, dann auch auf einem B. liest das Zeichen in der aktuell besuchten Zelle schreibt ein Zeichen in die aktuell besuchte Zelle bewegt sich nach dem Schreiben um eine Zelle nach links oder rechts oder gar nicht steht nach der Berechnung auf dem ersten Zeichen der Ausgabe 3/2, Folie 6 2018 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

informelle Beschreibung (cont.) Programm befindet sich in unterschiedlichen Zuständen hat zwei ausgezeichnete Zustände einen Anfangszustand q 0 einen Endzustand q e Sobald der Endzustand erreicht wird, wird gestoppt. Aktueller Zustand und aktuell gelesenes Zeichen bestimmen, in welchen Zustand das Programm danach übergeht, welches Zeichen in die aktuell besuchte Zelle geschrieben wird* und welche Zelle der Lese-/Schreibkopf als nächstes besucht. *) Zeichen stehen lassen wird erreicht durch dasselbe Zeichen hineinschreiben wie auf dem Stapel des Kellerautomaten. 3/2, Folie 7 2018 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Programmschritte nochmal etwas formaler und ganz ausführlich δ(q 0,1) = Aktueller Zustand und aktuell gelesenes Zeichen bestimmen, in welchen Zustand das Programm danach übergeht, (q 1,1,L) welches Zeichen in die aktuell besuchte Zelle geschrieben wird* und welche Zelle der Lese-/Schreibkopf als nächstes besucht. 3/2, Folie 8 2018 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

informelle Beschreibung (cont.) direkte Ausgabe Die Zeichenkette, die sich auf dem Arbeitsband befindet, nachdem der Endzustand q e erreicht wird, wird als Ausgabe interpretiert. Genauer gesagt: Die längste ununterbrochene Σ-Zeichenkette, die in der aktuellen Zelle beginnt, zählt als Ergebnis. Steht dort kein Σ-Zeichen, ist das Ergebniswort ε. Mit Mehraufwand kann man dafür sorgen, dass außer dem Ergebniswort nur noch B s davor und dahinter stehen. Das ist bei Unterprogrammen hilfreich, deren Ergebnis man weiter verwenden möchte. 3/2, Folie 9 2018 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Beispiel 0 Alphabet Σ = {0,1} Zustandsmenge Z = { z 0,z e } Anfangszustand z 0 Endzustand z e Zustandsüberführungsfunktion δ (Beschreibung der Aktionen) δ(z 0,0) = (z 0,B,R) δ(z 0,1) = (z 0,B,R) δ(z 0,B) = (z e,1,n) Was berechnet M? 3/2, Folie 10 2018 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Illustration der Arbeitsweise von M... B B 1 0 B B B B...... B B B 0 B B B B... Steuereinheit in z 0 δ(z 0,0) = (z 0,B,R) δ(z 0,1) = (z 0,B,R) δ(z 0,B) = (z e,1,n) Steuereinheit in z 0... B B B B 1 B B B...... B B B B B B B B... Steuereinheit in z e Was berechnet M? Immer das Ergebnis 1! Steuereinheit in z 0 3/2, Folie 11 2018 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Beispiel 1 Wir wollen eine Turing-Maschine M angeben, die die Funktion berechnet, die jeder natürlichen Zahl x (incl. 0) die Zahl x + 1 zuordnet. Um uns zunächst das Leben einfacher zu machen, werden natürliche Zahlen hier unär kodiert, d.h. die Zahl n wird durch eine Folge von n Einsen kodiert. das Programm der Turing-Maschine M: δ(q 0,B) = (q e,1,n) δ(q 1,B) = (q e,1,n) δ(q 0,1) = (q 1,1,L) 3/2, Folie 12 2018 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Kapitel 3: Berechnungstheorie Beispiel 2 Wir wollen nochmals eine Turing-Maschine M angeben, die die Funktion berechnet, die jeder natürlichen Zahl x (incl. 0) die Zahl x + 1 zuordnet. Jetzt werden natürliche Zahlen aber binär kodiert, wobei es keine führenden Nullen geben soll, d.h. als 0, 1, 10, 11, 100 usw. Programm der Turing-Maschine M: Was geschieht da? δ(q 0,0) = (q e,1,n) δ(q 0,1) = (q 1,1,R) δ(q 1,B) = (q 2,B,L) δ(q 1,0) = (q 1,0,R) δ(q 1,1) = (q 1,1,R) δ(q 2,B) = (q e,1,n) δ(q 2,0) = (q 3,1,L) δ(q 2,1) = (q 2,0,L) δ(q 3,B) = (q e,b,r) δ(q 3,0) = (q 3,0,L) δ(q 3,1) = (q 3,1,L) 3/2, Folie 13 2018 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Kapitel 3: Berechnungstheorie Beispiel 2 Wir wollen nochmals eine Turing-Maschine M angeben, die die Funktion berechnet, die jeder natürlichen Zahl x (incl. 0) die Zahl x + 1 zuordnet. Jetzt werden natürliche Zahlen aber binär kodiert, wobei es keine führenden Nullen geben soll, d.h. als 0, 1, 10, 11, 100 usw. Programm der Turing-Maschine M: δ(q 0,0) = (q e,1,n) δ(q 0,1) = (q 1,1,R) δ(q 1,B) = (q 2,B,L) δ(q 1,0) = (q 1,0,R) δ(q 1,1) = (q 1,1,R) δ(q 2,B) = (q e,1,n) δ(q 2,0) = (q 3,1,L) δ(q 2,1) = (q 2,0,L) δ(q 3,B) = (q e,b,r) δ(q 3,0) = (q 3,0,L) δ(q 3,1) = (q 3,1,L) Was geschieht da? 0 1, sonst: +1, ggf. Übertrag erledigt gehe zu / bleibe auf erstem Zeichen 3/2, Folie 14 2018 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

formale Beschreibung Verwendung Bestandteile einer Turing-Maschine M = [Z,Σ,Γ,q 0,q e,δ] endliche Menge Z von Zuständen Startzustand q 0 Z Endzustand q e Z, endliches Ein-/Ausgabealphabet Σ, endliches Bandalphabet Γ mit B Γ \ Σ und Σ Γ, Überführungsfunktion δ: Z Γ Z Γ { R,N,L } mit Z = Z \ { q e }. Eingaben und Ausgaben stehen auf dem Arbeitsband. Programm "=" Überführungsfunktion δ Wenn sich M im Endzustand befindet, werden bestimmte Zeichen auf dem Arbeitsband als Ausgabe interpretiert. 3/2, Folie 15 2018 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

komplizierteres Beispiel 3 Sei Σ = { 0,1 }. Wir wollen eine Turing-Maschine M angeben, die bei Eingabe einer Zeichenkette der Form 0 2i mit i N 0 eine Eins ausgibt (sonst eine Null). zugrunde liegende Idee: 1) M überprüft, ob auf dem Eingabeband genau eine Null vorkommt ( falls ja, geht M zu (4) ). 2) M überprüft, ob sich auf dem Eingabeband gerade viele Nullen befinden ( falls nein, geht M zu (5) ). 3) M streicht jede zweite Null auf dem Eingabeband und geht zu (1). 4) M schreibt die Ausgabe 1 aufs Arbeitsband. 5) M schreibt die Ausgabe 0 aufs Arbeitsband. 3/2, Folie 16 2018 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

komplizierteres Beispiel 3 (cont.) δ(q 0,B) = (q n,b,r) δ(q 0,0) = (q 1,0,R) δ(q 0,/) = (q 0,/,R) δ(q 1,B) = (q p,b,r) δ(q 1,0) = (q 2,0,R) δ(q 1,/) = (q 1,/,R) δ(q 2,B) = (q 4,B,L) δ(q 2,0) = (q 3,0,R) δ(q 2,/) = (q 2,/,R) δ(q 3,B) = (q n,b,r) δ(q 3,0) = (q 2,0,R) δ(q 3,/) = (q 3,/,R) δ(q 4,B) = (q 0,B,R) δ(q 4,0) = (q 5,0,L) δ(q 4,/) = (q 4,/,L) δ(q 5,0) = (q 4,/,L) δ(q 5,/) = (q 5,/,L) δ(q p,b) = (q e,1,n) δ(q n,b) = (q e,0,n) / Γ für gestrichen... q 2 (gerade viele Nullen gelesen); q 3 (ungerade viele); q 4 / q 5 (auf Rückweg Null abwechselnd überspringen/streichen) 3/2, Folie 17 2018 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Berechnungen einer Turing-Maschine formal Sei M = [Z,Σ,Γ,q 0,q e,δ] eine Turing-Maschine. Eine Konfiguration (Situation) in einer Berechnung von M wird beschrieben durch ein Tripel (z,u,v) mit z Z, u Γ* und v Γ*. z ist der aktuelle Zustand u ist das Wort auf dem Eingabeband links vom Lese-/Schreibkopf ( Unbesuchte Zellen BBB werden nicht berücksichtigt. ) v ist das Wort auf dem Eingabeband rechts vom Lese-/Schreibkopf ( Unbesuchte Zellen BBB werden nicht berücksichtigt. ) Lese-/Schreibkopf... B 0 1 0 0 B B B... Eingabeband (z,01,00) Programm im Zustand z 3/2, Folie 18 2018 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Berechnungen einer Turing-Maschine formal (cont.) Sei M = [Z,Σ,Γ,q 0,q e,δ] eine Turing-Maschine. Sei z Z und u, v Γ* Dann nennen wir die Konfiguration (z,u,v) wenn z = q 0 und u = ε gilt, eine Anfangskonfiguration, wenn z = q e gilt, eine Endkonfiguration. Wenn (z,u,v) eine Anfangskonfiguration ist, gilt v Σ*, und v ist die Eingabe von M Wenn (z,u,v) eine Endkonfiguration ist, gilt v Γ*, und das längste Präfix v von v mit v Σ* ist die von M berechnete Ausgabe. 3/2, Folie 19 2018 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Berechnungen einer Turing-Maschine formal (cont.) Sei M = [Z,Σ,Γ,q 0,q e,δ] eine Turing-Maschine. M definiert eine Relation M über der Menge Z Γ* Γ*. Diese Relation beschreibt die einzelnen Rechenschritte von M: Was ist die nächste Konfiguration nach (z,u,v)? (z,u,v) M (z,ub,v ), falls v = av und δ(z,a) = (z,b,r) (z,u,v) M (z,ub,ε), falls v = ε und δ(z,b) = (z,b,r) (z,u,v) M (z,u,bv ), falls v = av und δ(z,a) = (z,b,n) (z,u,v) M (z,u,b), falls v = ε und δ(z,b) = (z,b,n) (z,u,v) M (z,u,cbv ), falls u = u c, v = av und δ(z,a) = (z,b,l) (z,u,v) M (z,u,cb), falls u = u c, v = ε und δ(z,b) = (z,b,l) (z,u,v) M (z,ε,bbv ), falls u = ε, v = av und δ(z,a) = (z,b,l) (z,u,v) M (z,ε,bb), falls u = v = ε und δ(z,b) = (z,b,l) 3/2, Folie 20 2018 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Anmerkungen Sei M eine Turing-Maschine und x Σ* Bei der Verarbeitung von x kann M entweder eine Endkonfiguration erreichen, oder aber auch keine Endkonfiguration erreichen, d.h. in eine Endlosschleife gehen oder mangels passender Anweisungen für die vorliegende Konfiguration steckenbleiben. 3/2, Folie 21 2018 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

zentraler Hilfsbegriff sei M = [Z,Σ, Γ,q 0,q e,δ] eine Turing-Maschine die von M berechnete (partielle) Funktion f M über Σ* ist wie folgt definiert Sei x Σ*. Dann gilt: f M (x) = y, falls M bei Eingabe x eine Endkonfiguration erreicht und die Ausgabe y bestimmt, d.h. es gilt (q 0,ε,x) * M (q e,u,yv), wobei v = ε ist, oder der erste Buchstabe von v nicht zu Σ gehört. f M (x) ist undefiniert, wenn M bei Eingabe x keine Endkonfiguration erreicht.... (z,u,v) * M (z,u,v ) bedeutet, dass M eine Konfiguration (z,u,v) in endlich vielen Rechenschritten in die Konfiguration (z,u,v ) überführt 3/2, Folie 22 2018 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Anmerkung Meist interessieren wir uns nur für vollständig definierte Funktionen Mit Turing-Maschinen kann man aber partiell definierte Funktionen berechnen, d.h. Funktionen f, die nicht jedem x einen Funktionswert f(x) zuordnen Das ist kein Unfall: Jedes hinreichend leistungsfähige Berechnungsmodell muss Programme enthalten, mit denen man partiell definierte Funktionen berechnen kann, und es muss möglich sein, Endlosschleifen zu programmieren 3/2, Folie 23 2018 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Berechenbarkeitsmodell - Turing-Maschine Drastisches Beispiel zum Thema partielle Funktion Es sei das folgende Programm einer Turing-Maschine M für Σ={0,1} gegeben: δ(z 0,0) = (z 0,0,L) δ(z 0,1) = (z 0,1,L) δ(z 0,B) = (z 0,B,L) 3/2, Folie 24 2018 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Berechenbarkeitsmodell - Turing-Maschine Drastisches Beispiel zum Thema partielle Funktion Es sei das folgende Programm einer Turing-Maschine M für Σ={0,1} gegeben: δ(z 0,0) = (z 0,0,L) δ(z 0,1) = (z 0,1,L) δ(z 0,B) = (z 0,B,L) M liefert für keinen Input ein Ergebnis und rechnet stets ewig. Die von M berechnete Funktion f M auf Σ* ist nirgendwo definiert. 3/2, Folie 25 2018 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

der formale Berechenbarkeits-Begriff Sei Σ ein endliches Alphabet und f eine vollständig definierte Funktion über Σ * Dann definieren wir: Die Funktion f ist Turing-berechenbar, falls es eine Turing-Maschine M gibt, so dass für alle x Σ* gilt: f M (x) = f(x) 3/2, Folie 26 2018 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik

Diskussion beabsichtigte Verwendung Wir wissen bereits aus Mächtigkeitsgründen: Es gibt vollständig definierte Funktionen, die nicht Turingberechenbar sind. Da das Berechnungsmodell Turing-Maschine präzise definiert ist, kann man jetzt daran gehen, folgende Frage zu beantworten: Gibt es interessante vollständig definierte Funktionen, die nicht Turing-berechenbar sind? Man muss nur noch zeigen, dass es keine Turing-Maschine gibt, die man benutzen kann, um die entsprechende Funktion zu berechnen. 3/2, Folie 27 2018 Prof. Steffen Lange, Dr. Bernd Baumgarten - h_da/fbi - Theoretische Informatik