Theoretische Informatik 2, SS 2009

Werbung
@
TECHNISCHE UNIVERSITÄT CAROLO-WILHELMINA ZU BRAUNSCHWEIG
Institut für Theoretische Informatik
Dr. S. Milius
Braunschweig, 19. Mai 2010
Theoretische Informatik 2, SS 2009
Lösungshinweise zur Übungsaufgabe von Aufgabenblatt Nr. 6
Aufgabe 19
(a) Cantor’sches Diagonalverfahren
Eine abzählbar (unendliche) Mengen ist eine Menge M für die eine injektive1 Funktion M → N
existiert. Das bedeutet, abzählbare Mengen sind Mengen M , die sich auflisten lassen:
M = { m0 , m1 , m2 , m3 , . . . } .
Jetzt werden wir ein Verfahren wiederholen, das es erlaubt zu beweisen, dass bestimmte unendliche
Mengen solch eine Auflistung nicht erlauben – diese Mengen heißen überabzählbar.
In dieser Aufgabe wollen wir etwas zum Verhältnis der Anzahl aller Probleme zu der Anzahl der Probleme die prinzipiell von Computern gelöst werden können sagen. Dies wiederholt einige bekannte
Tatsachen aus der Vorlesung.
Gegeben ist ein beliebiges Alphabet Σ (z. B., zur Veranschaulichung betrachte Σ = { a, b, c }.)
Tatsache 1. Jede formale Sprache L ⊆ Σ∗ ist abzählbar.
In der Tat ist Σ∗ abzählbar und daher auch jede Teilmenge davon. Um dies zu sehen ordnet man
die Wörter in Σ∗ beispielsweise nach ihrer Länge und Wörter gleicher Länge lexikographisch (d. h.,
wie im Wörterbuch); zum Beispiel:
ε, a, a, b, aa, ab, ba, bb, aaa, . . .
Tatsache 2. Die Klasse L aller Sprachen über Σ ist überabzählbar (unendlich).
Beweis. Mit dem Cantor’schen Diagonalverfahren.
Annahme: L ist abzählbar, d. h., es existiert eine Auflistung
L = { L1 , L2 , L3 , L4 , . . . }
aller Sprachen Li ⊆ L. Aus den vorangegangenen Überlegungen wissen wir bereits, dass Σ∗ abzählbar ist, also zum Beispiel folgendermaßen aufgelistet werden kann: Σ∗ = { w1 , w2 , w3 , w4 , . . . }.
Man betrachte nun die folgende Tabelle
L1
L2
L3
L4
w1
0
1
0
1
w2
1
1
1
1
w3
1
0
0
1
w4
0
0
1
0
L5
..
.
1
..
.
0
1
1
···
···
···
···
···
..
.
Hierbei gilt
Zelleij =

 1
falls wj ∈ Li
0
falls wj 6∈ Li

(Man beachte, dass die Werte in der Tabelle reine Fantasiewerte sind. Wichtig ist nur, dass es
möglich ist, eine Tabelle in dieser Art anzugeben!)
Mit Hilfe der Diagonale definiert man nun eine Sprache Ld ⊆ Σ∗ die nicht in der obigen Auflistung
von L vorkommt:
Ld = { wi | i ∈ N, wi 6∈ Li }.
1 Zur
Erinnerung: Eine Funktion f : X → Y heißt injektiv falls für all x, y ∈ X gilt: falls f (x) = f (y) dann x = y.
1
Letzte Änderung: 17. Mai 2010
Theoretische Informatik 2, SS 2009
(Also falls wi nicht in Li vorkommt, wird es zu Ld hinzugefügt und falls wi in Li liegt, dann wird
es nicht zu Ld hinzugefügt.)
Dann gilt aber
Ld 6= Li
für alle i ∈ N ,
denn wi ∈ Ld ⇒ wi 6∈ Li und analog wi 6∈ Li ⇒ wi ∈ Li womit sich die beiden Sprachen in
mindestens einem Wort unterscheiden.
Das heißt, dass Ld nicht in (der Auflistung von) L vorkommt. Tatsache 3. Es gibt nur abzählbar viele Turing-Maschinen.
Aus der Vorlesung (siehe Abschnitt 5.1) wissen wir, dass jede Turing-Maschine M durch ein Wort
c(M ) über Σ = { 0, 1 } codiert werden kann. Also ist die Menge
{ c(M ) | M ist eine Turing-Maschine }
eine formale Sprache über Σ und deshalb abzählbar (siehe Tatsache 1).
Folge: Die Klasse der semi-entscheidbaren Sprachen ist abzählbar.
Bemerkungen.
• Die Tatsachen 2 und 3 zeigen, dass es viel mehr“ algorithmisch unlösbare Probleme gibt
”
als algorithmisch lösbare (zum Vergleich denke man an die abzählbare echte Teilmenge N
(natürliche Zahlen) der überabzählbaren Menge R der reellen Zahlen auf dem Zahlenstrahl).
• Trotzdem sind die meisten Probleme, die in der Praxis auftreten lösbar (d. h., semi-entscheidbar
und meistens sogar entscheidbar).
• Wir haben nur wenige konkrete Beispiele von Problemen gesehen, die nicht semi-entscheidbar
sind (und diese sind meistens künstlich). Wir haben aber sehr viele praktisch interessante
Probleme, die zwar semi-entscheidbar aber nicht entscheidbar (= rekursiv) sind.
• Für diejenigen, die im Skript den Begriff rekursiv-aufzählbare Sprache anstatt semi-endscheidbare
gelesen haben:
Es gibt einen großen Unterschied zwischen den Begriffen rekursiv aufzählbar und abzählbar.
Obwohl die Namen so ähnlich klingen, haben die entsprechenden Konzepte nichts miteinander
zu tun.
2
Herunterladen