Kurz-Skript zur Theoretischen Informatik I

Größe: px
Ab Seite anzeigen:

Download "Kurz-Skript zur Theoretischen Informatik I"

Transkript

1 Kurz-Skript zur Theoretischen Informatik I Inhaltsverzeichnis 1 Grundlagen 2 2 Reguläre Ausdrücke 4 3 Endliche Automaten Vollständige endliche Automaten ε Automaten Deterministische und nichtdeterministische EA 7 5 Minimale EA 8 6 Rechtslineare Grammatiken 9 7 Abschlußeigenschaften regulärer Sprachen und das Pumping-Lemma 10 8 Anwendungen 12 9 Mealy- und Moore-Maschinen 12 1

2 Kurzskript Theo Inf I 2 1 Grundlagen Abbildung 1: Themen der Theoretischen Informatik I Ein Alphabet Σ ist eine endliche Menge von Symbolen. Σ = {a, b, c, d,...} Ein Wort (über Σ) ist eine endliche (möglicherweise auch leere) Folge von Symbolen aus Σ. w = a 1 a 2 a 3...a m mit a i Σ Beispiel: Σ = {a, b, c}, w = acab Die Menge aller möglichen Wörter über einem Alphabet Σ bezeichnet man mit Σ. Wörter u und v kann man verketten (konkatenieren): u v = uv Beispiel: Σ = {a, b, c}, u = abac, v = cca, dann ist uv = abaccca Es gibt ein spezielles Wort, das leere Wort ε mit der Eigenschaft: ε w = w ε = w für alle w Σ (Verkettung mit dem leeren Wort ändert nichts.) Ein Wort hat eine eindeutig bestimmte Länge lg(w) oder w. Die Länge ist rekursiv definiert: Das leere Wort ε hat die Länge 0: ε = 0 Jedes Symbol des Alphabets hat die Länge 1: a = 1 für alle a Σ Bei Verkettung von Wörtern addieren sich die Längen: uv = u + v für alle Wörter u, v Ein Teilwort (Infix) ist eine zusammenhängende Teilfolge, ein Präfix ist ein Teilwort am Anfang, ein Suffix ist ein Teilwort am Ende eines Wortes.

3 Kurzskript Theo Inf I 3 Eine Sprache L (über Σ) ist eine beliebige Teilmenge von Σ : L Σ Auch Sprachen lassen sich konkatenieren: L 1 L 2 = {u v u L 1, v L 2 } Beispiel: L 1 = {a, aa, aaa, aaaa,...}, L 2 = {b, bb}, dann ist L 1 Ł 2 = {ab, abb, aab, aabb, aaab, aaabb, aaaab,aaaabb,...} und L 2 Ł 1 = {ba, bba, baa, bbaa, baaa, bbaaa, baaaa, bbaaaa,...} Durch Verkettung einer Sprache L mit sich selbst entsteht L 2 = L L. Diesen Vorgang kann man iterieren: L 3 = L 2 L, L 4 = L 3 L,... Man definiert L 0 = {ε}, L 1 = L und L = L 0 L 1 L 2... Angewendet auf das Alphabet Σ liefert der -Operator die schon oben erwähnte Menge aller Wörter über Σ Σ = {ε} Σ Σ 2... ( = leeres Wort, alle Wörter der Länge 1, alle Wörter der Länge 2,... ) Eine oft genutzte Funktion ist anzahl(w, a), die die Anzahl der Symbole a ( Σ) in einem Wort w ( Σ ) angibt. Andere Schreibweisen hierfür: anzahl(w, a) = w a = a (w)

4 Kurzskript Theo Inf I 4 2 Reguläre Ausdrücke Reguläre Ausdrücke sind ein Mittel, um Sprachen zu beschreiben. Die Menge aller regulären Ausdrücke über Σ, bzeichnet mit REXP Σ ist rekursiv definiert und jedem regulären Ausdruck entspricht eine reguläre Sprache: regulärer Ausdruck erzeugte Sprache Λ E {ε} a {a} α β L(α) L(β) wenn α, β reguläre Ausdruücke sind α β L(α) L(β) α L(α) Statt Λ und E benutzt man auch in regulären Ausdrücken häufig die Symbole und ε. Es gelten folgende Rechenregeln für reguläre Ausdrücke ( bedeutet: erzeugt dieselbe Sprache): α β β α und die Distributivgesetze α α α ε ε α α α α α α α ε ε α α (α ε) α α (β γ) (α β) (α γ) α (β γ) (α β) (α γ)

