• Keine Ergebnisse gefunden

Berechenbarkeit und Komplexit¨at Vorlesung 5

N/A
N/A
Protected

Academic year: 2022

Aktie "Berechenbarkeit und Komplexit¨at Vorlesung 5"

Copied!
29
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Berechenbarkeit und Komplexit¨at Vorlesung 5

Prof. Dr. Wolfgang Thomas Lehrstuhl Informatik 7

RWTH Aachen

22. November 2014

(2)

Erinnerung: Church-Turing-These

Church-Turing-These

Die Klasse der TM-berechenbaren Funktionen stimmt mit der Klasse der “im intuitiven Sinne algorithmisch berechenbaren” Funktionen

¨ uberein.

(3)

berechenbar vs. aufz¨ahlbar vs. entscheidbar

Die Church-Turing-These bezieht sich auf Berechenbarkeit.

Wir zeigen enge Zusammenh¨ange zum Begriff der Aufz¨ahlbarkeit und der Entscheidbarkeit.

Diesen Zusammenhang kann man auf intuitiver Ebene oder auf TM-Ebene zeigen.

(4)

Aufz¨ahlbarkeit via Berechenbarkeit

Eine MengeL⊆Σ ist genau dann aufz¨ahlbar,

wenn sie Definitionsbereich einer berechenbaren Funktion f : Σ Σ ist.

(5)

Beweis von ⇒

SeiA ein Algorithmus, derLaufz¨ahlt.

Wir verwendenA in folgendem AlgorithmusB, der eine Funktionf mitDef(f) =Lberechnet:

Bei Eingabe u lasse den Aufz¨ahlungsalgorithmus A so lange laufen, bis er einmal das Wort u als Ausgabe geliefert hat; in diesem Falle terminiere mit Ausgabe ε, ansonsten laufe ohne Termination weiter.

(6)

Beweis von ⇐

SeiA ein Algorithmus, derf : Σ Σ berechnet.

Wir verwendenA in folgendem Algorithmus B, der die Menge Def(f) aufz¨ahlt.

Gehe nach dem Diagonalverfahren alle Kombinationen (Wort wi ausΣ, Schrittzahl j) durch und lasse jeweils den Algorithmus A mit Eingabe wi f¨ur j Schritte laufen.

Immer, wenn dabei festgestellt wird, dass A f¨ur Eingabe wi nachj Schritten terminiert, gebe das jeweilige Wort wi aus.

(7)

Berechenbarkeit via Aufz¨ahlbarkeit

