@ 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