• Keine Ergebnisse gefunden

VL-07: Satz von Rice

N/A
N/A
Protected

Academic year: 2022

Aktie "VL-07: Satz von Rice"

Copied!
9
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

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 2/37

Wiederholung

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?

(2)

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

Hist nicht entscheidbar MH

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

Wdh.: Komplement der Diagonalsprache

MD

x

MD

accept

reject

accept

reject

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

Wdh.: Halteproblem

MD

w hMiiw

accept accept

reject

reject

MH U

i mit wi =w

Wdh.: Spezielles Halteproblem

MH

x hMi,w

accept

reject

reject (Syntax)

Mε

hMiundw mit x =hMiw

hMwi

(3)

Reduktionen

Definition

Es seienL1 undL2zwei 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 istL1 entscheidbar.

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

Vorlesung VL-07 Der Satz von Rice

• Der Satz von Rice

• Anwendungsbeispiele

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

Unentscheidbar versus entscheidbar (1)

Wir haben gesehen, dass die folgenden Probleme unentscheidbar sind:

I GegebenhMiund w, giltw ∈L(M)?

I GegebenhMi, gilthMi ∈L(M)?

I GegebenhMi, giltε∈L(M)?

Analoge Argumente zeigen, dass folgende Probleme unentscheidbar sind:

Ubung ¨

I GegebenhMi, istL(M)leer?

I GegebenhMi, giltL(M) = Σ?

I GegebenhMi, istL(M)endlich?

I GegebenhMi, istL(M)unendlich?

I GegebenhMi, istL(M)regul¨ar?

I GegebenhMi, istL(M)kontext-frei?

Unentscheidbar versus entscheidbar (2)

Andrerseits ist jedes der folgenden Probleme entscheidbar:

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

I GegebenhMi, wirdL(M)von einer TM akzeptiert?

I GegebenhMi, gilt2222∈L(M)?

I GegebenhMi, gilt2222∈/L(M)?

I GegebenhMi, hathMieine gerade Anzahl von Zust¨anden?

(4)

Der Satz von Rice

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

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:

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

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

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

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

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

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.

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

(5)

Anwendungsbeispiele (1)

Beispiel 1

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

I Dann ist

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

= {hMi |M h¨alt auf Eingabe }

= H

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

R

S

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

Anwendungsbeispiele (2)

Beispiel 2

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

I Dann ist

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

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

I Diese Sprache ist auch als dastotale Halteproblem Htot bekannt.

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

R

S

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

Anwendungsbeispiele (3)

Beispiel 3

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

I Dann ist

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

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

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

R

S ={1}

Beweis des Satzes von Rice

(6)

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

Beweis des Satzes von Rice (1)

Wir benutzen die Unterprogrammtechnik:

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

Einige Vereinbarungen:

I Es seiu die ¨uberall undefinierte Funktion u(w)≡ ⊥.

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

I Es seif eine Funktion ausS.

I Es seiN eine TM, dief berechnet.

R

u

f S

Anmerkung: Fallsu∈ S gilt, betrachten wir einfachR \ SstattS, 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

Beweis des Satzes von Rice (2)

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

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

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

(3) Schlussendlich starten wirML(S) mit der EingabehMi.

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

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, sobald N h¨alt, und ¨ubernimm die Ausgabe.

(7)

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

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

⇒ MH verwirftw

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

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.

Weitere Anwendungsbeispiele

(8)

Anwendungsbeispiele (4)

Beispiel 4

I Es sei

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

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

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

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

Anwendungsbeispiele (5)

Beispiel 5

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

nach h¨ochstens 32 Schritten}.

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

IstH32entscheidbar?

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

Anwendungsbeispiele (6)

Beispiel 6

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

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

IstL44 entscheidbar?

Anwendungsbeispiele (7)

Beispiel 7

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

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

fD(w) =

(1 wennw ∈D 0 sonst.

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

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

R S={fD}

(9)

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¨urkonkrete Probleminstanzen nutzlos.

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

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

Diese Konfigurationsfolge beginnt mit dem Startdomino Diese Konfigurationsfolge muss zumindest einen L¨ osch- oder Abschlussdomino enthalten (andernfalls w¨ are der untere String

Diese Konfigurationsfolge beginnt mit dem Startdomino Diese Konfigurationsfolge muss zumindest einen L¨ osch- oder Abschlussdomino enthalten (andernfalls w¨ are der untere String

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

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

Die beschriebene Funktion f

BuK/WS 2017 VL-15: Der Satz von Cook & Levin 6/45.. Wdh.:

Element getMin(PriorityQueue pq) gibt das Element mit dem kleinsten Schlüssel zurück; benötigt nicht-leere pq. void delMin(PriorityQueue pq) entfernt das Element mit dem