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

Größe: px
Ab Seite anzeigen:

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

Transkript

1 Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Ulrich Furbach Institut für Informatik Sommersemester 2014 Furbach Grundlagen d. Theoretischen Informatik: SS / 131

2 Dank 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) Bernhard Beckert (gehalten an der Universität Koblenz-Landau) Ihnen gilt mein herzlicher Dank. Ulrich Furbach, April 2012 Furbach Grundlagen d. Theoretischen Informatik: SS / 131

3 Teil I Einführung 1 Organisatorisches 2 Motivation, Inhalt der Vorlesung 3 Kurzer Überblick: Logik 4 Kurzer Überblick: Beweismethoden und Mathematische Konzepte 5 Kurzer Überblick: Beweismethoden und Mathematische Konzepte Furbach Grundlagen d. Theoretischen Informatik: Organisatorisches SS / 131

4 Literatur Buch zur Vorlesung Erk, Katrin and Priese, Lutz (2002). Theoretische Informatik: Eine umfassende Einführung. 2. Auflage. Springer-Verlag. Furbach Grundlagen d. Theoretischen Informatik: Organisatorisches SS / 131

5 Literatur Weitere Literatur J. Hopcroft, R. Motwani, and J. Ullman (2002). Einführung in die Automatentheorie, Formale Sprachen und Komplexitätstheorie. Pearson. G. Vossen and K.-U. Witt (2004). Grundkurs Theoretische Informatik. Vieweg. U. Schöning (1994). Theoretische Informatik: kurzgefaßt. Spektrum-Verlag. Furbach Grundlagen d. Theoretischen Informatik: Organisatorisches SS / 131

6 Teil I Einführung 1 Organisatorisches 2 Motivation, Inhalt der Vorlesung 3 Kurzer Überblick: Logik 4 Kurzer Überblick: Beweismethoden und Mathematische Konzepte 5 Kurzer Überblick: Beweismethoden und Mathematische Konzepte Furbach Grundlagen d. Theoretischen Informatik: Motivation, Inhalt der Vorlesung SS / 131

7 Theoretische Informatik befasst sich mit... Grundlegende Konzepte der Informatik Probleme und ihre Beschreibung Systeme/Automaten/Maschinen, die Probleme lösen Lösbarkeit von Problemen (Entscheidbarkeit/Berechenbarkeit und deren Grenzen) Schwierigkeit (Komplexität) der Lösung von Problemen Furbach Grundlagen d. Theoretischen Informatik: Motivation, Inhalt der Vorlesung SS / 131

8 Teilgebiete der Theoretischen Informatik Teilgebiete Formale Sprachen Automatentheorie Berechenbarkeitstheorie Komplexitätstheorie (Logik) Furbach Grundlagen d. Theoretischen Informatik: Motivation, Inhalt der Vorlesung SS / 131

9 Warum Theoretische Informatik? Theoretische Informatik... ist die Grundlage ist wichtig (bspw. für Algorithmentechnik, Software Engineering, Compilerbau) hilft, weitere Themen/Vorlesungen der Informatik zu verstehen veraltet nicht macht Spaß Furbach Grundlagen d. Theoretischen Informatik: Motivation, Inhalt der Vorlesung SS / 131

10 Inhalt der Vorlesung 1 Terminologie 2 Endliche Automaten und reguläre Sprachen 3 Kellerautomaten und kontextfreie Sprachen 4 Turingmaschinen und rekursiv aufzählbare Sprachen 5 Berechenbarkeit, (Un-)Entscheidbarkeit 6 Komplexitätsklassen P und NP Furbach Grundlagen d. Theoretischen Informatik: Motivation, Inhalt der Vorlesung SS / 131

11 Teil I Einführung 1 Organisatorisches 2 Motivation, Inhalt der Vorlesung 3 Kurzer Überblick: Logik 4 Kurzer Überblick: Beweismethoden und Mathematische Konzepte 5 Kurzer Überblick: Beweismethoden und Mathematische Konzepte Furbach Grundlagen d. Theoretischen Informatik: Logik SS / 131

12 Logische Formeln Aussagenlogische Operatoren Negationssymbol ( nicht ) Konjunktionssymbol ( und ) Disjunktionssymbol ( oder ) Implikationssymbol ( wenn... dann ) Symbol für Äquivalenz ( genau dann, wenn ) Zusätzliche prädikatenlogische Operatoren Allquantor ( für alle ) Existenzquantor ( es gibt ) Furbach Grundlagen d. Theoretischen Informatik: Logik SS / 131

13 Logische Formeln Formeln Atomare Aussagen sind Formeln Seien A, B Formeln, x eine Variable, dann sind A, (A B), (A B), (A B), (A B), xa, xa Formeln Furbach Grundlagen d. Theoretischen Informatik: Logik SS / 131

14 Logische Formeln Beispiel 3.1 (y x) }{{} Atom z ( (z x) (y z)) }{{} Skopus von z Furbach Grundlagen d. Theoretischen Informatik: Logik SS / 131

15 Logische Formeln Beispiel 3.2 Alle, die in Koblenz studieren, sind schlau x }{{} Variable (studiertin(x, koblenz) schlau(x)) }{{} Formel (Skopus) } {{ } Formel Jemand, der in Landau studiert ist schlau x }{{} Variable (studiertin(x, landau) schlau(x)) }{{} Formel (Skopus) } {{ } Formel Furbach Grundlagen d. Theoretischen Informatik: Logik SS / 131

16 Eigenschaften von Quantoren Quantoren gleicher Art kommutieren x y ist das gleiche wie y x x y ist das gleiche wie y x Furbach Grundlagen d. Theoretischen Informatik: Logik SS / 131

17 Eigenschaften von Quantoren Verschiedene Quantoren kommutieren NICHT x y ist nicht das gleiche wie y x Beispiel 3.3 x y loves(x, y) Es gibt eine Person, die jeden Menschen in der Welt liebt (einschließlich sich selbst) y x loves(x, y) Jeder Mensch wird von mindestens einer Person geliebt (Beides hoffentliche wahr aber verschieden: das erste impliziert das zweite aber nicht umgekehrt) Furbach Grundlagen d. Theoretischen Informatik: Logik SS / 131

18 Eigenschaften von Quantoren Verschiedene Quantoren kommutieren NICHT x y ist nicht das gleiche wie y x Beispiel 3.4 x y mutter(y,x) Jeder hat eine Mutter (richtig) y x mutter(y,x) Es gibt eine Person, die die Mutter von jedem ist (falsch) Furbach Grundlagen d. Theoretischen Informatik: Logik SS / 131

19 Eigenschaften von Quantoren Dualität der Quantoren x... ist das gleiche wie x... x... ist das gleiche wie x... Beispiel 3.5 x mag(x, eiskrem) ist das gleiche wie x mag(x, eiskrem) x mag(x, broccoli) ist das gleiche wie x mag(x, broccoli) Furbach Grundlagen d. Theoretischen Informatik: Logik SS / 131

20 Eigenschaften von Quantoren distributiert NICHT über x (......) ist NICHT das gleiche wie ( x...) ( x...) Beispiel 3.6 x (eiskrem(x) broccoli(x)) ist NICHT das gleiche wie ( x eiskrem(x)) ( x broccoli(x)) Furbach Grundlagen d. Theoretischen Informatik: Logik SS / 131

21 Eigenschaften von Quantoren distributiert NICHT über x (......) ist NICHT das gleiche wie ( x...) ( x...) Beispiel 3.7 x (gerade(x) ungerade(x)) ist NICHT das gleiche wie ( x gerade(x)) ( x ungerade(x)) Furbach Grundlagen d. Theoretischen Informatik: Logik SS / 131

22 Beispiele: Familienverhältnisse Beispiel 3.8 Brüder sind Geschwister x y (bruder(x,y) geschwister(x,y)) bruder ist symmetrisch x y (bruder(x,y) bruder(y,x)) Mütter sind weibliche Elternteile x y (mutter(x,y) weiblich(x) elter(x,y))) Ein Cousin ersten Grades ist das Kind eines Geschwisters eines Elternteils x y (cousin1(x, y) p ps (elter(p,x) geschwister(ps,p) elter(ps,y))) Furbach Grundlagen d. Theoretischen Informatik: Logik SS / 131

