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

Größe: px
Ab Seite anzeigen:

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

Transkript

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

2 Teil 4: Formale Sprachen

3 1 Motivation 2 Rechtsreguläre Grammatiken 3 Exkurs: Abgeschlossenheit 4 Strukturelle Induktion

4 FM2 (WS 2014/15, Geck) 3 Formale Sprachen / Motivation Motivation (1/3) In der Berechenbarkeitstheorie und der Komplexitätstheorie werden algorithmische Probleme untersucht, hinsichtlich ihrer Lösbarkeit überhaupt sowie der zur Lösung benötigten Ressourcen (Zeit, Platz,... ); wobei die algorithmischen Probleme oftmals recht abstrakt modelliert werden, als formale Sprachen. Definition 1.1 (Formale Sprache) Eine (formale) Sprache ist eine Menge L Σ von Wörtern über einem Alphabet Σ. Hier: Probleme, die nach Ja/Nein-Antwort fragen (entsprechen der Sprache, die genau die Ja-Antworten enthält) GTI: Zusammenhang mit Problemen, die nach einfachen Werten (Zeichen, Zahlen,... ) und komplexen Werten (Abbildung, Mengen,... ) fragen

5 FM2 (WS 2014/15, Geck) 4 Formale Sprachen / Motivation Motivation (2/3) Zusammenhang zwischen algorithmischem Problem und formaler Sprache konkret: Beispiel 1.2 Algorithmisches Problem: Name: ExistsPrimeBetweenG Eingabe: Zahlen n 1 N 0 und n 2 N 0 mit n 1 n 2 Frage: Gibt es eine Primzahl p mit n 1 p n 2? Ein Algorithmus, der das Problem ExistsPrimeBetweenG entscheidet, muss etwa bei Eingabe n 1 = 15 und n 2 = 18 die Antwort ja zurückgeben; bei Eingabe n 1 = 90 und n 2 = 95 die Antwort nein zurückgeben. Modellierung als formale Sprache: Alphabet: Σ = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, #} Eingaben: Kodiere (n 1, n 2 ) N 0 N 0 als Wort base 10 (n 1 )#base 10 (n 2 ) Also: ExistsPrimeBetweenG = {2#2, 2#3, 2#4,..., 3#3, 3#4,..., 4#5,..., 9#11, 9#12,... }

6 Formale Sprachen / Motivation Motivation (3/3) Hinweis: Fortan werden wir Problem und (formale) Sprache synonym gebrauchen. Ja/Nein-Probleme können nach der Gültigkeit von Eingaben fragen: Benutzereingaben, repräsentiert eine Zeichenkette: eine Zahl, eine -Adresse, eine URL, ein Zeitangabe,...? Quellcode:... Fragen: kompilierbarer Java-Code kompilierbarer Java-Code mit Eigenschaften: Programm hält für jede Eingabe nach spätestens 10 Minuten Programm hält für jede Eingabe irgendwann... 1 Wie können gültige Eingaben beschrieben werden? 2 Wie kann eine Eingabe auf Gültigkeit überprüft werden? Fakt: Die Antwort hängt von der Komplexität des Problems (der Sprache) ab! FM2 (WS 2014/15, Geck) 5

7 1 Motivation 2 Rechtsreguläre Grammatiken Korrektheit und Vollständigkeit 3 Exkurs: Abgeschlossenheit 4 Strukturelle Induktion

8 FM2 (WS 2014/15, Geck) 7 Formale Sprachen / Rechtsreguläre Grammatiken Rechtsreguläre Grammatiken Wir betrachten zunächst Punkt 1 für eine einfache Klasse von Sprachen. Ziel: Beschreibung aller Wörter über Σ = {a, b, c} mit einer geraden Anzahl von b, etwa bcc, baa, aaaacaa,... Beobachtung: Es gibt unendlich viele solche Bezeichner (Aufzählen zwecklos). Wunsch: Formalismus zur (einfachen) Beschreibung dieser Bezeichner. Definition 2.1 Eine rechtsreguläre Grammatik ist ein Quadrupel (V, Σ, P, S), bestehend aus einer Menge V von Variablen, einem Alphabet Σ, einer Menge P von Produktionen und einer ausgezeichneten Variable S V, dem Startsymbol. Jede Produktion p P ist von der Form X ε oder X σ oder X σy, für Variablen X, Y V und ein Zeichen σ Σ.

9 FM2 (WS 2014/15, Geck) 8 Formale Sprachen / Rechtsreguläre Grammatiken Rechtsreguläre Grammatiken: Beispiel Definition 2.2 Sei w ein Wort über einem Alphabet Σ und σ ein Zeichen aus Σ. Die Abbildung # σ : Σ N 0 bildet jedes Wort w Σ auf die Anzahl der Vorkommen des Zeichens σ in w ab. Die Sprache aller Wörter über {a, b, c} mit gerader Anzahl von b lässt sich schreiben als: Beispiel 2.3 L 2b = { w {a, b, c} # b (w) mod 2 = 0 }. Wir definieren eine Grammatik G 2b = ({X 0, X 1 }, {a, b, c}, P, X 0 ) mit Produktionen oder kurz: p 1 : X 0 ε p 2 : X 0 ax 0 p 3 : X 0 bx 1 p 4 : X 0 cx 0 p 5 : X 1 ax 1 p 6 : X 1 bx 0 p 7 : X 1 cx 1 X 0 ε ax 0 bx 1 cx 0 X 1 ax 1 bx 0 cx 1

10 FM2 (WS 2014/15, Geck) 9 Formale Sprachen / Rechtsreguläre Grammatiken Rechtsreguläre Grammatiken: Semantik (1/2) Frage: Welche Sprache beschreibt die Grammatik G 2b? Intuitiv: Die Menge aller Wörter, die sich vom Startsymbol X 0 aus ableiten lassen. Definition 2.4 (Ableitungsschritt) Sei G = (V, Σ, P, S) eine rechtsreguläre Grammatik. Ein Ableitungschritt von wx nach wρ mit einem Wort w Σ, einer Variable X und einer Satzform ρ {ε} Σ ( Σ V ) liegt vor, falls es eine Produktion X ρ in P gibt. Wir schreiben dann: wx G Beispiel 2.5 wρ. Für die Grammatik G 2b mit Produktionen X 0 ε ax 0 bx 1 cx 0 X 1 ax 1 bx 0 cx 1 gibt es beispielsweise die folgenden Ableitungsschritte: ccax 0 ccabx 1, wegen X 0 bx 1 ; bax 0 baε = ba, wegen X 0 ε.