5 Kurzskript Theo Inf I 5 3 Endliche Automaten Ein endlicher Automat A = (Σ, S, δ, S 0, F) wird beschrieben durch das Eingabealphabet Σ eine endliche (!) Zustandsmenge S eine Zustandsüberführungsrelation δ( S Σ S) eine Menge von Startzuständen S 0 ( S) und eine Menge von Endzuständen F( S). Die Überführungsrelation δ wird meistens als Tabelle angegeben: a b.. s 1 s 2... s n Folgezustände Aufgabe eines endlichen Automaten: Lösung des Wortproblems w L(A)? (Prüfen, ob ein gegebenes Wort w zur Sprache L(A) gehört.) Die Sprache L(A) wird durch die Zustände und die Überführungsrelation bestimmt. Der Automat startet in einem Startzustand, erhält ein Wort w als Eingabe und arbeitet dieses Wort Zeichen für Zeichen ab. Dabei wechselt er nach jedem gelesenen Zeichen seinen Zustand so, wie es die Überführungsrelation beschreibt. Wenn der Automat sich nach dem letzten Zeichen in einem Endzustand befindet, gehört das Eingabewort zur definierten Sprache, sonst nicht. Achtung! Die Bezeichnung Endzustand ist irreführend! Es ist nicht so, dass die Abarbeitung eines Wortes immer in einem Endzustand endet, oder dass aus einem Endzustand kein weiterer Übergang mehr möglich ist. Eine bessere Bezeichnung wäre akzeptierender Zustand. Wichtige Begriffe: Konfiguration k = (s, v): s ist dabei der aktuelle Zustand, v der noch nicht gelesene Teil des Eingabewortes w. Folgezustand: Die Überführungsrelation δ beschreibt, welche Folgezustände erreicht werden können, wenn in einem Zustand s das Zeichen x gelesen wird: (s, x, s ) δ bedeutet, dass vom Zustand s beim Lesen des Zeichens x der Zustand s erreicht werden kann. Es kann zu einer Konfiguration mehrere Folgezustände geben (bei nichtdeterministischen Automaten) oder auch gar keinen Folgezustand (nicht vollständige Automaten). Schreibweise: Man fasst die Relation δ als mengenwertige Funktion auf und schreibt δ(s, x) = {s S (s, x, s ) δ} Übergang zu einer Folgekonfiguration: (s 1, xv) (s 2, v) ist möglich, wenn (s 1, x, s 2 ) δ Abarbeitung eines Wortes: Ein Wort w = x 1 x 2 x 3... x n wird komplett abgearbeitet, wenn es eine Folge von Konfigurationen gibt, die beim leeren Wort endet: (s 0, x 1 x 2...x n ) (s 1, x 2 x 3...x n ) (s 2, x 3... x n ).. (s n, ε)

6 Kurzskript Theo Inf I 6 Das Wort wird akzeptiert, wenn es komplett abgearbeitet wurde und s n ein Endzustand (akzeptierender Zustand) des Automaten ist. Die von einem endlichen Automaten A akzeptierte Sprache L(A) ist die Menge aller Wörter w Σ, die von A akzeptiert werden. Die von endlichen Automaten akzeptierten Sprachen sind genau die regulären Sprachen, dh. zu jedem regulären Ausdruck α gibt es einen endlichen Automaten A mit L(α) = L(A) und umgekehrt. 3.1 Vollständige endliche Automaten In der Überführungstabelle kann es leere Stellen geben, also Konfigurationen, zu denen es keinen Folgezustand gibt. Solche Automaten heißen nicht vollständig. Bei nicht vollständigen Automaten kann es passieren, dass ein Wort nicht komplett abgearbeitet werden kann. Verfahrung zur Vervollständigung von endlichen Automaten: Man kann jeden Automaten zu einem vollständigen Automaten machen, indem man einen neuen Zustand (tot) einführt, der an allen leeren Stellen der Tabelle eingetragen wird. Als Folgezustand für tot selber wird auch für alle Eingaben tot eingetragen. tot ist kein Endzustand (kein akzeptierender Zustand)! 3.2 ε Automaten Ein ε Automat ist ein endlicher Automat, der auch Zustandswechsel ohne Eingabe zulässt. Formal: δ S (Σ {ε}) S Man kann mit folgendem Verfahren jeden ε Automaten zu einem ε freien Automaten machen. Verfahrung zur Eliminierung von ε Übergängen: 1. Schritt: Füge einen neuen Startzustand s 0 und einen neuen Endzustand f ein, sodass der neue Automat nur genau einen Start- und Endzustand hat. Verbinde diese neuen Zustande durch ε-übergange mit den ursprünglichen Start- und Endzuständen. (Man hat nun also erst einmal mehr ε Übergänge als vorher.) 2. Schritt: Eliminiere alle ε Zyklen, indem man alle Zustände des Zyklus in einem neuen Zustand zusammenfasst. 3. Schritt: Ergänze alle ε Übergänge durch echte Übergänge: wenn (s, ε, s) δ und (s, a, t) δ, dann füge den Übergang (s, a, t) zu δ hinzu. 4. Schritt: Endzustände bestimmen: alle Zustände, aus denen sich der neue Endzustand f auf einem Weg nur aus ε Übergängen erreichen lässt, werden selber auch Endzustand. letzter Schritt: Eliminiere alle ε Übergänge und den anfangs hinzugefügten Endzustand f.