23 Beispiele: Familienverhältnisse Beispiel 3.9 Formalisierung von Bruder, der nicht nur Halbbruder ist x y bruder(x,y) ( (x = y) m v ( (m = v) elter(m,x) elter(v,x) elter(m,y) elter(v,y))) Furbach Grundlagen d. Theoretischen Informatik: Logik SS / 131

24 Teil I Einführung 1 Organisatorisches 2 Motivation, Inhalt der Vorlesung 3 Kurzer Überblick: Logik 4 Kurzer Überblick: Beweismethoden und Mathematische Konzepte 5 Kurzer Überblick: Beweismethoden und Mathematische Konzepte Furbach Grundlagen d. Theoretischen Informatik: Beweismethoden und Mathematische Konzepte SS / 131

25 Wichtige Beweismethoden Deduktiver Beweis Aneinanderkettung von Argumenten/Aussagen A = A 1,A 2,...,A n = B Zwischenaussagen A i müssen schlüssig aus dem Vorhergehenden folgen Verwendet werden dürfen nur Annahmen aus A mathematische Grundgesetze bereits bewiesene Aussagen logische Schlussfolgerungen Furbach Grundlagen d. Theoretischen Informatik: Beweismethoden und Mathematische Konzepte SS / 131

26 Wichtige Beweismethoden Beispiel 4.1 (Deduktiver Beweis) Zu beweisen: Wenn x die Summe der Quadrate von vier positiven ganzen Zahlen ist, dann gilt 2 x x 2 Beweis in schematischer Darstellung: Aussage Begründung 1. x = a 2 + b 2 + c 2 + d 2 Gegeben 2. a 1,b 1,c 1,d 1 Gegeben 3. a 2 1,b 2 1,c 2 1,d 2 1 (2) und Gesetze der Arithmetik 4. x 4 (1), (3) und Gesetze der Arithmetik 5. 2 x x 2 (4) und Satz aus der Analysis Furbach Grundlagen d. Theoretischen Informatik: Beweismethoden und Mathematische Konzepte SS / 131

27 Wichtige Beweismethoden Beweis durch Kontraposition Beweise, dass nicht A aus der Annahme nicht B folgt: B A logisch äquivalent zu A B Widerspruchsbeweis Beweise, dass aus A und nicht B ein Widerspruch folgt: (A B) false logisch äquivalent zu A B A kann leer sein Widerspruch zu -Aussage gelingt durch Gegenbeispiel Furbach Grundlagen d. Theoretischen Informatik: Beweismethoden und Mathematische Konzepte SS / 131

28 Wichtige Beweismethoden Induktionsbeweise Standardinduktion: Gilt A(0) und folgt A(i + 1) aus A(i), dann gilt A(n) für alle n N Vollständige Induktion: Gilt A(0) und folgt A(i + 1) aus A(0)... A(i), dann gilt A(n) für alle m N Strukturelle Induktion (auf Datentypen wie Listen, Bäumen, Wörtern: Gilt A für das Basiselement und folgt die Gültigkeit von A für ein beliebiges Element aus der Gültigkeit von A für seine Unterelemente, dann gilt A für alle Elemente. Furbach Grundlagen d. Theoretischen Informatik: Beweismethoden und Mathematische Konzepte SS / 131

29 Mathematische Konzepte Grundkonzepte (z.b. aus DAS) Elementare Mengentheorie {x P(x)},, \ Bezug zwischen Mengen, Relationen und Funktionen (wichtig!) Elementare Gesetze der Algebra Strukturen wie Listen, (endliche) Folgen, Graphen, Bäume Wörter (Strings) Furbach Grundlagen d. Theoretischen Informatik: Beweismethoden und Mathematische Konzepte SS / 131

30 Mathematische Konzepte Funktionen Funktion f : S S : Abbildung zwischen den Grundmengen S und S, nicht unbedingt auf allen Elementen von S definiert Definitionsbereich D Wertebereich W f eine totale Funktion: f für alle Elemente des Wertebereichs W definiert Injektiv, surjektiv, bijektiv x D y W (x,y) f Furbach Grundlagen d. Theoretischen Informatik: Beweismethoden und Mathematische Konzepte SS / 131

31 Teil I Einführung 1 Organisatorisches 2 Motivation, Inhalt der Vorlesung 3 Kurzer Überblick: Logik 4 Kurzer Überblick: Beweismethoden und Mathematische Konzepte 5 Kurzer Überblick: Beweismethoden und Mathematische Konzepte Furbach Grundlagen d. Theoretischen Informatik: Beweismethoden und Mathematische Konzepte SS / 131

32 Wichtige Beweismethoden Deduktiver Beweis Aneinanderkettung von Argumenten/Aussagen A = A 1,A 2,...,A n = B Zwischenaussagen A i müssen schlüssig aus dem Vorhergehenden folgen Verwendet werden dürfen nur Annahmen aus A mathematische Grundgesetze bereits bewiesene Aussagen logische Schlussfolgerungen Furbach Grundlagen d. Theoretischen Informatik: Beweismethoden und Mathematische Konzepte SS / 131

33 Wichtige Beweismethoden Beispiel 5.1 (Deduktiver Beweis) Zu beweisen: Wenn x die Summe der Quadrate von vier positiven ganzen Zahlen ist, dann gilt 2 x x 2 Beweis in schematischer Darstellung: Aussage Begründung 1. x = a 2 + b 2 + c 2 + d 2 Gegeben 2. a 1,b 1,c 1,d 1 Gegeben 3. a 2 1,b 2 1,c 2 1,d 2 1 (2) und Gesetze der Arithmetik 4. x 4 (1), (3) und Gesetze der Arithmetik 5. 2 x x 2 (4) und Satz aus der Analysis Furbach Grundlagen d. Theoretischen Informatik: Beweismethoden und Mathematische Konzepte SS / 131

34 Wichtige Beweismethoden Beweis durch Kontraposition Beweise, dass nicht A aus der Annahme nicht B folgt: B A logisch äquivalent zu A B Widerspruchsbeweis Beweise, dass aus A und nicht B ein Widerspruch folgt: (A B) false logisch äquivalent zu A B A kann leer sein Widerspruch zu -Aussage gelingt durch Gegenbeispiel Furbach Grundlagen d. Theoretischen Informatik: Beweismethoden und Mathematische Konzepte SS / 131

35 Wichtige Beweismethoden Induktionsbeweise Standardinduktion: Gilt A(0) und folgt A(i + 1) aus A(i), dann gilt A(n) für alle n N Vollständige Induktion: Gilt A(0) und folgt A(i + 1) aus A(0)... A(i), dann gilt A(n) für alle m N Strukturelle Induktion (auf Datentypen wie Listen, Bäumen, Wörtern: Gilt A für das Basiselement und folgt die Gültigkeit von A für ein beliebiges Element aus der Gültigkeit von A für seine Unterelemente, dann gilt A für alle Elemente. Furbach Grundlagen d. Theoretischen Informatik: Beweismethoden und Mathematische Konzepte SS / 131

36 Wiederholung Fragen Wie distribuieren Quanten über Junktoren? Welche Beweismethoden benutzen wir? Furbach Grundlagen d. Theoretischen Informatik: Beweismethoden und Mathematische Konzepte SS / 131

37 Mathematische Konzepte Grundkonzepte (z.b. aus DAS) Elementare Mengentheorie {x P(x)},, \ Bezug zwischen Mengen, Relationen und Funktionen (wichtig!) Elementare Gesetze der Algebra Strukturen wie Listen, (endliche) Folgen, Graphen, Bäume Wörter (Strings) Furbach Grundlagen d. Theoretischen Informatik: Beweismethoden und Mathematische Konzepte SS / 131

38 Mathematische Konzepte Funktionen Funktion f : S S : Abbildung zwischen den Grundmengen S und S, nicht unbedingt auf allen Elementen von S definiert Definitionsbereich D Wertebereich W f eine totale Funktion: f für alle Elemente des Wertebereichs W definiert Injektiv, surjektiv, bijektiv x D y W (x,y) f Furbach Grundlagen d. Theoretischen Informatik: Beweismethoden und Mathematische Konzepte SS / 131

39 Inhalt von Teil II In den folgenden Abschnitten führen wir die Begriffe ein. Sprache Grammatik 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?) Furbach Grundlagen d. Theoretischen Informatik: SS / 131

40 Teil II Terminologie 6 Sprache, Grammatik 7 Warum Sprachen? 8 Die Chomsky-Hierarchie 9 Probleme über Sprachen 10 Endlich, unendlich und dann? Furbach Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS / 131

41 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 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 Furbach Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS / 131

42 Alphabete, Wörter Operationen auf Wörtern Verknüpfung (Konkatenation): w w assoziativ, oft geschrieben als ww i-te Potenz: w 0 = ε, w i+1 = ww i Reverse: w R = das Wort w rückwärts Furbach Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS / 131

43 Sprache 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 Furbach Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS / 131

44 Sprache Kleene-Hülle Variante: L = L 0 L 1 L 2... 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) Furbach Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS / 131

