berechenbarkeit und komplexit at wintersemester 2018/19 · sprachen":die untersten beiden...
Post on 22-Aug-2019
215 Views
Preview:
TRANSCRIPT
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Vorlesung “Berechenbarkeit und Komplexitat”Wintersemester 2018/19
Prof. Barbara KonigUbungsleitung: Christina Mika-Michalski, Lars Stoltenow
Barbara Konig Berechenbarkeit und Komplexitat 1
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Das heutige Programm
Organisatorisches
VorstellungAblauf der Vorlesung und der UbungenPrufungLiteratur & Folien
Einfuhrung und Motivation: Berechenbarkeit und Komplexitat
Inhalt der weiteren Vorlesung
Barbara Konig Berechenbarkeit und Komplexitat 2
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Wer sind wir?
Dozentin: Prof. Barbara Konig
Raum LF 264 (Campus Duisburg)
E-Mail: barbara koenig@uni-due.de
Ubungsleitung: Christina Mika-Michalski
Raum LF 261 (Campus Duisburg)
E-Mail: christina.mika-michalski@uni-due.de
Ubungsleitung: Lars Stoltenow
E-Mail: lars.stoltenow@stud.uni-due.de
Web-Seite:www.uni-due.de/theoinf/teaching/ws201819 beko.php
Barbara Konig Berechenbarkeit und Komplexitat 3
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Vorlesungstermine
Termine:
Donnerstag, 14:15-15:45 Uhr
Jeweils im Raum LB 134 (Duisburg) bzw. R14 R02 B07 (Essen)
Videoubertragung in beide Raume
Dozentin ist im Wechsel in Duisburg und Essen
Barbara Konig Berechenbarkeit und Komplexitat 4
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Termine der Ubungsgruppen/Tutorien
Ubungsgruppen in Duisburg:
Mittwoch, 8:30 - 10:00 Uhr, Raum LC 137 (Gruppe D1)
Donnerstag, 12:00 - 14:00 Uhr, Raum LC 137 (Gruppe D2)
Donnerstag, 16:00 - 18:00 Uhr, Raum LC 137 (Gruppe D3)
Ubungsgruppen in Essen:
Mittwoch, 10:00 - 12:00 Uhr, Raum T03 R04 D10(Gruppe E1)
Donnerstag, 10:00 - 12:00 Uhr, Raum A-B02 (Gruppe E2)
Donnerstag, 16:00 - 18:00 Uhr, Raum A-113 (Gruppe E3)
Die Termine der Ubungsgruppen konnen sich noch andern!
Barbara Konig Berechenbarkeit und Komplexitat 5
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Hinweise zu den Ubungen
Bitte versuchen Sie, sich moglichst gleichmaßig auf dieUbungen zu verteilen.
Besuchen Sie die Ubungen und machen Sie die Hausaufgaben!Diesen Stoff kann man nur durch regelmaßiges Uben erlernen.Auswendiglernen hilft nicht besonders viel.
Die Ubungen beginnen in der dritten Semesterwoche am 24.Oktober.
Barbara Konig Berechenbarkeit und Komplexitat 6
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Hinweise zu den Ubungen
Das Ubungsblatt wird jeweils am Montag ins Netz gestellt.Das erste Ubungsblatt wird am 15.10. bereitgestellt.
Die schriftlichen Aufgaben mussen bis spatestens Montag,12 Uhr, der darauffolgenden Woche abgegeben werden.In dieser Woche wird dann auch das Ubungsblatt besprochen.
Abgabe durch
Elektronische Abgabe uber die Lernplattform MoodleoderEinwurf in einen Briefkasten:Duisburg: Briefkasten neben dem Raum LF259.Essen: es ist kein Briefkasten vorgesehen
Barbara Konig Berechenbarkeit und Komplexitat 7
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Hinweise zu den Ubungen
Bitte geben Sie auf Ihrer Losung oben deutlich Ihren Namen,Ihre Gruppennummer, Ihre Matrikelnummer und das Fach an.
Bitte heften Sie die Blatter ordentlich zusammen.
Elektronische Abgaben sind nur als PDF zulassig! Bittebenennen Sie Dateien nach folgendem Schema (um eineeindeutige Namenswahl zu gewahrleisten):<nachname>-<blattnr>.pdf
Sie durfen in Zweier-Gruppen abgeben, pro Gruppe nur eineAbgabe!
Plagiate oder das Kopieren alter Musterlosungen sindselbstverstandlich nicht erlaubt! In diesem Fall vergeben wirkeine Punkte.
Barbara Konig Berechenbarkeit und Komplexitat 8
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Tutorium
In diesem Semester wird die Vorlesung wieder von einem Tutoriumbegleitet, das von Christina Mika-Michalski gehalten wird.
Termin: Mittwoch, 14:15–15:45 Uhr
Raume:
Duisburg: SG U126
Essen: A-B02
Barbara Konig Berechenbarkeit und Komplexitat 9
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Tutorium
Beginn: zweite Vorlesungswoche in Essen, in der viertenVorlesungswoche das erste Mal in Duisburg. (Von da an imWechsel zwischen beiden Standorten.)
Zu Beginn in Essen: Wiederholung der Theorie der Automaten undformalen Sprachen.Anschließend: Beantwortung von Fragen der Studierenden.
Ab der vierten Vorlesungswoche: das Tutorium findet nur statt,wenn vorab Fragen gestellt wurden.
Die Teilnahme am Tutorium ist nicht verpflichtend.
Barbara Konig Berechenbarkeit und Komplexitat 10
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Lernplattform Moodle
Wir verwenden Moodle, um:
die Aufgabenblatter zur Verfugung zu stellen,
Hausaufgaben elektronisch abzugeben und
Video-Mitschnitte der Vorlesung zur Verfugung zu stellen.
Moodle-Plattform an der Universitat Duisburg-Essen:http://moodle.uni-due.de/ (siehe auch Link auf der Webseite)
Bitte legen Sie dort einen Zugang an (falls noch nicht vorhanden)und tragen Sie sich in den Kurs “Berechenbarkeit undKomplexitat” (Ingenieurwissenschaften → Informatik undAngewandte Kognitionswissenschaft) ein.
Zugangsschlussel: . . .
Barbara Konig Berechenbarkeit und Komplexitat 11
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Mundliche Prufung/Klausur
Es gibt mehrere Moglichkeiten, die Vorlesung prufen zu lassen . . .
Mundliche Prufung (nur fur Bachelor Duisburg)
Mundliche Prufung des Moduls “Theoretische Informatik”(“Automaten und Formale Sprachen”, zusammen mit“Berechenbarkeit und Komplexitat”)
Statt dieser mundlichen Prufung kann man alternativ auch einemundliche Prufung in “Rechnernetze und Sicherheit” absolvieren.
Termine: 25. Februar – 1. Marz 2019
Barbara Konig Berechenbarkeit und Komplexitat 12
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Mundliche Prufung/Klausur
Schriftliche Prufung
Klausur am Ende des Semesters (fur alle Studierenden, auchBachelor Duisburg, die die mundliche Prufung nicht absolvieren)
Termin: Dienstag, 5. Marz 2019, 12:30–14:30 Uhr
Anmeldung in beiden Fallen (schriftlich, mundlich) uber dasPrufungsamt
Fur die Essener Bachelorstudiengange wird eine “Vorklausur” amDienstag, 5. Februar 2019, 14:30–16:30 Uhr, in den RaumenS05 T00 B08 und S05 T00 B32 stattfinden
Barbara Konig Berechenbarkeit und Komplexitat 13
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Mundliche Prufung/Klausur
Fur beide Prufungsformen gibt es eine Bonusregelung:
Wenn Sie 50% der Hausaufgabenpunkte erzielt haben, soerhalten Sie einen Bonus fur die Klausur und fur dieModulprufung.
Auswirkung: Verbesserung um eine Notenstufe; z.B. von 2,3auf 2,0
Durch einmaliges Vorrechnen in der Ubung konnen zusatzlichnoch 10 Punkte (entspricht halbem Ubungsblatt) erzieltwerden.
Fur die mundliche Bachelor-Modulprufung “TheoretischeInformatik” (Duisburg): die Bonus-Voraussetzungen sind furjede Teilvorlesung (“Automaten und Formale Sprachen” &“Berechenbarkeit und Komplexitat”) zu erfullen.
Barbara Konig Berechenbarkeit und Komplexitat 14
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Mundliche Prufung/Klausur
Staatsexamen
Lehramtsstudierende, die Staatsexamen machen wollen, meldensich bitte (rechtzeitig) uber das Landesprufungsamt an.
Die Prufung wird in diesem Fall vom Landesprufungsamtorganisiert, wir kummern uns nur um die Aufgabenstellung (undkorrigieren die Klausur).
Barbara Konig Berechenbarkeit und Komplexitat 15
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Literatur
Die Vorlesung basiert imwesentlichen auf folgendemBuch:
Uwe Schoning: TheoretischeInformatik – kurz gefasst.Spektrum, 2008.(5. Auflage)
Barbara Konig Berechenbarkeit und Komplexitat 16
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Literatur
Weitere relevante Bucher:
Neuauflage eines altenKlassikers:Hopcroft, Motwani, Ullman:Introduction to AutomataTheory, Languages, andComputation,Addison-Wesley, 2001.
Auf Deutsch:Hopcroft, Motwani, Ullman:Einfuhrung in dieAutomatentheorie, FormaleSprachen undKomplexitatstheorie,Pearson, 2002.
Barbara Konig Berechenbarkeit und Komplexitat 17
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Literatur
Vossen, Witt: GrundkursTheoretische Informatik,vieweg, 2006.
Barbara Konig Berechenbarkeit und Komplexitat 18
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Literatur
Asteroth, Baier:Theoretische Informatik,Pearson, 2003.
Barbara Konig Berechenbarkeit und Komplexitat 19
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Literatur
Sipser: Introduction to theTheory of Computation,Thomson, 2006.
Barbara Konig Berechenbarkeit und Komplexitat 20
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Folien
Folien werden
im Web als PDF bereitgestellt
regelmaßig aktualisiert
Die Folien werden sich gegenuber dem letzten Jahr relativ wenigverandern. Von daher macht es Sinn, sich die Folien des Vorjahresschon einmal anzusehen (Link: siehe Vorlesungs-Webseite).
Auch die Folien der Vorganger-Vorlesung “Automaten und FormaleSprache” sind online verfugbar.
Barbara Konig Berechenbarkeit und Komplexitat 21
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Inhalt der Vorlesung
Inhalt der Vorganger-Vorlesung “Automaten und FormaleSprachen”: die untersten beiden Stufen der Chomsky-Hierarchie
Regulare Sprachen (Chomsky Typ-3)
regulare Grammatiken, (deterministische undnichtdeterministische) endliche Automaten, regulare Ausdrucke,Pumping-Lemma, Minimalautomat, Abschlusseigenschaften,Entscheidbarkeitsresultate
Kontextfreie Sprachen (Chomsky Typ-2)
kontextfreie Grammatiken, Normalformen, Pumping-Lemma,Abschlusseigenschaften, CYK-Algorithmus, Kellerautomaten,deterministisch kontextfreie Sprachen, Entscheidbarkeitsresultate
Barbara Konig Berechenbarkeit und Komplexitat 22
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Inhalt der Vorlesung
Und was kommt jetzt?
Wir beschaftigen uns mit den verbleibenden beiden Stufen derChomsky-Hierarchie: Chomsky Typ-1 und Chomsky Typ-0.
Die Theorie der Typ-0-Sprachen ist im wesentlichenBerechenbarkeitstheorie: Welche Sprachen sind uberhaupt mit(informatischen) Maschinen akzeptierbar? Welche Funktionensind uberhaupt berechenbar?
Bei Berechenbarkeitstheorie: Fokus liegt etwas mehr aufberechenbaren Funktionen
Und als letztes Kapitel: Komplexitatstheorie
Welche Sprachen kann man akzeptieren, wenn die Ressourcen(Zeit, Platz) beschrankt sind? Beispielsweise: was kann manalles in polynomieller Zeit erreichen?
Barbara Konig Berechenbarkeit und Komplexitat 23
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Chomsky-Hierarchie
Grammatik (Wiederholung)
Eine Grammatik G ist ein 4-Tupel G = (V ,Σ,P,S), das folgendeBedingungen erfullt:
V ist eine endliche Menge von Nicht-Terminalen bzw.Variablen
Σ ist das (endliche) Alphabet bzw. die Menge derTerminal(symbol)e.
P ist eine endliche Menge von Regeln bzw. Produktionen mitP ⊆ (V ∪ Σ)+ × (V ∪ Σ)∗.
S ∈ V ist die Startvariable bzw. das Axiom.
Barbara Konig Berechenbarkeit und Komplexitat 24
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Chomsky-Hierarchie
Die von einer Grammatik erzeugte Sprache (Wiederholung)
Die von einer Grammatik G = (V ,Σ,P,S) erzeugte Sprache ist
L(G ) = w ∈ Σ∗ | S ⇒∗G w.
(Menge aller Worter aus Alphabetsymbolen, die aus derStartvariable S ableitbar sind.)
Barbara Konig Berechenbarkeit und Komplexitat 25
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Chomsky-Hierarchie
Beispiel: Die Grammatik G = (S ,A,B, a, b,P, S) mitfolgender Produktionenmenge P:
S → ABS | ε AB → BA BA→ AB A→ a B → b
erzeugt die Sprache:
L = w ∈ a, b∗ | #a(w) = #b(w).
(#a(w): Anzahl der a’s im Wort w)
Barbara Konig Berechenbarkeit und Komplexitat 26
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Chomsky-Hierarchie
Typ-0-Grammatiken:keine Einschrankung
Typ-1-Grammatiken:|linke Seite| ≤|rechte Seite| (fur jedeRegel)
(Wortproblem ist hiernoch entscheidbar.)
Eine Sprache L ⊆ Σ∗ ist vomTyp i , wenn sie von einerTyp-i-Grammatik erzeugtwerden kann.
Typ-2-Sprachenkontextfreie Sprachen
Typ-3-Sprachenregulare Sprachen
kontextsensitive SprachenTyp-1-Sprachen
semi-entscheidbare SprachenTyp-0-Sprachen
Menge aller Sprachen
Barbara Konig Berechenbarkeit und Komplexitat 27
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Berechnungsmodelle
Was bedeutet es uberhaupt im Allgemeinen, dass eineFunktion berechenbar oder eine Sprache akzeptierbar ist?
Wie kann man ein generelles Berechnungsmodell definieren?
Was ist das Maschinenmodell fur Chomsky-0-Sprachen?
Barbara Konig Berechenbarkeit und Komplexitat 28
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Berechnungsmodelle
Im Laufe der Zeit sind mehrere Berechnungsmodelle entwickeltworden, die jedoch alle zueinander aquivalent sind:
Turing-Maschinen (benannt nach Alan Turing)
While-Programme, Goto-Programme
µ-rekursive Funktionen
Turing-Maschinen mit entsprechender Beschrankung dienen auchals Maschinenmodell fur Chomsky-1-Sprachen
Barbara Konig Berechenbarkeit und Komplexitat 29
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Unentscheidbarkeit
Gibt es Sprachen, fur die das Wortproblem (w ∈ L?) nichtentscheidbar ist?
Antwort: ja
Kann man Funktionen definieren, die nicht berechenbar sind? Dasheißt, es gibt keine Turing-Maschine/kein While-Programm/keineµ-rekursive Funktion, die diese Funktion berechnet?
Antwort: ja
Außerdem: Wie zeigt man diese negativen Resultate?
Barbara Konig Berechenbarkeit und Komplexitat 30
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Unentscheidbarkeit
Die “Mutter” aller unentscheidbaren Probleme: das Halteproblem
Gegeben sei eine Turing-Maschine (oder einfach ein Programm) Mund eine Eingabe w ∈ Σ∗.
Frage: Terminiert M bei Eingabe w?
Das Halteproblem ist unentscheidbar, das heißt, es gibt keinVerfahren, das – gegeben M und w – immer entscheidet, ob Mmit Eingabe w terminiert oder nicht.
Wir werden die Unentscheidbarkeit des Halteproblems im Rahmender Vorlesung zeigen. (Der Beweis ist uberraschend kurz undelegant.)
Barbara Konig Berechenbarkeit und Komplexitat 31
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Unentscheidbarkeit
Intuition: Warum ist das Halteproblem unentscheidbar?
Man konnte doch einfach M mit Eingabe w laufenlassen undnachsehen was passiert ....
Wenn M nach einer endlichen Anzahl von Schritten vonterminiert, dann hat man Gewissheit.
Aber: wenn M nach 10.000 Schritten noch nicht terminierthat, was dann? Nochmal 10.000 Schritte weiterlaufen lassen?
Barbara Konig Berechenbarkeit und Komplexitat 32
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Unentscheidbarkeit
Neben dem Halteproblem gibt es noch viele andere wichtigeunentscheidbare Probleme, z.B., das Schnittproblem furkontextfreie Sprachen.
Gegeben zwei kontextfreie Grammatiken fur Sprachen L1, L2. GiltL1 ∩ L2 = ∅?
Beweistechnik: Man zeigt die Unentscheidbarkeit solcher Problememeistens durch einen Widerspruchsbeweis. “Wenn dieses Problementscheidbar ware, dann ware auch das Halteproblementscheidbar.”
Dazu kodiert man das Halteproblem so um, dass daraus eineInstanz eines solchen Problems wird.
Barbara Konig Berechenbarkeit und Komplexitat 33
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Schematische Darstellung einer Turing-Maschine:
e i n g a b e
Automat mitendlich vielenZustanden
Signal furEndzustand
bewegen und Zeichen uberschreibenKopf kann sich nach links und rechts
Barbara Konig Berechenbarkeit und Komplexitat 34
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Eigenschaften von Turing-Maschinen:
Wie endliche Automaten lesen Turing-Maschinen eine Eingabevon einem Band und haben endlich viele Zustande.
Unterschied zu endlichen Automaten: der Lesekopf kann sichnach links und rechts bewegen und auch Zeichenuberschreiben.
Falls nur Zeichen der Eingabe uberschrieben werden:Turing-Maschine heißt linear beschrankt (Maschinenmodell furChomsky-1-Sprachen).
Falls der Lesekopf auch uber den linken und rechten Randhinauslaufen und dort schreiben kann: allgemeineTuringmaschine mit unbeschranktem Band (Maschinenmodellfur Chomsky-0-Sprachen).
Barbara Konig Berechenbarkeit und Komplexitat 35
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Turing-Maschinen und Computer:
Das Konzept der Turing-Maschine wurde von Alan Turing1936 erfunden, noch bevor die ersten echten Computer gebautwurden.
Es ist nicht nur aus historischen Grunden interessant, sondernauch, weil es ein sehr einfaches Berechnungsmodell darstellt.
Wenn man zeigen will, dass etwas nicht berechenbar ist, dannist es viel besser, dies mit einem moglichst einfachenBerechnungsmodell zu tun. (Naturlich sollte man vorhersicherstellen, dass dieses Berechnungsmodell aquivalent zukomplexeren Modellen ist.)
Analogie zu einem heutigen Computer:
Kontrolle mit endlich vielen Zustanden Programm(Eingabe-)Band Speicher
Barbara Konig Berechenbarkeit und Komplexitat 36
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Beispiel 1: Turing-Maschine, die eine Binarzahl auf dem Band umeins inkrementiert.
Idee:
Kopf der Turing-Maschine steht zunachst auf dem amweitesten links befindlichen (hochstwertigen) Bit derBinarzahl.
Kopf nach rechts laufen lassen, bis ein Leerzeichen gefundenwird.
Dann wieder nach links laufen und jede 1 durch 0 ersetzen,solange bis eine 0 oder ein Leerzeichen auftaucht.
Dieses Zeichen dann durch 1 ersetzen, bis zum Zahlanfanglaufen und in einen Endzustand ubergehen.
Barbara Konig Berechenbarkeit und Komplexitat 37
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Simulation
Zustand:Zahlende findenz0
1 0 1 1 1
: Leerzeichen auf dem Band
Barbara Konig Berechenbarkeit und Komplexitat 38
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Simulation
Zustand:Zahlende findenz0
1 0 1 1 1
: Leerzeichen auf dem Band
Barbara Konig Berechenbarkeit und Komplexitat 38
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Simulation
Zustand:Zahlende findenz0
1 0 1 1 1
: Leerzeichen auf dem Band
Barbara Konig Berechenbarkeit und Komplexitat 38
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Simulation
Zustand:Zahlende findenz0
1 0 1 1 1
: Leerzeichen auf dem Band
Barbara Konig Berechenbarkeit und Komplexitat 38
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Simulation
Zustand:Zahlende findenz0
1 0 1 1 1
: Leerzeichen auf dem Band
Barbara Konig Berechenbarkeit und Komplexitat 38
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Simulation
1 0 1 1 1
Zustand:Zahlende findenz0
: Leerzeichen auf dem Band
Barbara Konig Berechenbarkeit und Komplexitat 38
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Simulation
Zustand: 1durch 0 ersetzenz1
1 0 1 1 1
: Leerzeichen auf dem Band
Barbara Konig Berechenbarkeit und Komplexitat 38
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Simulation
Zustand: 1durch 0 ersetzenz1
1 0 1 1 0
: Leerzeichen auf dem Band
Barbara Konig Berechenbarkeit und Komplexitat 38
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Simulation
Zustand: 1durch 0 ersetzenz1
1 0 1 0 0
: Leerzeichen auf dem Band
Barbara Konig Berechenbarkeit und Komplexitat 38
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Simulation
1 0 0 0 0
Zustand: 1durch 0 ersetzenz1
: Leerzeichen auf dem Band
Barbara Konig Berechenbarkeit und Komplexitat 38
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Simulation
Zustand: zuruckzum Zahlanfangz2
1 1 0 0 0
: Leerzeichen auf dem Band
Barbara Konig Berechenbarkeit und Komplexitat 38
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Simulation
Zustand: zuruckzum Zahlanfangz2
1 1 0 0 0
: Leerzeichen auf dem Band
Barbara Konig Berechenbarkeit und Komplexitat 38
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Simulation
1 1 0 0 0
Zustand:Endeze
: Leerzeichen auf dem Band
Barbara Konig Berechenbarkeit und Komplexitat 38
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Beispiel 2: Turing-Maschinen zur Spracherkennung
Wir suchen eine Turing-Maschine, die die SpracheL = a2n | n ≥ 0 (nicht kontextfrei) erkennt.
Idee:
Kopf steht zunachst am Beginn der Folge von a’s.
Anfang und Ende der Folge von a’s markieren. Links nebender Folge von a’s die Binarzahl 0 aufs Band schreiben.
a’s nacheinander durch ein anderes Zeichen (#) ersetzen.Nach jeder Ersetzung nach links zum Zahler laufen und diesenum eins inkrementieren.
Sobald alle a’s verschwunden sind (Endmarker ist erreicht),uberprufen, ob der Zahler die Form 10∗ hat. In diesem FallUbergang in einen Endzustand.
Barbara Konig Berechenbarkeit und Komplexitat 39
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Turingmaschine (Definition)
Eine (deterministische) Turingmaschine M ist ein 7-TupelM = (Z ,Σ, Γ, δ, z0,,E ), wobei
Z die endliche Menge der Zustande,
Σ das endliche Eingabealphabet,
Γ mit Γ ⊃ Σ das endliche Arbeitsalphabet oder Bandalphabet,
z0 ∈ Z der Startzustand,
δ : Z × Γ→ Z × Γ× L,R,N die Uberfuhrungsfunktion,
∈ Γ\Σ das Leerzeichen oder Blank und
E ⊆ Z die Menge der Endzustande ist.
Abkurzung: TM
Barbara Konig Berechenbarkeit und Komplexitat 40
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Bedeutung der Uberfuhrungsfunktion: sei δ(z , a) = (z ′, b, x) mitz , z ′ ∈ Z , a, b ∈ Γ, x ∈ L,R,N.
Falls die Turingmaschine im Zustand z auf dem Symbol a steht, so
wechselt sie in den Zustand z ′,
uberschreibt a durch b und
fuhrt folgende Kopfbewegung aus.
Kopf einen Schritt nach links, falls x = L.Kopf bleibt stehen, falls x = N.Kopf einen Schritt nach rechts, falls x = R.
Barbara Konig Berechenbarkeit und Komplexitat 41
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Wir fordern noch folgende Bedingung fur Turingmaschinen:
Bedingung fur Endzustande
Fur z ∈ E gilt fur alle a ∈ Γ
δ(z , a) = (z , a,N)
D.h., in einem Endzustand werden die Kopfposition, das Band undder Zustand nicht mehr verandert.
Barbara Konig Berechenbarkeit und Komplexitat 42
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Neben deterministischen Turingmaschinen gibt es auchnichtdeterministische Turingmaschinen.
Uberfuhrungsfunktion fur nichtdeterministische Turingmaschinen:
δ : Z × Γ→ P(Z × Γ× L,R,N).
Jedem Zustand und Bandsymbol wird eine (eventuell leere) Mengevon moglichen Aktionen zugeordnet.
Dabei gilt auch, dass es in einem Endzustand keine Veranderungenmehr geben darf. Das heißt fur z ∈ E , a ∈ Γ gilt:
(z ′, b, x) ∈ δ(z , a) ⇒ z = z ′ und a = b und x = N
Barbara Konig Berechenbarkeit und Komplexitat 43
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Beispiel: Turingmaschine zur Inkrementierung einer Binarzahl
M = (z0, z1, z2, ze, 0, 1, 0, 1,, δ, z0,, ze) mit
Uberfuhrungsfunktion: Zahlende finden
δ(z0, 0) = (z0, 0,R)
δ(z0, 1) = (z0, 1,R)
δ(z0,) = (z1,, L)
Uberfuhrungsfunktion: 1 durch 0 ersetzen, bis 1 oder erreicht
δ(z1, 0) = (z2, 1, L)
δ(z1, 1) = (z1, 0, L)
δ(z1,) = (ze , 1,N)
Barbara Konig Berechenbarkeit und Komplexitat 44
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Uberfuhrungsfunktion: zuruck zum Zahlanfang
δ(z2, 0) = (z2, 0, L)
δ(z2, 1) = (z2, 1, L)
δ(z2,) = (ze ,,R)
Der Vollstandigkeit halber: Uberfuhrungsregeln fur den Endzustand
Uberfuhrungsfunktion: Endzustandsregeln
δ(ze , 0) = (ze , 0,N)
δ(ze , 1) = (ze , 1,N)
δ(ze ,) = (ze ,,N)
Barbara Konig Berechenbarkeit und Komplexitat 45
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Wie bei anderen Maschinenmodellen gibt es auch beiTuringmaschinen den Begriff einer Konfiguration, d.h., einerMomentaufnahme einer Turingmaschinen-Berechnung
Konfiguration (Definition)
Eine Konfiguration einer Turingmaschine ist gegeben durch einWort
k ∈ Γ∗ZΓ∗.
Bedeutung: k = αzβ
α ∈ Γ∗ ist der Teil des Bandes links vom Kopf.
β ∈ Γ∗ ist der Teil des Bandes rechts vom Kopf. Der Kopfsteht auf dem ersten Zeichen von β.
z ∈ Z ist der aktuelle Zustand.
Barbara Konig Berechenbarkeit und Komplexitat 46
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Definition einer Ubergangsrelation `, die beschreibt, welcheKonfigurationsubergange moglich sind.
Keine Bewegung
Es gilt: a1 . . . amzb1b2 . . . bn ` a1 . . . amz′cb2 . . . bn,
falls δ(z , b1) = (z ′, c,N) (m ≥ 0, n ≥ 1).
Zustand: z
. . .a1 am b2 . . . bnb1
Barbara Konig Berechenbarkeit und Komplexitat 47
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Definition einer Ubergangsrelation `, die beschreibt, welcheKonfigurationsubergange moglich sind.
Keine Bewegung
Es gilt: a1 . . . amzb1b2 . . . bn ` a1 . . . amz′cb2 . . . bn,
falls δ(z , b1) = (z ′, c,N) (m ≥ 0, n ≥ 1).
. . .a1 am b2 . . . bnc
Zustand: z ′
Barbara Konig Berechenbarkeit und Komplexitat 47
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Schritt nach links
Es gilt: a1 . . . am−1amzb1b2 . . . bn ` a1 . . . am−1z′amcb2 . . . bn,
falls δ(z , b1) = (z ′, c, L) (m ≥ 1, n ≥ 1).
Zustand: z
am b2 . . . bnb1a1 . . . am−1
Barbara Konig Berechenbarkeit und Komplexitat 48
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Schritt nach links
Es gilt: a1 . . . am−1amzb1b2 . . . bn ` a1 . . . am−1z′amcb2 . . . bn,
falls δ(z , b1) = (z ′, c, L) (m ≥ 1, n ≥ 1).
am b2 . . . bna1 . . . am−1
Zustand: z ′
c
Barbara Konig Berechenbarkeit und Komplexitat 48
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Definition einer Ubergangsrelation `, die beschreibt, welcheKonfigurationsubergange moglich sind.
Schritt nach rechts
Es gilt: a1 . . . amzb1b2 . . . bn ` a1 . . . amcz′b2 . . . bn,
falls δ(z , b1) = (z ′, c,R) (m ≥ 0, n ≥ 2).
Zustand: z
. . .a1 am b2 . . . bnb1
Barbara Konig Berechenbarkeit und Komplexitat 49
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Definition einer Ubergangsrelation `, die beschreibt, welcheKonfigurationsubergange moglich sind.
Schritt nach rechts
Es gilt: a1 . . . amzb1b2 . . . bn ` a1 . . . amcz′b2 . . . bn,
falls δ(z , b1) = (z ′, c,R) (m ≥ 0, n ≥ 2).
. . .a1 am b2 . . . bn
Zustand: z ′
c
Barbara Konig Berechenbarkeit und Komplexitat 49
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Sonderfalle: Bandende erreicht zusatzliches Leerzeichen musshinzugefugt werden
Linkes Bandende
Es gilt: zb1b2 . . . bn ` z ′cb2 . . . bn,
falls δ(z , b1) = (z ′, c, L).
Zustand: z
b2 . . . bnb1
Barbara Konig Berechenbarkeit und Komplexitat 50
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Sonderfalle: Bandende erreicht zusatzliches Leerzeichen musshinzugefugt werden
Linkes Bandende
Es gilt: zb1b2 . . . bn ` z ′cb2 . . . bn,
falls δ(z , b1) = (z ′, c, L).
b2 . . . bn
Zustand: z ′
c
Barbara Konig Berechenbarkeit und Komplexitat 50
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Rechtes Bandende
Es gilt: a1 . . . amzb1 ` a1 . . . amcz′,
falls δ(z , b1) = (z ′, c,R).
Zustand: z
. . .a1 am b1
Barbara Konig Berechenbarkeit und Komplexitat 51
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Rechtes Bandende
Es gilt: a1 . . . amzb1 ` a1 . . . amcz′,
falls δ(z , b1) = (z ′, c,R).
. . .a1 am c
Zustand: z ′
Barbara Konig Berechenbarkeit und Komplexitat 51
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Akzeptierte Sprache (Definition)
Sei M = (Z ,Σ, Γ, δ, z0,,E ) eine Turingmaschine. Dann ist dievon M akzeptierte Sprache:
T (M) = x ∈ Σ∗ | z0x `∗ αzβ fur α, β ∈ Γ∗ und z ∈ E.
Akzeptierte Sprache: Alle Eingabe-Worter, mit denen dieTuring-Maschine in einen Endzustand gelangen kann. Dabei startetdie Turing-Maschine im Anfangszustand z0, der Kopf befindet sichauf dem ersten Zeichen des Eingabe-Wortes.
Wenn eine Maschine M fur ein Eingabewort w in einenEndzustand gelangt, dann sagt man auch, dass M auf w halt.
Barbara Konig Berechenbarkeit und Komplexitat 52
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Turingmaschinen
Fur nicht-deterministische Turingmaschinen mussen dieDefinitionen folgendermaßen angepaßt werden:
Falls sich die Turingmaschine im Zustand z befindet und dasZeichen b auf dem Band steht, sind alleKonfigurationsubergange moglich, die durch die Menge δ(z , b)beschrieben werden.
Ein Wort ist akzeptiert, wenn es eine mogliche Folge vonKonfigurationen gibt, die zu einem Endzustand fuhrt, auchwenn andere Folgen in Sackgassen geraten oder unendlichlang sind, ohne dabei je einen Endzustand zu erreichen.
Barbara Konig Berechenbarkeit und Komplexitat 53
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Linear beschrankte Turingmaschinen
Wir definieren nun das Maschinenmodell fur Chomsky-1-Sprachen(erzeugt durch monotone Grammatiken): linear beschrankteTuringmaschinen, die niemals außerhalb der Eingabe arbeitendurfen.
Problem: Turingmaschine muss erkennen konnen, dass sie sich amEnde der Eingabe befindet.
(Fur den Anfang der Eingabe besteht dasselbe Problem, aberdiesen kann sie sich zu Beginn selbst markieren.)
Losung: das Eingabealphabet Σ wird erweitert, fur jedes Zeichena ∈ Σ wird noch ein Zeichen a hinzugenommen. Das letzte Zeichenan der Eingabe wird dann durch an ersetzt.
Barbara Konig Berechenbarkeit und Komplexitat 54
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Linear beschrankte Turingmaschinen
Linear beschrankte Turingmaschinen
Eine nichtdeterministische Turingmaschine heißt linear beschrankt,wenn fur alle a1 . . . an ∈ Σ+ und fur alle Konfigurationen αzβ mitz0a1 . . . an `∗ αzβ gilt:
|αβ| = n.
Die von einer linear beschrankten Turingmaschine M akzeptierteSprache ist
T (M) = a1 . . . an ∈ Σ+ | z0a1 . . . an `∗ αzβfur α, β ∈ Γ∗ und z ∈ E.
Barbara Konig Berechenbarkeit und Komplexitat 55
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Chomsky-1-Sprachen
Wir zeigen nun, dass die von linear beschrankten Turingmaschinenakzeptierten Sprachen genau den Typ-1-Sprachen entsprechen.
Monotone Grammatiken → linear beschrankte Turingmaschinen
Zu jeder monotonen Grammatik G gibt es eine linear beschrankteTuringmaschine M mit L(G ) = T (M).
Barbara Konig Berechenbarkeit und Komplexitat 56
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Chomsky-1-Sprachen
Linear beschrankte Turingmaschinen → monotone Grammatiken
Zu jeder linear beschrankten Turingmaschine M gibt es einemonotone Grammatik G mit L(G ) = T (M).
Barbara Konig Berechenbarkeit und Komplexitat 57
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Chomsky-1-Sprachen
Beweisidee: die Ubergangsregeln der Turingmaschine werden durchProduktionen ersetzt, die im wesentlichen Konfigurationen inNachfolge-Konfigurationen uberfuhren.
Problem: die “Berechnungsrichtung” ist verschieden beiTuringmaschinen und Grammatiken
Turingmaschinen beginnen mit einem Wort auf dem Band undmodifizieren dieses so lange, bis ein Endzustand erreicht ist.
Grammatiken beginnen mit der Startvariable S und leitendaraus das Wort ab.
Barbara Konig Berechenbarkeit und Komplexitat 58
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Chomsky-1-Sprachen
Losung:
Die Grammatik “rat” zu Beginn ein Wort und uberpruft dann,ob es in der Sprache liegt.
Allerdings ist dieses Wort nach Simulation derTuringmaschinen-Berechnung uberschrieben oder modifiziert.
Daher: Einfuhrung neuer Symbole, bei denen jedes Zeichendoppelt gespeichert wird. Die Turingmaschinen-Berechnungarbeitet dann nur auf einer Kopie jedes Zeichens. Die andereKopie wird erhalten und kann nach erfolgreicher Berechnungwiederhergestellt werden.
Eine echte Kopie des ganzen Wortes kann nicht angefertigtwerden, denn dann mußte man am Ende der Berechnung,beim Wiederherstellen des Wortes, Zeichen loschen undnicht-monotone Regeln verwenden.
Barbara Konig Berechenbarkeit und Komplexitat 59
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Chomsky-0-Sprachen
Turingmaschinen und Chomsky-0-Sprachen
Zu jeder Chomsky-0-Grammatik G gibt es eineTuringmaschine M mit L(G ) = T (M).
Zu jeder Turingmaschine M gibt es eineChomsky-0-Grammatik G mit L(G ) = T (M).
Barbara Konig Berechenbarkeit und Komplexitat 60
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Chomsky-0-Sprachen
Beweisidee: durch Modifikation des Beweises fur linear beschrankteTuringmaschinen und monotone Grammatiken.
Grammatiken → Turingmaschinen: hier muss bei der Simulationder Grammatik auf dem Turingmaschinen-Band beiverkurzenden Regeln (linke Seite ist langer als rechteSeite) der Bandinhalt auseinandergeschoben werden.
Turingmaschinen → Grammatiken: hier muss dafur gesorgtwerden, dass die Grammatik bei Simulation derTuringmaschine links und rechts Leerzeichenerzeugen kann und diese nach erfolgreicherBerechnung auch wieder loscht.
Barbara Konig Berechenbarkeit und Komplexitat 61
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Ergebnisse fur Chomsky-1- und Chomsky-0-Sprachen
Abschluss unter Komplement von Typ-1-Sprachen(Immerman, Szelepcsenyi)
Wenn L eine Typ-1-Sprache ist, dann ist auch L = Σ∗\L eineTyp-1-Sprache.
(Ohne Beweis)
Abschluss unter Komplement von Typ-0-Sprachen
Wenn L eine Typ-0-Sprache ist, dann ist L = Σ∗\L nichtnotwendigerweise eine Typ-0-Sprache.
(Begrundung und Beispiele spater im KapitelBerechenbarkeitstheorie.)
Barbara Konig Berechenbarkeit und Komplexitat 62
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
Ergebnisse fur Chomsky-1- und Chomsky-0-Sprachen
Determinismus und Nichtdeterminismus bei Turingmaschinen
Zu jeder nichtdeterministischen Turingmaschine gibt es einedeterministische Turingmaschine, die dieselbe Sprache akzeptiert.
Beweisidee: die deterministische Turingmaschine simuliert mit Hilfevon Breitensuche alle Verzweigungen der nichtdeterministischenTuringmaschine.
Determinismus und Nichtdeterminismus bei linear beschranktenTuringmaschinen (LBA-Problem)
Fur linear beschrankten Turingmaschinen ist nicht bekannt, ob diedeterministischen und nichtdeterministischen Maschinenmodellegleich ausdrucksmachtig sind.
Barbara Konig Berechenbarkeit und Komplexitat 63
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Berechenbarkeit: Motivation
Nach der Beantwortung der Frage, welche Sprachen maschinellakzeptierbar sind, beschaftigen wir uns mit der Frage, welcheFunktionen berechenbar sind.
Wir betrachten folgende Typen von Funktionen:
(mehrstellige) Funktionen auf naturlichen Zahlen (die Null isteingeschlossen):
f : Nk0 → N0
Funktionen auf Wortern:
f : Σ∗ → Σ∗
Erlaubt sind auch partielle Funktionen, die nicht notwendigerweiseuberall definiert sind.
Barbara Konig Berechenbarkeit und Komplexitat 64
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Berechenbarkeit: Motivation
Intuitiver Berechenbarkeitsbegriff
Eine Funktion f : Nk0 → N0 soll als berechenbar angesehen werden,
wenn es ein Rechenverfahren/einen Algorithmus/ein Programmgibt, das f berechnet, d.h.
das Verfahren erhalt (n1, . . . , nk) als Eingabe,
terminiert nach endlich vielen Schritten, falls die Funktion aufdieser Eingabe definiert ist
und gibt f (n1, . . . , nk) aus.
Falls die Funktion auf (n1, . . . , nk) nicht definiert ist, so soll dasVerfahren nicht terminieren.
Barbara Konig Berechenbarkeit und Komplexitat 65
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Berechenbarkeit: Motivation
Die Aquivalenz vieler Berechnungsmodelle (das wird noch gezeigt)und das intuitive Verstandnis des Begriff der Berechenbarkeitfuhren zu folgender (nicht beweisbaren) These.
Churchsche These
Die durch die formale Definition derTuringmaschinen-Berechenbarkeit (aquivalent:While-Berechenbarkeit, Goto-Berechenbarkeit, µ-Rekursivitat)erfasste Klasse von Funktionen stimmt genau mit der Klasse derim intuitiven Sinne berechenbaren Funktionen uberein.
Barbara Konig Berechenbarkeit und Komplexitat 66
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Berechenbarkeit: Motivation
Bemerkungen:
Ein Berechnungsmodell, das aquivalent zu Turingmaschinenist, nennt man auch Turing-machtig. Der entsprechendeBerechenbarkeitsbegriff heißt Turing-Berechenbarkeit.
Fast alle Programmiersprachen sind Turing-machtig.
Heute ist man – mehr als fruher – neben der Berechenbarkeitvon Funktionen auch an eher interaktiven und reaktivenBerechnungsmodellen (z.B. Prozesskalkule) interessiert, beidenen der Benutzer auch wahrend der Berechnung mit demSystem interagieren kann. Diese werden von Turingmaschinennicht so gut reprasentiert, ihre Existenz ist aber auch keinWiderspruch zur Churchschen These, die sich nur aufberechenbare Funktionen bezieht.
Barbara Konig Berechenbarkeit und Komplexitat 67
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Berechenbarkeit: Motivation
Wir wiederholen kurz den Begriff der Abzahlbarkeit:
Abzahlbarkeit
Eine Menge M heißt abzahlbar, wenn es eine surjektive Abbildungf : N0 → M gibt. Das heißt es gibt eine (nicht notwendigerweisekonstruktive) Aufzahlung f (0), f (1), f (2), . . . aller Elemente vonM, in der jedes Element von M mindestens einmal vorkommt.
Barbara Konig Berechenbarkeit und Komplexitat 68
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Berechenbarkeit: Motivation
Nicht-berechenbare Funktionen
Es gibt Funktionen der Form f : N0 → N0, die nicht berechenbarsind.
Beweisidee: wir wahlen ein beliebiges Berechnungsmodell undstellen nur eine Anforderung:
Programme bzw. Maschinen in diesem Berechnungsmo-dell, konnen als (endliche) Worter uber einem endlichenAlphabet kodiert werden.
Dann gilt: es gibt hochstens abzahlbar vieleMaschinen/Programme.
Barbara Konig Berechenbarkeit und Komplexitat 69
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Berechenbarkeit: Motivation
Aber: es gibt uberabzahlbar viele (totale) Funktionen.
Wir zeigen dies durch einen Widerspruchsbeweis: angenommen dieMenge aller totalen Funktionen F auf naturlichen Zahlen istabzahlbar. Das heißt, es gibt eine surjektive Abbildung F : N0 → F .
Wir konstruieren die (totale) Funktion g : N0 → N0 mit
g(n) = fn(n) + 1, wobei fn = F (n).
Da F surjektiv ist, muss es eine naturliche Zahl i geben mitF (i) = g . Fur dieses i gilt dann: g(i) = fi (i). Aber das ist einWiderspruch zur Definition von g mit g(i) = fi (i) + 1.
Barbara Konig Berechenbarkeit und Komplexitat 70
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Berechenbarkeit: Motivation
Veranschaulichung: wir stellen F dadurch dar, indem wir zu jedemn die Funktion fn als Folge fn(0), fn(1), fn(2), . . . notieren.
Zum Beispiel:
n
0
1
2
3
4
fn(0) fn(1) fn(2) fn(3) fn(4) . . .
. . .
7
12
99
2
17
12
7
20
33
101
0
5
033
94
16
14
77
2
99
17
11
11
22
42
Diese Art von“selbstbezuglichen”Beweisen nennt manaufgrund ihrerVeranschaulichungdurch solcheDiagramme oft Diago-nalisierungsbeweise.
Barbara Konig Berechenbarkeit und Komplexitat 71
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Berechenbarkeit: Motivation
Veranschaulichung: wir stellen F dadurch dar, indem wir zu jedemn die Funktion fn als Folge fn(0), fn(1), fn(2), . . . notieren.
Alle Zahlen auf der Diagonale verwenden . . .
n
0
1
2
3
4
fn(0) fn(1) fn(2) fn(3) fn(4) . . .
. . .
12
99
2
17
12
7
20
101
0
5
033
94
14
77
2 17
11 22
42
7
33
16
99
11
Diese Art von“selbstbezuglichen”Beweisen nennt manaufgrund ihrerVeranschaulichungdurch solcheDiagramme oft Diago-nalisierungsbeweise.
Barbara Konig Berechenbarkeit und Komplexitat 71
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Berechenbarkeit: Motivation
Veranschaulichung: wir stellen F dadurch dar, indem wir zu jedemn die Funktion fn als Folge fn(0), fn(1), fn(2), . . . notieren.
. . . und um eins erhohen. Dadurch erhalt man g .
n
0
1
2
3
4
fn(0) fn(1) fn(2) fn(3) fn(4) . . .
. . .
12
99
2
17
12
7
20
101
0
5
033
94
14
77
2 17
11 22
42
8
34
17
100
12
Diese Art von“selbstbezuglichen”Beweisen nennt manaufgrund ihrerVeranschaulichungdurch solcheDiagramme oft Diago-nalisierungsbeweise.
Barbara Konig Berechenbarkeit und Komplexitat 71
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Berechenbarkeit: Motivation
Veranschaulichung: wir stellen F dadurch dar, indem wir zu jedemn die Funktion fn als Folge fn(0), fn(1), fn(2), . . . notieren.
Die Funktion g kann aber aufgrund dieser Konstruktion mit keinerder anderen Funktionen ubereinstimmen.
n
0
1
2
3
4
fn(0) fn(1) fn(2) fn(3) fn(4) . . .
. . .
12
99
2
17
12
7
20
101
0
5
033
94
14
77
2 17
11 22
42
8
34
17
100
12
Diese Art von“selbstbezuglichen”Beweisen nennt manaufgrund ihrerVeranschaulichungdurch solcheDiagramme oft Diago-nalisierungsbeweise.
Barbara Konig Berechenbarkeit und Komplexitat 71
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Turing-Berechenbarkeit
Nach dem intuitiven Berechenbarkeitsbegriff beschaftigen wir unsnun mit dem formalen Berechenbarkeitsbegriff, zunachst basierendauf Turingmaschinen.
Wir wissen bereits, was es bedeutet, dass eine Turingmaschine eineSprache akzeptiert. Nun definieren wir, was es bedeutet, dass eineTuringmaschine eine Funktion berechnet.
Barbara Konig Berechenbarkeit und Komplexitat 72
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Turing-Berechenbarkeit
Turing-berechenbare Funktionen auf naturlichen Zahlen
Eine Funktion f : Nk0 → N0 heißt Turing-berechenbar, falls es eine
(deterministische) Turingmaschine M = (Z ,Σ, Γ, δ, z0,,E ) gibt,so dass fur alle n1, . . . , nk ,m ∈ N0 gilt:
f (n1, . . . , nk) = m⇐⇒
z0bin(n1)#bin(n2)# . . .#bin(nk) `∗ . . .zebin(m) . . .
wobei ze ∈ E .
Dabei bezeichnet bin(n) die Binardarstellung einer Zahl n ∈ N0.
Barbara Konig Berechenbarkeit und Komplexitat 73
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Turing-Berechenbarkeit
Intuition: wenn man die Zahlen n1, . . . , nk in Binardarstellung –voneinander getrennt durch # – aufs Band schreibt, so berechnetdie Turingmaschine daraus die Zahl f (n1, . . . , nk) (moglicherweiseumgeben von Leerzeichen) und geht in einen Endzustand uber.
Dabei muss der Kopf auf dem ersten Zeichen der Ausgabe stehen.
Barbara Konig Berechenbarkeit und Komplexitat 74
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Turing-Berechenbarkeit
Turing-berechenbare Funktionen auf Wortern
Eine Funktion f : Σ∗ → Σ∗ heißt Turing-berechenbar, falls es eine(deterministische) Turingmaschine M = (Z ,Σ, Γ, δ, z0,,E ) gibt,so dass fur alle x , y ∈ Σ∗ gilt:
f (x) = y⇐⇒
z0x `∗ . . .zey . . .,
wobe ze ∈ E .
Intuition: wenn man das Wort x aufs Band schreibt, so berechnetdie Turingmaschine daraus das Wort y (moglicherweise umgebenvon Leerzeichen) und geht in einen Endzustand uber.
Barbara Konig Berechenbarkeit und Komplexitat 75
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Turing-Berechenbarkeit
Was muss eine Turingmaschine tun, wenn der Funktionswert nichtdefiniert ist?
Die beiden obigen Definitionen drucken aus, dass in diesemFall nie eine Konfiguration wie oben beschrieben erreichtwerden darf.
Da die Maschine deterministisch ist, gibt es jedoch immereinen Nachfolgezustand.
Das bedeutet, dass die Turingmaschine entweder nicht halt(d.h. keinen Endzustand erreicht) oder in einer inkorrektenKonfiguration halt (z.B. steht der Kopf nicht am Beginn derAusgabe).
Barbara Konig Berechenbarkeit und Komplexitat 76
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Turing-Berechenbarkeit
Beispiele fur Turing-berechenbare Funktionen:
Beispiel 1: die Nachfolgerfunktion n 7→ n + 1 istTuring-berechenbar (siehe die im vorherigen Kapitel angegebeneTuringmaschine, die auf Binardarstellungen arbeitet).
Beispiel 2: sei Ω die uberall undefinierte Funktion. Diese ist auchTuring-berechenbar, durch eine Turingmaschine, die keinenEndzustand hat. Beispielsweise durch eine Turingmaschine mit derUbergangsregel
δ(z0, a) = (z0, a,R) fur alle a ∈ Γ.
(Statt nach rechts kann die Turingmaschine alternativ auch nachlinks laufen oder auf dem Band stehenbleiben.)
Barbara Konig Berechenbarkeit und Komplexitat 77
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Turing-Berechenbarkeit
Beispiel 3: gegeben sei eine Typ-0-Sprache L. Wir betrachten diesogenannte “halbe” charakteristische Funktion von L:
χ′L : Σ∗ → 0, 1
χ′L(w) =
1 falls w ∈ Lundefiniert sonst
Barbara Konig Berechenbarkeit und Komplexitat 78
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Turing-Berechenbarkeit
Idee fur eine Turingmaschine, die χ′L berechnet:
Wir verwenden die Turingmaschine aus der Transformation“(Monotone) Grammatik → (linear beschrankte)Turingmaschine”.Wenn diese Turingmaschine in einen Endzustand ubergehensollte (da Startsymbol S erreicht und damit w ∈ L), dannuberschreibt sie S mit 1 und geht in einen Endzustand uber.In allen anderen Fallen (w 6∈ L) muss die Turingmaschinenicht terminieren.Hierbei handelt es sich um eine nicht-deterministischeTuringmaschine, da nicht-deterministisch die nachste,ruckwarts anzuwendende, Produktion gewahlt wird. Wegender Aquivalenz von deterministischen undnicht-deterministischen Turingmaschinen kann man sie auchin eine deterministische Turingmaschine umwandeln.
Barbara Konig Berechenbarkeit und Komplexitat 79
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Mehrband-Turingmaschine
Wir fuhren jetzt mehrere neue Berechnungsmodelle ein und zeigen,dass sie alle aquivalent zu Turingmaschinen sind. Das erste davonist die sogenannte Mehrband-Turingmaschine.
Mehrband-Turingmaschine
Eine Mehrband-Turingmaschine besitzt k (k ≥ 1) Bander mitk unabhangigen Kopfen, aber nur einen Zustand.
Aussehen der Ubergangsfunktion:
δ : Z × Γk → Z × Γk × L,R,Nk
(ein Zustand, k Bandsymbole, k Bewegungen)
Die Ein- und Ausgabe stehen jeweils auf dem ersten Band. ZuBeginn sind die restlichen Bander leer.
Barbara Konig Berechenbarkeit und Komplexitat 80
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Mehrband-Turingmaschine
Mehrband-Turingmaschinen → Turingmaschinen
Zu jeder Mehrband-Turingmaschine M gibt es eine(Einband-)Turingmaschine M ′, die dieselbe Sprache akzeptiertbzw. dieselbe Funktion berechnet.
Barbara Konig Berechenbarkeit und Komplexitat 81
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Mehrband-Turingmaschine
Beweisidee: wir beginnen mit der Darstellung einer typischenKonfiguration einer Mehrband-Turingmaschine
a1 a2 a3 a4 a5 a6 a7 a8 a9 a10
b1 b2 b3 b4 b5 b6 b7 b8 b9 b10
c1 c2 c3 c4 c5 c6 c7 c8 c9 c10
M
Barbara Konig Berechenbarkeit und Komplexitat 82
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Mehrband-Turingmaschine
Simulation durch Einband-Turingmaschine durch Erweiterung desAlphabetsWir fassen die ubereinanderliegenden Bandeintrage zu einem Feldzusammen
M ′
a1 a2 a3 a4 a5 a6 a7 a8 a9 a10
b1 b2 b3 b4 b5 b6 b7 b8 b9 b10
c1 c2 c3 c4 c5 c6 c7 c8 c9 c10
♦ ♦ ♦ ♦♦ ♦ ♦
♦♦ ♦ ♦ ♦ ♦ ♦
♦ ♦ ♦ ♦ ♦ ♦ ♦
* ♦♦
*♦ ♦
*♦ ♦
Barbara Konig Berechenbarkeit und Komplexitat 83
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Mehrband-Turingmaschine
Neues Bandalphabet:
Γ′ = Γ ∪ (Γ ∪ ∗,♦)2k
Bedeutung:
Mit Hilfe von Symbolen aus Γ wird die Eingabe dargestellt.Diese wird dann in einem ersten Durchlauf in die“Mehrband-Kodierung” umgewandelt.
Ein Alphabetsymbol der Form(a, ∗, b,♦, c, ∗, . . . ) ∈ (Γ ∪ ∗,♦)2k hat die Bedeutung:
Entsprechende Felder sind mit a, b, c , . . . belegt,
1. und 3. Kopf sind anwesend. (∗: Kopf anwesend, ♦: Kopfnicht anwesend)
Barbara Konig Berechenbarkeit und Komplexitat 84
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Mehrband-Turingmaschine
Problem: Eine Einband-Turingmaschine hat nur einen Kopf unddieser kann nur an einer Stelle stehen Simulation einesUbergangs der Mehrband-Turingmaschine in mehreren Schritten.
Simulation:
Zu Beginn der Simulation eines Schritts steht der Kopf derEinband-Turingmaschine M ′ links von allen ∗-Markierungen.
Dann lauft der Kopf nach rechts, uberschreitet alle∗-Markierungen und merkt sich die unter jedem Kopfstehenden Zeichen. (Dazu benotigt man viele Zustande.)Sobald alle diese Zeichen bekannt sind, kann man mit Hilfeder δ-Funktion die notwendigen Aktionen bestimmen.
Dann lauft der Kopf wieder zuruck nach links und fuhrt allenotwendigen Anderungen aus.
Barbara Konig Berechenbarkeit und Komplexitat 85
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Loop-, While-, Goto-Berechenbarkeit
Wir betrachten nun ein weiteres Berechnungsmodell, das imwesentlichen eine einfache Programmiersprache mit verschiedenenKonstrukten darstellt.
Diese Programme haben Variablen, die mit naturlichen Zahlenbelegt sind. Diesen Variablen durfen arithmetische Ausdrucke(mit Konstanten, Variablen und Operatoren +, −) zugewiesenwerden.
Außerdem enthalten die Programme verschiedeneSchleifenkonstrukte.
Barbara Konig Berechenbarkeit und Komplexitat 86
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Loop-, While-, Goto-Berechenbarkeit
Insbesondere betrachten wir folgende Typen von Programmen:
Loop-Programme
Enthalten nur Loop- bzw. For-Schleifen, bei denen bereits beiEintritt feststeht, wie oft sie durchlaufen werden.
While-Programme
Enthalten nur While-Schleifen mit einer immer wieder zuevaluierenden Abbruchbedingung.
Goto-Programme
Enthalten Gotos (unbedingte Sprunge) undIf-Then-Else-Anweisungen.
Wir interessieren uns vor allem fur die Funktionen, die von solchenProgrammen berechnet werden.
Barbara Konig Berechenbarkeit und Komplexitat 87
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Loop-Programme
Syntaktische Komponenten fur Loop-Programme
Variablen: x0 x1 x2 . . .
Konstanten: 0 1 2 . . .
Trennsymbole: ; :=
Operatorsymbole: + −Schlusselworter: Loop Do End
Barbara Konig Berechenbarkeit und Komplexitat 88
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Loop-Programme
Induktive Syntax-Definition
Ein Loop-Programm P ist von der Form
Wertzuweisung: xi := xj + c bzw. xi := xj − c(mit c ∈ N0)
Sequentielle Komposition: P1;P2
(wobei P1, P2 Loop-Programme sind)
Loop: Loop xi Do P End(wobei P ein Loop-Programm ist)
Barbara Konig Berechenbarkeit und Komplexitat 89
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Loop-Programme
(Informelle) Beschreibung der Semantik
Ein Loop-Programm, das eine k-stellige Funktion berechnensoll, startet mit den Parametern in den Variablen x1, . . . , xk .Alle anderen Variablen haben den Startwert 0. Das Ergebnisliegt bei Terminierung in x0.
Interpretation der Wertzuweisungen:
xi := xj + c – wie ublichxi := xj − c – modifizierte Subtraktion, falls c > xj , so istdas Resultat gleich 0
Sequentielle Komposition P1;P2: erst P1, dann P2 ausfuhren.
Loop xi Do P End: das Programm P wird so oftausgefuhrt, wie die Variable xi zu Beginn angibt.
Barbara Konig Berechenbarkeit und Komplexitat 90
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Loop-Programme
Loop-Berechenbarkeit (Definition)
Eine Funktion f : Nk0 → N0 heißt Loop-berechenbar, falls es ein
Loop-Programm P gibt, das
gestartet mit n1, . . . , nk ∈ N0 in den Variablen x1, . . . , xk
stoppt mit f (n1, . . . , nk) in der Variablen x0.
Alle Loop-Programme stoppen nach endlicher Zeit alleLoop-berechenbaren Funktionen sind total.
Wir werden spater zeigen, dass es totale Turing-berechenbareFunktionen gibt, die nicht Loop-berechenbar sind.
Loop-Berechenbarkeit ist schwacher alsTuring-Berechenbarkeit! (auch bei Einschrankung auf die totalenFunktionen)
Barbara Konig Berechenbarkeit und Komplexitat 91
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Loop-Programme
Loop-Programme konnen aber gewisse Programmkonstruktesimulieren, die in der Syntax nicht enthalten sind.
If-Then-Else
Simulation von If x = 0 Then A End
Barbara Konig Berechenbarkeit und Komplexitat 92
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Loop-Programme
Loop-Programme konnen aber gewisse Programmkonstruktesimulieren, die in der Syntax nicht enthalten sind.
Addition
Simulation von x0 := x1 + x2
Barbara Konig Berechenbarkeit und Komplexitat 92
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Loop-Programme
Loop-Programme konnen aber gewisse Programmkonstruktesimulieren, die in der Syntax nicht enthalten sind.
Multiplikation
Simulation von x0 := x1 · x2
Wir werden im folgenden solche Konstrukte in Programmen verwen-den. Wir nehmen dann an, dass sie – wie oben – geeignet simuliertwerden.
Analog: Ganzzahlige Division (x Div y) und Divisionsrest(x Mod y).
Barbara Konig Berechenbarkeit und Komplexitat 92
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
While-Programme
Syntax und Semantik von While-Programmen
Statt Loop-Schleifen verwenden wir While-Schleifen der Form
While xi 6= 0 Do P End
Programm P wird so lange ausgefuhrt bis der Wert von xi gleich 0ist.
Eine Loop-Schleife
Loop x Do P End
kann simuliert werden durchy := x ;While y 6= 0 Do y := y − 1;P End
Wichtig: dabei ist y eine neue Variable, die insbesondere in P nichtvorkommt.
Barbara Konig Berechenbarkeit und Komplexitat 93
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
While-Programme
While-Berechenbarkeit (Definition)
Eine Funktion f : Nk0 → N0 heißt While-berechenbar, falls es ein
While-Programm P gibt, das
gestartet mit n1, . . . , nk ∈ N0 in den Variablen x1, . . . , xk
stoppt mit f (n1, . . . , nk) in der Variablen x0, fallsf (n1, . . . , nk) definiert ist.
Ansonsten, falls der Funktionswert undefiniert ist, terminiertP nicht.
Barbara Konig Berechenbarkeit und Komplexitat 94
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
While-Programme
While-Programme → Turingmaschinen
Jede While-berechenbare Funktion ist auch Turing-berechenbar.Anders ausgedruckt: Turingmaschinen konnen While-Programmesimulieren.
Barbara Konig Berechenbarkeit und Komplexitat 95
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
While-Programme
Beweisidee:
Wir verwenden eine Mehrband-Turingmaschine, bei der aufjedem Band eine andere Variable in Binardarstellunggespeichert wird.k Variablen k Bander
xi := xj + c kann von der Turingmaschine durchgefuhrtwerden, indem xj auf das i-te Band kopiert wird und dann dieInkrementierungsfunktion (+1) c-mal ausgefuhrt wird.
xi := xj − c funktioniert ahnlich (mitDekrementierungsfunktion).
Barbara Konig Berechenbarkeit und Komplexitat 96
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
While-Programme
Sequentielle Komposition P1;P2: wir bestimmenTuringmaschinen M1, M2 fur P1, P2.Diese modifizieren wir wie folgt zu einer Turingmaschine furP1;P2:
Vereinigung der Zustandsmengen, Bandalphabete undUbergangsfunktionenAnfangszustand ist Anfangszustand von M1. Endzustandesind Endzustande von M2.Statt in einen Endzustand von M1 wird ein Ubergang inden Anfangszustand von M2 gemacht. (Vergleiche mitder Konkatenationskonstruktion fur endliche Automaten.)
Barbara Konig Berechenbarkeit und Komplexitat 97
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
While-Programme
While-Schleife While xi 6= 0 Do P End: Bestimmezunachst eine Turingmaschine M fur P.Modifiziere M wie folgt:
Im neuen Anfangszustand wird zunachst uberpruft, ob 0auf dem Band steht, das xi zugeordnet ist.
Falls ja: Ubergang in EndzustandFalls nein: M wird ausgefuhrt
Statt Ubergang in Endzustand: Ubergang in den neuenAnfangszustand.
Barbara Konig Berechenbarkeit und Komplexitat 98
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Goto-Programme
Syntax von Goto-Programmen
Mogliche Anweisungen fur Goto-Programme:
Wertzuweisung: xi := xj + c bzw. xi := xj − c (mit c ∈ N0)
Unbedingter Sprung: Goto Mi
Bedingter Sprung: If xi = c Then Goto Mi
Stopanweisung: Halt
Ein Goto-Programm besteht aus einer Folge von AnweisungenAi , vor denen sich jeweils eine (Sprung-)Marke Mi befindet.
M1 : A1;M2 : A2; . . . ;Mk : Ak
(Wenn Marken nicht angesprungen werden, werden wir sie ofteinfach weglassen.)
Barbara Konig Berechenbarkeit und Komplexitat 99
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Goto-Programme
Semantik von Goto-Programmen
If-Anweisungen werden wie ublich interpretiert.
Goto M springt an die entsprechende Marke des Programms.
Halt-Anweisungen beenden Goto-Programme. (Die letzteAnweisung eines Programms muss ein Halt oder einunbedingter Sprung sein.)
Wie While-Programme konnen auch Goto-Programmemoglicherweise nicht terminieren.
Goto-berechenbare Funktionen sind analog zuWhile-berechenbaren Funktionen definiert.
Barbara Konig Berechenbarkeit und Komplexitat 100
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Goto-Programme
While-Programme → Goto-Programme
Jedes While-Programm kann durch ein Goto-Programmsimuliert werden. Das heißt, jede While-berechenbare Funktionist Goto-berechenbar.
Eine While-Schleife
While x 6= 0 Do P End
kann simuliert werden durch
M1 : If x = 0 Then Goto M2;P;Goto M1;
M2 : . . .
Barbara Konig Berechenbarkeit und Komplexitat 101
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Goto-Programme
Auch die – nicht ganz so offensichtliche – Umkehrung gilt:
Goto-Programme → While-Programme
Jedes Goto-Programm kann durch ein While-Programmsimuliert werden. Das heißt, jede Goto-berechenbare Funktion istWhile-berechenbar.
Das ist einer der Grunde dafur, warum in modernenProgrammiersprachen im allgemeinen keine Gotos verwendetwerden.
Weitere Grunde:
Edsger W. Dijkstra: “Go To Statement Considered Harmful”(1968)https://www.cs.utexas.edu/users/EWD/ewd02xx/EWD215.PDF
Spaghetti-Code bei Verwendung von Gotos
Barbara Konig Berechenbarkeit und Komplexitat 102
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Goto-Programme
Die Simulation von Goto-Programmen durch While-Programmeverwendet nur eine While-Schleife.
Das bedeutet: ein While-Programm kann durch Umwandlung inein Goto-Programm und Zuruckumwandlung in ein aquivalentesWhile-Programm mit einer While-Schleife umgewandelt werden.
Dabei muss man allerdings annehmen, dass die Sprache auchIf-Anweisungen zur Verfugung stellt.
(Kleenesche Normalform fur While-Programme)
Barbara Konig Berechenbarkeit und Komplexitat 103
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Goto-Programme
Welche Transformationen haben wir bisher durchgefuhrt?
Goto oo //While // TM
Loop
OO
Um die Aquivalenz von Goto-, While- undTuring-Berechenbarkeit zu zeigen, fehlt uns noch die Richtung
TM→ Goto
Barbara Konig Berechenbarkeit und Komplexitat 104
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Goto-Programme
TM → Goto-Programme
Jede Turingmaschine kann durch ein Goto-Programm simuliertwerden. Das heißt, jede Turing-berechenbare Funktion istGoto-berechenbar.
Barbara Konig Berechenbarkeit und Komplexitat 105
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Goto-Programme
Beweisidee:Sei k die Anzahl der Zustande und m die Anzahl der Bandsymboleder Turingmaschine.
Eine Konfiguration a1 . . . apzb1 . . . bq wird in drei Variablen x1, x2,x3 gespeichert. Dabei enthalt:
x1 den Bandinhalt vor dem Kopf, dabei wird a1 . . . ap als Zahlzur Basis b = m + 1 interpretiert. Also:
x1 =
p∑i=1
pos(ai ) · bp−i ,
wobei pos(ai ) die Position des Bandsymbols ai imBandalphabet ist (Bandsymbole sind von 1 bis mdurchnummeriert).
Barbara Konig Berechenbarkeit und Komplexitat 106
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Goto-Programme
x2 den Bandinhalt ab dem Kopf, dabei wird bq . . . b1 (inumgekehrter Reihenfolge!) als Zahl zur Basis b interpretiert.
x3 ist eine Zahl zwischen 1 und k und reprasentiert denaktuellen Zustand.
Barbara Konig Berechenbarkeit und Komplexitat 107
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Goto-Programme
Simulation von Turingmaschinenoperationen:
Kopf liest Zeichen: y := x2 Mod b
Zeichen a aufs Band schreiben: x2 := (x2 Div b) · b + pos(a)
Kopf nach links: x2 := x2 · b + (x1 Mod b); x1 := x1 Div b
Kopf nach rechts: x1 := x1 · b + (x2 Mod b); x2 := x2 Div b
Barbara Konig Berechenbarkeit und Komplexitat 108
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Goto-Programme
Das zu erstellende Goto-Programm besteht nun aus folgendendrei Programmteilen:
1. Teil: Die in den Variablen befindlichen Parameter werdenin Binardarstellung transformiert und es wird eineDarstellung der Startkonfiguration mit Hilfe von x1,x2, x3 erzeugt.
2. Teil: Die Turingmaschinenberechnung wird durchManipulation von x1, x2, x3 simuliert.
Barbara Konig Berechenbarkeit und Komplexitat 109
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Goto-Programme
Schema:
M2 : y := x2 Mod b; (Zeichen einlesen)If (x3 = 1) And (y = 1) Then Goto M1,1;If (x3 = 1) And (y = 2) Then Goto M1,2;. . .
M1,1 : P1,1; (Aktion δ(z1, a1) ausfuhren)Goto M2;
M1,2 : P1,2; (Aktion δ(z1, a2) ausfuhren)Goto M2;
. . .
Barbara Konig Berechenbarkeit und Komplexitat 110
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Goto-Programme
Im Programmteil Pi ,j wird die durch δ(zi , aj)beschriebene Aktion ausgefuhrt, wobei zi der i-teZustand und aj das j-te Bandsymbol ist.
Dabei wird – wie oben beschrieben – das Zeichen,auf dem der Kopf steht, uberschrieben und beiBedarf ein Schritt nach links oder rechts ausgefuhrt.
3. Teil: Die Endkonfiguration gespeichert in x1, x2, x3 wird indie eigentliche Ausgabe in der Variablen x0 uberfuhrt.Das Goto-Programm endet mit einem Halt.
Bemerkung: Nur der 2. Teil hangt von der Uberfuhrungsfunktion δab.
Barbara Konig Berechenbarkeit und Komplexitat 111
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Primitiv rekursive und µ-rekursive Funktionen
Loop-, While- und Goto-Programme sind vereinfachteimperative Programme und stehen fur imperativeProgrammiersprachen, bei denen Programme als Folgen vonBefehlen aufgefaßt werden.
Parallel dazu gibt es jedoch auch funktionale Programme, derenHauptbestandteil die Definition rekursiver Funktionen ist. Es gibtauch Berechnungsbegriffe, die sich eher an funktionalenProgrammen orientieren.
Zum Beispiel:
λ-Kalkul (Alonzo Church, 1932)
µ-rekursive und primitiv rekursive Funktionen (werden hier inder Vorlesung betrachtet)
Barbara Konig Berechenbarkeit und Komplexitat 112
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Primitiv rekursive und µ-rekursive Funktionen
Wir definieren nun Klassen von Funktionen der Form f : Nk0 → N0.
Primitiv rekursive Funktionen (Definition)
Die Klasse der primitiv rekursiven Funktionen ist induktiv wie folgtdefiniert:
Alle konstanten Funktionen der Form c : N0 → N0 mitc(n) = m (fur ein festes m ∈ N0) sind primitiv rekursiv.(Auch 0-stellige konstante Funktionen sind zugelassen.)
Alle Projektionen der Form πki : Nk0 → N0 mit
πki (n1, . . . , nk) = ni sind primitiv rekursiv.
Die Nachfolgerfunktion s : N0 → N0 mit s(n) = n + 1 istprimitiv rekursiv.
Jede Funktion, die durch Einsetzung/Komposition vonprimitiv rekursiven Funktionen entsteht, ist primitiv rekursiv.
Barbara Konig Berechenbarkeit und Komplexitat 113
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Primitiv rekursive und µ-rekursive Funktionen
Primitiv rekursive Funktionen (Definition, Fortsetzung)
Jede Funktion f , die durch primitive Rekursion aus primitivrekursiven Funktionen entsteht, ist primitiv rekursiv.
Das heißt f : Nk+10 → N0 muss folgende Gleichungen erfullen
(fur primitiv rekursive Funktionen g : Nk0 → N0,
h : Nk+20 → N0):
f (0, n1, . . . , nk) = g(n1, . . . , nk)
f (n + 1, n1, . . . , nk) = h(f (n, n1, . . . , nk), n, n1, . . . , nk)
Anschaulich: bei primitiver Rekursion wird die Definition vonf (n + 1, . . . ) zuruckgefuhrt auf f (n, . . . ). Das bedeutet, dassprimitive Rekursion immer terminiert.
Berechnungsmodell analog zu Loop-Programmen.Barbara Konig Berechenbarkeit und Komplexitat 114
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Primitiv rekursive und µ-rekursive Funktionen
Beispiele fur primitiv rekursive Funktionen:
Additionsfunktion
Die Funktion add : N20 → N0 mit add(n,m) = n + m ist primitiv
rekursiv.
add(0,m) = m
add(n + 1,m) = s(add(n,m))
Fur das Rekursionsschema gilt: g = π11 : N0 → N0,h = s π31 : N3
0 → N0
Barbara Konig Berechenbarkeit und Komplexitat 115
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Primitiv rekursive und µ-rekursive Funktionen
Beispiele fur primitiv rekursive Funktionen:
Multiplikationsfunktion
Die Funktion mult : N20 → N0 mit mult(n,m) = n ·m ist primitiv
rekursiv.
mult(0,m) = 0
mult(n + 1,m) = add(mult(n,m),m)
Hier gilt: g ist die (einstellige) konstante Nullfunktion undh : N3
0 → N0 ist definiert alsh(x , n,m) = add(π31(x , n,m), π33(x , n,m)).
Barbara Konig Berechenbarkeit und Komplexitat 116
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Primitiv rekursive und µ-rekursive Funktionen
Beispiele fur primitiv rekursive Funktionen:
Dekrementierung
Die Funktion dec : N0 → N0 mit dec(n) = n − 1 (modifizierteSubtraktion) ist primitiv rekursiv.
dec(0) = 0
dec(n + 1) = n
Hier gilt: g ist die (nullstellige) konstante Nullfunktion undh = π22 : N2
0 → N0.
Barbara Konig Berechenbarkeit und Komplexitat 117
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Primitiv rekursive und µ-rekursive Funktionen
Primitiv rekursive Funktionen ↔ Loop-berechenbare Funktionen
Die Klasse der primitiv rekursiven Funktionen stimmt genau mitder Klasse der Loop-berechenbaren Funktionen uberein.
(Ohne Beweis)
Barbara Konig Berechenbarkeit und Komplexitat 118
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Primitiv rekursive und µ-rekursive Funktionen
Wir definieren nun ein weitere Klasse, die gleichmachtig zuWhile-Programmen, Goto-Programmen und Turingmaschinenist.
µ-rekursive Funktionen (Definition)
Die µ-rekursiven Funktionen verwenden die gleichenBasisfunktionen (konstante Funktionen, Projektionen,Nachfolgerfunktion) und Operatoren (Einsetzung, primitiveRekursion) wie primitiv rekursive Funktionen.
Zusatzlich darf noch der µ-Operator verwendet werden.
Barbara Konig Berechenbarkeit und Komplexitat 119
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Primitiv rekursive und µ-rekursive Funktionen
µ-rekursive Funktionen (Definition, Fortsetzung)
Der µ-Operator verwandelt eine Funktion f : Nk+10 → N0 in eine
Funktion µf : Nk0 → N0 mit
µf (x1, . . . , xk) = minn | f (n, x1, . . . , xk) = 0
und fur alle m < n ist f (m, x1, . . . , xk)
definiert
Dabei gilt min ∅ = undefiniert.
Barbara Konig Berechenbarkeit und Komplexitat 120
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Primitiv rekursive und µ-rekursive Funktionen
Intuitive Berechnung von µf (x1, . . . , xk):
Berechne f (0, x1, . . . , xk), f (1, x1, . . . , xk), . . .
Falls fur ein n gilt f (n, x1, . . . , xk) = 0, so gib n alsFunktionswert zuruck.
Falls f (m, x1, . . . , xk) undefiniert ist (ohne, dass vorher einmalder Funktionswert gleich 0 war), oder der Funktionswert 0 nieerreicht wird: die intuitive Berechnung terminiert nicht.In diesem Fall gilt auch µf (x1, . . . , xk) = min ∅ = undefiniert.
Analogie zu While-Programmen: es ist nicht klar, ob dieAbbruchbedingung jemals erfullt wird.
Barbara Konig Berechenbarkeit und Komplexitat 121
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Primitiv rekursive und µ-rekursive Funktionen
Durch den µ-Operator konnen nun auch echt partielle Funktionenerzeugt werden.
Uberall undefinierte Funktion
Die Funktion Ω: N0 → N0 mit Ω(n) = undefiniert fur alle n ∈ N0
ist µ-rekursiv.
Verwende die 2-stellige Funktion f : N20 → N0 mit f (x , y) = 1 fur
alle x , y . Es gilt f = k π21, wobei k die konstante 1-stelligeFunktion ist, die alles auf 1 abbildet.
Dann gilt Ω = µf .
Barbara Konig Berechenbarkeit und Komplexitat 122
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Primitiv rekursive und µ-rekursive Funktionen
Weiteres Beispiel:
Wurzelfunktion
Die Funktion sqrt : N0 → N0 mit sqrt(n) = d√ne ist µ-rekursiv.
(Dabei rundet d. . . e eine reelle Zahl auf die nachstgroßere (odergleiche) ganze Zahl auf.)
Sei f (m, n) = n −m ·m. (Die Multiplikationsfunktion ist primitivrekursiv und die Subtraktionsfunktion kann durch iterierteAnwendung der Dekrementierungsfunktion erhalten werden.)
Dann gilt sqrt = µf .
Diese Funktion ist jedoch auch primitiv rekursiv. Intuition: beiBerechnung von sqrt(n) sind immer hochstens n Iterationennotwendig.)
Barbara Konig Berechenbarkeit und Komplexitat 123
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Primitiv rekursive und µ-rekursive Funktionen
Die Klasse der µ-rekursiven Funktionen stimmt genau mit derKlasse der While-(Goto-, Turing-)berechenbaren Funktionenuberein.
(Ohne Beweis)
Barbara Konig Berechenbarkeit und Komplexitat 124
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Primitiv rekursive und µ-rekursive Funktionen
Totale, nicht Loop-berechenbare Funktionen
Es gibt totale (Turing-)berechenbare Funktionen, die nichtLoop-berechenbar sind.
Wir zeigen die Existenz solcher Funktionen durch einenDiagonalisierungsbeweis.
Barbara Konig Berechenbarkeit und Komplexitat 125
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Primitiv rekursive und µ-rekursive Funktionen
Diagonalisierungsbeweis:
1. Schritt: Wir sehen Loop-Programme als Worter uber einemendlichen Alphabet Σ (bestehend aus den Zeichen :=, +, −,Loop, x0, x1, . . . ) an. Damit kann man sie der Lange nach undalphabetisch anordnen und erhalt eine Aufzahlung allerLoop-Programme.
2. Schritt: Die Funktion p, die einer naturlichen Zahl n das n-teLoop-Programm in dieser Aufzahlung zuordnet, ist berechenbar.Beispielsweise kann man nacheinander alle Worter aus Σ∗
aufzahlen, uberprufen, ob sie gultige Loop-Programme sind unddas n-te gultige Programm ausgeben.
Barbara Konig Berechenbarkeit und Komplexitat 126
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Primitiv rekursive und µ-rekursive Funktionen
3. Schritt: Wir definieren eine Funktion g : N0 → N0, derenFunktionswert bei Eingabe von n folgendermaßen bestimmt wird:
Das n-te Loop-Programm P = p(n) wird mit n als Eingabe,d.h., n in der Variablen x1, alle anderen Variablen mit 0belegt, gestartet.
Der bei Terminierung in der Variablen x0 befindliche Wertwird um eins inkrementiert und ist dann der Funktionswertg(n). Das heißt g(n) = P(n) + 1 (wobei P(n) der Wert in x0bei Terminierung ist).
Diese Funktion ist (Turing-)berechenbar und da jedesLoop-Programm terminiert, ist sie auch total.
Barbara Konig Berechenbarkeit und Komplexitat 127
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Primitiv rekursive und µ-rekursive Funktionen
4. Schritt: Wir zeigen nun, dass g nicht Loop-berechenbar seinkann. Angenommen, es gibt ein Loop-Programm Q, das gberechnet. Sei i der Index von Q in der Aufzahlung, d.h., Q = p(i).Es gilt aufgrund der Wahl von Q und der Definition von g :
Q(i) = g(i) = Q(i) + 1
Das ist jedoch ein Widerspruch!
Barbara Konig Berechenbarkeit und Komplexitat 128
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Primitiv rekursive und µ-rekursive Funktionen
Bemerkung:
Dieser Beweis funktioniert auch fur jedes andereBerechnungsmodell, das nur totale Funktionen berechnet unddessen syntaktisch korrekte Programme/Maschinen systematischaufgezahlt werden konnen. (Man sagt auch, dass die Menge derProgramme rekursiv aufzahlbar ist, dazu spater mehr).
D.h., es ist nicht moglich, ein sinnvolles Berechnungsmodell zudefinieren, das genau die totalen berechenbaren Funktionenbeschreibt.
Barbara Konig Berechenbarkeit und Komplexitat 129
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Primitiv rekursive und µ-rekursive Funktionen
Ein klassisches Beispiel fur eine totaleTuring-berechenbare/µ-rekursive Funktion, die jedoch nichtprimitiv rekursiv ist, ist die sogenannte Ackermannfunktion.
Ackermannfunktion a : N20 → N0
a(0, y) = y + 1
a(x , 0) = a(x − 1, 1), falls x > 0
a(x , y) = a(x − 1, a(x , y − 1)), falls x , y > 0
Diese Funktion ist Turing-berechenbar und man kann auchnachweisen, dass sie immer einen definierten Wert zuruckgibt(d.h., die Rekursion terminiert). Daher ist diese Funktion total.
Barbara Konig Berechenbarkeit und Komplexitat 130
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Primitiv rekursive und µ-rekursive Funktionen
Wertetabelle der Ackermannfunktion fur kleine Werte:
y = 0 1 2 3 4 . . . a(x , y)
x = 0 1 2 3 4 5 . . . y + 1x = 1 2 3 4 5 6 . . . y + 2x = 2 3 5 7 9 11 . . . 2y + 3x = 3 5 13 29 61 125 . . . 2y+3 − 3
x = 4 13 65533 > 1019727 22. .
.2︸ ︷︷ ︸y + 3 Zweier
−3
. . .
Barbara Konig Berechenbarkeit und Komplexitat 131
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Primitiv rekursive und µ-rekursive Funktionen
Ackermannfunktion (Satz)
Die Ackermannfunktion ist Turing-berechenbar, aber nicht primitivrekursiv bzw. nicht Loop-berechenbar.
(Ohne Beweis)
Intuition:
1 Die Ackermannfunktion ist intuitiv berechenbar und damitauch Turing-berechenbar.
2 Die Ackermannfunktion wachst starker als jede primitivrekursive Funktion.
Barbara Konig Berechenbarkeit und Komplexitat 132
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Unentscheidbarkeit
Worum geht es in diesem Abschnitt?
Zunachst einmal definieren wir formal den BegriffEntscheidbarkeit. Was bedeutet es uberhaupt, dass einProblem entscheidbar ist?
Dann kommen wir zum Begriff Semi-Entscheidbarkeit. Hierwird erlaubt, dass das Entscheidungsverfahren bei einernegativen Antwort nicht terminiert und keine Antwort liefert.
Anschließend geht es um negative Resultate: wie kann manzeigen, dass ein Problem nicht entscheidbar ist?
Barbara Konig Berechenbarkeit und Komplexitat 133
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Entscheidbarkeit
Entscheidbarkeit (Definition)
Eine Sprache A ⊆ Σ∗ heißt entscheidbar, falls die charakteristischeFunktion von A, namlich χA : Σ∗ → 0, 1 mit
χA(w) =
1 falls w ∈ A0 falls w 6∈ A
berechenbar ist.
Eine Sprache, die nicht entscheidbar ist, heißt unentscheidbar.
Barbara Konig Berechenbarkeit und Komplexitat 134
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Entscheidbarkeit
Intuitiv: eine Sprache A ist entscheidbar, wenn es eine MaschineMA gibt, die sich bei Eingabe von w ∈ Σ∗ folgendermaßen verhalt:
w MA
Ja (Ausgabe 1, falls w ∈ A)
Nein (Ausgabe 0, falls w 6∈ A)
Bei jeder Eingabe rechnet die Maschine endliche Zeit und gibtdann entweder “Ja” (falls w ∈ A) oder “Nein” (falls w 6∈ A) aus.
Barbara Konig Berechenbarkeit und Komplexitat 135
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Entscheidbarkeit
Bei Semi-Entscheidbarkeit erlaubt man, dass die charakteristischeFunktion im negativen Fall undefiniert ist. Bei konkretenBerechnungsmodellen entspricht das der Nicht-Terminierung.
Semi-Entscheidbarkeit (Definition)
Eine Sprache A ⊆ Σ∗ heißt semi-entscheidbar, falls die “halbe”charakteristische Funktion von A, namlich χ′A : Σ∗ → 0, 1 mit
χ′A(w) =
1 falls w ∈ Aundefiniert falls w 6∈ A
berechenbar ist.
Barbara Konig Berechenbarkeit und Komplexitat 136
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Entscheidbarkeit
Intuitiv: eine Sprache A ist semi-entscheidbar, wenn es eineMaschine MA gibt, die sich bei Eingabe von w ∈ Σ∗
folgendermaßen verhalt:
w MA
Ja (Ausgabe 1, falls w ∈ A)
??? (Nicht-Terminierung, falls w 6∈ A)
Bei jeder Eingabe rechnet die Maschine und gibt – falls w ∈ A gilt– nach endlicher Zeit “Ja” aus. Falls w 6∈ A gilt, so terminiert dieMaschine nie.
Das heißt, man kann sich nie sicher sein, ob nicht doch irgendwann“Ja” ausgegeben wird, da die Antwortzeit der Maschine nichtbeschrankt ist.
Barbara Konig Berechenbarkeit und Komplexitat 137
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Entscheidbarkeit
Semi-Entscheidbarkeit und Chomsky-0-Sprachen
Eine Sprache A ist semi-entscheidbar genau dann, wenn sie vomTyp-0 ist.
Beweisidee: Die Chomsky-0-Sprachen sind genau die Sprachen, dievon einer Turingmaschine akzeptiert werden.
Turingmaschinen, die eine “halbe” charakteristische Funktionberechnen, akzeptieren auch die entsprechende Sprache, da sienach Schreiben der 1 in einen Endzustand ubergehen.
Eine (deterministische) Turingmaschine, die eine Spracheakzeptiert, kann leicht in eine Turingmaschine umgewandeltwerden, die die “halbe” charakteristische Funktion berechnet,indem sie beim Ubergang in einen Endzustand das Band loschtund eine 1 schreibt.
Barbara Konig Berechenbarkeit und Komplexitat 138
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Entscheidbarkeit
Zur Erinnerung: die Chomsky-Hierarchie
Typ-2-Sprachenkontextfreie Sprachen
Typ-3-Sprachenregulare Sprachen
kontextsensitive SprachenTyp-1-Sprachen
semi-entscheidbare SprachenTyp-0-Sprachen
Menge aller Sprachen
Barbara Konig Berechenbarkeit und Komplexitat 139
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Entscheidbarkeit
Bemerkungen:
Im Zusammenhang mit Fragestellungen der Entscheidbarkeitwerden Sprachen oft auch als Probleme bezeichnet.
Auch wenn charakteristische Funktionen Worter alsArgumente haben, kann man sie leicht als Funktionen ubernaturlichen Zahlen auffassen und so mit While- bzw.Goto-Programmen berechnen. Jedes Wort aus Σ∗ kann alsZahl zur Basis b aufgefasst werden, wobei b > |Σ|.(Siehe auch die Umwandlung “Turingmaschinen →Goto-Programme”.)
Außerdem: Wir werden als Probleme im folgenden auchTeilmengen von N0 bzw. Nk
0 betrachten. Denn jede naturlicheZahl kann in Binarkodierung als Wort uber Σ = 0, 1betrachtet werden.
Barbara Konig Berechenbarkeit und Komplexitat 140
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Entscheidbarkeit
Typische Beispiele fur Probleme:
Beispiel 1: (Spezielle) Wortprobleme
Gegeben sei eine feste Chomsky-Grammatik G und das Problem seiA = L(G ). Wir wissen bereits, dass A entscheidbar ist, falls G eineChomsky-1-Grammatik ist. Außerdem gibt es Grammatiken, fur dieL(G ) nicht entscheidbar ist (noch ohne Beweis).
Beispiel 2: das allgemeine Wortproblem
Das allgemeine Wortproblem ist die Menge
A = (w ,G ) | w ∈ L(G ), G Chomsky-Grammatik uber
dem Alphabet Σ,w ∈ Σ∗,
wobei die Paare (w ,G ) geeignet als Zeichenketten kodiert werdenmussen.
Barbara Konig Berechenbarkeit und Komplexitat 141
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Entscheidbarkeit
Unentscheidbarkeit des allgemeinen Wortproblems (Satz)
Falls es eine Grammatik G gibt, fur die das (spezielle)Wortproblem L(G ) unentscheidbar ist, so ist auch das allgemeineWortproblem unentscheidbar.
Beweis: Sei G eine Grammatik, fur die das Wortproblem L(G )unentscheidbar ist. Falls das allgemeine Wortproblem Aentscheidbar ware, so ware auch L(G ) entscheidbar. Fur eingegebenes Wort w musste man dann nur uberprufen, ob(w ,G ) ∈ A gilt. Widerspruch!
Barbara Konig Berechenbarkeit und Komplexitat 142
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Entscheidbarkeit
Das heißt, aus einer Maschine zur Losung des allgemeinenWortproblems konnte man eine Maschine zur Losung eines(speziellen) Wortproblems bauen. Da es letztere aber nicht fur alleGrammatiken G gibt, kann es auch erstere nicht geben.
G
w
Nein
Ja
Maschine fur (spezielles) Wortproblem
Maschine furallgemeinesWortproblem
Argumentationen dieser Art (“wenn es ein Verfahren fur A gibt,dann kann man daraus ein Verfahren fur B konstruieren”)bezeichnet man als Reduktionen. Wir werden sie im folgendenhaufiger anwenden.
Barbara Konig Berechenbarkeit und Komplexitat 143
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Entscheidbarkeit
Beispiel 3: das Schnittproblem
Das Schnittproblem fur kontextfreie Grammatiken ist die Menge
A = (G1,G2) | G1,G2 kontextfreie Grammatiken
L(G1) ∩ L(G2) = ∅,
Das Schnittproblem ist unentscheidbar (noch ohne Beweis).
Barbara Konig Berechenbarkeit und Komplexitat 144
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Entscheidbarkeit
Entscheidbarkeit und Semi-Entscheidbarkeit (Satz)
Eine Sprache A ist entscheidbar, wenn sowohl A als auch A (dasKomplement von A) semi-entscheidbar sind.
Barbara Konig Berechenbarkeit und Komplexitat 145
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Entscheidbarkeit
Rekursive Aufzahlbarkeit (Definition)
Eine Sprache A ⊆ Σ∗ heißt rekursiv aufzahlbar, falls A = ∅ oder esgibt eine totale und berechenbare Funktion f : N0 → Σ∗ mit
A = f (n) | n ∈ N0 = f (0), f (1), f (2), . . . .
Bemerkungen:
Sprechweise: die Funktion f zahlt die Sprache A auf.Aquivalente Definition von rekursiver Aufzahlbarkeit: A = ∅oder es gibt eine totale, berechenbare und surjektive Funktionf : N0 → A.Abzahlbarkeit: der mathematische Begriff der Abzahlbarkeitist ganz ahnlich definiert. Nur fordert man dort nicht, dass fberechenbar ist. Deshalb: A rekursiv aufzahlbar ⇒ Aabzahlbar.
Barbara Konig Berechenbarkeit und Komplexitat 146
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Entscheidbarkeit
Rekursive Aufzahlbarkeit und Semi-Entscheidbarkeit (Satz)
Eine Sprache A ist rekursiv aufzahlbar, genau dann, wenn siesemi-entscheidbar ist.
Barbara Konig Berechenbarkeit und Komplexitat 147
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Entscheidbarkeit
Rekursive Aufzahlbarkeit → Semi-Entscheidbarkeit:
Gegeben: rekursiv aufzahlbare Sprache L ⊆ Σ∗, beschriebendurch eine Funktion f .
Zu zeigen: es gibt eine Turingmaschine, die bestimmt, ob einWort w ∈ Σ∗ in L liegt (und nicht terminiert, falls w nicht inL liegt).
Losung: Berechne f (0), f (1), f (2), . . . , solange bis w = f (i)fur ein i gilt. In diesem Fall gibt die Turingmaschine 1 aus,ansonsten terminiert sie nicht.
Barbara Konig Berechenbarkeit und Komplexitat 148
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Entscheidbarkeit
Semi-Entscheidbarkeit → Rekursive Aufzahlbarkeit:
Gegeben: semi-entscheidbare Sprache L ⊆ Σ∗, beschriebendurch eine Turingmaschine M, die die “halbe”charakteristische Funktion berechnet.
Zu zeigen: es gibt eine weitere Turingmaschine, die eineFunktion f berechnet, wie sie in der Definition der rekursivenAufzahlbarkeit beschrieben ist.
Barbara Konig Berechenbarkeit und Komplexitat 149
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Entscheidbarkeit
Losung: Berechnung des Funktionswertes f (i).
Verwende zwei Zahler, j und `, die zu Beginn beide auf 0gesetzt sind. Der Zahler ` wird sukzessive erhoht und furjeden Wert von ` wird folgendes durchgefuhrt:
Simuliere die Maschine M ` Schritte lang auf allen Worternder Lange kleiner gleich `.(Reihenfolge: zunachst Worter der Lange 0, dann Lange1, . . . , dann Lange `. Innerhalb von Wortern der gleichenLange wird die alphabetische Ordnung gewahlt.)
Fur jedes Wort, bei dem der Wert 1 ausgegeben wird, wird derZahler j um eins erhoht. Sobald i = j gilt, wird das nachsteakzeptierte Wort als Funktionswert f (i) zuruckgegeben.
Barbara Konig Berechenbarkeit und Komplexitat 150
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Entscheidbarkeit
Begrundung:
Sei w ein Wort der Sprache L. Wir nehmen an, dass w dieLange n hat (|w | = n) und von M innerhalb von k Schrittenakzeptiert wird.
Dann wird w akzeptiert, wenn der Zahler ` irgendwannmaxn, k erreicht. Daher gibt es einen Index i , bei dem wzuruckgegeben wird.
Bemerkung: es kann passieren, dass bestimmte Worter mehrfachausgegeben werden. Das ist nach Definition der rekursivenAufzahlbarkeit erlaubt.
Barbara Konig Berechenbarkeit und Komplexitat 151
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Entscheidbarkeit
Daraus ergibt sich, dass folgende Aussagen fur eine Sprache Aaquivalent sind.
Semi-Entscheidbarkeit und aquivalente Begriffe
A ist semi-entscheidbar.
A ist rekursiv aufzahlbar
A ist vom Typ-0.
A = T (M) fur eine Turing-Maschine M.
χ′A ist (Turing, While-, Goto-)berechenbar.
Barbara Konig Berechenbarkeit und Komplexitat 152
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Halteproblem/Kodierung von Turingmaschinen
Unser Ziel ist es nun zu zeigen, dass das sogenannte Halteproblemunentscheidbar ist.
Halteproblem (informell)
Eingabe: (deterministische) Turing-Maschine M mitEingabe w .
Ausgabe: Halt M auf w?
Dazu werden wir jedoch zunachst genauer definieren, wie eineTuring-Maschine kodiert werden kann, um als Eingabe einerberechenbaren (charakteristischen) Funktion verwendet zu werden.
Barbara Konig Berechenbarkeit und Komplexitat 153
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Halteproblem/Kodierung von Turingmaschinen
Ziel: Kodierung von (deterministischen) Turing-Maschinen uberdem Alphabet 0, 1.Annahme: alle Elemente von Γ (Bandalphabet) bzw. Z(Zustandsmenge) sind durchnummeriert
Γ = a1, . . . , ak Z = z1, . . . , zn
Die wichtigste Teil einer Turingmaschine ist dieUberfuhrungsfunktion. Diese kann folgendermaßen kodiert werden:Jeder δ-Regel der Form δ(zi , aj) = (zi ′ , aj ′ , y) ordnen wir das Wortw ∈ 0, 1,#∗ zu, wobei
w = ##bin(i)#bin(j)#bin(i ′)#bin(j ′)#bin(cod(y)).
Dabei ist cod(y) =
0 falls y = L1 falls y = R2 falls y = N
Barbara Konig Berechenbarkeit und Komplexitat 154
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Halteproblem/Kodierung von Turingmaschinen
Die Konkatenation aller zu δ gehorenden Worter (zusammen mitder Kodierung der restlichen Komponenten) ergibt eine Kodierungder Turingmaschine uber dem Alphabet 0, 1,#.
Umwandlung in Kodierung uber dem Alphabet 0, 1 durchfolgende Ersetzungen:
0 7→ 00
1 7→ 01
# 7→ 11
Bemerkungen: Viele der Festlegungen bei dieser Kodierung sindhochgradig willkurlich. Es gibt viele andere Moglichkeiten,Turing-Maschinen zu kodieren. Wichtig ist hier nur, dass es einemogliche Kodierung gibt.
Barbara Konig Berechenbarkeit und Komplexitat 155
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Halteproblem/Kodierung von Turingmaschinen
Dekodierung: Sei w ∈ 0, 1∗ und M eine beliebige aber festeTuringmaschine. Mit Mw bzeichnen wir die Turingmaschine, diedie Kodierung w hat.Falls w nicht die Kodierung einer Turingmaschine ist, so setzen wirMw = M. (Das ist erforderlich, damit die Dekodierungsfunktiontotal ist.)
Barbara Konig Berechenbarkeit und Komplexitat 156
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Halteproblem/Kodierung von Turingmaschinen
Damit konnen wir nun zwei verschiedene Varianten desHalteproblems definieren.
Halteproblem
Das (allgemeine) Halteproblem ist die Sprache
H = w#x | Mw angesetzt auf x halt.
Spezielles Halteproblem
Das spezielle Halteproblem ist die Sprache
K = w | Mw angesetzt auf w halt.
Man beachte die Selbstbezuglichkeit! Hier wird eineTuringmaschine auf ihre eigene Kodierung angesetzt.
Barbara Konig Berechenbarkeit und Komplexitat 157
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Unentscheidbarkeit des Halteproblems
Unentscheidbarkeit des Halteproblems (Satz)
Das spezielle Halteproblem K ist nicht entscheidbar.
Barbara Konig Berechenbarkeit und Komplexitat 158
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Unentscheidbarkeit des Halteproblems
(Zum Widerspruch fuhrende) Konstruktion der Turingmaschine M ′:
TM M ,die spez. Halte-problem lost
Ja (Ausgabe 1)Nein (Ausgabe 0)
M ′
w
Ja (Ausgabe 1)
(M ′ halt)
Endlosschleife (M ′ halt nicht)
Die Maschine M ′ erhalt als Eingabe ihre eigene Kodierung w ′.
M ′ halt auf w ′ ⇒ M gibt bei Eingabe w ′ “Nein” aus ⇒ M ′ haltnicht auf w ′
M ′ halt nicht auf w ′ ⇒ M gibt bei Eingabe w ′ “Ja” aus ⇒ M ′
halt auf w ′ (Widerspruch!)Barbara Konig Berechenbarkeit und Komplexitat 159
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Unentscheidbarkeit des Halteproblems
Es handelt sich hierbei um einen Diagonalisierungsbeweis. Diesenwerden wir im folgenden veranschaulichen.
Sei w0,w1,w2, . . . eine Aufzahlung aller Worter aus 0, 1∗,beispielsweise w0 = ε, w1 = 0, w2 = 1, w3 = 00, . . .
Wir tragen in eine Tabelle folgendes ein: “Wie verhalt sich Mwi aufwj?” Es gibt zwei Moglichkeiten: H (Mwi halt) oder HN (Mwi haltnicht).
Barbara Konig Berechenbarkeit und Komplexitat 160
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Unentscheidbarkeit des Halteproblems
...
...... ...
...
... ...
...
...
...
...
...
Mw0
Mw1
w0 w1 w2
wM
?M ′ = Mw ′
w ′
H
H
HN
HN HN H
Mw2
Barbara Konig Berechenbarkeit und Komplexitat 161
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Unentscheidbarkeit des Halteproblems
Die konstruierte Turingmaschine M ′ und ein w ′ mit M ′ = Mw ′ sindin die Tabelle eingetragen.
Aufgrund der Konstruktion von M ′: die Felder in der Diagonalenbedingen die Felder in der Zeile von M ′.
Problem: nichts passt an die Stelle des Fragezeichens! es kann keine Turingmaschine geben, die das Halteproblem lost.
Barbara Konig Berechenbarkeit und Komplexitat 162
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Unentscheidbarkeit des Halteproblems
Semi-Entscheidbarkeit des speziellen Halteproblems (Satz)
Das spezielle Halteproblem K ist semi-entscheidbar.
Beweis: Berechne die “halbe” charakteristische Funktionχ′K : Σ∗ → 0, 1 wie folgt
Bei Eingabe von w simuliere die Turingmaschine Mw mitEingabe w .
Falls Mw angesetzt auf w halt, so losche das Band undschreibe 1.
Ansonsten halt Mw nicht und die Funktion χ′K ist an dieserStelle undefiniert.
Barbara Konig Berechenbarkeit und Komplexitat 163
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Unentscheidbarkeit
Ein Comic zu unentscheidbaren Probleme (aus Garey/Johnson:“Computers and Intractability”):
Nicht so gut . . .
“I can’t find an efficient algorithm. I guess I’m just too dumb.”
Barbara Konig Berechenbarkeit und Komplexitat 164
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Unentscheidbarkeit
Besser . . .
“I can’t find an efficient algorithm, because no such algorithm ispossible.”
Barbara Konig Berechenbarkeit und Komplexitat 165
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Reduktionen
Wir haben nun die Unentscheidbarkeit eines Problems, desspeziellen Halteproblems, nachgewiesen. Daraus sollen weitereUnentscheidbarkeitsresultate gewonnen werden.
Dies erfolgt mit Argumentationen folgender Art:
1 Wenn man Problem B losen konnte, dann konnte man auch Alosen. (Reduktionsschritt)
2 Daraus folgt, dass B mindestens so schwierig bzw. mindestensso allgemein ist wie A. (A ≤ B)
3 Wir wissen jedoch bereits, dass A unentscheidbar ist.
4 Also muss das mindestens so schwierige Problem B auchunentscheidbar sein.
Barbara Konig Berechenbarkeit und Komplexitat 166
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Reduktionen
Reduktion/Reduzierbarkeit (Definition)
Gegeben seien Sprachen A ⊆ Σ∗, B ⊆ Γ∗. Dann heißt A auf Breduzierbar (in Zeichen A ≤ B), falls es eine totale undberechenbare Funktion f : Σ∗ → Γ∗ gibt, so dass fur alle x ∈ Σ∗
gilt:x ∈ A ⇐⇒ f (x) ∈ B.
Barbara Konig Berechenbarkeit und Komplexitat 167
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Reduktionen
Anschaulich: A ≤ B, falls man aus einer (hypothetischen)Maschine MB fur B und einer berechenbaren Funktion f eineMaschine MA fur A bauen kann. Das heißt, MB wird nach einerVorverarbeitung der Eingabe durch f als Unterprozedur aufgerufen.
Nein
Ja
MA
w f MBf (w)
Barbara Konig Berechenbarkeit und Komplexitat 168
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Reduktionen
Alternative Definition mit Hilfe der charakteristischen Funktionen:
Fur A ⊆ Σ∗, B ⊆ Γ∗ giltA ≤ B,
falls es eine totale und berechenbare Funktion f : Σ∗ → Γ∗ gibt mit
χA(x) = χB(f (x))
fur alle x ∈ Σ∗.
Barbara Konig Berechenbarkeit und Komplexitat 169
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Reduktionen
Reduktionen und Entscheidbarkeit
Es sei A ≤ B.
Falls B entscheidbar ist, dann ist auch A entscheidbar.
Falls A unentscheidbar ist, dann ist auch B unentscheidbar.
Barbara Konig Berechenbarkeit und Komplexitat 170
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Reduktionen
Kochrezept um die Unentscheidbarkeit eines Problems B zu zeigen
Finde ein geeignetes Problem A, von dem bekannt ist, dass esunentscheidbar ist.
(Bisher kennen wir nur das spezielle Halteproblem K , wirwerden allerdings bald weitere geeignete Problemekennenlernen.)
Finde eine geeignete berechenbare Funktion f , mit Hilfe dererA auf B reduziert werden kann und beweise, dass sie korrektist.
Dann folgt daraus unmittelbar, dass B unentscheidbar ist.
Barbara Konig Berechenbarkeit und Komplexitat 171
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Unentscheidbarkeit des Halteproblems
Unentscheidbarkeit des Halteproblems (Satz)
Das (allgemeine) Halteproblem H ist nicht entscheidbar.
Barbara Konig Berechenbarkeit und Komplexitat 172
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Unentscheidbarkeit des Halteproblems
Halteproblem auf leerem Band (Definition)
Das Halteproblem auf leerem Band ist die Sprache
H0 = w | Mw halt angesetzt auf ein leeres Band.
Unentscheidbarkeit des Halteproblems auf leerem Band (Satz)
Das Halteproblem auf leerem Band H0 ist nicht entscheidbar.
Barbara Konig Berechenbarkeit und Komplexitat 173
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Satz von Rice
Das nachste Resultat zeigt, dass es unentscheidbar ist, ob dieFunktion, die von einer Turingmaschine M berechnet wird, einebestimmte Eigenschaft S hat.
Das bedeutet, es gibt keine Methode, mit der man fur alleTuringmaschinen verlaßliche Aussagen uber die von ihnenberechneten Funktionen machen kann.
Barbara Konig Berechenbarkeit und Komplexitat 174
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Satz von Rice
Satz von Rice
Sei R die Klasse aller Turing-berechenbaren Funktionen und sei Seine beliebige Teilmenge hiervon (mit Ausnahme von S = ∅ undS = R).Dann ist die Sprache
C (S) = w | die von Mw berechnete Funktion liegt in S
unentscheidbar.
Barbara Konig Berechenbarkeit und Komplexitat 175
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Satz von Rice
Konsequenzen aus dem Satz von Rice: folgende Probleme sindunentscheidbar
Konstante Funktion: w | Mw berechnet eine konstante FunktionIdentitat: w | Mw berechnet die Identitatsfunktion
Totale Funktion: w | Mw berechnet eine totale FunktionUberall undefinierte Funktion: w | Mw berechnet Ω
Dieses Unentscheidbarkeitsresultat bezieht sich jedoch nur auf dieEigenschaften der von einer Turingmaschine berechneten Funktion,nicht jedoch auf andere Eigenschaften einer Turingmaschine (wiebeispielsweise die Anzahl ihrer Zustande oder das Bandalphabet).
Barbara Konig Berechenbarkeit und Komplexitat 176
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Satz von Rice
Der Satz von Rice und seine Varianten gelten naturlich auch furandere Berechnungsmodelle.
Halteproblem fur Goto-/While-Programme (Satz)
Fur ein gegebenes Goto-/While-Programm und Anfangswertefur die Variablen ist es nicht entscheidbar, ob das Programm aufdieser Eingabe halt.
Beweisidee: Das Halteproblem fur Turingmaschinen ist auf diesesProblem reduzierbar. Dazu muss nur die Turingmaschine in dasentsprechende Goto-/While-Programm und die Eingabe derMaschine in die entsprechenden Variablenbelegungen ubersetztwerden.
(Transformation “Turingmaschine → Goto-Programm” alsFunktion f .)
Barbara Konig Berechenbarkeit und Komplexitat 177
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Satz von Rice
Es ist bereits folgendes Problem unentscheidbar:
Halteproblem fur Goto-Programme mit zwei Variablen (Satz)
Fur ein gegebenes Goto-Programm mit zwei Variablen, die beidemit 0 vorbelegt sind, ist es nicht entscheidbar, ob das Programmhalt.
(Ohne Beweis)
Fur Goto-Programme mit nur einer Variablen ist dasHalteproblem ubrigens entscheidbar, denn eine Variable kann durcheinen Kellerautomaten simuliert werden.
Barbara Konig Berechenbarkeit und Komplexitat 178
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Satz von Rice
Konsequenz des Satzes von Rice auf die Verifikation vonProgrammen: Kein Programm kann automatisch die Korrektheitvon Software uberprufen.Die Lage ist jedoch keineswegs hoffnungslos und es gibtverschiedene Moglichkeiten:
Testen
Mich interessiert nicht die vollstandige Korrektheit von Software,mir reicht es aus, zu wissen, dass das Programm mit einer (relativ)hohen Wahrscheinlichkeit fehlerfrei ist.
Testen: Finden/Erzeugen von Testfallen und Uberprufung deskorrekten Verhaltens des Programms auf diesen Testfallen.
Barbara Konig Berechenbarkeit und Komplexitat 179
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Satz von Rice
Analyse durch Approximation
Ich will ein automatisches Verfahren, das Antworten der Form “ja”,“nein” und “ich weiss nicht” liefert, so dass man sich auf“ja/nein”-Antworten immer verlassen kann.
Analyse durch Approximation: Softwaresystem wird durch eineinfacheres (i.A. endliches) System uberapproximiert, dann wirdversucht, die Eigenschaft fur dieses einfachere System zu beweisen.
Die Kunst dabei ist, das Analyse-Werkzeug so zu erstellen, dass dieAntwort “ich weiss nicht” relativ selten ist. (Schwer!)
Barbara Konig Berechenbarkeit und Komplexitat 180
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Satz von Rice
(Vollstandige) Verifikation
Ich habe ein hoch sicherheitskritisches Systems und will eineJa/Nein-Anwort, um Sicherheit uber die Korrektheit meinerSoftware zu erhalten.
Verifikation mit Unterstutzung des Benutzers: mit Hilfe einesWerkzeugs (z.B. Theorembeweiser) wird ein Beweis uber dieKorrektheit des Systems erstellt. (Aufwandig!)
Barbara Konig Berechenbarkeit und Komplexitat 181
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Universelle Turingmaschine
Einige der Ergebnisse, die in diesem Abschnitt vorkommen,beruhen darauf, dass es eine Turingmaschine gibt, die eine andereTuringmaschine simulieren kann, wenn deren Kodierung gegebenist. So eine Turingmaschine heißt auch universelle Turingmaschine(eine Art Turingmaschinen-Interpreter).
Universelle Turingmaschine
Eine Turingmaschine U heißt universelle Turingmaschine, wenn siesich bei Eingabe von w#x wie die Maschine Mw angesetzt auf dieEingabe x verhalt.
Barbara Konig Berechenbarkeit und Komplexitat 182
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Nicht-berechenbare Funktionen
Ahnlich zur Unentscheidbarkeit von Problemen kann auch gezeigtwerden, dass bestimmte Funktionen nicht berechenbar sind. EinBeispiel dafur ist die sogenannte Busy-Beaver-Funktion.
Busy Beaver
Wir betrachten alle deterministischen Turing-Maschinen mit demzweielementigen Bandalphabet Γ = 1, und n Zustanden, wobeider Endzustand nicht mitgezahlt wird. Von diesen Maschinenhalten einige auf dem leeren Band, andere terminieren nicht.Der Wert der Busy-Beaver-Funktion Σ an der Stelle n ist diemaximale Anzahl an Einsen, die von einer Maschine mit nZustanden geschrieben werden kann, die auf dem leeren Bandterminiert.
Barbara Konig Berechenbarkeit und Komplexitat 183
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Nicht-berechenbare Funktionen
Von der Busy-Beaver-Funktion Σ: N0 → N0 ist folgendes bekannt:
Sie ist nicht berechenbar.
Uber die Funktionswerte weiß man folgendes:
n Σ(n)
1 12 43 64 135 ≥ 40986 ≥ 3, 5 · 1018267
Bereits der Funktionswert an der Stelle n = 5 ist bisher nochnicht genau ermittelt worden.
Barbara Konig Berechenbarkeit und Komplexitat 184
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Unentscheidbare Probleme
Wir verwenden nun die Reduktions-Beweistechnik und zeigen dieUnentscheidbarkeit folgender Probleme:
Unentscheidbarkeit des Adventure-Problems (Level 4)
Es ist unentscheidbar, ob ein gegebenes Adventure desLevels 4 eine Losung besitzt.
Postsches Korrespondenzproblem PCP
PCP: ein kombinatorisches Problem auf Wortern, wichtiges(Hilfs-)Problem, um damit die Unentscheidbarkeit andererProbleme zu zeigen
Schnittproblem fur kontextfreie Grammatiken
Barbara Konig Berechenbarkeit und Komplexitat 185
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Adventure-Problem (Level 4)
Adventures bestehen aus Graphen bzw. Automaten, die mitfolgenden Symbolen markiert sind:
Drache:
Schwert:
Fluss:
Torbogen:
Tur:
Schlussel:
Schatz:
Barbara Konig Berechenbarkeit und Komplexitat 186
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
42
3
1
5 6
9
8
7
11
10
12
13
14 15 16
Barbara Konig Berechenbarkeit und Komplexitat 187
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Adventure-Problem (Level 4)
Regeln:
Die Schatz-Regel
Man muss mindestens zwei Schatze finden.
Tur-Regel
Die Schlussel sind magisch und verschwinden sofort, nachdem eineTur mit ihnen geoffnet wurde. Sobald man eine Tur durchschrittenhat, schließt sie sich sofort wieder.
Barbara Konig Berechenbarkeit und Komplexitat 188
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Adventure-Problem (Level 4)
Drachen-Regel
Unmittelbar nach der Begegnung mit einem Drachen muss man ineinen Fluss springen, da uns der Drache in Brand stecken wird.Dies gilt nicht mehr, sobald man ein Schwert besitzt, mit dem manden Drachen vorher toten kann.
Schwerter werden jedoch durch das Drachenblut unbenutzbar,sobald man einen Drachen damit getotet hat. Außerdem werdenDrachen sofort wieder “ersetzt”.
Barbara Konig Berechenbarkeit und Komplexitat 189
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Adventure-Problem (Level 4)
Schlussel-Regel
Der magische Torbogen kann nur passiert werden, wenn mankeinen Schlussel besitzt.
Schwert-Regel
Ein Fluss kann nur passiert werden, wenn man kein Schwert besitzt(weil man sonst ertrinkt!).
Barbara Konig Berechenbarkeit und Komplexitat 190
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Adventure-Problem (Level 4)
Gegeben ist ein Adventure durch eine Karte bzw. einen endlichenAutomaten M. Das Adventure-Problem (Level 4) lautetfolgendermaßen:
A4 = M | es gibt einen Pfad von einem Anfangs- zu einem
Endzustand von M, der alle Regeln erfullt.
Dabei sollen die Automaten M in entsprechender Kodierung alsEingabe zur Verfugung gestellt werden.
Barbara Konig Berechenbarkeit und Komplexitat 191
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
42
3
1
5 6
9
8
7
11
10
12
13
14 15 16
Barbara Konig Berechenbarkeit und Komplexitat 192
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Adventure-Problem (Level 4)
Wir zeigen die Unentscheidbarkeit von A4 durch Reduktion vomHalteproblem fur Goto-Programme (mit zwei Variablen x1, x2 undinitialer Variablenbelegung 0) auf A4.
Annahmen:
Um die Kodierung graphisch darstellen zu konnen,reprasentieren wir Goto-Programme durch Flussdiagramme,bei denen die Sprungmarken durch Pfeile ersetzt werden.
Wir betrachten nur Zuweisungen der Form xi := xi + 1 bzw.xi := xi − 1 und Vergleiche mit 0 (alle anderen Zuweisungenbzw. Vergleiche konnen simuliert werden)
Barbara Konig Berechenbarkeit und Komplexitat 193
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Adventure-Problem (Level 4)
Intuition:
Tur- und Schlussel-Regel: wird zur Simulation einer Variablex1 benutzt (mit Inkrementierung und Nulltest).
Drachen- und Schwert-Regel: wird zur Simulation einerVariable x2 benutzt
Barbara Konig Berechenbarkeit und Komplexitat 194
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Adventure-Problem (Level 4)
Ubersetzung: Goto-Programm → Adventure
x1 := x1 + 1
x1 := x1 − 1
Barbara Konig Berechenbarkeit und Komplexitat 195
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Adventure-Problem (Level 4)
Ubersetzung: Goto-Programm → Adventure
x1 = 0yes no
If . . .Then. . .
Barbara Konig Berechenbarkeit und Komplexitat 195
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Adventure-Problem (Level 4)
Ubersetzung: Goto-Programm → Adventure
x2 := x2 − 1
x2 := x2 + 1
Barbara Konig Berechenbarkeit und Komplexitat 195
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Adventure-Problem (Level 4)
Ubersetzung: Goto-Programm → Adventure
x2 = 0yes no
If . . .Then. . .
Barbara Konig Berechenbarkeit und Komplexitat 195
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Adventure-Problem (Level 4)
Ubersetzung: Goto-Programm → Adventure
Halt
Mit “Schatz” beschriftete Transitionen konnen auch zum Zusam-menfugen der einzelnen Teilautomaten verwendet werden.
Barbara Konig Berechenbarkeit und Komplexitat 195
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Adventure-Problem (Level 4)
Beispiel:Ubersetze das folgende Goto-Programm in ein Adventure durchZusammensetzen der einzelnen Teil-Automaten:
x1 := x1 + 1; x1 := x1 + 1;M1 : If x1 = 0 Then Goto M2;
x1 := x1 − 1; x2 := x2 + 1;Goto M1;
M2 : Halt
M1
M2
Barbara Konig Berechenbarkeit und Komplexitat 196
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Adventure-Problem (Level 4)
Goto-Programm → Adventure
Ein Goto-Programm (bei dem alle Variablen am Anfang mit 0belegt werden) halt genau dann, wenn das entsprechend ubersetzteAdventure eine Losung hat.
Wir konnen diese Kodierung daher als Reduktionsfunktion fauffassen und es folgt:
Unentscheidbarkeit des Adventure-Problems (Level 4)
Das Adventure-Problem A4 ist unentscheidbar.
Barbara Konig Berechenbarkeit und Komplexitat 197
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Adventure-Problem (Level 4)
Tag der offenen Tur an der TU Munchen . . .
Barbara Konig Berechenbarkeit und Komplexitat 198
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Adventure-Problem (Level 4)
Barbara Konig Berechenbarkeit und Komplexitat 198
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Postsches Korrespondenzproblem
Wir betrachten nun ein wichtiges unentscheidbares Problem, dasdazu benutzt wird, die Unentscheidbarkeit vieler anderer Problemezu zeigen:
Postsches Korrespondenzproblem (PCP)
Eingabe: Eine endliche Folge von Wortpaaren(x1, y1), . . . , (xk , yk) mit xi , yi ∈ Σ+.
(Dabei ist Σ ein beliebiges Alphabet.)
Ausgabe: Gibt es eine Folge von Indizesi1, . . . , in ∈ 1, . . . , k, n ≥ 1 mit xi1 . . . xin = yi1 . . . yin?
Barbara Konig Berechenbarkeit und Komplexitat 199
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Postsches Korrespondenzproblem
Beispiel 1: Lose das Postsche Korrespondenzproblem fur
x1 = 0 x2 = 1 x3 = 0101y1 = 010 y2 = 101 y3 = 01
Eine mogliche Losung: 3, 3, 1, 2:
01 01 | 010 1 | 0 | 1
01 | 01 | 010 | 1 0 1
Eine weitere (kurzere) Losung ist: 3, 1
Barbara Konig Berechenbarkeit und Komplexitat 200
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Postsches Korrespondenzproblem
Beispiel 2: Lose das Postsche Korrespondenzproblem fur
x1 = 001 x2 = 01 x3 = 01 x4 = 10y1 = 0 y2 = 011 y3 = 101 y4 = 001
Eine kurzeste Losung besteht bereits aus 66 Indizes:2, 4, 3, 4, 4, 2, 1, 2, 4, 3, 4, 3, 4, 4, 3, 4, 4, 2, 1, 4, 4, 2, 1, 3, 4, 1, 1, 3,4, 4, 4, 2, 1, 2, 1, 1, 1, 3, 4, 3, 4, 1, 2, 1, 4, 4, 2, 1, 4, 1, 1, 3, 4, 1, 1, 3,1, 1, 3, 1, 2, 1, 4, 1, 1, 3.
An der Komplexitat dieser Losung kann man bereits dieSchwierigkeit des Problems ablesen.
Barbara Konig Berechenbarkeit und Komplexitat 201
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Postsches Korrespondenzproblem
Semi-Entscheidbarkeit des PCP (Satz)
Das Postsche Korrespondenzproblem ist semi-entscheidbar.
Beweisidee:Probiere erst alle Indexfolgen der Lange 1 aus, dann alleIndexfolgen der Lange 2, . . .
Falls irgendwann eine passende Indexfolge gefunden wird, so gib 1aus.
Barbara Konig Berechenbarkeit und Komplexitat 202
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Postsches Korrespondenzproblem
Der erste Schritt des Unentscheidbarkeitsbeweises ist es, dasfolgende modifizierte Problem zu betrachten.
Modifiziertes PCP (MPCP)
Eingabe: wie beim PCP.
Ausgabe: Gibt es eine Losung i1, . . . , in des PCP mit i1 = 1?
Wenn wir Beispiel 1 als MPCP betrachten, so gibt es eine Losung1, 2, 3, 3.
Barbara Konig Berechenbarkeit und Komplexitat 203
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Postsches Korrespondenzproblem
Wir beweisen nun zwei Reduktions-Lemmata, aus denen dieUnentscheidbarkeit des Postschen Korrespondenzproblems folgt:
MPCP auf PCP reduzierbar (Lemma)
MPCP ≤ PCP
Barbara Konig Berechenbarkeit und Komplexitat 204
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Postsches Korrespondenzproblem
Halteproblem auf MPCP reduzierbar (Lemma)
H ≤ MPCP
Barbara Konig Berechenbarkeit und Komplexitat 205
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Postsches Korrespondenzproblem (Lemma)
PCP unentscheidbar
Das Postsche Korrespondenzproblem ist unentscheidbar.
Beweis: Die Behauptung folgt direkt aus den beiden vorherigenLemmata. Aus
H ≤ MPCP ≤ PCP
folgt H ≤ PCP (durch Komposition der Reduktionsabbildungen).
Und da außerdem bekannt ist, dass H (das allgemeineHalteproblem) nicht entscheidbar ist, folgt daraus, dass das PCPnicht entscheidbar ist.
Barbara Konig Berechenbarkeit und Komplexitat 206
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Postsches Korrespondenzproblem
Bemerkungen:
Das Postsche Korrespondenzproblem ist bereitsunentscheidbar, wenn man sich auf das Alphabet Σ = 0, 1einschrankt.
Fur unares (einelementiges) Alphabet ist das PCP jedochentscheidbar. Hier entspricht die Konkatenation von Worternder Addition von Zahlen.
Wir werden nun das PCP dazu nutzen, um dieUnentscheidbarkeit des Schnittproblems fur kontextfreieGrammatiken zu zeigen.
Barbara Konig Berechenbarkeit und Komplexitat 207
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Schnittproblem fur kontextfreie Grammatiken
Zuletzt betrachten wir noch das Schnittproblem fur kontextfreieGrammatiken
Schnittproblem fur kontextfreie Grammatiken
Eingabe: zwei kontextfreie Grammatiken G1, G2.
Ausgabe: Gilt L(G1) ∩ L(G2) = ∅? (D.h., es gibt kein Wort,das sowohl von G1 als auch von G2 erzeugt wird.)
Barbara Konig Berechenbarkeit und Komplexitat 208
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Schnittproblem fur kontextfreie Grammatiken
PCP auf Schnittproblem reduzierbar (Lemma)
Das Postsche Korrespondenzproblem ist auf das Komplement desSchnittproblems fur kontextfreie Grammatiken reduzierbar.
Barbara Konig Berechenbarkeit und Komplexitat 209
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Schnittproblem fur kontextfreie Grammatiken
Beweis (alternativ zum Beweis im Buch von Schoning):
Gegeben sei ein Postsches Korrespondenzproblem
K = ((x1, y1), . . . , (xk , yk))
uber dem Alphabet 0, 1.Betrachte zunachst folgende Grammatik G1:
S → xiSyRi | xi$yRi i = 1, . . . , k
Dabei steht yRi fur yi ruckwarts.
L(G1) = xi1 . . . xin$yRin . . . yRi1 | i1, . . . , in ∈ 1, . . . , k
Betrachte jetzt folgende Grammatik G2:
S → 0S0 | 1S1 | $
L(G2) = w$wR | w ∈ 0, 1∗Barbara Konig Berechenbarkeit und Komplexitat 210
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Schnittproblem fur kontextfreie Grammatiken
Zusammen:
L(G1) ∩ L(G2) = xi1 . . . xin$yRin . . . yRi1 |
i1, . . . , in ∈ 1, . . . , k,xi1 . . . xin = yi1 . . . yin
Das heißt, der Schnitt der Sprachen ist nicht-leer, genau dann,wenn das PCP eine Losung hat.
Barbara Konig Berechenbarkeit und Komplexitat 211
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Schnittproblem fur kontextfreie Grammatiken
Schnittproblem unentscheidbar
Das Schnittproblem fur kontextfreie Grammatiken istunentscheidbar.
Barbara Konig Berechenbarkeit und Komplexitat 212
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Schnittproblem fur kontextfreie Grammatiken
Bemerkungen:
Das Komplement des Schnittproblems ist semi-entscheidbar:man leitet mit beiden Grammatiken parallel Worter ab undbricht ab, sobald ein Wort von beiden Grammatiken abgeleitetwurde.
Daraus folgt auch, dass das Schnittproblem selbst nichtsemi-entscheidbar sein kann. Ansonsten ware es namlichentscheidbar.
Außer dem Schnittproblem sind noch einige andere verwandteProbleme fur kontextfreie Sprachen unentscheidbar: Inklusion,Gleichheit, Mehrdeutigkeit, Regularitat, . . . (siehe Schoning).
Barbara Konig Berechenbarkeit und Komplexitat 213
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Spezielles Wortproblem
Wir haben nun von mehreren semi-entscheidbaren Problemen(Halteproblem, PCP, etc.) gezeigt, dass sie unentscheidbar sind.
Damit haben wir Typ-0-Sprachen identifiziert, deren Wortproblemunentscheidbar ist. (Unentscheidbarkeit des speziellenWortproblems.)
Es gibt naturlich auch Typ-0-Sprachen mit einem entscheidbarenWortproblem. Beispielsweise, wenn es sich um Typ-1-, Typ-2- oderTyp-3-Sprachen handelt.
Barbara Konig Berechenbarkeit und Komplexitat 214
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Typ-1-Sprachen und Entscheidbarkeit
Typ-1-Sprachen und Entscheidbarkeit
Jede Typ-1-Sprache ist entscheidbar.
(Aufgrund der Bedingung |linke Seite| ≤ |rechte Seite| kannman die Worter, die von der Grammatik erzeugt werden, inaufsteigender Lange aufzahlen. Stopp, sobald die Worterlanger als das gesuchte werden.)
Es gibt entscheidbare Sprachen, die nicht vom Typ 1 sind.
Barbara Konig Berechenbarkeit und Komplexitat 215
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Typ-1-Sprachen und Entscheidbarkeit
Konstruktion einer entscheidbaren Sprache, die nicht vom Typ 1 ist(mittels Diagonalisierung):
Betrachte ein Alphabet Σ, in dem sich Grammatiken kodierenlassen. Sei c ∈ Σ∗ eine Kodierung, dann bezeichnen wir diedazugehorige Grammatik mit Gc .
Sei E die Menge der Kodierungen c von Grammatiken, diefolgende Eigenschaften erfullen:
Gc erzeugt Worter uber dem Alphabet ΣGc ist vom Typ 1 (kontextsensitiv)c 6∈ L(Gc)
Die Sprache E ist entscheidbar. Die letzte Bedingung istuberprufbar, da das Wortproblem fur Typ-1-Sprachenentscheidbar ist.
Barbara Konig Berechenbarkeit und Komplexitat 216
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Typ-1-Sprachen und Entscheidbarkeit
Angenommen, E ist vom Typ 1. Dann gibt es eineTyp-1-Grammatik G ′ mit L(G ′) = E .
Die Frage ist jetzt, ob eine Kodierung c ′ von G ′ in E liegt. Dadie ersten beiden Bedingungen auf jeden Fall erfullt sind,hangt dies nur noch von der letzten Bedingung ab.
c ′ ∈ E ⇐⇒ c ′ 6∈ L(Gc ′) ⇐⇒ c ′ 6∈ L(G ′) ⇐⇒ c ′ 6∈ E .
Die letzte Aquivalenz gilt wegen L(G ′) = E .
Damit ergibt sich ein Widerspruch und E kann nicht vomTyp 1 sein.
Barbara Konig Berechenbarkeit und Komplexitat 217
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Typ-1-Sprachen und Entscheidbarkeit
Bemerkungen:
Bei diesem Resultat gibt es eine Analogie zu der Tatsache,dass es totale und berechenbare Funktionen gibt, die nichtLoop-berechenbar sind.
Jeder andere Versuch, syntaktisch eine Klasse vonGrammatiken zu definieren, die genau die entscheidbarenSprachen erzeugen, muss scheitern. In diesem Fall ware einanaloger Diagonalisierungsbeweis moglich.
Barbara Konig Berechenbarkeit und Komplexitat 218
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Typ-1-Sprachen und Entscheidbarkeit
Damit ergibt sich folgende Hierarchie in Bezug aufsemi-entscheidbare Sprachen (= Typ 0), Typ-1-Sprachen undentscheidbare Sprachen:
kontextsensitive SprachenTyp-1-Sprachen
semi-entscheidbare Sprachen
Entscheidbare Sprachen
Menge aller Sprachen
Typ-0-Sprachen
Barbara Konig Berechenbarkeit und Komplexitat 219
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Aquivalenzproblem fur Turingmaschinen
Wir haben bereits ein Problem kennengelernt, das nichtsemi-entscheidbar ist: das Schnittproblem fur kontextfreieSprachen. Allerdings ist das Komplement dieses Problemssemi-entscheidbar.
Es gibt allerdings sogar noch schwerere Probleme, die nichtsemi-entscheidbar sind und deren Komplement auch nichtsemi-entscheidbar ist. Beispielsweise folgendes Problem:
Aquivalenzproblem fur Turingmaschinen
Eingabe: Zwei Turingmaschinen M1,M2
Ausgabe: Berechnen M1,M2 dieselbe Funktion?
Beweis der Unentscheidbarkeit: Reduktion vom Satz von Rice.
Barbara Konig Berechenbarkeit und Komplexitat 220
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Weitere Unentscheidbarkeitsresultate
Wir betrachten nun noch einige weitere interessante(unentscheidbare) Probleme aus der Logik und Mathematik:
Unerfullbarkeit fur Formeln der Pradikatenlogik 1. Stufe und2. Stufe
Diophantische Gleichungen
Barbara Konig Berechenbarkeit und Komplexitat 221
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Logik-Probleme
Unerfullbarkeit fur Formeln der Pradikatenlogik 1. Stufe
Das Problem, zu entscheiden, ob eine gegebene Formel F derPradikatenlogik 1. Stufe unerfullbar ist, ist unentscheidbar. Es istjedoch noch semi-entscheidbar (z.B. mit Hilfe desResolutionskalkuls).Das gleiche gilt fur das Gultigkeitsproblem.
Pradikatenlogik 1. Stufe: die einfachste Form der Pradikatenlogik;man darf uber Elemente quantifizieren (∀x , ∃x), nicht jedoch uberMengen oder Relationen.
Barbara Konig Berechenbarkeit und Komplexitat 222
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Logik-Probleme
Das Unerfullbarkeits- bzw. Gultigkeitsproblem fur Logiken hohererStufe (beispielsweise fur die Pradikatenlogik 2. Stufe, bei derQuantifikation uber Relationen erlaubt ist), ist nicht mehrsemi-entscheidbar.
Der Beweis benutzt die Tatsache, dass man mit Hilfe dieserLogiken die naturlichen Zahlen axiomatisieren und damit Aussagenuber arithmetische Ausdrucke formulieren kann, etwas, das mitHilfe der Pradikatenlogik 1. Stufe nicht ohne weiteres moglich ist(da man darin das Induktionsaxiom nicht ausdrucken kann).
Barbara Konig Berechenbarkeit und Komplexitat 223
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Logik-Probleme
Daraus folgt auch, dass solche Logiken hoherer Stufe keinen Kalkulhaben konnen. Denn aus einem Kalkul, der es ermoglicht, allewahren Formeln abzuleiten, kann man immer einSemi-Entscheidungsverfahren gewinnen.
Die Nicht-Existenz eines solchen (vollstandigen) Kalkuls fur dieArithmetik ist die Aussage des (Ersten) GodelschenUnvollstandigkeitssatzes (1931). Fur die Mathematik bedeutet das:“Es gibt wahre Aussagen, die nicht beweisbar sind.”
Unterhaltsame Lekture zu diesem Thema:
Douglas R. Hofstadter: Godel, Escher, Bach: An EternalGolden Braid
In deutscher Ubersetzung: Douglas R. Hofstadter: Godel,Escher, Bach: Ein endloses geflochtenes Band
Barbara Konig Berechenbarkeit und Komplexitat 224
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Diophantische Gleichungen
Wir beschaftigen uns nun mit dem Losen diophantischerGleichungen (auch bekannt als Hilberts 10. Problem).
Diophantische Gleichung
Eine diophantische Gleichung ist eine Gleichung der Form
p(x1, . . . , xn) = 0
Wobei p(x1, . . . , xn) ein Polynom in den Variablen x1, . . . , xn mitganzzahligen Koeffizienten ist.
Beispiele:
3x − 4y − 1 = 0
2x − 4y − 1 = 0
x2 − 1 = 0
xy − 2y2 − 2 = 0
x2 + y2 − z2 = 0
x3 + y3 − z3 = 0
Barbara Konig Berechenbarkeit und Komplexitat 225
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Diophantische Gleichungen
Problem: Losen diophantischer Gleichungen
Eingabe: Eine diophantische Gleichung
Ausgabe: Hat diese Gleichung eine Losung in den ganzenZahlen?
Alternative Fragestellung: Hat diese Gleichung eine Losung in dennaturlichen Zahlen?
Unentscheidbarkeit des Losens diophantischer Gleichungen
Es gibt kein allgemeines Verfahren, um diophantische Gleichungenzu losen. D.h., das entsprechende Problem ist unentscheidbar.(Matiyasevich, 1970)
(Ohne Beweis)
Barbara Konig Berechenbarkeit und Komplexitat 226
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Diophantische Gleichungen
Bemerkungen:
Eine der beruhmtesten Klassen von diophantischenGleichungen ist xn + yn = zn. Nach einem Result von Wilesvon 1995 hat keine solche Gleichung fur n > 2 eine Losung inden naturlichen Zahlen (ohne die Null).(Beweis des letzten Satzes von Fermat)
Fur bestimmte Klassen von diophantischen Gleichungen gibtes Losungsverfahren:
Fur eine Gleichung vom Typ xn + yn = zn mit n > 2 istdie Ausgabe der Algorithmus immer “nein” (= keineLosung).Lineare diophantische Gleichungen der Forma1x1 + · · ·+ anxn = b haben ein Losungsverfahren( erweiterter euklidischer Algorithmus).
Barbara Konig Berechenbarkeit und Komplexitat 227
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Abschlusseigenschaften
Abgeschlossenheit (Definition)
Gegeben sei eine Menge M und ein binarer Operator⊗ : M ×M → M.Man sagt, eine Menge M ′ ⊆ M ist unter ⊗ abgeschlossen, wennfur zwei beliebige Elemente m1,m2 ∈ M ′ gilt: m1 ⊗m2 ∈ M ′.
Uns interessieren hier vor allem folgende Operatoren: Komplement,Schnitt, Vereinigung
Barbara Konig Berechenbarkeit und Komplexitat 228
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Abschlusseigenschaften
Entscheidbare Sprachen: Abschluss unter Komplement
Die entscheidbaren Sprachen sind unter Komplementabgeschlossen. D.h., wenn L entscheidbar ist, dann ist auch Σ∗\Lentscheidbar. (Dabei ist Σ das Alphabet, uber dem L definiert ist.)
Semi-entscheidbare Sprachen: kein Abschluss unter Komplement
Die semi-entscheidbaren Sprachen sind nicht unter Komplementabgeschlossen.
Barbara Konig Berechenbarkeit und Komplexitat 229
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
BerechnungsmodelleUnentscheidbarkeitUnentscheidbare Probleme
Abschlusseigenschaften
(Semi-)entscheidbare Sprachen: Abschluss unter Schnitt
Die entscheidbaren Sprachen sind unter Schnitt abgeschlossen.D.h., wenn L1, L2 entscheidbar sind, dann ist auch L1 ∩ L2entscheidbar.Das gleiche gilt fur die semi-entscheidbaren Sprachen.
(Semi-)entscheidbare Sprachen: Abschluss unter Vereinigung
Die entscheidbaren Sprachen sind unter Vereinigung abgeschlossen.D.h., wenn L1, L2 entscheidbar sind, dann ist auch L1 ∪ L2entscheidbar.Das gleiche gilt fur die semi-entscheidbaren Sprachen.
Barbara Konig Berechenbarkeit und Komplexitat 230
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Einfuhrung: Komplexitatstheorie
Nach der Betrachtung von Berechnungen, die beliebig viel Platzund Zeit beanspruchen durfen, betrachten wir jetztTuringmaschinen mit eingeschrankten Ressourcen.
Dabei interessiert uns vor allem die Anzahl der Schritte, die eineTuringmaschine braucht, um ein Problem zu losen.
Barbara Konig Berechenbarkeit und Komplexitat 231
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Einfuhrung: Komplexitatstheorie
Beispiel 1: Travelling SalesmanIst der kurzeste Weg, der alle Knoten besucht und wieder zumAusgangsort zuruckkehrt, maximal so lang wie d?
2
5
1
3
6
8
7
9
2,5
2
1
1
1,5
1,5
3
4
3
2
1,5
2
1,5
2
Ist es wirklich notig,alle kurzeren Tourenauszuprobieren odergibt es ein effizienteresVerfahren?
Barbara Konig Berechenbarkeit und Komplexitat 232
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Einfuhrung: Komplexitatstheorie
Beispiel 2: Tourenplanungsproblem
Gegeben ist:
Ein Graph (= Wegenetz) wie beimTravelling-Salesman-Problem.Jedem Knoten ist ein Gewicht (= abzuholende Ladung)zugeordnet.
Eine Menge von Lastwagen mit Ladebeschrankung.
Frage: Kann man den Lastwagen Touren zuordnen, so dass dieLadebeschrankungen eingehalten werden, und die Gesamtstreckekleiner als d bleibt?
Barbara Konig Berechenbarkeit und Komplexitat 233
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Depot
1
3
4
23
1,5
31
2,5
1,5
1
1,5
1,5
2
2
2
2
2
4
5
1
3
6
8
7
9
1000 kg
4000 kg
3000 kg
2500 kg
2000 kg
1000 kg
2000 kg4000 kg 5 t
5 t
5 t
10 t
Barbara Konig Berechenbarkeit und Komplexitat 234
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Einfuhrung: Komplexitatstheorie
Offensichtlich ist sowohl das Travelling-Salesman- als auch dasTourenplanungs-Problem entscheidbar (alle moglichen Tourendurchprobieren!).
Wir werden jedoch zeigen, dass sie mit zu den “schwersten”Problemen in der Klasse NP gehoren: sie sind NP-vollstandig.(NP = Klasse von Problemen, die von nicht-deterministischenTuringmaschinen mit polynomialer Laufzeitbeschrankungakzeptiert werden konnen)
Eine der wichtigsten offenen Fragen in der theoretischen Informatikist, ob diese Probleme auch von einer deterministischenTuringmaschine in polynomialer Laufzeit gelost werden konnen (eswird allgemein erwartet, dass dies nicht moglich ist). Es handeltsich hierbei um das sogenannte P 6= NP-Problem.
Barbara Konig Berechenbarkeit und Komplexitat 235
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Komplexitatsklassen
Wir definieren zunachst die Klasse aller Sprachen, die von einerdeterministischen Turingmaschine mit Zeitbeschrankung akzeptiertwerden konnen.
Zeitbeschrankte det. TM und akz. Sprachen (Definition)
Sei f : N0 → N0 eine (totale) Funktion. Die Klasse TIME(f (n))besteht aus allen Sprachen A, fur die es eine deterministischeMehrband-Turingmaschine M gibt mit A = T (M) undtimeM(x) ≤ f (|x |) fur alle Worter x .
Dabei gibt timeM(x) die Anzahl der Schritte von M bei Eingabe xan.
Das heißt, die Anzahl der Schritte der Turingmaschine istbeschrankt und die Beschrankung ist abhangig von der Lange derEingabe.
Barbara Konig Berechenbarkeit und Komplexitat 236
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Komplexitatsklassen
Bemerkung:
Um die Anzahl der Schritte timeM(x) einer Turingmaschine M zuermitteln, mussen wir noch festlegen, wann die Berechnung von Mbeendet ist: dies ist der Fall, wenn eine Konfiguration gleich ihrerFolgekonfiguration ist. (Bei deterministischen Turingmaschinen hatjede Konfiguration genau eine Folgekonfiguration.)
Das Erreichen eines Endzustandes bedeutet damit auch das Endeeiner Berechnung. Die Berechnung kann jedoch auch dann beendetsein, wenn kein Endzustand erreicht wurde.
Barbara Konig Berechenbarkeit und Komplexitat 237
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Komplexitatsklassen
Um polynomial beschrankte Laufzeitklassen definieren zu konnen,wiederholen wir zunachst die Definition eines Polynoms (in einerVariablen).
Polynom (Definition)
Ein Polynom ist eine Funktion p : N0 → N0 mit derAbbildungsvorschrift
p(n) = aknk + ak−1n
k−1 + · · ·+ a1n + a0
fur Konstanten k , ak , . . . , a0 ∈ N0.
Barbara Konig Berechenbarkeit und Komplexitat 238
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Komplexitatsklassen
Damit ist es nun auch moglich, die Klasse aller Sprachen zudefinieren, die von deterministischen Turingmaschinen mitpolynomialer Laufzeitbeschrankung erkannt werden.
Komplexitatsklasse P (Definition)
P = A | es gibt eine det. Turingmaschine M und ein
Polynom p mit T (M) = A und timeM(x) ≤ p(|x |)=
⋃p Polynom
TIME(p(n))
Intuitiv umfasst P alle Probleme, fur die effiziente Algorithmenexistieren.
Barbara Konig Berechenbarkeit und Komplexitat 239
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
O-Notation
Es gibt einen engen Zusammenhang zur sogenannten O-Notation:
O-Notation
Seien f , g : N0 → N0 Funktionen. Wir sagen, dass f hochstens soschnell wachst wie g , falls folgendes gilt:
Es gibt eine Konstante C ∈ N0 und ein N ∈ N0, so dassfur jedes n ≥ N gilt:
f (n) ≤ C · g(n)
Anschaulich: ab einem bestimmten Wert N ist f kleiner als g ,multipliziert mit einem konstanten Faktor. (Nur das asymptotischeVerhalten zahlt, Konstanten werden vernachlassigt.)
Barbara Konig Berechenbarkeit und Komplexitat 240
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
O-Notation
Schreibweisen:
Eine Funktion f wird hier oft durch ihren definierendenAusdruck beschrieben: n, n3, 2n, . . .Dabei wird im Allgemeinen n als Funktionsparameterverwendet.
O(g) bezeichnet die Menge aller Funktionen, die hochstens soschnell wachsen wie g . Man schreibt dann f ∈ O(g) (odersogar f = O(g)).
Beispiele:
n ∈ O(n2)
100n ∈ O(n)
n2 ∈ O(2n).
n3 ∈ O(2n).
Bemerkung: Fur das letzte Beispiel gilt n3 < 2n, falls n ≥ 10.
Barbara Konig Berechenbarkeit und Komplexitat 241
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
O-Notation
Polynomiales vs. exponentielles Wachstum
Seien ` ∈ N0, q ∈ R mit q > 1. Dann gilt
n` ∈ O(qn)
Das bedeutet, dass jede Exponentialfunktion (mit Basis großerals 1) mindestens so stark wachst wie jedes Polynom.(Exponentialfunktionen wachsen sogar echt starker als Polynome.)
Barbara Konig Berechenbarkeit und Komplexitat 242
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
O-Notation
Die O-Notation wird haufig eingesetzt, um die Laufzeit vonAlgorithmen zu analysieren. Die Laufzeit eines Algorithmus istdabei die Anzahl der Schritte, die das Verfahren ausfuhrt.
Beispiele:
Es gibt Sortierverfahren mit Laufzeit O(n log n) (Mergesort)und Laufzeit O(n2) (Bubblesort)
Es gibt keine bekannten Verfahren mit polynomieller Laufzeitfur das Travelling-Salesman-Problem. Es existieren jedochAlgorithmen mit exponentieller Laufzeit.
Dabei bezeichnet der Parameter n immer die Große der Eingabe.
Barbara Konig Berechenbarkeit und Komplexitat 243
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
O-Notation
Man spricht von
linearer Laufzeit: O(n)
quadratischer Laufzeit: O(n2)
kubischer Laufzeit: O(n3)
polynomialer Laufzeit: O(n`) fur eine Konstante ` bzw.O(p(n)) fur ein Polynom p
exponentieller Laufzeit: O(2n) bzw. O(qn) fur q > 1
Barbara Konig Berechenbarkeit und Komplexitat 244
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
O-Notation
Laufzeiten in Abhangigkeit von der Große der Eingabe:
Laufzeit Anzahl Schritte Behandelbare Große der Eingabebei Eingabegroße 100 bei 1.000.000 Schritten
O(n) 100 1.000.000O(n2) 10.000 1.000O(n3) 1.000.000 100O(2n) 1,27·1030 19,9
Barbara Konig Berechenbarkeit und Komplexitat 245
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Komplexitatsklassen
Zusammenhang zwischen P und der O-Notation
Eine Problem liegt in P genau dann, wenn es von einer(deterministischen) Maschine gelost werden kann, die polynomiellviele Schritte macht, d.h. O(n`) Schritte fur eine Konstante `, fallsn die Eingabegroße ist.
Komplexitatsklassen fur andere Berechnungsmodelle
Die Klasse P ist großtenteils unabhangig von dem betrachtetenMaschinenmodell. Eine analoge Definition fur While- bzw.Goto-Programme wurde zur gleichen Klasse P fuhren.
Die Voraussetzung hierfur ist jedoch, dass das logarithmischeKostenmaß (siehe nachste Folie) angewandt wird.
Barbara Konig Berechenbarkeit und Komplexitat 246
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Komplexitatsklassen
Uniformes Kostenmaß
Die Zuweisung xi := xj wird als ein Schritt gewertet.
Logarithmisches Kostenmaß
Zuweisungen der Form xi := xj werden nicht als ein Schrittangesehen, sondern vielmehr wird fur jedes Bit in derBinardarstellung von xj ein Schritt gerechnet.
Zum logarithmischen Kostenmaß gehort auch, dass die Lange einerEingabe n ∈ N0 nicht n selbst ist, sondern die Lange derBinardarstellung, d.h., log n.
Barbara Konig Berechenbarkeit und Komplexitat 247
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Komplexitatsklassen
Ahnlich wie bei deterministischen Turingmaschinen kann man auchzeitbeschrankte nichtdeterministische Turingmaschinen und diedazugehorigen Sprachklassen definieren.
Zeitbeschrankte nichtdet. TM und akz. Sprachen (Definition)
Sei f : N0 → N0 eine (totale) Funktion. Die Klasse NTIME(f (n))besteht aus allen Sprachen A, fur die es eine nichtdeterministischeMehrband-Turingmaschine M gibt mit A = T (M) undntimeM(x) ≤ f (|x |) fur alle Worter x .
Dabei gilt
ntimeM(x) =
minLange akzeptierender
Rechnungen von M auf x falls x ∈ T (M)0 falls x 6∈ T (M)
Barbara Konig Berechenbarkeit und Komplexitat 248
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Komplexitatsklassen
Bemerkung: Falls eine Turingmaschine M gegeben ist, dientimeM(x) ≤ f (|x |) fur alle Worter x erfullt, so kann man einenZahler mitlaufen lassen und damit sicherstellen, dass die Maschineimmer spatestens nach f (|x |) (ursprunglichen) Schritten anhalt.Denn ab diesem Schritt muss man einen akzeptierenden Zustandgefunden haben, wenn x in der Sprache von M liegt.
Daraus folgt, dass NTIME(f (n)) nur entscheidbare Sprachenenthalt und man auch bei einer nicht-akzeptierenden Berechnungnicht mehr als f (|x |) Schritte machen muss (plus den imWesentlichen vernachlassigbarer Overhead fur den Zahler).
Barbara Konig Berechenbarkeit und Komplexitat 249
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Komplexitatsklassen
Komplexitatsklasse NP (Definition)
NP =⋃
p Polynom
NTIME(p(n))
Offensichtlich gilt P ⊆ NP.
Aber gilt auch P 6= NP? P 6= NP-Problem (ungelost)
Barbara Konig Berechenbarkeit und Komplexitat 250
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Kurzwiederholung: Aussagenlogik
Eine aussagenlogische Formel F besteht aus atomaren Aussagenbzw. Variablen x1, x2, x3, . . . und Operatoren ¬ (NICHT),∨ (ODER), ∧ (UND), → (IMPLIKATION),↔ (BIIMPLIKATION/AQUIVALENZ).
Fur eine Belegung der atomaren Aussagen mit 0, 1 ergibt sich einWahrheitswert einer Formel F . Dabei werden die Operatorenmittels folgender Wahrheitstafeln ausgewertet:
¬0 11 0
∨ 0 1
0 0 11 1 1
∧ 0 1
0 0 01 0 1
→ 0 1
0 1 11 0 1
↔ 0 1
0 1 01 0 1
Beispiel: Die Auswertung von (x1 ∨ x2)→ ¬x2 mit der Belegungx1 7→ 0, x2 7→ 1 ergibt den Wert 0.
Barbara Konig Berechenbarkeit und Komplexitat 251
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Kurzwiederholung: Aussagenlogik
Eine Formel der Form xi bzw. ¬xi heißt Literal.
Eine Klausel ist eine Disjunktion (ODER-Verknupfung) vonLiteralen.
(Beispiel: x1 ∨ x2 ∨ ¬x3)
Eine Formel ist in konjunktiver Normalform, wenn sie eineKonjunktion (UND-Verknupfung) von Klauseln ist.
(Beispiel: (x1 ∨ x2 ∨ ¬x3) ∧ (¬x1 ∨ ¬x3) ∧ x2)
Barbara Konig Berechenbarkeit und Komplexitat 252
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Determinismus vs. Nichtdeterminismus
Das nichtdeterministische Maschinenmodell erscheint starker, weiles moglich ist, den Weg zum akzeptierenden Zustand zu “raten”.
Anfangskonfiguration z0w
zew′
KonfigurationenBaum aller erreichbarer
Ein Pfad zu einempolynomialeLaufzeit/Hohe
akzeptierendenZustand
Baum kann exponentiell viele Konfigurationen enthalten.
Barbara Konig Berechenbarkeit und Komplexitat 253
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Determinismus vs. Nichtdeterminismus
Beispiel: Erfullbarkeitsproblem SAT
Eingabe: eine aussagenlogische Formel F
Ausgabe: Hat F eine erfullende Belegung (ein Modell)? Dasheißt, gibt es eine Belegung der atomaren Aussagen mit 0bzw. 1, so dass F unter dieser Belegung den Wert 1 hat?
In diesem Fall kann eine nichtdeterministische Maschine einfacheine beliebige Belegung erraten und uberprufen, ob sie F erfullt.Ein akzeptierender Zustand kann erreicht werden, genau dann,wenn eine erfullende Belegung existiert.
Das Raten und die anschließende Berechnung benotigt nurpolynomial viele Schritte. Daraus folgt: SAT ∈ NP.
Barbara Konig Berechenbarkeit und Komplexitat 254
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Determinismus vs. Nichtdeterminismus
Nichtdeterministische Turingmaschine, die fur eine Konstante keine k-stellige Binarzahl rat, wenn sie auf ein leeres Band angesetztwird: M = (z0, z1, . . . , zk, 0, 1, 0, 1,, δ, z0,, zk) mit
δ(z0,) = (z1, 0,R), (z1, 1,R)δ(z1,) = (z2, 0,R), (z2, 1,R)
. . .
δ(zk−1,) = (zk , 0,R), (zk , 1,R)
Mit zusatzlicher Verwendung eines Zahlers kann man auch leichteine Turingmaschine angeben, die bei Eingabe von n eine n-stelligeBinarzahl rat (d.h. die Lange der Zahl ist parametrisiert).
Barbara Konig Berechenbarkeit und Komplexitat 255
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Determinismus vs. Nichtdeterminismus
Es gibt eine alternative Charakterisierung von NP, die auf dieserIdee beruht:
Alternative Charakterisierung von NP (informal)
Die Klasse NP umfasst intuitiv alle Probleme, fur die man einemogliche Losung polynomieller Lange (auch Zertifikat genannt)raten kann, um dann in Polynomialzeit zu uberprufen, ob dieLosung korrekt ist.
Die Frage P 6= NP wird dann zu: “Gibt es Probleme, fur die esschwieriger ist, eine Losung zu bestimmen, als zu uberprufen, obeine gegebene Losung korrekt ist?”
Barbara Konig Berechenbarkeit und Komplexitat 256
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Komplexitatsklassen
Neben zeitbeschrankten Turingmaschinen betrachtet man auchplatzbeschrankte Turingmaschinen.
Platzbeschrankte det. TM und akz. Sprachen (Definition)
Sei f : N0 → N0 eine (totale) Funktion. Die Klasse SPACE(f (n))besteht aus allen Sprachen A, fur die es eine deterministischeMehrband-Turingmaschine M gibt mit A = T (M) undspaceM(x) ≤ f (|x |) fur alle Worter x .
Dabei gibt spaceM(x) die maximale Lange einer Konfiguration(ohne die außeren Leerzeichen) an, die bei der Rechnung von Mauf x vorkommt (= Maximalanzahl der benotigten Felder auf denBandern).
Barbara Konig Berechenbarkeit und Komplexitat 257
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Komplexitatsklassen
Analog definiert man fur nichtdeterministische TuringmaschinenNSPACE(f (n)).
Chomsky-1-Sprachen
Die Chomsky-1-Sprachen (erzeugt durch monotone Grammatiken)sind genau die Sprachen, die durch eine nichtdeterministischeTuringmaschine mit linearer Platzbeschrankung akzeptiert werdenkonnen.
Das heißt, NSPACE(n) ist genau die Menge derChomsky-1-Sprachen.
Barbara Konig Berechenbarkeit und Komplexitat 258
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Komplexitatsklassen
Wir definieren nun die Klasse aller Sprachen, die von einerdeterministischen Turingmaschine mit polynomialerPlatzbeschrankung akzeptiert werden konnen.
Komplexitatsklasse PSPACE (Definition)
PSPACE =⋃
p Polynom
SPACE(p(n))
Es gilt NP ⊆ PSPACE. Außerdem liegt jede Typ-1-Sprache inPSPACE.
Barbara Konig Berechenbarkeit und Komplexitat 259
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Komplexitatsklassen
Die Komplexitatsklassen P und NP konnen in dieChomsky-Hierarchie folgendermaßen eingeordnet werden:
Menge aller Sprachen
semi-entscheidbare Sprachen
entscheidbare Sprachen
NP
LOOP-berechenbarebzw. -akzeptierbare Sprachen
P
Barbara Konig Berechenbarkeit und Komplexitat 260
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Reduzierbarkeit
Wie bei der Berechenbarkeitstheorie beschaftigen wir uns auch hiermit dem Konzept der Reduzierbarkeit. Damit wollen wir Aussagenfolgender Form ableiten:
Wenn B losbar ist, dann ist auch A losbar und manbenotigt nur einen polynomial großen zusatzlichen Zeit-aufwand. (A ist auf B polynomial reduzierbar.)
Damit haben wir auch die Moglichkeit, die “schwersten” Problemeder Komplexitatsklasse NP (sogenannte NP-vollstandige Probleme)zu definieren. Das sind Probleme in NP, auf die alle NP-Problemepolynomial reduzierbar sind.
Barbara Konig Berechenbarkeit und Komplexitat 261
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Reduzierbarkeit
Analog zum Begriff der Reduzierbarkeit in derBerechenbarkeitstheorie definieren wir nun den Begriff derpolynomialen Reduzierbarkeit.
Polynomiale Reduzierbarkeit (Definition)
Gegeben seien Sprachen A ⊆ Σ∗, B ⊆ Γ∗. Dann heißt A auf Bpolynomial reduzierbar (in Zeichen A ≤p B), falls es eine totaleund mit polynomialer Laufzeit (deterministisch) berechenbareFunktion f : Σ∗ → Γ∗ gibt, so dass fur alle x ∈ Σ∗ gilt:
x ∈ A ⇐⇒ f (x) ∈ B.
Barbara Konig Berechenbarkeit und Komplexitat 262
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Reduzierbarkeit
Polynomiale Reduzierbarkeit (Lemma)
Falls A ≤p B, so gilt:
Aus B ∈ P folgt A ∈ P.
Aus B ∈ NP folgt A ∈ NP.
Barbara Konig Berechenbarkeit und Komplexitat 263
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Reduzierbarkeit
Begrundung fur: (A ≤p B und B ∈ P) ⇒ A ∈ P
Nein
JaMB
MA
fx f (x)
Laufzeit q(|f (x)|)Laufzeit p(|x |)
In polynomialer Laufzeit kann die Maschine, die f berechnet,hochstens eine polynomial große Ausgabe f (x) produzieren, d.h.|f (x)| ≤ p(|x |).
Dann gilt fur die Gesamtlaufzeit:p(|x |) + q(|f (x)|) ≤ p(|x |) + q(p(|x |)), und das ist wiederum einPolynom
Barbara Konig Berechenbarkeit und Komplexitat 264
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
NP-Vollstandigkeit
NP-hart, NP-vollstandig (Definition)
Eine Sprache A heißt NP-hart, falls fur alle Sprachen L ∈ NP gilt:L ≤p A.Eine Sprache A heißt NP-vollstandig, falls A NP-hart ist undA ∈ NP gilt.
Das bedeutet: eine NP-vollstandige Sprache ist mindestens soschwierig wie jedes andere Problem in NP.
Barbara Konig Berechenbarkeit und Komplexitat 265
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
NP-Vollstandigkeit
Bemerkung: Sobald man von einer Sprache A nachgewiesen hat,dass sie NP-hart ist, kann man dieses Resultat nutzen, um dieNP-Harte einer anderen Sprache B zu beweisen.
Es reicht in diesem Fall aus zu zeigen, dass A ≤p B gilt. Aufgrundder Transitivitat von ≤p folgt dann auch L ≤p B fur alle L ∈ NP.
Barbara Konig Berechenbarkeit und Komplexitat 266
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
NP-Vollstandigkeit
Sobald man von einer NP-vollstandigen Sprache zeigen konnte,dass sie in P (nicht) enthalten ist, ware das P 6= NP-Problemgelost.
NP-Vollstandigkeit und P
Sei A NP-vollstandig. Dann gilt
A ∈ P ⇐⇒ P = NP
Bemerkung: Daraus folgt unmittelbar, dass auchA 6∈ P ⇐⇒ P 6= NP fur jedes NP-vollstandige Problem A gilt.
Barbara Konig Berechenbarkeit und Komplexitat 267
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
NP-Vollstandigkeit
Bedeutung des Konzepts der NP-Vollstandigkeit
Klassifizierung von Problemen: viele in der Praxis relevantenProbleme sind NP-vollstandig.
Das bedeutet, dass es fur diese Probleme aufwandig ist,exakte Losungen zu finden und man in vielen FallenHeuristiken einsetzen muss, die annahernde Losungen liefern.
Man kann alle NP-vollstandigen Probleme aufeinanderreduzieren und damit Losungsmethoden fur eines dieserProbleme (z.B. fur SAT) fur alle anderen verwenden.
Strukturtheorie fur die Komplexitatstheorie Hoffnung fur das P 6= NP-Problem?
Barbara Konig Berechenbarkeit und Komplexitat 268
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
NP-Vollstandigkeit
Dazu nochmal ein Comic (aus Garey/Johnson: “Computers andIntractability”):
Nicht so gut . . .
“I can’t find an efficient algorithm. I guess I’m just too dumb.”
Barbara Konig Berechenbarkeit und Komplexitat 269
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
NP-Vollstandigkeit
Besser . . .
“I can’t find an efficient algorithm, but neither can all thesefamous people.”
Barbara Konig Berechenbarkeit und Komplexitat 270
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
SAT ist NP-vollstandig
Wir zeigen nun, dass das Erfullbarkeitsproblem SAT furaussagenlogische Formeln NP-vollstandig ist.
Dazu nehmen wir an, dass aussagenlogische Formeln geeignetkodiert einer Turingmaschine als Eingabe ubergeben werdenkonnen.
NP-Vollstandigkeit von SAT (Satz von Cook)
Das Erfullbarkeitsproblem der Aussagenlogik SAT istNP-vollstandig.
Barbara Konig Berechenbarkeit und Komplexitat 271
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
SAT ist NP-vollstandig
1. Schritt: Man muss zeigen, dass SAT in NP liegt. Das folgtunmittelbar aus den Uberlegungen im vorherigen Abschnitt(Belegung raten und uberprufen, ob sie die Formel erfullt).
2. Schritt: Wir mussen zeigen, dass SAT NP-hart ist, das heißt,dass L ≤p SAT fur alle L ∈ NP gilt.
Gegeben sei ein beliebiges Problem L ∈ NP. Zeige, dass es zujedem Wort x = x0 . . . xn−1 eine aussagenlogische Formel F gibtmit:
x ∈ L ⇐⇒ F ist erfullbar
Die Kodierung von F ist immer kurzer als (oder gleich) q(n),wobei q ein Polynom ist, d.h., F ist polynomial durch dieGroße von x beschrankt und die Berechnung von F erfordertweniger als q(n) Schritte (wg. polynomialer Reduzierbarkeit).
Barbara Konig Berechenbarkeit und Komplexitat 272
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
SAT ist NP-vollstandig
Jedes Problem L ∈ NP wird durch eine nicht-deterministischepolynomzeitbeschrankte Turingmaschine M akzeptiert.
Sei also M eine solche Turingmaschine fur L.
Wir nehmen an, dass Γ = a1, . . . , a` das Bandalphabet undZ = z0, z1, . . . , zk die Zustandsmenge bezeichnen.
Barbara Konig Berechenbarkeit und Komplexitat 273
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
SAT ist NP-vollstandig
Idee: Jede Berechnung von M auf x kann man als Tableaudarstellen, bei dem die Bandinhalte in den aufeinanderfolgendenSchritten untereinandergeschrieben werden.
Beobachtungen:
M akzeptiert x , wenn es ein Tableau gibt, das mit Bandinhaltx und Anfangszustand z0 beginnt und mit einem beliebigenBandinhalt und einem Endzustand endet.
Da die Rechenzeit von M polynomial beschrankt ist (durchein Polynom p), reicht es aus, Tableaus zu mit folgendenSchritten und Positionen zu betrachten:
Schritte: 0, . . . , p(n)Positionen: −p(n), . . . ,−1, 0, 1, . . . , p(n) (an anderePositionen kann der Kopf in p(n) Schritten nicht gelangen)
Barbara Konig Berechenbarkeit und Komplexitat 274
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
SAT ist NP-vollstandig
1 0 1 1 1
1 0 1 1 1
1 0 1 1 1
1 0 1 1 1
1 0 1 1 1
1 0 1 1 1
1 0 1 1 1
1 0 1 1 0
. . .
z0
z0
z0
z0
z0
z0
z1
z1
0
1
2
3
4
5
6
7
. . .. . .
Zustand:
Position: −1 0 1 2 3 4 5 Schritt:
Barbara Konig Berechenbarkeit und Komplexitat 275
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
SAT ist NP-vollstandig
Wir bestimmen nun die atomaren Aussagen (Variablen) deraussagenlogischen Formel. Diese beschreiben vollstandig den Inhalteines Tableaus:
AtomareAussage Indizes Bedeutung
zustt,z t = 0, . . . , p(n) zustt,z = 1 ⇐⇒z ∈ Z nach t Schritten befindet
sich M im Zustand z
post,i t = 0, . . . , p(n) post,i = 1 ⇐⇒i = −p(n), . . . , p(n) der Kopf von M befindet sich nach
t Schritten auf Position i
band t,i ,a t = 0, . . . , p(n) band t,i ,a = 1 ⇐⇒i = −p(n), . . . , p(n) nach t Schritten befindeta ∈ Γ sich auf Position i das Zeichen a
Barbara Konig Berechenbarkeit und Komplexitat 276
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
SAT ist NP-vollstandig
zust2,z0 = 1
1 0 1 1 1
1 0 1 1 1
1 0 1 1 1
1 0 1 1 1
1 0 1 1 1
1 0 1 1 1
1 0 1 1 1
1 0 1 1 0
. . .
z0
z0
z0
z0
z0
z1
z1
0
1
3
4
5
6
7
z0 2
. . .. . .Position:
Zustand:
Schritte:0 1 2 3 4 5−1
Barbara Konig Berechenbarkeit und Komplexitat 277
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
SAT ist NP-vollstandig
pos6,4 = 1
1 0 1 1 1
1 0 1 1 1
1 0 1 1 1
1 0 1 1 1
1 0 1 1 1
1 0 1 1 1
1 0 1 1 1
1 0 1 1 0
. . .
z0
z0
z0
z0
z0
z0
z1
z1
0
1
2
3
5
7
. . .. . .
Zustand:
Position: Schritte:
3
0 1 2 3 54−1
6
Barbara Konig Berechenbarkeit und Komplexitat 277
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
SAT ist NP-vollstandig
band5,−1, =1
1 0 1 1 1
1 0 1 1 1
1 0 1 1 1
1 0 1 1 1
1 0 1 1 1
1 1 1 1
1 0 1 1 1
1 0 1 1 0
. . .
z0
z0
z0
z0
z0
z0
z1
z1
0
1
2
3
4
6
7
. . .. . .
50
Position:
Zustand:
Schritte:−1 0 1 2 3 4 5
Barbara Konig Berechenbarkeit und Komplexitat 277
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
SAT ist NP-vollstandig
Wir geben nun eine aussagenlogische Formel F mit folgendemInhalt an:
(Anfang) Die erste Zeile des Tableaus entspricht derAnfangskonfiguration mit x = x0 . . . xn−1 auf demBand
(Ubergang 1) Jede nachfolgende Zeile folgt aus dervorhergehenden Zeile, wobei sich der Zustand, dieKopfposition und der Bandinhalt andert, so wie diesdurch die Uberfuhrungsfunktion δ beschrieben wird.
(Ubergang 2) Alle Bandfelder, die nicht vom Ubergang betroffensind, behalten ihren Inhalt.
(Ende) In der letzten Zeile des Tableaus wird ein Endzustanderreicht.
Barbara Konig Berechenbarkeit und Komplexitat 278
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
SAT ist NP-vollstandig
(Randbedingungen) Das Tableau ist in sich konsistent,insbesondere befindet sich zu jedem Zeitpunkt
die Turingmaschine in genau einem Zustandder Kopf an genau einer Positiongenau ein Zeichen in jedem Feld
Barbara Konig Berechenbarkeit und Komplexitat 279
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
SAT ist NP-vollstandig
Dann gilt: die akzeptierenden Berechnungen der Turingmaschineentsprechen genau den erfullenden Belegungen der Formel.
Wir beschreiben nun die funf Bedingungen (Anfang),(Ubergang 1), (Ubergang 2), (Ende) und (Randbedingungen) alsaussagenlogische Formeln. Die Formel F ergibt sich dann durchKonjunktion (UND-Verknupfung) dieser funf Formeln.
Barbara Konig Berechenbarkeit und Komplexitat 280
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
SAT ist NP-vollstandig
Die erste Zeile des Tableaus entspricht der Anfangskonfigurationmit x = x0 . . . xn−1 auf dem Band.
(Anfang) Formel A
A = zust0,z0 ∧ pos0,0 ∧n−1∧j=0
band0,j ,xj ∧−1∧
j=−p(n)
band0,j ,
∧p(n)∧j=n
band0,j ,
Barbara Konig Berechenbarkeit und Komplexitat 281
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
SAT ist NP-vollstandig
Jede Zeile folgt aus der vorhergehenden Zeile, wobei sich derZustand, die Kopfposition und der Bandinhalt andert, so wie diesdurch die Uberfuhrungsfunktion δ beschrieben wird.
(Ubergang 1) Formel U1
U1 =∧
t,z,i ,a
((zustt,z ∧ post,i ∧ band t,i ,a)
→∨
z ′, a′, y mit(z ′, a′, y) ∈ δ(z, a)
(zustt+1,z ′ ∧ post+1,i+d(y) ∧ band t+1,i ,a′)
)
wobei d(y) =
−1 falls y = L0 falls y = N1 falls y = R
Barbara Konig Berechenbarkeit und Komplexitat 282
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
SAT ist NP-vollstandig
Alle Bandfelder, die nicht vom Ubergang betroffen sind, behaltenihren Inhalt.
(Ubergang 2) Formel U2
U2 =∧t,i ,a
((¬post,i ∧ band t,i ,a)→ band t+1,i ,a
)
Barbara Konig Berechenbarkeit und Komplexitat 283
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
SAT ist NP-vollstandig
In der letzten Zeile des Tableaus wird ein Endzustand erreicht.
(Ende) Formel E
E =∨z∈E
zustp(n),z
Barbara Konig Berechenbarkeit und Komplexitat 284
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
SAT ist NP-vollstandig
Fur die Beschreibung der Randbedingung benotigen wir eineHilfsformel G mit
G (x1, . . . , xm) = 1 ⇐⇒ fur genau ein i ist xi = 1
G kann beispielsweise folgende Form haben:
G =
( m∨i=1
xi
)︸ ︷︷ ︸
mindestens ein xi = 1
∧(m−1∧
j=1
m∧`=j+1
¬(xj ∧ x`)
)︸ ︷︷ ︸
falls j 6= ` ⇒ ¬(xj = 1 ∧ x` = 1)
Barbara Konig Berechenbarkeit und Komplexitat 285
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
SAT ist NP-vollstandig
Die Formel ist in sich konsistent, insbesondere befindet sich zujedem Zeitpunkt
die Turingmaschine in genau einem Zustand
der Kopf an genau einer Position
genau ein Zeichen in jedem Feld
(Randbedingungen) Formel R
R =∧t
(G (zustt,z1 , . . . , zustt,zk ) ∧ G (post,−p(n), . . . , post,p(n))
∧∧i
G (band t,i ,a1 , . . . , band t,i ,a`)
)
Barbara Konig Berechenbarkeit und Komplexitat 286
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
SAT ist NP-vollstandig
Die Formel F sieht dann wie folgt aus:
F = A ∧ U1 ∧ U2 ∧ E ∧ R
Bei genauerer Betrachtung stellt man auch fest, dass die Großevon F durch q(|x |) beschrankt ist, wobei x die Eingabe und q einPolynom ist.
Da x in der entsprechenden Sprache enthalten ist, genau dann,wenn F erfullbar ist, folgt daraus die Existenz einer polynomialenReduktion von L nach SAT, was zu beweisen war.
Barbara Konig Berechenbarkeit und Komplexitat 287
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
SAT ist NP-vollstandig
Konsequenzen aus dem Satz von Cook:
Da SAT in exponentieller Zeit 2O(n) entscheidbar ist(Wahrheitstafel, alle Belegungen durchprobieren) und alleNP-Probleme polynomial auf SAT reduzierbar sind, sind damitauf jeden Fall alle NP-Probleme in der Zeit O(2p(n)), fur einPolynom p, entscheidbar.
Es gibt Erfullbarkeits-Checker fur aussagenlogische Formeln inkonjunktiver Normalform (sogenannte SAT-Solver), die in derPraxis gut funktionieren.
Fur bestimmte Formeln zeigen sie jedoch ein schlechtesLaufzeitverhalten.
Diese SAT-Solver kann man uber Reduktionen nutzen, umdamit auch andere NP-vollstandige Probleme in der Praxis zulosen.
Barbara Konig Berechenbarkeit und Komplexitat 288
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Weitere NP-vollstandige Probleme
Wir betrachten nun folgende Reduktionskette und weisen dadurchnach, dass alle diese Probleme NP-hart sind. (Sie sind alle auchNP-vollstandig.)
SAT ≤p 3KNF-SAT ≤p GER.HAM.KREIS
≤p UNGER.HAM.KREIS ≤p TSP
3KNF-SAT: Erfullbarkeit von aussagenlogischen Formeln inkonjunktiver Normalform mit hochstens drei Literalen proKlausel.
GER.HAM.KREIS: Enthalt ein Graph einen gerichtetenHamiltonkreis?
UNGER.HAM.KREIS: Enthalt ein Graph einen ungerichtetenHamiltonkreis?
TSP: Travelling Salesman Problem
Barbara Konig Berechenbarkeit und Komplexitat 289
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Weitere NP-vollstandige Probleme
Bemerkung: Wenn A ≤p B gilt und A NP-hart ist, dann ist damitauch B NP-hart. (Durch die Transitivitat der polynomiellenReduktion kann man auch jedes Problem L ∈ NP polynomiell aufB reduzieren.)
Vorsicht: Wenn A ≤p B gilt und A NP-vollstandig ist, dann ist Bnicht notwendigerweise NP-vollstandig. Man weiß in diesem Fallnur, dass B NP-hart ist und musste noch B ∈ NP zeigen.
Barbara Konig Berechenbarkeit und Komplexitat 290
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
3KNF-SAT ist NP-vollstandig
Erfullbarkeitsproblem 3KNF-SAT
Eingabe: eine aussagenlogische Formel F in konjunktiverNormalform mit hochstens drei Literalen pro Klausel.
Ausgabe: Hat F eine erfullende Belegung?
Beispiel: Die Formel F = (x1 ∨¬x2)∧ (x1 ∨ x2 ∨ x3)∧¬x1 ∧¬x3 istin der geforderten Form und hat keine erfullende Belegung. Dasheißt F 6∈ 3KNF-SAT.
Barbara Konig Berechenbarkeit und Komplexitat 291
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
3KNF-SAT ist NP-vollstandig
NP-Vollstandigkeit von 3KNF-SAT (Satz)
Das Problem 3KNF-SAT ist NP-vollstandig.
Beweis: 3KNF-SAT liegt offensichtlich in NP.
Wir bestimmen nun eine Reduktionsfunktion furSAT ≤p 3KNF-SAT wie folgt: sei F eine beliebige aussagenlogischeFormel. Wir mussen eine Formel F ′ in konjunktiver Normalformmit maximal drei Literalen pro Klausel bestimmen, so dass
F erfullbar ⇐⇒ F ′ erfullbar
Die im folgenden vorgestellte Umwandlung von F in F ′ heißtTseitin-Transformation.
Barbara Konig Berechenbarkeit und Komplexitat 292
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
3KNF-SAT ist NP-vollstandig
1. Schritt: Stelle alle Operatoren durch ∨, ∧ und ¬ dar.
F1 → F2 ≡ ¬F1 ∨ F2
F1 ↔ F2 ≡ (F1 → F2) ∧ (F2 → F1)
≡ (¬F1 ∨ F2) ∧ (¬F2 ∨ F1)
2. Schritt: Bringe alle Negationen ¬ zu den atomaren Aussagen,durch Anwendung der Regeln von de Morgan und derDoppelnegationsregel:
¬(F1 ∨ F2) ≡ ¬F1 ∧ ¬F2¬(F1 ∧ F2) ≡ ¬F1 ∨ ¬F2
¬¬F ≡ F
Barbara Konig Berechenbarkeit und Komplexitat 293
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
3KNF-SAT ist NP-vollstandig
3. Schritt: Betrachte die so entstandene Formel als binaren Baum,bei dem an den inneren Knoten die Operatoren ∧, ∨ stehen unddie Blatter mit xi bzw. ¬xi beschriftet sind.
∨
∨
∧
¬x1x2¬x2x1
Barbara Konig Berechenbarkeit und Komplexitat 294
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
3KNF-SAT ist NP-vollstandig
4. Schritt: Ordne jedem inneren Knoten eine neue Variabley0, y1, y2, . . . zu. Der Wurzel wird y0 zugeordnet.
x1 ¬x2 x2 ¬x1
y2∧y1
y0
∨
∨
Barbara Konig Berechenbarkeit und Komplexitat 295
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
3KNF-SAT ist NP-vollstandig
5. Schritt: Sei yi die Beschriftung eines inneren Knotens mitOperator . Außerdem seien die Kinder mit u, v beschriftet. Dannordne diesem Knoten die Formel yi ↔ u v zu. Alle diese Formelnwerden mit ∧ verknupft und die neue Formel y0 hinzugefugt.
In unserem Beispiel ergibt sich:
y0 ∧ (y0 ↔ (y1 ∨ y2)) ∧ (y1 ↔ (x1 ∨ ¬x2)) ∧ (y2 ↔ (x2 ∧ ¬x1))
Barbara Konig Berechenbarkeit und Komplexitat 296
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
3KNF-SAT ist NP-vollstandig
6. Schritt: Forme diese Formel in die verlangte konjunktiveNormalform mit maximal drei Literalen pro Klausel um. Und zwarmit Hilfe folgender Regeln:
y ↔ (u ∨ v) ≡ (¬y ∨ u ∨ v) ∧ (¬(u ∨ v) ∨ y)
≡ (¬y ∨ u ∨ v) ∧ ((¬u ∧ ¬v) ∨ y)
≡ (¬y ∨ u ∨ v) ∧ (¬u ∨ y) ∧ (¬v ∨ y)
(Distributivgesetz!)
Analog: y ↔ (u ∧ v) ≡ (¬y ∨ u) ∧ (¬y ∨ v) ∧ (¬u ∨ ¬v ∨ y)
Damit erhalt man eine Formel F ′, die erfullbar ist, genau dann,wenn F erfullbar ist. Außerdem wurden alle Umformungsschrittemit nur polynomialem Aufwand durchgefuhrt.
Barbara Konig Berechenbarkeit und Komplexitat 297
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
3KNF-SAT ist NP-vollstandig
Alternativer Vorschlag (schlechte Idee):
Warum wird die Formel F nicht mit Hilfe der Regeln vonde Morgan und des Distributivgesetzes in konjunktive Nor-malform gebracht? (Und dann weiter umgeformt, so dassman weniger als drei Literale pro Klausel hat?)
Antwort: Bei dieser Umwandlung kann die Formel exponentiellgroßer werden!
Beispiel: Die Große der Formel
(x1 ∧ x2) ∨ (x3 ∧ x4) ∨ · · · ∨ (x2n−1 ∧ x2n)
ist linear in n. Bei Umformung in konjunktive Normalform mittelsdes Distributivgesetzes (“ausmultiplizieren”) erhalt man jedoch 2n
Klauseln, jede der Große n. Eine solche Klausel ist beispielsweise
(x1 ∨ x3 ∨ · · · ∨ x2n−1)
Barbara Konig Berechenbarkeit und Komplexitat 298
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Betrachtung von 2KNF-SAT
Wir betrachten nun das Problem 2KNF-SAT, analog zu3KNF-SAT, bei dem jede Klausel hochstens zwei Literale enthalt.
Behauptung: Mit Hilfe des Resolutionsverfahrens ist inPolynomialzeit entscheidbar, ob eine Formel F dieser Formerfullbar ist. D.h., 2KNF-SAT liegt in P.
Das Argument “man muss aber doch alle Belegungendurchprobieren” ist also nicht in allen Fallen stichhaltig.
Barbara Konig Berechenbarkeit und Komplexitat 299
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Betrachtung von 2KNF-SAT
Fur das Resolutionsverfahren benotigen wir die folgenden beidenSatze:
Resolutionsregel (Satz)
Es gilt:(F1 ∨ xi ) ∧ (F2 ∨ ¬xi )︸ ︷︷ ︸
F
≡ F ∧ (F1 ∨ F2)
Das heißt man kann neu gebildete Klauseln zu einer Formelhinzufugen, ohne ihren Wahrheitswert und ihre Erfullbarkeit zuverandern.
Beispiel: (x1 ∨ x2)∧ (x3 ∨¬x2) ≡ (x1 ∨ x2)∧ (x3 ∨¬x2)∧ (x1 ∨ x3).
Barbara Konig Berechenbarkeit und Komplexitat 300
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Betrachtung von 2KNF-SAT
Resolutionsverfahren (Satz)
Eine Formel F ist nicht erfullbar, genau dann, wenn man mit Hilfeder Resolutionsregel die einelementigen Klauseln xi und ¬xi (furein beliebiges i) ableiten kann.
(Daraus kann man dann noch in einem weiteren Schritt diesogenannte leere Klausel ableiten.)
Barbara Konig Berechenbarkeit und Komplexitat 301
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Betrachtung von 2KNF-SAT
Beispiel: Aus F = (x1 ∨ ¬x2) ∧ (x1 ∨ x2 ∨ x3) ∧ ¬x1 ∧ ¬x3 kannman folgende Klauseln ableiten:
(x1 ∨ ¬x2),¬x1 ¬x2(x1 ∨ x2 ∨ x3),¬x1 (x2 ∨ x3)
(x2 ∨ x3),¬x3 x2
x2,¬x2 (leere Klausel)
Daraus folgt, dass F unerfullbar ist.
Barbara Konig Berechenbarkeit und Komplexitat 302
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Betrachtung von 2KNF-SAT
Bei der Resolution von zwei zweielementigen Klauseln ergibt sichwieder nur eine maximal zweielementige Klausel (das ist beidreielementigen Klauseln anders!).
Da es bei n verschiedenen atomaren Formeln nur(2n2
)= 2n(2n−1)
2viele zweielementige und 2n viele einelementige Klauseln gibt,werden nach spatestens dieser polynomialen Anzahl von Schrittenkeine neuen Klauseln mehr abgeleitet.
Je nachdem, ob die leere Klausel entstanden ist oder nicht, kannman jetzt entscheiden, ob die ursprungliche Formel unerfullbar ist.
Barbara Konig Berechenbarkeit und Komplexitat 303
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
GER.HAM.KREIS ist NP-vollstandig
Im folgenden betrachten wir das Problem zu bestimmen, ob einGraph einen Kreis enthalt, der durch jeden Knoten genau einmalfuhrt.
GER.HAM.KREIS – Gerichteter Hamiltonkreis
Eingabe: ein gerichteter Graph G = (V ,E ) mit KnotenmengeV und Kantenmenge E ⊆ V × V . Sei außerdem m = |V | dieAnzahl der Knoten.
Ausgabe: Besitzt der Graph G einen Hamiltonkreis? Das heißt,gibt es eine Anordnung v1, . . . , vm der Knoten, so dass gilt:
V = v1, . . . , vm (jeder Knoten kommt genau einmalvor)(vi , vi+1) ∈ E fur i ∈ 1, . . . ,m − 1 und (vm, v1) ∈ E(es gibt einen Kreis, der genau einmal durch jedenKnoten fuhrt)
Barbara Konig Berechenbarkeit und Komplexitat 304
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
GER.HAM.KREIS ist NP-vollstandig
Beispiele fur Graphen mit und ohne Hamiltonkreis:
Kein Hamiltonkreis! Kein Hamiltonkreis!Hamiltonkreis
existiert!
Barbara Konig Berechenbarkeit und Komplexitat 305
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
GER.HAM.KREIS ist NP-vollstandig
NP-Vollstandigkeit von GER.HAM.KREIS (Satz)
Das Problem GER.HAM.KREIS ist NP-vollstandig.
Beweis: Man kann leicht sehen, dass GER.HAM.KREIS ∈ NP.
Es ist nun zu zeigen, dass 3KNF-SAT ≤p GER.HAM.KREIS.
Wir bestimmen dazu eine Reduktionsfunktion, die einer gegebenenaussagenlogischen Formel F einen gerichteten Graphen Gzuordnet, so dass F erfullbar ist, genau dann, wenn G einenHamiltonkreis besitzt.
Dabei konnen wir davon ausgehen, dass F in konjunktiverNormalform ist und hochstens drei Literale pro Klausel hat.
Barbara Konig Berechenbarkeit und Komplexitat 306
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
GER.HAM.KREIS ist NP-vollstandig
Sei F also von der Form F = K1 ∧ K2 ∧ · · · ∧ Km, wobei jedeKlausel Ki genau drei Literale hat. Das kann erreicht werden,indem Literale in einer Klausel verdoppelt oder verdreifacht werden.Außerdem kommen die atomaren Aussagen x1, . . . , xn in F vor.
Aufbau des Graphen G : G besteht aus folgenden Komponenten.
n Entscheidungsknoten, einen fur jede atomare Aussage xj .Die Kante, uber die der Entscheidungsknoten verlassen wird,bestimmt den Wahrheitswert, den xj in einer erfullendenBelegung erhalten soll.
m Klausel-Subgraphen, einen fur jede Klausel Ki . Die Art undWeise wie diese Subgraphen durchlaufen werden ist davonabhangig, welche Wahrheitswerte die einzelnen Literale ineiner erfullenden Belegung haben.
Barbara Konig Berechenbarkeit und Komplexitat 307
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
GER.HAM.KREIS ist NP-vollstandig
Die Entscheidungsknoten haben je zwei ein- und ausgehendeKanten. Sie sollen in der Reihenfolge 1, . . . , n durchlaufen werden.Vom Knoten n aus fuhren Pfade zuruck zum Knoten 1.
...
...n
...
...1 2
...
...
...
...
...
...
Falls ein Knoten i auf der Kante nach oben verlassen wird,entspricht das einer Belegung xi = 1, ansonsten einer Belegungxi = 0.
Barbara Konig Berechenbarkeit und Komplexitat 308
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
GER.HAM.KREIS ist NP-vollstandig
a
b
c
A
B
C
K
Klausel-Subgraphen sehen wie linksangegeben aus und werden durch einenKasten wie unten symbolisiert.
Wir werden zeigen, dass einKlausel-Subgraph, der auf einemHamiltonkreis in a betreten wird, immerdurch A verlassen werden muss.Analoges gilt fur b/B und c/C .
Barbara Konig Berechenbarkeit und Komplexitat 309
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
GER.HAM.KREIS ist NP-vollstandig
Angenommen, der Klausel-Subgraph wird folgendermaßendurchlaufen:
Pfad a – A – B Knoten b wird zu einer Sackgasse
a
b
c
A
B
C
Barbara Konig Berechenbarkeit und Komplexitat 310
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
GER.HAM.KREIS ist NP-vollstandig
Angenommen, der Klausel-Subgraph wird folgendermaßendurchlaufen:
Pfad a – A – B – C Knoten b und c werden zu Sackgassen
a
b
c
A
B
C
Barbara Konig Berechenbarkeit und Komplexitat 310
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
GER.HAM.KREIS ist NP-vollstandig
Angenommen, der Klausel-Subgraph wird folgendermaßendurchlaufen:
Pfad a – c – C Knoten A nicht mehr erreichbar
a
b
c
A
B
C
Barbara Konig Berechenbarkeit und Komplexitat 310
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
GER.HAM.KREIS ist NP-vollstandig
Angenommen, der Klausel-Subgraph wird folgendermaßendurchlaufen:
Pfad a – c – b – B Knoten A und C nicht mehr erreichbar
a
b
c
A
B
C
Barbara Konig Berechenbarkeit und Komplexitat 310
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
GER.HAM.KREIS ist NP-vollstandig
Angenommen, der Klausel-Subgraph wird folgendermaßendurchlaufen:
Pfad a – c – b – B – C Knoten A nicht mehr erreichbar
a
b
c
A
B
C
Barbara Konig Berechenbarkeit und Komplexitat 310
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
GER.HAM.KREIS ist NP-vollstandig
Angenommen, der Klausel-Subgraph wird folgendermaßendurchlaufen:
Pfad a – c – C – A – B Knoten b wird zu einer Sackgasse
a
b
c
A
B
C
Barbara Konig Berechenbarkeit und Komplexitat 310
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
GER.HAM.KREIS ist NP-vollstandig
Es gibt also nur drei zulassige Pfade (beginnend bei a), die sich aufeinem Hamiltonkreis befinden konnen:
a
b
c
A
B
C
Bedeutung: das erste Literal hat denWahrheitswert 1 (und auch das drit-te, daher muss seine Verbindung jetztnicht durchlaufen werden)
Barbara Konig Berechenbarkeit und Komplexitat 311
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
GER.HAM.KREIS ist NP-vollstandig
Es gibt also nur drei zulassige Pfade (beginnend bei a), die sich aufeinem Hamiltonkreis befinden konnen:
a
b
c
A
B
C
Bedeutung: das erste Literal hat denWahrheitswert 1, das dritte jedochnicht, daher muss seine Verbindungjetzt durchlaufen werden (das zweiteLiteral hat wieder Wahrheitswert 1)
Barbara Konig Berechenbarkeit und Komplexitat 311
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
GER.HAM.KREIS ist NP-vollstandig
Es gibt also nur drei zulassige Pfade (beginnend bei a), die sich aufeinem Hamiltonkreis befinden konnen:
a
b
c
A
B
C
Bedeutung: nur das erste Literal hatden Wahrheitswert 1, nicht jedoch dieanderen beiden.
Barbara Konig Berechenbarkeit und Komplexitat 311
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
GER.HAM.KREIS ist NP-vollstandig
Diese Klausel-Subgraphen werden nun folgendermaßen verknupft:
Angenommen, die atomare Aussage xi kommt
in Klausel 1 an Position 2 und
in Klausel 4 an Position 3 vor.
Außerdem kommt ¬xiin Klausel 2 an Position 1,
in Klausel 5 an Position 3 und
in Klausel 6 an Position 2 vor.
Position 1 entspricht a/A, Position 2 entspricht b/B undPosition 3 entspricht c/C .
Barbara Konig Berechenbarkeit und Komplexitat 312
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
GER.HAM.KREIS ist NP-vollstandig
Dann werden zwischen den Knoten i und i + 1 dieKlausel-Subgraphen wie folgt verknupft:
K4
K5 K6
i + 1i
K1
K2
(· · · ∨ xi ∨ . . . )︸ ︷︷ ︸K1
∧ (¬xi ∨ · · · ∨ . . . )︸ ︷︷ ︸K2
∧ (· · · ∨ · · · ∨ . . . )︸ ︷︷ ︸K3
∧ (· · · ∨ · · · ∨ xi )︸ ︷︷ ︸K4
∧ (· · · ∨ · · · ∨ ¬xi )︸ ︷︷ ︸K5
∧ (· · · ∨ ¬xi ∨ . . . )︸ ︷︷ ︸K6
Barbara Konig Berechenbarkeit und Komplexitat 313
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
GER.HAM.KREIS ist NP-vollstandig
Man erhalt:
Wenn die Formel erfullbar ist, dann gibt es auch dieMoglichkeit, alle Knoten zu durchlaufen. D.h., einHamiltonkreis existiert.
Die Existenz eines Hamiltonkreises bedeutet andererseits, dassjeder Klauselgraph mindestens einmal durchlaufen wird, d.h.,mindestens einem Literal in der Klausel wird derWahrheitswert 1 zugeordnet.
Daher kann man zeigen:
Die Formel ist erfullbar, genau dann, wenn der konstruierte Grapheinen Hamiltonkreis hat.
Außerdem benotigt man nur polynomiale Zeit, um den Graphenaus der Formel zu konstruieren.
Barbara Konig Berechenbarkeit und Komplexitat 314
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
UNGER.HAM.KREIS ist NP-vollstandig
Im nachsten Schritt zeigen wir, dass auch das analoge Problem furungerichtete Graphen unentscheidbar ist.
UNGER.HAM.KREIS – Ungerichteter Hamiltonkreis
Eingabe: ein ungerichteter Graph G = (V ,E ) mitKnotenmenge V und Kantenmenge E , die auszweielementigen Mengen von Knoten besteht. Sei außerdemm = |V | die Anzahl der Knoten.
Ausgabe: Besitzt der Graph G einen Hamiltonkreis? Das heißt,gibt es eine Anordnung v1, . . . , vm der Knoten, so dass gilt:
V = v1, . . . , vm (jeder Knoten kommt genau einmalvor)vi , vi+1 ∈ E fur i ∈ 1, . . . ,m − 1 und vm, v1 ∈ E(es gibt einen Kreis, der genau einmal durch jedenKnoten fuhrt)
Barbara Konig Berechenbarkeit und Komplexitat 315
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
UNGER.HAM.KREIS ist NP-vollstandig
Beispiele fur Graphen mit und ohne Hamiltonkreis:
Hamiltonkreisexistiert!
Kein Hamiltonkreis! Hamiltonkreisexistiert!
Barbara Konig Berechenbarkeit und Komplexitat 316
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
UNGER.HAM.KREIS ist NP-vollstandig
NP-Vollstandigkeit von UNGER.HAM.KREIS (Satz)
Das Problem UNGER.HAM.KREIS ist NP-vollstandig.
Beweis: Wir reduzierenGER.HAM.KREIS ≤p UNGER.HAM.KREIS. Daher mussen wir zujedem gerichteten Graphen G einen ungerichteten Graphen G ′
konstruieren, so dass G einen Hamiltonkreis hat, genau dann, wennG ′ einen Hamiltonkreis hat.
Idee: Ersetze einen Knoten mit ein- und ausgehenden Kanten wiefolgt
Barbara Konig Berechenbarkeit und Komplexitat 317
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Hamiltonkreise vs. Eulerkreise
Wir zeigen nun, dass ein eng verwandtes Problem, namlich das derExistenz von Eulerkreisen, viel einfacher zu losen ist als dieBestimmung von Hamiltonkreisen.
EULER – Ungerichteter Eulerkreis
Eingabe: ein ungerichteter Graph G = (V ,E ) mitKnotenmenge V und Kantenmenge E , wobei auchMehrfachkanten erlaubt sind. Sei außerdem k = |E | dieAnzahl der Kanten.
Ausgabe: Besitzt der Graph G einen Eulerkreis? Das heißt,gibt es eine Tour, die durch den ganzen Graphen verlauft undjede Kante genau einmal passiert? (Knoten durfen mehrfachdurchlaufen werden.)
Barbara Konig Berechenbarkeit und Komplexitat 318
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Hamiltonkreise vs. Eulerkreise
Ursprung
Das Losung des Problems der Eulerkreise geht zuruck auf LeonhardEuler, der sich im 18. Jahrhundert fragte, ob man alle Bruckenseiner Heimatstadt Konigsberg begehen konne, ohne eine Bruckedoppelt zu laufen.
Barbara Konig Berechenbarkeit und Komplexitat 319
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Hamiltonkreise vs. Eulerkreise
[www.maa.org/press/periodicals/convergence/leonard-eulers-solution-to-the-konigsberg-bridge-problem]
Barbara Konig Berechenbarkeit und Komplexitat 320
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Hamiltonkreise vs. Eulerkreise
[www.maa.org/press/periodicals/convergence/leonard-eulers-solution-to-the-konigsberg-bridge-problem]
Barbara Konig Berechenbarkeit und Komplexitat 320
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Hamiltonkreise vs. Eulerkreise
Man kann die Inseln bzw. Stadtteile von Konigsberg als Knotenund die Brucken als Kanten auffassen. Das ergibt folgenden Graph:
Barbara Konig Berechenbarkeit und Komplexitat 321
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Hamiltonkreise vs. Eulerkreise
Existenz einer Eulertour (Satz)
Durch einen ungerichteten Graphen G existiert eine Eulertour,genau dann, wenn der Graph zusammenhangend ist und der Gradjedes Knotens gerade ist.
Damit ist dieses Problem auf jeden Fall in Polynomialzeit losbar.
Barbara Konig Berechenbarkeit und Komplexitat 322
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
TSP ist NP-vollstandig
Wir zeigen nun, dass auch das Travelling-Salesman-ProblemNP-vollstandig ist.
TSP – Travelling Salesman
Eingabe: eine n × n-Matrix (Mi ,j) von Entfernungen zwischenn Stadten und eine Zahl d .
Ausgabe: Gibt es eine Tour durch alle Stadte, die maximal dieLange d hat? Das heißt, gibt es eine Indexfolge i1, . . . , in, sodass gilt:
i1, . . . , in = 1, . . . , n (jede Stadt kommt vor)Mi1,i2 + Mi2,i3 + · · ·+ Min−1,in + Min,i1 ≤ d (die Lange der Tourist kleiner gleich d)
Barbara Konig Berechenbarkeit und Komplexitat 323
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
TSP ist NP-vollstandig
NP-Vollstandigkeit von TSP (Satz)
Das Problem TSP ist NP-vollstandig.
Beweis: Wir reduzieren UNGER.HAM.KREIS ≤p TSP.
Sei G = (V ,E ) ein ungerichteter Graph, wobei wir annehmen, dassdie Knotenmenge das Aussehen V = 1, . . . , n hat. Wirkonstruieren dazu folgende Matrix:
Mi ,j =
1 falls i , j ∈ E2 falls i , j 6∈ E
Außerdem setzen wir d = n.Dann hat G einen Hamiltonkreis genau dann, wenn es eine Losungfur das konstruierte Travelling-Salesman-Problem gibt.
Barbara Konig Berechenbarkeit und Komplexitat 324
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
NP-Vollstandigkeit des Tourenplanungsproblems
Bemerkung: Man kann nun auch leicht zeigen, dass dasTourenplanungsproblem NP-vollstandig ist (durch eine Reduktionvon TSP auf das Tourenplanungsproblem).
Dabei belasst die Reduktion die n × n-Entfernungsmatrix und denWert d , ordnet jedem Knoten das Gewicht 1 kg zu und nimmteinen Lastwagen mit Ladebeschrankung n kg an. Damit entsprichteine Losung des Tourenplanungsproblems einer Losung des TSP.
Barbara Konig Berechenbarkeit und Komplexitat 325
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Weitere wichtige Probleme
Wir betrachten nun einige weitere interessante und wichtigeProbleme und ordnen sie in die Komplexitatsklassen P und NP ein.
Farbbarkeit von Graphen
Eingabe: Ein ungerichteter Graph G = (V ,E ) und eine Zahlk ∈ N0.
Ausgabe: Gibt es Zuordnung von k verschiedenen Farben zuKnoten in V , so dass keine zwei benachbarten Knoten v1, v2dieselbe Farbe haben?
Benachbart bedeutet, dass v1, v2 ∈ E .
Dieses Problem ist NP-vollstandig (Reduktion von 3KNF-SAT).
Effiziente Losungen des Farbbarkeitsproblems sind relevant fur dieLosung von Scheduling-Problemen (z.B. Erstellung vonStundenplanen).
Barbara Konig Berechenbarkeit und Komplexitat 326
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Weitere wichtige Probleme
Bin Packing
Eingabe: Eine Behaltergroße b ∈ N0, die Anzahl k ∈ N0 derBehalter und Objektgroßen a1, a2, . . . , an ≤ b.
Ausgabe: Konnen die n Objekte so auf die k Behalter verteiltwerden, dass kein Behalter uberlauft?
Dieses Problem ist NP-vollstandig (Reduktion von 3KNF-SAT uberverschiedene Zwischenprobleme).
Auch dieses Problem ist in der Praxis relevant (Verpackung undLagerung von Objekten).
Barbara Konig Berechenbarkeit und Komplexitat 327
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Weitere wichtige Probleme
Primzahlproblem
Eingabe: Eine naturliche Zahl k ∈ N0.
Ausgabe: Ist k eine Primzahl?
Es war lange bekannt, dass dieses Problem in NP liegt (der Beweisist jedoch nicht offensichtlich). Im Jahr 2002 wurde dann vonAgrawal, Kayal, Saxena gezeigt, dass dieses Problem sogar inPolynomzeit losbar ist.
Der derzeit beste bekannte Algorithmus hat Laufzeit O(n6). Daherwerden fur konkrete Anwendungen (vor allem in derKryptographie) noch randomisierte Primzahltests verwendet.
Barbara Konig Berechenbarkeit und Komplexitat 328
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Weitere wichtige Probleme
Wahrend inzwischen bekannt ist, dass es in Polynomialzeit moglichist, zu bestimmen, ob eine Zahl eine Primzahl ist, ist esanscheinend schwieriger, die Faktorisierung einer Zahl k inPrimfaktoren zu bestimmen.
Die Aufgabe, eine Zahl k in Primfaktoren zu zerlegen, ist eineFunktion und kein Problem bzw. keine Sprache in unserem Sinne.Wir benotigen daher eine “Sprachversion” desFaktorisierungsproblems.
Faktorisierung
Eingabe: Zwei Zahlen k, r ∈ N0.
Ausgabe: Besitzt k einen Faktor s 6= 1, der kleiner als r ist?
Barbara Konig Berechenbarkeit und Komplexitat 329
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Weitere wichtige Probleme
Wenn man dieses Problem losen konnte, dann konnte man durchbinare Suche auch den kleinsten Faktor von k bestimmen unddamit k faktorisieren.
Der Status dieses Problems ist nicht geklart. Es ist offensichtlich inNP (Faktorisierung von k raten, uberprufen und den kleinstenFaktor mit r vergleichen). Es ist bisher jedoch weder bekannt, obes in P liegt, noch, ob es NP-vollstandig ist.
Barbara Konig Berechenbarkeit und Komplexitat 330
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Weitere wichtige Probleme
Anwendungen in der Kryptographie:
Die Schwierigkeit, das Faktorisierungsproblem zu losen, ist dieGrundlage einiger kryptographischer Verfahren (z.B. RSA).
Interessanterweise ist das Faktorisierungsproblem dazu bessergeeignet als viele als NP-vollstandig bekannte Probleme, weilbestimmte Zahlen (insbesondere Produkte zweier großerPrimzahlen) immer schwer zu faktorisieren sind. Beibekannten NP-vollstandigen Problemen gibt es dagegen oftviele leicht zu losende Instanzen.
Es gibt Algorithmen fur Quantencomputer (Algorithmus vonShor), die das Faktorisierungsproblem effizient losen konnten(wenn es funktionierende Quantencomputer gabe).
Barbara Konig Berechenbarkeit und Komplexitat 331
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Weitere wichtige Probleme
Graphisomorphie
Eingabe: Zwei ungerichtete Graphen G1 = (V1,E1),G2 = (V2,E2)
Ausgabe: Sind die Graphen G1, G2 isomorph? Das heißt, gibtes eine bijektive Abbildung f : V1 → V2, so dass v1, v2 ∈ E1
genau dann, wenn f (v1), f (v2) ∈ E2?
Der Status dieses Problems ist ebenfalls nicht geklart. Es istoffensichtlich in NP (Abbildung f raten). Es ist bisher jedochweder bekannt, ob es in P liegt, noch, ob es NP-vollstandig ist.
Barbara Konig Berechenbarkeit und Komplexitat 332
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Weitere wichtige Probleme
Folgendes Problem ist jedoch NP-vollstandig.
Subgraphisomorphie
Eingabe: Zwei ungerichtete Graphen G1 = (V1,E1),G2 = (V2,E2)
Ausgabe: Hat G1 einen Teilgraphen, der isomorph zu G2 ist?
Dieses Problem ist relevant fur Mustererkennung und Auffindenvon komplexen Strukturen.
Barbara Konig Berechenbarkeit und Komplexitat 333
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Weitere wichtige Probleme
Clique
Eingabe: Ein Paar (G , k) bestehend aus einem ungerichtetenGraph G = (V ,E ) mit Knotenmenge V und Kantenmenge Eund einer naturlichen Zahl k .
Ausgabe: Besitzt der Graph G einen vollstandigen Teilgraphender Große k?Ein Teilgraph ist genau dann vollstandig, wenn jeder Knotenmit jedem anderen verbunden ist.
Dieses Problem ist ein Speziallfall von Subgraphisomorphie. Es istjedoch noch NP-vollstandig.
Barbara Konig Berechenbarkeit und Komplexitat 334
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Zusammenfassung (Komplexitatstheorie)
Bemerkungen:
Man kann entscheidbare Probleme klassifizieren bezuglich derRessourcen, die zu ihrer Losung benotigt werden (Zeit, Platz).
Man unterscheidet insbesondere zwischen Problemen, die inPolynomialzeit gelost werden konnen (Probleme in P) undProblemen, bei denen in Polynomialzeit uberpruft werdenkann, ob eine geratene Losung korrekt ist (Probleme in NP).
Die schwersten Probleme in der Komplexitatsklasse NP heißenNP-vollstandig. Fur sie gibt es keine bekannten polynomialenAlgorithmen.
Barbara Konig Berechenbarkeit und Komplexitat 335
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Zusammenfassung (Vorlesung)
Die Hauptbotschaften dieser Vorlesung (und derVorgangervorlesung “Automaten und Formale Sprachen”):
Sprachen und Funktionen
Wir haben uns mit der Berechnung von Sprachen und Funktionenbeschaftigt:
Sprachen, d.h., Mengen von Wortern
Fragestellung: Liegt ein Wort w in der Sprache L?
Funktionen auf Wortern bzw. Zahlen
Fragestellung: Wie sieht der Funktionswert an einerbestimmten Stelle aus? Ist die Funktion berechenbar?
Funktionen konnen zur Beschreibung von Sprachen verwendetwerden ( charakteristische Funktion).
Barbara Konig Berechenbarkeit und Komplexitat 336
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Zusammenfassung (Vorlesung)
Maschinenmodelle und Grammatiken
Es gibt Maschinenmodelle von unterschiedlicher Machtigkeit, diedie Berechnung von Sprachen bzw. Funktionen beschreiben:
Endliche Automaten
Kellerautomaten
Turingmaschinen mit Zeit- bzw. Platzschranken
Beliebige Turingmaschinen
Zu diesen Automaten, die man als Sprachakzeptierer ansehenkann, gibt es entsprechende Grammatiken (Spracherzeuger):Typ-i-Grammatiken fur i ∈ 0, 1, 2, 3.
Man kann Automaten in die entsprechenden Grammatikenumwandeln (und umgekehrt).
Barbara Konig Berechenbarkeit und Komplexitat 337
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Zusammenfassung (Vorlesung)
Turingmaschinen und Programme
Turingmaschinen – die allgemeinste Form von Automaten –entsprechen in ihrer Machtigkeit herkommlichen Programmen(While-, Goto-Programme).
Die Churchsche These behauptet, dass die Funktionen, die durchTuringmaschinen bzw. While-/Goto-Programme berechnetwerden konnen, genau den intuitiv berechenbaren Funktionenentsprechen.
Barbara Konig Berechenbarkeit und Komplexitat 338
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Zusammenfassung (Vorlesung)
Endliche Darstellung von unendlichen Objekten
Sowohl Automaten als auch Grammatiken liefern endlicheDarstellungen fur unendliche Mengen. Operationen auf diesenMengen haben teilweise entsprechende Konstruktionen aufAutomaten bzw. Grammatiken (siehe Abschlusseigenschaften).
Damit hat man eine Datenstruktur fur unendliche Sprachen, dieman maschinell verarbeiten kann.
Barbara Konig Berechenbarkeit und Komplexitat 339
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Zusammenfassung (Vorlesung)
Hierarchien
Neben den Hierarchien auf Maschinenmodellen bzw. Grammatikengibt es eine entsprechende Hierarchie auf Sprachen(Chomsky-Hierarchie).
Diese Hierarchie ist echt, d.h., es gibt in jeder HierarchiestufeSprachen, die nicht in der darunterliegenden Hierarchiestufe liegen.
Solche Hierarchien gibt es auch fur Sprachen, die von zeit- bzw.platzbeschrankten Turingmaschinen erkannt werden(P ⊆ NP ⊆ PSPACE). Hier ist jedoch nicht klar, ob dieseHierarchie echt ist.
Barbara Konig Berechenbarkeit und Komplexitat 340
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Zusammenfassung (Vorlesung)
Schwere Probleme
Es gibt verschiedene Typen von schweren Problemen:
Unentscheidbare Probleme: Es gibt kein Verfahren, mit demman dieses Problem losen kann (z.B. Halteproblem)
NP-vollstandige Probleme: Schwer fur die KomplexitatsklasseNP, kein bekanntes Verfahren zur Losung in Polynomialzeit(z.B. SAT)
Barbara Konig Berechenbarkeit und Komplexitat 341
Kontextsensitive und Typ-0-SprachenBerechenbarkeitstheorie
Komplexitatstheorie
KomplexitatsklassenNP-Vollstandigkeit
Zusammenfassung (Vorlesung)
Anwendungen
Vor allem fur die regularen Sprachen (Typ-3) und die kontextfreienSprachen (Typ-2) gibt es viele Anwendungen, beispielsweise infolgenden Bereichen:
Suchen in Texten
Compilerbau
Modellierung von Systemverhalten und Verifikation
Die Nutzlichkeit der Berechenbarkeits- und Komplexitatstheorieliegt vor allem darin, schwere Probleme zu erkennen undeinzuordnen.
Barbara Konig Berechenbarkeit und Komplexitat 342
top related