VL-08: Aufz¨ ahlbarkeit
(Berechenbarkeit und Komplexit¨ at, WS 2017) Gerhard Woeginger
WS 2017, RWTH
BuK/WS 2017 VL-08: Aufz¨ahlbarkeit 1/41
Organisatorisches
• N¨achste Vorlesung:
Donnerstag, November 16, 12:15–13:45 Uhr, Aula
• Webseite:
http://algo.rwth-aachen.de/Lehre/WS1718/BuK.php
BuK/WS 2017 VL-08: Aufz¨ahlbarkeit 2/41
Wiederholung
Wdh.: Der Satz von Rice
Satz
Es seiRdie Menge der von TMen berechenbaren partiellen Funktionen.
Es seiS eine Teilmenge von Rmit∅(S(R.
Dann ist die Sprache
L(S) ={hMi |M berechnet eine Funktion aus S}
unentscheidbar.
R
u
f S
Wdh.: Der Satz von Rice / Beweis
Mε
w w=hMi hM∗i
reject (Syntax)
ML(S) Istw eine
G¨odel- nummer?
accept reject
M∗
x f(x)
M N
ε
BuK/WS 2017 VL-08: Aufz¨ahlbarkeit 5/41
Wdh.: Satz von Rice / Anwendungsbeispiele
Beispiel 2
I Es seiS ={fM | ∀w ∈ {0,1}∗:fM(w)6=⊥}.
I Dann ist
L(S) ={hMi |M berechnet eine Funktion ausS}
={hMi |M h¨alt auf jeder Eingabe}
I Diese Sprache ist auch als dastotale Halteproblem Htot bekannt.
I Gem¨ass dem Satz von Rice ist die SpracheHtot nicht entscheidbar.
Beispiel 5
I Es seiH32={hMi |auf jeder Eingabe h¨altM
nach h¨ochstens 32 Schritten}.
I Uber diese Sprache sagt der Satz von Rice nichts aus!¨
BuK/WS 2017 VL-08: Aufz¨ahlbarkeit 6/41
Vorlesung VL-08 Aufz¨ ahlbarkeit
• Semi-Entscheidbarkeit
• Aufz¨ahlbarkeit
• Abschlusseigenschaften
• Berechenbarkeitslandschaft
• Das totale Halteproblem
Semi-Entscheidbarkeit &
Aufz¨ ahlbarkeit
Semi-Entscheidbarkeit (1)
Eine SpracheLwird von einer TMM entschieden, wenn
I M auf jeder Eingabe h¨alt, und
I M genau die W¨orter aus Lakzeptiert.
Wenn eine TM existiert, die die SpracheLentscheidet, so wirdLalsrekursivoderentscheidbarbezeichnet.
Eine SpracheLwird von einer TMM erkannt, wenn
I M jedes Wort ausLakzeptiert, und
I M kein Wort akzeptiert, das nicht in Lenthalten ist.
Also:L(M)ist genau die vonM erkannte Sprache.
Definition
Wenn eine TM existiert, die die SpracheLerkennt, so wirdLalssemi-entscheidbarbezeichnet.
BuK/WS 2017 VL-08: Aufz¨ahlbarkeit 9/41
Semi-Entscheidbarkeit (2): Beispiel
Beispiel
Das HalteproblemH={hMiw |M h¨alt aufw}ist nicht entscheidbar, aber semi-entscheidbar.
Beweis
Die folgende TMMH erkennt die SpracheH:
Erh¨altMH eine syntaktisch inkorrekte Eingabe,
I so verwirftMH die Eingabe.
Erh¨altMH eine Eingabe der FormhMiw,
I so simuliertMH die TMM mit Eingabe w
I und akzeptiert, sobald/fallsM aufw h¨alt.
BuK/WS 2017 VL-08: Aufz¨ahlbarkeit 10/41
Aufz¨ ahler (1)
Definition
EinAufz¨ahlerf¨ur eine SpracheL⊆Σ∗ ist eine Variante der TM mit einem angeschlossenenDrucker.
Der Drucker ist ein zus¨atzliches Ausgabeband, auf dem sich der Kopf nur nach rechts bewegen kann und auf dem nur geschrieben wird.
I Der Aufz¨ahler wird mit leerem Arbeitsband gestartet, und gibt mit der Zeit alle W¨orter inL(m¨oglicherweise mit Wiederholungen) auf dem Drucker aus.
I Die ausgegebenen W¨orter werden dabei immer durch ein Trennzeichen separiert, das nicht inΣenthalten ist.
I Der Aufz¨ahler druckt ausschliesslich W¨orter in L.
Aufz¨ ahler (2)
· · ·
· · · 1 1 0 0 0 1 0 0 1
outputsome
δ 0 1 B q
q0 (q0,B,R) (q1,B,R) reject q1 (q0,B,R) (q1,B,R) accept
· · ·
· · ·
→ → → → → s o
s o m s o m e s o m e
s o m e o
Schreibkopf bewegt sich nur nach rechts
Aufz¨ ahler (2)
· · ·
· · · 1 1 0 0 0 1 0 0 1
outputsome
δ 0 1 B q
q0 (q0,B,R) (q1,B,R) reject q1 (q0,B,R) (q1,B,R) accept
· · ·
· · ·
→ →
→
→ → s o
s o m
s o m e
s o m e
s o m e o
Schreibkopf bewegt sich nur nach rechts
BuK/WS 2017 VL-08: Aufz¨ahlbarkeit 12/41
Rekursive Aufz¨ ahlbarkeit
Definition
Wenn es f¨ur die SpracheLeinen Aufz¨ahler gibt, so wirdLalsrekursiv aufz¨ahlbarbezeichnet.
Satz (Rekursive Aufz¨ ahlbarkeit ≡ Semi-Entscheidbarkeit)
Eine SpracheList genau dannrekursiv aufz¨ahlbar, wennLsemi-entscheidbarist.
BuK/WS 2017 VL-08: Aufz¨ahlbarkeit 13/41
Beweis (1)
Angenommen,List rekursiv aufz¨ahlbar und hat einen Aufz¨ahlerA.
Wir konstruieren eine TMM, dieLerkennt.
Bei Eingabe des Wortesw arbeitetM wie folgt:
I M simuliert Amit Hilfe einer Spur, die die Rolle des Druckers
¨
ubernimmt.
I Immer wenn ein neues Wort auf die Spur gedruckt worden ist, vergleicht M dieses Wort mitw und akzeptiert bei ¨Ubereinstimmung.
Korrektheit:
I Fallsw ∈L, so wirdw irgendwann gedruckt und zu diesem Zeitpunkt vonM akzeptiert.
I Fallsw 6∈L, so wirdw niemals gedruckt und somit auch niemals von
M akzeptiert.
Beweis (2)
Angenommen,List semi-entscheidbar und wird von der TMM erkannt.
Wir konstruieren einen Aufz¨ahlerA f¨urL.
In derk-ten Runde (mitk =1,2,3, . . .)
I simuliert der Aufz¨ahler jek Schritte vonM auf jedem der W¨orter w1, . . . ,wk.
I Immer wenn die Simulation eines der Worte akzeptiert, druckt der Aufz¨ahler dieses Wort aus.
Korrektheit:
Der Aufz¨ahlerA druckt offensichtlich nur W¨orter aus Laus. Aber druckt er auch wirklich alle W¨orter aus Laus?
I Es seiwi ein Wort in der SpracheL.
I Dann wirdwi von der TMM nach einer endlichen Anzahlti von Schritten akzeptiert.
I Deshalb wird wi in jeder Runde k mitk ≥max{i,ti}vom Aufz¨ahler
Aausgedruckt.
w1
w2
w3 w4 w5
w6
w7
...
Anzahl der Schritte, die TMM aufwi ben¨otig: −→
∞
BuK/WS 2017 VL-08: Aufz¨ahlbarkeit 16/41
Abschlusseigenschaften
BuK/WS 2017 VL-08: Aufz¨ahlbarkeit 17/41
Durchschnitt (1)
Satz
(a) Wenn die beiden SprachenL1 undL2entscheidbar sind, so ist auch die SpracheL1∩L2entscheidbar.
(b) Wenn die beiden SprachenL1 undL2rekursiv aufz¨ahlbar sind, so ist auch die SpracheL1∩L2rekursiv aufz¨ahlbar.
Durchschnitt (2): Beweis von Teil (a)
Es seienM1 undM2zwei TMen, die L1 respektiveL2 entscheiden.
Eine TMM, dieL1∩L2entscheidet:
1. Bei Eingabew simuliertM zun¨achst das Verhalten von M1 aufw und dann das Verhalten vonM2 aufw.
2. FallsM1 und M2 beide das Wortw akzeptieren, so akzeptiert auch M; andernfalls verwirftM.
Korrektheit:
I Fallsw ∈L1∩L2, so wirdw akzeptiert.
I Andernfalls wirdw verworfen.
Durchschnitt (3): Beweis von Teil (b)
Es seien nunM1 undM2zwei TMen, die L1 respektiveL2 erkennen.
Wir verwenden die gleiche Konstruktion f¨urM wie in (a).
Eine TMM, dieL1∩L2 erkennt:
1. Bei Eingabew simuliertM zun¨achst das Verhalten vonM1aufw und dann das Verhalten vonM2auf w.
2. FallsM1 undM2 beide akzeptieren, so akzeptiert auchM. Korrektheit:
I Fallsw ∈L1∩L2, so wirdw vonM akzeptiert.
I Andernfalls wirdw nicht akzeptiert.
BuK/WS 2017 VL-08: Aufz¨ahlbarkeit 20/41
Vereinigung (1)
Satz
(a) Wenn die beiden SprachenL1 und L2 entscheidbar sind, so ist auch die Sprache L1∪L2 entscheidbar.
(b) Wenn die beiden SprachenL1 und L2 rekursiv aufz¨ahlbar sind, so ist auch die Sprache L1∪L2 rekursiv aufz¨ahlbar.
BuK/WS 2017 VL-08: Aufz¨ahlbarkeit 21/41
Vereinigung (2): Beweis von Teil (a)
Es seienM1 undM2 zwei TMen, dieL1respektiveL2entscheiden.
Eine TMM, dieL1∪L2 entscheidet:
1. Bei Eingabew simuliertM zun¨achst das Verhalten vonM1aufw und dann das Verhalten vonM2auf w.
2. FallsM1 oderM2 das Wortw akzeptiert, so akzeptiert auchM;
andernfalls verwirftM.
Korrektheit:
I Fallsw ∈L1∪L2, so wirdw vonM1 oder vonM2 und somit auch vonM akzeptiert.
I Andernfalls verwerfen sowohlM1 als auchM2, und damit auchM.
Vereinigung (3): Beweis von Teil (b)
Es seien nunM1und M2 zwei TMen, dieL1respektiveL2 erkennen.
Welches Problem tritt auf, wenn wir in diesem Fall die Simulation aus (a) einfach ¨ubernehmen?
Idee:
SimuliereM1und M2 parallel statt sequentiell.
Vereinigung (4): Beweis von Teil (b)
Eine TMM, dieL1∪L2 erkennt
I Wir nehmen o.B.d.A. an, dassM ¨uber zwei B¨ander verf¨ugt.
I Auf Band 1 wirdM1 aufw simuliert.
I Auf Band 2 wirdM2 aufw simuliert.
I Sobald ein Schritt gemacht wird, in demM1 oderM2 akzeptiert, akzeptiert auch die TMM.
Korrektheit:
I Fallsw ∈L1∪L2, so wirdw vonM1 oder vonM2 und somit auch vonM akzeptiert.
I Andernfalls wirdw nicht akzeptiert.
BuK/WS 2017 VL-08: Aufz¨ahlbarkeit 24/41
Komplement (1)
Lemma
Wenn sowohl die SpracheL⊆Σ∗als auch ihr KomplementL:= Σ∗\L rekursiv aufz¨ahlbar sind, so istLentscheidbar.
Beweis
I Es seienM undM zwei TMen, dieLrespektiveLerkennen.
I F¨ur ein Eingabewortw simuliert die neue TMM0 das Verhalten von M aufw und das Verhalten vonM aufw parallel auf zwei B¨andern.
I WennM akzeptiert, so akzeptiertM0. WennM akzeptiert, so verwirftM0.
I Da entwederw ∈Loder w 6∈Lgilt, tritt eines der beiden obigen Ereignisse (M akzeptiert;M akzeptiert) nach endlicher Zeit ein.
Damit ist die Terminierung vonM0 sichergestellt.
BuK/WS 2017 VL-08: Aufz¨ahlbarkeit 25/41
Komplement (2)
Beobachtung 1
Wenn die SpracheLentscheidbar ist, so ist auch ihr KomplementL entscheidbar.
(Beweis: Wir k¨onnen das Akzeptanzverhalten einer TMM, dieL entscheidet, invertieren.)
Beobachtung 2
Die Menge der rekursiv aufz¨ahlbaren Sprachen hingegen ist nicht unter Komplementbildung abgeschlossen.
Beispiel
I H ist rekursiv aufz¨ahlbar.
I W¨areH ebenfalls rekursiv aufz¨ahlbar, so w¨areH entscheidbar.
I Daher istH nicht rekursiv aufz¨ahlbar.
Die Berechenbarkeitslandschaft
Berechenbarkeitslandschaft (1)
Beobachtung
Jede SpracheLf¨allt in genau eine der folgenden vier Familien.
(1) L ist entscheidbar, und sowohlLals auchLsind rekursiv aufz¨ahlbar.
(2) List rekursiv aufz¨ahlbar, aberList nicht rekursiv aufz¨ahlbar (3) List rekursiv aufz¨ahlbar, aberList nicht rekursiv aufz¨ahlbar (4) WederLnochLsind rekursiv aufz¨ahlbar
Beispiele
I Familie 1: Graphzusammenhang; Hamiltonkreis
I Familie 2:H,H, D
I Familie 3:H,H, D,
I Familie 4:Htot ={hMi |M h¨alt auf jeder Eingabe}
BuK/WS 2017 VL-08: Aufz¨ahlbarkeit 28/41
Berechenbarkeitslandschaft (2)
rekursiv aufz¨ahlbare
Probleme H
H D
Probleme mit rekursiv aufz¨ahlbarem Komplement H H D entscheidbare
Probleme
Unentscheidbare Probleme mit unentscheidbarem Komplement Htot
BuK/WS 2017 VL-08: Aufz¨ahlbarkeit 29/41
Das totale Halteproblem
Das totale Halteproblem
Definition (Totales Halteproblem)
Htot = {hMi |M h¨alt auf jeder Eingabe}
Frage: Wie kann man nachweisen, dass weder die SpracheHtot noch die SpracheHtot rekursiv aufz¨ahlbar ist?
Antwort: MitReduktionen.
Reduktionen (1): Wiederholung aus VL-06
Definition
Es seienL1 undL2zwei Sprachen ¨uber einem AlphabetΣ.
Dann heisstL1aufL2 reduzierbar(mit der NotationL1≤L2), wenn eine berechenbare Funktionf: Σ∗→Σ∗existiert, so dass f¨ur allex ∈Σ∗gilt: x ∈L1 ⇔ f(x)∈L2.
{0,1}∗ {0,1}∗
L2
L1
f
BuK/WS 2017 VL-08: Aufz¨ahlbarkeit 32/41
Reduktionen (2)
Satz
FallsL1≤L2und fallsL2rekursivaufz¨ahlbarist, so ist auchL1 rekursivaufz¨ahlbar.
Beweis
Wir konstruieren eine TMM1, dieL1 erkennt, indem sie als Unterprogramm eine TMM2verwendet, die L2 erkennt:
I F¨ur eine Eingabex berechnet die TMM1 zun¨achst f(x).
I Danach simuliertM1die TMM2 mit der Eingabef(x).
I M1akzeptiert die Eingabex, fallsM2 die Eingabef(x)akzeptiert.
Korrektheit:
M1 akzeptiertx ⇔ M2akzeptiertf(x)
⇔ f(x)∈L2 ⇔ x ∈L1
BuK/WS 2017 VL-08: Aufz¨ahlbarkeit 33/41
Reduktionen (3)
Noch einmal der Satz:
Satz
FallsL1≤L2 und fallsL2 rekursiv aufz¨ahlbar ist, so ist auchL1rekursiv aufz¨ahlbar.
Der (logisch ¨aquivalente) Umkehrschluss:
Satz
FallsL1≤L2 und fallsL1 nichtrekursiv aufz¨ahlbar ist, so ist auchL2nichtrekursiv aufz¨ahlbar.
Zur¨ uck zum totalen Halteproblem
Wir wissen:Hist unentscheidbar, aber rekursiv aufz¨ahlbar.
Daraus folgt:Hist nicht rekursiv aufz¨ahlbar.
Wir werden zeigen:
Behauptung A: H≤Htot Behauptung B: H≤Htot
Aus diesen beiden Reduktionen folgt dann:
Satz
WederHtot nochHtot ist rekursiv aufz¨ahlbar.
Behauptung A: H
≤ H
totBeweis (1)
Wir beschreiben eine berechenbare Funktionf,
die Ja-Instanzen vonH auf Ja-Instanzen vonHtot und Nein-Instanzen vonH auf Nein-Instanzen vonHtot abbildet.
Es seiw die Eingabe f¨urH.
I Wennw keine g¨ultige G¨odelnummer ist, so setzen wirf(w) =w.
I Fallsw =hMif¨ur eine TMM, so seif(w) :=hM∗idie G¨odelnummer der TMM∗mit folgendem Verhalten:
M∗ ignoriert die Eingabe und simuliertM mit der Eingabe. Die beschriebene Funktionf ist berechenbar. (Warum?)
BuK/WS 2017 VL-08: Aufz¨ahlbarkeit 36/41
Behauptung A: H
≤ H
totBeweis (2a)
F¨ur die Korrektheit zeigen wir:
(a) w 6∈H ⇒ f(w)6∈Htot
(b) w ∈H ⇒ f(w)∈Htot
Fallsw keine G¨odelnummer ist, giltw ∈H undf(w)∈Htot. Dieser Unterfall von (a) ist also korrekt erledigt.
Fallsw =hMif¨ur eine TMM, so betrachten wirf(w) =hM∗i.
Dann gilt:
w 6∈H ⇒ w ∈H
⇒ M h¨alt auf der Eingabe.
⇒ M∗ h¨alt auf jeder Eingabe.
⇒ hM∗i ∈Htot
⇒ f(w)6∈Htot und (a) ist korrekt.
BuK/WS 2017 VL-08: Aufz¨ahlbarkeit 37/41
Behauptung A: H ≤ H
totBeweis (2b)
F¨ur die Korrektheit zeigen wir:
(a) w 6∈H ⇒ f(w)6∈Htot
(b) w ∈H ⇒ f(w)∈Htot
Fallsw =hMif¨ur eine TMM, so betrachten wirf(w) =hM∗i.
Dann gilt:
w ∈H ⇒ M h¨alt nicht auf der Eingabe.
⇒ M∗h¨alt auf gar keiner Eingabe.
⇒ hM∗i 6∈Htot
⇒ f(w)∈Htot und (b) ist korrekt.
Damit ist Behauptung A bewiesen.
Behauptung B: H ≤ H
totBeweis (1)
Wir beschreiben eine berechenbare Funktionf,
die Ja-Instanzen vonH auf Ja-Instanzen vonHtot und Nein-Instanzen von H auf Nein-Instanzen vonHtot abbildet.
Es seiw die Eingabe f¨urH. Es seiw0 irgendein Wort aus Htot.
I Wennw keine g¨ultige G¨odelnummer ist, so setzen wirf(w) =w0.
I Fallsw =hMif¨ur eine TMM, so seif(w) :=hM0idie
G¨odelnummer der TMM0, die sich auf Eingaben der L¨ange i wie folgt verh¨alt:
M0simuliert die ersteni Schritte vonM auf der Eingabe. Wenn M innerhalb dieseri Schritte h¨alt, dann gehtM0 in eine Endlosschleife; andernfalls h¨altM0.
Die beschriebene Funktionf ist berechenbar. (Warum?)
Behauptung B: H
≤ H
totBeweis (2a)
F¨ur die Korrektheit zeigen wir:
(a) w 6∈H ⇒ f(w)6∈Htot (b) w ∈H ⇒ f(w)∈Htot
Fallsw keine G¨odelnummer ist, giltw ∈Hund f(w) =w0∈Htot. Dieser Unterfall von (a) ist also korrekt erledigt.
Fallsw =hMif¨ur eine TMM, so betrachten wirf(w) =hM0i.
Dann gilt:
w 6∈H ⇒ M h¨alt auf der Eingabe.
⇒ ∃i:M h¨alt innerhalb voni Schritten auf.
⇒ ∃i:M0 h¨alt auf keiner Eingabe der L¨ange mindestensi.
⇒ M0 h¨alt nicht auf jeder Eingabe.
⇒ f(w) =hM0i 6∈Htot und (a) ist korrekt.
BuK/WS 2017 VL-08: Aufz¨ahlbarkeit 40/41
Behauptung B: H
≤ H
totBeweis (2b)
F¨ur die Korrektheit zeigen wir:
(a) w 6∈H ⇒ f(w)6∈Htot
(b) w ∈H ⇒ f(w)∈Htot
Fallsw =hMif¨ur eine TMM, so betrachten wirf(w) =hM0i.
Dann gilt:
w ∈H ⇒ M h¨alt nicht auf der Eingabe
⇒ ¬∃i:M h¨alt innerhalb voni Schritten auf
⇒ ∀i:M h¨alt nicht innerhalb voni Schritten auf
⇒ ∀i:M0 h¨alt auf allen Eingaben der L¨angei
⇒ M0 h¨alt auf jeder Eingabe
⇒ f(w) =hM0i ∈Htot und (b) ist korrekt.
Damit ist Behauptung B bewiesen.
BuK/WS 2017 VL-08: Aufz¨ahlbarkeit 41/41