45 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 + Furbach Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS / 131

46 Reguläre Ausdrücke 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... 1 := 0 Es gilt: I(1) = {ε} Furbach Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS / 131

47 Reguläre Ausdrücke Übung Welche Sprachen werden durch die folgenden regulären Ausdrücke dargestellt? aa (a + b) aa + bb Furbach Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS / 131

48 Wiederholung Fragen Wie sind reguläre Ausdrücke definiert? was ist ihre Semantik? Furbach Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS / 131

49 Reguläre Ausdrücke als Suchmuster für grep 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) Furbach Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS / 131

50 Reguläre Ausdrücke als Suchmuster für grep 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 Σ Furbach Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS / 131

51 Grammatik 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 Furbach Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS / 131

52 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 Furbach Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS / 131

53 Grammatik Definition 6.7 (Regel) Eine Regel ist ein Element (P,Q) ( (V T ) V (V T ) ) (V T ) Bezeichnung: P: Prämisse Q: Conclusio Furbach Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS / 131

54 Grammatik Definition 6.8 (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 Furbach Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS / 131

55 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 Furbach Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS / 131

56 Grammatik Beispiel 6.9 S B B do begin B end B A A nop A A ε Furbach Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS / 131

57 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 Furbach Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS / 131

58 Rechnung einer Grammatik Beispiel 6.10 (Einfache Grammatiken) Welche Wörter kann man ableiten? G 1 = ({S},{a},{R 1,R 2 },S) R 1 = S as R 2 = S ε G 2 = ({S},{a,b},{R 1,R 2 },S) R 1 = S asb R 2 = S ε Sei G 3 = ({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 ε Furbach Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS / 131

59 Rechnung einer Grammatik Beispiel 6.11 (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 ε Furbach Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS / 131

60 Rechnung einer Grammatik Definition 6.12 (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 ) Furbach Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS / 131

61 Rechnung einer Grammatik Schreibweise für Ableitung 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 Furbach Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS / 131

62 Vorsicht: Indeterminismus Beispiel 6.13 (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 Furbach Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS / 131

63 Vorsicht: Indeterminismus 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! Furbach Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS / 131

64 Vorsicht: Indeterminismus Beispiel 6.14 (Mehrdeutige Grammatik natürlichsprachlicher Sätze) Time flies like an arrow. Fruit flies like a banana. Beide Sätze haben zwei mögliche grammatische Strukturen. Erst unser semantisches Verständnis wählt eine aus. Furbach Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS / 131

65 Erzeugte Sprache, Äquivalenz Definition 6.15 (Erzeugte Sprache) leitunggegeben: 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} Definition 6.16 (Äquivalenz) Zwei Grammatiken G 1,G 2 heißen äquivalent gdw L(G 1 ) = L(G 2 ) Furbach Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS / 131

66 Fragen Wiederholung Reguläre Ausdrücke? Was ist eine Grammatik? Was ist eine Ableitung? Was ist die von einer Grammatik erzeugte Sprache? Furbach Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS / 131

67 Beispiel Beispiel 6.17 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 ) Lemma 6.18 Die Grammatik G ab erzeugt die Sprache L(G ab ) = {a n b n n N 0 } Furbach Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS / 131

68 Beispiel 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. Furbach Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS / 131

69 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. Furbach Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS / 131

70 Beispiel 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. Furbach Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS / 131

71 Beispiel 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. Furbach Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS / 131

72 Beispiel: Dycksprache Definition 6.19 (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. Furbach Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS / 131

73 Beispiel: Dycksprache Walther von Dyck 1856, 1934 Mathematiker Hochschulpolitiker Erster Rektor der TU München Einer der Gründungsväter des Deutschen Museums [Foto: Deutsches Museum] Furbach Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS / 131

74 Teil II Terminologie 6 Sprache, Grammatik 7 Warum Sprachen? 8 Die Chomsky-Hierarchie 9 Probleme über Sprachen 10 Endlich, unendlich und dann? Furbach Grundlagen d. Theoretischen Informatik: Warum Sprachen? SS / 131

75 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 Furbach Grundlagen d. Theoretischen Informatik: Warum Sprachen? SS / 131

76 Darstellung von Problemen Eingabealphabet Σ = {0,1,...,n 1} erlaubt Darstellung einer Ganzzahl zur Basis n Beispiel binär: unär: (oder auch 11111) Furbach Grundlagen d. Theoretischen Informatik: Warum Sprachen? SS / 131

77 Darstellung von Problemen Speicheraufwand n-äre Darstellung (n > 1) einer Zahl k führt zu einer Speicherersparnis: log n k (n-är) statt k (unär) 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) Furbach Grundlagen d. Theoretischen Informatik: Warum Sprachen? SS / 131

78 Darstellung des Erfüllbarkeitsproblems SAT Problem SAT Gegeben: Eine aussagenlogische Formel w Frage: Gibt es eine Belegung der booleschen Variablen in w, so dass w zu true auswertet? 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. Furbach Grundlagen d. Theoretischen Informatik: Warum Sprachen? SS / 131

79 Darstellung des Erfüllbarkeitsproblems SAT 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 } Furbach Grundlagen d. Theoretischen Informatik: Warum Sprachen? SS / 131

80 Darstellung des Erreichbarkeitsproblems in Graphen Erreichbarkeitsproblem Gegeben: Ein Graph mit Ecken v 1 bis v n 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 Furbach Grundlagen d. Theoretischen Informatik: Warum Sprachen? SS / 131

81 Darstellung des Erreichbarkeitsproblems in Graphen Definition 7.4 (Erreichbarkeitsproblem) Sprache L reach := {w Σ graph : es gibt einen Weg in w von der ersten Ecke v 1 zur letzten Ecke v n } Furbach Grundlagen d. Theoretischen Informatik: Warum Sprachen? SS / 131

82 Wiederholung Fragen Was ist eine formale Sprache? Regeln einer Grammatik? Was ist die von einer Grammatik erzeugte formale Sprache? Furbach Grundlagen d. Theoretischen Informatik: Warum Sprachen? SS / 131

83 Teil II Terminologie 6 Sprache, Grammatik 7 Warum Sprachen? 8 Die Chomsky-Hierarchie 9 Probleme über Sprachen 10 Endlich, unendlich und dann? Furbach Grundlagen d. Theoretischen Informatik: Die Chomsky-Hierarchie SS / 131

84 Die Chomsky-Hierarchie Noam Chomsky 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 Furbach Grundlagen d. Theoretischen Informatik: Die Chomsky-Hierarchie SS / 131

85 Die Chomsky-Hierarchie 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. Furbach Grundlagen d. Theoretischen Informatik: Die Chomsky-Hierarchie SS / 131

86 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 ) Furbach Grundlagen d. Theoretischen Informatik: Die Chomsky-Hierarchie SS / 131

87 Die Chomsky-Hierarchie Definition 8.2 (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. Furbach Grundlagen d. Theoretischen Informatik: Die Chomsky-Hierarchie SS / 131

88 Die Chomsky-Hierarchie Definition 8.3 (Kontextfreie Grammatik) Eine Grammatik G = (V,T,R,S) heißt kontextfrei gdw (P Q) R ( P V und Q (V T ) ) Furbach Grundlagen d. Theoretischen Informatik: Die Chomsky-Hierarchie SS / 131

89 Die Chomsky-Hierarchie Definition 8.4 (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 Furbach Grundlagen d. Theoretischen Informatik: Die Chomsky-Hierarchie SS / 131

90 Definition 8.5 (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 Furbach Grundlagen d. Theoretischen Informatik: Die Chomsky-Hierarchie SS / 131

91 Die Chomsky-Hierarchie Definition 8.6 (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 Furbach Grundlagen d. Theoretischen Informatik: Die Chomsky-Hierarchie SS / 131

92 Definition 8.7 (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 Furbach Grundlagen d. Theoretischen Informatik: Die Chomsky-Hierarchie SS / 131

93 Die Chomsky-Hierarchie Definition 8.8 (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 Furbach Grundlagen d. Theoretischen Informatik: Die Chomsky-Hierarchie SS / 131

94 Die Chomsky-Hierarchie Aufbauend auf den Grammatikarten kann man Sprachklassen definieren Definition 8.9 (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 Furbach Grundlagen d. Theoretischen Informatik: Die Chomsky-Hierarchie SS / 131

95 Die Chomsky-Hierarchie Grammatiken können kompliziert sein! Beispiel 8.10 (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? Furbach Grundlagen d. Theoretischen Informatik: Die Chomsky-Hierarchie SS / 131

96 Teil II Terminologie 6 Sprache, Grammatik 7 Warum Sprachen? 8 Die Chomsky-Hierarchie 9 Probleme über Sprachen 10 Endlich, unendlich und dann? Furbach Grundlagen d. Theoretischen Informatik: Probleme über Sprachen SS / 131

97 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? Furbach Grundlagen d. Theoretischen Informatik: Probleme über Sprachen SS / 131

98 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. Furbach Grundlagen d. Theoretischen Informatik: Probleme über Sprachen SS / 131

99 Probleme und Algorithmen im allgemeinen 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? Furbach Grundlagen d. Theoretischen Informatik: Probleme über Sprachen SS / 131

100 Teil II Terminologie 6 Sprache, Grammatik 7 Warum Sprachen? 8 Die Chomsky-Hierarchie 9 Probleme über Sprachen 10 Endlich, unendlich und dann? Furbach Grundlagen d. Theoretischen Informatik: Endlich, unendlich und dann? SS / 131

101 Abzählbarkeit Definition 10.1 (Abzählbarkeit) Eine Menge M heißt abzählbar, wenn es eine surjektive Funktion f : N 0 M gibt, oder M leer ist. Intuition Eine Menge ist abzählbar, wenn sie höchstens so mächtig wie N 0 ist. Furbach Grundlagen d. Theoretischen Informatik: Endlich, unendlich und dann? SS / 131

102 Abzählbarkeit Lemma 10.2 Eine Menge M ist abzählbar, wenn es eine injektive Funktion gibt. f : M N 0 Furbach Grundlagen d. Theoretischen Informatik: Endlich, unendlich und dann? SS / 131

103 Abzählbarkeit 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 Furbach Grundlagen d. Theoretischen Informatik: Endlich, unendlich und dann? SS / 131

104 Hilberts Hotel David Hilbert 1862, 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. Furbach Grundlagen d. Theoretischen Informatik: Endlich, unendlich und dann? SS / 131

105 Diagonalisierungsargument für Überabzählbarkeit 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. Furbach Grundlagen d. Theoretischen Informatik: Endlich, unendlich und dann? SS / 131

106 Diagonalisierungsargument für Überabzählbarkeit 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! Furbach Grundlagen d. Theoretischen Informatik: Endlich, unendlich und dann? SS / 131

107 Wieviele gibt es? 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 Furbach Grundlagen d. Theoretischen Informatik: Endlich, unendlich und dann? SS / 131

108 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. Furbach Grundlagen d. Theoretischen Informatik: Endlich, unendlich und dann? SS / 131

109 Wieviele Wörter, Grammatiken gibt es? 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 Signatur Σ V {,...} darstellbar. Die Menge der Wörter über dieser erweiterten Signatur ist abzählbar (Lemma 10.5). Furbach Grundlagen d. Theoretischen Informatik: Endlich, unendlich und dann? SS / 131

110 Wieviele Algorithmen gibt es? 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). Furbach Grundlagen d. Theoretischen Informatik: Endlich, unendlich und dann? SS / 131

111 Wieviele Funktionen f : N 0 N 0 gibt es? Lemma 10.8 Es gibt überabzählbar viele Funktionen f : N 0 N 0. 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! Furbach Grundlagen d. Theoretischen Informatik: Endlich, unendlich und dann? SS / 131

112 Wieviele Funktionen f : N 0 N 0 gibt es? Lemma 10.9 Es gibt überabzählbar viele Funktionen f : N 0 {0,1}. Beweis. Analog. Furbach Grundlagen d. Theoretischen Informatik: Endlich, unendlich und dann? SS / 131

113 Wieviele Sprachen gibt es? Lemma Gegeben eine Signatur Σ (endlich oder unendlich). Die Menge der Sprachen über Σ ist überabzählbar. 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. Furbach Grundlagen d. Theoretischen Informatik: Endlich, unendlich und dann? SS / 131

114 Korollar Korollar Nicht jede Sprache kann durch eine Grammatik dargestellt werden. Furbach Grundlagen d. Theoretischen Informatik: Endlich, unendlich und dann? SS / 131

115 Zusammenfassung Gegeben eine Signatur Σ Abzählbar N 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 Furbach Grundlagen d. Theoretischen Informatik: Endlich, unendlich und dann? SS / 131

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2015 23.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen

Mehr

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

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Institut für Informatik Sommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:

Mehr

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

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Institut für Informatik Sommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:

Mehr

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

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Teil II. Terminologie. Vorlesung 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

Mehr

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

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Institut für Informatik Sommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2016 20.04.2016 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen

Mehr

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Kontakt. Teil I. Einführung.

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Kontakt. Teil I. Einführung. 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

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2015 29.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Motivation 2. Terminologie 3. Endliche Automaten und reguläre

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2015 22.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen

Mehr

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

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Reguläre Ausdrücke als Suchmuster für grep 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

Mehr

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

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Probleme über Sprachen. Teil II. 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

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2015 16.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Organizatorisches Literatur Motivation und Inhalt Kurzer

Mehr

Logik für Informatiker

Logik für Informatiker Vorlesung Logik für Informatiker 9. Prädikatenlogik Syntax und Semantik der Prädikatenlogik Bernhard Beckert Universität Koblenz-Landau Sommersemester 2006 Logik für Informatiker, SS 06 p.1 Syntax der

Mehr

Syntax der Prädikatenlogik: Komplexe Formeln

Syntax der Prädikatenlogik: Komplexe Formeln Syntax der Prädikatenlogik: Komplexe Formeln Σ = P, F eine prädikatenlogische Signatur Var eine Menge von Variablen Definition: Menge For Σ der Formeln über Σ Logik für Informatiker, SS 06 p.10 Syntax

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (III) 17.06.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 0. Organisatorisches Kontakt: Viorica Sofronie-Stokkermans sofronie@uni-koblenz.de

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Woche 7 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Zusammenfassung Zusammenfassung der letzten LV 1 Wir betrachten die folgende Signatur

Mehr

Was bisher geschah: Formale Sprachen

Was bisher geschah: Formale Sprachen Was bisher geschah: Formale Sprachen Alphabet, Wort, Sprache Operationen und Relationen auf Wörtern und Sprachen Darstellung unendlicher Sprachen durch reguläre Ausdrücke (Syntax, Semantik, Äquivalenz)

Mehr

Logik für Informatiker

Logik für Informatiker Vorlesung Logik für Informatiker 3. Aussagenlogik Syntax und Semantik der Aussagenlogik Bernhard Beckert Universität Koblenz-Landau Sommersemester 2006 Logik für Informatiker, SS 06 p.16 Syntax der Aussagenlogik:

Mehr

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

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 Zusammenfassung Zusammenfassung der letzten LVA Einführung in die Theoretische Informatik Christina Kohl Alexander Maringele eorg Moser Michael Schaper Institut für Informatik @ UIBK Wintersemester 2016

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (I) 3.06.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Organisatorisches 1. Teilklausur: Mittwoch,

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (II) 11.06.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Informatik III. Outline

Informatik III. Outline Informatik III (Automatentheorie und formale Sprachen) Prof. Dr. Jürgen Dix Computational Intelligence Group TU Clausthal Clausthal, WS 2012/13 Zeit und Ort: Vorlesung am Dienstag 10 12 und Freitag 10

Mehr

Logik für Informatiker

Logik für Informatiker Logik für Informatiker 3. Prädikatenlogik Teil 4 18.06.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Letzte Vorlesung Sematik: Σ-Strukturen = (U, (f : U

Mehr

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

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Institut für Informatik Sommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:

Mehr

Theoretische Grundlagen des Software Engineering

Theoretische Grundlagen des Software Engineering Theoretische Grundlagen des Software Engineering 5: Reguläre Ausdrücke und Grammatiken schulz@eprover.org Software Systems Engineering Reguläre Sprachen Bisher: Charakterisierung von Sprachen über Automaten

Mehr

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

Prof. Dr. Jürgen Dix Institut für Informatik, TU Clausthal Informatik III, WS 2006/07 2/561 Informatik III (Automatentheorie und formale Sprachen) Prof. Dr. Jürgen Dix Institut für Informatik TU Clausthal WS 2006/07 Zeit und Ort: Vorlesung am Mittwoch 15-17 (HA) und Donnerstag 13 15 (HB) (IfM),

Mehr

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

Definition 4 (Operationen auf Sprachen) Beispiel 5. Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A + = n 1 An Definition 4 (Operationen auf Sprachen) Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A 0 = {ɛ}, A n+1 = AA n A = n 0 An A + = n 1 An Beispiel 5 {ab, b}{a, bb} = {aba, abbb,

Mehr

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

Formale Sprachen. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marian KOGLER Formale Sprachen Grammatiken und die Chomsky-Hierarchie Rudolf FREUND, Marian KOGLER Grammatiken Das fundamentale Modell zur Beschreibung von formalen Sprachen durch Erzeugungsmechanismen sind Grammatiken.

Mehr

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

Theorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie Theorie der Informatik 17. März 2014 6. Formale Sprachen und Grammatiken Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 6.1 Einführung

Mehr

Theoretische Informatik Mitschrift

Theoretische Informatik Mitschrift Theoretische Informatik Mitschrift 2. Grammatiken und die Chomsky-Hierarchie Beispiel: Syntaxdefinition in BNF :=

Mehr

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

Dank. 1 Ableitungsbäume. 2 Umformung von Grammatiken. 3 Normalformen. 4 Pumping-Lemma für kontextfreie Sprachen. 5 Pushdown-Automaten (PDAs) ank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert iese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen

Mehr

Logik für Informatiker

Logik für Informatiker Vorlesung Logik für Informatiker 4. Aussagenlogik Syntax und Semantik der Aussagenlogik Bernhard Beckert Universität Koblenz-Landau Sommersemester 2006 Logik für Informatiker, SS 06 p.1 Syntax der Aussagenlogik:

Mehr

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

Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1 Zusammenfassung Zusammenfassung der letzten LV Einführung in die Theoretische Informatik Woche 7 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 1 Wir betrachten die folgende Signatur

Mehr

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

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14 Kapitel: Die Chomsky Hierarchie Die Chomsky Hierarchie 1 / 14 Allgemeine Grammatiken Definition Eine Grammatik G = (Σ, V, S, P) besteht aus: einem endlichen Alphabet Σ, einer endlichen Menge V von Variablen

Mehr

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

Ist eine algorithmische Problemstellung lösbar und wenn ja, mit welchen Mitteln? was ist eine algorithmische Problemstellung? Überblick 1. reguläre Sprachen endliche Automaten (deterministisch vs. nichtdeterministisch) Nichtregularität 2. Berechenbarkeit Registermaschinen/Turingmaschinen Churchsche These Unentscheidbarkeit 3.

Mehr

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

3. Klausur Einführung in die Theoretische Informatik Seite 1 von Welches der folgenden klassischen Probleme der Informatik ist entscheidbar? 3. Klausur Einführung in die Theoretische Informatik Seite 1 von 14 1. Welches der folgenden klassischen Probleme der Informatik ist entscheidbar? A. Gegeben eine kontextfreie Grammatik G. Gibt es ein

Mehr

Logik für Informatiker

Logik für Informatiker Vorlesung Logik für Informatiker 9. Prädikatenlogik Syntax und Semantik der Prädikatenlogik Bernhard Beckert Universität Koblenz-Landau Sommersemester 2006 Logik für Informatiker, SS 06 p.1 Syntax der

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 17. Januar 2012 INSTITUT FÜR THEORETISCHE 0 KIT 18.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der

Mehr

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

Formale Sprachen. Grammatiken. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marion OSWALD. Grammatiken: Ableitung Formale Sprachen rammatiken und die Chomsky-Hierarchie Rudolf FREUND, Marion OSWALD rammatiken Das fundamentale Modell zur Beschreibung von formalen Sprachen durch Erzeugungsmechanismen sind rammatiken.

Mehr

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

WS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven WS06/07 Referentin: Katharina Blinova Formale Sprachen Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven 1. Allgemeines 2. Formale Sprachen 3. Formale Grammatiken 4. Chomsky-Hierarchie 5.

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Große Übung #2 Phillip Keldenich, Arne Schmidt 10.11.2016 Organisatorisches Fragen? Checkliste: Anmeldung kleine Übungen Anmeldung Mailingliste Dies ersetzt nicht die Prüfungsanmeldung!

Mehr

Berechenbarkeit und Komplexität

Berechenbarkeit und Komplexität Berechenbarkeit und Komplexität Prof. Dr. Dietrich Kuske FG Theoretische Informatik, TU Ilmenau Wintersemester 2010/11 1 Organisatorisches zur Vorlesung Informationen, aktuelle Version der Folien und Übungsblätter

Mehr

Tutorium 23 Grundbegriffe der Informatik (10. Sitzung)

Tutorium 23 Grundbegriffe der Informatik (10. Sitzung) Tutorium 23 Grundbegriffe der Informatik (10. Sitzung) Tutor: Felix Stahlberg SOFTWARE DESIGN AND QUALITY GROUP Source: pixelio.de KIT The cooperation of Forschungszentrum Karlsruhe GmbH and Universität

Mehr

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Theoretische Informatik: Berechenbarkeit und Formale Sprachen Prof. Dr. F. Otto 26.09.2011 Fachbereich Elektrotechnik/Informatik Universität Kassel Klausur zur Vorlesung Theoretische Informatik: Berechenbarkeit und Formale Sprachen SS 2011 Name:................................

Mehr

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

Dank. Theoretische Informatik II. Teil II. Registermaschinen. Vorlesung Dank Vorlesung Theoretische Informatik II Bernhard Beckert Institut für Informatik Diese Vorlesungsmaterialien basieren zum Teil auf den Folien zu den Vorlesungen von Katrin Erk (gehalten an der Universität

Mehr

Beschreibungskomplexität von Grammatiken Definitionen

Beschreibungskomplexität von Grammatiken Definitionen Beschreibungskomplexität von Grammatiken Definitionen Für eine Grammatik G = (N, T, P, S) führen wir die folgenden drei Komplexitätsmaße ein: Var(G) = #(N), Prod(G) = #(P ), Symb(G) = ( α + β + 1). α β

Mehr

Einführung in die Logik

Einführung in die Logik Einführung in die Logik Klaus Madlener und Roland Meyer 24. April 2013 Inhaltsverzeichnis 1 Aussagenlogik 1 1.1 Syntax................................. 1 1.2 Semantik............................... 3 1.3

Mehr

Grundbegriffe. Grammatiken

Grundbegriffe. Grammatiken Grammatiken Grammatiken in der Informatik sind ähnlich wie Grammatiken für natürliche Sprachen ein Mittel, um alle syntaktisch korrekten Sätze (hier: Wörter) einer Sprache zu erzeugen. Beispiel: Eine vereinfachte

Mehr

Übungsaufgaben zu Formalen Sprachen und Automaten

Übungsaufgaben zu Formalen Sprachen und Automaten Universität Freiburg PD Dr. A. Jakoby Sommer 27 Übungen zum Repetitorium Informatik III Übungsaufgaben zu Formalen Sprachen und Automaten. Untersuchen Sie das folgende Spiel: A B x x 2 x 3 C D Eine Murmel

Mehr

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

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016 Formale Methoden 2 Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016 Teil 3: Kodierung 1 Motivation 2 Exkurs Grundlagen formaler Sprachen 3 Grundlagen 4 Beispielkodierungen FM2 (WS 2014/15,

Mehr

Formale Systeme. Aussagenlogik: Syntax und Semantik. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Formale Systeme. Aussagenlogik: Syntax und Semantik. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK Formale Systeme Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State of Baden-Württemberg and National Large-scale Research Center of the Helmholtz

Mehr

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

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie 1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie WS 11/12 155 Überblick Zunächst einmal definieren wir formal den Begriff

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen Malte Helmert Gabriele Röger Universität Basel 7. April 2014 Kontextsensitive und allgemeine Grammatiken Wiederholung: (kontextsensitive)

Mehr

2.1 Allgemeines. Was ist eine Sprache? Beispiele:

2.1 Allgemeines. Was ist eine Sprache? Beispiele: Was ist eine Sprache? Beispiele: (a) Deutsch, Japanisch, Latein, Esperanto,...: Natürliche Sprachen (b) Pascal, C, Java, Aussagenlogik,...: Formale Sprachen Wie beschreibt man eine Sprache? (i) Syntax

Mehr

Formale Sprachen und Automaten

Formale Sprachen und Automaten Mengen Eine Menge ist eine Gruppe von Elementen, die eine Einheit bilden (siehe z.b. Halmos 1976). Formale Sprachen und Automaten Mathematisches Rüstzeug Mengen können verschiedene Typen von Elementen

Mehr

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

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004 Lösung zur Klausur Grundlagen der Theoretischen Informatik im WiSe 2003/2004 1. Geben Sie einen deterministischen endlichen Automaten an, der die Sprache aller Wörter über dem Alphabet {0, 1} akzeptiert,

Mehr

Automaten und formale Sprachen Klausurvorbereitung

Automaten und formale Sprachen Klausurvorbereitung Automaten und formale Sprachen Klausurvorbereitung Rami Swailem Mathematik Naturwissenschaften und Informatik FH-Gießen-Friedberg Inhaltsverzeichnis 1 Definitionen 2 2 Altklausur Jäger 2006 8 1 1 Definitionen

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Sascha Böhme, Lars Noschinski Sommersemester 2011 Lösungsblatt 9 25. Juli 2011 Einführung in die Theoretische Informatik

Mehr

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

Grammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S) Grammatiken Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V Startsymbol S V Produktionen P ( (V Σ) \ Σ ) (V Σ) Kurzschreibweise G = (V, Σ, P, S) Schreibweise für Produktion (α, β) P: α β 67 /

Mehr

Logik für Informatiker

Logik für Informatiker Logik für Informatiker 2. Aussagenlogik Teil 1 25.04.2017 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Grundlegende Beweisstrategien Induktion über

Mehr

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

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Institut für Informatik Sommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:

Mehr

Theoretische Informatik I (Grundzüge der Informatik I)

Theoretische Informatik I (Grundzüge der Informatik I) Theoretische Informatik I (Grundzüge der Informatik I) Literatur: Buch zur Vorlesung: Uwe Schöning, Theoretische Informatik - kurzgefasst. Spektrum Akademischer Verlag, Heidelberg/Berlin, 4. Auflage, 2001.

Mehr

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

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie 1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie 139 Unentscheidbarkeit Überblick Zunächst einmal definieren wir formal

Mehr

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

1. Klausur Einführung in die Theoretische Informatik Seite 1 von 14 1. Klausur Einführung in die Theoretische Informatik Seite 1 von 14 1. Welche der folgenden Aussagen zu Normalformen einer aussagenlogischen Formel A ist falsch? A. Für Formel A existiert eine KNF K, sodass

Mehr

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

Grammatik Prüfung möglich, ob eine Zeichenfolge zur Sprache gehört oder nicht Zusammenhang: Formale Sprache Grammatik Formale Sprache kann durch Grammatik beschrieben werden. Zur Sprache L = L(G) gehören nur diejenigen Kombinationen der Zeichen des Eingabealphabets, die durch die

Mehr

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

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Beispiel einer nicht berechenbaren Funktion: Busy Beaver 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

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 3. Endliche Automaten (V) 21.05.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Determinierte endliche Automaten (DEAs) Indeterminierte

Mehr

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

Übung zur Vorlesung Grundlagen der theoretischen Informatik. Aufgabenblatt 2 Lösungen. Wiederholung: von einer Grammatik erzeugte Sprache Prof. Dr. Viorica Sofronie-Stokkermans Universität Koblenz-Landau Fachbereich 4: Informatik Dennis Peuter 27. April 2017 Übung zur Vorlesung Grundlagen der theoretischen Informatik Aufgabenblatt 2 Lösungen

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Turingmaschinen und rekursiv aufzählbare Sprachen (V) 16.07.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Theoretische Informatik 2 bzw. Formale Sprachen und Berechenbarkeit. Sommersemester Herzlich willkommen!

Theoretische Informatik 2 bzw. Formale Sprachen und Berechenbarkeit. Sommersemester Herzlich willkommen! Theoretische Informatik 2 bzw. Formale Sprachen und Berechenbarkeit Sommersemester 2012 Prof. Dr. Nicole Schweikardt AG Theorie komplexer Systeme Goethe-Universität Frankfurt am Main Herzlich willkommen!

Mehr

4.1 Motivation. Theorie der Informatik. Theorie der Informatik. 4.1 Motivation. 4.2 Syntax der Prädikatenlogik. 4.3 Semantik der Prädikatenlogik

4.1 Motivation. Theorie der Informatik. Theorie der Informatik. 4.1 Motivation. 4.2 Syntax der Prädikatenlogik. 4.3 Semantik der Prädikatenlogik Theorie der Informatik 3. März 2014 4. Prädikatenlogik I Theorie der Informatik 4. Prädikatenlogik I 4.1 Motivation Malte Helmert Gabriele Röger 4.2 Syntax der Prädikatenlogik Universität Basel 3. März

Mehr

Rekursiv aufzählbare Sprachen

Rekursiv aufzählbare Sprachen Kapitel 4 Rekursiv aufzählbare Sprachen 4.1 Grammatiken und die Chomsky-Hierarchie Durch Zulassung komplexer Ableitungsregeln können mit Grammatiken größere Klassen als die kontextfreien Sprachen beschrieben

Mehr

Lineare Algebra I. Anhang. A Relationen. Heinz H. GONSKA, Maria D. RUSU, Michael WOZNICZKA. Wintersemester 2009/10

Lineare Algebra I. Anhang. A Relationen. Heinz H. GONSKA, Maria D. RUSU, Michael WOZNICZKA. Wintersemester 2009/10 Fakultät für Mathematik Fachgebiet Mathematische Informatik Anhang Lineare Algebra I Heinz H. GONSKA, Maria D. RUSU, Michael WOZNICZKA Wintersemester 2009/10 A Relationen Definition A.1. Seien X, Y beliebige

Mehr

Kapitel 1.4. Exkurs: Entscheidbarkeit und Komplexität. Mathematische Logik (WS 2012/3) K. 1.4: Entscheidbarkeit und Komplexität 1/10

Kapitel 1.4. Exkurs: Entscheidbarkeit und Komplexität. Mathematische Logik (WS 2012/3) K. 1.4: Entscheidbarkeit und Komplexität 1/10 Kapitel 1.4 Exkurs: Entscheidbarkeit und Komplexität Mathematische Logik (WS 2012/3) K. 1.4: Entscheidbarkeit und Komplexität 1/10 Algorithmen Ein Algorithmus oder eine Rechenvorschrift ist ein effektives

Mehr

Formale Sprachen. Script, Kapitel 4. Grammatiken

Formale Sprachen. Script, Kapitel 4. Grammatiken Formale Sprachen Grammatiken Script, Kapitel 4 erzeugen Sprachen eingeführt von Chomsky zur Beschreibung natürlicher Sprache bedeutend für die Syntaxdefinition und -analyse von Programmiersprachen Automaten

Mehr

Diskrete Strukturen Kapitel 2: Grundlagen (Beweise)

Diskrete Strukturen Kapitel 2: Grundlagen (Beweise) WS 2014/15 Diskrete Strukturen Kapitel 2: Grundlagen (Beweise) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_14

Mehr

(Prüfungs-)Aufgaben zu formale Sprachen

(Prüfungs-)Aufgaben zu formale Sprachen (Prüfungs-)Aufgaben zu formale Sprachen (siehe auch bei den Aufgaben zu endlichen Automaten) 1) Eine Grammatik G sei gegeben durch: N = {S, A}, T = {a, b, c, d}, P = { (S, Sa), (S, ba), (A, ba), (A, c),

Mehr

Diskrete Strukturen Kapitel 2: Grundlagen (Relationen)

Diskrete Strukturen Kapitel 2: Grundlagen (Relationen) WS 2016/17 Diskrete Strukturen Kapitel 2: Grundlagen (Relationen) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_16

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische Informatik I Rückblick Theoretische Informatik I 1. Mathematische Methoden 2. Reguläre Sprachen 3. Kontextfreie Sprachen Themen der Theoretischen Informatik I & II Mathematische Methodik in

Mehr

Theoretische Informatik

Theoretische Informatik Theoretische Informatik Wintersemester 2016/2017 2V, Mittwoch, 12:00-13:30 Uhr, F303 2Ü, Dienstag, 12:00-13:30 Uhr, BE08 2Ü, Dienstag, 15:00-16:30 Uhr, B212 2Ü, Mittwoch, 8:30-10:00 Uhr, B312 Fachprüfung:

Mehr

Sprachen und Programmiersprachen

Sprachen und Programmiersprachen Sprachen und Programmiersprachen Natürliche Sprachen versus Programmiersprachen / Spezifikationssprachen Syntax legt die grammatikalische Korrektheit fest. Semantik legt die Bedeutung von syntaktisch korrekten

Mehr

Theoretische Informatik

Theoretische Informatik Theoretische Informatik für die Studiengänge Ingenieur-Informatik berufsbegleitendes Studium Lehramt Informatik (Sekundar- und Berufsschule) http://theo.cs.uni-magdeburg.de/lehre04s/ Lehrbeauftragter:

Mehr

Maike Buchin 18. Februar 2016 Stef Sijben. Probeklausur. Theoretische Informatik. Bearbeitungszeit: 3 Stunden

Maike Buchin 18. Februar 2016 Stef Sijben. Probeklausur. Theoretische Informatik. Bearbeitungszeit: 3 Stunden Maike Buchin 8. Februar 26 Stef Sijben Probeklausur Theoretische Informatik Bearbeitungszeit: 3 Stunden Name: Matrikelnummer: Studiengang: Geburtsdatum: Hinweise: Schreibe die Lösung jeder Aufgabe direkt

Mehr

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

Abbildungen. Kapitel Definition: (Abbildung) 5.2 Beispiel: 5.3 Wichtige Begriffe Kapitel 5 Abbildungen 5.1 Definition: (Abbildung) Eine Abbildung zwischen zwei Mengen M und N ist eine Vorschrift f : M N, die jedem Element x M ein Element f(x) N zuordnet. Schreibweise: x f(x) 5. Beispiel:

Mehr

TU7 Aussagenlogik II und Prädikatenlogik

TU7 Aussagenlogik II und Prädikatenlogik TU7 Aussagenlogik II und Prädikatenlogik Daniela Andrade daniela.andrade@tum.de 5.12.2016 1 / 32 Kleine Anmerkung Meine Folien basieren auf den DS Trainer von Carlos Camino, den ihr auf www.carlos-camino.de/ds

Mehr

Angewandte Mathematik am Rechner 1

Angewandte Mathematik am Rechner 1 Angewandte Mathematik am Rechner 1 SOMMERSEMESTER 2017 Kapitel 3 [Bildquellen: Wikipedia User David Madore, Inductiveload ] Grundlagen 2: Funktionen, Berechenbarkeit und emergente Komplexität Michael Wand

Mehr

Kapitel IV Formale Sprachen und Grammatiken

Kapitel IV Formale Sprachen und Grammatiken Kapitel IV Formale Sprachen und Grammatiken 1. Begriffe und Notationen Sei Σ ein (endliches) Alphabet. Dann Definition 42 1 ist Σ das Monoid über Σ, d.h. die Menge aller endlichen Wörter über Σ; 2 ist

Mehr

Endliche Automaten, reguläre Ausdrücke, rechtslineare Grammatiken

Endliche Automaten, reguläre Ausdrücke, rechtslineare Grammatiken 1 / 15 Endliche Automaten, reguläre Ausdrücke, rechtslineare Grammatiken Prof. Dr. Hans Kleine Büning FG Wissensbasierte Systeme WS 08/09 2 / 15 Deterministischer endlicher Automat (DEA) Definition 1:

Mehr

Wir suchen Antworten auf die folgenden Fragen: Was ist Berechenbarkeit? Wie kann man das intuitiv Berechenbare formal fassen?

Wir suchen Antworten auf die folgenden Fragen: Was ist Berechenbarkeit? Wie kann man das intuitiv Berechenbare formal fassen? Einige Fragen Ziel: Wir suchen Antworten auf die folgenden Fragen: Wie kann man das intuitiv Berechenbare formal fassen? Was ist ein Algorithmus? Welche Indizien hat man dafür, dass ein formaler Algorithmenbegriff

Mehr

1 Automatentheorie und Formale Sprachen

1 Automatentheorie und Formale Sprachen Sanders: TGI October 29, 2015 1 1 Automatentheorie und Formale Sprachen 1.1 Allgemeines Sanders: TGI October 29, 2015 2 Beispiel: Arithmetische Ausdrücke:EXPR Σ={1,a,+,,,(,)} a ist Platzhalter für Konstanten

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 11 15. Juli 2010 Einführung in die Theoretische

Mehr

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

Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive Grammatik G mit L(G) = L(G ). Beweis im Beispiel (2.): G = (V,Σ, P, S) : P = {S asbc, S abc, CB BC, ab ab, bb bb, bc bc, cc cc}. (i) G

Mehr

Die Prädikatenlogik erster Stufe: Syntax und Semantik

Die Prädikatenlogik erster Stufe: Syntax und Semantik Die Prädikatenlogik erster Stufe: Syntax und Semantik 1 Mathematische Strukturen und deren Typen Definition 1.1 Eine Struktur A ist ein 4-Tupel A = (A; (R A i i I); (f A j j J); (c A k k K)) wobei I, J,

Mehr

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

Formalismen für REG. Formale Grundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen. Das Pumping Lemma. Abschlusseigenschaften Formalismen für RE Formale rundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen Frank Heitmann heitmann@informatik.uni-hamburg.de Satz Zu jeder regulären Sprache L gibt es einen DFA A mit L(A) =

Mehr

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

FORMALE SYSTEME. Sprachen beschreiben. Wiederholung. Wie kann man Sprachen beschreiben? 2. Vorlesung: Grammatiken und die Chomsky-Hierarchie Wiederholung FORMALE SYSTEME 2. Vorlesung: Grammatiken und die Chomsky-Hierarchie Markus Krötzsch Formale Sprachen sind in Praxis und Theorie sehr wichtig Ein Alphabet ist eine nichtleere, endliche Menge

Mehr

Beweistechnik: Beweise in Bezug auf Mengen. Formale Methoden 2 LVA , Beweistechnik: Widerspruchsbeweise. Satz R (S T ) = (R S) (R T )

Beweistechnik: Beweise in Bezug auf Mengen. Formale Methoden 2 LVA , Beweistechnik: Widerspruchsbeweise. Satz R (S T ) = (R S) (R T ) Formale Methoden 2 LVA 703019, 703020 (http://clinformatik.uibk.ac.at/teaching/ss06/fmii/) Georg Moser (VO) 1 Martin Korp (UE) 2 Friedrich Neurauter (UE) 3 Christian Vogt (UE) 4 1 georg.moser@uibk.ac.at

Mehr

Kapitel 1. Grundlagen Mengen

Kapitel 1. Grundlagen Mengen Kapitel 1. Grundlagen 1.1. Mengen Georg Cantor 1895 Eine Menge ist die Zusammenfassung bestimmter, wohlunterschiedener Objekte unserer Anschauung oder unseres Denkens, wobei von jedem dieser Objekte eindeutig

Mehr

11. Übung Formale Grundlagen der Informatik

11. Übung Formale Grundlagen der Informatik Institut für Informatik der Universität Zürich Sommersemester 2002 11. Übung Formale Grundlagen der Informatik Norbert E. Fuchs (fuchs@ifi.unizh.ch) Verantwortlicher Assistent Bruno Nietlispach (nietli@ifi.unizh.ch)

Mehr