Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Teil II. Terminologie. Vorlesung

Ähnliche Dokumente
Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Grundlagen der Theoretischen Informatik

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Reguläre Ausdrücke als Suchmuster für grep

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Probleme über Sprachen. Teil II.

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Ulrich Furbach. Sommersemester 2014

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik

Einführung in die Theoretische Informatik

Was bisher geschah: Formale Sprachen

Zusammenfassung. Beispiel. 1 Wir betrachten die folgende Signatur F = {,, +, 0, 1} sodass. 3 Wir betrachten die Identitäten E. 4 Dann gilt E 1 + x = 1

Informatik III. Outline

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Prof. Dr. Jürgen Dix Institut für Informatik, TU Clausthal Informatik III, WS 2006/07 2/561

Dank. 1 Ableitungsbäume. 2 Umformung von Grammatiken. 3 Normalformen. 4 Pumping-Lemma für kontextfreie Sprachen. 5 Pushdown-Automaten (PDAs)

Grundlagen der Theoretischen Informatik

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

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 Mitschrift

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14

Theoretische Grundlagen der Informatik

Grundlagen der Theoretischen Informatik

Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1

Grundbegriffe. Grammatiken

Theoretische Grundlagen des Software Engineering

Tutorium 23 Grundbegriffe der Informatik (10. Sitzung)

Grammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S)

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Beispiel einer nicht berechenbaren Funktion: Busy Beaver

Beschreibungskomplexität von Grammatiken Definitionen

Formale Sprachen. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marian KOGLER

Logik für Informatiker

Übung zur Vorlesung Grundlagen der theoretischen Informatik. Aufgabenblatt 2 Lösungen. Wiederholung: von einer Grammatik erzeugte Sprache

2.1 Allgemeines. Was ist eine Sprache? Beispiele:

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Rekursiv aufzählbare Sprachen

Kapitel IV Formale Sprachen und Grammatiken

Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Formale Sprachen. Grammatiken. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marion OSWALD. Grammatiken: Ableitung

Dank. Theoretische Informatik II. Teil II. Registermaschinen. Vorlesung

Formale Sprachen. Script, Kapitel 4. Grammatiken

3. Klausur Einführung in die Theoretische Informatik Seite 1 von Welches der folgenden klassischen Probleme der Informatik ist entscheidbar?

Übungen zu Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik

WS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven

FORMALE SYSTEME. Sprachen beschreiben. Wiederholung. Wie kann man Sprachen beschreiben? 2. Vorlesung: Grammatiken und die Chomsky-Hierarchie

Theoretische Grundlagen der Informatik

Ist eine algorithmische Problemstellung lösbar und wenn ja, mit welchen Mitteln? was ist eine algorithmische Problemstellung?

Sprachen und Programmiersprachen

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer,

(Prüfungs-)Aufgaben zu formale Sprachen

Einführung in die Logik

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

Kontextfreie Sprachen

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

Automaten und formale Sprachen Klausurvorbereitung

Einführung in die theoretische Informatik Sommersemester 2017 Übungsblatt Lösungsskizze 7

1 Automatentheorie und Formale Sprachen

Grundlagen der theoretischen Informatik

Übungsaufgaben zu Formalen Sprachen und Automaten

Kontextfreie Grammatiken

Theorie der Informatik

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Reduktion. Komplexitätsklassen.

Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie

Grundlagen der Theoretischen Informatik

1. Klausur Einführung in die Theoretische Informatik Seite 1 von 14

Logik für Informatiker

Theoretische Informatik I (Grundzüge der Informatik I)

Informatik III. Christian Schindelhauer Wintersemester 2006/07 5. Vorlesung

Kontextfreie Sprachen

Berechenbarkeitstheorie 7. Vorlesung

Theorie der Informatik. Theorie der Informatik. 2.1 Äquivalenzen. 2.2 Vereinfachte Schreibweise. 2.3 Normalformen. 2.

q 0 q gdw. nicht (q A) (q A) q i+1 q gdw. q i q oder ( a Σ) δ(q, a) i δ(q, a) L = {a n b n : n N} für a, b Σ, a b

Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen

Formalismen für REG. Formale Grundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen. Das Pumping Lemma. Abschlusseigenschaften

Theoretische Informatik. Alphabete, Worte, Sprachen

Grundlagen der Theoretischen Informatik

11.1 Kontextsensitive und allgemeine Grammatiken

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

Sprachen/Grammatiken eine Wiederholung

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

Einführung in die Theoretische Informatik

