Gliederung 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechenbarkeitstheorie 4. Komplexitätstheorie 5. Kryptographie 0/2, Folie 1 2009 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
Alphabete / Zeichenketten / Sprachen Alphabet Ein Alphabet Σ ist eine endliche Menge von Symbolen (bzw. Zeichen). Σ = { a,b,c,...,z }; Σ 1 = { A,B,C,...,Z }; Σ 2 = { 0,1,...,9 } Zeichenketten und ihre Länge Eine Zeichenkette (/* ein Wort */) ist eine endliche Folge von Symbolen. anton (/* bzgl. Σ */), 123 (/* bzgl. Σ 2 */), ACHTUNG (/* bzgl. Σ 1 */) besondere Zeichenkette: ε (/* das leere Wort */) Die Länge einer Zeichenkette u ist die Anzahl der Symbole von u. anton = 5 123 = 3 ε = 0 0/2, Folie 2 2009 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
Alphabete / Zeichenketten / Sprachen Verkettung von zwei Zeichenketten Das Ergebnis der Verkettung von zwei Zeichenketten u und v ist die Zeichenkette, die entsteht, wenn v an u angehängt wird. Gebräuchliche Abkürzungen u = abc ; v = DEF u v = abc DEF = abcdef u 1 = aa ; v 1 = bb u 1 v 1 = aa bb = aabb u 2 = aba; v 2 = ε u 2 v 2 = aba ε = aba v 2 u 2 = ε aba = aba a 3 a 3 b 3 bzw. a 3 b 3 a 2 b 1 c 2 bzw. a 2 b 1 c 2 aaa aaabbb aabcc 0/2, Folie 3 2009 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
Alphabete / Zeichenketten / Sprachen Menge aller Zeichenketten (/* informell */) Σ* ist die Menge aller Zeichenketten (/* aller Wörter */) über dem Alphabet Σ. es sei Σ = { a, b }; dann ist... Σ* = { ε,a,b, aa,ab,ba,bb, aaa,...,bbb, aaaa,...,bbbb,... } 0/2, Folie 4 2009 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
Alphabete / Zeichenketten / Sprachen Menge aller Zeichenketten (/* formal; induktive Definition */) es sei Σ das zugrunde liegende Alphabet wir definieren für alle n N die Menge Σ n wie folgt: Induktionsanfang: Σ 0 = { ε } Induktionsschritt: Σ n+1 = { x w x Σ und w Σ n } (/* = { w x w Σ n und x Σ } */)... und verwenden Σ* als Abkürzung für: Sprachen Σ* = Σ i (/* = Σ 0 Σ 1 Σ 2... */) i N... Σ* enthält alle Zeichenketten, die aufgrund von endlich vielen Anwendung des Induktionsschrittes aus den Wörtern in Σ 0 gebildet werden können Eine Menge L Σ* ist eine (/* formale */) Sprache. 0/2, Folie 5 2009 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
Alphabete / Zeichenketten / Sprachen Präfix / Suffix (/* informell */) Jedes Anfangsstück einer Zeichenkette u heißt Präfix von u. u = anton ε, a, an, ant, anto, anton u 1 = 123 ε, 1, 12, 123 Jedes Endstück einer Zeichenkette u heißt Suffix von u. u = anton ε, n, on, ton, nton, anton u 1 = 123 ε, 3, 23, 123 0/2, Folie 6 2009 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
Alphabete / Zeichenketten / Sprachen Präfix / Suffix (/* formal */) es sei Σ das zugrunde liegende Alphabet es sei u Σ* Ein Wort p Σ* ist ein Präfix von u gdw. es gibt ein Wort w Σ* mit p w = u. Ein Wort s Σ* ist ein Suffix von u gdw. es gibt ein Wort w Σ* mit w s = u. 0/2, Folie 7 2009 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
Mengen / Relationen Mengen Eine Menge ist eine Zusammenfassung von Elementen. M = { n n N und n mod 2 = 0 } M 1 = { v 111 v Σ* }, wobei Σ = { 0,1 } gelte besondere Menge: Teilmenge / Obermenge A B jedes Element von A ist auch ein Element von B A B jedes Element von B ist auch ein Element von A 0/2, Folie 8 2009 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
Mengen / Relationen Durchschnitt / Vereinigung / Differenz / Potenzmenge A B A B = { x x A oder x B } A B = { x x A und x B } A \ B = { x x A und x B } 2 A = { M M A } A B A B A A B B A \ B Einfache Zusammenhänge A (A B), B (A B) (A B) A, (A B) B (A \ B) A 2 A, A 2 A 0/2, Folie 9 2009 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
Mengen / Relationen binäre Relationen Eine binäre Relation R über A und B ist eine Menge von geordneten Paaren, d.h. R { (a,b) a A und b B }. arb ist eine andere Schreibweise für (a,b) R Falls A = B gilt, so nennt man R Relation auf A Beispiel A = { 0,1,2,3,4,5 } R = { (0,1),(0,3),(1,2),(1,3),(1,4),(1,5), (2,4),(2,5),(3,4),(4,5) } 0 1 2 3 4 5 0/2, Folie 10 2009 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
Mengen / Relationen Reflexivität / Symmetrie / Transitivität Eine Relation R auf A ist reflexiv gdw. für alle a A gilt: (a,a) R. Eine Relation R auf A ist symmetrisch, falls für alle a,b A gilt: Wenn (a,b) R, so (b,a) R. Eine Relation R auf A ist transitiv gdw. für alle a,b,c A gilt: Wenn (a,b) R und (b,c) R, so auch (a,c) R 0/2, Folie 11 2009 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
Mengen / Relationen Transitive Hülle Die transitive Hülle Trans(R) einer Relation R über A ist die kleinste Relation mit folgenden Eigenschaften: wenn (a,b) R, so (a,b) Trans(R) wenn (a,b) Trans(R) und (b,c) Trans(R), so (a,c) Trans(R)... statt Trans(R) ist auch die Bezeichnung R + üblich Reflexive Hülle Die reflexive Hülle Refl(R) einer Relation R über A ist die wie folgt definierte Relation: Refl(R) = R { (a,a) a A }. 0/2, Folie 12 2009 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
Mengen / Relationen Ein einfacher Zusammenhang es sei R eine Relation R über A Dann gilt: Refl(Trans(R)) = Trans(Refl(R)).... es ist egal, ob man erst die transitive und dann die reflexive Hülle oder erst die reflexive und dann die transitive Hülle bildet Reflexive und transitive Hülle Die reflexive und transitive Hülle R* einer Relation R über A ist die wie folgt definierte Relation: R* = Refl(Trans(R)).... per Definition gilt: R* = R + { (a,a) a A } 0/2, Folie 13 2009 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik
Mengen / Relationen Beispiel A = { 0,1,2,3,4,5 } R = { (0,1),(0,3),(1,2),(1,3),(1,4),(1,5), (2,4),(2,5),(3,4),(4,5) } 0 1 2 3 4 5 R + = { (0,1),(0,3),(0,2),(0,4),(0,5), (1,2), (1,3),(1,4),(1,5),(2,4), (2,5),(3,4),(3,5),(4,5) } 0 1 2 3 4 5 0/2, Folie 14 2009 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik