vorlesung theoretische grundlagen - entscheidbarkeit · letztes mal universelle turingmaschine u:...

86
I NSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT Vorlesung Theoretische Grundlagen Entscheidbarkeit Nico Döttling | November 19, 2009 KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association www.kit.edu

Upload: others

Post on 10-Oct-2019

5 views

Category:

Documents


0 download

TRANSCRIPT

INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT

Vorlesung Theoretische GrundlagenEntscheidbarkeit

Nico Döttling | November 19, 2009

KIT – University of the State of Baden-Wuerttemberg and

National Laboratory of the Helmholtz Associationwww.kit.edu

Themen

1 Universelle Turingmaschinen und Gödelnummern

2 Diagonalisierung

3 Nicht-entscheidbare Probleme

4 Semi-Entscheidbarkeit

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 2/32

Letztes mal

Universelle Turingmaschine U : Nimmt als Eigabe eine{0,1}-Codierung einer Turingmaschine M und eineEingabe w ∈ {0, 1}∗. U simuliert dann die Berechnung vonM bei Eingabe w und akzeptiert genau dann wenn Makzeptiert.

Eine Codierung einer Turingmaschine über einemendlichen Alphabet Σ oder äquivalent dazu N nennt sichGödelisierung (nach Kurt Gödel). Für eine gegebeneTuringmaschine M schreiben wir 〈M〉 für dieGödelnummer von M. Für gegebene Gödelnummer wschreiben wir Mw für die zugehörige Turingmaschine.

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 3/32

Letztes mal

Universelle Turingmaschine U : Nimmt als Eigabe eine{0,1}-Codierung einer Turingmaschine M und eineEingabe w ∈ {0, 1}∗. U simuliert dann die Berechnung vonM bei Eingabe w und akzeptiert genau dann wenn Makzeptiert.

Eine Codierung einer Turingmaschine über einemendlichen Alphabet Σ oder äquivalent dazu N nennt sichGödelisierung (nach Kurt Gödel). Für eine gegebeneTuringmaschine M schreiben wir 〈M〉 für dieGödelnummer von M. Für gegebene Gödelnummer wschreiben wir Mw für die zugehörige Turingmaschine.

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 3/32

Letztes mal

Universelle Turingmaschine U : Nimmt als Eigabe eine{0,1}-Codierung einer Turingmaschine M und eineEingabe w ∈ {0, 1}∗. U simuliert dann die Berechnung vonM bei Eingabe w und akzeptiert genau dann wenn Makzeptiert.

Eine Codierung einer Turingmaschine über einemendlichen Alphabet Σ oder äquivalent dazu N nennt sichGödelisierung (nach Kurt Gödel). Für eine gegebeneTuringmaschine M schreiben wir 〈M〉 für dieGödelnummer von M. Für gegebene Gödelnummer wschreiben wir Mw für die zugehörige Turingmaschine.

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 3/32

Letztes mal

Bei inkonsistenter Codierung w (w keine korrekteGödelnummer) von M lehnt U die Eingabe ab. Zu einerinkonsistenten Gödelnummer gehört also immer dieMaschine die die leere Menge entscheidet.

Man kann sich Gödelnummer als eine Formalisierung vonComputerprogrammen vorstellen.

Die universelle Turingmaschine ist dann der Interpreterder dieses Programm ausführt (Perl, Python etc.).

Die Codierung selber ist eindeutig (injektiv), die Wahl derCodierung ist aber nicht eindeutig! Die in der letztenVorlesung angegebene Codierung stammt aus [Weg99],es gibt effizientere (d.h nicht unäre) Codierungen.Codierabbildung selber ist also vergleichbar mitProgrammiersprachen (wovon es ja auch mehrere gibt)

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 4/32

Letztes mal

Bei inkonsistenter Codierung w (w keine korrekteGödelnummer) von M lehnt U die Eingabe ab. Zu einerinkonsistenten Gödelnummer gehört also immer dieMaschine die die leere Menge entscheidet.

Man kann sich Gödelnummer als eine Formalisierung vonComputerprogrammen vorstellen.

Die universelle Turingmaschine ist dann der Interpreterder dieses Programm ausführt (Perl, Python etc.).

Die Codierung selber ist eindeutig (injektiv), die Wahl derCodierung ist aber nicht eindeutig! Die in der letztenVorlesung angegebene Codierung stammt aus [Weg99],es gibt effizientere (d.h nicht unäre) Codierungen.Codierabbildung selber ist also vergleichbar mitProgrammiersprachen (wovon es ja auch mehrere gibt)

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 4/32

Letztes mal

Bei inkonsistenter Codierung w (w keine korrekteGödelnummer) von M lehnt U die Eingabe ab. Zu einerinkonsistenten Gödelnummer gehört also immer dieMaschine die die leere Menge entscheidet.

Man kann sich Gödelnummer als eine Formalisierung vonComputerprogrammen vorstellen.

Die universelle Turingmaschine ist dann der Interpreterder dieses Programm ausführt (Perl, Python etc.).

Die Codierung selber ist eindeutig (injektiv), die Wahl derCodierung ist aber nicht eindeutig! Die in der letztenVorlesung angegebene Codierung stammt aus [Weg99],es gibt effizientere (d.h nicht unäre) Codierungen.Codierabbildung selber ist also vergleichbar mitProgrammiersprachen (wovon es ja auch mehrere gibt)

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 4/32

Letztes mal

Bei inkonsistenter Codierung w (w keine korrekteGödelnummer) von M lehnt U die Eingabe ab. Zu einerinkonsistenten Gödelnummer gehört also immer dieMaschine die die leere Menge entscheidet.