Abbildungen. Kapitel Definition: (Abbildung) 5.2 Beispiel: 5.3 Wichtige Begriffe

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz.

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Grammatiken. Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen

1 Formale Sprachen, reguläre und kontextfreie Grammatiken

Abschluss gegen Substitution. Wiederholung. Beispiel. Abschluss gegen Substitution

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016

Formale Sprachen und Automaten

Theorie der Informatik

Grammatik Prüfung möglich, ob eine Zeichenfolge zur Sprache gehört oder nicht

Transkript:

Dank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen von Katrin Erk (gehalten an der Universität Koblenz-Landau) Jürgen Dix (gehalten an der TU Clausthal) Institut für Informatik Sommersemester 2007 Ihnen beiden gilt mein herzlicher Dank. Bernhard Beckert, April 2007 B. Beckert Grundlagen d. Theoretischen Informatik: SS 2007 1 / 140 B. Beckert Grundlagen d. Theoretischen Informatik: SS 2007 2 / 140 Inhalt von Teil II In den folgenden Abschnitten führen wir die Begriffe Sprache Grammatik ein. 1 Sprache, Grammatik Teil II Terminologie Wir untersuchen insbesondere 1 wie man Probleme aus der Mathematik, Graphentheorie, Logik als Probleme über Sprachen formulieren kann. 2 wie man Klassen von Grammatiken von steigendem Schwierigkeitsgrad definiert: Chomsky-Hierarchie. 3 wieviele Grammatiken und Sprachen es überhaupt gibt (soviele wie natürliche Zahlen, reelle Zahlen oder komplexe Zahlen?) 2 Warum Sprachen? 3 Die Chomsky-Hierarchie 4 Probleme über Sprachen 5 Endlich, unendlich und dann? B. Beckert Grundlagen d. Theoretischen Informatik: SS 2007 48 / 140 B. Beckert Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 49 / 140

Alphabete, Wörter Alphabete, Wörter Definition 6.1 (Alphabet) Ein Alphabet ist eine Menge von Zeichen/Buchstaben Grundlage einer Sprache (die zur Verfügung stehenden Zeichen) Meist endlich Operationen auf Wörtern Verknüpfung (Konkatenation): w w assoziativ, oft geschrieben als ww Definition 6.2 (Wort) Ein Wort (über einem Alphabet Σ) ist eine endliche Folge von Zeichen aus Σ w bezeichnet Länge eines Wortes w ε bezeichnet das leere Wort i-te Potenz: Reverse: w 0 = ε, w i+1 = ww i w R = das Wort w rückwärts B. Beckert Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 50 / 140 B. Beckert Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 51 / 140 Sprache Sprache Kleene-Hülle Definition 6.3 (Sprache) Eine Sprache L (über einem Alphabet Σ) ist eine Menge von Wörtern über Σ. Operationen auf Sprachen Konkatenation: L M = {w w w L, w M} i-te Potenz: Reverse: L 0 = {ε}, L R = {w R : w L} L i+1 := LL i B. Beckert Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 52 / 140 L = L 0 L 1 L 2... Variante: L + = LL = L 1 L 2... Σ bezeichnet die Menge aller Wörter über Σ Genau genommen besteht ein Unterschied: ein Buchstabe Wort, das nur aus dem einen Buchstaben besteht Darum ist Σ selbst keine Sprache über Σ (Oft wird über diesen Unterschied hinweggesehen) B. Beckert Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 53 / 140

Reguläre Ausdrücke Reguläre Ausdrücke Definition 6.4 (Reguläre Ausdrücke) Menge Reg Σ der regulären Ausdrücke (über Σ) ist definiert durch: 1 0 ist ein regulärer Ausdruck 2 Für jedes a Σ ist a ein regulärer Ausdruck 3 Sind r und s reguläre Ausdrücke, so auch (r + s) (Vereinigung), (rs) (Konkatenation), (r ) (Kleene Stern) Klammern können weggelassen werden, dann hat Vorrang vor Konkatenation Konkatenation hat Vorrang vor + B. Beckert Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 54 / 140 Definition 6.5 (Semantik regulärer Ausdrücke) Ein regulärer Ausdruck r stellt eine Sprache I(r) über Σ wie folgt dar: I(0) := /0 I(a) := {a} I(r + s) := I(r) I(s) I(rs) := I(r)I(s) I(r ) := I(r) für a Σ Wir benutzen auch das Makro... Es gilt: 1 := 0 I(1) = {ε} B. Beckert Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 55 / 140 Reguläre Ausdrücke Reguläre Ausdrücke als Suchmuster für grep Übung Welche Sprachen werden durch die folgenden regulären Ausdrücke dargestellt? aa (a + b) aa + bb Das Kommando grep (bzw. egrep) Sucht Wörter (Strings) in Dateien Benutzt reguläre Ausdrücke als Suchmuster Sehr schnell Volle Funktionalität mit egrep (UNIX/LINUX) B. Beckert Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 56 / 140 B. Beckert Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 57 / 140