Zuf : Σ Σ sei der “Graph von fGf :={u#v |u ∈Def(f) und f(u) =v}

Eine Funktion f : Σ Σ ist genau dann berechenbar, wenn ihr GraphGf aufz¨ahlbar ist.

(8)

Beweis ⇐

Aus einem Aufz¨ahlungsalgorithmusAf¨ur Gf konstruieren wir einen AlgorithmusB zur Berechnung vonf:

Bei Eingabe u0 starte den Aufz¨ahlungsalgorithmus und pr¨ufe bei jeder Ausgabe, ob es sich um ein Wort der Form u0#v handelt; in diesem Falle gebe v aus und terminiere.

Dieser Algorithmus terminiert genau dann mit dem richtigen Ergebnisv =f(u0), wenn u0∈Def(f), und er l¨auft andernfalls ohne zu terminieren.

Damit berechnet der Algorithmus die Funktionf

(9)

Beweis ⇒

Aus einem AlgorithmusAzur Berechnung vonf konstruieren wir einen Aufz¨ahlungsalgorithmusB f¨urGf:

Nutze die kanonische Reihenfolge aller W¨orter w0,w1,w2, . . .¨uber dem AlphabetΣ. Gehe im Diagonalverfahren alle Kombinationen (wi,j) durch,

¨uberpr¨ufe jeweils, ob A bei Eingabe wi binnen j Schritten terminiert, etwa mit der Ausgabe v , und gebe in diesem Fall das Wort wi#v aus.

Dies liefert offensichtlich eine Aufz¨ahlung des Graphen vonf.

(10)

Aufz¨ahlbarkeit und Entscheidbarkeit

(a) IstL⊆Σ entscheidbar, so auch aufz¨ahlbar.

(b) Eine SpracheL⊆Σ ist entscheidbar genau dann, wenn sowohl Lals auch das Komplement Σ\LvonL aufz¨ahlbar sind.

(11)

Beweis von (a)

Mit einem EntscheidungsverfahrenAf¨ur Lkonstruieren wir ein Aufz¨ahlungsverfahren:

Gehe alle W¨orter in kanonischer Reihenfolge

w0,w1,w2, . . .durch, lasse jeweils A auf wi laufen (diese Berechnung terminiert!) und gebe wi aus, wenn A die Antwort “ja” (d.h. “wiL”) liefert.

(12)

Beweis von (b)

⇒: Aus einem Entscheidungsverfahren f¨urL ergibt sich ein Aufz¨ahlungsalgorithmus gem¨aß Teil (a).

Ein Aufz¨ahlungsalgorithmus f¨ur das Komplement vonL ergibt sich, wenn man im Beweis von (a) statt der Antwort “ja” vonAdie Antwort “nein” verwendet.

⇐: Aus Aufz¨ahlungsverfahren A1,A2 f¨ur Lbzw. das Komplement vonLkonstruieren wir einen Entscheidungsalgorithmus f¨ur L:

Bei Eingabe u lasse die Algorithmen A1,A2 zugleich laufen, bis einer von beiden u liefert: Ist dies A1, terminiere mit Ausgabe “ja”; ist dies A2, terminiere mit Ausgabe “nein”.

Dieser Algorithmus terminiert f¨ur jedesu, denn es giltuL oder u∈(Σ\L), also liefert entweder A1 oderA2 irgendwann das Wortu.

(13)

Semi-Entscheidbarkeit

Eine SpracheL⊆Σ heißt semi-entscheidbar, wenn es eine TM

¨uber Σ gibt, die

f¨ur jedes Eingabewort wLterminiert (oBdA mit Ausgabe 1) f¨ur jedes Eingabewort w 6∈Lnicht terminiert.

Eine Sprache L ⊆ Σ ist semi-entscheidbar genau dann, wenn sie aufz¨ahlbar ist.

(14)

Beweis

⇒: Aus einem Semi-EntscheidungsalgorithmusAf¨ur L konstruieren wir einen Aufz¨ahlungsalgorithmusB:

Benutze die kanonische Reihenfolge w0,w1,w2, . . .der W¨orter ¨uberΣ und gehe im Diagonalverfahren alle Kombinationen (Wort wi, Schrittzahl j) durch: Pr¨ufe jeweils, ob der Algorithmus A f¨ur Eingabe wi binnen j Schritten terminiert und gebe in diesem Falle wi aus.

⇐: Aus einem Aufz¨ahlungsalgorithmusAf¨ur Lkonstruieren wir einen Semi-EntscheidungsalgorithmusB:

Bei Eingabe u lasse den Aufz¨ahlungsalgorithmus A laufen und terminiere, sobald A das Wort u liefert; ansonsten laufe ohne zu terminieren.

(15)

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.

(16)

Exkursion: abz¨ahlbare und ¨uberabz¨ahlbare Mengen

Def: abz¨ahlbare Menge

Eine Menge M heißt abz¨ahlbar, wenn es eine surjektive Funktion f :N→M gibt.

Dann istM ={f(0),f(1),f(2), . . .}

(17)

Beispiele f¨ur abz¨ahlbare Mengen

die MengeZ der ganzen Zahlen die MengeQder rationalen Zahlen

{0,1}, die Menge der W¨orter ¨uber dem Alphabet {0,1}

die Menge der Turingmaschinen mit dem Eingabealphabet {0,1}

(18)

Kodierung von Turingmaschinen

Wir stellen eine TM in folgender Form dar:

Sei Q ={1, . . . ,t}.

Der Anfangszustand sei 1 und der Stoppzustand 2.

Γ ={a1,a2, . . .ak} (mita1 = 0,a2,= 1,a3=B) Zur Beschreibung einer TM dieser Form m¨ussen wir nur die Turingtafel als Bin¨arstring kodieren.

(19)

Kodierung der Turingtafel

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

(20)

Bemerkungen

Die Menge der Kodierungsw¨orter von Turingmaschinen ist entscheidbar.

Die MengeT der Turingmaschinen ¨uber {0,1} ist abz¨ahlbar.

Wir definieren eine surjektive Abbildungf :N→ T durch R¨uckgriff auf die kanonische Reihenfolge der W¨orter ¨uber{0,1}:

f(i) :=Turingmaschine, deren Kode deri-te TM-Kode

in der kanonischen Reihenfolge aller W¨orter ¨uber {0,1}ist.

(21)

G¨odelnummern

Wir k¨onnen statt Kodew¨ortern auch nat¨urliche Zahlen zur Kodierung verwenden.

(22)

Eine ¨uberabz¨ahlbare Menge

DiePotenzmenge P(N) von Nist die Menge aller Teilmengen von N.

Satz:

P(N) ist ¨uberabz¨ahlbar.

Beweis:

Annahme: P(N) ist abz¨ahlbar.

Dann gibt es eine surjektive Funktionf :N→ P(N); also P(N) ={f(0),f(1),f(2), . . .}.

Betrachte K :={i ∈N|i 6∈f(i)}

K kommt in der Liste der Mengen f(0),f(1), . . . vor, etwa K =f(i0).

Danni0Ki0 6∈f(i0) ⇔ i06∈K, Widerspruch

(23)
(24)

Von N zur Menge der W¨orter

Die Menge aller Sprachen L ⊆ {0,1}, d.h. die Potenzmenge von {0,1}, ist nicht abz¨ahlbar.

Beweis: Kopiere den Beweis f¨ur die Potenzmenge vonNunter Verwendung der kanonischen Reihenfolge der W¨orter ¨uber Σ.

Erinnerung

Die Menge der entscheidbaren SprachenL⊆ {0,1} ist abz¨ahlbar.

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

Schlussfolgerung

Es gibt eine nicht entscheidbare Sprache.

(25)

Das allgemeine Halteproblem

Gegeben: TuringmaschineM ¨uber {0,1}, Eingabewort w ∈ {0,1} Frage: StopptM bei Eingabew?

Wir nutzen die Kodierung vonM durchhMi.

Dann wird das allgemeine Halteproblem dargestellt durch die folgende Sprache

H = {hMiw |M h¨alt aufw} .

Wir schreiben auchM :w →stopp, wennM angesetzt aufw h¨alt,

(26)

Unentscheidbarkeit des allgemeinen Halteproblems

Das allgemeine Halteproblem ist nicht entscheidbar.

Annahme: Die TMM0 entscheideH. Dann gilt f¨ur jede TM M:

M0:hMiw →

1 falls M :w →stopp 0 falls M :w → ∞

ModifiziereM0 zu einer neuen TMM1, die auf EingabenhMi wie folgt arbeitet:

1 Stelle aus hMi das Wort hMihMi her (Kopiervorgang)

2 Arbeite wieM0 (M0 entscheidet hier, ob M :hMi → stopp)

3 Gehe in∞-Schleife beiM0-Ausgabe 1, aber stoppe bei M0-Ausgabe 0

(Implementierung: Ersetze in M0 den Zustand ¯q durchq und f¨uge folgende Zeilen ein: q1q1N und ansonstenqaq a N¯ .)

(27)

Beweis (Fortsetzung)

F¨ur jedes EingabeworthMi gilt dann:

M1 :hMi →stopp

⇐⇒|{z}

nach Konstr.M1

M0 :hMi hMi

|{z}w

→0

⇐⇒|{z}

M0entscheidetH

M :hMi → ∞.

F¨urM =M1 ergibt sich ein Widerspruch.

Also war die Annahme, das es eine TMM0 gibt, die H entscheidet, falsch.

(28)

Umgangssprachliche Formulierung

Folgendes Entscheidungsproblem ist nicht algorithmisch entscheidbar:

Gegeben eine TM M und ein Eingabewort w , terminiert M nach Start mit dem Eingabewort w ? Kurz: Das Problem, ob eine gegebene TM f¨ur ein gegebenes Eingabewort terminiert, istunentscheidbar.

Beachte:

1 Diese Frage der Programmtermination ist sehr nat¨urlich.

2 Der Bezug auf Turingmaschinen ist unwesentlich.

(29)

Bedeutung der Unentscheidbarkeit von H

Das Ergebnis sagt nur, dass eine uniforme algorithmische L¨osung f¨ur alleInstanzen M,w unm¨oglich ist.

In Einzelf¨allen ist die Frage nat¨urlich beantwortbar.

Tauchen unentscheidbare Probleme in der Praxis auf, versucht man oft, die Instanzen einzuschr¨anken, um noch eine

algorithmische L¨osung zu erreichen.

In der Logik gibt es “unentscheidbare Aussagen” A: Damit meint man etwas anderes – die Nichtbeweisbarkeit sowohl von A als auch von¬A auf Basis der betrachteten Annahmen.

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

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

Auf diese Weise entsteht die “arithmetische Hierarchie”, eine Abstufung der unentscheidbaren Sprachen nach wachsender logischer Komplexit¨ at. Auf der n-ten Stufe sind Sprachen

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