• Keine Ergebnisse gefunden

VL-07: Satz von Rice (Berechenbarkeit und Komplexit¨at, WS 2017) Gerhard Woeginger

N/A
N/A
Protected

Academic year: 2022

Aktie "VL-07: Satz von Rice (Berechenbarkeit und Komplexit¨at, WS 2017) Gerhard Woeginger"

Copied!
73
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

VL-07: Satz von Rice

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

WS 2017, RWTH

BuK/WS 2017 VL-07: Satz von Rice 1/37

(2)

Organisatorisches

• November 9: Keine Vorlesung (Fachschaftsversammlung)

• N¨achste Vorlesung:

Mittwoch, November 15, 14:15–15:45 Uhr, Roter H¨orsaal

• Webseite:

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

(3)

Wiederholung

BuK/WS 2017 VL-07: Satz von Rice 3/37

(4)

Wdh.: Bisher betrachtete Probleme

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 spezielle Halteproblem:

H = {hMi |M h¨alt auf Eingabe } Alle diese Probleme sindnicht entscheidbar.

Frage: Was haben sie strukturell gemeinsam?

(5)

Wdh.: Beweise durch Unterprogrammtechnik

D ist nicht entscheidbar auf Grund eines Diagonalisierungs-Argumentes.

Die weitereArgumentationskettewar dann:

D ist nicht entscheidbar MD

D ist nicht entscheidbar MD

H ist nicht entscheidbar MH

H ist nicht entscheidbar MH

BuK/WS 2017 VL-07: Satz von Rice 5/37

(6)

Wdh.: Beweise durch Unterprogrammtechnik

D ist nicht entscheidbar auf Grund eines Diagonalisierungs-Argumentes.

Die weitereArgumentationskettewar dann:

D ist nicht entscheidbar MD

D ist nicht entscheidbar MD

H ist nicht entscheidbar MH

H ist nicht entscheidbar MH

(7)

Wdh.: Komplement der Diagonalsprache

MD

x

MD

accept reject

accept reject

BuK/WS 2017 VL-07: Satz von Rice 6/37

(8)

Wdh.: Beweise durch Unterprogrammtechnik

D ist nicht entscheidbar auf Grund eines Diagonalisierungs-Argumentes.

Die weitereArgumentationskettewar dann:

D ist nicht entscheidbar MD

D ist nicht entscheidbar MD

H ist nicht entscheidbar MH

H ist nicht entscheidbar MH

(9)

Wdh.: Beweise durch Unterprogrammtechnik

D ist nicht entscheidbar auf Grund eines Diagonalisierungs-Argumentes.

Die weitereArgumentationskettewar dann:

D ist nicht entscheidbar MD

D ist nicht entscheidbar MD

H ist nicht entscheidbar MH

H ist nicht entscheidbar MH

BuK/WS 2017 VL-07: Satz von Rice 7/37

(10)

Wdh.: Halteproblem

MD

w hMiiw

accept accept

reject

reject

MH U

i mit wi=w

(11)

Wdh.: Beweise durch Unterprogrammtechnik

D ist nicht entscheidbar auf Grund eines Diagonalisierungs-Argumentes.

Die weitereArgumentationskettewar dann:

D ist nicht entscheidbar MD

D ist nicht entscheidbar MD

H ist nicht entscheidbar MH

H ist nicht entscheidbar MH

BuK/WS 2017 VL-07: Satz von Rice 9/37

(12)

Wdh.: Beweise durch Unterprogrammtechnik

D ist nicht entscheidbar auf Grund eines Diagonalisierungs-Argumentes.

Die weitereArgumentationskettewar dann:

D ist nicht entscheidbar MD

D ist nicht entscheidbar MD

H ist nicht entscheidbar MH

H ist nicht entscheidbar MH

(13)

Wdh.: Spezielles Halteproblem

MH

x hMi,w

accept reject

reject (Syntax)

Mε hMiundw

mit x=hMiw

hMwi

BuK/WS 2017 VL-07: Satz von Rice 10/37

(14)

Wdh.: Beweise durch Unterprogrammtechnik