Reguläre Ausdrücke als Suchmuster für grep Grammatik Syntax bei grep grep Regulärer Ausdruck ww ww w w w + w w* w w+ w + Syntactic Sugar grep Regulärer Ausdruck [abc] a + b + c [a-d] a + b + c + d. beliebiges Zeichen aus Σ Grammatik Beschreibt eine Sprache Menge von Regeln, mit deren Hilfe man Wörter ableiten kann Die zu einer Grammatik gehörende Sprache besteht aus den ableitbaren terminalen Wörtern B. Beckert Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 58 / 140 B. Beckert Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 59 / 140 Grammatik Grammatik Definition 6.6 (Grammatik) Eine Grammatik G über einem Alphabet Σ ist ein Tupel G = (V,T,R,S) Dabei ist V eine endliche Menge von Variablen T Σ eine endliche Menge von Terminalen mit V T = /0 R eine endliche Menge von Regeln S V das Startsymbol Definition 6.7 (Regel) Eine Regel ist ein Element (P,Q) ( (V T ) V (V T ) ) (V T ) Das heißt: P und Q sind Wörter über (V T ) P muss mindestens eine Variable enthalten Q ist beliebig Bezeichnung: P: Prämisse Q: Conclusio B. Beckert Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 60 / 140 B. Beckert Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 61 / 140

Grammatik Grammatik Schreibweise für Regeln Schreibweise für Regel (P, Q): P G Q bzw. P Q Abkürzung für mehrere Regeln mit derselben Prämisse: P Q 1 Q 2 Q 3 für P Q 1, P Q 2, P Q 3 Konvention (meistens) Variablen als Großbuchstaben Terminale als Kleinbuchstaben Beispiel 6.8 S B B do begin B end B A A nop A A ε B. Beckert Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 62 / 140 B. Beckert Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 63 / 140 Rechnung einer Grammatik Rechnung einer Grammatik Algorithmus Eingabe: Eine Grammatik 1 aktuellwort := S (Startsymbol) 2 Wähle eine Regel P Q, so dass P in aktuellwort vorkommt 3 Ersetze (ein) Vorkommen von P in aktuellwort durch Q 4 Falls aktuellwort noch Variablen enthält (nicht terminal), GOTO 2 Ausgabe: Das terminale Wort aktuellwort Beachte Die Berechnung ist nicht deterministisch (Auswahl der Regel) kann mehr als ein Ergebnis liefern (oder auch keines) kann in Endlosschleifen geraten Beispiel 6.9 (Einfache Grammatiken) Welche Wörter kann man ableiten? G a = ({S},{a},{R 1,R 2 },S) R 1 = S as R 2 = S ε G ab = ({S},{a,b},{R 1,R 2 },S) R 1 = S asb R 2 = S ε Sei G gerade = ({S,S 0 },{0,1,2,3,4,5,6,7,8,9},{R 1,R 2 },S) R 1 = S 1S 2S 0 3S 4S 0 5S 6S 0 7S 8S 0 9S R 2 = S 0 S ε B. Beckert Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 64 / 140 B. Beckert Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 65 / 140

Rechnung einer Grammatik Rechnung einer Grammatik Schreibweise für Ableitung Definition 6.10 (Ableitung, Rechnung) Gegeben: Grammatik G = (V,T,R,S) Wörter w,w aus (V T ) Es gilt w = G w ( w geht über in w ) falls u,v (V T ) P Q ( R w = upv und w = ) uqv B. Beckert Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 66 / 140 w = G w falls es Wörter w 0,...,w n (V T ) (n 0) gibt mit w = w 0 w m = w w i = G w i+1 für 0 i < n Merke: w = w gilt stets (n = 0) G Die Folge w 0,...,w n heißt Ableitung oder Rechnung von w 0 nach w n in G der Länge n B. Beckert Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 67 / 140 Vorsicht: Indeterminismus Vorsicht: Indeterminismus Beispiel 6.11 (Indeterminismus) Wir betrachten die Grammatik G = ({S,B},{a,b,c},{R 0,R 1,R 2,R 3 },S) R 0 = R 1 = R 2 = R 3 = S abbc B b B ba BB bba Drei Möglichkeiten, das Wort abbac zu erzeugen: S = R0 abbc = R1 abbc = R2 abbac S = R0 abbc = R2 abbac = R1 abbac S = R0 abbc = R3 abbac = R1 abbac Warum ist das ein Feature und kein Bug? Erlaubt einfachere Definition von Grammatiken Für manche Sprachen gibt es keine eindeutige Grammatiken Eine Grammatik beschreibt die Struktur der Wörter. Ein Wort kann mehrere mögliche Strukturen haben. Für natürliche Sprachen braucht man das unbedingt: Manche Sätze sind mehrdeutig (in ihrer Grammatik), also müssen auch die Grammatiken mehrdeutig sein! B. Beckert Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 68 / 140 B. Beckert Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 69 / 140