Man kann sich Gödelnummer als eine Formalisierung vonComputerprogrammen vorstellen.

Die universelle Turingmaschine ist dann der Interpreterder dieses Programm ausführt (Perl, Python etc.).

Die Codierung selber ist eindeutig (injektiv), die Wahl derCodierung ist aber nicht eindeutig! Die in der letztenVorlesung angegebene Codierung stammt aus [Weg99],es gibt effizientere (d.h nicht unäre) Codierungen.Codierabbildung selber ist also vergleichbar mitProgrammiersprachen (wovon es ja auch mehrere gibt)

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 4/32

Heute

Grenzen der Entscheidbarkeit.

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 5/32

Heute

Grenzen der Entscheidbarkeit.

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 5/32

Akzeptoren und Entscheider

Sei L ⊆ Σ∗ eine Sprache.

L ∈ R, also L ist entscheidbar (älter: rekursiv) genau dannwenn es eine Turingmaschine M gibt die L entscheidet.Ein Entscheider M hält bei jeder Eingabe w ∈ Σ∗,unabhängig davon ob x ∈ L oder nicht.

L ∈ RE , also L ist semi-entscheidbar (älter: rekursivaufzählbar, engl. recursively enumerable) genau dannwenn es eine Turingmaschine M gibt die L akzeptiert.Falls ein Wort w ∈ Σ∗ /∈ L, so ist das Verhalten von M beiEingabe w nicht spezifiziert, es kann also sein dass dieBerechnung von M unter Umständen garnicht terminiert.Wir sagen in einem solchen Fall: M hält nicht(Endlosschleife).

L ∈ co − RE falls L = Σ∗\L ∈ RE

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 6/32

Akzeptoren und Entscheider

Sei L ⊆ Σ∗ eine Sprache.

L ∈ R, also L ist entscheidbar (älter: rekursiv) genau dannwenn es eine Turingmaschine M gibt die L entscheidet.Ein Entscheider M hält bei jeder Eingabe w ∈ Σ∗,unabhängig davon ob x ∈ L oder nicht.

L ∈ RE , also L ist semi-entscheidbar (älter: rekursivaufzählbar, engl. recursively enumerable) genau dannwenn es eine Turingmaschine M gibt die L akzeptiert.Falls ein Wort w ∈ Σ∗ /∈ L, so ist das Verhalten von M beiEingabe w nicht spezifiziert, es kann also sein dass dieBerechnung von M unter Umständen garnicht terminiert.Wir sagen in einem solchen Fall: M hält nicht(Endlosschleife).

L ∈ co − RE falls L = Σ∗\L ∈ RE

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 6/32

Akzeptoren und Entscheider

Sei L ⊆ Σ∗ eine Sprache.

L ∈ R, also L ist entscheidbar (älter: rekursiv) genau dannwenn es eine Turingmaschine M gibt die L entscheidet.Ein Entscheider M hält bei jeder Eingabe w ∈ Σ∗,unabhängig davon ob x ∈ L oder nicht.

L ∈ RE , also L ist semi-entscheidbar (älter: rekursivaufzählbar, engl. recursively enumerable) genau dannwenn es eine Turingmaschine M gibt die L akzeptiert.Falls ein Wort w ∈ Σ∗ /∈ L, so ist das Verhalten von M beiEingabe w nicht spezifiziert, es kann also sein dass dieBerechnung von M unter Umständen garnicht terminiert.Wir sagen in einem solchen Fall: M hält nicht(Endlosschleife).

L ∈ co − RE falls L = Σ∗\L ∈ RE

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 6/32

Akzeptoren und Entscheider

Sei L ⊆ Σ∗ eine Sprache.

L ∈ R, also L ist entscheidbar (älter: rekursiv) genau dannwenn es eine Turingmaschine M gibt die L entscheidet.Ein Entscheider M hält bei jeder Eingabe w ∈ Σ∗,unabhängig davon ob x ∈ L oder nicht.

L ∈ RE , also L ist semi-entscheidbar (älter: rekursivaufzählbar, engl. recursively enumerable) genau dannwenn es eine Turingmaschine M gibt die L akzeptiert.Falls ein Wort w ∈ Σ∗ /∈ L, so ist das Verhalten von M beiEingabe w nicht spezifiziert, es kann also sein dass dieBerechnung von M unter Umständen garnicht terminiert.Wir sagen in einem solchen Fall: M hält nicht(Endlosschleife).

L ∈ co − RE falls L = Σ∗\L ∈ RE

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 6/32

Der Barbier von SevillaDiagonalisierung: Beweistechnik um Nichtexistenz vonObjekten zu zeigen.

Beginn der Mengenlehre (Ende 19tes Jhd.): Die Menge A

sei die Menge die alle anderen Mengen als Teilmengenenthält

Theorem (Cantor)Für jede Menge M ist P(M) echt mächtiger als M selber

Zu jeder Menge M ist die Potenzmenge P(M)wohldefiniert.

"‘Echt mächtiger"’ im Sinne der Mathematik: Es gibt keinesurjektive (volle) Abbildung von M nach P(M).

Damit: A kann P(A) nicht als Teilmenge enthalten! Es gibtdie Menge A nicht!

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 7/32

Der Barbier von SevillaDiagonalisierung: Beweistechnik um Nichtexistenz vonObjekten zu zeigen.

Beginn der Mengenlehre (Ende 19tes Jhd.): Die Menge A

sei die Menge die alle anderen Mengen als Teilmengenenthält

Theorem (Cantor)Für jede Menge M ist P(M) echt mächtiger als M selber

Zu jeder Menge M ist die Potenzmenge P(M)wohldefiniert.