D ist nicht entscheidbar auf Grund eines Diagonalisierungs-Argumentes.

Die weitereArgumentationskettewar dann:

D ist nicht entscheidbar MD

D ist nicht entscheidbar MD

H ist nicht entscheidbar MH

H ist nicht entscheidbar MH

(15)

Reduktionen

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.

Satz

FallsL1≤L2 und fallsL2 entscheidbar ist, so istL1entscheidbar.

BuK/WS 2017 VL-07: Satz von Rice 12/37

(16)

Vorlesung VL-07 Der Satz von Rice

• Der Satz von Rice

• Anwendungsbeispiele

(17)

Unentscheidbar versus entscheidbar (1)

Wir haben gesehen, dass die folgenden Probleme unentscheidbar sind:

GegebenhMiundw, giltw ∈L(M)?

GegebenhMi, gilthMi ∈L(M)?

GegebenhMi, giltε∈L(M)?

Analoge Argumente zeigen, dass folgende Probleme unentscheidbar sind: Ubung¨

GegebenhMi, istL(M)leer? GegebenhMi, giltL(M) = Σ? GegebenhMi, istL(M)endlich? GegebenhMi, istL(M)unendlich? GegebenhMi, istL(M)regul¨ar? GegebenhMi, istL(M)kontext-frei?

BuK/WS 2017 VL-07: Satz von Rice 14/37

(18)

Unentscheidbar versus entscheidbar (1)

Wir haben gesehen, dass die folgenden Probleme unentscheidbar sind:

GegebenhMiundw, giltw ∈L(M)?

GegebenhMi, gilthMi ∈L(M)?

GegebenhMi, giltε∈L(M)?

Analoge Argumente zeigen, dass folgende Probleme unentscheidbar sind:

Ubung¨

GegebenhMi, istL(M)leer?

GegebenhMi, giltL(M) = Σ? GegebenhMi, istL(M)endlich?

GegebenhMi, istL(M)unendlich?

GegebenhMi, istL(M)regul¨ar?

GegebenhMi, istL(M)kontext-frei?

(19)

Unentscheidbar versus entscheidbar (2)

Andrerseits ist jedes der folgenden Probleme entscheidbar:

GegebenhMi, giltL(M)⊆ {0,1}?

GegebenhMi, wirdL(M)von einer TM akzeptiert?

GegebenhMi, gilt2222∈L(M)?

GegebenhMi, gilt2222∈/ L(M)?

GegebenhMi, hathMieine gerade Anzahl von Zust¨anden?

BuK/WS 2017 VL-07: Satz von Rice 15/37

(20)

Der Satz von Rice

(21)

Partielle Funktionen

TM-berechenbare Funktionen sind partielle Funktionen:

Im Allgemeinen halten TMen nicht auf jeder Eingabe. Sie berechnen daherpartielle Funktionen. Das k¨onnen wir wie folgt formalisieren:

Die von einer TMM berechnete Funktion ist von der Form fM:{0,1}→ {0,1}∪ {⊥}

Das Zeichen⊥steht dabei f¨urundefiniertund bedeutet, dass die Maschine nicht h¨alt.

Im Fall von Entscheidungsproblemen ist die Funktion von der Form fM:{0,1}→ {0,1,⊥}

Dabei steht0f¨urVerwerfen,1f¨urAkzeptierenund⊥f¨ur Nicht-Halten.

BuK/WS 2017 VL-07: Satz von Rice 17/37

(22)

Partielle Funktionen

TM-berechenbare Funktionen sind partielle Funktionen:

Im Allgemeinen halten TMen nicht auf jeder Eingabe. Sie berechnen daherpartielle Funktionen. Das k¨onnen wir wie folgt formalisieren:

Die von einer TMM berechnete Funktion ist von der Form fM:{0,1}→ {0,1}∪ {⊥}

Das Zeichen⊥steht dabei f¨urundefiniertund bedeutet, dass die Maschine nicht h¨alt.

Im Fall von Entscheidungsproblemen ist die Funktion von der Form fM:{0,1}→ {0,1,⊥}