Vorsicht: Indeterminismus Erzeugte Sprache, Äquivalenz Beispiel 6.12 (Mehrdeutige Grammatik natürlichsprachlicher Sätze) Time flies like an arrow. Fruit flies like a banana. Definition 6.13 (Erzeugte Sprache) Gegeben: Eine Grammatik G Die von G erzeugte Sprache L(G) ist die Menge aller terminalen Wörter, die durch G vom Startsymbol S aus erzeugt werden können: L(G) := {w T S = G w} Beide Sätze haben zwei mögliche grammatische Strukturen. Erst unser semantisches Verständnis wählt eine aus. Definition 6.14 (Äquivalenz) Zwei Grammatiken G 1,G 2 heißen äquivalent gdw L(G 1 ) = L(G 2 ) B. Beckert Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 70 / 140 B. Beckert Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 71 / 140 Beispiel Beispiel Beispiel 6.15 Grammatik G ab = ({S}, {a,b}, {R 1,R 2 }, S) mit R 1 = S asb R 2 = S ε Mögliche Ableitung: S = R1 asb = R1 aasbb = R1 aaasbbb = R2 aaabbb Also: a 3 b 3 L(G 2 ) Beweis Dass G ab tatsächlich genau diese Sprache erzeugt, zeigen wir allgemein, indem wir alle möglichen Ableitungen von G ab betrachten. : zu zeigen: Jedes terminale Wort, das von G ab erzeugt wird, hat die Form a n b n. Wir zeigen für alle w (V T ) : Falls S = w, dann gilt entweder G ab w = a n Sb n oder w = a n b n für ein n N 0. Lemma 6.16 Die Grammatik G ab erzeugt die Sprache L(G ab ) = {a n b n n N 0 } B. Beckert Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 72 / 140 B. Beckert Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 73 / 140

Beispiel Beispiel Beweis (Forts.) Dazu verwenden wir eine Induktion über die Länge einer Ableitung von S nach w. Induktionsanfang: w = S = a 0 Sb 0 Induktionsschritt: Es gelte S = w = G Gab w, und für w gelte nach der ab Induktionsvoraussetzung bereits w = a n b n oder w = a n Sb n. Außerdem sei w = Gab w eine Ableitung in einem Schritt. Nun ist zu zeigen: w = a m b m oder w = a m Sb m für irgendein m. Beweis (Forts.) Fall 1: w = a n b n. Dann konnte keine Regel angewandt werden, da w schon terminal ist, also tritt dieser Fall nie auf. Fall 2: w = a n Sb n. Dann wurde von w nach w entweder Regel R 1 oder R 2 angewandt. Falls R 1 angewandt wurde, dann gilt w = a n Sb n = R1 a n asbb n = a n+1 Sb n+1 = w. Falls R 2 angewandt wurde, dann gilt w = a n Sb n = R2 a n εb n = w. Dies Wort ist terminal und hat die geforderte Form a n b n. B. Beckert Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 74 / 140 B. Beckert Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 75 / 140 Beispiel Beispiel: Dycksprache Beweis (Forts.) : zu zeigen: Für alle n kann a n b n von G ab erzeugt werden: S = G ab a n b n n N 0. Um a n b n zu erzeugen, wende man auf S n-mal die Regel R 1 und dann einmal die Regel R 2 an. Definition 6.17 (Dycksprache) Gegeben: k N Σ k := {x 1,x 1,x 2...,x k,x k } ein Alphabet mit 2k Symbolen Die Dycksprache D k ist die kleinste Menge die folgende Bedingungen erfüllt: 1 ε D k, 2 Falls w D k, so auch x i wx i. 3 Falls u, v D k, so auch uv. Interpretiert man die x i als öffnende, die x i als zugehörige schließende Klammern, so kann man die Dycksprache als die Menge aller korrekten Klammerausdrücke sehen. B. Beckert Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 76 / 140 B. Beckert Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 77 / 140

