Automaten, Spiele, und Logik

Größe: px
Ab Seite anzeigen:

Download "Automaten, Spiele, und Logik"

Transkript

1 Automaten, Spiele, und Logik Woche April 2014

2 Inhalt der heutigen Vorlesung 1. Reguläre Ausdrücke 2. der Satz von Kleene 3. Brzozowski Methode 4. grep und perl

3 Reguläre Ausdrücke Rekursive Definition, ɛ, und a sind reguläre Ausdrücke wenn e, e 1, e 2 reguläre Ausdrücke sind, dann sind es auch e, e 1.e 2 und e 1 + e 2 Die Sprache L(e), die von einem regulären Ausdruck e beschrieben wird L( ) =, L(ɛ) = {ɛ}, L(a) = {a} L(e ) = L(e), L(e 1.e 2 ) = L(e 1 ).L(e 2 ), L(e 1 + e 2 ) = L(e 1 ) L(e 2 ) Übung: Geben Sie einen regulären Ausdruck an, der die Sprache aller Wörter die mit a beginnen und enden beschreibt.

4 Reguläre Ausdrücke Rekursive Definition, ɛ, und a sind reguläre Ausdrücke wenn e, e 1, e 2 reguläre Ausdrücke sind, dann sind es auch e, e 1.e 2 und e 1 + e 2 Die Sprache L(e), die von einem regulären Ausdruck e beschrieben wird L( ) =, L(ɛ) = {ɛ}, L(a) = {a} L(e ) = L(e), L(e 1.e 2 ) = L(e 1 ).L(e 2 ), L(e 1 + e 2 ) = L(e 1 ) L(e 2 ) Übung: Geben Sie einen regulären Ausdruck an, der die Sprache aller Wörter die mit a beginnen und enden beschreibt. a + a.(σ).a

5 Der Satz von Kleene Satz: Die regulären Sprachen sind genau die Sprachen, die sich durch einen regulären Ausdruck beschreiben lassen. Es gibt mehrere Algorithmen, die: aus einem Automaten einen regulären Ausdruck berechnen aus einem regulären Ausdruck einen Automaten konstruieren

6 Der Satz von Kleene Satz: Die regulären Sprachen sind genau die Sprachen, die sich durch einen regulären Ausdruck beschreiben lassen. Es gibt mehrere Algorithmen, die: aus einem Automaten einen regulären Ausdruck berechnen aus einem regulären Ausdruck einen Automaten konstruieren

7 Arden sche Lemma und Elimination Arden sche Lemma Satz: Seien U, V, L Σ Sprachen, so dass ɛ U und L = U.L V. Dann gilt L = U V.

8 Arden sche Lemma und Elimination Arden sche Lemma Satz: Seien U, V, L Σ Sprachen, so dass ɛ U und L = U.L V. Dann gilt L = U V. Elimination a 1 2 b a a 3 X 1 = ax 2 + ax 3 X 2 = ax 3 X 3 = bx 2 + ɛ

9 Arden sche Lemma und Elimination Arden sche Lemma Satz: Seien U, V, L Σ Sprachen, so dass ɛ U und L = U.L V. Dann gilt L = U V. Elimination a 1 2 b a a 3 X 1 = ax 2 + ax 3 X 2 = ax 3 X 3 = bax 3 + ɛ

10 Arden sche Lemma und Elimination Arden sche Lemma Satz: Seien U, V, L Σ Sprachen, so dass ɛ U und L = U.L V. Dann gilt L = U V. Elimination a 1 2 b a a 3 X 1 = ax 2 + ax 3 X 2 = ax 3 X 3 = (ba)

11 Arden sche Lemma und Elimination Arden sche Lemma Satz: Seien U, V, L Σ Sprachen, so dass ɛ U und L = U.L V. Dann gilt L = U V. Elimination a 1 2 b a a 3 X 1 = aa(ba) + a(ba) X 2 = a(ba) X 3 = (ba)

12 Der Satz von Kleene Satz: die regulären Sprachen sind genau die Sprachen, die sich durch einen regulären Ausdruck beschreiben lassen. Es gibt mehrere Algorithmen, die: aus einem Automaten einen regulären Ausdruck berechnen aus einem regulären Ausdruck einen Automat konstruieren

13 Der Satz von Kleene Satz: die regulären Sprachen sind genau die Sprachen, die sich durch einen regulären Ausdruck beschreiben lassen. Es gibt mehrere Algorithmen, die: aus einem Automaten einen regulären Ausdruck berechnen aus einem regulären Ausdruck einen Automat konstruieren

14 die Methode von Brzozowski Ziel: aus einem regulären Ausdruck, einen Automaten konstruieren. Unterschied zum Algorithmus von McNaughton-Yamada / Thomson der Automat ist deterministisch er kann auch on the fly berechnet werden (gut z.b. für das Wortproblem) der Algorithmus funktioniert auch mit erweiterten regulären Ausdrücken aber keine Garantie, dass das Wortproblem in linearer Zeit gelöst wird

15 Erweiterte reguläre Ausdrücke Definition ein regulärer Ausdruck ist ein erweiterter regulärer Ausdruck wenn e, e 1, e 2 erweiterte reguläre Ausdrücke sind, dann sind es auch c e (Komplement) und e 1 e 2 (Schnitt). Beispiel: ( a.(a + b) ) c( (a + b).b ) Satz: Für jeden erweiterten regulären Ausdruck gibt es einen klassischen äquivalenten regulären Ausdruck Übung: Beweisen Sie das.

