Wintersemester 2005 / Vorlesung

Slides:



Advertisements
Ähnliche Präsentationen
Christian Schindelhauer
Advertisements

Christian Schindelhauer
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
7. Automaten Ein Automat ist ein Sechstupel A= (I, O, Q, , q0, F).
Institut für Informatik Abt. Intelligente Systeme
Einführung in Berechenbarkeit und Formale Sprachen
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Notationen A = ist eine endliche, nichtleere menge,
Grammatiken, Definitionen
Einige entscheidbare bzw. rekursiv aufzählbare Sprachen
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Grammatiken beschreiben Sprachen L µ *, indem.
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Reduktionen Def: L · L (L ist reduzierbar auf.
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Universelle Turingmaschinen Eine universelle Turingmaschine.
Programmiertechniken: Zustand fungiert als „endlicher Speicher“
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
Verifizieren versus Berechnen
Christian Schindelhauer
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester.
Christian Schindelhauer
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester.
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester.
Christian Schindelhauer
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (12 – Kellerautomaten, PDA) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (17 –Turingmaschinen) Prof. Dr. Th. Ottmann.
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen.
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester.
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester 2005/ Vorlesung Dominic Dumrauf.
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
20:00.
Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms II
Formale Sprachen Reguläre Sprachen Rudolf FREUND, Marian KOGLER.
Symmetrische Blockchiffren DES – der Data Encryption Standard
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Arne Vater Wintersemester 2006/07 28.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Informatik III Christian Schindelhauer Wintersemester 2006/07
Arne Vater Wintersemester 2006/ Vorlesung
Christian Schindelhauer Wintersemester 2006/07 3. Vorlesung
Informatik III Christian Schindelhauer Wintersemester 2006/07
Informatik III Christian Schindelhauer Wintersemester 2006/07
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Arne Vater Wintersemester 2006/ Vorlesung
Christian Schindelhauer Wintersemester 2006/07 2. Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Arne Vater Wintersemester 2006/07 26.
Arne Vater Wintersemester 2006/ Vorlesung
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Turing-Maschine als Akzeptor.
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar?
 Präsentation transkript:

Wintersemester 2005 / 2006 15.11.05 8. Vorlesung Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie Wintersemester 2005 / 2006 15.11.05 8. Vorlesung

Turingmaschinen

Turingmaschinen Arbeitet auf unbeschränktem Band Eingabe steht zu Beginn am Anfang des Bands Auf dem Rest des Bandes steht t (Blank) Position auf dem Band wird durch Lesekopf beschrieben

Turingmaschinen

Beispiel einer Turingmaschine Teste, ob ein Wort in der folgenden Sprache liegt: L = {w#w | w 2 {0, 1} } Vorgehensweise: Von links nach rechts über das Wort laufen Erstes Zeichen links merken und markieren Erstes Zeichen rechts von # vergleichen und markieren Für alle Zeichen wiederholen bis erreicht Links dürfen dann nur noch Blanks folgen Falls Zeichen an einer Stelle nicht übereinstimmen ablehnen, sonst am Ende akzeptieren

Beispiel einer Turingmaschine x 1 1 0 0 0 # 0 1 1 0 0 0 t … x 1 1 0 0 0 # x 1 1 0 0 0 t … x x 1 0 0 0 # x 1 1 0 0 0 t … x x x x x x # x x x x x x t … accept

Turingmaschinen Eine (deterministische 1-Band) Turingmaschine (DTM) wird beschrieben durch ein 7-Tupel M = (Q, S, G ,d, q0, qaccept, qreject). Dabei sind Q, S, G endliche, nichtleere Mengen und es gilt: F µ Q, µ , q0 2 Q t 2 n ist das Blanksymbol. Q ist die Zustandsmenge, S ist das Eingabealphabet, G das Bandalphabet. q0 2 Q ist der Startzustand. qaccept 2 Q ist der akzeptierende Endzustand qreject 2 Q ist der ablehnende Endzustand : Q £  ! Q £  £ {L, R} ist die (partielle) Übergangsfunktion. Sie ist für kein Argument aus {qaccept, qreject} £  definiert.

Arbeitsweise einer Turingmaschine Inintial: Eingabe steht links auf dem Band Der Rest des Bands ist leer Kopf befindet sich ganz links Berechnungen finden entsprechend der Übergangsfunktion statt Wenn der Kopf sich am linken Ende befindet und nach links bewegen soll, bleibt er an seiner Position Wenn qaccept oder qreject erreicht wird, ist die Bearbeitung beendet

Momentaufnahme einer TM Konfiguration Momentaufnahme einer TM Bei Bandinschrift uv (dabei beginnt u am linken des Bandes und hinter v stehen nur Blanks), Zustand q, Kopf auf erstem Zeichen von v Konfiguration C = uqv

Aufeinanderfolgende Konfigurationen Gegeben: Konfigurationen C1, C2 Wir sagen: Konfiguration C1 führt zu C2, falls die TM von C1 in einem Schritt zu C2 übergehen kann. Formal: Seien a, b, c 2  , u, v 2  * und Zustände qi , qj gegeben Wir sagen uaqibv führt zu uqjacv, falls  (qi, b) = (qj , c, L) und uaqi bv führt zu uacqj v falls  (qi , b) = (qj , c, R)

Startkonfiguration: q0w, wobei w die Eingabe ist Konfigurationen Startkonfiguration: q0w, wobei w die Eingabe ist Akzeptierende Konfiguration: Konfigurationen mit Zustand qaccept Ablehnende Konfiguration: Konfigurationen mit Zustand qreject Haltende Konfiguration: akzeptierende oder ablehnende Konfigurationen

Akzeptanz von Turingmaschinen Eine Turingmaschine M akzeptiert eine Eingabe w, falls es eine Folge von Konfigurationen C1, C2, …, Ck gibt, so dass C1 ist die Startkonfiguration von M bei Eingabe w Ci führt zu Ci + 1 Ck ist eine akzeptierende Konfiguration Die von M akzeptierten Worte bilden die von M akzeptierte Sprache L(M) Eine Turingmaschine entscheidet eine Sprache, wenn jede Eingabe in einer haltende Konfiguration Ck resultiert

Rekursive und rekursiv aufzählbare Sprachen Eine Sprache L heißt rekursiv aufzählbar, falls es eine Turingmaschine M gibt, die L akzeptiert Eine Sprache L heißt rekursiv oder entscheidbar, falls es eine Turingmaschine M gibt, die L entscheidet

Beispiel für eine Turingmaschine Gesucht: Turingmaschine, die L = {02n | n ¸ 0} entscheidet Arbeitsweise: Gehe von links nach rechts über die Eingabe und ersetze jede zweite 0 durch x Wenn nur eine 0 auf dem Band ist, akzeptiere Falls die Anzahl der 0en ungerade ist, lehne ab Bewege den Kopf zurück an das linke Ende

Definition der Turingmaschine: Beispiel Definition der Turingmaschine: Q = {q1, q2, q3, q4, q5, qaccept, qreject}  = {0}  = {0, x, t} Startzustand q1 Akzeptierender Endzustand qaccept Ablehnender Endzustand qreject Übergangsfunktion 

Beispiel Darstellung von  als Diagramm

 x t q1 (q2, t, R) (qreject, x, R) (qreject, t, R) q2 (q3, x, R) Beispiel Darstellung von  als Tabelle  x t q1 (q2, t, R) (qreject, x, R) (qreject, t, R) q2 (q3, x, R) (q2, x, R) (qaccept, t, R) q3 (q4, 0, R) (q5, t, L) q4 (q4, x, R) q5 (q5, 0, L) (q5, x, L)

Abarbeitung eines Beispielworts q1 t Beispiel für das Wort: 0000 Startkonfiguration: q10000

Abarbeitung eines Beispielworts q2 t Beispiel für das Wort: 0000 Konfiguration: tq2000

Abarbeitung eines Beispielworts q3 t x Beispiel für das Wort: 0000 Konfiguration: txq300

Abarbeitung eines Beispielworts q4 t x Beispiel für das Wort: 0000 Konfiguration: tx0q40

Abarbeitung eines Beispielworts q3 t x Beispiel für das Wort: 0000 Konfiguration: tx0xq3t

Abarbeitung eines Beispielworts q5 t x Beispiel für das Wort: 0000

Abarbeitung eines Beispielworts q5 t x Beispiel für das Wort: 0000

Abarbeitung eines Beispielworts q5 t x Beispiel für das Wort: 0000

Abarbeitung eines Beispielworts q5 t x Beispiel für das Wort: 0000

Abarbeitung eines Beispielworts q2 t x Beispiel für das Wort: 0000

Abarbeitung eines Beispielworts q2 t x Beispiel für das Wort: 0000

Abarbeitung eines Beispielworts q3 t x Beispiel für das Wort: 0000

Abarbeitung eines Beispielworts q3 t x Beispiel für das Wort: 0000

Abarbeitung eines Beispielworts q5 t x Beispiel für das Wort: 0000

Abarbeitung eines Beispielworts q5 t x Beispiel für das Wort: 0000

Abarbeitung eines Beispielworts q5 t x Beispiel für das Wort: 0000

Abarbeitung eines Beispielworts q5 t x Beispiel für das Wort: 0000

Abarbeitung eines Beispielworts q2 t x Beispiel für das Wort: 0000

Abarbeitung eines Beispielworts q2 t x Beispiel für das Wort: 0000

Abarbeitung eines Beispielworts q2 t x Beispiel für das Wort: 0000

Abarbeitung eines Beispielworts q2 t x Beispiel für das Wort: 0000

Abarbeitung eines Beispielworts qaccept t x Beispiel für das Wort: 0000 Endkonfiguration: txxxtqaccept

Mehrband Turingmaschinen Eine Mehrband oder k-Band Turingmaschine (k-Band DTM) hat k Bänder mit je einem Kopf. Die Übergangsfunktion ist dann von der Form : Q £ k ! Q £ k £ {L, R, S }k. Zu Beginn steht die Eingabe auf Band 1, sonst stehen überall Blanks. Die Arbeitsweise ist analog zu 1-Band-DTMs definiert.

Äquivalenz von 1-Band und Mehrband Turingmaschinen Satz: Zu jeder Mehrband Turingmaschine gibt es eine äquivalente 1-Band Turingmaschine Beweis: Idee: Simuliere Mehrband DTM M auf 1-Band DTM S

Schreibe k Bänder hintereinander auf ein Band Beweis Fortsetzung Schreibe k Bänder hintereinander auf ein Band Sei # zusätzliches Symbol Verwende # um Bänder zu trennen Für 2  füge   zum Alphabet hinzu Der Punkt repräsentiert die aktuelle Position des Kopfes auf dem Band

1. S bildet Startkonfiguration von M ab: Beweis Fortsetzung Bei Eingabe w = w1, … , wn: 1. S bildet Startkonfiguration von M ab: 2. Simulation eines Schrittes: Gehe von links nach rechts über das Band und suche die Markierungen # und finde die Zeichen unter den virtuellen Köpfen Gehe von links nach rechts über das Band und führe die Änderungen entsprechend der Übergangsfunktion von M durch 3. Falls ein virtueller Kopf rechts auf ein # bewegt wird, schreibe ein t und bewege alle folgenden Zeichen eine Position nach rechts

Äquivalenz von 1-Band und Mehrband Turingmaschinen Korollar: Eine Sprache L ist genau dann rekursiv aufzählbar, wenn es eine Mehrband Turingmaschine gibt, die L akzeptiert

Wir danken für Ihre Aufmerksamkeit! Heinz Nixdorf Institut & Institut für Informatik Universität Paderborn Fürstenallee 11 33102 Paderborn Tel.: 0 52 51/60 64 52 Fax: 0 52 51/60 64 82 E-Mail: mail@upb.de http://www.upb.de/cs/ag-madh