"‘Echt mächtiger"’ im Sinne der Mathematik: Es gibt keinesurjektive (volle) Abbildung von M nach P(M).

Damit: A kann P(A) nicht als Teilmenge enthalten! Es gibtdie Menge A nicht!

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 7/32

Der Barbier von SevillaDiagonalisierung: Beweistechnik um Nichtexistenz vonObjekten zu zeigen.

Beginn der Mengenlehre (Ende 19tes Jhd.): Die Menge A

sei die Menge die alle anderen Mengen als Teilmengenenthält

Theorem (Cantor)Für jede Menge M ist P(M) echt mächtiger als M selber

Zu jeder Menge M ist die Potenzmenge P(M)wohldefiniert.

"‘Echt mächtiger"’ im Sinne der Mathematik: Es gibt keinesurjektive (volle) Abbildung von M nach P(M).

Damit: A kann P(A) nicht als Teilmenge enthalten! Es gibtdie Menge A nicht!

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 7/32

Der Barbier von SevillaDiagonalisierung: Beweistechnik um Nichtexistenz vonObjekten zu zeigen.

Beginn der Mengenlehre (Ende 19tes Jhd.): Die Menge A

sei die Menge die alle anderen Mengen als Teilmengenenthält

Theorem (Cantor)Für jede Menge M ist P(M) echt mächtiger als M selber

Zu jeder Menge M ist die Potenzmenge P(M)wohldefiniert.

"‘Echt mächtiger"’ im Sinne der Mathematik: Es gibt keinesurjektive (volle) Abbildung von M nach P(M).

Damit: A kann P(A) nicht als Teilmenge enthalten! Es gibtdie Menge A nicht!

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 7/32

Der Barbier von SevillaDiagonalisierung: Beweistechnik um Nichtexistenz vonObjekten zu zeigen.

Beginn der Mengenlehre (Ende 19tes Jhd.): Die Menge A

sei die Menge die alle anderen Mengen als Teilmengenenthält

Theorem (Cantor)Für jede Menge M ist P(M) echt mächtiger als M selber

Zu jeder Menge M ist die Potenzmenge P(M)wohldefiniert.

"‘Echt mächtiger"’ im Sinne der Mathematik: Es gibt keinesurjektive (volle) Abbildung von M nach P(M).

Damit: A kann P(A) nicht als Teilmenge enthalten! Es gibtdie Menge A nicht!

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 7/32

Der Barbier von SevillaDiagonalisierung: Beweistechnik um Nichtexistenz vonObjekten zu zeigen.

Beginn der Mengenlehre (Ende 19tes Jhd.): Die Menge A

sei die Menge die alle anderen Mengen als Teilmengenenthält

Theorem (Cantor)Für jede Menge M ist P(M) echt mächtiger als M selber

Zu jeder Menge M ist die Potenzmenge P(M)wohldefiniert.

"‘Echt mächtiger"’ im Sinne der Mathematik: Es gibt keinesurjektive (volle) Abbildung von M nach P(M).

Damit: A kann P(A) nicht als Teilmenge enthalten! Es gibtdie Menge A nicht!

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 7/32

Beweis des Satzes von Cantor(Halmos)

Annahme: Es gibt eine surjective Abbildung σ : M → P(M).Wir definieren folgende Menge H = {x ∈ M|x /∈ σ(x)}.Klar: H ist eine Teilmenge von M, also H ∈ P(M).Da σ surjektiv ist gibt es ein h ∈ M mit σ(h) = H.Frage: Ist h ∈ H?

h ∈ H Def H⇔ h /∈ σ(h)

⇔ ¬(h ∈ σ(h))Def h⇔ h /∈ H

Widerspruch!

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 8/32

Beweis des Satzes von Cantor(Halmos)

Annahme: Es gibt eine surjective Abbildung σ : M → P(M).Wir definieren folgende Menge H = {x ∈ M|x /∈ σ(x)}.Klar: H ist eine Teilmenge von M, also H ∈ P(M).Da σ surjektiv ist gibt es ein h ∈ M mit σ(h) = H.Frage: Ist h ∈ H?

h ∈ H Def H⇔ h /∈ σ(h)

⇔ ¬(h ∈ σ(h))Def h⇔ h /∈ H

Widerspruch!

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 8/32

Beweis des Satzes von Cantor(Halmos)

Annahme: Es gibt eine surjective Abbildung σ : M → P(M).Wir definieren folgende Menge H = {x ∈ M|x /∈ σ(x)}.Klar: H ist eine Teilmenge von M, also H ∈ P(M).Da σ surjektiv ist gibt es ein h ∈ M mit σ(h) = H.Frage: Ist h ∈ H?

h ∈ H Def H⇔ h /∈ σ(h)

⇔ ¬(h ∈ σ(h))Def h⇔ h /∈ H

Widerspruch!

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 8/32

Beweis des Satzes von Cantor(Halmos)

Annahme: Es gibt eine surjective Abbildung σ : M → P(M).Wir definieren folgende Menge H = {x ∈ M|x /∈ σ(x)}.Klar: H ist eine Teilmenge von M, also H ∈ P(M).Da σ surjektiv ist gibt es ein h ∈ M mit σ(h) = H.Frage: Ist h ∈ H?

h ∈ H Def H⇔ h /∈ σ(h)

⇔ ¬(h ∈ σ(h))Def h⇔ h /∈ H

Widerspruch!

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 8/32

Beweis des Satzes von Cantor(Halmos)

Annahme: Es gibt eine surjective Abbildung σ : M → P(M).Wir definieren folgende Menge H = {x ∈ M|x /∈ σ(x)}.Klar: H ist eine Teilmenge von M, also H ∈ P(M).Da σ surjektiv ist gibt es ein h ∈ M mit σ(h) = H.Frage: Ist h ∈ H?

