Was bisher geschah. Modellierung von Aussagen durch Logiken. Modellierung von Daten durch Mengen

Ähnliche Dokumente
Was bisher geschah Alphabet, Wort, Sprache

Was bisher geschah Alphabet, Wort, Sprache

Theorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie

Theoretische Informatik Automaten und formale Sprachen

Grundbegriffe der Informatik Tutorium 2

Grundbegriffe der Informatik Tutorium 2

Was bisher geschah. Modellierung von Aussagen in klassischer Aussagen- und Prädikaten-Logik

Theoretische Informatik

Wiederholung: Modellierung in Prädikatenlogik

(Algebraische) Strukturen Beispiele (Träger-)Mengen (Individuenbereiche) mit Relationen (Eigenschaften, Beziehungen) und Funktionen (Operationen) auf

Lösungen zum Ergänzungsblatt 1

Was bisher geschah: Formale Sprachen

Einführung in die Computerlinguistik formale Sprachen

Einführung in die Computerlinguistik formale Sprachen

Einführung in die Computerlinguistik formale Sprachen

Einführung in die Computerlinguistik formale Sprachen

Einführung in die Computerlinguistik Satz von Kleene

Grundbegriffe der Informatik

Grundbegriffe der Informatik

Theoretische Informatik und Logik, VU 4.0 (Teil1: Berechenbarkeit, Formale Sprachen und Komplexitätstheorie)

Theorie der Informatik

1 Eliminieren von ɛ-übergängen

Einführung in die Computerlinguistik Satz von Kleene

7 Endliche Automaten. 7.1 Deterministische endliche Automaten

Automatentheorie und Formale Sprachen

Satz von Kleene. (Stephen C. Kleene, ) Wiebke Petersen Einführung CL 2

Was bisher geschah Klassische Aussagenlogik zur Modellierung von Aussagen Syntax: Formeln

Grundbegriffe der Informatik

Lösungsvorschläge und Erläuterungen Klausur zur Vorlesung Grundbegriffe der Informatik 15. September 2016

6 F O R M A L E S P R A C H E N. 6.1 formale sprachen

Formale Grundlagen der Wirtschaftsinformatik

Theoretische Grundlagen der Informatik

Kapitel 0: Grundbegriffe Gliederung

Grundlagen der theoretischen Informatik

Vorkurs Theoretische Informatik

Für jede Sprache L X sind die folgenden Aussagen äquivalent:

Was bisher geschah. Modellierung von Aussagen in klassischer Aussagen-Logik

Einführung in die Computerlinguistik reguläre Sprachen und endliche Automaten

Was bisher geschah. Klassische Prädikatenlogik (der ersten Stufe): Syntax Modellierungsbeispiele

Grundbegriffe der Informatik Tutorium 12

Grundbegriffe der Informatik

Einführung in die Theoretische Informatik

Grundbegriffe der Informatik

Grundbegriffe der Informatik

Grundbegriffe der Informatik

Einführung in die Computerlinguistik reguläre Sprachen und endliche Automaten

Definition 4 (Operationen auf Sprachen) Beispiel 5. Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A + = n 1 An

Reguläre Ausdrücke. Michael Jäger. 4. April 2017

Satz (Abschluß unter der Stern-Operation)

1. Übungsblatt 6.0 VU Theoretische Informatik und Logik

Mehrsortige Strukturen

Sprachanalyse. Fachseminar WS 08/09 Dozent: Prof. Dr. Helmut Weber Referentin: Nadia Douiri

Theoretische Informatik Kap 1: Formale Sprachen/Automatentheorie

Kapitel IV Formale Sprachen und Grammatiken

Berechenbarkeitstheorie 1. Vorlesung

Kurz-Skript zur Theoretischen Informatik I

Modellierung. Wintersemester 2014/15

DKA und dkfs (mit Übungen)

Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen

Zusammenhängen und Eigenschaften durch Relationen

1 Lokale Sprachen. 2 Verallgemeinerung

Reguläre Sprachen und endliche Automaten

1. Teilklausur zur Vorlesung Grundlagen der Theoretischen Informatik

Kapitel 2: Formale Sprachen Gliederung

Grundbegriffe der Informatik

Worterkennung in Texten speziell im Compilerbau 20. April Frank Heitmann 2/64

Einführung in die Informatik 2 2. Übung

Grundlagen der Theoretischen Informatik

Klausur zur Vorlesung Grundbegriffe der Informatik 2. März 2016

Lösungsvorschläge und Erläuterungen Klausur zur Vorlesung Grundbegriffe der Informatik 6. März 2017

Grundbegriffe der Informatik

2 Alphabete, Wörter, Sprachen und die Darstellung von Problemen

Mengen. Welche dieser Mengen sind paarweise gleich, ungleich? Begründung!

WS 2009/10. Diskrete Strukturen

Was bisher geschah. Darstellung von Sprachen Ausführen von Berechnungen

Übung zur Vorlesung Grundlagen der theoretischen Informatik. Aufgabenblatt 7 Lösungen. Wiederholung: Pumping-Lemma für kontextfreie Sprachen