Dabei steht0f¨urVerwerfen,1f¨urAkzeptierenund⊥f¨ur Nicht-Halten.

(23)

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}

nicht entscheidbar.

Mit anderen Worten: Alle nicht-trivialen Aussagen ¨uber die von einer TM berechnete Funktion sind unentscheidbar.

BuK/WS 2017 VL-07: Satz von Rice 18/37

(24)

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}

nicht entscheidbar.

Mit anderen Worten: Alle nicht-trivialen Aussagen ¨uber die von einer TM berechnete Funktion sind unentscheidbar.

(25)

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 2017 VL-07: Satz von Rice 19/37

(26)

Anwendungsbeispiele (1)

Beispiel 1

Es seiS={fM |fM()6=⊥}.

Dann ist

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

= {hMi |M h¨alt auf Eingabe}

= H

Gem¨ass dem Satz von Rice ist das spezielle HalteproblemHnicht entscheidbar. (Aber das wussten wir ja schon. . . )

R

S

(27)

Anwendungsbeispiele (1)

Beispiel 1

Es seiS={fM |fM()6=⊥}.

Dann ist

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

= {hMi |M h¨alt auf Eingabe}

= H

Gem¨ass dem Satz von Rice ist das spezielle HalteproblemHnicht entscheidbar. (Aber das wussten wir ja schon. . . )

R

S

BuK/WS 2017 VL-07: Satz von Rice 20/37

(28)

Anwendungsbeispiele (2)

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 das totale Halteproblem Htot bekannt. Gem¨ass dem Satz von Rice ist die SpracheHtot nicht entscheidbar.

R

S

(29)

Anwendungsbeispiele (2)

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.

R

S

BuK/WS 2017 VL-07: Satz von Rice 21/37

(30)

Anwendungsbeispiele (3)

Beispiel 3

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

Dann ist

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

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

Gem¨ass dem Satz von Rice ist die SpracheL(S)nicht entscheidbar.

R

S={1}

(31)

Anwendungsbeispiele (3)

Beispiel 3

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

Dann ist

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

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

Gem¨ass dem Satz von Rice ist die SpracheL(S)nicht entscheidbar.

R

S={1}

BuK/WS 2017 VL-07: Satz von Rice 22/37

(32)

Beweis des Satzes von Rice

(33)

Beweis des Satzes von Rice (0)

Noch einmal der Wortlaut des Satzes:

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}

nicht entscheidbar.

BuK/WS 2017 VL-07: Satz von Rice 24/37

(34)

Beweis des Satzes von Rice (1)

Wir benutzen die Unterprogrammtechnik:

Aus einer TMML(S), dieL(S)entscheidet, konstruieren wir eine TMMH, die das spezielle Halteproblem H entscheidet.

Einige Vereinbarungen:

Es seiudie ¨uberall undefinierte Funktionu(w)≡ ⊥.

O.B.d.A. u6∈ S.

Es seif eine Funktion ausS. Es seiN eine TM, dief berechnet.

R

u

f S

Anmerkung: Fallsu∈ S gilt, betrachten wir einfachR \ S stattS, und zeigen die Unentscheidbarkeit vonL(R \ S). Hieraus ergibt sich auch unmittelbar die Unentscheidbarkeit vonL(S).

(35)

Beweis des Satzes von Rice (1)

Wir benutzen die Unterprogrammtechnik:

Aus einer TMML(S), dieL(S)entscheidet, konstruieren wir eine TMMH, die das spezielle Halteproblem H entscheidet.

Einige Vereinbarungen:

Es seiudie ¨uberall undefinierte Funktionu(w)≡ ⊥.

O.B.d.A. u6∈ S.

Es seif eine Funktion ausS. Es seiN eine TM, dief berechnet.

R

u

f S

Anmerkung: Fallsu∈ S gilt, betrachten wir einfachR \ S stattS, und zeigen die Unentscheidbarkeit vonL(R \ S). Hieraus ergibt sich auch unmittelbar die Unentscheidbarkeit vonL(S).

BuK/WS 2017 VL-07: Satz von Rice 25/37

(36)

