Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester.

Ähnliche Präsentationen


Präsentation zum Thema: "1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester."—  Präsentation transkript:

1 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester 2005/2006 23.11.2005 4. Zentralübung Christian Schindelhauer

2 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie 02-2 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Das Mysterium der Turing-Maschinen Fragen über Fragen: –Gibt es ein Sondersymbol am Anfang des Bands? –Was bringt ein beidseitig unendliches Band verwenden? –Müssen wir die Turingmaschine als Übergangsdiagramm darstellen? Wenn Nein, wie dann? –Gibt es NTM mit mehreren Bändern? –Was für Tricks kann man bei DTMs verwenden? Endliches Gedächtnis Bandalphabet-Erweiterung: Marker Spuren –Tricks bei NTMs: Erst raten, dann verifizieren

3 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie 02-3 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Vorab ein paar Bemerkungen Die Turing-Maschine ist eines der einfachsten Berechnungsmodelle. –deswegen verwenden wir sie. Die Turing-Maschine ist aber ein Alleskönner. Sie programmiert sich aber ausgesprochen besch....en (lies bescheiden). Die praktische Relevanz von Turing-Maschinen-Programmen ist äußerst gering. Daher: –Es wird im Rahmen dieser Vorlesung keinen Programmierkurs für TM geben. –Die TM ist ein Hilfsmittel. Mehr nicht.

4 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie 02-4 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Das Sondersymbol am Anfang des Bandes Streng formal gibt es keine Möglichkeit das Anfang des Bandes ohne Sondersymbol festzustellen –Das selbe Problem haben wir auch im Keller des PDAs Aber: –Wir können jede Turing-Maschine so modifizieren, dass sie zuerst ein Symbol dort hinschreibt hierzu kann es notwendig sein die Eingabe vorher nach rechts zu verschieben. Der letzte Schritt (verschieben) ist aber nicht notwendig: –Erweitert man das Alphabet zum Alphabet = {,_} –Dann muss man nur das erste Zeichen (a,_) durch (a, ) ersetzen –Diesen Trick nennt man Erweiterung des Bandalphabets

5 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie 02-5 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Was bringt ein beidseitig unendliches Band? Nicht mehr als ein einseitig unendliches Band. –siehe Tafel...

6 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie 02-6 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Müssen wir die Turing-Maschine als Übergangsdiagramm darstellen? Nein, nur wenn es explizit verlangt wird. Wenn nein, wie dann? –Es reicht eine algorithmische Beschreibung, welche die Einzelschritte der Berechnung darstellt. Beispiele für Erlaubte Grundbausteine: –Kopiere Teilstring von Band 1 nach Band 2 –Laufe auf Band 2 ganz nach rechts –while, repeat until, if then else –Band 3 fungiert als Stack: Zugriff mit Push, Pop –Band 4 fungiert als Queue (Warteschlange): Zugriff Put, Get –Auf Band 5 wird der Graph als Adjazensliste gespeichert Suche Nachfolger/Vorgänger für Knoten –Auf Band 6 wird die Funktion als Wertetabelle gespeichert Achtung: –Beim Zugriff auf Knoten und Werte einer Funktion, kann das Argument länger als ein Zeichen sein: Also: Argument auf einem Extra-Band speichern Hat man dann 100 Bänder benutzt, reduziert man das Ganze mit einem Satz auf 1 Band: –Wie in der Vorlesung gezeigt, kann eine k-Band-TM mit einer 1-Band-TM dargestellt werden.

7 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie 02-7 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Gibt es NTMs mit mehreren Bänder? Ja. Wurde nicht in der Vorlesung eingeführt, darf man aber benutzen. Auch hier kann man k Bänder mit einem Band ersetzen.