11 FM2 (WS 2014/15, Geck) 10 Formale Sprachen / Rechtsreguläre Grammatiken Rechtsreguläre Grammatiken: Semantik (2/2) Definition 2.6 (Ableitung) Sei G = (V, Σ, P, S) eine rechtsreguläre Grammatik. Eine Ableitung (der Länge n) ist eine Folge α 0,..., α n mit α i 1 G α i für alle i {1,..., n}. Wir schreiben dann α 0 n α n und allgemeiner G α G α für eine Ableitung beliebiger Länge von α nach α. Beispiel 2.7 Für die Grammatik G 2b mit Produktionen X 0 ε ax 0 bx 1 cx 0 X 1 ax 1 bx 0 cx 1 gilt etwa ax 0 abx 1 abcx 1 abcbx 0 abcb, also ax 0 4 abcb und insbesondere ax 0 abcb. Definition 2.8 Sei G = (V, Σ, P, S) eine rechtsreguläre Grammatik und X eine Variable aus V. Die von der Variablen X erzeugte Sprache L(X) ist die Menge {w Σ X G w}. Die von der Grammatik G erzeugte Sprache L(G) ist die vom Startsymbol erzeugte Sprache L(S).

12 FM2 (WS 2014/15, Geck) 11 Formale Sprachen / Rechtsreguläre Grammatiken Rechtsreguläre Grammatiken: Aufgaben Aufgabe Zeige, dass das Wort baca in der von G 2b erzeugten Sprache ist. Zeige, dass das Wort bac nicht in der von G 2b erzeugten Sprache ist. Aufgabe Konstruiere eine Grammatik, die alle Wörter über dem Alphabet {a, b, c, d} beschreibt, die Frage mit einem a beginnen, mit einem d enden und ungerade viele c besitzen. Wie kann man beweisen, dass die Grammatik G 2b wirklich die Sprache L 2b beschreibt, dass also L(G 2b ) = L 2b gilt?

13 FM2 (WS 2014/15, Geck) 12 Formale Sprachen / Rechtsreguläre Grammatiken Korrektheit und Vollständigkeit Eine Grammatik G = (V, Σ, P, S) wird mit dem Ziel erstellt, eine gegebene Sprache L zu beschreiben. Frage: Wie lässt sich sicherstellen, dass die Grammatik richtig ist, also L(G) = L gilt? Antwort: Die formale Modellierung (Syntax und Semantik) erlaubt das Führen eines formalen Beweises. Diese Mengengleichheit umfasst zwei Aspekte: Korrektheit der Grammatik (L(G) L): Jedes Wort w Σ mit w L(G) ist auch in der Sprache L enthalten. (d. h. jedes Wort, das sich in der Grammatik G ableiten lässt) Vollständigkeit der Grammatik (L L(G)): Jedes Wort w Σ mit w L (d. h. jedes Wort, das in der Sprache L enthalten ist) lässt sich in G ableiten; es gilt also w L(G).

14 FM2 (WS 2014/15, Geck) 13 Formale Sprachen / Rechtsreguläre Grammatiken Korrektheit und Vollständigkeit: Beispiel Wir schauen uns das Prinzip an einem einfachen Beispiel an. Beispiel 2.9 Die Sprache L 3 soll alle durch 3 teilbaren natürlichen Zahlen in Binärkodierung enthalten: L 3 = b n 1... b 0 {0, 1} n n 1 n N 0, 2 i b i 3 0. i=0 Wir behaupten, dass die folgende Grammatik G 3 = ({R 0, R 1, R 2 }, {0, 1}, P, R 0 ) mit P: die Sprache L 3 beschreibt. R 0 0R 0 1R 1 ε R 1 0R 2 1R 0 R 2 0R 1 1R 2 Korrektheit (L(G 3 ) L 3 ): Oft: Beweis durch vollständige Induktion nach der Ableitungslänge. Vollständigkeit (L 3 L(G 3 )): Oft: Beweis durch vollständige Induktion nach der Länge des Wortes.

15 FM2 (WS 2014/15, Geck) 14 Formale Sprachen / Rechtsreguläre Grammatiken Korrektheit L(G 3 ) L 3 : Beispielbeweis (1/2) Sei w L(G 3 ). Es gelte also R 0 n w für ein n N. Der Fall w = ε ist klar. Deshalb im Folgenden: w = σ 1... σ n 1 für n N. Beobachtung: In den Produktionen R 0 0R 0 1R 1 ε R 1 0R 2 1R 0 R 2 0R 1 1R 2 ist die Regel R i σr j genau dann enthalten, wenn 2i + σ 3 j. Lemma 2.10 Seien u, w {0, 1} beliebige Wörter mit bin(u) 3 i. Gilt ur i n uwr j, dann ist bin(uw) 3 j. Damit: Aus R 0 n+1 w folgt bin(w) 3 0, denn die Ableitung endet durch Anwendung von R 0 ε: R 0 n wr 0 wε = w. Wir wählen u = ε, i = 0 und j = 0: R 0 =ur i wr j wε = w. Wegen bin(u) = bin(ε) 3 0 = i folgt mit dem Lemma: bin(uw) = bin(εw) = bin(ε) 3 j = 0, Insgesamt also w L 3.