7 Kurzskript Theo Inf I 7 4 Deterministische und nichtdeterministische EA Bisher betrachtet: Nichtdeterministische EA, dh. es konnte mehrere Startzustände und zu einer Konfiguration konnte es mehrere Folgezustände geben. Bei deterministischen EA gibt es immer nur höchstens einen Folgezustand und auch nur einen Startzustand. In diesem Fall wird die Überführungs-Relation zu einer (partiellen) Funktion von S Σ S und man schreibt δ(s 1, x) = s 2 anstatt (s 1, x, s 2 ) δ bzw. statt δ(s 1, x) = {s 2 }. Bei der Angabe des Startzustandes S 0 werden häufig die Mengenklammern weggelassen und nur der Startzustand angegeben. (Endzustände kann es auch bei deterministischen EA mehrere geben, deshalb werden hier immer die Mengenklammern geschrieben.) Klar ist: Jeder deterministische EA kann auch als nichtdeterministischer EA aufgefaßt werden. umgekehrt gilt: Zu jedem nichtdeterministischen EA gibt es einen äquivalenten deterministischen EA. wie? Potenzmengenkonstruktion: Definiere neue Zustände, die Teilmengen von S entsprechen. Genauer: Sei A = (Σ, S, δ, S 0, F) der nichtdeterministsiche EA. Definiere A d = (Σ, 2 S, δ d, S d 0, F d ) durch 2 S = Menge aller Teilmengen von S (werden meist nicht alle gebraucht) S0 d = S 0 S (die Menge der Startzustände von A) F d = {R S R F } (alle Teilmengen von S, die einen Endzustand von A enthalten) und δ d (R, a) = s R δ(s, a) Praktische Vorgehensweise: Baue δ d schrittweise auf und bestimme dabei diejenigen Teilmengen von 2 S, die tatsächlich benötigt werden. 1. Schritt: Bestimme Startzustand S0 d = S 0 (dh. die Menge der Startzustände von A wird der Startzustand von A d 2. Schritt: Bestimme für jedes x Σ alle Folgezustände, die von einem Zustand aus S 0 aus erreicht werden können und fasse diese Folgezustände in einer Menge zusammen. Diese Teilmenge von S wird dann als Folgezustand von (S0, d x) für δ d definiert: δ d (S0, d x) := S := δ(s, x) Man erhält so neue Zustände, für die man das Verfahren wiederholt: folgende Schritte: Wiederhole dies für jede neue Zustandsmenge S S und für jedes x Σ bis keine neuen Zustandsmengen mehr entstehen: δ d (S, x) := s S δ(s, x) letzter Schritt: Bestimme Menge der Endzustände: alle Teilmengen, die einen der Endzustände von A enthalten. F d = {R S R F }. Beispiel für die Bildung der Mengen δ d (R, a) = s R δ(s, a): s S d 0 Seien S = {s 0, s 1, s 2, s 3 } und δ s 0 s 1 s 2 s 3 a {s 0, s 2 } {s 2, s 3 } {s 1, s 3 } die Zustandsmenge und Überführungsrelation eines endlichen nichtdeterministischen Automaten und sei R = {s 0, s 1 } eine Teilmenge von S. Dann ist für den deterministischen Automaten der Folgezustand von R für die Eingabe a definiert durch δ d (R, a) = δ(s 0, a) δ(s 1, a) = {s 0, s 2 } {s 2, s 3 } = {s 0, s 2, s 3 }

8 Kurzskript Theo Inf I 8 5 Minimale EA Ein deterministischer EA heißt minimal, wenn es keinen deterministischen EA mit weniger Zuständen gibt, der dieselbe Sprache akzeptiert. Man kann (deterministische) EA minimieren: (Idee dabei: betrachte die Zustandsmenge S als einen Zustand, der solange weiter zerlegt wird wie nötig.) 1. Schritt: Zerlege die Zustandsmenge S in zwei Teile F und S \ F. Bezeichne die beiden Teilmengen neu: S 11 := F, S 12 := S \ F. (Dies ist die 1. Partition der Menge S : Π 1 = {S 11, S 12 }) Schreibe auch die Überführungsrelation neu: Spaltenüberschriften bleiben die einzelnen Zustände, aber als Folgezustand wird nur die Teilmenge eingetragen: δ 1 : S Σ Π 1 (s, a) S 1j δ(s, a) S 1j folgende Schritte: Betrachte die Spalten (j), die zum selben Teil (Block)der Partition gehören: Falls es innerhalb eines Blocks ungleiche Spalten gibt, muss weiter zerlegt werden! falls es a S ij gibt mit δ i (s, a) δ i (t, a) für s, t S ij dann zerlege S ij in Teile, sodass jeder Teil nur aus gleichen Spalten in der Tabelle besteht. Dies bildet eine neue Partition Π i+1 Bilde für diese neue Partition eine neue Tabelle δ i+1 wie oben: Spaltenüberschriften sind immer noch die einzelnen Zustände, aber als Folgezustände werden nur die Blöcke der Partition Π i+1 eingetragen. Wiederhole dies solange, bis keine neuen Partitioenen mehr entstehen. (Die Spalten innerhalb eines Blocks sind alle gleich!) Schluss: Wenn es nun noch Blöcke gibt, die aus mehreren (gleichen) Spalten bestehen, dann können die entsprechenden Zustände zu einem zusammengefasst werden. Dies ist dann die minimale Zustandsmenge. Startzustand des minimalen Automaten ist der Block, der den Startzustand des Automaten A enthält. Endzustände des minimalen Automaten sind alle Blöcke, die einen Endzustand von A enthalten.

9 Kurzskript Theo Inf I 9 6 Rechtslineare Grammatiken Eine rechstlineare Grammatik G = (Σ, N, P, S) wird beschrieben durch die Menge der Terminalsymbole, dem Alphabet Σ die Menge der Nicht-Terminalsymbole, dem Alphabet N (mit N Σ = ) einer Menge von Produktionsregeln P( N Σ N Σ {ε}) und einem Startsymbol S( N). Die Produktionsregeln (l, r) mit l N und r Σ N Σ {ε} werden meist in der Form l r geschrieben. Das soll heißen: Auf der linken Seite des steht ein einzelnes Nichtterminalsymbol, auf der rechten Seite steht entweder ein Terminalsymbol gefolgt von einem Nichtterminalsymbol oder ein einzelnes Terminalsymbol oder ε. Ein Ableitungsschritt erlaubt es, in einem beliebigen Wort (Σ N) + ein Nichtterminalsymbol l durch r zu ersetzen, wenn l r eine Produktionsregel aus P ist: ulv urv Eine Ableitung x y ist eine Folge von Ableitungsschritten x x 1 x 2 x 3... x n = y. Ein Wort w Σ heißt ableitbar, wenn es eine Ableitung aus dem Startsymbol gibt: S w. Die von der Grammatik G erzeugte Sprache ist die Menge aller ableitbaren Wörter: L(G) = {w Σ S w}. Die von rechslinearen Grammatiken erzeugten Sprachen sind genau die regulären Sprachen, dh. zu jedem endlichen Automaten A gibt es eine rechslineare Grammatik G mit L(G) = L(A) und umgekehrt. : (Gegeben: endlicher Automat A = (Σ, S, δ, s 0, F) Gesucht: rechtslineare Grammatik) Wähle als Terminalalphabet Σ Wähle als Nicht-Terminalalphabet N die Menge der Zustände: N = S Wähle als Startsymbol s 0 Konstruiere P : für jeden Übergang (s, a, s ) δ füge die Regel s as in P ein für jeden Endzustand s F füge die Regel s ε in P ein : (Gegeben: rechtslineare Grammatik G = (Σ, N, P, S) Gesucht: endlicher Automat) Wähle als Eingabealphabet Σ Wähle als Zustandsmenge die Menge der Nicht-Terminalsymbole und ein weiteres neues Symbol N {f} Wähle als Startzustand S Definiere als Menge der Endzustände alle Symbole, die einen Übergang nach ε haben und das neue Symbol f: F = {B N B ε P } {f} Konstruiere δ: für jede Regel B ac P füge den Übergang (B, a, C) in δ ein für jede Regel B a P füge den Übergang (B, a, f) in δ ein Merkregel: B ac B a C B a B a f B ε B

10 Kurzskript Theo Inf I 10 7 Abschlußeigenschaften regulärer Sprachen und das Pumping-Lemma Abschlußeigenschaften regulärer Sprachen Wie kann man zeigen, dass eine gegebene Sprache L (über einem gegebenen Alphabet Σ) regulär ist? Dazu gibt es viele alternative Möglichkeiten: Indem man einen regulären Ausdruck angibt, der L beschreibt, oder indem man einen endlichen Automaten angibt, der L akzeptiert, oder indem man eine rechtslineare Grammatik angibt, die L erzeugt, oder indem man eine Sprache L 0 oder zwei Sprachen L 1, L 2 angibt, von denen man bereits weiß, dass sie regulär sind und zeigt, dass L = L 1 L 2 ist, oder L = L 1 L 2 ist, oder L = L 1 \ L 2 ist, oder L = L 1 L 2 ist, oder L = Σ \ L 0 ist, oder L = L 0 ist, oder L = SP(L 0 ) (die Spiegelung von L 0 ) ist. Sprachen, von denen man bereits weiß, dass sie regulär sind, sind u.a. die leere Sprache {} das Alphabet Σ selber die gesamte Wortmenge Σ jede endliche Sprache (Sprachen, die nur aus endlich vielen Wörtern bestehen) Wie kann man zeigen, dass eine gegebene Sprache L (über einem gegebenen Alphabet Σ) nicht regulär ist? Mit der Umkehrung der Abschlußeigenschaften: Finde eine nichtreguläre Sprache L 0 und eine reguläre Sprache L 1 und zeige, dass L 0 = L 1 L ist, oder L 0 = L 1 L ist, oder L 0 = L 1 \ L oder L 0 = L \ L 1 ist, oder L 0 = L 1 L oder L 0 = L L 1 ist, oder L 0 = Σ \ L 1 ist, oder L 0 = L 1 ist, oder L 0 = SP(L 1 ) (die Spiegelung von L 1 ) ist. Berühmtes Beispiel für eine nichtreguläre Sprache: L = {a n b n n 0} Alternative Möglichkeiten, um zu zeigen, dass eine Sprache L nicht regulär ist:

11 Kurzskript Theo Inf I 11 Das Pumping-Lemma Das Pumping-Lemma trifft eine Aussage der Form wenn L regulär ist, dann... Damit kann man niemals beweisen, dass eine Sprache regulär ist, sondern nur (durch indirekten Beweis), dass eine Sprache nicht regulär ist! Das Pumping-Lemma für reguläre Sprachen lautet: Wenn L regulär ist, dann gilt: Es gibt eine Zahl k N +, sodass für alle Wörter z L, deren Länge mindestens k ist, eine Zerlegung in drei Teile z = uvw existiert mit 1. v 1 (dh. v ist nicht das leere Wort) 2. uv k (dh. uv hat höchstens die Länge k) und 3. uv i w L für alle i N 0 Um zu beweisen, dass eine Sprache L nicht regulär ist, zeigt man entweder: die Aussage des Pumping-Lemmas gilt nicht, oder man zeigt: die Annahme, L sei regulär (und die Aussage des Pumping-Lemmas gelte), führt zu einem Widerspruch. Die praktische Vorgehensweise ist in beiden Fällen gleich: 1. nimm an, es gebe ein k N + (bzw. wähle ein beliebiges k N + ) 2. wähle ein spezielles Wort z L mit Länge k 3. untersuche jede mögliche Zerlegung z = uvw mit v 1 und uv k und zeige, 4. dass es immer ein spezielles i N 0 gibt, sodass uv i w L. (Dieses spezielle i kann für jede mögliche Zerlegung ein anderes sein! Beliebte Werte: i = 0 oder i = 2.)

12 Kurzskript Theo Inf I 12 8 Anwendungen Tipps zur Konstruktion von endlichen Automaten: Zustandsdiagramm schrittweise entwickeln sinnvolle Bezeichnungen für die Zustände wählen lieber zuviele Zustände als zu wenige 9 Mealy- und Moore-Maschinen Erinnerung endliche Automaten: gehen abhängig vom Zustand und aktueller Eingabe in Folgezustand arbeiten, bis das Eingabewort komplett abgearbeitet ist (sofern Folgezustände existieren) geben ja aus, falls Abarbeitung in einem akzeptierenden Zustand endet, geben nein aus, falls Abarbeitung in irgendeinem anderen Zustand endet. Etwas anders Mealy-Maschinen: gehen abhängig vom Zustand und aktueller Eingabe in Folgezustand arbeiten, bis das Eingabewort komplett abgearbeitet ist (sofern Folgezustände existieren) produzieren zusätzlich bei jedem Zustandsübergang ein Ausgabezeichen produzieren so für jede Eingabe ein Ausgabewort in welchem Zustand die Abarbeitung endet, ist egal; brauchen also keine Endzustandsmenge (besser: akzeptierende Zustände). Formal: Eine Mealy-Maschine ist definiert durch M = (Σ, Λ, S, δ, λ, s 0 ) mit Eingabealphabet Σ Ausgabealphabet Λ Zustandsmenge S Zustandsüberführungsfunktion δ : S Σ S Ausgabefunktion λ : S Σ Λ Startzustand s 0 Defintion der Ausgabe: f M (xw) = λ (s 0, xw) = λ(s 0, x) λ (δ(s 0, x), w) Moore-Maschine: wie Mealy-Maschine, nur dass nun die Ausgabe nicht bei einem Zustandsübergang, sondern beim einzelnen Zustand erfolgt. (Auch beim Startzustand, deshalb ist hier die Ausgabe immer eins länger als die Eingabe.) Also: Ausgabefunktion λ : S Λ

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

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

Die mathematische Seite

Die mathematische Seite Kellerautomaten In der ersten Vorlesung haben wir den endlichen Automaten kennengelernt. Mit diesem werden wir uns in der zweiten Vorlesung noch etwas eingängiger beschäftigen und bspw. Ansätze zur Konstruktion

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

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Wintersemester 2007 / 2008 Prof. Dr. Heribert Vollmer Institut für Theoretische Informatik 29.10.2007 Reguläre Sprachen Ein (deterministischer) endlicher Automat

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

Theoretische Informatik I

Theoretische Informatik I (702765) Skript zur Vorlesung am 30.6.2000 Aus der vorherigen Vorlesung: Theoretische Informatik I Satz W: Sei X ein Alphabet. Zu jeder regulären Sprache R X * gibt es ein n N, so daß für alle Wörter z

Mehr

Formale Sprachen. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S

Formale Sprachen. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S Formale Grundlagen (WIN) Franz Binder Institut für Algebra Johannes Kepler Universität Linz Vorlesung im 2008S http://www.algebra.uni-linz.ac.at/students/win/fg Inhalt Das Alphabet Σ sei eine endliche

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

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

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

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

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

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

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

10 Kellerautomaten. Kellerautomaten

10 Kellerautomaten. Kellerautomaten 10 Kellerautomaten Bisher hatten wir kontextfreie Sprachen nur mit Hilfe von Grammatiken charakterisiert. Wir haben gesehen, dass endliche Automaten nicht in der Lage sind, alle kontextfreien Sprachen

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

c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} c) {abcabc} d) {abcbc, abc, a} c) {aa, ab, ba, bb} d) {{aa}, {ab}, {ba}, {bb}}

