• Keine Ergebnisse gefunden

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

N/A
N/A
Protected

Academic year: 2022

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

Copied!
40
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

VL-06: Rekursive Aufz¨ ahlbarkeit

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

WS 2019, RWTH

(2)

Organisatorisches

N¨achste Vorlesungen:

Freitag, November 8, 12:30–14:00 Uhr, Audimax Mittwoch, November 13, 10:30–12:00, Aula Freitag, November 15, 12:30–14:00 Uhr, Audimax

Webseite:

https://algo.rwth-aachen.de/Lehre/WS1920/BuK/BuK.py

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

Vorlesung VL-06 Rekursive Aufz¨ ahlbarkeit

Semi-Entscheidbarkeit Rekursive Aufz¨ahlbarkeit Abschlusseigenschaften Berechenbarkeitslandschaft Reduktionen

Das totale Halteproblem

(9)

Semi-Entscheidbarkeit

(10)

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 rekursivoderentscheidbar bezeichnet.

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

(11)

Semi-Entscheidbarkeit (2)

Definition

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

Anmerkung:

Den Begriff semi-entscheidbar findet man in der Literatur oft auch unter dem NamenTuring-akzeptierbaroderTuring-erkennbar.

Anmerkung:

Lentscheidbar =⇒ L semi-entscheidbar

(12)

Beispiel: Halteproblem

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.

(13)

Rekursive Aufz¨ ahlbarkeit

(14)

Aufz¨ ahler (1)

Definition

EinAufz¨ahler f¨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)

Rekursive Aufz¨ ahlbarkeit

Definition

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

Zentraler Satz:

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

wenn Lsemi-entscheidbar ist.

(17)

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 M akzeptiert.

(18)

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

(19)

w1

w2

w3

w4

w5

w6

w7

.. . .. . .. .

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

(20)

Abschlusseigenschaften

(21)

Durchschnitt und Vereinigung (1)

Satz

Wenn die beiden SprachenL1 undL2 rekursiv aufz¨ahlbar sind, (a) so ist auch die SpracheL1∩L2 rekursiv aufz¨ahlbar.

(b) so ist auch die SpracheL1∪L2 rekursiv aufz¨ahlbar.

Die Beweise sind sehr ¨ahnlich zu den entsprechenden Beweisen f¨ur entscheidbareSprachen.

(22)

Durchschnitt und Vereinigung (2)

Es seienM1 undM2zwei TMen, dieL1respektiveL2erkennen.

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.

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 wirdM2 aufw simuliert.

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

(23)

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.

(24)

Komplement (2)

Beispiel:

Das HalteproblemH ist rekursiv aufz¨ahlbar.

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

Daher ist Hnicht rekursiv aufz¨ahlbar.

Beobachtung

Wenn eine SpracheL rekursiv aufz¨ahlbar ist,

so ist ihr KomplementL nicht notwendigerweise rekursiv aufz¨ahlbar.

Also: DieMenge der semi-entscheidbaren Sprachenist abgeschlossen unter Durchschnitt und Vereinigung, aber nicht unter Komplement.

(25)

Die Berechenbarkeitslandschaft

(26)

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}

(27)

Berechenbarkeitslandschaft (2)

rekursiv aufz¨ahlbare

Probleme H

H D

Probleme mit rekursiv aufz¨ahlbarem Komplement H H

D entscheidbare

Probleme

Nicht rekursiv aufz¨ahlbare Probleme mit

nicht rekursiv aufz¨ahlbarem Komplement Htot

(28)

Reduktionen

(29)

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

(30)

Reduktionen (2)

Eine Reduktion ist ein Algorithmus, der die Instanzen eines Startproblems L1

als Spezialf¨alle eines ZielproblemsL2 formuliert.

M1 f¨urL1

x Reduktion:

Ubersetze¨ x inf(x)

f(x)

M2 f¨urL2

accept

reject

(31)

Reduktionen (3)

Satz

FallsL1≤L2 und fallsL2 rekursivaufz¨ahlbar ist, 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 ∈L1

(32)

Reduktionen (4)

Noch einmal: Der gerade bewiesene Satz

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

(33)

Das totale Halteproblem

(34)

Das totale Halteproblem

Definition (Totales Halteproblem)

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

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

Wir wissen bereits: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.

(35)

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

(36)

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.

(37)

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.

Damit ist Behauptung A bewiesen.

(38)

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) :=hM0iwobei sich die TMM0 auf Eingabenx der L¨ange|x|=`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.

Die beschriebene Funktionf ist berechenbar. (Warum?)

(39)

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.

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

⇒ ¬∃i:M h¨alt innerhalb voni Schritten auf

⇒ ∀i:M h¨alt nicht innerhalb von i Schritten auf

⇒ ∀i:M0 h¨alt auf allen Eingaben der L¨angei

⇒ M0 h¨alt auf jeder Eingabe

(40)

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 ∈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

Die Inhalte der Register sind nat¨ urliche Zahlen, die beliebig gross werden k¨ onnen.. in den ersten paar Registern

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

Ein schneller Algorithmus f¨ ur das Entscheidungsproblem liefert (durch wiederholte Anwendung) oft auch einen schnellen Algorithmus zum Berechnen eines expliziten L¨

Bringen Sie Studierendenausweis und Lichtbildausweis mit Mobiltelefone m¨ ussen ausgeschaltet und weggepackt sein Bei der Klausur sind keine B¨ ucher, keine Notizen, keine

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

Satz (Rekursive Aufz¨ ahlbarkeit ⇔ Semi-Entscheidbarkeit) Eine Sprache L ist genau dann rekursiv aufz¨ ahlbar,.. wenn L

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