Grundlagen der Theoretischen Informatik

Einführung in die Theoretische Informatik

Diskrete Mathematik. Anna-Lena Rädler Christina Kohl Georg Moser Christian Sternagel Vincent van Oostrom

Formale Sprachen, Automaten, Compiler

Mathematische Grundlagen der Computerlinguistik

äußere Klammern können entfallen, ebenso solche, die wegen Assoziativität von + und Konkatenation nicht notwendig sind:

Einführung in die Computerlinguistik Satz von Kleene

Grundlagen der Theoretischen Informatik

Einführung in die Theoretische Informatik

Grundbegriffe der Informatik

Alphabet, formale Sprache

Einführung in die Theoretische Informatik. Inhalte der Lehrveranstaltung. Definition (Boolesche Algebra) Einführung in die Logik

Einführung in die Theoretische Informatik

(e) E = {(ba n b) n n N 0 }

Was bisher geschah. wahr 0 t 1 falsch 0 f 0 Konjunktion 2 min Disjunktion 2 max Negation 1 x 1 x Implikation 2 Äquivalenz 2 =

Formale Methoden 1. Gerhard Jäger 28. November Uni Bielefeld, WS 2007/2008 1/15

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Formale Systeme. Endliche Automaten. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Transkript:

Was bisher geschah Modellierung von Aussagen durch Logiken Modellierung von Daten durch Mengen extensionale und intensionale Darstellung Mächtigkeiten endlicher Mengen, Beziehungen zwischen Mengen, =, Mengen-Operationen,,, \,,, n,, 2 M Folgen über einer Menge A extensionale und intensionale Darstellung Länge von Folgen, leeres Wort ε (leere Folge) unendliche Folgen, endliche Folgen fester Länge (Tupel, Vektoren), endliche Folgen variabler Länge (Wörter, Listen) Operationen auf Wörtern: (iterierte) Verkett., Beziehung zwischen Wörtern: Präfix Sprachen Mengen von Wörtern (endlichen Folgen) Beispiele

Wiederholung: Präfix-Beziehung zwischen Wörtern Präfix (Anfangswort) u A v A ((u v) ( w A (u w = v))) (Für zwei beliebige Wörter u A, v A gilt u v genau dann, wenn ein Wort w A existiert, so dass u w = v gilt.) Beispiele: an anna (mit w = na) n anna tom tomate (mit w = ate) oma tomate für jedes Wort u A gilt ε u (mit w = u) für jedes Wort u A gilt u u (mit w = ε) (analog zur Teiler-Beziehung zwischen natürlichen Zahlen)

Postfix-Beziehung auf Wörtern (Folgen) u A v A (Postfix(u, v) ( w A (w u = v))) Für zwei Wörter u = u 1 u m A, v = v 1 v n A heißt u genau dann Postfix (Suffix) von v, wenn ein Wort w A existiert, so dass w u = v gilt. Beispiel: enten ist Postfix von studenten (mit w = stud) 86

Infix-Beziehung auf Wörtern (Folgen) Infix-Beziehung (Teilwort, Faktor): u A v A ( Infix(u, v) ( w A w A (w u w = v) )) Für zwei Wörter u = u 1 u m A, v = v 1 v n A heißt u genau dann Infix von v, wenn zwei Wörter w, w A existieren, so dass w u w = v gilt. Beispiel: uwe ist Infix von sauwetter (mit w = sa, w = tter) satt ist kein Infix von sauwetter 87

Beispiele für (formale) Sprachen Menge aller englischen Wörter L 1 {a,..., z} Menge aller deutschen Wörter L 2 {a,..., z, ß,ä,ö,ü} Menge aller möglichen DNA L 3 {A, T, G, C} Menge aller natürlichen Zahlen in Dezimaldarstellung L 4 = {0,..., 9} (evtl. mit führenden Nullen) Menge aller natürlichen Zahlen in Binärdarstellung (Bitfolgen beliebiger Länge) L 5 = {0, 1} Menge aller aussagenlogischen Formeln in AL({p, q, r}) L 6 {p, q, r, t, f,,,,,, (, )}, Menge aller arithmetischen Ausdrücke über Z (ohne Variablen) L 7 {0,..., 9, +,,, /, (, )}, Menge aller deutschen Sätze L 8 (L 2 {.,,,!,?, (, ), }) Wie lassen sich unendliche Sprachen endlich darstellen? (Voraussetzung für maschinelle Verarbeitung) verschiedene Darstellungen in den LV zur theoretischen Informatik z.b. Automaten und formale Sprachen im 3. Semester (INB) 88

Sprachen als Mengen Sprachen L A sind Mengen von Wörtern (endlichen Folgen) Mengenbeziehungen auf Sprachen: L L gdw. w A ((w L) (w L )) L = L gdw. w A ((w L) (w L )) Mengenoperationen auf Sprachen: L L = {w w L w L } L L = {w w L w L } L \ L = {w w L w L } Komplement einer Sprache L A : L = A \ L Beispiel: L = {w w {0, 1} n N( w = 2n)} L = {w w {0, 1} n N( w = 2n + 1)} 89