c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} c) {abcabc} d) {abcbc, abc, a} c) {aa, ab, ba, bb} d) {{aa}, {ab}, {ba}, {bb}} 2 Endliche Automaten Fragen 1. Was ergibt sich bei {a, bc} {de, fg}? a) {abc, defg} b) {abcde, abcfg} c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} 2. Was ergibt sich bei {abc, a} {bc, λ}?

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

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

2. Übungsblatt 6.0 VU Theoretische Informatik und Logik

2. Übungsblatt 6.0 VU Theoretische Informatik und Logik 2. Übungsblatt 6.0 VU Theoretische Informatik und Logik 25. September 2013 Aufgabe 1 Geben Sie jeweils eine kontextfreie Grammatik an, welche die folgenden Sprachen erzeugt, sowie einen Ableitungsbaum

Mehr

Ein deterministischer endlicher Automat (DFA) kann als 5-Touple dargestellt werden:

Ein deterministischer endlicher Automat (DFA) kann als 5-Touple dargestellt werden: Sprachen und Automaten 1 Deterministische endliche Automaten (DFA) Ein deterministischer endlicher Automat (DFA) kann als 5-Touple dargestellt werden: M = (Z,3,*,qo,E) Z = Die Menge der Zustände 3 = Eingabealphabet

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

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

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