h ∈ H Def H⇔ h /∈ σ(h)

⇔ ¬(h ∈ σ(h))Def h⇔ h /∈ H

Widerspruch!

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 8/32

Beweis des Satzes von Cantor(Halmos)

Annahme: Es gibt eine surjective Abbildung σ : M → P(M).Wir definieren folgende Menge H = {x ∈ M|x /∈ σ(x)}.Klar: H ist eine Teilmenge von M, also H ∈ P(M).Da σ surjektiv ist gibt es ein h ∈ M mit σ(h) = H.Frage: Ist h ∈ H?

h ∈ H Def H⇔ h /∈ σ(h)

⇔ ¬(h ∈ σ(h))Def h⇔ h /∈ H

Widerspruch!

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 8/32

Beweis des Satzes von Cantor(Halmos)

Annahme: Es gibt eine surjective Abbildung σ : M → P(M).Wir definieren folgende Menge H = {x ∈ M|x /∈ σ(x)}.Klar: H ist eine Teilmenge von M, also H ∈ P(M).Da σ surjektiv ist gibt es ein h ∈ M mit σ(h) = H.Frage: Ist h ∈ H?

h ∈ H Def H⇔ h /∈ σ(h)

⇔ ¬(h ∈ σ(h))Def h⇔ h /∈ H

Widerspruch!

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 8/32

Korrolare von Cantors Satz

Die reellen Zahlen R sind echt mächtiger als N, alsoüberabzählbar. Dazu gibt man (fast) injektive Abb.P(N) → R an.

Da für jedes endliche Σ gilt #Σ∗ = #N gibt es#P(Σ∗) = #P(N) (überabzählbar viele) Sprachen über Σ.Da die Gödelisierung eindeutig ist gibt es aber nur #N

(abzählbar viele) Turingmaschinen. Eine Turingmaschineakzeptiert aber genau eine Sprache. Es gibt alsoSprachen die nicht entscheidbar sind!

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 9/32

Korrolare von Cantors Satz

Die reellen Zahlen R sind echt mächtiger als N, alsoüberabzählbar. Dazu gibt man (fast) injektive Abb.P(N) → R an.

Da für jedes endliche Σ gilt #Σ∗ = #N gibt es#P(Σ∗) = #P(N) (überabzählbar viele) Sprachen über Σ.Da die Gödelisierung eindeutig ist gibt es aber nur #N

(abzählbar viele) Turingmaschinen. Eine Turingmaschineakzeptiert aber genau eine Sprache. Es gibt alsoSprachen die nicht entscheidbar sind!

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 9/32

Nichtentscheidbarkeit

Das war ein nichtkonstruktives Argument.

Wir wissen nun dass es nicht-entscheidbare Sprachen gibtaber wissen noch von keiner konkreten Sprache dienicht-entscheidbar ist.

Wir gehen nun ähnlich wie im Beweis des Satzes vonCantor vor.

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 10/32

Nichtentscheidbarkeit

Das war ein nichtkonstruktives Argument.

Wir wissen nun dass es nicht-entscheidbare Sprachen gibtaber wissen noch von keiner konkreten Sprache dienicht-entscheidbar ist.

Wir gehen nun ähnlich wie im Beweis des Satzes vonCantor vor.

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 10/32

Nichtentscheidbarkeit

Das war ein nichtkonstruktives Argument.

Wir wissen nun dass es nicht-entscheidbare Sprachen gibtaber wissen noch von keiner konkreten Sprache dienicht-entscheidbar ist.

Wir gehen nun ähnlich wie im Beweis des Satzes vonCantor vor.

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 10/32

Die Diagonalsprache

Wir definieren folgende Sprache über o.B.d.A Σ = {0, 1}.

LD = {w ∈ Σ∗| Mw akzeptiert w nicht }

Behauptung: Die Diagonalsprache ist nicht entscheidbar.

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 11/32

Die Diagonalsprache

Wir definieren folgende Sprache über o.B.d.A Σ = {0, 1}.

LD = {w ∈ Σ∗| Mw akzeptiert w nicht }

Behauptung: Die Diagonalsprache ist nicht entscheidbar.

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 11/32

Die Diagonalsprache

Annahme: LD ist entscheidbar.

Dann gibt es eine Turingmaschine T die LD entscheidet.

Es sei t = 〈T 〉 die Gödelnummer von T .

Frage: Ist t ∈ LD?

t ∈ LDDef LD⇔ T = Mt akzeptiert t nichtDef T⇔ t /∈ LD

Widerspruch!

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 12/32

Die Diagonalsprache

Annahme: LD ist entscheidbar.

Dann gibt es eine Turingmaschine T die LD entscheidet.

Es sei t = 〈T 〉 die Gödelnummer von T .

Frage: Ist t ∈ LD?

t ∈ LDDef LD⇔ T = Mt akzeptiert t nichtDef T⇔ t /∈ LD

Widerspruch!

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 12/32

Die Diagonalsprache

Annahme: LD ist entscheidbar.

Dann gibt es eine Turingmaschine T die LD entscheidet.

Es sei t = 〈T 〉 die Gödelnummer von T .

Frage: Ist t ∈ LD?

t ∈ LDDef LD⇔ T = Mt akzeptiert t nichtDef T⇔ t /∈ LD

Widerspruch!

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 12/32

Die Diagonalsprache

Annahme: LD ist entscheidbar.

Dann gibt es eine Turingmaschine T die LD entscheidet.

Es sei t = 〈T 〉 die Gödelnummer von T .

Frage: Ist t ∈ LD?