Verkettung von Sprachen Verkettung von Sprachen: L 1 L 2 = {u v (u L 1 ) (v L 2 )} Beispiel: L 1 = {111, 1, 10} L 2 = {00, 0} L 1 L 2 = {111, 1, 10} {00, 0} = {1110, 11100, 10, 100, 1000} 90

Iterierte Verkettung für Sprachen L A L 0 = {ε} n N : L n+1 = L n L = L } {{ L } n+1 mal L = L n L + = L n n N für Wörter (endliche Folgen) u A : Beispiele: u n = u } {{ u } n mal n N\{0} A, u = {u} = {u n n N} A u + = u \ {ε} = {u} + = {u n n N \ {0}} A (101) 3 = 101101101 und 101 3 = 10111 a = {a i i N} = {ε, a, aa, aaa,...} (ab) = {(ab) i i N} = {ε, ab, abab, ababab,...} 91

Mehr Beispiele für Sprachen {aa, b} = {u 1 u n n N i {1,..., n} (u i {aa, b})} = {ε, b, aa, bb, aab, baa, bbb, aaaa, aabb, baab, bbaa, bbbb,...} ab {aa, b}, ba {aa, b}, aba {aa, b} {aba, bb} = {ε} {aba, bb} = {aba, bb} {bb} = {w {b} w 2N} = {ε, bb, bbbb,...} ({1} {0} ) = {w {0, 1} w 1 = 1} {ε} 92

Reguläre Ausdrücke Syntax Die Menge RegExp(A) aller regulären Ausdrücke über einem Alphabet A ist (induktiv) definiert durch: IA: RegExp(A), ε RegExp(A) und für jedes Symbol a A gilt a RegExp(A) IS: für alle E RegExp(A) und F RegExp(A) gilt (E + F ), EF, (E) RegExp(A). (Baumdarstellung) Beispiele: ( + 1) RegExp({0, 1}), (ε + ((ab) a) ) RegExp({a, b}), ( ) RegExp({,,, }), für beliebiges Alphabet A gilt ε RegExp(A), (ε + ) RegExp(A), 0+(1+2+3+4+5+6+7+8+9)(0+1+2+3+4+5+6+7+8+9) RegExp({0, 1, 2, 3, 4, 5, 6, 7, 8, 9}) 93

Reguläre Ausdrücke Semantik Jeder reguläre Ausdruck E RegExp(A) repräsentiert eine Sprache L(E) A. L( ) = L(ε) = {ε} a A : L(a) = {a} E, F RegExp(A) : L(E + F ) = L(E) L(F ) E, F RegExp(A) : L(EF ) = L(E) L(F ) E, F RegExp(A) : L(E ) = (L(E)) Eine Sprache L A heißt genau dann regulär, wenn ein regulärer Ausdruck E RegExp(A) existiert, so dass L = L(E). Beispiele: Für A = {a, b} gilt L(ab ) = {a, ab, abb, abbb, abbbb,...} = {ab i i N} L((ab) ) = {ε, ab, abab, ababab,...} = {(ab) i i N} L((a + b) ) = {a, b} L(a b ) = {u v u a v b } L((a b ) ) = {a, b} L(A aba) = {u aba u A } 94

Beispiele L (0 + (1 + 2 + + 9)(0 + 1 + + 9) ) = Menge aller Dezimaldarstellungen natürlicher Zahlen für A = {A, B,..., Z, a, b,..., z} ist L(A (oma + otto)a ) = Menge aller Wörter mit Infix oma oder otto z.b. tomate L(A (oma + otto)a ), lotto L(A (oma + otto)a ), ottomat L(A (oma + otto)a ), hottentottenpotentatentantenattentat L(A (oma + otto)a ) für A = {A, B,..., Z, a, b,..., z, 0, 1,..., 9,., } ist L(A @htwk-leipzig.de) Menge aller möglichen HTWK-Email-Adressen Reguläre Ausdrücke ermöglichen eine endliche Darstellung unendlicher Sprachen. Aber: Nicht jede (unendliche) Sprache ist regulär. ( mehr dazu in den LV zur theoretischen Informatik, z.b. Automaten und Formale Sprachen im 3. Semester ) 95

Beispiele regulärer Sprachen L 1 =, wegen RegExp(A) und L( ) = = L 1 L 2 = {a, bab}, wegen a + bab RegExp(A) und L(a + bab) = L 2 L 3 = {w {a, b, c} abba w}, wegen abba(a + b + c) RegExp({a, b, c}) und L(abba(a + b + c) ) = L 3 L 4 = {w {a, b, c} aa oder bbb sind Infix von w}, wegen (a + b + c) (aa + bbb)(a + b + c) RegExp({a, b, c}) und L((a + b + c) (aa + bbb)(a + b + c) ) = L 4 {w {a, b} w 2N} = L((aa + ab + ba + bb) ) {w {a, b} w a 2N} = L((b ab ab ) ) alle möglichen HTWK-Email-Adressen L(A @htwk-leipzig.de) mit A = {A, B,..., Z, a, b,..., z, 0, 1,..., 9,., } (ASCII-Symbole) 96