Ü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

Frank Heitmann 2/47. 1 Ein PDA beginnt im Startzustand z 0 und mit im Keller. 2 Ist der Automat

Frank Heitmann 2/47. 1 Ein PDA beginnt im Startzustand z 0 und mit im Keller. 2 Ist der Automat Formale Grundlagen der Informatik 1 Kapitel 5 Über reguläre Sprachen hinaus und (Teil 2) Frank Heitmann heitmann@informatik.uni-hamburg.de 21. April 2015 Der Kellerautomat - Formal Definition (Kellerautomat

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

Grundlagen der Informatik II

Grundlagen der Informatik II Grundlagen der Informatik II Tutorium 2 Professor Dr. Hartmut Schmeck Miniaufgabe * bevor es losgeht * Finden Sie die drei Fehler in der Automaten- Definition. δ: A = E, S, δ, γ, s 0, F, E = 0,1, S = s

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

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

Worterkennung in Texten speziell im Compilerbau 20. April Frank Heitmann 2/64 Grenzen regulärer Sprachen? Formale Grundlagen der Informatik 1 Kapitel 4 Über reguläre Sprachen hinaus und Pumping Lemma Frank Heitmann heitmann@informatik.uni-hamburg.de Wir haben mittlerweile einiges

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

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

Reguläre Sprachen und endliche Automaten

Reguläre Sprachen und endliche Automaten Reguläre Sprachen und endliche Automaten 1 Motivation: Syntaxüberprüfung Definition: Fließkommazahlen in Java A floating-point literal has the following parts: a whole-number part, a decimal point (represented

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

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018 2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018 Hier Aufkleber mit Name und Matrikelnummer anbringen Vorname: Nachname: Matrikelnummer: Beachten Sie: Bringen Sie

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

2.2 Nichtdeterministische endliche Automaten

2.2 Nichtdeterministische endliche Automaten 2 Endliche Automaten arbeiten und hier kann dann ggf. auch wieder auf die Konstruktion verwiesen werden. Fragen 1. Wie viele Informationen kann man in einem DFA speichern? a) beliebig viele b) endlich