t ∈ LDDef LD⇔ T = Mt akzeptiert t nichtDef T⇔ t /∈ LD

Widerspruch!

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 12/32

Die Diagonalsprache

Annahme: LD ist entscheidbar.

Dann gibt es eine Turingmaschine T die LD entscheidet.

Es sei t = 〈T 〉 die Gödelnummer von T .

Frage: Ist t ∈ LD?

t ∈ LDDef LD⇔ T = Mt akzeptiert t nichtDef T⇔ t /∈ LD

Widerspruch!

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 12/32

Die Diagonalsprache

Annahme: LD ist entscheidbar.

Dann gibt es eine Turingmaschine T die LD entscheidet.

Es sei t = 〈T 〉 die Gödelnummer von T .

Frage: Ist t ∈ LD?

t ∈ LDDef LD⇔ T = Mt akzeptiert t nichtDef T⇔ t /∈ LD

Widerspruch!

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 12/32

Die Diagonalsprache

Damit erhalten wir:

TheoremDie Diagonalsprache LD ist nicht entscheidbar.

Klar: LD ∈ co − RE . Um dies zu zeigen gibt man Akzeptor Tfür LD an. Eingabe 〈M〉

Simuliere M bei Eingabe 〈M〉

Falls M akzeptiert dann akzeptiere

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 13/32

Die Diagonalsprache

Damit erhalten wir:

TheoremDie Diagonalsprache LD ist nicht entscheidbar.

Klar: LD ∈ co − RE . Um dies zu zeigen gibt man Akzeptor Tfür LD an. Eingabe 〈M〉

Simuliere M bei Eingabe 〈M〉

Falls M akzeptiert dann akzeptiere

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 13/32

Die Diagonalsprache

Damit erhalten wir:

TheoremDie Diagonalsprache LD ist nicht entscheidbar.

Klar: LD ∈ co − RE . Um dies zu zeigen gibt man Akzeptor Tfür LD an. Eingabe 〈M〉

Simuliere M bei Eingabe 〈M〉

Falls M akzeptiert dann akzeptiere

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 13/32

Die Diagonalsprache

Warum nennt sich das Diagonalisierung?→ Wir können die Wörter in Σ∗ lexikographisch ordnen underhalten so eine aufsteigende Folge w0, w1, w2, . . . die alleWörter in Σ∗ umfasst.

w0 w1 w2 w3 . . .Mw0 0 1 1 0 . . .Mw1 1 1 0 0 . . .Mw2 0 0 0 1 . . .Mw3 1 1 0 1 . . .

......

......

.... . .

Wir betrachten nun interessante nicht-entscheidbareProbleme/Sprachen

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 14/32

Die Diagonalsprache

Warum nennt sich das Diagonalisierung?→ Wir können die Wörter in Σ∗ lexikographisch ordnen underhalten so eine aufsteigende Folge w0, w1, w2, . . . die alleWörter in Σ∗ umfasst.

w0 w1 w2 w3 . . .Mw0 0 1 1 0 . . .Mw1 1 1 0 0 . . .Mw2 0 0 0 1 . . .Mw3 1 1 0 1 . . .

......

......

.... . .

Wir betrachten nun interessante nicht-entscheidbareProbleme/Sprachen

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 14/32

Das Wortproblem fürTuringmaschinen

Definition (Das Wortproblem)

ATM = {〈M〉w ∈ Σ∗| M akzeptiert Eingabe w }

Das ist äquivalent zum Wortproblem für Chomsky-Typ 0Grammatiken (letzte Vorlesung)

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 15/32

Das Wortproblem fürTuringmaschinen

LemmaDas Wortproblem ATM ist nicht entscheidbar.

Proof.Wäre ATM entscheidbar, dann gäbe es einen Entscheider T für ATM .Daraus lässt sich ein Entscheider T ′ für LD konstruieren. Wirspezifizieren T ′ bei Eingabe 〈M〉:

Simuliere T mit Eingabe 〈M〉〈M〉

Falls T akzeptiert dann akzeptiere nicht

Falls T nicht akzeptiert dann akzeptiere

T ′ entscheidet also LD.

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 16/32

Das Wortproblem fürTuringmaschinen

LemmaDas Wortproblem ATM ist nicht entscheidbar.

Proof.Wäre ATM entscheidbar, dann gäbe es einen Entscheider T für ATM .Daraus lässt sich ein Entscheider T ′ für LD konstruieren. Wirspezifizieren T ′ bei Eingabe 〈M〉:

Simuliere T mit Eingabe 〈M〉〈M〉

Falls T akzeptiert dann akzeptiere nicht

Falls T nicht akzeptiert dann akzeptiere

T ′ entscheidet also LD.

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 16/32

Berechenbare Funktionen

Sei Σ ein endliches Alphabet.

DefinitionEine Funktion f : Σ∗ → Σ∗ heißt berechenbar falls es eineTuringmaschine M gibt, die bei Eingabe w ∈ Σ∗ nach endlichvielen Schritten hält mit Ausgabe f (w) auf dem Band.

Eine solche Maschine unterscheidet sich von Akzeptoren /Entscheidern dadurch dass die Ausgabe auf das Bandcodiert ist.

So gut wie alle natürlichen Funktionen auf diskretenStrukturen wie N, Z, Q sind berechenbar. Z.B. +,−,×,÷.

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 17/32

Berechenbare Funktionen

Sei Σ ein endliches Alphabet.

DefinitionEine Funktion f : Σ∗ → Σ∗ heißt berechenbar falls es eineTuringmaschine M gibt, die bei Eingabe w ∈ Σ∗ nach endlichvielen Schritten hält mit Ausgabe f (w) auf dem Band.