Beweis des Satzes von Rice (1)

Wir benutzen die Unterprogrammtechnik:

Aus einer TMML(S), dieL(S)entscheidet, konstruieren wir eine TMMH, die das spezielle Halteproblem H entscheidet.

Einige Vereinbarungen:

Es seiudie ¨uberall undefinierte Funktionu(w)≡ ⊥.

O.B.d.A. u6∈ S.

Es seif eine Funktion ausS. Es seiN eine TM, dief berechnet.

R

u

f S

Anmerkung: Fallsu∈ S gilt, betrachten wir einfachR \ S stattS, und zeigen die Unentscheidbarkeit vonL(R \ S). Hieraus ergibt sich auch unmittelbar die Unentscheidbarkeit vonL(S).

(37)

Beweis des Satzes von Rice (1)

Wir benutzen die Unterprogrammtechnik:

Aus einer TMML(S), dieL(S)entscheidet, konstruieren wir eine TMMH, die das spezielle Halteproblem H entscheidet.

Einige Vereinbarungen:

Es seiudie ¨uberall undefinierte Funktionu(w)≡ ⊥.

O.B.d.A. u6∈ S.

Es seif eine Funktion ausS.

Es seiN eine TM, dief berechnet.

R

u

f S

Anmerkung: Fallsu∈ S gilt, betrachten wir einfachR \ S stattS, und zeigen die Unentscheidbarkeit vonL(R \ S). Hieraus ergibt sich auch unmittelbar die Unentscheidbarkeit vonL(S).

BuK/WS 2017 VL-07: Satz von Rice 25/37

(38)

Beweis des Satzes von Rice (2)

Die neue TMMH mit dem Unterprogramm ML(S) arbeitet wie folgt:

(1) Falls die Eingabe nicht aus einer korrekten G¨odelnummer besteht, so verwirft MH die Eingabe.

(2) Andernfalls berechnet MH aus der Eingabe hMidie G¨odelnummer der TMM(siehe n¨achste Folie).

(3) Schlussendlich starten wir ML(S) mit der EingabehMi.

Wir akzeptieren (verwerfen) genau dann, wennML(S) akzeptiert (verwirft).

(39)

Beweis des Satzes von Rice (2)

Die neue TMMH mit dem Unterprogramm ML(S) arbeitet wie folgt:

(1) Falls die Eingabe nicht aus einer korrekten G¨odelnummer besteht, so verwirft MH die Eingabe.

(2) Andernfalls berechnet MH aus der EingabehMidie G¨odelnummer der TMM(siehe n¨achste Folie).

(3) Schlussendlich starten wir ML(S) mit der EingabehMi.

Wir akzeptieren (verwerfen) genau dann, wennML(S) akzeptiert (verwirft).

BuK/WS 2017 VL-07: Satz von Rice 26/37

(40)

Beweis des Satzes von Rice (2)

Die neue TMMH mit dem Unterprogramm ML(S) arbeitet wie folgt:

(1) Falls die Eingabe nicht aus einer korrekten G¨odelnummer besteht, so verwirft MH die Eingabe.

(2) Andernfalls berechnet MH aus der EingabehMidie G¨odelnummer der TMM(siehe n¨achste Folie).

(3) Schlussendlich starten wir ML(S) mit der EingabehMi.

Wir akzeptieren (verwerfen) genau dann, wennML(S) akzeptiert (verwirft).

(41)

Beweis des Satzes von Rice (3)

Verhalten vonM auf Eingabex

Phase A: Simuliere das Verhalten vonM bei Eingabe auf einer f¨ur diesen Zweck reservierten Spur.

Phase B: Simuliere das Verhalten vonN aufx, halte, sobaldNh¨alt, und ¨ubernimm die Ausgabe.

BuK/WS 2017 VL-07: Satz von Rice 27/37

(42)

Beweis des Satzes von Rice (3)

Verhalten vonM auf Eingabex

Phase A: Simuliere das Verhalten vonM bei Eingabe auf einer f¨ur diesen Zweck reservierten Spur.

