• Keine Ergebnisse gefunden

VL-06: Rekursive Aufz¨ahlbarkeit (Berechenbarkeit und Komplexit¨at, WS 2018) Gerhard Woeginger

N/A
N/A
Protected

Academic year: 2022

Aktie "VL-06: Rekursive Aufz¨ahlbarkeit (Berechenbarkeit und Komplexit¨at, WS 2018) Gerhard Woeginger"

Copied!
45
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

VL-06: Rekursive Aufz¨ ahlbarkeit

(Berechenbarkeit und Komplexit¨ at, WS 2018) Gerhard Woeginger

WS 2018, RWTH

(2)

Organisatorisches

N¨achste Vorlesung:

Donnerstag, November 22, 12:30–14:00 Uhr, Aula Webseite:

http://algo.rwth-aachen.de/Lehre/WS1819/BuK.php

(3)

Wiederholung

(4)

Wdh.: Bisher betrachtete unentscheidbare Probleme

Die folgenden Probleme sind unentscheidbar:

Die Diagonalsprache:

D = {w ∈ {0,1}|w =wi undMi akzeptiertw nicht}

Das Diagonalsprachenkomplement:

D = {w ∈ {0,1}|w =wi undMi akzeptiertw}

Das Halteproblem:

H = {hMiw |M h¨alt aufw} Das Epsilon-Halteproblem:

H = {hMi |M h¨alt auf der Eingabe }

(5)

Wdh.: Der Satz von Rice

Satz

Es seiRdie Menge der von TMen berechenbaren partiellen Funktionen.