Mehr

1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung!

1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung! Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 23/4 ILKD Prof. Dr. D. Wagner 2. Februar 24. Klausur zur Vorlesung Informatik III Wintersemester 23/24 Mit Lösung! Beachten Sie:

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

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

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

Mehr

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 - WS07/08

Informatik III - WS07/08 Informatik III - WS07/08 Kapitel 5 1 Informatik III - WS07/08 Prof. Dr. Dorothea Wagner dwagner@ira.uka.de Kapitel 5 : Grammatiken und die Chomsky-Hierarchie Informatik III - WS07/08 Kapitel 5 2 Definition

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

Übungen zur Vorlesung Modellierung WS 2003/2004 Blatt 11 Musterlösungen

Übungen zur Vorlesung Modellierung WS 2003/2004 Blatt 11 Musterlösungen Dr. Theo Lettmann Paderborn, den 9. Januar 24 Abgabe 9. Januar 24 Übungen zur Vorlesung Modellierung WS 23/24 Blatt Musterlösungen AUFGABE 7 : Es sei der folgende partielle deterministische endliche Automat

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 04.06.2013 An den Transitionen sieht man zunächst, dass nur die folgenden Zustandsübergänge

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Sascha Böhme, Lars Noschinski Sommersemester 2 Lösungsblatt 2 3. Mai 2 Einführung in die Theoretische Informatik Hinweis:

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

