42
VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit¨ at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

VL-05: Unentscheidbarkeit II

(Berechenbarkeit und Komplexitat, WS 2019)

Gerhard Woeginger

WS 2019, RWTH

BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Page 2: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Organisatorisches

Nachste Vorlesungen:

Freitag, November 1: Keine Vorlesung

Mittwoch, November 6, 10:30–12:00, Aula

Freitag, November 8, 12:30–14:00 Uhr, Audimax

Webseite:

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

BuK/WS 2019 VL-05: Unentscheidbarkeit II 2/42

Page 3: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Wiederholung

BuK/WS 2019 VL-05: Unentscheidbarkeit II 3/42

Page 4: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Wdh.: Abzahlbarkeit

Eine Menge M heisst abzahlbar,

wenn M leer oder wenn es surjektive Funktion c : N→ M gibt.

Beispiele: endliche Mengen; N, Z, Q; {0, 1}∗; jede formale Sprache;

Menge der Godelnummern; Menge der TMen; Menge der Algorithmen

Eine Menge heisst uberabzahlbar, wenn sie nicht abzahlbar ist.

Beispiele: R; P(N); P({0, 1}∗); Menge aller Berechnungsprobleme

Direkte Schlussfolgerung

Es existieren nicht-berechenbare Probleme.

BuK/WS 2019 VL-05: Unentscheidbarkeit II 4/42

Page 5: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Wdh.: Unentscheidbarkeit der Diagonalsprache

Definition (Diagonalsprache)

D = {w ∈ {0, 1}∗ | w = wi und Mi akzeptiert w nicht}

Satz

Die Diagonalsprache D ist nicht entscheidbar.

Beweis: Durch Diagonalisierung

BuK/WS 2019 VL-05: Unentscheidbarkeit II 5/42

Page 6: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Wdh.: Unentscheidbarkeit der Diagonalsprache

Ai ,j =