Es seiS eine Teilmenge vonRmit∅(S (R.

Dann ist die Sprache

L(S) ={hMi |M berechnet eine Funktion ausS}

unentscheidbar.

R

u

f S

(6)

Wdh.: Der Satz von Rice / Beweis

Mε

w w=hMi hMi

reject (Syntax)

ML(S) Istw eine

G¨odel- nummer?

accept reject

M

x f(x)

M N

ε

(7)

Wdh.: Satz von Rice / Anwendungsbeispiele

Beispiel 2

Es seiS={fM | ∀w ∈ {0,1}:fM(w)6=⊥}.

Dann ist

L(S) ={hMi |M berechnet eine Funktion ausS}

={hMi |M h¨alt auf jeder Eingabe}

Diese Sprache ist auch als dastotale Halteproblem Htot bekannt.

Gem¨ass dem Satz von Rice ist die SpracheHtot nicht entscheidbar.

Beispiel 5

Es seiH32={hMi |auf jeder Eingabe h¨altM

nach h¨ochstens 32 Schritten}.

Uber diese Sprache sagt der Satz von Rice nichts aus!¨

(8)

Wdh.: Satz von Rice f¨ ur Java Programme

Konsequenzen f¨ur Java:

Es gibt keine algorithmische Methode (von Hand oder automatisiert;

heute oder morgen oder in ferner Zukunft) um festzustellen, ob ein gegebenes Java Programm einer nicht-trivialen Spezifikation entspricht.

Analoge Konsequenzen gelten f¨ur alle anderen h¨oheren

Programmiersprachen wie C, C++, Pascal, Algol, COBOL, Python, FORTRAN, LISP, Prolog, Haskell, Scala, Idris, etc.

(9)

Vorlesung VL-06 Rekursive Aufz¨ ahlbarkeit

Semi-Entscheidbarkeit Rekursive Aufz¨ahlbarkeit Abschlusseigenschaften Berechenbarkeitslandschaft Reduktionen

Das totale Halteproblem

(10)

Semi-Entscheidbarkeit

& Rekursive Aufz¨ ahlbarkeit

(11)

Semi-Entscheidbarkeit (1)

Eine SpracheLwird von einer TM M entschieden, wenn M auf jeder Eingabe h¨alt, und

M genau die W¨orter ausLakzeptiert.

Wenn eine TM existiert, die die SpracheLentscheidet, so wirdLals rekursivoderentscheidbarbezeichnet.

Eine SpracheLwird von einer TM M erkannt, wenn M jedes Wort ausL akzeptiert, und

M kein Wort akzeptiert, das nicht inLenthalten ist.

Also: Die vonM erkannte Sprache ist genauL(M).

(12)

Semi-Entscheidbarkeit (2)

Definition

Wenn eine TM existiert, die die SpracheLerkennt, so wird Lalssemi-entscheidbarbezeichnet.

Anmerkung: Den Begriffsemi-entscheidbarfindet man in der Literatur oft auch alsTuring-akzeptierbar oderTuring-erkennbar.

Anmerkung:Lentscheidbar =⇒ L semi-entscheidbar

(13)

Semi-Entscheidbarkeit (3): Beispiel

Beispiel

Das HalteproblemH={hMiw |M h¨alt aufw} ist nicht entscheidbar, aber semi-entscheidbar.

Beweis: Die folgende TMMH erkennt die Sprache H.

Erh¨alt MH eine syntaktisch inkorrekte Eingabe, so verwirftMH die Eingabe.

Erh¨alt MH eine Eingabe der FormhMiw, so simuliertMH die TMM mit Eingabe w und akzeptiert, sobald/fallsM aufw h¨alt.

(14)

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.

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.

Die ausgegebenen W¨orter werden dabei immer durch ein Trennzeichen separiert, das nicht inΣenthalten ist.

Der Aufz¨ahler druckt ausschliesslich W¨orter inL.

(15)

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

s o m e o u

s o m e o u t

Schreibkopf bewegt sich nur nach rechts

(16)

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

s o m e o u

s o m e o u t

Schreibkopf bewegt sich nur nach rechts

(17)

Rekursive Aufz¨ ahlbarkeit

Definition

Wenn es f¨ur die SpracheLeinen Aufz¨ahler gibt, so wird Lalsrekursiv aufz¨ahlbarbezeichnet.

Zentraler Satz:

Satz (Rekursive Aufz¨ahlbarkeit⇔Semi-Entscheidbarkeit) Eine SpracheList genau dannrekursiv aufz¨ahlbar,

wenn Lsemi-entscheidbarist.

(18)

Beweis (1): Rekursiv aufz¨ ahlbar → semi-entscheidbar

Angenommen,L ist rekursiv aufz¨ahlbar und hat einen Aufz¨ahlerA.

Wir konstruieren eine TMM, die Lerkennt.

Bei Eingabe des Wortesw arbeitet M wie folgt:

M simuliertAmit Hilfe eines Bandes, das die Rolle des Druckers

¨

ubernimmt.

Immer wenn ein neues Wort auf das Band gedruckt worden ist, vergleichtM dieses Wort mit w und akzeptiert bei ¨Ubereinstimmung.

Korrektheit:

Fallsw ∈L, so wirdw irgendwann gedruckt und zu diesem Zeitpunkt vonM akzeptiert.

Fallsw 6∈L, so wirdw niemals gedruckt und somit auch niemals von

(19)

Beweis (2): Semi-entscheidbar → rekursiv aufz¨ ahlbar

Angenommen,L ist semi-entscheidbar und wird von der TMM erkannt.

Wir konstruieren einen Aufz¨ahlerA f¨urL.

In derk-ten Runde (mitk=1,2,3, . . .)

simuliert der Aufz¨ahler je k Schritte vonM auf jedem der W¨orter w1, . . . ,wk.

Immer wenn die Simulation eines der Worte akzeptiert, druckt der Aufz¨ahler dieses Wort aus.

Korrektheit:

Der Aufz¨ahlerAdruckt offensichtlich nur W¨orter ausLaus.

Aber druckt er auch wirklich alle W¨orter ausL aus?

Es seiwi ein Wort in der SpracheL. Dann wirdwi von der TMM nach einer endlichen Anzahl ti von Schritten akzeptiert.

Deshalb wirdwi in jeder Runde k mitk ≥max{i,ti} vom Aufz¨ahler

(20)

w1

w2

w3

w4

w5

w6

w7

.. . .. . .. .

Anzahl der Schritte, die TMM aufwi ben¨otig:−→

(21)

Abschlusseigenschaften

(22)

Durchschnitt (1)

Satz

(a) Wenn die beiden SprachenL1undL2entscheidbar sind, so ist auch die SpracheL1∩L2 entscheidbar.

(b) Wenn die beiden SprachenL1undL2rekursiv aufz¨ahlbar sind, so ist auch die SpracheL1∩L2 rekursiv aufz¨ahlbar.

(23)

Durchschnitt (2): Beweis von Teil (a)

Es seienM1 undM2zwei TMen, dieL1respektiveL2entscheiden.

Eine TMM, die L1∩L2entscheidet:

Bei Eingabew simuliertM zun¨achst das Verhalten vonM1 aufw und dann das Verhalten vonM2 aufw.

FallsM1 undM2 beide das Wortw akzeptieren, so akzeptiert auch M; andernfalls verwirftM.

Korrektheit:

Fallsw ∈L1∩L2, so wirdw akzeptiert.

Andernfalls wirdw verworfen.

(24)

Durchschnitt (3): Beweis von Teil (b)

Es seien nunM1 undM2 zwei TMen, dieL1 respektiveL2 erkennen.

Wir verwenden die gleiche Konstruktion f¨urM wie in (a).

Eine TMM, die L1∩L2erkennt:

Bei Eingabew simuliertM zun¨achst das Verhalten vonM1 aufw und dann das Verhalten vonM2 aufw.

FallsM1 undM2 beide akzeptieren, so akzeptiert auchM.

Korrektheit:

Fallsw ∈L1∩L2, so wirdw vonM akzeptiert.

Andernfalls wirdw nicht akzeptiert.

(25)

Vereinigung (1)

Satz

(a) Wenn die beiden SprachenL1undL2entscheidbar sind, so ist auch die SpracheL1∪L2 entscheidbar.

(b) Wenn die beiden SprachenL1undL2rekursiv aufz¨ahlbar sind, so ist auch die SpracheL1∪L2 rekursiv aufz¨ahlbar.

(26)

Vereinigung (2): Beweis von Teil (a)

Es seienM1 undM2zwei TMen, dieL1respektiveL2entscheiden.

Eine TMM, die L1∪L2entscheidet:

Bei Eingabew simuliertM zun¨achst das Verhalten vonM1 aufw und dann das Verhalten vonM2 aufw.

FallsM1 oderM2das Wortw akzeptiert, so akzeptiert auchM;

andernfalls verwirftM. Korrektheit:

Fallsw ∈L1∪L2, so wirdw vonM1 oder vonM2 und somit auch vonM akzeptiert.

Andernfalls verwerfen sowohlM1als auch M2, und damit auch M.

(27)

Vereinigung (3): Beweis von Teil (b)

Es seien nunM1 undM2 zwei TMen, dieL1 respektiveL2 erkennen.

Eine TMM, die L1∪L2erkennt

Wir nehmen o.B.d.A. an, dassM ¨uber zwei B¨ander verf¨ugt.

Auf Band 1 wirdM1aufw simuliert.

Auf Band 2 wirdM2aufw simuliert.

Sobald ein Schritt gemacht wird, in dem M1oderM2 akzeptiert, akzeptiert auch die TMM.

Korrektheit:

Fallsw ∈L1∪L2, so wirdw vonM1 oder vonM2 und somit auch vonM akzeptiert.

Andernfalls wirdw nicht akzeptiert.

(28)

Komplement (1)

Lemma

Wenn sowohl die SpracheL⊆Σals auch ihr KomplementL:= Σ\L rekursiv aufz¨ahlbar sind, so istLentscheidbar.

Beweis:

Es seien M undM zwei TMen, dieLrespektiveLerkennen.

F¨ur ein Eingabewortw simuliert die neue TMM0das Verhalten von M aufw und das Verhalten vonM aufw parallel auf zwei B¨andern.

Wenn M akzeptiert, so akzeptiertM0. WennM akzeptiert, so verwirft M0.

Da entwederw ∈Loderw 6∈L gilt, tritt eines der beiden obigen Ereignisse (M akzeptiert; M akzeptiert) nach endlicher Zeit ein.

Damit ist die Terminierung von M0 sichergestellt.

(29)

Komplement (2)

Satz 1

Wenn die SpracheL entscheidbar ist, so ist auch ihr KomplementL entscheidbar.

Beweis: Wir k¨onnen das Akzeptanzverhalten einer TMM, dieL entscheidet, invertieren.

Satz 2

Wenn die SpracheLrekursiv aufz¨ahlbar ist, so ist ihr KomplementLnicht notwendigerweise rekursiv aufz¨ahlbar.

Beispiel:

Das HalteproblemH ist rekursiv aufz¨ahlbar.

FallsH ebenfalls rekursiv aufz¨ahlbar, so w¨areH entscheidbar.

(30)

Die Berechenbarkeitslandschaft

(31)

Berechenbarkeitslandschaft (1)

Beobachtung

Jede SpracheL f¨allt in genau eine der folgenden vier Familien.

(1) List entscheidbar, und sowohlLals auch Lsind rekursiv aufz¨ahlbar.

(2) L ist rekursiv aufz¨ahlbar, aberList nicht rekursiv aufz¨ahlbar (3) L ist rekursiv aufz¨ahlbar, aberList nicht rekursiv aufz¨ahlbar (4) WederL nochLsind rekursiv aufz¨ahlbar

Beispiele

Familie 1: Graphzusammenhang; Hamiltonkreis Familie 2: H, H,D

Familie 3: H, H,D,

Familie 4: Htot ={hMi |M h¨alt auf jeder Eingabe}

(32)

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

(33)

Reduktionen

(34)

Reduktionen (1)

Definition

Es seienL1 undL2 zwei 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

(35)

Reduktionen (2)

Eine Reduktion ist ein Algorithmus, der die Instanzen eines Startproblems als Spezialf¨alle eines Zielproblems formuliert.

M1 f¨urL1

x Reduktion:

Ubersetze¨ x inf(x)

f(x)

M2 f¨urL2

accept

reject

(36)

Reduktionen (3)

Satz

FallsL1≤L2 und fallsL2 rekursivaufz¨ahlbarist, so ist auchL1 rekursivaufz¨ahlbar.

Beweis: Wir konstruieren eine TMM1, die L1 erkennt, indem sie als Unterprogramm eine TMM2 verwendet, dieL2erkennt:

F¨ur eine Eingabex berechnet die TMM1zun¨achstf(x).

Danach simuliertM1die TMM2 mit der Eingabef(x).

M1akzeptiert die Eingabex, falls M2die Eingabe f(x)akzeptiert.

M1akzeptiertx ⇔ M2akzeptiertf(x)

⇔ f(x)∈L2

⇔ x ∈L

(37)

Reduktionen (4)

Der bewiesene Satz und der logisch ¨aquivalente Umkehrschluss FallsL1≤L2 und fallsL2 rekursiv aufz¨ahlbar ist,

so ist auchL1 rekursiv aufz¨ahlbar.

FallsL1≤L2 und fallsL1 nichtrekursiv aufz¨ahlbar ist, so ist auchL2 nichtrekursiv aufz¨ahlbar.

M1 f¨urL1

x Reduktion:

Ubersetze¨ x inf(x)

f(x)

M2 f¨urL2

accept

reject

(38)

Das totale Halteproblem

(39)

Das totale Halteproblem

Definition (Totales Halteproblem)

Htot = {hMi |M h¨alt auf jeder Eingabe}

Wir wissen bereits:Hist unentscheidbar, aber rekursiv aufz¨ahlbar.

Daraus folgt:H ist nicht rekursiv aufz¨ahlbar.

Wir werden zeigen:

Behauptung A: H≤Htot

Behauptung B: H≤Htot

Aus diesen beiden Reduktionen folgt dann:

Satz

WederHtot noch Htot ist rekursiv aufz¨ahlbar.

(40)

Behauptung A: H ≤ H

tot

Beweis (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.

Wenn w keine g¨ultige G¨odelnummer ist, so setzen wirf(w) =w. Fallsw =hMif¨ur eine TMM, so seif(w) :=hMidie

G¨odelnummer der TMMmit folgendem Verhalten:

Mignoriert die Eingabe und simuliertM mit der Eingabe. Die beschriebene Funktionf ist berechenbar. (Warum?)

(41)

Behauptung A: H ≤ H

tot

Beweis (2)

F¨ur die Korrektheit zeigen wir:

(a) w ∈H ⇒ f(w)∈Htot (b) w ∈/ H ⇒ f(w)6∈Htot

Fallsw keine G¨odelnummer ist, giltw ∈Hundf(w)∈Htot. Dieser Unterfall von (a) ist also korrekt erledigt.

Fallsw =hMif¨ur eine TMM, so betrachten wirf(w) =hMi.

Dann gilt:

w ∈H ⇒ M h¨alt nicht auf der Eingabe.

⇒ M h¨alt auf gar keiner Eingabe.

⇒ hMi 6∈Htot

⇒ f(w) =hMi ∈Htot und (a) ist korrekt.

(42)

Behauptung A: H ≤ H

tot

Beweis (3)

F¨ur die Korrektheit zeigen wir:

(a) w ∈H ⇒ f(w)∈Htot

(b) w ∈/ H ⇒ f(w)6∈Htot

Fallsw =hMif¨ur eine TMM, so betrachten wirf(w) =hMi.

Dann gilt:

w 6∈H ⇒ w ∈H

⇒ M h¨alt auf der Eingabe.

⇒ M h¨alt auf jeder Eingabe

⇒ hMi ∈Htot

⇒ f(w) =hMi 6∈Htot und (b) ist korrekt.

(43)

Behauptung B: H ≤ H

tot

Beweis (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. Es seiw0 irgendein Wort ausHtot. Wenn w keine g¨ultige G¨odelnummer ist, so setzen wirf(w) =w0. Fallsw =hMif¨ur eine TMM, so seif(w) :=hM0idie

G¨odelnummer der TMM0, die sich auf Eingaben der L¨ange`wie folgt verh¨alt:

M0 simuliert die ersten`Schritte vonM auf der Eingabe. Wenn M innerhalb dieser`Schritte h¨alt, dann geht M0 in eine Endlosschleife; andernfalls h¨altM0.

(44)

Behauptung B: H ≤ H

tot

Beweis (2)

F¨ur die Korrektheit zeigen wir:

(a) w ∈H ⇒ f(w)∈Htot (b) w ∈/ H ⇒ f(w)6∈Htot

Fallsw keine G¨odelnummer ist, giltw ∈Hundf(w) =w0∈Htot. Dieser Unterfall von (a) ist also korrekt erledigt.

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

(45)

Behauptung B: H ≤ H

tot

Beweis (3)

F¨ur die Korrektheit zeigen wir:

(a) w ∈H ⇒ f(w)∈Htot (b) w ∈/ H ⇒ f(w)6∈Htot

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 mit L¨ange≥i.

⇒ M0 h¨alt nicht auf jeder Eingabe.

⇒ f(w) =hM0i 6∈Htot und (b) ist korrekt.

Damit ist Behauptung B bewiesen.

Referenzen

ÄHNLICHE DOKUMENTE

Wenn es f¨ ur die Sprache L einen Aufz¨ ahler gibt, so wird L als rekursiv aufz¨ ahlbar bezeichnet..

Wenn es f¨ ur die Sprache L einen Aufz¨ ahler gibt, so wird L als rekursiv aufz¨ ahlbar bezeichnet..

Reduktionen (spezielle Variante der Unterprogrammtechnik) Satz von Rice: Aussagen ¨ uber Eigenschaften von Funktionen, die durch eine gegebene TM berechnet werden, sind

Reduktionen (spezielle Variante der Unterprogrammtechnik) Satz von Rice: Aussagen ¨ uber Eigenschaften von Funktionen, die durch eine gegebene TM berechnet werden, sind

Wir werden zeigen, dass SAT, CLIQUE, Ham-Cycle, PARTITION, Rucksack und viele weitere Probleme NP-vollst¨ andig sind.. Unter der Annahme P 6= NP (Standardannahme) besitzt also

Wir werden zeigen, dass SAT, CLIQUE, Ham-Cycle, PARTITION, Rucksack und viele weitere Probleme NP-vollst¨ andig sind.. Unter der Annahme P 6= NP (Standardannahme) besitzt also

Auch wenn eine Aufgabe als Entscheidungsfrage formuliert wird, gibt es f¨ ur ein einfaches Ja oder Nein keine Punkte. Allgemein: Punkte werden bei der Klausur haupts¨ achlich f¨

Um nachzuweisen, dass L nicht entscheidbar ist, gen¨ ugt es zu zeigen, dass man mit Hilfe von Unterprogrammaufrufen einer TM M L , die L entscheidet, auch die Sprache L 0