Berechenbarkeit und Komplexit¨ at Vorlesung 8
Prof. Dr. Wolfgang Thomas Lehrstuhl Informatik 7
RWTH Aachen
21. November 2014
Erinnerung: Reduktion von Problemen
F¨ur Sprachen K,L⊆Σ∗ wurde definiert:
K ≤Lgdw. ex. berechenbare Funktionf : Σ∗ →Σ∗ mit x∈K ⇔ f(x)∈L f¨ur alle x ∈Σ∗
Wir haben gezeigt Satz
(a)K ≤Lund Lentscheidbar ⇒ K entscheidbar.
(b)K ≤L undL aufz¨ahlbar ⇒ K aufz¨ahlbar.
(c) F¨ur die Halteproblemsprache H gilt:
L≤H gdw. List aufz¨ahlbar
Ziel
Unser Ziel ist der Nachweis einer
“sehr unentscheidbaren” SpracheL:
WederLnoch das Komplement vonLsollen aufz¨ahlbar sein.
In anderen Worten:
Lsoll weder zur Sprachklasse RE noch zu co-RE geh¨oren.
Wir benutzen
Hε={hMi |M h¨alt auf leerem Band}
und die Tatsache, dassHε zwar aufz¨ahlbar ist, das KomplementHε aber nicht aufz¨ahlbar ist.
(Sonst w¨are Hε ja sogar entscheidbar.)
Jenseits von RE und co-RE
Wir zeigen Satz
Die Sprache Htotal = {hMi | M h¨alt f¨ur jedes w} ist nicht aufz¨ahlbar, und das Komplement Htotal ist ebenfalls nicht aufz¨ahlbar.
Zum Beweis nutzen wir Teil (b) des vorangehenden Satzes f¨ur die nicht-aufz¨ahlbare Sprache Hε. Es gen¨ugt zu zeigen:
Lemma 1 Hε≤Htotal Lemma 2 Hε≤Htotal
Lemma 2
Wir m¨ussen eine berechenbare Funktion f :{0,1}∗ → {0,1}∗ finden mit
(∗) u∈Hε gdw. f(u)∈Htotal
Beim Nachweis der Unentscheidbarkeit vonHtotal haben wir bereits eine berechenbare Funktionf angegeben mit
u∈Hε gdw. f(u)∈Htotal
Durch Negation beider Seiten wissen wir dann f¨ur dieselbe Funktionf, dass auch (∗) gilt.
Lemma 1
Wir m¨ussen eine berechenbare Funktion f :{0,1}∗ → {0,1}∗ finden mit:u ∈Hε gdw. f(u)∈Htotal
Beachte:u ∈Hε trifft zu, wenn u kein TM-Kode ist oder aber u=hMi f¨ur eine TM M gilt mit M :ε→ ∞
Wir konstruieren aus einer TMM eine TM M0 mit folgender Arbeitsweise:
F¨ur Eingabe w terminiert M0 mit Ausgabeε, wenn M auf εmindestens |w|Schritte l¨auft – wenn M vorher
terminiert, dann terminiert M0 f¨ur die Eingabe w nicht.
Dann gilt:
M :ε→ ∞
⇔f¨ur alle Schrittzahlen s l¨auftM aufεmindestens s Schritte
⇔M0 terminiert f¨ur jede Eingabew, d.h. hM0i ∈Htotal
Beweis von Lemma 2
NebenM0 definieren wir noch eine feste TM M0, welche die Konstanteεberechnet, also eine totale Funktion:
M0 hat nur die Instruktionen q00/1/BqBN.
Definieref :{0,1}∗→ {0,1}∗ durch f(u) =hM0i, fallsu kein TM-Kode ist, andernfalls (f¨ur u =hMi) sei f(u) =hM0i
f ist berechenbar. Wir zeigen:u∈Hε gdw. f(u)∈Htotal
F¨uru ∈Hε ist f(u)(=hM0i) in Htotal
F¨uru ∈Hε ex. M mitu =hMi, sodassM :ε→stopp ins Schritten,
d.h.M0 terminiert nicht f¨ur Eingaben einer L¨ange≥s, alsof(u)∈Htotal.
H
εund der Existenzquantor
F¨urw ∈ {0,1}∗ sei num(w) die nat¨urliche Zahl mit Bin¨ardarstellung w. (Es sei num(ε) = 0.)
Wir erinnern uns an die Definition vonHε. hMi ∈Hε ⇔
es existiert eine Schrittzahls, so dassM :ε→stoppins Schritten.
DefiniereHε0 als die Menge derjenigen W¨orteru#v, so dassu Kode einer TMM ist, die auf das Leere Band angesetzt in
≤num(v) Schritten stoppt.
Hε0 ist entscheidbar!
u ∈Hε ⇔ ∃v ∈ {0,1}∗ :u#v ∈Hε0.
Die aufz¨ahlbare Sprache Hε ist also “einen Existenzquantor entfernt” von einer entscheidbaren Sprache.
Diese Idee gilt allgemein.
Logische Charakterisierung von RE
Satz
L⊆ {0,1}∗ ist aufz¨ahlbar (also geh¨ort zu RE) gdw.
es gibt eine entscheidbare SpracheL0 ⊆ {0,1,#}∗, so dass gilt (∗) u∈L ⇔ ∃v :u#v∈L0.
Wir f¨uhren den Beweis mit “semi-entscheidbar” statt “aufz¨ahlbar”.
⇐:AL0 entscheideL0, so dass (∗) gilt.
Folgender Algorithmus semi-entscheidetL:
F¨ur Eingabe u gehe die W¨orter v ∈ {0,1}in kanonischer Reihenfolge durch, teste mit AL0 jeweils, ob u#v ∈L0, und terminiere, sobald ein solches v gefunden ist.
⇒:Lwerde durch AL semi-entschieden.
SetzeL0 :={u#v |AL stoppt aufu innerhalb num(v) Schritten}
Dann gilt (∗), wie zu zeigen war.
Logische Charakterisierung von co-RE
Die Anwendung der Negation auf die beiden Seiten von (∗) liefert folgenden Satz:
Satz
L⊆ {0,1}∗ ist Komplement einer aufz¨ahlbaren Sprache gdw.
es gibt eine entscheidbare SpracheL0 ⊆ {0,1,#}∗, so dass gilt (∗) u∈L ⇔ ∀v :u#v∈L0.
Zwei Quantoren
Bei der SpracheHtotal gen¨ugt weder ein einzelner Existenzquantor noch ein einzelner Allquantor f¨ur die “Anbindung” an eine
entscheidbare Sprache.
Man braucht zwei Quantoren:
hMi ∈Htotal gdw.
∀w ∈ {0,1}∗∃v ∈ {0,1}∗:M :w →stoppin ≤num(v) Schritten Die letzte Bedingung ist entscheidbar (inhMi,w,v).
Eine Wortfunktion heißefasttotal, wenn sie bis auf endlich viele Ausnahmenf¨ur alle W¨orter definiert ist.
Arithmetische Hierarchie
F¨ur die Beschreibung der Sprache
Hfasttotal ={hMi |M berechnet eine fasttotale Funktion}
braucht man drei Quantoren, um die Anbindung an eine entscheidbare Sprache zu erhalten:
“Es gibt ein`, sodass f¨ur alle w einer L¨ange ≥`eine Schrittzahls existiert mit:M auf w angesetzt stoppt in≤s Schritten”.
Auf diese Weise entsteht die “arithmetische Hierarchie”, eine Abstufung der unentscheidbaren Sprachen nach wachsender logischer Komplexit¨at.
Auf dern-ten Stufe sind Sprachen Lfolgender Form:
L={u | ∃v1∀v2∃v3. . .∃/∀vn:u#v1#v2#. . .#vn∈L0} wobeiL0 entscheidbar ist.