Eine solche Maschine unterscheidet sich von Akzeptoren /Entscheidern dadurch dass die Ausgabe auf das Bandcodiert ist.

So gut wie alle natürlichen Funktionen auf diskretenStrukturen wie N, Z, Q sind berechenbar. Z.B. +,−,×,÷.

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 17/32

Berechenbare Funktionen

Sei Σ ein endliches Alphabet.

DefinitionEine Funktion f : Σ∗ → Σ∗ heißt berechenbar falls es eineTuringmaschine M gibt, die bei Eingabe w ∈ Σ∗ nach endlichvielen Schritten hält mit Ausgabe f (w) auf dem Band.

Eine solche Maschine unterscheidet sich von Akzeptoren /Entscheidern dadurch dass die Ausgabe auf das Bandcodiert ist.

So gut wie alle natürlichen Funktionen auf diskretenStrukturen wie N, Z, Q sind berechenbar. Z.B. +,−,×,÷.

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 17/32

Many-One-Reduzierbarkeit

DefinitionEine Sprache A ist many-one reduzierbar auf eine Sprache B,kurz A ≤m B, falls eine berechenbare Funktion f : Σ∗ → Σ∗

existiert, sodass für alle w ∈ Σ∗

w ∈ A ⇔ f (w) ∈ B

Man sagt auch informell: B ist schwieriger als A

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 18/32

Many-One-Reduzierbarkeit

DefinitionEine Sprache A ist many-one reduzierbar auf eine Sprache B,kurz A ≤m B, falls eine berechenbare Funktion f : Σ∗ → Σ∗

existiert, sodass für alle w ∈ Σ∗

w ∈ A ⇔ f (w) ∈ B

Man sagt auch informell: B ist schwieriger als A

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 18/32

Many-One-Reduzierbarkeit

LemmaSei A ≤m B. Wenn B entscheidbar ist, dann ist auch Aentscheidbar.

Proof.Sei A ≤m B und B entscheidbar. Es gibt also einen EntscheiderM für B und eine many-one Reduktion f von A auf B. Wirbauen einen Entscheider M′ für A. Bei Eingabe w

Berechne f (w)

Simuliere M bei Eingabe f (w) und akzeptiere genau dannwenn M akzeptiert

Es gilt klar: Wenn w ∈ A dann ist f (w) ∈ B womit M′ wakzeptiert, weil M f (w) akzeptiert. Ist w /∈ A dann ist f (w) /∈ Bund M′ akzeptiert w nicht, weil M f (w) nicht akzeptiert.

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 19/32

Many-One-Reduzierbarkeit

LemmaSei A ≤m B. Wenn B entscheidbar ist, dann ist auch Aentscheidbar.

Proof.Sei A ≤m B und B entscheidbar. Es gibt also einen EntscheiderM für B und eine many-one Reduktion f von A auf B. Wirbauen einen Entscheider M′ für A. Bei Eingabe w

Berechne f (w)

Simuliere M bei Eingabe f (w) und akzeptiere genau dannwenn M akzeptiert

Es gilt klar: Wenn w ∈ A dann ist f (w) ∈ B womit M′ wakzeptiert, weil M f (w) akzeptiert. Ist w /∈ A dann ist f (w) /∈ Bund M′ akzeptiert w nicht, weil M f (w) nicht akzeptiert.

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 19/32

Many-One-Reduzierbarkeit

CorollaryIst A ≤m B und A nicht entscheidbar, dann ist auch B nichtentscheidbar.

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 20/32

Das Halteproblem

Gerne hätte man eine Möglichkeit von Computerprogrammenzu entscheiden ob sie immer das tun was der Programmierervon ihnen wünscht.

Definition (Das Halteproblem)

HALT = {〈M〉w ∈ Σ∗| M hält bei Eingabe w }

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 21/32

Das Halteproblem

Gerne hätte man eine Möglichkeit von Computerprogrammenzu entscheiden ob sie immer das tun was der Programmierervon ihnen wünscht.

Definition (Das Halteproblem)

HALT = {〈M〉w ∈ Σ∗| M hält bei Eingabe w }

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 21/32

Das Halteproblem

LemmaDas Halteproblem HALT ist nicht entscheidbar.

Proof.Wir geben eine many-one Reduktion f von ATM auf HALT an. Seix = 〈M〉w eine Instanz von ATM . Wir definieren nun f (x) = 〈M′〉wund spezifizieren die Turingmaschine M′ bei Eingabe v

Simuliere M mit Eingabe v

Falls M das Wort v nicht akzeptiert, gehe in Endlosschleife

Falls M das Wort v akzeptiert, dann akzeptiere

Nun ist klar dass M′ bei Eingabe w genau dann hält wenn M dieEingabe w akzeptiert. Also ist f eine many-one Reduktion.

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 22/32

Das Halteproblem

LemmaDas Halteproblem HALT ist nicht entscheidbar.

Proof.Wir geben eine many-one Reduktion f von ATM auf HALT an. Seix = 〈M〉w eine Instanz von ATM . Wir definieren nun f (x) = 〈M′〉wund spezifizieren die Turingmaschine M′ bei Eingabe v

Simuliere M mit Eingabe v

Falls M das Wort v nicht akzeptiert, gehe in Endlosschleife

Falls M das Wort v akzeptiert, dann akzeptiere

Nun ist klar dass M′ bei Eingabe w genau dann hält wenn M dieEingabe w akzeptiert. Also ist f eine many-one Reduktion.

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 22/32

Semi-Entscheidbarkeit

LemmaEs gilt ATM ∈ RE und HALT ∈ RE