8 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie 02-8 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Tricks bei NTM Erst raten, dann deterministisch rechnen: –Zuerst kann auf einem Zusatzband eine beliebige Folge von {0,1}- Kombinationen erzeugt werden –Diese Folge dient als Hilfsmittel um den Rest der Berechnung deterministisch durchzuführen Vorstellungen für nicht-deterministischen Übergang –Raten: Die NTM rät immer richtig (da sie alles rät) –Existenz-Quantor: Folgende Frage kann eine NTM leicht beantworten: Existiert ein x,y,z so dass F(x,y,z) gilt? Das kann die NTM nicht: Gilt für alle x,y,z: F(x,y,z)?

9 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie 02-9 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Endliches Gedächtnis Eine TM kann in der Zustandsmenge endliche Information speichern: –Z.B. einen Buchstaben (oder 2) –oder das Ergebnis einer Berechnung (ja/nein) Man schreibt dann: –Die TM merkt sich diesen Buchstaben im endlichen Gedächtnis und läuft auf Band 3 nach rechts bis dieser gefunden wurde oder man auf _ stößt. –Oder: Das Ergebnis dieser Berechnung wird im endlichen Gedächtnis gespeichert Achtung: –Natürlich kann man nur endlich häufig etwas im endlichen Gedächtnis speichern.

10 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie 02-10 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Bandalphabet-Erweiterung Durch Aufblähen des Band-Alphabet kann man schön tricksen Marker: –Erweitere Alphabet {a,b,c} um die Buchstaben {a,b,c} –Dann hat die Bandinschrift ababac mit ababac zwei Markierungen –Man kann natürlich beliebig viele und endlich viele verschieden Marker benutzen Spuren –Erweitert man das Alphabet zu 2 dann kann man zwei Buchstaben des Alphabets in einem speichern –Dies kann man als verschiedene Spuren des Bandes interpretieren oder als Bandkompression –Dadurch braucht man nur noch halb so viel Platz –kodiert man nun zwei Schritte der Berechnung einer TM in einem Schritt durch Erweiterung der Zustandsübergänge erhält man eine Lineare Beschleunigung –Ist die Eingabe erst mal gelesen, kann man jede Turing-Maschine linear beschleunigen

11 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie 02-11 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Mehr Tricks und Tipps Zusatzinformation –Man kann einer TM eine endliche Menge an Zusatzinformation kodieren Z.B. Kann eine TM die Antwort auf die Frage Gibt es unendlich viele Primpaarzwillinge? verwenden obgleich die Antwort nicht bekannt ist Verschieben und Kopieren von Bandinschriften Zähler –unäre, z.B. 111111 –oder binäre, z.B. 0,1,10,11,100, etc. Hintereinanderschaltung von TMs –Man kann die Berechnung von zwei TMs hintereinander ausführen lassen wenn die erste immer hält Unterprogramme –Benutzt man ein Band als Keller (Stack), kann man wie von höheren Programmiersprachen gewohnt, Unterprogramme oder sogare rekursive Programmierung verwenden

12 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie 02-12 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Nächsten Mittwoch ist die 2. Miniklausur Keine Anmeldung notwendig! Keine Hilfsmittel erlaubt! Bitte pünktlich erscheinen und automatisch mit Sicherheitsabstand (möglichst zwei Sitze zum Nachbarn hinsetzen) Bitte Übungsgruppe darauf notieren Klausureinsicht und Austeilung –in der jeweiligen Übungsgruppe Thema der nächsten Klausur: –Kontextfreie Sprachen und Kellerautomaten

13 13 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Heinz Nixdorf Institut & Institut für Informatik Universität Paderborn Fürstenallee 11 33102 Paderborn Tel.: 0 52 51/60 66 92 Fax: 0 52 51/60 64 82 E-Mail: schindel@upb.de http://www.upb.de/cs/schindel.html Vielen Dank Ende der 4. Zentralübung Nächste Zentralübung: Mi. 07.12.2005 Nächste Vorlesung:Mo. 28.11.2005 Nächste Miniklausur:Mi. 30.11.2005


Herunterladen ppt "1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester."

Ähnliche Präsentationen


Google-Anzeigen