Phase B: Simuliere das Verhalten vonN aufx, halte, sobaldNh¨alt, und ¨ubernimm die Ausgabe.

(43)

Mε

w w=hMi hMi

reject (Syntax)

ML(S) Istw eine

G¨odel- nummer?

accept reject

M

x f(x)

M N

ε

BuK/WS 2017 VL-07: Satz von Rice 28/37

(44)

Beweis des Satzes von Rice (4)

Korrektheit:

Bei Eingabe vonw, wobeiw keine G¨odelnummer ist, verwirftMH. Bei Eingabe vonw =hMigilt:

w ∈H

⇒ M h¨alt auf

⇒ Mberechnetf

f∈S

⇒ hMi ∈L(S)

⇒ ML(S) akzeptierthMi

⇒ MH akzeptiertw w 6∈H ⇒ M h¨alt nicht auf

⇒ M berechnetu

u6∈S⇒ hMi 6∈L(S)

⇒ ML(S) verwirft hMi

⇒ MH verwirftw

(45)

Beweis des Satzes von Rice (4)

Korrektheit:

Bei Eingabe vonw, wobeiw keine G¨odelnummer ist, verwirftMH. Bei Eingabe vonw =hMigilt:

w ∈H ⇒ M h¨alt auf

⇒ Mberechnetf

f∈S

⇒ hMi ∈L(S)

⇒ ML(S) akzeptierthMi

⇒ MH akzeptiertw w 6∈H ⇒ M h¨alt nicht auf

⇒ M berechnetu

u6∈S⇒ hMi 6∈L(S)

⇒ ML(S) verwirft hMi

⇒ MH verwirftw

BuK/WS 2017 VL-07: Satz von Rice 29/37

(46)

Beweis des Satzes von Rice (4)

Korrektheit:

Bei Eingabe vonw, wobeiw keine G¨odelnummer ist, verwirftMH. Bei Eingabe vonw =hMigilt:

w ∈H ⇒ M h¨alt auf

⇒ Mberechnetf

f∈S

⇒ hMi ∈L(S)

⇒ ML(S) akzeptierthMi

⇒ MH akzeptiertw w 6∈H ⇒ M h¨alt nicht auf

⇒ M berechnetu

u6∈S⇒ hMi 6∈L(S)

⇒ ML(S) verwirft hMi

⇒ MH verwirftw

(47)

Beweis des Satzes von Rice (4)

Korrektheit:

Bei Eingabe vonw, wobeiw keine G¨odelnummer ist, verwirftMH. Bei Eingabe vonw =hMigilt:

w ∈H ⇒ M h¨alt auf

⇒ Mberechnetf

f∈S

⇒ hMi ∈L(S)

⇒ ML(S) akzeptierthMi

⇒ MH akzeptiertw w 6∈H ⇒ M h¨alt nicht auf

⇒ M berechnetu

u6∈S⇒ hMi 6∈L(S)

⇒ ML(S) verwirft hMi

⇒ MH verwirftw

BuK/WS 2017 VL-07: Satz von Rice 29/37

(48)

Beweis des Satzes von Rice (4)

Korrektheit:

Bei Eingabe vonw, wobeiw keine G¨odelnummer ist, verwirftMH. Bei Eingabe vonw =hMigilt:

w ∈H ⇒ M h¨alt auf

⇒ Mberechnetf

f∈S

⇒ hMi ∈L(S)

⇒ ML(S) akzeptierthMi

⇒ MH akzeptiertw w 6∈H ⇒ M h¨alt nicht auf

⇒ M berechnetu

u6∈S⇒ hMi 6∈L(S)

⇒ ML(S) verwirft hMi

⇒ MH verwirftw

(49)

Beweis des Satzes von Rice (4)

Korrektheit:

Bei Eingabe vonw, wobeiw keine G¨odelnummer ist, verwirftMH. Bei Eingabe vonw =hMigilt:

w ∈H ⇒ M h¨alt auf

⇒ Mberechnetf

f∈S

⇒ hMi ∈L(S)

⇒ ML(S) akzeptierthMi

⇒ MH akzeptiertw

w 6∈H ⇒ M h¨alt nicht auf