16 FM2 (WS 2014/15, Geck) 15 Formale Sprachen / Rechtsreguläre Grammatiken Korrektheit L(G 3 ) L 3 : Beispielbeweis (2/2) Beweis von Lemma 2.10 Beweis durch vollständige Induktion nach der Länge n der Ableitung ur i n uwr j. Induktionsanfang (n = 1): Klar: Ein Zeichen b {0, 1} wird erzeugt: ur i ubr j. Insbesondere: R i br j, also (R i br j ) P. Nach Beobachtung: 2i + b 3 j. Aus bin(u) 3 i folgt dann: bin(ub) 3 2 bin(u) + b 2i + b = j. Induktionsschritt (n n + 1): Es gilt: ur i n+1 ub n+1... b 2 b 1 R j. Also: ur i n ub n+1... b 2 R k ub n+1... b 2 b 1 R j. Insbesondere: 1 ur i n ub n+1... b 2 R k und nach Induktionsvoraussetzung: bin(ub n+1... b 2 ) 3 k. 2 R k b 1 R j und nach Beobachtung: 2k + b 1 3 j. Zusammen: bin(ub n+1... b 1 ) 3 2bin(ub n+1... b 2 ) + b 1 2k + b 1 j.

17 FM2 (WS 2014/15, Geck) 16 Formale Sprachen / Rechtsreguläre Grammatiken Vollständigkeit L 3 L(G 3 ): Beispielbeweis Sei w L 3 beliebig. Falls w = ε, dann gilt offenbar R 0 ε = w, also w L(G 3 ). Andernfalls gilt w = b n 1... b 0 für n N mit bin(b n 1... b 0 ) 3 0. Lemma 2.11 Sei w {0, 1} beliebig. Gilt bin(w) 3 j, so auch R 0 wr j. Aufgabe Zeige, dass sich aus dieser Hilfsaussage die Vollständigkeit der Grammatik ergibt. Beweise das Lemma durch vollständige Induktion nach der Länge des Wortes.

18 1 Motivation 2 Rechtsreguläre Grammatiken 3 Exkurs: Abgeschlossenheit 4 Strukturelle Induktion

19 FM2 (WS 2014/15, Geck) 18 Formale Sprachen / Exkurs: Abgeschlossenheit Motivation/Definition Für Modellierung wünschenswert: komplexere Modelle aus einfachen Modellen konstruieren (idealerweise automatisch berechnen lassen) durch Verwendung von Operatoren Wir betrachten nachher: Operatoren auf Sprachen zunächst: Operatoren auf Zahlen und Abbildungen Definition 3.1 (Abgeschlossenheit) Sei ein n-stelliger Operator auf einer Menge X (also : X n X). Eine Teilmenge Y X heißt abgeschlossen bezüglich, falls (y 1,..., y n ) Y für alle y 1,..., y n Y gilt.

20 Formale Sprachen / Exkurs: Abgeschlossenheit FM2 (WS 2014/15, Geck) 19 Beispiel: Zahlenbereiche Wir betrachten binäre Operatoren auf der Menge R aller reellen Zahlen: die Addition + : R R R die Subtraktion : R R R die Division : R R R Beispiel 3.2 (Natürliche Zahlen) Die Menge N 0 der natürlichen Zahlen ist unter der Addition abgeschlossen: für alle n 1, n 2 N 0 gilt (n 1 + n 2 ) N 0. ist nicht unter der Subtraktion abgeschlossen: für 3, 8 N 0 gilt beispielsweise (3 8) = 5 N 0. Beispiel 3.3 (Ganze Zahlen) Die Menge Z der ganzen Zahlen ist unter Subtraktion abgeschlossen: für alle z 1, z 2 Z gilt (z 1 z 2 ) Z. ist nicht unter Division abgeschlossen: für 3, 2 Z gilt beispielsweise (3 2) = 1, 5 Z.

21 Formale Sprachen / Exkurs: Abgeschlossenheit FM2 (WS 2014/15, Geck) 20 Beispiel: Funktionen Wir betrachten die Mengen F (R) = {f : R R} aller Funktionen (Argument x R, Wert f (x) R) P(R) = {p : R R p ist ein Polynom} F (R) aller Polynome. mit den Operatoren : F (R) F (R) F (R), wobei für f = f 1 f 2 für alle x R gilt: f (x) = f 1 (x) + f 2 (x). : F (R) F (R) F (R), wobei für f = f 1 f 2 für alle x R gilt: f (x) = f 1(x) f 2 (x). Beispiel 3.4 Die Menge P(R) der Polynome Aufgabe ist unter Addition abgeschlossen: für alle p 1, p 2 P(R) gibt es ein p P(R), sodass p = p 1 p 2. ist nicht unter Division abgeschlossen: für p 1 (x) = x und p 2 (x) = x beispielsweise gilt (p 1 p 2 ) P(R) Zeige, dass Polynome unter Addition abgeschlossen sind.

22 Formale Sprachen / Exkurs: Abgeschlossenheit FM2 (WS 2014/15, Geck) 21 Beispiel: Sprachen (1/2) Zur Erinnerung: Sprachen sind Mengen von Wörtern. Wir bezeichnen mit L all = {L Σ es gibt ein Alphabet Σ} die Klasse der (formalen) Sprachen; L rr = {L Σ es gibt eine rechtsreguläre Grammatik G mit L(G) = L} die Klasse der regulären Sprachen; L fin = {L Σ n es gibt ein n N 0 } die Klasse der endlichen Sprachen. Lemma 3.5 Es gilt L fin L rr L all. Klar: L rr L all GTI: L rr L all Frage Warum gilt L fin L rr?

23 FM2 (WS 2014/15, Geck) 22 Formale Sprachen / Exkurs: Abgeschlossenheit Beispiel: Sprachen (2/2) Wir betrachten die Menge L all aller formalen Sprachen und die Operatoren: Vereinigung : L all L all L all Schnittbildung : L all L all L all Wiederholung : L all L all mit L = {w 1 w n es gibt ein n N 0 und w 1,..., w n L} Beispiel 3.6 Die Klasse L fin der endlichen Sprachen ist abgeschlossen unter Vereinigung und Schnitt: für alle L 1, L 2 L fin gilt (L 1 L 2 ), (L 1 L 2 ) L fin. ist nicht abgeschlossen unter Wiederholung: für L = {a} L fin beispielsweise gilt L = {a n n N 0 } L fin.

24 1 Motivation 2 Rechtsreguläre Grammatiken 3 Exkurs: Abgeschlossenheit 4 Strukturelle Induktion