Grundbegriffe der Informatik Tutorium 33

Grundbegriffe der Informatik Tutorium 33 Tutorium 33 02.02.2017 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Gliederung 1 2 3 Ein ist ein Tupel A = (Z, z 0, X, f, Y, h)

Mehr

Grundlagen der Informatik II

Grundlagen der Informatik II Grundlagen der Informatik II Tutorium 1 Professor Dr. Hartmut Schmeck KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu elearning Konzept 2 Grundlagen der Informatik II Tutorium 1

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

Proseminar TI: Kellerautomaten. 1 Motivation. 2 Einführung. Vortrag: Von Sebastian Oltmanns und Dorian Wachsmann. Dozent: Wolfgang Mulzer.

Proseminar TI: Kellerautomaten. 1 Motivation. 2 Einführung. Vortrag: Von Sebastian Oltmanns und Dorian Wachsmann. Dozent: Wolfgang Mulzer. Proseminar TI: Kellerautomaten Vortrag: 10.11.2015 Von Sebastian Oltmanns und Dorian Wachsmann. Dozent: Wolfgang Mulzer. 1 Motivation Wir kennen bereits die Chomsky-Hierarchie. Sie klassiziert formale

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

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

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

Übung zur Vorlesung Grundlagen der theoretischen Informatik. Aufgabenblatt 7 Lösungen. Wiederholung: Pumping-Lemma für kontextfreie Sprachen Prof. Dr. Viorica Sofronie-Stokkermans Universität Koblenz-Landau Fachbereich 4: Informatik Dennis Peuter 01. Juni 2017 Übung zur Vorlesung Grundlagen der theoretischen Informatik Aufgabenblatt 7 Lösungen

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

Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014

Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014 Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014 Klausurnummer Nachname: Vorname: Matr.-Nr.: Aufgabe 1 2 3 4 5 6 7 max. Punkte 6 8 4 7 5 6 8 tats. Punkte Gesamtpunktzahl: Note: Punkte Aufgabe

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

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben Dieses Dokument soll mehr dazu dienen, Beispiele für die formal korrekt mathematische Bearbeitung von Aufgaben zu liefern, als konkrete Hinweise auf typische Klausuraufgaben zu liefern. Die hier gezeigten

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

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

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

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

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

Theoretische Informatik I

Theoretische Informatik I Theoretische Informatik I Einheit 2.5 Grammatiken 1. Arbeitsweise 2. Klassifizierung 3. Beziehung zu Automaten Beschreibung des Aufbaus von Sprachen Mathematische Mengennotation Beschreibung durch Eigenschaften

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

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

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

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

Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen Dr. Sebastian Bab WiSe 12/13 Theoretische Grundlagen der Informatik für TI Termin: VL 15 + 16 vom 17.12.2012 und 20.12.2012 Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen

Mehr

a b b a Alphabet und Wörter - Zusammengefasst Formale Grundlagen der Informatik 1 Kapitel 2 Endliche Automaten und reguläre Sprachen

a b b a Alphabet und Wörter - Zusammengefasst Formale Grundlagen der Informatik 1 Kapitel 2 Endliche Automaten und reguläre Sprachen Formale Grundlagen der Informatik Kapitel 2 und reguläre Sprachen Frank Heitmann heitmann@informatik.uni-hamburg.de 5. April 26 Frank Heitmann heitmann@informatik.uni-hamburg.de /52 Alphabet und Wörter

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

Grundbegriffe der Informatik Tutorium 10

Grundbegriffe der Informatik Tutorium 10 Grundbegriffe der Informatik Tutorium 10 Tutorium Nr. 32 Philipp Oppermann 17. Januar 2014 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum

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

Automaten und Formale Sprachen SoSe 2007 in Trier. Henning Fernau Universität Trier

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

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

TU Berlin Nachklausur TheGI 2 Automaten und Komplexität (Niedermeier/Hartung/Nichterlein, Sommersemester 2012)

TU Berlin Nachklausur TheGI 2 Automaten und Komplexität (Niedermeier/Hartung/Nichterlein, Sommersemester 2012) Berlin, 05. Oktober 2012 Name:... Matr.-Nr.:... TU Berlin Nachklausur TheGI 2 Automaten und Komplexität (Niedermeier/Hartung/Nichterlein, Sommersemester 2012) 1 2 3 4 5 6 7 Σ Bearbeitungszeit: 60 min.

Mehr

Automaten und Formale Sprachen ε-automaten und Minimierung