16 Leerwortschnitt Ziel: für jeden (erweiterten) regulären Ausdruck e, einen regulären Ausdruck ɛ (e) berechnen, so dass { ɛ wenn ɛ L(e) ɛ (e) = sonst ɛ ( ) =

17 Leerwortschnitt Ziel: für jeden (erweiterten) regulären Ausdruck e, einen regulären Ausdruck ɛ (e) berechnen, so dass { ɛ wenn ɛ L(e) ɛ (e) = sonst ɛ ( ) =

18 Leerwortschnitt Ziel: für jeden (erweiterten) regulären Ausdruck e, einen regulären Ausdruck ɛ (e) berechnen, so dass { ɛ wenn ɛ L(e) ɛ (e) = sonst ɛ ( ) = ɛ (ɛ) =

19 Leerwortschnitt Ziel: für jeden (erweiterten) regulären Ausdruck e, einen regulären Ausdruck ɛ (e) berechnen, so dass { ɛ wenn ɛ L(e) ɛ (e) = sonst ɛ ( ) = ɛ (ɛ) = ɛ

20 Leerwortschnitt Ziel: für jeden (erweiterten) regulären Ausdruck e, einen regulären Ausdruck ɛ (e) berechnen, so dass { ɛ wenn ɛ L(e) ɛ (e) = sonst ɛ ( ) = ɛ (ɛ) = ɛ ɛ (a) =

21 Leerwortschnitt Ziel: für jeden (erweiterten) regulären Ausdruck e, einen regulären Ausdruck ɛ (e) berechnen, so dass { ɛ wenn ɛ L(e) ɛ (e) = sonst ɛ ( ) = ɛ (ɛ) = ɛ ɛ (a) =

22 Leerwortschnitt Ziel: für jeden (erweiterten) regulären Ausdruck e, einen regulären Ausdruck ɛ (e) berechnen, so dass { ɛ wenn ɛ L(e) ɛ (e) = sonst ɛ ( ) = ɛ (ɛ) = ɛ ɛ (a) = ɛ (e 1 + e 2 ) =

23 Leerwortschnitt Ziel: für jeden (erweiterten) regulären Ausdruck e, einen regulären Ausdruck ɛ (e) berechnen, so dass { ɛ wenn ɛ L(e) ɛ (e) = sonst ɛ ( ) = ɛ (ɛ) = ɛ ɛ (a) = { wenn ɛ (e ɛ (e 1 + e 2 ) = 1 ) = ɛ (e 2 ) = ɛ sonst

24 Leerwortschnitt Ziel: für jeden (erweiterten) regulären Ausdruck e, einen regulären Ausdruck ɛ (e) berechnen, so dass { ɛ wenn ɛ L(e) ɛ (e) = sonst ɛ ( ) = ɛ (ɛ) = ɛ ɛ (a) = { wenn ɛ (e ɛ (e 1 + e 2 ) = 1 ) = ɛ (e 2 ) = ɛ sonst ɛ (e 1.e 2 ) =

25 Leerwortschnitt Ziel: für jeden (erweiterten) regulären Ausdruck e, einen regulären Ausdruck ɛ (e) berechnen, so dass { ɛ wenn ɛ L(e) ɛ (e) = sonst ɛ ( ) = ɛ (ɛ) = ɛ ɛ (a) = { wenn ɛ (e ɛ (e 1 + e 2 ) = 1 ) = ɛ (e 2 ) = ɛ sonst { ɛ wenn ɛ (e ɛ (e 1.e 2 ) = 1 ) = ɛ (e 2 ) = ɛ sonst

26 Leerwortschnitt Ziel: für jeden (erweiterten) regulären Ausdruck e, einen regulären Ausdruck ɛ (e) berechnen, so dass { ɛ wenn ɛ L(e) ɛ (e) = sonst ɛ ( ) = ɛ (ɛ) = ɛ ɛ (a) = { wenn ɛ (e ɛ (e 1 + e 2 ) = 1 ) = ɛ (e 2 ) = ɛ sonst { ɛ wenn ɛ (e ɛ (e 1.e 2 ) = 1 ) = ɛ (e 2 ) = ɛ sonst ɛ (e ) =

27 Leerwortschnitt Ziel: für jeden (erweiterten) regulären Ausdruck e, einen regulären Ausdruck ɛ (e) berechnen, so dass { ɛ wenn ɛ L(e) ɛ (e) = sonst ɛ ( ) = ɛ (ɛ) = ɛ ɛ (a) = { wenn ɛ (e ɛ (e 1 + e 2 ) = 1 ) = ɛ (e 2 ) = ɛ sonst { ɛ wenn ɛ (e ɛ (e 1.e 2 ) = 1 ) = ɛ (e 2 ) = ɛ sonst ɛ (e ) = ɛ

28 Leerwortschnitt Ziel: für jeden (erweiterten) regulären Ausdruck e, einen regulären Ausdruck ɛ (e) berechnen, so dass { ɛ wenn ɛ L(e) ɛ (e) = sonst ɛ ( ) = ɛ (ɛ) = ɛ ɛ (a) = { wenn ɛ (e ɛ (e 1 + e 2 ) = 1 ) = ɛ (e 2 ) = ɛ sonst { ɛ wenn ɛ (e ɛ (e 1.e 2 ) = 1 ) = ɛ (e 2 ) = ɛ sonst ɛ (e ) = ɛ ɛ (e 1 e 2 ) =

29 Leerwortschnitt Ziel: für jeden (erweiterten) regulären Ausdruck e, einen regulären Ausdruck ɛ (e) berechnen, so dass { ɛ wenn ɛ L(e) ɛ (e) = sonst ɛ ( ) = ɛ (ɛ) = ɛ ɛ (a) = { wenn ɛ (e ɛ (e 1 + e 2 ) = 1 ) = ɛ (e 2 ) = ɛ sonst { ɛ wenn ɛ (e ɛ (e 1.e 2 ) = 1 ) = ɛ (e 2 ) = ɛ sonst ɛ (e ) = ɛ ɛ (e 1 e 2 ) = ɛ (e 1.e 2 )

30 Leerwortschnitt Ziel: für jeden (erweiterten) regulären Ausdruck e, einen regulären Ausdruck ɛ (e) berechnen, so dass { ɛ wenn ɛ L(e) ɛ (e) = sonst ɛ ( ) = ɛ (ɛ) = ɛ ɛ (a) = { wenn ɛ (e ɛ (e 1 + e 2 ) = 1 ) = ɛ (e 2 ) = ɛ sonst { ɛ wenn ɛ (e ɛ (e 1.e 2 ) = 1 ) = ɛ (e 2 ) = ɛ sonst ɛ (e ) = ɛ ɛ (e 1 e 2 ) = ɛ (e 1.e 2 ) ɛ ( c e) =

31 Leerwortschnitt Ziel: für jeden (erweiterten) regulären Ausdruck e, einen regulären Ausdruck ɛ (e) berechnen, so dass { ɛ wenn ɛ L(e) ɛ (e) = sonst ɛ ( ) = ɛ (ɛ) = ɛ ɛ (a) = { wenn ɛ (e ɛ (e 1 + e 2 ) = 1 ) = ɛ (e 2 ) = ɛ sonst { ɛ wenn ɛ (e ɛ (e 1.e 2 ) = 1 ) = ɛ (e 2 ) = ɛ sonst ɛ (e ) = ɛ ɛ (e 1 e 2 ) = ɛ (e 1.e 2 ) { ɛ wenn ɛ ( c ɛ (e) = e) = sonst

32 Ableitungen Ziel: für jeden regulären Ausdruck und jedes Wort u, einen regulären Ausdruck D u (e) berechnen, so dass L(D u (e)) = {v : uv L(e)} D a1 a 2...a k (e) = D ak (D ak 1 (... D a1 (e)... ))

33 Ableitungen Ziel: für jeden regulären Ausdruck und jedes Wort u, einen regulären Ausdruck D u (e) berechnen, so dass L(D u (e)) = {v : uv L(e)} D a1 a 2...a k (e) = D ak (D ak 1 (... D a1 (e)... )) D a ( ) =

34 Ableitungen Ziel: für jeden regulären Ausdruck und jedes Wort u, einen regulären Ausdruck D u (e) berechnen, so dass L(D u (e)) = {v : uv L(e)} D a1 a 2...a k (e) = D ak (D ak 1 (... D a1 (e)... )) D a ( ) =

35 Ableitungen Ziel: für jeden regulären Ausdruck und jedes Wort u, einen regulären Ausdruck D u (e) berechnen, so dass L(D u (e)) = {v : uv L(e)} D a1 a 2...a k (e) = D ak (D ak 1 (... D a1 (e)... )) D a ( ) = D a (ɛ) =

36 Ableitungen Ziel: für jeden regulären Ausdruck und jedes Wort u, einen regulären Ausdruck D u (e) berechnen, so dass L(D u (e)) = {v : uv L(e)} D a1 a 2...a k (e) = D ak (D ak 1 (... D a1 (e)... )) D a ( ) = D a (ɛ) =

37 Ableitungen Ziel: für jeden regulären Ausdruck und jedes Wort u, einen regulären Ausdruck D u (e) berechnen, so dass L(D u (e)) = {v : uv L(e)} D a1 a 2...a k (e) = D ak (D ak 1 (... D a1 (e)... )) D a ( ) = D a (ɛ) = D a (e) =

38 Ableitungen Ziel: für jeden regulären Ausdruck und jedes Wort u, einen regulären Ausdruck D u (e) berechnen, so dass L(D u (e)) = {v : uv L(e)} D a1 a 2...a k (e) = D ak (D ak 1 (... D a1 (e)... )) D a ( ) = D a (ɛ) = D a (e) = ɛ wenn e = a, sonst

39 Ableitungen Ziel: für jeden regulären Ausdruck und jedes Wort u, einen regulären Ausdruck D u (e) berechnen, so dass L(D u (e)) = {v : uv L(e)} D a1 a 2...a k (e) = D ak (D ak 1 (... D a1 (e)... )) D a ( ) = D a (ɛ) = D a (e) = ɛ wenn e = a, sonst D a (e 1 + e 2 ) =

40 Ableitungen Ziel: für jeden regulären Ausdruck und jedes Wort u, einen regulären Ausdruck D u (e) berechnen, so dass L(D u (e)) = {v : uv L(e)} D a1 a 2...a k (e) = D ak (D ak 1 (... D a1 (e)... )) D a ( ) = D a (ɛ) = D a (e) = ɛ wenn e = a, sonst D a (e 1 + e 2 ) = D a (e 1 ) + D a (e 2 )

41 Ableitungen Ziel: für jeden regulären Ausdruck und jedes Wort u, einen regulären Ausdruck D u (e) berechnen, so dass L(D u (e)) = {v : uv L(e)} D a1 a 2...a k (e) = D ak (D ak 1 (... D a1 (e)... )) D a ( ) = D a (ɛ) = D a (e) = ɛ wenn e = a, sonst D a (e 1 + e 2 ) = D a (e 1 ) + D a (e 2 ) D a (e 1.e 2 ) =

42 Ableitungen Ziel: für jeden regulären Ausdruck und jedes Wort u, einen regulären Ausdruck D u (e) berechnen, so dass L(D u (e)) = {v : uv L(e)} D a1 a 2...a k (e) = D ak (D ak 1 (... D a1 (e)... )) D a ( ) = D a (ɛ) = D a (e) = ɛ wenn e = a, sonst D a (e 1 + e 2 ) = D a (e 1 ) + D a (e 2 ) D a (e 1.e 2 ) = D a (e 1 ).e 2 + ɛ (e 1 ).D a (e 2 )

43 Ableitungen Ziel: für jeden regulären Ausdruck und jedes Wort u, einen regulären Ausdruck D u (e) berechnen, so dass L(D u (e)) = {v : uv L(e)} D a1 a 2...a k (e) = D ak (D ak 1 (... D a1 (e)... )) D a ( ) = D a (ɛ) = D a (e) = ɛ wenn e = a, sonst D a (e 1 + e 2 ) = D a (e 1 ) + D a (e 2 ) D a (e 1.e 2 ) = D a (e 1 ).e 2 + ɛ (e 1 ).D a (e 2 ) D a (e 1 e 2 ) =

44 Ableitungen Ziel: für jeden regulären Ausdruck und jedes Wort u, einen regulären Ausdruck D u (e) berechnen, so dass L(D u (e)) = {v : uv L(e)} D a1 a 2...a k (e) = D ak (D ak 1 (... D a1 (e)... )) D a ( ) = D a (ɛ) = D a (e) = ɛ wenn e = a, sonst D a (e 1 + e 2 ) = D a (e 1 ) + D a (e 2 ) D a (e 1.e 2 ) = D a (e 1 ).e 2 + ɛ (e 1 ).D a (e 2 ) D a (e 1 e 2 ) = D a (e 1 ) D a (e 2 )

45 Ableitungen Ziel: für jeden regulären Ausdruck und jedes Wort u, einen regulären Ausdruck D u (e) berechnen, so dass L(D u (e)) = {v : uv L(e)} D a1 a 2...a k (e) = D ak (D ak 1 (... D a1 (e)... )) D a ( ) = D a (ɛ) = D a (e) = ɛ wenn e = a, sonst D a (e 1 + e 2 ) = D a (e 1 ) + D a (e 2 ) D a (e 1.e 2 ) = D a (e 1 ).e 2 + ɛ (e 1 ).D a (e 2 ) D a (e 1 e 2 ) = D a (e 1 ) D a (e 2 ) D a ( c e) =

46 Ableitungen Ziel: für jeden regulären Ausdruck und jedes Wort u, einen regulären Ausdruck D u (e) berechnen, so dass L(D u (e)) = {v : uv L(e)} D a1 a 2...a k (e) = D ak (D ak 1 (... D a1 (e)... )) D a ( ) = D a (ɛ) = D a (e) = ɛ wenn e = a, sonst D a (e 1 + e 2 ) = D a (e 1 ) + D a (e 2 ) D a (e 1.e 2 ) = D a (e 1 ).e 2 + ɛ (e 1 ).D a (e 2 ) D a (e 1 e 2 ) = D a (e 1 ) D a (e 2 ) D a ( c e) = c D a (e)

47 Ableitungen Ziel: für jeden regulären Ausdruck und jedes Wort u, einen regulären Ausdruck D u (e) berechnen, so dass L(D u (e)) = {v : uv L(e)} D a1 a 2...a k (e) = D ak (D ak 1 (... D a1 (e)... )) D a ( ) = D a (ɛ) = D a (e) = ɛ wenn e = a, sonst D a (e 1 + e 2 ) = D a (e 1 ) + D a (e 2 ) D a (e 1.e 2 ) = D a (e 1 ).e 2 + ɛ (e 1 ).D a (e 2 ) D a (e 1 e 2 ) = D a (e 1 ) D a (e 2 ) D a ( c e) = c D a (e) D a (e ) =

48 Ableitungen Ziel: für jeden regulären Ausdruck und jedes Wort u, einen regulären Ausdruck D u (e) berechnen, so dass L(D u (e)) = {v : uv L(e)} D a1 a 2...a k (e) = D ak (D ak 1 (... D a1 (e)... )) D a ( ) = D a (ɛ) = D a (e) = ɛ wenn e = a, sonst D a (e 1 + e 2 ) = D a (e 1 ) + D a (e 2 ) D a (e 1.e 2 ) = D a (e 1 ).e 2 + ɛ (e 1 ).D a (e 2 ) D a (e 1 e 2 ) = D a (e 1 ) D a (e 2 ) D a ( c e) = c D a (e) D a (e ) = D a (e)e

49 Ähnliche reguläre Ausdrücke Definition Zwei regulären Ausdrücke e 1, e 2 sind ähnlich (e 1 e 2 ), wenn e 1 e 2 sich durch diese Axiome beweisen lässt: e 1 + (e 2 + e 3 ) (e 1 + e 2 ) + e 3 e 1 + e 2 e 2 + e 1 e 1 + e 1 e 1 e + + e e e..e e.ɛ ɛ.e e Beispiel: D a ( (a + b) ) = D a (a + b).(a + b) = ( D a (a) + D a (b) ).(a + b) = (ɛ + ).(a + b) (a + b)

50 Algorithmus alle Ableitungen berechnen jede neue Ableitung, die keine ähnliche, bereits berechnete Ableitung ist, ist ein neuer Zustand e ist akzeptierend, wenn ɛ (e) = ɛ e a e genau dann, wenn D a (e) e

51 Algorithmus alle Ableitungen berechnen jede neue Ableitung, die keine ähnliche, bereits berechnete Ableitung ist, ist ein neuer Zustand e ist akzeptierend, wenn ɛ (e) = ɛ e a e genau dann, wenn D a (e) e Übung: den Algorithmus auf a.(a + b) c( (a + b).b) benutzen.

52 Beobachtungen der Algorithmus terminiert immer das heißt: {D w (e) : w Σ }/ ist eine endliche Menge der Algorithmus ist korrekt wenn der Algorithmus äquivalente statt ähnliche Ausdrücke identifiziert, dann berechnet er den minimalen Automaten

53 Reguläre Ausdrücke und (Perl/POSIX) regex Einige Anwendungen Kompilierung (parsing) Texteditoren (Suche, Ersetzung, Syntaxmarkierung), Systemadministrierung (Routing, Loganalysen) Textextraktion: partial Matching (siehe: Greediness) Einige Erweiterungen von regex gezählte Wiederholungen, z.b. e{3,5} Assertionen, z.b Zeilenanfang, Zeilenende, usw. Backreferences, z.b. [a,b]*\1 Übung: welche Erweiterungen sind noch regulär?

54 grep und perl Frage: Ist das Wort in der durch gestellten Sprache? aa... a }{{} n Mal (a + ɛ)(a + ɛ)... (a + ɛ) aa }{{}}{{... a} n Mal n Mal Quelle: Russ Cox

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

Homomorphismen. Defnition: Σ und Γ seien zwei endliche Alphabete, und h sei eine Abbildung h : Σ Γ. Wir definieren die folgenden Sprachen:

Homomorphismen. Defnition: Σ und Γ seien zwei endliche Alphabete, und h sei eine Abbildung h : Σ Γ. Wir definieren die folgenden Sprachen: Homomorphismen Σ und Γ seien zwei endliche Alphabete, und h sei eine Abbildung h : Σ Γ. Wir definieren die folgenden Sprachen: h(l) := {h(u) : u L} Γ, für jede Sprache L Σ, h 1 (M) := {u Σ : h(u) M} Σ,

Mehr

Einführung in die Computerlinguistik Satz von Kleene

Einführung in die Computerlinguistik Satz von Kleene Einführung in die Computerlinguistik Satz von Kleene Dozentin: Wiebke Petersen 5. Foliensatz Wiebke Petersen Einführung CL 1 Satz von Kleene (Stephen C. Kleene, 1909-1994) Jede Sprache, die von einem deterministischen

Mehr

Proseminar Automatentheorie. Thema: Berry Sethi Algorithmus. Von Christopher Haas

Proseminar Automatentheorie. Thema: Berry Sethi Algorithmus. Von Christopher Haas Proseminar Automatentheorie Thema: Berry Sethi Algorithmus Von Christopher Haas Inhaltsangabe Allgemeines/Notation Ableitung regulärer Ausdruck Intuitiv Definition Beispiele Das Brzozowski-Verfahren Markierungsverfahren

Mehr

Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen

Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 18.4. 2012 176 Automatentheorie und formale Sprachen VL 5 Reguläre und nichtreguläre Sprachen Kathrin Hoffmann 18. Aptil 2012 Hoffmann (HAW

Mehr

DisMod-Repetitorium Tag 4

DisMod-Repetitorium Tag 4 DisMod-Repetitorium Tag 4 Endliche Automaten, Reguläre Sprachen und Kontextfreie Grammatiken 22. März 2018 1 Endliche Automaten Definition DFA Auswertungen Äquivalenzrelationen Verschmelzungsrelation und

Mehr

Einführung in die Computerlinguistik Satz von Kleene

Einführung in die Computerlinguistik Satz von Kleene Einführung in die Computerlinguistik Satz von Kleene Dozentin: Wiebke Petersen 5. Foliensatz Wiebke Petersen Einführung CL 1 Satz von Kleene (Stephen C. Kleene, 1909-1994) Jede Sprache, die von einem deterministischen

Mehr

Automatentheorie und formale Sprachen

Automatentheorie und formale Sprachen Automatentheorie und formale Sprachen VL 8 Chomsky-Grammatiken Kathrin Hoffmann 23. Mai 2012 Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 23.5. 2012 250 Wortproblem Wortproblem ist das

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

1 Eliminieren von ɛ-übergängen

1 Eliminieren von ɛ-übergängen 1 Eliminieren von ɛ-übergängen 1.1 Beispiel 1 (a) Ausgangspunkt: Zwei ɛ-übergänge (b) Entfernung eines ɛ-übergangs, Reduktion (c) Entfernen eines ɛ-übergangs, Reduktion Abbildung 1: Elimination von ɛ-übergängen,

Mehr

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

Satz von Kleene. (Stephen C. Kleene, ) Wiebke Petersen Einführung CL 2 Satz von Kleene (Stephen C. Kleene, 1909-1994) Jede Sprache, die von einem deterministischen endlichen Automaten akzeptiert wird ist regulär und jede reguläre Sprache wird von einem deterministischen endlichen

Mehr

Induktive Definition

Induktive Definition Rechenregeln A B = B A A (B C) = (A B) C A (B C) = (A B) C A (B C) = A B A C (B C) A = B A C A {ε} A = A A {ε} = A (A {ε}) = A (A ) = A A A = A + A A = A + A + {ε} = A Beispiel. Real-Zahlen = {0,..., 9}

Mehr

Musterlösung Informatik-III-Nachklausur

Musterlösung Informatik-III-Nachklausur Musterlösung Informatik-III-Nachklausur Aufgabe 1 (2+2+4+4 Punkte) (a) L = (0 1) 0(0 1) 11(0 1) 0(0 1) (b) Der Automat ist durch folgendes Übergangsdiagramm gegeben: 0, 1 0, 1 0, 1 0, 1 0 s q 1 1 0 0 q

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

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Übung am 3..2 INSTITUT FÜR THEORETISCHE KIT 7..2 Universität des Andrea Landes Schumm Baden-Württemberg - Theoretische und Grundlagen der Informatik INSTITUT FÜR

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

Ü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

Ü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

2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen:

2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen: Probeklausur Automatentheorie & Formale Sprachen WiSe 2012/13, Wiebke Petersen Name: Matrikelnummer: Aufgabe A: Typ3-Sprachen 1. Konstruieren Sie einen endlichen Automaten, der die Sprache aller Wörter

Mehr

Formale Sprachen und Automaten: Tutorium Nr. 8

Formale Sprachen und Automaten: Tutorium Nr. 8 Formale Sprachen und Automaten: Tutorium Nr. 8 15. Juni 2013 Übersicht 1 Nachtrag 2 Besprechung von Übungsblatt 7 Aufgabe 1 Aufgabe 2 Aufgabe 3 3 CFG PDA Definitionen Ein Beispiel! Aufgabe 4 Der PDA als

Mehr

2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen:

2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen: Probeklausur Automatentheorie & Formale Sprachen WiSe 2012/13, Wiebke Petersen Name: Matrikelnummer: Aufgabe A: Typ3-Sprachen 1. Konstruieren Sie einen endlichen Automaten, der die Sprache aller Wörter

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

FORMALE SYSTEME. 10. Vorlesung: Grenzen regulärer Sprachen / Probleme für Automaten. TU Dresden, 14. November 2016.

FORMALE SYSTEME. 10. Vorlesung: Grenzen regulärer Sprachen / Probleme für Automaten. TU Dresden, 14. November 2016. FORMALE SYSTEME 10. Vorlesung: Grenzen regulärer Sprachen / Probleme für Automaten Markus Krötzsch TU Dresden, 14. November 2016 Rückblick Markus Krötzsch, 14. November 2016 Formale Systeme Folie 2 von

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

Grundlagen der Theoretischen Informatik

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

Mehr

Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit. Zugangsnummer: 9201

Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit.  Zugangsnummer: 9201 Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit Wiederholung Kapitel 3 und 4 http://pingo.upb.de Zugangsnummer: 9201 Dozent: Jun.-Prof. Dr.

Mehr

Die Nerode-Relation und der Index einer Sprache L

Die Nerode-Relation und der Index einer Sprache L Die Nerode-Relation und der Index einer Sprache L Eine zweite zentrale Idee: Sei A ein vollständiger DFA für die Sprache L. Repäsentiere einen beliebigen Zustand p von A durch die Worte in Σ, die zu p

Mehr

Software Engineering Ergänzung zur Vorlesung

Software Engineering Ergänzung zur Vorlesung Ergänzung zur Vorlesung Prof. Dr. Markus Müller-Olm WS 2008 2009 2.6.1 Endliche und reguläre Sprachen Endliche und reguläre Sprache: fundamental in vielen Bereichen der Informatik: theorie Formale Sprachen

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

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Algorithmen mit konstantem Platzbedarf: Die Klasse REG Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August

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

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

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 8. Reguläre Sprachen II Malte Helmert Gabriele Röger Universität Basel 24. März 24 Pumping Lemma Pumping Lemma: Motivation Man kann zeigen, dass eine Sprache regulär ist, indem man

Mehr

Einführung in die Computerlinguistik Satz von Kleene

Einführung in die Computerlinguistik Satz von Kleene Einführung in die Computerlinguistik Satz von Kleene Dozentin: Wiebke Petersen 10.5.2010 Wiebke Petersen Einführung CL (SoSe2010) 1 Satz von Kleene (Stephen C. Kleene, 1909-1994) Jede Sprache, die von

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 3 14. Mai 2010 Einführung in die Theoretische

Mehr

Automaten und Formale Sprachen SoSe 2013 in Trier

Automaten und Formale Sprachen SoSe 2013 in Trier Automaten und Formale Sprachen SoSe 2013 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 2. Juni 2013 1 Automaten und Formale Sprachen Gesamtübersicht Organisatorisches Einführung Endliche

Mehr

Automaten und Formale Sprachen SoSe 2013 in Trier

Automaten und Formale Sprachen SoSe 2013 in Trier Automaten und Formale Sprachen SoSe 2013 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 2. Juni 2013 1 Automaten und Formale Sprachen Gesamtübersicht Organisatorisches Einführung Endliche

Mehr

Formale Systeme, Automaten, Prozesse SS 2010 Musterlösung - Übung 9 M. Brockschmidt, F. Emmes, C. Fuhs, C. Otto, T. Ströder

Formale Systeme, Automaten, Prozesse SS 2010 Musterlösung - Übung 9 M. Brockschmidt, F. Emmes, C. Fuhs, C. Otto, T. Ströder Prof aa Dr J Giesl M Brockschmidt, F Emmes, C Fuhs, C Otto, T Ströder Hinweise: Die Hausaufgaben sollen in Gruppen von je 2 Studierenden aus dem gleichen Tutorium bearbeitet werden Die Lösungen der Hausaufgaben

Mehr

Formale Grundlagen der Informatik 1 Kapitel 5 Abschlusseigenschaften

Formale Grundlagen der Informatik 1 Kapitel 5 Abschlusseigenschaften Formale Grundlagen der Informatik 1 Kapitel 5 Frank Heitmann heitmann@informatik.uni-hamburg.de 18. April 2016 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/64 NFAs - Grundlagen DFAs vs. NFAs Der

Mehr

Einführung in die Computerlinguistik Satz von Kleene

Einführung in die Computerlinguistik Satz von Kleene Einführung in die Computerlinguistik Satz von Kleene Dozentin: Wiebke Petersen 17.11.2009 Wiebke Petersen Einführung CL (WiSe 09/10) 1 Satz von Kleene (Stephen C. Kleene, 1909-1994) Jede Sprache, die von

Mehr

Vorlesungsmitschrift zur Vorlesung Theoretische Informatik I vom 23. Juni Christian Franz

Vorlesungsmitschrift zur Vorlesung Theoretische Informatik I vom 23. Juni Christian Franz Vorlesungsmitschrift zur Vorlesung Theoretische Informatik I vom 23. Juni 2 Christian Franz Inhaltsverzeichnis Wiederholung: Vorlesung vom 9.6.2... Beispiele für Äquivalenzklassen... 4.5. Minimierung

Mehr

Automatentheorie und formale Sprachen rechtslineare Grammatiken

Automatentheorie und formale Sprachen rechtslineare Grammatiken Automatentheorie und formale Sprachen rechtslineare Grammatiken Dozentin: Wiebke Petersen 17.6.2009 Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 1 Pumping lemma for regular languages

Mehr

Klausur SoSe Juli 2013

Klausur SoSe Juli 2013 Universität Osnabrück / FB6 / Theoretische Informatik Prof. Dr. M. Chimani Informatik D: Einführung in die Theoretische Informatik Klausur SoSe 2013 11. Juli 2013 (Prüfungsnr. 1007049) Gruppe: Batman,

Mehr

4. Übung zur Vorlesung Informatik III am

4. Übung zur Vorlesung Informatik III am 1 4. Übung zur Vorlesung Informatik III am 16.11.2007 Wiederholung Konkatenation 2 Definition Konkatenation Eine endliche Folge w von Symbolen aus Σ heißt Wort. Die Menge aller Wörter über Σ heißt Σ. Sei

Mehr

Carlos Camino Einführung in die Theoretische Informatik SS 2015

Carlos Camino Einführung in die Theoretische Informatik SS 2015 Themenüberblick Dies ist eine Art Checkliste für die Klausurvorbereitung. Zu jedem Thema im Skript sind hier ein paar Leitfragen aufgelistet. Besonders nützlich sind die Tabellen und Abbildungen auf den

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

Kontextfreie Sprachen werden von PDAs akzeptiert

Kontextfreie Sprachen werden von PDAs akzeptiert Kontextfreie Sprachen werden von PDAs akzeptiert Sei G = (Σ, V, S, P) eine kontextfreie Grammatik. Dann gibt es einen PDA A mit L(A) = L(G). Der PDA A arbeitet mit nur einem Zustand q 0, besitzt das Kelleralphabet

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 17.01.013 Parametrisierte Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales

Mehr

FORMALE SYSTEME. 3. Vorlesung: Endliche Automaten. TU Dresden, 17. Oktober Markus Krötzsch

FORMALE SYSTEME. 3. Vorlesung: Endliche Automaten. TU Dresden, 17. Oktober Markus Krötzsch FORMALE SYSTEME 3. Vorlesung: Endliche Automaten Markus Krötzsch TU Dresden, 17. Oktober 2016 Rückblick Markus Krötzsch, 17. Oktober 2016 Formale Systeme Folie 2 von 31 Wiederholung Mit Grammatiken können

Mehr

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

Diskrete Mathematik. Anna-Lena Rädler Christina Kohl Georg Moser Christian Sternagel Vincent van Oostrom Diskrete Mathematik Anna-Lena Rädler Christina Kohl Georg Moser Christian Sternagel Vincent van Oostrom Zusammenfassung der letzten LVA Definition Ein ɛ-nea N = (Q, Σ, δ, S, F) ist gegeben durch eine endliche

Mehr

1. Welche der folgenden Aussagen zur Entscheidbarkeit beziehungsweise Unentscheidbarkeit

1. Welche der folgenden Aussagen zur Entscheidbarkeit beziehungsweise Unentscheidbarkeit 1. Klausur Diskrete Mathematik Seite 1 von 22 1. Welche der folgenden Aussagen zur Entscheidbarkeit beziehungsweise Unentscheidbarkeit ist richtig? A. Keine der Aussagen. B. Eine Menge oder ihr Komplement

Mehr

Ogden s Lemma: Der Beweis (1/5)

Ogden s Lemma: Der Beweis (1/5) Ogden s Lemma: Der Beweis (1/5) Wir betrachten zuerst die Rahmenbedingungen : Laut dem auf der vorhergehenden Folie zitierten Satz gibt es zur kontextfreien Sprache L eine Grammatik G = (Σ, V, S, P) in

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

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

Informatik III. Christian Schindelhauer Wintersemester 2006/07 3. Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 3. Vorlesung 02.11.2006 schindel@informatik.uni-freiburg.de 1 Kapitel III Reguläre Sprachen Reguläre Sprachen und Ausdrücke Informatik III

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

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

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

Theoretische Informatik Kap 1: Formale Sprachen/Automatentheorie

Theoretische Informatik Kap 1: Formale Sprachen/Automatentheorie Gliederung der Vorlesung. Grundbegriffe. Formale Sprachen/Automatentheorie.. Grammatiken.2..3. Kontext-freie Sprachen 2. Berechnungstheorie 2.. Berechenbarkeitsmodelle 2.2. Die Churchsche These 2.3. Unentscheidbarkeit

Mehr

Automatentheorie und formale Sprachen

Automatentheorie und formale Sprachen Automatentheorie und formale Sprachen VL 4 Reguläre Ausdrücke und reguläre Sprachen Kathrin Hoffmann 10. April 2012 Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 10.4. 2012 114 Aufgabe 13:

Mehr

3.1 Kontextfreie Sprachen und Grammatiken 3.2 Ableitungsbäume 3.3 Die pre -Operation

3.1 Kontextfreie Sprachen und Grammatiken 3.2 Ableitungsbäume 3.3 Die pre -Operation Formale Systeme, Automaten, Prozesse Übersicht 3 3.1 Kontextfreie Sprachen und Grammatiken 3.2 Ableitungsbäume 3.3 Die pre -Operation 3.5 Normalformen für CFGs 3.6 Chomsky-Normalform 3.7 Greibach-Normalform

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie prachen (VI) 25.06.2015 Viorica ofronie-tokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

2 2 Reguläre Sprachen. 2.2 Endliche Automaten. Übersicht

2 2 Reguläre Sprachen. 2.2 Endliche Automaten. Übersicht Formale Systeme, Automaten, Prozesse Übersicht 2 2. Reguläre Ausdrücke 2.3 Nichtdeterministische endliche Automaten 2.4 Die Potenzmengenkonstruktion 2.5 NFAs mit ɛ-übergängen 2.6 Minimale DFAs und der

Mehr

Teil VI. Anwendungen, Teil 1: XML und deterministische reguläre Ausdrücke

Teil VI. Anwendungen, Teil 1: XML und deterministische reguläre Ausdrücke Teil VI Anwendungen, Teil 1: XML und deterministische reguläre Ausdrücke XML anhand von Beispielen... Anwendungen XML 1 / 10 XML-Schema In vielen Anwendungen sollen nur bestimmte XML-Dokumente zugelassen

Mehr

1. Klausur Diskrete Mathematik Seite 1 von 22

1. Klausur Diskrete Mathematik Seite 1 von 22 1. Klausur Diskrete Mathematik Seite 1 von 22 1. Welches der folgenden Gesetze über reguläre Ausdrücke gilt im Allgemeinen nicht? (Hierbei bezeichnen D, E, F reguläre Ausdrücke und wir schreiben abkürzend

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

Informatik III. Arne Vater Wintersemester 2006/ Vorlesung

Informatik III. Arne Vater Wintersemester 2006/ Vorlesung Informatik III Arne Vater Wintersemester 2006/07 11. Vorlesung 30.11.2006 1 Beziehungen zwischen den Sprachen Jede reguläre Sprache ist eine kontextfreie Sprache. Jede kontextfreie Sprache ist eine entscheidbare

Mehr

Kontextfreie Sprachen

Kontextfreie Sprachen Kontextfreie Sprachen besitzen große Bedeutung im Compilerbau Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung durch

Mehr

Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt:

Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt: 5.2 Linear beschränkte Automaten Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt: (q, c, d) δ(q, ) = c =. Ein Leerzeichen wird also nie durch ein anderes

Mehr

Kontextfreie Sprachen

Kontextfreie Sprachen Kontextfreie Sprachen Bedeutung: Programmiersprachen (Compilerbau) Syntaxbäume Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung

Mehr

Das Pumping Lemma: Ein Anwendungsbeispiel

Das Pumping Lemma: Ein Anwendungsbeispiel Das Pumping Lemma: Ein Anwendungsbeispiel Beispiel: Die Palindromsprache ist nicht regulär. L = { } w {0, 1} w ist ein Palindrom Beweis: Angenommen, L ist doch regulär. Gemäß Pumping Lemma gibt es dann

Mehr

1. Welche der folgenden Aussagen zum Halteproblem ist richtig?

1. Welche der folgenden Aussagen zum Halteproblem ist richtig? 1. Klausur Diskrete Mathematik Seite 1 von 22 1. Welche der folgenden Aussagen zum Halteproblem ist richtig? A. Jedes Problem ist auf das Halteproblem reduzierbar. B. MP, das Zugehörigkeitsproblem, kann

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Tutorium 4 26..25 INSTITUT FÜR THEORETISCHE INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Satz 90 Sei A = (Q, Σ, δ, q 0, F ) ein DFA. Der Zeitaufwand des obigen Minimalisierungsalgorithmus ist O( Q 2 Σ ).

Satz 90 Sei A = (Q, Σ, δ, q 0, F ) ein DFA. Der Zeitaufwand des obigen Minimalisierungsalgorithmus ist O( Q 2 Σ ). Satz 90 Sei A = (Q, Σ, δ, q 0, F ) ein DFA. Der Zeitaufwand des obigen Minimalisierungsalgorithmus ist O( Q 2 Σ ). Beweis: Für jedes a Σ muss jede Position in der Tabelle nur konstant oft besucht werden.

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

Ü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

Ü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

Wie man eine Sprache versteht

Wie man eine Sprache versteht Aufzählbarkeit Formale Grundlagen der Informatik 1 Kapitel 10 Aufzählbarkeit und (Un-)Entscheidbarkeit Frank Heitmann heitmann@informatik.uni-hamburg.de 11. Mai 2015 Definition 1 Eine Menge M Σ heißt (rekursiv)

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

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

Musterlösung Informatik-III-Klausur

Musterlösung Informatik-III-Klausur Musterlösung Informatik-III-Klausur Aufgabe 1 (1+4+3+4 Punkte) (a) 01010 wird nicht akzeptiert: s q 0 q 1 q 2 f q 2 10101 wird akzeptiert: s q 2 q 2 f q 2 f (b) ε: {s, q 0, q 1, q 2 }, {f} 0: {s, q 0,

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

THIA - Übungsblatt 2.

THIA - Übungsblatt 2. THIA - Übungsblatt 2. Aufgabe 12 (Eine einfache Sprache). Endliche Ziffernfolgen, die mit einer 0 beginnen, auf die mindestens eine weitere Ziffer folgt, wobei nur die Ziffern 0,..., 7 vorkommen, sollen

Mehr

Einführung in die Computerlinguistik

Einführung in die Computerlinguistik Einführung in die Computerlinguistik Kontextfreie Sprachen und Pushdown-Automaten Dozentin: Wiebke Petersen WS 2004/2005 Wiebke Petersen Formale Komplexität natürlicher Sprachen WS 03/04 Wiederholung c

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

Zusammenfassung der letzten LVA. Endliche Automaten mit Epsilon-Übergängen. Inhalte der Lehrveranstaltung (cont d)

Zusammenfassung der letzten LVA. Endliche Automaten mit Epsilon-Übergängen. Inhalte der Lehrveranstaltung (cont d) Zusammenfassung der letzten LVA Ein nichtdeterministischer endlicher Automat (NEA) ist ein 5-Tupel (Q, Σ, δ, S, F), sodass Q eine endliche Menge von Zustände Σ eine endliche Menge, das Eingabealphabet;

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

1. Übungsblatt 6.0 VU Theoretische Informatik und Logik

1. Übungsblatt 6.0 VU Theoretische Informatik und Logik . Übungsblatt 6. VU Theoretische Informatik und Logik 25. September 23 Aufgabe Sind folgende Aussagen korrekt? Begründen Sie jeweils Ihre Antwort. a) Für jede Sprache L gilt: L < L (wobei A die Anzahl

Mehr

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

Formale Methoden 1. Gerhard Jäger 23. Januar Uni Bielefeld, WS 2007/2008 1/18 1/18 Formale Methoden 1 Gerhard Jäger Gerhard.Jaeger@uni-bielefeld.de Uni Bielefeld, WS 2007/2008 23. Januar 2008 2/18 Das Pumping-Lemma Sein L eine unendliche reguläre Sprache über ein endliches Alphabet

Mehr

F2 Zusammenfassung Letzte Tips zur Klausur

F2 Zusammenfassung Letzte Tips zur Klausur F2 Zusammenfassung Letzte Tips zur Klausur Berndt Farwer FB Informatik, Uni HH F2-ommersemester 2001-(10.6.) p.1/15 Funktionen vs. Relationen Funktionen sind eindeutig, Relationen brauchen nicht eindeutig

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

Klausur zur Vorlesung Formale Sprachen und Automaten TIT03G2 mit Lösungsvorschlägen

Klausur zur Vorlesung Formale Sprachen und Automaten TIT03G2 mit Lösungsvorschlägen Klausur zur Vorlesung Formale Sprachen und Automaten TIT03G2 mit Lösungsvorschlägen Name: Matr.-Nr.: Vorname: Aufgabe 1 2 3 4 5 6 7 max. Punkte 6 7 10 6 8 7 9 err. Punkte Gesamtpunktzahl: Note: Aufgabe

Mehr

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2011

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2011 Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2011 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1 Wir beschäftigen uns ab

Mehr

Spracherkennung (Syntaxanalyse)

Spracherkennung (Syntaxanalyse) Kellerautomaten Kellerautomaten 8 Spracherkennung (Syntaxanalyse) Algorithmus gesucht, der für L T (möglichst schnell) entscheidet, ob w L (Lösung des Wortproblems) Grammatik Automat Aufwand rechtslinear

Mehr

FORMALE SYSTEME. 8. Vorlesung: Minimale Automaten. TU Dresden, 6. November Markus Krötzsch Lehrstuhl Wissensbasierte Systeme

FORMALE SYSTEME. 8. Vorlesung: Minimale Automaten. TU Dresden, 6. November Markus Krötzsch Lehrstuhl Wissensbasierte Systeme FORMALE SYSTEME 8. Vorlesung: Minimale Automaten Markus Krötzsch Lehrstuhl Wissensbasierte Systeme TU Dresden, 6. November 2017 Rückblick Markus Krötzsch, 6. November 2017 Formale Systeme Folie 2 von 26

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

3. Vorlesung: Endliche Automaten Markus Kr otzsch Lehrstuhl Wissensbasierte Systeme

3. Vorlesung: Endliche Automaten Markus Kr otzsch Lehrstuhl Wissensbasierte Systeme Wiederholung Mit Grammatiken können wir Sprachen beschreiben und sie grob in Typen unterteilen: FORMALE SYSTEME 3. Vorlesung: Endliche Automaten Markus Krötzsch Lehrstuhl Wissensbasierte Systeme Formale

Mehr

Akzeptierende Turing-Maschine

Akzeptierende Turing-Maschine Akzeptierende Turing-Maschine Definition: Eine akzeptierende Turing-Maschine M ist ein Sechstupel M = (X, Z, z 0, Q, δ, F ), wobei (X, Z, z 0, Q, δ) eine Turing-Maschine ist und F Q gilt. Die von M akzeptierte

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