25 FM2 (WS 2014/15, Geck) 24 Formale Sprachen / Strukturelle Induktion Strukturelle Induktion: Prinzip Ziel: Beweise eine Aussage ϕ(α) für alle Objekte α einer induktiv definierten Menge Mittel: 1 Beweise die Aussage für alle Basisobjekte (Induktionsanfang) 2 Beweise, dass wenn die Aussage für Objekte α 1,..., α n gilt, sie auch für die aus α 1,..., α n zusammengesetzten Objekte gilt Dabei muss jeder Operator betrachtet werden! (Induktionsschluss)

26 FM2 (WS 2014/15, Geck) 25 Formale Sprachen / Strukturelle Induktion Strukturelle Induktion: Beispiel Syntax-/Semantikdefinition von 01-Ausdrücken Definition 4.1 (01-Ausdrücke, Syntax) Die Menge A der 01-Ausdrücke ist die kleinste Menge, mit den folgenden Eigenschaften: Basisausdrücke: 0 A, 1 A (Zeichen 0,1) komplexe Ausdrücke: für alle β, γ A ist auch (β + γ) A für alle β, γ A ist auch (β γ) A Definition 4.2 (01-Ausdrücke, Semantik) Die Sprache L(α) eines 01-Ausdrucks α A ist induktiv definiert durch: Basisausdrücke: L(0) = {0}, L(1) = {1} komplexe Ausdrücke: Anmerkungen: L(β + γ) = L(β) L(γ) L(β γ) = L(β) L(γ) Dabei ist für Sprachen L 1, L 2 Σ definiert: L = L 1 L 2 = {u v u L 1, v L 2 }. (Auswahl) (Konkatenation) Die Sprache eines 01-Ausdrucks α ist eine Sprache über dem Alphabet Σ = {0, 1} (L(α) {0, 1} ).

27 Formale Sprachen / Strukturelle Induktion FM2 (WS 2014/15, Geck) 26 Strukturelle Induktion: Beispiel Auswertung von 01-Ausdrücken Definition 4.3 (zur Erinnerung) Die Sprache L(α) eines 01-Ausdrucks α ist induktiv definiert durch: Basisausdrücke: L(0) = {0}, L(1) = {1} komplexe Ausdrücke: L(β + γ) = L(β) L(γ), L(β γ) = L(β) L(γ) Beispiel 4.4 (Auswertung) L 1 = L ( ) = {0, 1} L 2 = L ( 1 0 ) = {10} L 3 = L ( 1 (0 + 1) ) = {10, 11} L 4 = L ( (0 1) (0 + 1) ) = {010, 011} Definition 4.5 Für eine Sprache L Σ ist die Sprache L R = {w R w L}. Beispiele 4.6 ( {01, 11} ) R = {10, 11}; ( {001, , 10, 01} ) R = {100, , 01, 10}

28 Formale Sprachen / Strukturelle Induktion FM2 (WS 2014/15, Geck) 27 Strukturelle Induktion: Beispiel Rekursive Definition Satz 4.7 Zu jedem 01-Ausdruck α existiert ein 01-Ausdruck α, sodass L(α ) = ( L(α) ) R gilt. Beweisidee (konstruktiv) Wir definieren eine Transformation τ : A A rekursiv: Basisausdrücke: τ(0) = 0, τ(1) = 1 komplexe Ausdrücke: τ(β + γ) = τ(β) + τ(γ) τ(β γ) = τ(γ) τ(β) Behauptung: Für α := τ(α) gilt dann die Gleichung. (vertausche Reihenfolge der Operanden) Aufgabe Bestimme den Ausdruck α = τ ( (0 1) (0 + 1) ). Bestimme die Sprache L(α ).

29 Formale Sprachen / Strukturelle Induktion FM2 (WS 2014/15, Geck) 28 Strukturelle Induktion: Beispiel Korrektheitsbeweis (1/2): ( L(α) )R L ( τ(α) ) Ziel: Beweise Behauptung, also sowohl ( L(α) )R L ( τ(α) ) als auch L ( τ(α) ) ( L(α) ) R (hier) (Übungsaufgabe) Korrektheitsbeweis (Induktionsanfang) Wir beweisen ( L(α) )R L ( τ(α) ) für einen beliebigen Ausdruck α A durch strukturelle Induktion. Induktionsanfang (hier trivial): Sei α = 0, dann ist α = τ(α) = τ(0) = 0 und ( L(α) )R ( L(0) )R {0 R } {0} L(α). Analog für α = 1.

30 FM2 (WS 2014/15, Geck) 29 Formale Sprachen / Strukturelle Induktion Strukturelle Induktion: Beispiel Korrektheitsbeweis (2/2): ( L(α) )R L ( τ(α) ) Korrektheitsbeweis (Induktionsschritt) Induktionsschluss für α = β γ: Wir zeigen ( L(α) )R L ( τ(α) ) unter der Induktionsvoraussetzung ( L(β) )R L ( τ(β) ) und ( L(γ) )R L ( τ(γ) ) Dazu zeigen wir für beliebiges w ( L(α) ) R, dass auch w L ( τ(α) ) gilt: w = w 1... w n für n N und w 1,..., w n {0, 1} w = w 1... w n ( L(β γ )) R (α = β γ) w R = w n... w 1 L(β γ) (Def. Rückwärtsoperator) w n... w i+1 L(β) und w i... w 1 L(γ) für ein i {1,..., n} (Def. Konkatenation) w i+1... w n ( L(β) ) R und w1... w i ( L(γ) ) R (Def. Rückwärtsoperator) w i+1... w n L ( τ(β) ) und w 1... w i L ( τ(γ) ) (Induktionsvoraussetzung) w = (w 1... w i ) (w i+1... w n ) L ( τ(γ) ) L ( τ(β) ) (Def. Konkatenation) Wegen L ( τ(γ) ) L ( τ(β) ) = L ( τ(γ) τ(β) ) = L ( τ(β γ) ) = L ( τ(α) ) folgt daraus das Enthaltensein. Induktionsschluss für α = β + γ: Einfach (Übung).

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

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2014/2015 Formale Methoden 2 Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2014/2015 1 Mengen 2 Relationen 3 Abbildungen 4 Algebraische Strukturen Verknüpfungen Monoide Beispiel: Restklassen Exkurs: Formale

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