⇒ M berechnetu

u6∈S⇒ hMi 6∈L(S)

⇒ ML(S) verwirft hMi

⇒ MH verwirftw

BuK/WS 2017 VL-07: Satz von Rice 29/37

(50)

Beweis des Satzes von Rice (4)

Korrektheit:

Bei Eingabe vonw, wobeiw keine G¨odelnummer ist, verwirftMH. Bei Eingabe vonw =hMigilt:

w ∈H ⇒ M h¨alt auf

⇒ Mberechnetf

f∈S

⇒ hMi ∈L(S)

⇒ ML(S) akzeptierthMi

⇒ MH akzeptiertw w 6∈H

⇒ M h¨alt nicht auf

⇒ M berechnetu

u6∈S⇒ hMi 6∈L(S)

⇒ ML(S) verwirft hMi

⇒ MH verwirftw

(51)

Beweis des Satzes von Rice (4)

Korrektheit:

Bei Eingabe vonw, wobeiw keine G¨odelnummer ist, verwirftMH. Bei Eingabe vonw =hMigilt:

w ∈H ⇒ M h¨alt auf

⇒ Mberechnetf

f∈S

⇒ hMi ∈L(S)

⇒ ML(S) akzeptierthMi

⇒ MH akzeptiertw w 6∈H ⇒ M h¨alt nicht auf

⇒ M berechnetu

u6∈S⇒ hMi 6∈L(S)

⇒ ML(S) verwirft hMi

⇒ MH verwirftw

BuK/WS 2017 VL-07: Satz von Rice 29/37

(52)

Beweis des Satzes von Rice (4)

Korrektheit:

Bei Eingabe vonw, wobeiw keine G¨odelnummer ist, verwirftMH. Bei Eingabe vonw =hMigilt:

w ∈H ⇒ M h¨alt auf

⇒ Mberechnetf

f∈S

⇒ hMi ∈L(S)

⇒ ML(S) akzeptierthMi

⇒ MH akzeptiertw w 6∈H ⇒ M h¨alt nicht auf

⇒ Mberechnetu

u6∈S⇒ hMi 6∈L(S)

⇒ ML(S) verwirft hMi

⇒ MH verwirftw

(53)

Beweis des Satzes von Rice (4)

Korrektheit:

Bei Eingabe vonw, wobeiw keine G¨odelnummer ist, verwirftMH. Bei Eingabe vonw =hMigilt:

w ∈H ⇒ M h¨alt auf

⇒ Mberechnetf

f∈S

⇒ hMi ∈L(S)

⇒ ML(S) akzeptierthMi

⇒ MH akzeptiertw w 6∈H ⇒ M h¨alt nicht auf

⇒ Mberechnetu

u6∈S⇒ hMi 6∈L(S)

⇒ ML(S) verwirft hMi

⇒ MH verwirftw

BuK/WS 2017 VL-07: Satz von Rice 29/37

(54)

Beweis des Satzes von Rice (4)

Korrektheit:

Bei Eingabe vonw, wobeiw keine G¨odelnummer ist, verwirftMH. Bei Eingabe vonw =hMigilt:

w ∈H ⇒ M h¨alt auf

⇒ Mberechnetf

f∈S

⇒ hMi ∈L(S)

⇒ ML(S) akzeptierthMi

⇒ MH akzeptiertw w 6∈H ⇒ M h¨alt nicht auf

⇒ Mberechnetu

u6∈S⇒ hMi 6∈L(S)

⇒ ML(S) verwirfthMi

⇒ MH verwirftw

(55)

Beweis des Satzes von Rice (4)

Korrektheit:

Bei Eingabe vonw, wobeiw keine G¨odelnummer ist, verwirftMH. Bei Eingabe vonw =hMigilt:

w ∈H ⇒ M h¨alt auf

⇒ Mberechnetf

f∈S

⇒ hMi ∈L(S)

⇒ ML(S) akzeptierthMi

⇒ MH akzeptiertw w 6∈H ⇒ M h¨alt nicht auf

⇒ Mberechnetu

u6∈S⇒ hMi 6∈L(S)