Proof.Wir zeigen die Semi Entscheidbarkeit von ATM . Dazu gebenwir einen Akzeptor T für ATM an. Wir spezifizieren T für dieEingabe 〈M〉w .

Simuliere M bei Eingabe w

Akzeptiere wenn M akzeptiert.

Für HALT gehts fast genauso.

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 23/32

Semi-Entscheidbarkeit

LemmaEs gilt ATM ∈ RE und HALT ∈ RE

Proof.Wir zeigen die Semi Entscheidbarkeit von ATM . Dazu gebenwir einen Akzeptor T für ATM an. Wir spezifizieren T für dieEingabe 〈M〉w .

Simuliere M bei Eingabe w

Akzeptiere wenn M akzeptiert.

Für HALT gehts fast genauso.

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 23/32

Semi-Entscheidbarkeit

LemmaEs gilt R = RE ∩ co − RE. Ein Sprache ist also genau dannentscheidbar wenn sie und ihr Komplement entscheidbar sind.

Proof."⊆": trivial."⊇": Wir habe Akzeptoren M1 für L und M2 für L. Wir konstruiereneinen Entscheider M für L. Wir spezifizieren M bei Eingabe w .

Simuliere parallel M1 mit Eingabe w und M2 mit Eingabe w

Sobald M1 akzeptiert dann akzeptiere

Sobald M2 akzeptiert dann lehne ab

Da w entweder in L oder L liegt wird eine der beiden Maschinenirgendwann akzeptieren. Somit ist M ein Entscheider.

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 24/32

Semi-Entscheidbarkeit

LemmaEs gilt R = RE ∩ co − RE. Ein Sprache ist also genau dannentscheidbar wenn sie und ihr Komplement entscheidbar sind.

Proof."⊆": trivial."⊇": Wir habe Akzeptoren M1 für L und M2 für L. Wir konstruiereneinen Entscheider M für L. Wir spezifizieren M bei Eingabe w .

Simuliere parallel M1 mit Eingabe w und M2 mit Eingabe w

Sobald M1 akzeptiert dann akzeptiere

Sobald M2 akzeptiert dann lehne ab

Da w entweder in L oder L liegt wird eine der beiden Maschinenirgendwann akzeptieren. Somit ist M ein Entscheider.

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 24/32

Ein schönes Problem zum Schluß

Definition (Das Post’sche Korrespondenzproblem)Gegeben: Eine endliche Menge von Puzzlestücken

S =

{(

t1b1

)

, . . . ,

(

t1b1

)}

mit t1, . . . , tn, b1, . . . , bn ∈ Σ∗.Frage: Gibt es i1, . . . , ik ∈ {1, . . . , n} mit ti1 . . . tik = bi1 . . . bik ?

Das läßt sich auch als Sprache formulieren, schreibt sich aberbequemer als Problem. In der zugehörigen Sprache liegen alleJa-Instanzen des Problems.

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 25/32

Ein schönes Problem zum Schluß

Definition (Das Post’sche Korrespondenzproblem)Gegeben: Eine endliche Menge von Puzzlestücken

S =

{(

t1b1

)

, . . . ,

(

t1b1

)}

mit t1, . . . , tn, b1, . . . , bn ∈ Σ∗.Frage: Gibt es i1, . . . , ik ∈ {1, . . . , n} mit ti1 . . . tik = bi1 . . . bik ?

Das läßt sich auch als Sprache formulieren, schreibt sich aberbequemer als Problem. In der zugehörigen Sprache liegen alleJa-Instanzen des Problems.

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 25/32

Beispiel

Sei Σ = {a, b, c}.Sei

S =

{(

bca

)

,

(

aab

)

,

(

caa

)

,

(

abcc

)}

Gibt es ein Matching für S?Antwort: Ja!

(

aab

)(

bca

)(

caa

)(

aab

)(

abcc

)

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 26/32

Beispiel

Sei Σ = {a, b, c}.Sei

S =

{(

bca

)

,

(

aab

)

,

(

caa

)

,

(

abcc

)}

Gibt es ein Matching für S?Antwort: Ja!

(

aab

)(

bca

)(

caa

)(

aab

)(

abcc

)

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 26/32

Beispiel

Sei Σ = {a, b, c}.Sei

S =

{(

bca

)

,

(

aab

)

,

(

caa

)

,

(

abcc

)}

Gibt es ein Matching für S?Antwort: Ja!

(

aab

)(

bca

)(

caa

)(

aab

)(

abcc

)

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 26/32

Beispiel

Sei Σ = {a, b, c}.Sei

S =

{(

bca

)

,

(

aab

)

,

(

caa

)

,

(

abcc

)}

Gibt es ein Matching für S?Antwort: Ja!

(

aab

)(

bca

)(

caa

)(

aab

)(

abcc

)

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 26/32

Das Post’scheKorrespondenzproblem

TheoremDas Post’sche Korrespondezproblem ist nicht entscheidbar

Das erstaunt!Nochmal für alle die heut nicht aufgepasst haben: Es kannkeinen Algorithmus geben der dieses Puzzlespiel allgemeinlöst.

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 27/32

Das Post’scheKorrespondenzproblem

TheoremDas Post’sche Korrespondezproblem ist nicht entscheidbar

Das erstaunt!Nochmal für alle die heut nicht aufgepasst haben: Es kannkeinen Algorithmus geben der dieses Puzzlespiel allgemeinlöst.

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 27/32

Das Post’scheKorrespondenzproblem

TheoremDas Post’sche Korrespondezproblem ist nicht entscheidbar

Das erstaunt!Nochmal für alle die heut nicht aufgepasst haben: Es kannkeinen Algorithmus geben der dieses Puzzlespiel allgemeinlöst.

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 27/32