Kapitel 2: Formale Sprachen Gliederung

Kapitel 2: Formale Sprachen Gliederung Gliederung. Einleitung und Grundbegriffe. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.. Chomsky-Grammatiken 2.2. Reguläre Sprachen Reguläre Grammatiken, ND-Automaten

Mehr

ist ein regulärer Ausdruck.

ist ein regulärer Ausdruck. Dr. Sebastian Bab WiSe 12/13 Theoretische Grlagen der Informatik für TI Termin: VL 11 vom 22.11.2012 Reguläre Ausdrücke Reguläre Ausdrücke sind eine lesbarere Notation für Sprachen Denition 1 (Regulärer

Mehr

Ein Fragment von Pascal

Ein Fragment von Pascal Ein Fragment von Pascal Wir beschreiben einen (allerdings sehr kleinen) Ausschnitt von Pascal durch eine kontextfreie Grammatik. Wir benutzen das Alphabet Σ = {a,..., z, ;, :=, begin, end, while, do} und

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

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 2: Logik 1 Prädikatenlogik (Einleitung) 2 Aussagenlogik Motivation Grundlagen Eigenschaften Eigenschaften Normalformen

Mehr

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln, Theorie der Informatik 9. März 24 7. Reguläre Sprachen I Theorie der Informatik 7. Reguläre Sprachen I Malte Helmert Gabriele Röger Universität Basel 9. März 24 7. Reguläre Grammatiken 7.2 DFAs 7.3 NFAs

Mehr

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln, Theorie der Informatik 8. März 25 8. Reguläre Sprachen I Theorie der Informatik 8. Reguläre Sprachen I 8. Reguläre Grammatiken Malte Helmert Gabriele Röger 8.2 DFAs Universität Basel 8. März 25 8.3 NFAs

Mehr

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

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2014/2015 Formale Methoden 2 Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2014/2015 Teil 1: Mengenlehre 1 Mengen Einleitung Beschreibung und Beispiele Operationen Verhältnisse Kartesisches Produkt 2 Relationen

Mehr

Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie

Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie Gliederung. Grundbegriffe. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.. Chomsky-Grammatiken 2.2. Reguläre Sprachen (noch weiter) 2.3. Kontextfreie Sprachen 2/4,

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 4: Wörter (und vollständige Induktion) Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Oktober 2008 1/29 Überblick Wörter Wörter Das leere Wort Mehr zu

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

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 1: Wiederholung 1 Mengen 2 Abbildungen 3 Exkurs Beweistechniken 4 Relationen Definition Operationen Eigenschaften Äquivalenzrelationen

Mehr

Formale Sprachen und endliche Automaten

Formale Sprachen und endliche Automaten Formale Sprachen und endliche Automaten Formale Sprachen Definition: 1 (Alphabet) Ein Alphabet Σ ist eine endliche, nichtleere Menge von Zeichen oder Symbolen. Ein Wort über dem Alphabet Σ ist eine endliche

Mehr

Technische Universität München Sommer 2016 Prof. J. Esparza / Dr. M. Luttenberger, S. Sickert 2. Mai HA-Lösung. TA-Lösung

Technische Universität München Sommer 2016 Prof. J. Esparza / Dr. M. Luttenberger, S. Sickert 2. Mai HA-Lösung. TA-Lösung Technische Universität München Sommer 2016 Prof. J. Esparza / Dr. M. Luttenberger, S. Sickert 2. Mai 2016 HA-Lösung TA-Lösung Einführung in die theoretische Informatik Aufgabenblatt 2 Beachten Sie: Soweit

Mehr

Mächtigkeit von LOOP-Programmen. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen

Mächtigkeit von LOOP-Programmen. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen Mächtigkeit von LOOP-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 23 Die Programmiersprache LOOP Syntax Elemente eines LOOP-Programms Variablen

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

Institut für Analysis WiSe 2018/2019 Prof. Dr. Dirk Hundertmark Dr. Markus Lange. Analysis 1. Aufgabenzettel 4

Institut für Analysis WiSe 2018/2019 Prof. Dr. Dirk Hundertmark Dr. Markus Lange. Analysis 1. Aufgabenzettel 4 Institut für Analysis WiSe 2018/2019 Prof. Dr. Dirk Hundertmark 08.11.2018 Dr. Markus Lange Analysis 1 Aufgabenzettel 4 Abgabe bis 14. November 2018, 19:00 Uhr Erinnerung: Die Anmeldung für den Übungsschein

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

Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie

Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie Gliederung 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.1. 2.2. Reguläre Sprachen 2.3. Kontextfreie Sprachen 2/1, Folie 1 2015 Prof. Steffen

Mehr

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

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 Kap. 2: Endliche Automaten Myhill Nerode 2.4 Minimalautomat für reguläre Sprache Abschnitt 2.4.3 L Σ regulär der Äuivalenzklassen-Automat zu L ist ein DFA mit minimaler Zustandszahl (= index( L )) unter

Mehr

Satz (Abschluß unter der Stern-Operation)

Satz (Abschluß unter der Stern-Operation) Satz (Abschluß unter der Stern-Operation) Wenn L eine reguläre Sprache ist, dann ist auch L regulär. Beweis: Es gibt einen NFA M = (Z, Σ, S, δ, S, E) mit L(M) = L. Wir bauen aus diesem NFA nun wie folgt

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

Formale Methoden 1. Gerhard Jäger 16. Januar Uni Bielefeld, WS 2007/2008 1/19

Formale Methoden 1. Gerhard Jäger 16. Januar Uni Bielefeld, WS 2007/2008 1/19 1/19 Formale Methoden 1 Gerhard Jäger Gerhard.Jaeger@uni-bielefeld.de Uni Bielefeld, WS 2007/2008 16. Januar 2008 2/19 Reguläre Ausdrücke vierte Art (neben Typ-3-Grammatiken, deterministischen und nicht-deterministischen

Mehr

Nachklausur zur Vorlesung

Nachklausur zur Vorlesung Lehrstuhl für Theoretische Informatik Prof. Dr. Markus Lohrey Grundlagen der Theoretischen Informatik Nachklausur Nachklausur zur Vorlesung Grundlagen der Theoretischen Informatik WS 2016/17 / 27. Februar

Mehr

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

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, Reguläre Sprachen Reguläre Sprachen (Typ-3-Sprachen) haben große Bedeutung in Textverarbeitung und Programmierung (z.b. lexikalische Analyse) besitzen für viele Entscheidungsprobleme effiziente Algorithmen

Mehr

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

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 7 Vorlesung Theoretische Grundlagen der Informatik im W 16/17 Ausgabe 17. Januar 2017 Abgabe 31. Januar 2017, 11:00 Uhr (im

Mehr

Mengenlehre und vollständige Induktion

Mengenlehre und vollständige Induktion Fachschaft MathPhys Heidelberg Mengenlehre und vollständige Induktion Vladislav Olkhovskiy Vorkurs 018 Inhaltsverzeichnis 1 Motivation 1 Mengen.1 Grundbegriffe.................................. Kostruktionen

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

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

Vorkurs Mathematik und Informatik Mengen, natürliche Zahlen, Induktion

Vorkurs Mathematik und Informatik Mengen, natürliche Zahlen, Induktion Vorkurs Mathematik und Informatik Mengen, natürliche Zahlen, Induktion Saskia Klaus 07.10.016 1 Motivation In den ersten beiden Vorträgen des Vorkurses haben wir gesehen, wie man aus schon bekannten Wahrheiten

Mehr

Berechenbarkeitstheorie 1. Vorlesung

Berechenbarkeitstheorie 1. Vorlesung Berechenbarkeitstheorie Dr. Institut für Mathematische Logik und Grundlagenforschung WWU Münster WS 15/16 Alle Folien unter Creative Commons Attribution-NonCommercial 3.0 Unported Lizenz. Zentrale Themen

Mehr

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

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 7 Vorlesung Theoretische Grundlagen der Informatik im W 16/17 Ausgabe 17. Januar 2017 Abgabe 31. Januar 2017, 11:00 Uhr (im

Mehr

Einführung in die Informatik 2

Einführung in die Informatik 2 Einführung in die Informatik Strukturelle Induktion Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 0 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 1:30-14:00 Uhr, o.n.v.

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2010/2011 1/47 Was kann

Mehr

Theoretische Informatik. Alphabete, Worte, Sprachen

Theoretische Informatik. Alphabete, Worte, Sprachen Theoretische Informatik Alphabete, Worte, Sprachen Alphabete, Worte, Sprachen 1. Alphabete und Worte Definitionen, Beispiele Operationen mit Worten Induktionsbeweise 2. Sprachen Definition und Beispiele

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

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

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

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

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Übung am 4.2.2011 INSTITUT FÜR THEORETISCHE INFORMATIK 0 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Maximilian Haslbeck Fabian Mitterwallner Georg Moser David Obwaller cbr.uibk.ac.at Zusammenfassung der letzten LVA Definition Eine Grammatik G ist ein Quadrupel

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

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Kapitel 19: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik

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

Grundbegriffe der Informatik Tutorium 2

Grundbegriffe der Informatik Tutorium 2 Grundbegriffe der Informatik Tutorium 2 Tutorium Nr. 16 Philipp Oppermann 9. November 2014 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum

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

Vollständige Induktion

Vollständige Induktion Angenommen, wir wollen zeigen, dass eine Aussage P(n) für alle n N wahr ist. Anders ausgedrückt: Es gilt n N : P(n) Hierzu können wir die Technik der vollständigen Induktion verwenden. Wir zeigen, dass

Mehr

Theoretische Grundlagen der Informatik. Vorlesung am 17. Januar INSTITUT FÜR THEORETISCHE INFORMATIK

Theoretische Grundlagen der Informatik. Vorlesung am 17. Januar INSTITUT FÜR THEORETISCHE INFORMATIK Theoretische Grundlagen der Informatik 0 17.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Evaluation Ergebnisse

Mehr

Übungen zu Grundlagen der Theoretischen Informatik

Übungen zu Grundlagen der Theoretischen Informatik Übungen zu Grundlagen der Theoretischen Informatik INSTITUT FÜR INFORMATIK UNIVERSITÄT KOBLENZ-LANDAU SS 2013 Lösungen 02 Aufgabe 1 Geben Sie einen regulären Ausdruck für die Sprache aller Wörter über

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

Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ.

Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ. Reguläre Ausdrücke Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (i) ist ein regulärer Ausdruck über Σ. (ii) ε ist ein regulärer Ausdruck über Σ. (iii) Für jedes a Σ ist a ein regulärer

Mehr

Grundlagen der theoretischen Informatik

Grundlagen der theoretischen Informatik Grundlagen der theoretischen Informatik Kurt Sieber Fakultät IV, Department ETI Universität Siegen SS 2013 Vorlesung vom 09.04.2013 Inhalt der Vorlesung Teil I: Automaten und formale Sprachen (Kurt Sieber)

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

ist (oder besser Abspalten von Linearfaktoren beschäftigen. Zu einem beliebigen Körper K betrachten wir die Menge (j,k) N N j+k=n

ist (oder besser Abspalten von Linearfaktoren beschäftigen. Zu einem beliebigen Körper K betrachten wir die Menge (j,k) N N j+k=n 8. Polynomringe Das Umgehen mit Polynomen, d.h. mit Ausdrücken der Form a 0 + a 1 x + a 2 x 2 +... + a n x n ist aus der Schule vertraut, falls die Koeffizienten a 0,..., a n ganze oder rationale oder

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

Lösungen zum Ergänzungsblatt 2

Lösungen zum Ergänzungsblatt 2 Theoretische Informatik I WS 2018 Carlos Camino en zum Ergänzungsblatt 2 Hinweise: In der Literatur sind zwei verschiedene Definitionen der natürlichen Zahlen gängig. Während in der Mathematik-I-Vorlesung

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik echnische Universität München Fakultät für Informatik Prof. obias Nipkow, Ph.D. ascha öhme, Lars Noschinski ommersemester 2011 Lösungsblatt 5 6. Juni 2011 Einführung in die heoretische Informatik Hinweis:

Mehr

Beweisidee: 1 Verwende den Keller zur Simulation der Grammatik. Leite ein Wort. 2 Problem: der Keller darf nicht beliebig verwendet werden, man kann

Beweisidee: 1 Verwende den Keller zur Simulation der Grammatik. Leite ein Wort. 2 Problem: der Keller darf nicht beliebig verwendet werden, man kann Automaten und Formale prachen alias Theoretische Informatik ommersemester 2011 Dr. ander Bruggink Übungsleitung: Jan tückrath Wir beschäftigen uns ab jetzt einige Wochen mit kontextfreien prachen: Kontextfreie

Mehr

In diesem Kapitel bestimmen wir die multiplikative Struktur der Einheitengruppe (Z/Z) von Z/Z für eine beliebige positive Zahl Z >0.

In diesem Kapitel bestimmen wir die multiplikative Struktur der Einheitengruppe (Z/Z) von Z/Z für eine beliebige positive Zahl Z >0. Kapitel 5: Die Einheitengruppe von Z/Z und Primitivwurzeln modulo In diesem Kapitel bestimmen wir die multiplikative Struktur der Einheitengruppe (Z/Z) von Z/Z für eine beliebige positive Zahl Z >0. 16

Mehr

Tutorium 23 Grundbegriffe der Informatik

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

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

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

Unentscheidbarkeitssätze der Logik

Unentscheidbarkeitssätze der Logik Unentscheidbarkeitssätze der Logik Elmar Eder () Unentscheidbarkeitssätze der Logik 1 / 30 Die Zahlentheorie ist nicht formalisierbar Satz (Kurt Gödel) Zu jedem korrekten formalen System der Zahlentheorie

Mehr

Kapitel 1. Grundlegendes

Kapitel 1. Grundlegendes Kapitel 1 Grundlegendes Abschnitt 1.4 Vollständige Induktion Charakterisierung der natürlichen Zahlen Die Menge N 0 = {0, 1, 2, 3,...} der natürlichen Zahlen läßt sich wie folgt charakterisieren: 1. 0

Mehr

Aufgabensammlung Theo Inf I 1

Aufgabensammlung Theo Inf I 1 Aufgabensammlung Theo Inf I 1 1 Grundlagen Aufgabe 1.1 Bestimmen Sie w und w b für w = abacbba. Aufgabe 1.2 Bestimmen Sie alle a) Teilworte der Länge 3 b) Präfixe c) Suffixe des Wortes w = abacbba. Aufgabe

Mehr

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

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Ausgabe 10. Januar 2018 Abgabe 23. Januar 2018, 11:00 Uhr (im

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 18. Januar 2018 INSTITUT FÜR THEORETISCHE 0 18.01.2018 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität

Mehr

Induktion und Rekursion

Induktion und Rekursion Induktion und Rekursion Induktion und Rekursion Vorkurs Informatik Theoretischer Teil WS 013/14. Oktober 013 Vorkurs Informatik WS 013/14 1/1 Vollständige Induktion Vorkurs Informatik WS 013/14 /1 Ziel

Mehr

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

2.2 Reguläre Sprachen Endliche Automaten

2.2 Reguläre Sprachen Endliche Automaten 2.2.1 Endliche Automaten E I N G A B E Lesekopf endliche Kontrolle Signal für Endzustand Ein endlicher Automat liest ein Wort zeichenweise und akzeptiert oder verwirft. endlicher Automat Sprache der akzeptierten

Mehr

Grundbegriffe der Informatik Tutorium 2

Grundbegriffe der Informatik Tutorium 2 Grundbegriffe der Informatik Tutorium 2 Tutorium Nr. 32 Philipp Oppermann 13. November 2013 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum

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

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

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 18/19 Ausgabe 8. Januar 2019 Abgabe 22. Januar 2019, 11:00 Uhr (im

Mehr

Überblick. 3. Mathematische Grundlagen 3.1 Mengen und Abbildungen 3.2 Induktion und Rekursion 3.3 Boolsche Algebra

Überblick. 3. Mathematische Grundlagen 3.1 Mengen und Abbildungen 3.2 Induktion und Rekursion 3.3 Boolsche Algebra Überblick 3. Mathematische Grundlagen 3.1 Mengen und Abbildungen 3.2 3.3 Boolsche Algebra Peer Kröger (LMU München) Einführung in die Programmierung WS 14/15 72 / 179 Beweisprinzip der vollständigen Induktion

Mehr

Theoretische Informatik Mitschrift

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

Mehr

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

Reguläre Ausdrücke. Michael Jäger. 4. April 2017 Reguläre Ausdrücke Michael Jäger 4. April 2017 Zeichenketten und Sprachen Ein Alphabet ist eine endliche Menge von Symbolen. Beispiele: 1. Σ 1 = {0, 1} 2. Σ 2 = {a, b, c, d, e, f, g, h, i, j, k, l, m,

Mehr

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

Sprachanalyse. Fachseminar WS 08/09 Dozent: Prof. Dr. Helmut Weber Referentin: Nadia Douiri Sprachanalyse WS 08/09 Dozent: Prof. Dr. Helmut Weber Referentin: Inhalt 1. Formale Sprachen 2. Chomsky-Hierarchie 2 FORMALE SPRACHE 1. WAS IST EINE SPRACHE? 2. WIE BESCHREIBT MAN EINE SPRACHE? 3. WAS

Mehr

Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden kann.

Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden kann. Der Satz von Kleene Wir haben somit Folgendes bewiesen: Der Satz von Kleene Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden

Mehr

Theoretische Informatik

Theoretische Informatik Theoretische Informatik Prof. Meer, Dr. Gengler Aufgabenblatt 7 Besprechung in KW 48 / Abgabe in KW 49 Heften Sie unbedingt alle Blätter Ihrer Lösung zusammen und geben Sie oben auf dem ersten Blatt Ihren

Mehr

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012 Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1 Einschub: Kellerautomaten

Mehr

Endliche Automaten. δ : Z Σ Z die Überführungsfunktion, z 0 Z der Startzustand und F Z die Menge der Endzustände (Finalzustände).

Endliche Automaten. δ : Z Σ Z die Überführungsfunktion, z 0 Z der Startzustand und F Z die Menge der Endzustände (Finalzustände). Endliche Automaten Endliche Automaten Definition Ein deterministischer endlicher Automat (kurz DFA für deterministic finite automaton ) ist ein Quintupel M = (Σ, Z, δ, z 0, F), wobei Σ ein Alphabet ist,

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

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

Kurz-Skript zur Theoretischen Informatik I

Kurz-Skript zur Theoretischen Informatik I Kurz-Skript zur Theoretischen Informatik I Inhaltsverzeichnis 1 Grundlagen 2 2 Reguläre Ausdrücke 4 3 Endliche Automaten 5 3.1 Vollständige endliche Automaten................................... 6 3.2 ε

Mehr

Übungsblatt 1. Lorenz Leutgeb. 30. März 2015

Übungsblatt 1. Lorenz Leutgeb. 30. März 2015 Übungsblatt Lorenz Leutgeb 30. März 205 Aufgabe. Annahmen ohne Einschränkungen: P Σ und P Γ. Per Definitionem der Reduktion: P P 2 f : Σ Γ wobei f total und berechenbar, genau so, dass: w Σ : w P f(w)

Mehr

Hochschule Bonn-Rhein-Sieg University of Applied Sciences Grantham-Allee Sankt Augustin

Hochschule Bonn-Rhein-Sieg University of Applied Sciences Grantham-Allee Sankt Augustin Hochschule Bonn-Rhein-Sieg Uniersity of Applied Sciences Grantham-Allee 20 53757 Sankt Augustin Director b-it Applied Science Institute Fachbereich Informatik Prof. Dr. Kurt-Ulrich Witt Mathematische und

Mehr

Semi-Entscheidbarkeit und rekursive Aufzählbarkeit

Semi-Entscheidbarkeit und rekursive Aufzählbarkeit Semi-Entscheidbarkeit und rekursive Aufzählbarkeit Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 9. November 2009 Berthold Vöcking, Informatik 1 () Vorlesung

Mehr

15 R E G U L Ä R E AU S D R Ü C K E U N D R E C H T S L I N E A R E G R A M M AT I K E N

15 R E G U L Ä R E AU S D R Ü C K E U N D R E C H T S L I N E A R E G R A M M AT I K E N 15 R E G U L Ä R E AU S D R Ü C K E U N D R E C H T S L I N E A R E G R A M M AT I K E N Am Ende von Einheit 14 über endliche Automaten haben wir gesehen, dass manche formale Sprachen zwar von kontextfreien

Mehr

Affine Varietät. Definition Affine Varietät. Seien f 1,..., f m F[x 1,..., x n ] für einen Körper F. Wir bezeichnen

Affine Varietät. Definition Affine Varietät. Seien f 1,..., f m F[x 1,..., x n ] für einen Körper F. Wir bezeichnen Affine Varietät Definition Affine Varietät Seien f 1,..., f m F[x 1,..., x n ] für einen Körper F. Wir bezeichnen V(f 1,..., f m ) = {(a 1,..., a n ) F n f i (a 1,..., a n ) = 0 für i = 1,..., m} als die

Mehr

Übersichtsblatt Hertrampf/Bahrdt. 1 Mathematische Aussagen. Theoretische Informatik I WS2018/19

Übersichtsblatt Hertrampf/Bahrdt. 1 Mathematische Aussagen. Theoretische Informatik I WS2018/19 Theoretische Informatik I WS2018/19 Übersichtsblatt Hertrampf/Bahrdt Institut für Formale Methoden der Informatik Theoretische Informatik Universität Stuttgart 1 Mathematische Aussagen Um mathematische

Mehr

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

Lösungsvorschläge und Erläuterungen Klausur zur Vorlesung Grundbegriffe der Informatik 15. September 2016 Lösungsvorschläge und Erläuterungen Klausur zur Vorlesung Grundbegriffe der Informatik 15. September 2016 Klausurnummer Nachname: Vorname: Matr.-Nr.: Diese Klausur ist mein 1. Versuch 2. Versuch in GBI

Mehr

Ein Induktionsbeweis über Schuhgrößen

Ein Induktionsbeweis über Schuhgrößen Was ist FALSCH an folgendem Beweis? Behauptung: Ein Induktionsbeweis über Schuhgrößen Alle Teilnehmer dieser Vorlesung haben gleiche Schuhgröße. Wir formalisieren diese Aussage, um einen Induktionsbeweis

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

Informatik 3 Theoretische Informatik WS 2015/16

Informatik 3 Theoretische Informatik WS 2015/16 2. Probeklausur 22. Januar 2016 Informatik 3 Theoretische Informatik WS 2015/16 Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg Institut für Informatik Name: Matrikel-Nr.: Schreiben Sie Ihren

Mehr

Diskrete Strukturen Kapitel 2: Grundlagen (Mengen)

Diskrete Strukturen Kapitel 2: Grundlagen (Mengen) WS 2016/17 Diskrete Strukturen Kapitel 2: Grundlagen (Mengen) 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

Übung Grundbegriffe der Informatik

Übung Grundbegriffe der Informatik Übung Grundbegriffe der Informatik 15. und letzte Übung Karlsruher Institut für Technologie Matthias Janke, Gebäude 50.34, Raum 249 email: matthias.janke ät kit.edu Matthias Schulz, Gebäude 50.34, Raum

Mehr

Eine Chomsky-Grammatik für die Fibonacci-Zahlen

Eine Chomsky-Grammatik für die Fibonacci-Zahlen Eine Chomsky-Grammatik für die Fibonacci-Zahlen FSU Jena 26. Juni 2017 rekursive Berechnung Definition Die Fibonacci-Folge ist rekursiv folgendermaßen definiert: f (0) = 0 f (1) = 1 Beginn der Folge: f

Mehr