• Keine Ergebnisse gefunden

Berechenbarkeit und Komplexit¨at Vorlesung 6

N/A
N/A
Protected

Academic year: 2022

Aktie "Berechenbarkeit und Komplexit¨at Vorlesung 6"

Copied!
26
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Berechenbarkeit und Komplexit¨ at Vorlesung 6

Prof. Dr. Wolfgang Thomas Lehrstuhl Informatik 7

RWTH Aachen

10. November 2014

(2)

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.

(3)

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.

(4)

Erinnerung: Kodierung einer Turingmaschine

Ein Eintrag z der Turingtafel

i ak j a L/R/N wird kodiert durch den Bin¨arstring

code(z) := 0i10k10j1010/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

(5)

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.

(6)

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.

(7)

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.

(8)

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.

(9)

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.

(10)

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.

(11)

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 0i10j10k10100 11

Wie in der ¨Ubergangsfunktion beschrieben aktualisiert U die Inschrift auf Band 1 (Ersetzung von 0j1 durch 01)

bewegt U den Kopf auf Band 1, und

ver¨andert U den auf Band 3 abgespeicherten Zustand vonM (Ersetzung von 0i1 durch 0k1).

(12)

Eine nicht aufz¨ ahlbare Sprache

Wir wissen:

Die SpracheH ist aufz¨ahlbar, aber nicht entscheidbar.

Wir setzenH:={0,1}\H

uH 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.

(13)

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 L1L2 und A f¨ur L1L2:

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.

(14)

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 L1L2 und A f¨urL1L2:

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.

(15)

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

(16)

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?

(17)

Entscheidungsprobleme

Wir erinnern an das Format eines Entscheidungsproblems:

Ein EntscheidungsproblemP ist gegeben durch die MengeIP der Probleminstanzen

die MengePIP 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

(18)

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).

(19)

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 xP? Q: Gegebenx in IQ, giltxQ?

Pheißt reduzierbar auf Q (P≤Q) gdw.

es gibt eine berechenbare Funktion f :IPIQ mit:

xP gdw. f(x)∈Q (f¨ur alle xIP)

(20)

Illustration

(21)

Reduktionslemma

Lemma

GelteP≤Q. WennP unentscheidbar ist, so auch Q.

Beweis:

Wir zeigen die ¨aquivalente Aussage:

IstQentscheidbar, dann ist auch P entscheidbar.

(22)

Beweis

VoraussetzungP≤Q.

Betrachte also berechenbare Funktionf :IPIQ mit:

(∗) xP gdw. f(x)∈Q (f¨ur allexIP)

Zu zeigen: IstQentscheidbar, dann ist auch P entscheidbar.

SeiAf ein Algorithmus, derf berechnet.

SeiAQ ein Algorithmus, der zuyIQ entscheidet, ob yQ.

Gesucht:AP, der P entscheidet.

DefiniereAP so:

Bei EingabexIP wendeAf an, erhaltef(x)∈IQ

Auff(x) wende AQ an, erhalte Antwort, ob f(x)∈Q. Gebe dieAQ-Ausgabe aus. Korrekt wegen (∗)!

(23)

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.

(24)

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.

(25)

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ε.

(26)

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 ε).

Referenzen

ÄHNLICHE DOKUMENTE

Welche Funktionen sind durch einen Algorithmus

Falls dieses Zeichen eine 1 ist, so l¨osche es, gehe nach links, und wechsel in den Zustand

Beweis: Die Menge aller TM ¨uber {0, 1} ist abz¨ahlbar, also auch die Menge der TM, die eine Sprache

Trivial sind die Eigenschaften “M hat endlich viele Zust¨ande” oder. “M hat

Wir m¨ussen also nur noch zeigen, dass jede Funktion, die durch eine eingeschr¨ankte RAM berechnet werden kann, auch durch ein WHILE-Programm berechnet werden kann... Beweis

Wir zeigen jetzt, dass sogar bei der Berechnung totaler Funktionen das while-Konstrukt nicht durch loop ersetzt werden kann.. Dazu betrachten wir

NP ist die Klasse der Entscheidungsprobleme, die durch eine NTM M erkannt werden, deren worst case Laufzeit t M (n) polynomiell beschr¨ankt ist. NP steht dabei f¨ur

CLIQUE ist NP-vollst¨andig... Identifiziere Literale und Knoten, d.h. Zwei Knoten werden durch eine Kante verbunden, wenn.. 1) die assoziierten Literale geh¨oren zu