Automaten und Formale Sprachen ε-automaten und Minimierung Automaten und Formale Sprachen ε-automaten und Minimierung Ralf Möller Hamburg Univ. of Technology Literatur Gottfried Vossen, Kurt-Ulrich Witt: Grundkurs Theoretische Informatik, Vieweg Verlag 2 Danksagung

Mehr

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p.

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p. Thorsten Timmer SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke Turing Maschine SS 2005 p. 1/35 Inhalt Einführung Formale Definition Berechenbare Sprachen und Funktionen Berechnung ganzzahliger

Mehr

Automaten und Coinduktion

Automaten und Coinduktion Philipps-Univestität Marburg Fachbereich Mathematik und Informatik Seminar: Konzepte von Programmiersprachen Abgabedatum 02.12.03 Betreuer: Prof. Dr. H. P. Gumm Referentin: Olga Andriyenko Automaten und

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

Theoretische Informatik II

Theoretische Informatik II Theoretische Informatik II Einheit 4.2 Modelle für Typ-0 & Typ-1 Sprachen 1. Nichtdeterministische Turingmaschinen 2. Äquivalenz zu Typ-0 Sprachen 3. Linear beschränkte Automaten und Typ-1 Sprachen Maschinenmodelle

Mehr

5.2 Endliche Automaten

5.2 Endliche Automaten 114 5.2 Endliche Automaten Endliche Automaten sind Turingmaschinen, die nur endlichen Speicher besitzen. Wie wir bereits im Zusammenhang mit Turingmaschinen gesehen haben, kann endlicher Speicher durch

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

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

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

Mehr

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

Tutoraufgabe 1 (ɛ-produktionen):

Tutoraufgabe 1 (ɛ-produktionen): Prof aa Dr J Giesl Formale Systeme, Automaten, Prozesse SS 2010 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

Mehr

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012 Hier Aufkleber mit Name und Matrikelnr. anbringen

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

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

Grenzen der Regularität

Grenzen der Regularität Grenzen der Regularität Um die Mächtigkeit von endlichen Automaten zu verstehen, muss man auch ihre Grenzen kennen. Sei z.b. B = {0 n 1 n n 0} Gibt es einen DEA für B? Es sieht so aus, als müsste sich

Mehr

Worterkennung in Texten speziell im Compilerbau 14. April Frank Heitmann 2/65

Worterkennung in Texten speziell im Compilerbau 14. April Frank Heitmann 2/65 Grenzen regulärer Sprachen? Formale Grundlagen der Informatik 1 Kapitel 4 Über reguläre Sprachen hinaus und Frank Heitmann heitmann@informatik.uni-hamburg.de Wir haben mittlerweile einiges kennengelernt,

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 3. Endliche Automaten (III) 7.05.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Organisatorisches 1. Teilklausur: Mittwoch, 10.06.2015, D028,

Mehr

7 Endliche Automaten. 7.1 Deterministische endliche Automaten

7 Endliche Automaten. 7.1 Deterministische endliche Automaten 7 Endliche Automaten 7.1 Deterministische endliche Automaten 7.2 Nichtdeterministische endliche Automaten 7.3 Endliche Automaten mit g-übergängen Endliche Automaten 1 7.1 Deterministische endliche Automaten

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

Endliche Automaten. Endliche Automaten J. Blömer 1/24

Endliche Automaten. Endliche Automaten J. Blömer 1/24 Endliche Automaten Endliche Automaten J. Blömer /24 Endliche Automaten Endliche Automaten sind ein Kalkül zur Spezifikation von realen oder abstrakten Maschinen regieren auf äußere Ereignisse (=Eingaben)

Mehr

4.2.4 Reguläre Grammatiken

4.2.4 Reguläre Grammatiken 4.2.4 Reguläre Grammatiken Eine reguläre Grammatik ist eine kontextfreie Grammatik, deren Produktionsregeln weiter eingeschränkt sind Linksreguläre Grammatik: A w P gilt: w = ε oder w = Ba mit a T und

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

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

Informatik III. Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung 17.11.2006 schindel@informatik.uni-freiburg.de 1 Prinzip des Kellerautomats Push-Down-Automaton (PDA) Ein Kellerautomat vereinigt

Mehr

(Prüfungs-)Aufgaben zu formale Sprachen

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

Mehr

Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen

Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen Aufgabe 1 2 3 4 5 6 7 max. Punkte 6 6 7 7 8 8 12 err. Punkte Gesamtpunktzahl: Note: 1 Aufgabe 1 (3+1+1+1 = 6 Punkte) Es seien

Mehr

... = für δ(z, a i ) = z. Abbildung 4.4: Interpretation der Arbeitsweise eines endlichen Automaten

... = für δ(z, a i ) = z. Abbildung 4.4: Interpretation der Arbeitsweise eines endlichen Automaten 3 Reguläre Sprachen 63 3 Reguläre Sprachen In diesem Kapitel beschäftigen wir uns etwas näher mit den regulären Sprachen, insbesondere mit der Möglichkeit verschiedener Charakterisierungen und den Eigenschaften

Mehr