Beispiel: Dycksprache Walther von Dyck b 1856, d 1934 Teil II Terminologie Mathematiker Hochschulpolitiker Erster Rektor der TU München Einer der Gründungsväter des Deutschen Museums 1 Sprache, Grammatik 2 Warum Sprachen? 3 Die Chomsky-Hierarchie 4 Probleme über Sprachen 5 Endlich, unendlich und dann? [Foto: Deutsches Museum] B. Beckert Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 78 / 140 B. Beckert Grundlagen d. Theoretischen Informatik: Warum Sprachen? SS 2007 79 / 140 Darstellung von Problemen Darstellung von Problemen Fakt So ziemlich alle Probleme können als Probleme über Sprachen formuliert werden. Beispiel 7.1 (Primzahlen) Alphabet Σ num := { } Sprache L primes := {... p prim} }{{} p mal Eingabealphabet Σ = {0,1,...,n 1} erlaubt Darstellung einer Ganzzahl zur Basis n Beispiel 7.2 5 binär: 101 5 unär: (oder auch 11111) B. Beckert Grundlagen d. Theoretischen Informatik: Warum Sprachen? SS 2007 80 / 140 B. Beckert Grundlagen d. Theoretischen Informatik: Warum Sprachen? SS 2007 81 / 140

Darstellung von Problemen Darstellung des Erfüllbarkeitsproblems SAT Speicheraufwand n-äre Darstellung (n > 1) einer Zahl k führt zu einer Speicherersparnis: log n k (n-är) statt k (unär) Problem SAT Gegeben: Eine aussagenlogische Formel w Frage: Gibt es eine Belegung der booleschen Variablen in w, so dass w zu true auswertet? Nur der Schritt von unär auf binär ist wesentlich, denn log n k = 1 log 2 n log 2 k = c log 2 k (von binär auf n-är nur lineare Einsparung) Signatur für aussagenlogische Formeln Signatur: Σ sat := {,,,(,),x,0,1} Dabei Darstellung von boolscher Variablen x i als x gefolgt von i binär kodiert. Dadurch Formel der Länge n um (unerheblichen) Faktor log n länger. B. Beckert Grundlagen d. Theoretischen Informatik: Warum Sprachen? SS 2007 82 / 140 B. Beckert Grundlagen d. Theoretischen Informatik: Warum Sprachen? SS 2007 83 / 140 Darstellung des Erfüllbarkeitsproblems SAT Darstellung des Erreichbarkeitsproblems in Graphen Erreichbarkeitsproblem Gegeben: Ein Graph mit Ecken v 1 bis v n Definition 7.3 (Satisfiability) Sprache L sat := {w Σ sat : w ist eine aussagenlogische Formel, und es gibt eine Belegung für die x i, so dass die Formel w zu true auswertet } Frage: Gibt es einen Weg von Ecke v 1 zu Ecke v n? Signatur für Graphen Signatur: Σ graph := {v,e,0,1,(,),#} Darstellung von Ecke v i Kante e i,j als v gefolgt i binär kodiert als e(string 1 #string 2 ), wobei string 1 die binäre Darstellung von i, string 2 die binäre Darstellung von j B. Beckert Grundlagen d. Theoretischen Informatik: Warum Sprachen? SS 2007 84 / 140 B. Beckert Grundlagen d. Theoretischen Informatik: Warum Sprachen? SS 2007 85 / 140

Darstellung des Erreichbarkeitsproblems in Graphen Teil II Terminologie Definition 7.4 (Erreichbarkeitsproblem) 1 Sprache, Grammatik Sprache L reach := {w Σ graph : es gibt einen Weg in w von der ersten Ecke v 1 zur letzten Ecke v n } 2 Warum Sprachen? 3 Die Chomsky-Hierarchie 4 Probleme über Sprachen 5 Endlich, unendlich und dann? B. Beckert Grundlagen d. Theoretischen Informatik: Warum Sprachen? SS 2007 86 / 140 B. Beckert Grundlagen d. Theoretischen Informatik: Die Chomsky-Hierarchie SS 2007 87 / 140 Die Chomsky-Hierarchie Die Chomsky-Hierarchie Noam Chomsky b 1928 Professor für Linguistik und Philosophie am MIT Bedeutender Linguist Bedeutender Beitrag zur Informatik: Erste Beschreibung der Chomsky-Hierarchie (1956) Bedeutender linker Intellektueller und Globalisierungskritiker Was muss eine Grammatik erfüllen? Sie darf nur endlich viele Regeln haben Jede Regelprämisse muss mindestens eine Variable enthalten Das Wort kann im Lauf der Ableitung beliebig wachsen und wieder schrumpfen. (Weitere) Beschränkung der Form, die Regeln haben dürfen, führt zu Grammatiktypen und damit auch zu Sprachtypen von verschiedenen Schwierigkeitsgraden. B. Beckert Grundlagen d. Theoretischen Informatik: Die Chomsky-Hierarchie SS 2007 88 / 140 B. Beckert Grundlagen d. Theoretischen Informatik: Die Chomsky-Hierarchie SS 2007 89 / 140

Die Chomsky-Hierarchie Die Chomsky-Hierarchie Definition 8.1 (Rechtlineare Grammatik) Eine Grammatik G = (V,T,R,S) heißt rechtslinear gdw (P Q) ( R P V und Q T T + ) V Das heißt, bei jeder Regelanwendung: Links eine einzelne Variable Rechts höchstens eine Variable Wenn rechts eine Variable steht, steht sie ganz rechts im Wort. Definition 8.2 (Kontextfreie Grammatik) Eine Grammatik G = (V,T,R,S) heißt kontextfrei gdw (P Q) R ( P V und Q (V T ) ) Das heißt, bei jeder Regelanwendung: Links eine einzelne Variable Die Prämisse macht keine Aussage, was der Kontext dieser Variablen ist ( kontextfrei ) Rechts steht etwas beliebiges B. Beckert Grundlagen d. Theoretischen Informatik: Die Chomsky-Hierarchie SS 2007 90 / 140 B. Beckert Grundlagen d. Theoretischen Informatik: Die Chomsky-Hierarchie SS 2007 91 / 140 Die Chomsky-Hierarchie Die Chomsky-Hierarchie Definition 8.3 (Kontextsensitive Grammatik) Eine Grammatik G = (V,T,R,S) heißt kontextsensitiv gdw (P Q) R: 1 u,v,α (V T ) A V ( P = uav und Q = uαv mit α 1 ), oder die Regel hat die Form S ε 2 S nicht in Q Das heißt, bei jeder Regelanwendung: Eine Variable A wird in einen String α mit α 1 überführt Die Ersetzung von A durch α findet nur statt, wenn der in der Regel geforderte Kontext (u und v), vorhanden ist Das Wort wird nicht kürzer, außer bei ε L Definition 8.4 (Beschränkte Grammatik) Eine Grammatik G = (V,T,R,S) heißt beschränkt gdw (P Q) R: 1 P Q, oder die Regel hat die Form S ε 2 S nicht in Q Das heißt, bei jeder Regelanwendung: Die Conclusio ist mindestens so lang wie die Prämisse, außer bei ε L. Das Wort wird nicht kürzer, außer bei ε L B. Beckert Grundlagen d. Theoretischen Informatik: Die Chomsky-Hierarchie SS 2007 92 / 140 B. Beckert Grundlagen d. Theoretischen Informatik: Die Chomsky-Hierarchie SS 2007 93 / 140

Die Chomsky-Hierarchie Die Chomsky-Hierarchie Aufbauend auf den Grammatikarten kann man Sprachklassen definieren Grammatiken können kompliziert sein! Definition 8.5 (Sprachklassen) Klasse definiert als Sprache heißt L 3, REG {L(G) G ist rechtslinear} Typ 3, regulär L 2, CFL {L(G) G ist kontextfrei} Typ 2, kontextfrei L 1, CSL {L(G) G ist kontextsensitiv} Typ 1, kontextsensitiv L 1, CSL {L(G) G ist beschränkt} Typ 1, beschränkt L 0, r.e. {L(G) G beliebig} Typ 0, aufzählbar L {L L Σ } beliebige Sprache Beispiel 8.6 (Grammatik für a n b n c n ) Grammatik G abc = ({S,X 1,X 2 },{a,b,c},{r 1,...R 5 },S) mit R 1 = S abc ax 1 bc R 2 = X 1 b bx 1 R 3 = X 1 c X 2 bcc R 4 = bx 2 X 2 b R 5 = ax 2 aa aax 1 Ist diese Grammatik kontextsensitiv? Ist sie beschränkt? B. Beckert Grundlagen d. Theoretischen Informatik: Die Chomsky-Hierarchie SS 2007 94 / 140 B. Beckert Grundlagen d. Theoretischen Informatik: Die Chomsky-Hierarchie SS 2007 95 / 140 Teil II Probleme über Sprachen Terminologie 1 Sprache, Grammatik 2 Warum Sprachen? 3 Die Chomsky-Hierarchie 4 Probleme über Sprachen Interessante Probleme (informell) Ist ein gegebenes Wort in einer Sprache (definiert durch eine Grammatik) enthalten? Erzeugen zwei gegebene Grammatiken dieselbe Sprache? Mit welchen Algorithmen können diese Probleme gelöst werden? 5 Endlich, unendlich und dann? B. Beckert Grundlagen d. Theoretischen Informatik: Probleme über Sprachen SS 2007 96 / 140 B. Beckert Grundlagen d. Theoretischen Informatik: Probleme über Sprachen SS 2007 97 / 140

Probleme und Algorithmen im allgemeinen Probleme und Algorithmen im allgemeinen Definition 9.1 (Problem, Algorithmus) Ein Problem P ist die Frage, ob eine bestimmte Eigenschaft auf gegebene Objekte zutrifft. Dabei ist eine bekannte, abzählbaren Grundmenge solcher Objekte gegeben. Für jedes Objekt o gilt: die Eigenschaft trifft auf o zu oder nicht. Definition 9.2 (Algorithmus) Ein Algorithmus für ein Problem P ist eine Vorschrift (ein Programm), die zu beliebigem Objekt o berechnet, ob die Eigenschaft für o zutrifft oder nicht. Beispiel 9.3 (Einige Probleme) Für n N: Ist n eine Primzahl? Für ein Wort w Σ und ein Element G aus der Menge aller Grammatiken über Σ: Gilt w L(G)? Für ein Element G aus der Menge aller Grammatiken: Ist L(G) leer (endlich, unendlich)? Für (a,b,c) N 3 : Hat a n + b n = c n eine Lösung in den natürlichen Zahlen? Für ein Programm p aus der Menge aller Java-Programme: Terminiert p? B. Beckert Grundlagen d. Theoretischen Informatik: Probleme über Sprachen SS 2007 98 / 140 B. Beckert Grundlagen d. Theoretischen Informatik: Probleme über Sprachen SS 2007 99 / 140 Teil II Abzählbarkeit 1 Sprache, Grammatik 2 Warum Sprachen? Terminologie Definition 10.1 (Abzählbarkeit) Eine Menge M heißt abzählbar, wenn es eine surjektive Funktion f : N 0 M 3 Die Chomsky-Hierarchie 4 Probleme über Sprachen 5 Endlich, unendlich und dann? gibt, oder M leer ist. Intuition Eine Menge ist abzählbar, wenn sie höchstens so mächtig wie N 0 ist. B. Beckert Grundlagen d. Theoretischen Informatik: Endlich, unendlich und dann? SS 2007 100 / 140 B. Beckert Grundlagen d. Theoretischen Informatik: Endlich, unendlich und dann? SS 2007 101 / 140

Abzählbarkeit Abzählbarkeit Lemma 10.2 Eine Menge M ist abzählbar, wenn es eine injektive Funktion f : M N 0 gibt. Beispiel 10.3 Abzählbar sind: N 0 Q alle endlichen Mengen die Vereinigung zweier abzählbarer Mengen die Vereiningung abzählbar vieler abzählbarer Mengen B. Beckert Grundlagen d. Theoretischen Informatik: Endlich, unendlich und dann? SS 2007 102 / 140 B. Beckert Grundlagen d. Theoretischen Informatik: Endlich, unendlich und dann? SS 2007 103 / 140 Hilberts Hotel Diagonalisierungsargument für Überabzählbarkeit David Hilbert b 1862, d 1943 Einer der bedeutensten und einflußreichsten Mathematiker aller Zeiten Professor in Königsberg und Göttingen Wichtige Beiträge zu Logik Funktionalanalysis Zahlentheorie Mathematische Grundlagen der Physik uvm. Theorem 10.4 Die Menge R der rellen Zahlen ist überabzählbar. Beweis. Wir zeigen, dass schon das Intervall [0, 1] überabzählbar ist. Annahme: Es gibt eine Aufzählung, also eine surjektive Funktion f : N 0 [0,1] Dann sei f(i) = 0,d i 0 d i 1 d i 2... die Dezimaldarstellung der i-ten reellen Zahl. B. Beckert Grundlagen d. Theoretischen Informatik: Endlich, unendlich und dann? SS 2007 104 / 140 B. Beckert Grundlagen d. Theoretischen Informatik: Endlich, unendlich und dann? SS 2007 105 / 140

Diagonalisierungsargument für Überabzählbarkeit Wieviele gibt es? Beweis. Fortsetzung: Wir definieren eine neue Zahl d = 0,d 0 d 1 d 2... durch { d n d n = n + 1 falls dn n < 9 0 sonst d unterscheidet sich in der n-ten Stelle von d n. Also d d n für alle n N 0 Also kommt d in der Aufzählung nicht vor. Widerspruch! Wieviele Grammatiken Sprachen Algorithmen gibt es überhaupt? Mögliche Antworten Endlich viele Unendlich viele Abzählbar viele Überabzählbar viele Nicht klar für Algorithmen, da dieser Begriff nicht genau definiert wurde B. Beckert Grundlagen d. Theoretischen Informatik: Endlich, unendlich und dann? SS 2007 106 / 140 B. Beckert Grundlagen d. Theoretischen Informatik: Endlich, unendlich und dann? SS 2007 107 / 140 Wieviele Wörter, Grammatiken gibt es? Wieviele Wörter, Grammatiken gibt es? Lemma 10.5 Gegeben: Signatur Σ, endlich oder abzählbar unendlich Dann ist Σ abzählbar unendlich. Beweis. Σ ist abzählbar, also ist Σ i abzählbar, i N. Σ ist die Vereinigung der abzählbar vielen abzählbaren Mengen Σ i. Lemma 10.6 Gegeben: Signatur Σ, endlich oder abzählbar unendlich Dann ist die Menge aller Grammatiken über Σ abzählbar unendlich Beweis. Grammatiken sind endlich und also als Wörter über einer geeigneten erweiterten Grammatik Σ V {,...} darstellbar. Die Menge der Wörter über dieser erweiterten Grammatik ist abzählbar (Lemma 10.5). B. Beckert Grundlagen d. Theoretischen Informatik: Endlich, unendlich und dann? SS 2007 108 / 140 B. Beckert Grundlagen d. Theoretischen Informatik: Endlich, unendlich und dann? SS 2007 109 / 140

Wieviele Algorithmen gibt es? Wieviele Funktionen f : N 0 N 0 gibt es? Lemma 10.8 Es gibt überabzählbar viele Funktionen f : N 0 N 0. Lemma 10.7 Es gibt (nur) abzählbar viele Algorithmen. Beweis. Algorithmen müssen per Definition eine endliche Beschreibung haben. Sie sind also als Wörter über einer Signatur Σ darstellbar (für jedes abzählbare Σ). Also sind sie abzählbar (Lemma 10.5). B. Beckert Grundlagen d. Theoretischen Informatik: Endlich, unendlich und dann? SS 2007 110 / 140 Beweis. Angenommen, es existiere eine Abzählung f 1,f 2,...f n,... Dann sei { 1 falls fn (n) = 0; C : N 0 N 0 mit C(n) = 0 sonst C(i) f i (i) Also: C ist von allen f i verschieden. Widerspruch! B. Beckert Grundlagen d. Theoretischen Informatik: Endlich, unendlich und dann? SS 2007 111 / 140 Wieviele Funktionen f : N 0 N 0 gibt es? Wieviele Sprachen gibt es? Lemma 10.10 Gegeben eine Signatur Σ (endlich oder unendlich). Die Menge der Sprachen über Σ ist überabzählbar. Lemma 10.9 Es gibt überabzählbar viele Funktionen f : N 0 {0,1}. Beweis. Analog. Beweis. Sei eine beliebige Abzählung aller Wörter über Σ gegeben: w 1,w 2,... Dann kann man die Sprachen L über Σ mit den Funktionen f : N 0 {0,1} identifizieren, vermittels f(i) = 1 gdw w i L Von diesen gibt es überabzählbar viele. B. Beckert Grundlagen d. Theoretischen Informatik: Endlich, unendlich und dann? SS 2007 112 / 140 B. Beckert Grundlagen d. Theoretischen Informatik: Endlich, unendlich und dann? SS 2007 113 / 140

Korollar Zusammenfassung Gegeben eine Signatur Σ Abzählbar N Korollar 10.11 Nicht jede Sprache kann durch eine Grammatik dargestellt werden. Menge aller Wörter Menge aller Grammatiken Menge aller Algorithmen Überabzählbar Die Menge aller Teilmengen von N Die Menge aller reellen Zahlen Die Menge aller Funktionen f : N 0 N 0 bzw. f : N 0 {0,1} Die Menge aller Sprachen B. Beckert Grundlagen d. Theoretischen Informatik: Endlich, unendlich und dann? SS 2007 114 / 140 B. Beckert Grundlagen d. Theoretischen Informatik: Endlich, unendlich und dann? SS 2007 115 / 140