Berechenbarkeit und Komplexit¨ at Vorlesung 6
Prof. Dr. Wolfgang Thomas Lehrstuhl Informatik 7
RWTH Aachen
10. November 2014
Unentscheidbarkeit
Ziele:
1 Es gibt eine Sprache, die nicht entscheidbar ist.
2 Es gibt eine konkret angebbare Sprache H, die nicht entscheidbar ist.
3 Diese SpracheH ist aufz¨ahlbar.
4 Es gibt eine konkret angebbare Sprache, die nicht aufz¨ahlbar ist.
Das allgemeine Halteproblem
Gegeben: TuringmaschineM ¨uber {0,1}, Eingabewort w ∈ {0,1}∗ Frage: StopptM bei Eingabew? (Kurz:M :w →stopp?)
Kodierung des Problems durch die Sprache H = {hMiw |M h¨alt aufw} . Satz
Das allgemeine Halteproblem ist nicht entscheidbar.
Die SpracheH ist nicht entscheidbar.
Erinnerung: Kodierung einer Turingmaschine
Ein Eintrag z der Turingtafel
i ak j aℓ L/R/N wird kodiert durch den Bin¨arstring
code(z) := 0i10k10j10ℓ10/00/000
Kodierung einer TM M mit den Eintr¨agen z1, . . . ,zs der Turingtafel (zeilenweise notiert):
hMi = 111code(z ) 11code(z ) 11. . .11code(z ) 111
Aufz¨ ahlbarkeit von H
N¨achstes Ziel: Die Sprache
H={hMiw |M :w →stopp}
ist aufz¨ahlbar.
Wir k¨onnen stattdessen zeigen:H ist semi-entscheidbar.
Intuitiver Algorithmus:
Zu v ∈ {0,1}∗ ¨uberpr¨ufe, ob v die Form hMiw hat.
Wenn nicht, terminiere nicht.
Wenn ja, arbeite wie M auf w und terminiere, wennM dies tut.
Idee der universellen TM
Als Eingabe erh¨alt die universelle TM U ein Wort der Form hMiw f¨ur beliebigesw ∈ {0,1}∗.
Mit der EingabehMiw verf¨ahrt U so, wieM dies mit w tut.
Dies setzt die Idee einer programmierbaren Rechenmaschine um.
Satz (Turing)
Es gibt eine universelle Turingmaschine.
Anwendung: Semi-Entscheidbarkeit von H
Satz
Die Menge H = {hMiw | M h¨alt aufw} ist semi-entscheidbar (also auch aufz¨ahlbar).
Gesucht ist eine TM, die
f¨ur Eingaben nicht der Form hMiw nicht terminiert.
f¨ur eine Eingabe hMiw terminiert genau dann, wennM f¨ur Eingabe w terminiert.
W¨ahle hierzu eine TM, die
zun¨achst testet, ob die Eingabe nicht von der Form hMiw ist und in diesem Falle nicht terminiert,
ansonsten auf der Eingabe hMiw wie die universelle Turingmaschine U arbeitet.
Implementierung von U
U ist eine 3-Band TM:
Band 1 von U enth¨alt eine Kodierung der Bandinschrift von M.
Band 2 von U enth¨alt den Kode vonM.
Auf Band 3 speichert U den jeweils aktuellen Zustand von M.
Implementierung der universellen TM
Initialisierung bei EingabehMiw auf Band 1:
U kopiert den TM-Kode auf Band 2 und schreibt die Un¨arkodierung 01 des Anfangszustands auf Band 3.
U bereitet Band 1 vor: Es enth¨alt das Wort w in un¨arer Kodierung. Der Kopf steht unter dem ersten Zeichen von w.
Kodierung der M -Bandinschrift
Wir nutzen die schon eingef¨uhrte Kodierung der Buchstaben 0,1 durch 01,001:
Beispieleingabew = 1101
Kodierung auf dem 1. Band von U: [ 00100101001 ] mit Randmarken [,]
Anderungen der Inschrift erfolgen durch Ersetzen oder Erg¨anzung¨ von Bl¨ocken 0i1.
Dies erfordert bei Bedarf das Schaffen von Platz: Verschiebung der vorhandenen Inschrift einschließlich Randmarke.
Implementierung der universellen TM
Simulierung eines Schritts von M:
Zu dem Block 0j1 an der Kopfposition aus Band 1 und zum Zustand 0i1 auf Band 3
sucht U die Kodierung des entsprechenden ¨Ubergangs in der Kodierung hMi auf Band 2,
etwa 11 0i10j10k10ℓ100 11
Wie in der ¨Ubergangsfunktion beschrieben aktualisiert U die Inschrift auf Band 1 (Ersetzung von 0j1 durch 0ℓ1)
bewegt U den Kopf auf Band 1, und
ver¨andert U den auf Band 3 abgespeicherten Zustand vonM (Ersetzung von 0i1 durch 0k1).
Eine nicht aufz¨ ahlbare Sprache
Wir wissen:
Die SpracheH ist aufz¨ahlbar, aber nicht entscheidbar.
Wir setzenH:={0,1}∗\H
u∈H genau dann, wenn entwederu nicht die FormhMiw hat, oder aberu =hMiw und M :w → ∞.
Satz
Die SpracheH ist nicht aufz¨ahlbar.
Beweis:
H ist aufz¨ahlbar. W¨areH aufz¨ahlbar, so w¨areH sogar entscheidbar.
Boolesche Operationen und Aufz¨ ahlbarkeit
Satz
Die Klasse der aufz¨ahlbaren Sprachen (¨uber {0,1}) ist abgeschlos- sen unter Vereinigung und Durchschnitt, nicht jedoch unter Kom- plement.
Beweis: Die Behauptung ¨uber das Komplement wurde mit der SpracheH gezeigt.
F¨ur zwei aufz¨ahlbare (also semi-entscheidbare) SprachenL1,L2 seienA1,A2 entsprechende Semi-Entscheidungsalgorithmen.
Bilde daraus Semi-EntscheidungsalgorithmenA∩ f¨ur L1∩L2 und A∪ f¨ur L1∪L2:
A∩ l¨asst (f¨ur Eingabeu)A1,A2 parallel laufen und terminiert, wenn beide terminiert haben.
A∪ l¨auft wie A∩, terminiert jedoch, sobaldA1 oder A2 terminiert hat.
Entscheidbarkeit und Boolesche Operationen
Satz
Die Klasse der entscheidbaren Sprachen (¨uber{0,1}) ist eine Boole- sche Algebra – sie ist abgeschlossen unter Vereinigung, Durchschnitt und Komplement.
Beweis: IstAein Entscheidungsalgorithmus f¨ur L, dann wirdL entschieden durch den Algorithmus, der ausA entsteht, indem die Ausgaben “ja” und “nein” vertauscht werden.
F¨ur zwei entscheidbare SprachenL1,L2 seien A1,A2 entsprechende Entscheidungsalgorithmen. Bilde daraus Entscheidungsalgorithmen A∩ f¨ur L1∩L2 und A∪ f¨urL1∪L2:
A∩ l¨asst (f¨ur Eingabeu)A1,A2 parallel laufen, bis sie terminieren.
Als Ausgabe wird “ja” geliefert, wenn beide die Antwort “ja”
geliefert haben.
Ziel: Mehr Beispiele unentscheidbarer Probleme
1 Reduktionsmethode und Unterprogrammtechnik
2 Unentscheidbare Probleme ¨uber Turingmaschinen
3 Abstufungen der Unentscheidbarkeit
4 Ein unentscheidbares kombinatorisches Problem:
Das Post’sche Korrespondenzproblem
Vorschau auf Probleme ¨ uber Turingmaschinen
Einfaches HalteproblemHε
Gegeben eine Turingmaschine M, h¨alt M angesetzt auf das leere Band?
Aquivalenzproblem¨ Eq
Gegeben zwei TuringmaschinenM1,M2, berechnen M1 undM2 die- selbe Funktion?
Totalit¨atsproblemT
Gegeben eine TuringmaschineM, h¨altM f¨ur jedes Eingabewort?
Entscheidungsprobleme
Wir erinnern an das Format eines Entscheidungsproblems:
Ein EntscheidungsproblemP ist gegeben durch die MengeIP der Probleminstanzen
die MengeP ⊆IP der Instanzen, die die Antwort “ja”
verlangen.
Redeweise in diesem Fall:
“Gegeben eine Instanzx ausIP, geh¨ortx zuP?”
Beispiel HalteproblemH:
IH = Menge der Paare (Turingmaschine, Eingabewort aus {0,1}∗) H= Menge der (M,w) mitM :w →stopp
Format von Entscheidungsproblemen
H¨aufig stellen wir ein Entscheidungsproblem durch eine Sprache dar.
Dann sind die Instanzen W¨orter (etwa ¨uber{0,1}) und das ProblemP= (IP,P) wird zu folgender Frage:
Gegeben ein Wort u∈ {0,1}∗ stellt u eine Instanz von Pdar?
und wenn “ja”: Geh¨ort diese Instanz zu P?
Wir arbeiten jetzt mit dem FormatP= (IP,P).
Reduktion von Entscheidungsproblemen
Wir wollen die Unentscheidbarkeit des HalteproblemsHauf andere Entscheidungsprobleme ¨ubertragen.
Hierzu n¨otig: Vergleich von Entscheidungsproblemen
Wir definieren, wann ein ProblemQ“mindestens so schwierig” wie ein ProblemP ist.
SeienP= (IP,P),Q= (IQ,Q) Entscheidungsprobleme.
P: Gegeben x in IP, gilt x∈P? Q: Gegebenx in IQ, giltx ∈Q?
Pheißt reduzierbar auf Q (P≤Q) gdw.
es gibt eine berechenbare Funktion f :IP →IQ mit:
x ∈P gdw. f(x)∈Q (f¨ur alle x ∈IP)
Illustration
Reduktionslemma
Lemma
GelteP≤Q. WennP unentscheidbar ist, so auch Q.
Beweis:
Wir zeigen die ¨aquivalente Aussage:
IstQentscheidbar, dann ist auch P entscheidbar.
Beweis
VoraussetzungP≤Q.
Betrachte also berechenbare Funktionf :IP →IQ mit:
(∗) x∈P gdw. f(x)∈Q (f¨ur allex ∈IP)
Zu zeigen: IstQentscheidbar, dann ist auch P entscheidbar.
SeiAf ein Algorithmus, derf berechnet.
SeiAQ ein Algorithmus, der zuy ∈IQ entscheidet, ob y ∈Q.
Gesucht:AP, der P entscheidet.
DefiniereAP so:
Bei Eingabex∈IP wendeAf an, erhaltef(x)∈IQ
Auff(x) wende AQ an, erhalte Antwort, ob f(x)∈Q. Gebe dieAQ-Ausgabe aus. Korrekt wegen (∗)!
Unterprogrammtechnik
Im vorangehenden Beweis wird der AlgorithmusAQ als
“Unterprogramm” des AlgorithmusAP verwendet.
Dies ist eine allgemeine Methode, aus gegebenen (Entscheidungs-) Algorithmen neue Algorithmen zu gewinnnen.
Die Unterprogrammtechnik wird hier sehr einfach genutzt:
Das “Programm”AQ wird nur einmal aufgerufen, und sein Ergebnis wird direkt f¨ur das aufrufende Programm genutzt.
Im allgemeinen ist die Methode auch in komplexeren Anwendungen nutzbar, etwa wenn man das Unterprogramm mehrfach aufruft, auch in Abh¨angigkeit vom Ergebnis fr¨uherer Aufrufe.
Dies f¨uhrt auf die sog. “Turing-Reduktion”, die st¨arker ist als die ReduktionP≤Q.
Einfaches Halteproblem
Hε: Gegeben eine TM, stoppt sie angesetzt auf das leere Band?
Satz
Das einfache HalteproblemHεf¨ur Turingmaschinen ist unentscheid- bar.
Nach Reduktionslemma gen¨ugt:H≤Hε.
Finde also Transformation von (TMM, Wortw) in eine TMM′ so dass:
(∗) M stoppt angesetzt aufw gdw.
M′ stoppt angesetzt auf leeres Band.
BestimmeM′ ausM und w so:
M′ schreibtw aufs leere Band, geht auf ersten Buchstaben vonw und arbeitet dann wieM.
Aquivalenzproblem ¨
Eq: Gegeben zwei TM, berechnen sie dieselbe Funktion?
Satz
Das ¨AquivalenzproblemEqf¨ur Turingmaschinen ist unentscheidbar.
Beweis:
Nach Reduktionslemma gen¨ugt:Hε≤Eq.
Finde also Transformation von TMM in TM’enM1,M2, so dass:
(∗) M stoppt auf leerem Band gdw.
M1,M2 berechnen dieselbe Funktion.
BestimmeM1 fest, unabh¨angig von M: Bei Eingabew drucke ein Blank und stoppe.
M1 berechnet die Konstanteε.
Reduktionsbeweis
KonstruiereM2 ausM wie folgt:
M2 l¨oscht das vorliegende Eingabewort w, arbeitet dann wieM auf dem leeren Band und druckt bei Stopp ein Blank.
Also gilt f¨ur jedesw:
M2:w →ε, fallsM auf dem leeren Band stoppt, M2:w → ∞, falls M auf dem leeren Band nicht stoppt.
Somit gilt wie gew¨unscht:
(∗) M stoppt auf leerem Band gdw.
M1,M2 berechnen dieselbe Funktion (n¨amlich die Konstante ε).