Beweis

Wir reduzieren das Wortproblem für Chomsky-Typ 0 auf dasPost’sche Korrespondenzproblem (PKP).

Nochmal Wortproblem Ch-0Gegeben: Ch-0 Grammatik G = (T ,V, S,P) und Wort w ∈ T ∗

Frage: Liegt w in der von G erzeugten Sprache, d.h. giltS ⇒∗ w?

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 28/32

Beweis

Wir reduzieren das Wortproblem für Chomsky-Typ 0 auf dasPost’sche Korrespondenzproblem (PKP).

Nochmal Wortproblem Ch-0Gegeben: Ch-0 Grammatik G = (T ,V, S,P) und Wort w ∈ T ∗

Frage: Liegt w in der von G erzeugten Sprache, d.h. giltS ⇒∗ w?

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 28/32

Beweis

Ist T = {t1, . . . , tn} so setzen wir

T ′ = {t ′1, . . . , t ′n}

mit T ∩ T ′ = ∅ als das gestichte Terminalalphabet. Für ein Wortw ∈ T ∗ sei w ′ ∈ (T ′)∗ das gestrichte Wort. Genauso definierenwir V∗.

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 29/32

Beweis

Wir setzen Σ = T ∪ T ′ ∪ V ∪ V ′ ∪ {∗, ∗′}.Wir definieren nun die Puzzlestücke unseres PKPs:Für jede Produktion α → β ∈ P führen wir folgendePuzzlestücke in S ein

(

β′

α

)

,

(

β

α′

)

Für jedes t ∈ T definieren wir die Puzzlestücke(

t ′

t

)

,

(

tt ′

)

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 30/32

Beweis

Wir setzen Σ = T ∪ T ′ ∪ V ∪ V ′ ∪ {∗, ∗′}.Wir definieren nun die Puzzlestücke unseres PKPs:Für jede Produktion α → β ∈ P führen wir folgendePuzzlestücke in S ein

(

β′

α

)

,

(

β

α′

)

Für jedes t ∈ T definieren wir die Puzzlestücke(

t ′

t

)

,

(

tt ′

)

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 30/32

Beweis

Wir setzen Σ = T ∪ T ′ ∪ V ∪ V ′ ∪ {∗, ∗′}.Wir definieren nun die Puzzlestücke unseres PKPs:Für jede Produktion α → β ∈ P führen wir folgendePuzzlestücke in S ein

(

β′

α

)

,

(

β

α′

)

Für jedes t ∈ T definieren wir die Puzzlestücke(

t ′

t

)

,

(

tt ′

)

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 30/32

Beweis

Wir setzen Σ = T ∪ T ′ ∪ V ∪ V ′ ∪ {∗, ∗′}.Wir definieren nun die Puzzlestücke unseres PKPs:Für jede Produktion α → β ∈ P führen wir folgendePuzzlestücke in S ein

(

β′

α

)

,

(

β

α′

)

Für jedes t ∈ T definieren wir die Puzzlestücke(

t ′

t

)

,

(

tt ′

)

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 30/32

Beweis

Wir setzen Σ = T ∪ T ′ ∪ V ∪ V ′ ∪ {∗, ∗′}.Wir definieren nun die Puzzlestücke unseres PKPs:Für jede Produktion α → β ∈ P führen wir folgendePuzzlestücke in S ein

(

β′

α

)

,

(

β

α′

)

Für jedes t ∈ T definieren wir die Puzzlestücke(

t ′

t

)

,

(

tt ′

)

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 30/32

Beweis

Nun benötigen wir nurnoch Puzzlestücke für die Anfangs unddie Endbedingung, sowie für die Trennung der einzelnenAbleitungsschritte.

(

S∗′

ǫ

)

,

(

ǫ

∗w

)

,

(

∗′

)

,

(

∗′

)

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 31/32

Beweis

Haben wir nun eine Ableitung

S ⇒ w1 ⇒ w2 ⇒ · · · ⇒ wk ⇒ w

So können wir diese in eine Lösung des PKPs übersetzen(Klammern weggelassen)

S∗′w ′

1 ∗w2 ∗′ · · · ∗′ w ′

k∗ w

S ∗′w ′

1 ∗ · · · ∗ wk−1∗′ w ′

k∗ w

Damit sieht man auch dass eine solche Lösung des PKPs einekorrekte Ableitung von w impliziert.

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 32/32

Beweis

Haben wir nun eine Ableitung

S ⇒ w1 ⇒ w2 ⇒ · · · ⇒ wk ⇒ w

So können wir diese in eine Lösung des PKPs übersetzen(Klammern weggelassen)

S∗′w ′

1 ∗w2 ∗′ · · · ∗′ w ′

k∗ w

S ∗′w ′

1 ∗ · · · ∗ wk−1∗′ w ′

k∗ w

Damit sieht man auch dass eine solche Lösung des PKPs einekorrekte Ableitung von w impliziert.

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 32/32

Beweis

Haben wir nun eine Ableitung

S ⇒ w1 ⇒ w2 ⇒ · · · ⇒ wk ⇒ w

So können wir diese in eine Lösung des PKPs übersetzen(Klammern weggelassen)

S∗′w ′

1 ∗w2 ∗′ · · · ∗′ w ′

k∗ w

S ∗′w ′

1 ∗ · · · ∗ wk−1∗′ w ′

k∗ w

Damit sieht man auch dass eine solche Lösung des PKPs einekorrekte Ableitung von w impliziert.

Universelle Turingmaschinen und Gödelnummern Diagonalisierung Nicht-entscheidbare Probleme Semi-Entscheidbarkeit

Nico Döttling – Übung November 19, 2009 32/32