{1 falls Mi das Wort wj akzeptiert

0 sonst

w0 w1 w2 w3 w4M0 0 1 1 0 1 · · ·M1 1 0 1 0 1 · · ·M2 0 0 1 0 1 · · ·M3 0 1 1 1 0 · · ·M4 0 1 0 0 0 · · ·...

......

......

Die Diagonalsprache lasst sich

von der Diagonale der Matrix

ablesen. Es gilt

D = {wi | Ai ,i = 0}

BuK/WS 2019 VL-05: Unentscheidbarkeit II 6/42

Page 7: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Wdh.: Bisher betrachtete unentscheidbare Probleme

Die folgenden Probleme sind nicht entscheidbar:

Die Diagonalsprache:

D = {w ∈ {0, 1}∗ | w = wi und Mi akzeptiert w nicht}

Das Diagonalsprachenkomplement:

D = {w ∈ {0, 1}∗ | w = wi und Mi akzeptiert w}

Das Halteproblem:

H = {〈M〉w | M halt auf w}

BuK/WS 2019 VL-05: Unentscheidbarkeit II 7/42

Page 8: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Wdh.: Komplement der Diagonalsprache

MD

x

MD

accept

reject

accept

reject

BuK/WS 2019 VL-05: Unentscheidbarkeit II 8/42

Page 9: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Wdh.: Halteproblem

MD

w 〈Mi 〉w

accept accept

reject

reject

MHU

i mit

wi = wund

dann Mi

BuK/WS 2019 VL-05: Unentscheidbarkeit II 9/42

Page 10: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Vorlesung VL-05

Unentscheidbarkeit II

Das Epsilon-Halteproblem

Der Satz von Rice

Anwendungen von Rice

Abschlusseigenschaften

BuK/WS 2019 VL-05: Unentscheidbarkeit II 10/42

Page 11: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Das Epsilon-Halteproblem

BuK/WS 2019 VL-05: Unentscheidbarkeit II 11/42

Page 12: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Das Epsilon-Halteproblem

Definition (Epsilon-Halteproblem)

Hε = {〈M〉 | M halt auf der Eingabe ε }

Satz

Das Epsilon-Halteproblem Hε ist nicht entscheidbar.

Beweisidee:

Wir benutzen die Unterprogrammtechnik.

Aus einer TM Mε, die das Epsilon-Halteproblem Hε entscheidet,

konstruieren wir eine neue TM MH , die das (wie wir bereits wissen:

nicht-entscheidbare!!) Halteproblem H entscheidet.

BuK/WS 2019 VL-05: Unentscheidbarkeit II 12/42

Page 13: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Beweis (1)

Die neue TM MH mit Unterprogramm Mε arbeitet wie folgt:

(1) Falls die Eingabe nicht mit einer korrekten Godelnummer beginnt,

verwirft MH die Eingabe.

(2) Sonst, also auf Eingaben der Form 〈M〉w , berechnet MH die

Godelnummer einer TM M∗w mit den folgenden Eigenschaften:

Falls M∗w die Eingabe ε erhalt, so schreibt sie zunachst das Wort w

aufs Band und simuliert dann die TM M mit der Eingabe w .

Bei Eingaben ungleich ε kann sich M∗w beliebig verhalten.

(Wir legen fest, dass M∗w dann in eine Endlosschleife geht.)

(3) MH startet nun Mε mit der Eingabe 〈M∗w 〉 und akzeptiert (verwirft)

genau dann, wenn Mε akzeptiert (verwirft).

BuK/WS 2019 VL-05: Unentscheidbarkeit II 13/42

Page 14: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Beweis (2)

Illustration: Aus Mε konstruieren wir MH .

MH

x 〈M〉,w

accept

reject

reject (Syntax)

Mε〈M〉 und w

mit

x = 〈M〉w

〈M∗w 〉

Existenz von MH steht im Widerspruch zur Unentscheidbarkeit von H.

Daher gibt es Mε nicht.

Daher ist das Epsilon-Halteproblem Hε nicht entscheidbar.

BuK/WS 2019 VL-05: Unentscheidbarkeit II 14/42

Page 15: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Beweis (3): Korrektheit

Falls Eingabe nicht von der Form x = 〈M〉w ist, verwirft MH die Eingabe.

Wir nehmen nun an, dass Eingabe der Form x = 〈M〉w vorliegt.

Fur die Korrektheit ist somit noch zu zeigen:

〈M〉w ∈ H ⇒ MH akzeptiert 〈M〉w〈M〉w 6∈ H ⇒ MH verwirft 〈M〉w

〈M〉w ∈ H ⇒ M halt auf Eingabe w

⇒ M∗w halt auf der Eingabe ε

⇒ Mε akzeptiert 〈M∗w 〉⇒ MH akzeptiert 〈M〉w

〈M〉w 6∈ H ⇒ M halt nicht auf Eingabe w

⇒ M∗w halt nicht auf der Eingabe ε

⇒ Mε verwirft 〈M∗w 〉⇒ MH verwirft 〈M〉w

BuK/WS 2019 VL-05: Unentscheidbarkeit II 15/42

Page 16: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Entscheidbar vs unentscheidbar

BuK/WS 2019 VL-05: Unentscheidbarkeit II 16/42

Page 17: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Unentscheidbar versus entscheidbar (1)

Wir haben gesehen, dass die folgenden Probleme unentscheidbar sind:

Gegeben 〈M〉 und w , gilt w ∈ L(M)?

Gegeben 〈M〉, gilt ε ∈ L(M)?

Analoge Argumente zeigen, dass folgende Probleme unentscheidbar sind:

Ubung

Gegeben 〈M〉, gilt 〈M〉 ∈ L(M)?

Gegeben 〈M〉, ist L(M) leer?

Gegeben 〈M〉, gilt L(M) = Σ∗?

Gegeben 〈M〉, ist L(M) endlich?

Gegeben 〈M〉, ist L(M) unendlich?

Gegeben 〈M〉, ist L(M) regular?

Gegeben 〈M〉, ist L(M) kontext-frei?

BuK/WS 2019 VL-05: Unentscheidbarkeit II 17/42

Page 18: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Unentscheidbar versus entscheidbar (2)

Andrerseits ist jedes der folgenden Probleme entscheidbar:

Gegeben 〈M〉, gilt L(M) ⊆ {0, 1}∗?Gegeben 〈M〉, wird L(M) von einer TM akzeptiert?

Gegeben 〈M〉, gilt 2222 ∈ L(M)?

Gegeben 〈M〉, gilt 2222 /∈ L(M)?

Gegeben 〈M〉, hat M eine gerade Anzahl von Zustanden?

Gegeben 〈M〉, besitzt M einen Endzustand?

Gegeben 〈M〉, ist |〈M〉| eine Primzahl?

Anmerkung: Die TM M ist in Normalform mit Σ = {0, 1}

BuK/WS 2019 VL-05: Unentscheidbarkeit II 18/42

Page 19: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Partielle Funktionen

Da TMen im Allgemeinen nicht auf jeder Eingabe halten, berechnen sie

partielle Funktionen. Das konnen wir wie folgt formalisieren:

Die von einer TM M berechnete Funktion ist von der Form

fM : {0, 1}∗ → {0, 1}∗ ∪ {⊥}

Das Zeichen ⊥ (ausgesprochen als “bottom”) steht dabei fur

undefiniert und bedeutet, dass die Maschine nicht halt.

Im Fall von Entscheidungsproblemen ist die Funktion von der Form

fM : {0, 1}∗ → {0, 1,⊥}

Dabei steht 0 fur Verwerfen, 1 fur Akzeptieren und ⊥ fur

Nicht-Halten.

BuK/WS 2019 VL-05: Unentscheidbarkeit II 19/42

Page 20: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Der Satz von Rice

BuK/WS 2019 VL-05: Unentscheidbarkeit II 20/42

Page 21: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Henry Gordon Rice (1920–2003)

Wikipedia: Henry Gordon Rice was an American logician and

mathematician, best known as the author of Rice’s theorem, which he

proved in his doctoral dissertation of 1951 at Syracuse University.

He was also a Professor of Mathematics at the University of New

Hampshire. After 1960 he was employed by Computer Sciences

Corporation in El Segundo.

Mathematics Genealogy Project

Henry G. Rice

Ph.D.: Syracuse University 1951

Dissertation:

Classes of Recursively Enumerable Sets and Their Decision Problems

Advisor: Paul Charles Rosenbloom

No students known

BuK/WS 2019 VL-05: Unentscheidbarkeit II 21/42

Page 22: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Satz von Rice

Satz

Es sei R die Menge der von TMen berechenbaren partiellen Funktionen.

Es sei S eine Teilmenge von R mit ∅ ⊂ S ⊂ R mit S 6= ∅ und S 6= R.

Dann ist die Sprache

L(S) = {〈M〉 | M berechnet eine Funktion aus S}

nicht entscheidbar.

Mit anderen Worten: Alle nicht-trivialen Aussagen uber die von einer TM

berechnete Funktion sind unentscheidbar.

BuK/WS 2019 VL-05: Unentscheidbarkeit II 22/42

Page 23: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Anwendungsbeispiele (1)

Beispiel 1

Es sei S = {fM | fM(ε) 6= ⊥}.Dann ist

L(S) = {〈M〉 | M berechnet eine Funktion aus S}= {〈M〉 | M halt auf Eingabe ε}= Hε

Gemass dem Satz von Rice ist das Epsilin-Halteproblem Hε also nicht

entscheidbar. (Aber das wussten wir ja schon.)

RS

BuK/WS 2019 VL-05: Unentscheidbarkeit II 23/42

Page 24: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Anwendungsbeispiele (2)

Beispiel 2

Es sei S = {fM | ∀w ∈ {0, 1}∗ : fM(w) 6= ⊥}.Dann ist

L(S) = {〈M〉 | M berechnet eine Funktion aus S}= {〈M〉 | M halt auf jeder Eingabe}

Diese Sprache ist auch als das totale Halteproblem Htot bekannt.

Gemass dem Satz von Rice ist die Sprache Htot nicht entscheidbar.

R

S

BuK/WS 2019 VL-05: Unentscheidbarkeit II 24/42

Page 25: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Anwendungsbeispiele (3)

Beispiel 3

Es sei S = {fM | ∀w ∈ {0, 1}∗ : fM(w) = 1}.Dann ist

L(S) = {〈M〉 | M berechnet eine Funktion aus S}= {〈M〉 | M halt auf jeder Eingabe mit Ausgabe 1}

Gemass dem Satz von Rice ist die Sprache L(S) nicht entscheidbar.

R

S = {1}

BuK/WS 2019 VL-05: Unentscheidbarkeit II 25/42

Page 26: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Beweis des Satzes von Rice

BuK/WS 2019 VL-05: Unentscheidbarkeit II 26/42

Page 27: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Beweis des Satzes von Rice (0)

Hier ist noch einmal der Wortlaut des Satzes:

Satz

Es sei R die Menge der von TMen berechenbaren partiellen Funktionen.

Es sei S eine Teilmenge von R mit ∅ ⊂ S ⊂ R mit S 6= ∅ und S 6= R.

Dann ist die Sprache

L(S) = {〈M〉 | M berechnet eine Funktion aus S}

nicht entscheidbar.

BuK/WS 2019 VL-05: Unentscheidbarkeit II 27/42

Page 28: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Beweis des Satzes von Rice (1)

Wir benutzen die Unterprogrammtechnik:

Aus einer TM ML(S), die L(S) entscheidet, konstruieren wir

eine TM MHε , die das Epsilon-Halteproblem Hε entscheidet.

Einige Vereinbarungen:

Es sei u die uberall undefinierte

Funktion u(w) ≡ ⊥.

O.B.d.A. u 6∈ S.

Es sei f eine Funktion aus S.

Es sei N eine TM, die f berechnet.

R

u

f

S

Anmerkung: Falls u ∈ S gilt, so betrachten wir einfach das Komplement R \ Sstatt S, und zeigen die Unentscheidbarkeit von L(R \ S). Hieraus ergibt sichauch unmittelbar die Unentscheidbarkeit von L(S).

BuK/WS 2019 VL-05: Unentscheidbarkeit II 28/42

Page 29: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Beweis des Satzes von Rice (2)

Die neue TM MHε mit dem Unterprogramm ML(S) arbeitet wie folgt:

(1) Falls die Eingabe nicht aus einer korrekten Godelnummer besteht,

so verwirft MHε die Eingabe.

(2) Andernfalls berechnet MHε aus der Eingabe 〈M〉 die Godelnummer

der TM M∗:

Verhalten von M∗ auf Eingabe x

Zuerst simuliert M∗ das Verhalten von TM M bei Eingabe ε auf

einer fur diesen Zweck reservierten Spur.

Danach simuliert M∗ das Verhalten von TM N bei Eingabe x .

M∗ halt, sobald N halt, und ubernimmt die Ausgabe.

(3) Schlussendlich starten wir ML(S) mit der Eingabe 〈M∗〉.Wir akzeptieren (verwerfen) genau dann, wenn ML(S) akzeptiert

(verwirft).

BuK/WS 2019 VL-05: Unentscheidbarkeit II 29/42

Page 30: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

w w=〈M〉 〈M∗〉

reject (Syntax)

ML(S)

Ist w eine

Godel-

nummer?

accept

reject

M∗

x f (x)M N

ε

BuK/WS 2019 VL-05: Unentscheidbarkeit II 30/42

Page 31: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Beweis des Satzes von Rice (3)

Korrektheit:

Bei Eingabe von w , wobei w keine Godelnummer ist, verwirft MHε .

Bei Eingabe von w = 〈M〉 gilt:

w ∈ Hε ⇒ M halt auf ε

⇒ M∗ berechnet f

f ∈S⇒ 〈M∗〉 ∈ L(S)

⇒ ML(S) akzeptiert 〈M∗〉⇒ MHε akzeptiert w

w /∈ Hε ⇒ M halt nicht auf ε

⇒ M∗ berechnet u

u /∈S⇒ 〈M∗〉 /∈ L(S)

⇒ ML(S) verwirft 〈M∗〉⇒ MHε verwirft w

BuK/WS 2019 VL-05: Unentscheidbarkeit II 31/42

Page 32: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Satz von Rice fur Java Programme

Konsequenzen fur 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 fur alle anderen hoheren

Programmiersprachen wie C, C++, Pascal, Algol, COBOL, Python,

FORTRAN, LISP, Prolog, Haskell, Scala, Idris, etc.

BuK/WS 2019 VL-05: Unentscheidbarkeit II 32/42

Page 33: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Weitere Anwendungsbeispiele

BuK/WS 2019 VL-05: Unentscheidbarkeit II 33/42

Page 34: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Anwendungsbeispiele (4)

Beispiel 4

Es sei

L17 = {〈M〉 | M berechnet bei Eingabe der Zahl 17 die Zahl 42}.Es ist L17 = L(S) fur S = {fM | fM(bin(17)) = bin(42)}.Da ∅ ( S ( R gilt, ist diese Sprache L17 gemass dem Satz von Rice

nicht entscheidbar.

BuK/WS 2019 VL-05: Unentscheidbarkeit II 34/42

Page 35: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Anwendungsbeispiele (5)

Beispiel 5

Es sei H32 = {〈M〉 | auf jeder Eingabe halt M

nach hochstens 32 Schritten }.Uber diese Sprache sagt der Satz von Rice nichts aus!

Ist H32 entscheidbar?

BuK/WS 2019 VL-05: Unentscheidbarkeit II 35/42

Page 36: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Anwendungsbeispiele (6)

Beispiel 6

Es sei L44 = {〈M〉 | Es existiert ein Wort w , sodass die TM M bei

Abbarbeitung von w mindestens einmal im Zustand q44 ist }.Uber diese Sprache sagt der Satz von Rice nichts aus!

Ist L44 entscheidbar?

BuK/WS 2019 VL-05: Unentscheidbarkeit II 36/42

Page 37: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Anwendungsbeispiele (7)

Beispiel 7

Es sei LD = {〈M〉 | M entscheidet die Diagonalsprache}.Dann ist LD = L(S) fur S = {fD} wobei

fD(w) =

{1 wenn w ∈ D0 sonst.

Uber diese Sprache sagt der Satz von Rice nichts aus!

Aber: Diese Sprache ist entscheidbar, denn LD = {}.

RS = {fD}

BuK/WS 2019 VL-05: Unentscheidbarkeit II 37/42

Page 38: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Noch einmal: Das Collatz Problem

Die Collatz’sche Iterationsgleichung lautet:

x ←

{x/2 wenn x gerade

3x + 1 wenn x ungerade

Collatz Problem

Erreicht die Collatz’sche Iteration von jedem naturlichen Startwert x aus

irgendwann einmal die Zahl x = 1?

Das Collatz-Problem ist eine konkrete Instanz des totalen

Halteproblems.

Wir wissen nicht, ob diese Instanz eine Ja- oder eine Nein-Instanz ist.

Der Satz von Rice ist fur konkrete Probleminstanzen nutzlos.

BuK/WS 2019 VL-05: Unentscheidbarkeit II 38/42

Page 39: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Abschlusseigenschaften

BuK/WS 2019 VL-05: Unentscheidbarkeit II 39/42

Page 40: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Komplement, Durchschnitt, Vereinigung

Satz

Wenn die Sprache L entscheidbar ist,

so ist auch ihr Komplement Σ∗ − L entscheidbar.

Satz

Wenn die beiden Sprachen L1 und L2 entscheidbar sind,

(a) so ist auch die Sprache L1 ∩ L2 entscheidbar.

(b) so ist auch die Sprache L1 ∪ L2 entscheidbar.

Also: Die Menge der entscheidbaren Sprachen ist abgeschlossen unter

Komplement, Durchschnitt und Vereinigung.

BuK/WS 2019 VL-05: Unentscheidbarkeit II 40/42

Page 41: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Beweis: Durchschnitt

Es seien M1 und M2 zwei TMen, die L1 respektive L2 entscheiden.

Eine TM M, die L1 ∩ L2 entscheidet:

Bei Eingabe w simuliert M zunachst das Verhalten von M1 auf w

und dann das Verhalten von M2 auf w .

Falls M1 und M2 beide das Wort w akzeptieren, so akzeptiert auch

M; andernfalls verwirft M.

Korrektheit:

Falls w ∈ L1 ∩ L2, so wird w akzeptiert.

Andernfalls wird w verworfen.

BuK/WS 2019 VL-05: Unentscheidbarkeit II 41/42

Page 42: VL-05: Unentscheidbarkeit II · VL-05: Unentscheidbarkeit II (Berechenbarkeit und Komplexit at, WS 2019) Gerhard Woeginger WS 2019, RWTH BuK/WS 2019 VL-05: Unentscheidbarkeit II 1/42

Beweis: Vereinigung

Es seien M1 und M2 zwei TMen, die L1 respektive L2 entscheiden.

Eine TM M, die L1 ∪ L2 entscheidet:

Bei Eingabe w simuliert M zunachst das Verhalten von M1 auf w

und dann das Verhalten von M2 auf w .

Falls M1 oder M2 das Wort w akzeptiert, so akzeptiert auch M;

andernfalls verwirft M.

Korrektheit:

Falls w ∈ L1 ∪ L2, so wird w von M1 oder von M2 und somit auch

von M akzeptiert.

Andernfalls verwerfen sowohl M1 als auch M2, und damit auch M.

BuK/WS 2019 VL-05: Unentscheidbarkeit II 42/42