⇒ ML(S) verwirfthMi

⇒ MH verwirftw

BuK/WS 2017 VL-07: Satz von Rice 29/37

(56)

Satz von Rice f¨ ur C

++

Programme

Konsequenz f¨ur C++

Es gibt keine algorithmische Methode (von Hand oder automatisiert) um festzustellen, ob ein gegebenes C++Programm einer

(nicht-trivialen) Spezifikation entspricht.

Analoge Konsequenzen gelten

f¨ur alle anderen h¨oheren Programmiersprachen wie

Java, Pascal, Python, FORTRAN, Algol, LISP, COBOL, etc.

(57)

Weitere Anwendungsbeispiele

BuK/WS 2017 VL-07: Satz von Rice 31/37

(58)

Anwendungsbeispiele (4)

Beispiel 4 Es sei

L17={hMi |M berechnet bei Eingabe der Zahl 17 die Zahl 42}.

Es ist L17=L(S)f¨urS ={fM|fM(bin(17)) =bin(42)}.

Da∅(S(Rgilt, ist diese SpracheL17gem¨ass dem Satz von Rice nicht entscheidbar.

(59)

Anwendungsbeispiele (4)

Beispiel 4 Es sei

L17={hMi |M berechnet bei Eingabe der Zahl 17 die Zahl 42}.

Es ist L17=L(S)f¨urS ={fM|fM(bin(17)) =bin(42)}.

Da∅(S(Rgilt, ist diese SpracheL17gem¨ass dem Satz von Rice nicht entscheidbar.

BuK/WS 2017 VL-07: Satz von Rice 32/37

(60)

Anwendungsbeispiele (4)

Beispiel 4 Es sei

L17={hMi |M berechnet bei Eingabe der Zahl 17 die Zahl 42}.

Es ist L17=L(S)f¨urS ={fM|fM(bin(17)) =bin(42)}.

Da∅(S(Rgilt, ist diese SpracheL17gem¨ass dem Satz von Rice nicht entscheidbar.

(61)

Anwendungsbeispiele (5)

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!¨

IstH32entscheidbar?

BuK/WS 2017 VL-07: Satz von Rice 33/37

(62)

Anwendungsbeispiele (5)

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!¨

IstH32entscheidbar?

(63)

Anwendungsbeispiele (5)

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!¨

IstH32entscheidbar?

BuK/WS 2017 VL-07: Satz von Rice 33/37

(64)

Anwendungsbeispiele (6)

Beispiel 6

Es seiL44={hMi | Es existiert ein Wortw, sodass die TMM bei Abbarbeitung vonw mindestens einmal im Zustandq44ist}.

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

IstL44entscheidbar?

(65)

Anwendungsbeispiele (6)

Beispiel 6

Es seiL44={hMi | Es existiert ein Wortw, sodass die TMM bei Abbarbeitung vonw mindestens einmal im Zustandq44ist}.

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

IstL44entscheidbar?

BuK/WS 2017 VL-07: Satz von Rice 34/37

(66)

Anwendungsbeispiele (6)

Beispiel 6

Es seiL44={hMi | Es existiert ein Wortw, sodass die TMM bei Abbarbeitung vonw mindestens einmal im Zustandq44ist}.

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

IstL44entscheidbar?

(67)

Anwendungsbeispiele (7)

Beispiel 7

Es seiLD={hMi |M entscheidet die Diagonalsprache}.

Dann istLD =L(S)f¨urS ={fD}wobei

fD(w) =

(1 wennw ∈D 0 sonst.

Uber diese Sprache sagt der Satz von Rice nichts aus!¨ Aber: Diese Sprache ist entscheidbar, denn LD ={}.

S={fD} R

BuK/WS 2017 VL-07: Satz von Rice 35/37

(68)

Anwendungsbeispiele (7)

Beispiel 7

Es seiLD={hMi |M entscheidet die Diagonalsprache}.

Dann istLD =L(S)f¨urS ={fD}wobei

fD(w) =

(1 wennw ∈D 0 sonst.

Uber diese Sprache sagt der Satz von Rice nichts aus!¨ Aber: Diese Sprache ist entscheidbar, denn LD ={}.

S={fD} R

(69)

Anwendungsbeispiele (7)

Beispiel 7

Es seiLD={hMi |M entscheidet die Diagonalsprache}.

Dann istLD =L(S)f¨urS ={fD}wobei

fD(w) =

(1 wennw ∈D 0 sonst.

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

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

S={fD} R

BuK/WS 2017 VL-07: Satz von Rice 35/37

(70)

Anwendungsbeispiele (7)

Beispiel 7

Es seiLD={hMi |M entscheidet die Diagonalsprache}.

Dann istLD =L(S)f¨urS ={fD}wobei

fD(w) =

(1 wennw ∈D 0 sonst.

Uber diese Sprache sagt der Satz von Rice nichts aus!¨ Aber: Diese Sprache ist entscheidbar, denn LD ={}.

S={fD} R

(71)

Noch einmal: Das Collatz Problem

Die Collatz’sche Iterationsgleichung lautet:

x ←

(x/2 wennx gerade 3x+1 wennx ungerade

Collatz Problem

Erreicht die Collatz’sche Iteration von jedem nat¨urlichen Startwertx aus irgendwann einmal die Zahlx=1?

Das Collatz-Problem ist einekonkrete Instanzdes totalen Halteproblems. Wir wissen nicht, ob diese Instanz eineJa- oder eineNein-Instanz ist. (Paul Erd¨os: “Mathematics may not be ready for such problems.”) Der Satz von Rice ist f¨urkonkreteProbleminstanzen nutzlos.

BuK/WS 2017 VL-07: Satz von Rice 36/37

(72)

Noch einmal: Das Collatz Problem

Die Collatz’sche Iterationsgleichung lautet:

x ←

(x/2 wennx gerade 3x+1 wennx ungerade

Collatz Problem

Erreicht die Collatz’sche Iteration von jedem nat¨urlichen Startwertx aus irgendwann einmal die Zahlx=1?

Das Collatz-Problem ist einekonkrete Instanzdes totalen Halteproblems.

Wir wissen nicht, ob diese Instanz eineJa- oder eineNein-Instanz ist.

(Paul Erd¨os: “Mathematics may not be ready for such problems.”) Der Satz von Rice ist f¨urkonkreteProbleminstanzen nutzlos.

(73)

Organisatorisches

• November 9: Keine Vorlesung (Fachschaftsversammlung)

• N¨achste Vorlesung:

Mittwoch, November 15, 14:15–15:45 Uhr, Roter H¨orsaal

• Webseite:

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

BuK/WS 2017 VL-07: Satz von Rice 37/37

Referenzen

ÄHNLICHE DOKUMENTE

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

I Es gibt keinen Algorithmus, der entscheidet, ob ein gegebenes Programm in einen bestimmten Zustand l¨ auft.. ( Error: 0E : 016F :

Variablen k¨ onnen realisiert werden, indem wir pro Variable eine Spur reservieren. Felder (Arrays) k¨ onnen ebenfalls auf einer eigenen Spur

Die in den Registern gespeicherten Zahlen repr¨ asentieren Zust¨ ande, Zeichen und Bandpositionen.. Zust¨ ande und Zeichen haben eine konstante

F¨ ur eine abz¨ ahlbar unendliche Menge M gibt es immer auch eine bijektive (bijektiv = surjektiv+injektiv) Abbildung c : N → M: Wiederholungen von Elementen von M k¨ onnen bei der

Statt der RAM kann man in der Definition von polynomieller Laufzeit und von polynomiellen Algorithmen genauso gut die TM verwenden: RAM und TM simulieren einander ja mit

Aus einem polynomiellen Algorithmus A f¨ urs Entscheidungsproblem konstruieren wir zuerst einen polynomiellen Algorithmus B, der den optimalen Zielfunktionswert bestimmt (Phase 1),.

Da sich der Kopf einer Turingmaschine in einem Schritt nur um eine Position bewegen kann gilt: NP ⊆ NPSPACE = PSPACE.. Die Klasse