Was bisher geschah: Formale Sprachen Alphabet, Wort, Sprache Operationen und Relationen auf Wörtern und Sprachen Darstellung unendlicher Sprachen durch I reguläre Ausdrücke (Syntax, Semantik, Äquivalenz) I Wortersetzungssysteme I Algorithmen für w ∈ L(S, u) für ? I I I nichtverlängernde Wortersetzungssysteme nichtverkürzende Wortersetzungssysteme Grammatiken (Ableitung, definierte Sprache, Äquivalenz) 91 Chomsky-Hierarchie (Noam Chomsky) Eine Grammatik G = (N, T , P, S) ist vom Chomsky-Typ 0 immer, 1 , falls für jede Regel (l → r ) ∈ P gilt: |l| ≤ |r | (monoton, kontextsensitiv) 2 , falls Typ 1 und für jede Regel (l → r ) ∈ P gilt: l ∈ N (kontextfrei) 3 , falls Typ 2 und für jede Regel (l → r ) ∈ P gilt: l ∈ N und r ∈ (T ∪ TN) (regulär) Eine Sprache L ⊆ T ∗ heißt vom Typ i für i ∈ {0, . . . , 3}, falls L \ {ε} = L(G) für eine Grammatik G vom Typ i. Li bezeichnet die Menge aller Sprachen vom Typ i. Es gibt Sprachen, die durch keine Grammatik erzeugt werden, also keinen Chomsky-Typ haben (Begründung später). 92 Beispiele I G = ({S}, {a, b}, P, S) mit P = {S → aSb, S → ab, S → a, S → b} ist vom Typ 2 I G = ({S, A, B}, {a, b}, P, S) mit P = {S → aA, A → aB, B → bB, B → b} ist vom Typ 3 I G = ({A, B, C}, {a, b, c}, P, A) mit A → aABC, A → aBC, CB → BC, aB → ab, P= bB → bb, bC → bc, cC → cc 93 Dyck-Sprache Klammerpaar (, ) Dyck-Sprache: Menge aller korrekt geklammerten Ausdrücke erzeugt durch Grammatik G = ({S}, {(, )}, P, S) mit S → ε S → SS P = S → (S) Beispiele: I ()(()()) ∈ L(G) I ())(6∈ L(G) 94 Allgemeine Dyck-Sprachen Menge aller korrekt geklammerten Ausdrücke mit n Paaren von Klammern: (i , )i für i ∈ {1, . . . , n} erzeugt durch Grammatik G = ({S}, {(i , )i | i ∈ {1, . . . , n}}, P, S) mit S → ε P = ∪ {S → (i S)i | i ∈ {1, . . . , n}} S → SS Symbole müssen nicht notwendig Klammern sein, z.B. aacdacababdbbcabdb ∈ Dyck-Sprache mit a statt (1 , b statt )1 , c statt (2 und d statt )2 95 Wortproblem für durch Grammatiken definierte Sprachen Satz Es existiert ein Algorithmus, welcher I für jede beliebige Eingabe (G, u), wobei I I I G eine monotone Grammatik (Chomsky-Typ 1) und u ∈ A∗ sind, die Wahrheit der Aussage u ∈ L(G) korrekt beantwortet. (folgt aus entsprechendem Satz für nichtverkürzende Wortersetzungssysteme) demnächst spezielle (schnellere) Verfahren für Grammatiken vom Chomsky-Typ 2 und 3 96 Ordnungen auf A∗ Präfix-, Postfix-, Infix-Relation auf A∗ : Halbordnungen bei gegebener totaler Ordnung < auf dem Alphabet A: lexikographische Ordnung auf A∗ : ∀u, v ∈ A∗ : u ≤lex v gdw. 1. u v v oder 2. ∃w ∈ A∗ ∃a, b ∈ A : a < b ∧ wa v u ∧ wb v v quasi-lexikographische Ordnung auf A∗ : ∀u, v ∈ A∗ : u ≤qlex v gdw. 1. |u| ≤ |v | oder 2. |u| = |v | ∧ u ≤lex v Beispiele: für A = {a, b} mit a < b I ab v aba, ab ≤lex aba, ab ≤qlex aba I abab 6v abba, aber abab ≤lex abba und abab ≤qlex abba, I aaa ≤lex ab, aber aaa 6≤qlex ab I ab 6≤lex aaba, aber ab ≤qlex aaba 97 Mächtigkeitsvergleich unendlicher Mengen Eine Menge M heißt genau dann höchstens so mächtig wie die Menge N, wenn eine surjektive Funktion f : N → M existiert. (f : N → M ist surjektiv, gdw. ∀x ∈ M∃n ∈ N : f (n) = x) Beispiele: I I M = {1, 2, 3} ist höchstens so mächtig wie N = {a, b, c, d} N ist höchstens so mächtig wie 3N Zwei Mengen M und N heißen genau dann gleichmächtig, wenn I M höchstens so mächtig wie N und I N höchstens so mächtig wie M ist. (genau dann, wenn eine bijektive Funktion f : N → M existiert) Beispiele: I I M = {1, 2, 3, 4} und N = {a, b, c, d} sind gleichmächtig N und 3N sind gleichmächtig. 98 Abzählbarkeit Eine Menge M heißt genau dann abzählbar, wenn sie höchstens so mächtig wie ist. (also eine surjektive Funktion f : → M existiert) N N (Unendliche) Mengen, die nicht abzählbar sind, heißen überabzählbar. Beispiele: I N, Menge aller geraden Zahlen, Menge aller Primzahlen, jede endliche Menge, Menge aller Paare natürlicher Zahlen, Q sind abzählbar, I R ist überabzählbar. 99 Erstes Diagonalverfahren von Cantor (z.B. zum Nachweis der Abzählbarkeit einer Menge) Satz Die Menge alle Paare natürlicher Zahlen ist abzählbar. Beweisidee (Tafel): zweidimensionale (unendliche) Darstellung diagonale Durchquerung Dovetailing: analoge Idee zur sequentiellen Simulation paralleler Berechnungen I Für jedes endliche Alphabet A ist die Menge A∗ abzählbar. I Für jedes endliche Alphabet A ist jede Sprache L ⊆ A∗ abzählbar. 100 Zweites Diagonalverfahren von Cantor (z.B. zum Nachweis der Überabzählbarkeit einer Menge) Satz Es existieren überabzählbar viele unendliche 01-Folgen. ({0, 1}ω ist überabzählbar.) Beweisidee: indirekt (Tafel) allgemeinere Aussage: Satz (Cantor) Für jede Menge M ist ihre Potenzmenge 2M von M mächtiger als M. 101 Beispiele überabzählbarer Mengen R N N ist mächtiger als . Es gibt überabzählbar viele reelle Zahlen. [0, 1] ist mächtiger als . Es gibt überabzählbar viele reelle Zahlen im Intervall [0, 1]. N 2 (Menge aller Mengen natürlicher Zahlen) ist mächtiger als . (Überabzählbarkeit der Menge M = 2N ) Es gibt überabzählbar viele Mengen natürlicher Zahlen. ∗ {0,1} 2 Menge aller Sprachen L ⊆ {0, 1}∗ ist mächtiger als {0, 1}∗ . Es gibt überabzählbar viele Sprachen über dem Alphabet {0, 1}. ∗ A 2 für beliebiges endliches Alphabet A Für jedes endliche Alphabet A ist die Menge aller Sprachen über A überabzählbar. N 102 Lässt sich jede Sprache durch eine Grammatik repräsentieren? Existiert zu jeder Sprache L ⊆ A∗ eine Grammatik G mit L = L(G)? Nein (Gegenbeispiel später) Begründung: (Aussage für A = {0, 1} zu zeigen, genügt) 1. Wieviele Grammatiken über dem endlichen Alphabet A gibt es? abzählbar viele (weil Grammatiken endliche Beschreibungen sind, nach erstem Diagonalverfahren von Cantor) 2. Wieviele Sprachen L ⊆ {0, 1}∗ gibt es? überabzählbar viele (zweites Diagonalverfahren von Cantor) Damit existieren sogar sehr viel mehr (überabzählbar viele) Sprachen, die nicht durch Grammatiken beschrieben werden können. 103 Formale Sprachen – Zusammenfassung I Alphabet, Wort, Sprache Operationen und Relationen auf Wörtern und Sprachen I reguläre Ausdrücke Syntax, Semantik, Äquivalenz I Wortersetzungssysteme I Wortersetzungsregeln und -systeme I Ableitungen, Ableitungsgraph I durch Wortersetzungssysteme definierte Sprachen I Wortproblem in Wortersetzungssystemen im Allgemeinen nicht algorithmisch lösbar, aber algorithmisch lösbar für I I I nichtverlängernde Systeme nichtverkürzende Systeme Grammatiken I Terminal-, Nichtterminalsymbole I Ableitungen in Grammatiken I durch Grammatiken definierte Sprachen I Äquivalenz von Grammatiken I Chomsky-Hierarchie für Grammatiken und Sprachen 104