Beispiele für Wortverarbeitung durch NEA. Beispiele für NEA (1) Beispiele für NEA (2) Beispiele für NEA (3) 1.) 1 q 2. q 5. q 1 1 0,1,2. 0 q 2.

Größe: px
Ab Seite anzeigen:

Download "Beispiele für Wortverarbeitung durch NEA. Beispiele für NEA (1) Beispiele für NEA (2) Beispiele für NEA (3) 1.) 1 q 2. q 5. q 1 1 0,1,2. 0 q 2."

Transkript

1 Beispiele für Wortverarbeitung durch NA q, q q 3 q q 4 Wort Weg q, q, q q, q, q, q, q, nicht akzeptierend Weg q, q, q nicht fortsetzbar Weg q, q, q, q, q 3, q 5 nicht fortsetzbar Weg q, q, q, q, q, q q 3 q 6 nicht akzeptierend Weg q, q, q, q, q, q q 3 q 5 akzeptierend Für ein Wort sind Berechnungen möglich, die zu undefiniertem Verhalten führen, zu nicht akzeptieren Zuständen führen oder zu akzeptierenden Zuständen führen. ine einzige Folge von Zustandsübergängen, die zu einem akzeptierenden Zustand führt, reicht für L(A). Für den oben angegebenen NA ist die akzeptierte Sprache L(A) = (+) + ( + ) + ( + ) + ( + ) = (+) ( + )+ ( + ) ( + ) = (+) ( + )( + ) q 5 q 6.) q Beispiele für NA (),,, q, q 3 Der Automat akzeptiert die Sprache..) q q q,, Der Automat akzeptiert die Sprache ( + ) ( + ). 3.) q q q 3 q Der Automat akzeptiert die Sprache, die aus allen Wörtern besteht, die genau ein Paar aufeinanderfolgender Nullen enthalten. in regulärer Ausdruck,der diese Sprache darstellt, ist ( ) ( ) q 4 c LTTMANN 3/4 Modellierung Reguläre Sprachen V-33 c LTTMANN 3/4 Modellierung Reguläre Sprachen V-34 Beispiele für NA () 4.) Die Sprache () wird akzeptiert von q' q' q' q' 3 5.) Die Sprache ( () ) wird akzeptiert von q q' q' q' oder kürzer durch q' q' q' q' 3 q' 3 Beispiele für NA (3) 8.) Die Sprache ( () ) +( () ) + wird akzeptiert von q' q' q' q' 3 q q" q" q" q" 3 6.) Die Sprache () wird akzeptiert von 9.) Die Sprache ( () ) ( () ) + wird akzeptiert von q" q" q" q" 3 7.) Die Sprache ( () ) + wird akzeptiert von q' q' q' q' 3 q q" oder kürzer durch q" q" q" 3 q" q" q" q" 3 q" q" q" q" 3 c LTTMANN 3/4 Modellierung Reguläre Sprachen V-35 c LTTMANN 3/4 Modellierung Reguläre Sprachen V-36

2 Verhältnis von DA und NA Offenbar ist jeder DA ein NA. Die Automaten akzeptieren die gleiche Sprache: Äquivalenz von DA und NA Sei L eine Sprache. s gibt einen NA, der L akzeptiert, genau dann, wenn es einen DA gibt, der L akzeptiert. q q,,, q, q 3 q q 3 Sei A N =(Q N, Σ,δ N,q N,,F N ) ein NA. Wir konstruieren einen DA A D =(Q D, Σ,δ D,q D,,F D ) durch Q D = P(Q N ) δ D (U, s) = q U δ N(q, s) für U P(Q N ),s Σ q D, = {q N, } F D = {U P(Q N ) U F N } Frage Kann man zu jedem NA einen DA angeben, der die gleiche Sprache akzeptiert? Der Automat A D verfolgt also quasi gleichzeitig alle Wege in A N, die für ein ingabewort möglich sind. Der Zustand, der in A D erreicht wird, entspricht der Menge der Zustände von A N, die in A N erreicht werden können. Für diesen Automaten A D gilt L(A D )=L(A N ) ( durch nduktion über Aufbau von Σ ) Bei der konkreten Konstruktion eines DA A D zu einem NA A N beschränkt man sich auf die Zustandsmengen, die man für die Wörter aus Σ in A N erreichen kann. Dies ist nicht unbedingt die ganze Menge P(Q N ). c LTTMANN 3/4 Modellierung Reguläre Sprachen V-37 c LTTMANN 3/4 Modellierung Reguläre Sprachen V-38 Beispiel Äquivalenz von DA und NA q, q q, q δ N (q, ) δ N (q, ) q {q } {q,q } q {q } q {q } {q } Wir bestimmen im Transitionsdiagramm des Automaten A D wie im zuvor die Zusammenhangskomponente von {q }. Verhältnis von DA/NA und reguläre Sprachen Wir wissen bereits: Wenn eine Sprache L Σ von einem DA akzeptiert wird, dann läßt sich L durch einen regulären Ausdruck beschreiben. ilt dies auch umgekehrt? ibt es zu jeder regulären Sprache einen DA, der sie akzeptiert? Aufgrund der Äquivalenz von DA und NA zeigen wir dies für NA. q δ D (q, ) δ D (q, ) {q } {q } {q,q } {q,q } {q } {q,q,q } {q,q,q } {q,q } {q,q,q } {q,q } {q,q } {q,q,q } Wir müssen nur diese 4 Zustände für den Automaten A D verwenden! { q } { q, q } { q, q, q } { q, q } c LTTMANN 3/4 Modellierung Reguläre Sprachen V-39 c LTTMANN 3/4 Modellierung Reguläre Sprachen V-4

3 Äquivalenz von NA und regulären Sprachen () Äquivalenz von NA und regulären Sprachen () Für jede reguläre Sprache L Σ gibt es einen NA, der sie akzeptiert. Der wird durch nduktion über den Aufbau regulärer Sprachen geführt. Wir geben hier nur jeweils die Automaten an ohne explizit zu zeigen, dass diese die jeweilige Sprache akzeptieren..) L = wird akzeptiert durch A =({q }, Σ,δ,q, ) mit δ(q, s) = für alle q {q },s Σ..) L = {ε} wird akzeptiert durch A ε =({q }, Σ,δ,q, {q }) mit δ(q, s) = für alle q {q },s Σ. 3.) L = {a} mit a Σ wird akzeptiert durch A a =({q,q }, Σ,δ,q, {q }) mit δ(q,a)=q und δ(q, s) = für q = q und alle s Σ und q = q und alle s Σ,s a. 4.) Die Sprache L Σ werde durch den Automaten A =(Q, Σ,δ,q,F ) akzeptiert und L Σ durch A =(Q, Σ,δ,q,F ) und es gelte Q Q =. Wie in den Beispielen für NA definieren wir jetzt NA für L L,L L und (L ). (Fortsetzung) 4.) a.) Die Sprache L L wird akzeptiert von A =(Q, Σ,δ,q,F) mit Q = Q Q {q } mit q Q Q { F F falls q F,q F F = F F {q } sonst δ (q, s) falls q Q δ(q, s) = δ (q, s) falls q Q δ (q,s) δ (q,s) sonst, also q = q b.) Die Sprache L L wird akzeptiert von A =(Q, Σ,δ,q,F) mit Q = Q Q { F {q F = } falls q F,q F F sonst δ (q, s) falls q Q \ F,δ (q, s) F = δ (q, s) {q δ(q, s) = } falls q Q \ F,δ (q, s) F δ (q, s) falls q Q δ (q, s) δ (q,s) sonst, also q F c.) Die Sprache (L ) wird akzeptiert von A =(Q, Σ,δ,q,F) mit Q = Q {q } mit q Q F = F {q } δ (q, s) falls q Q,δ (q, s) F = δ(q, s) = δ (q, s) {q } falls q Q,δ (q, s) F δ (q,s) sonst, also q = q c LTTMANN 3/4 Modellierung Reguläre Sprachen V-4 c LTTMANN 3/4 Modellierung Reguläre Sprachen V-4 rweiterungen endlicher Automaten ndliche Automaten können als Read-Once-Turingmaschinen ohne Arbeitsband aufgefasst werden: ingabe-band... a b b b a b b... Lesekopf ndliche Kontrolle Leserichtung Typische Fragestellungen für endliche Automaten Vervollständigen Sie einen partiellen DA. eben Sie für eine reguläre Sprache (gegeben als Menge oder regulärer Ausdruck) einen endlichen Automaten (NA/DA) an, der diese Sprache akzeptiert. eben Sie zu einem endlichen Automaten (NA/DA) die von ihm akzeptierte Sprache an (als Menge oder regulärer Ausdruck). Konstruieren Sie zu einem NA einen äquivalenten DA. rweiterungsmöglichkeiten: Mehrfaches Lesen, Arbeitsband, Ausgabeband,... ε-übergänge ndliche Automaten mit Ausgabeverhalten: Jeder Zustand sorgt für eine bestimmte Ausgabe. Moore-Automaten A =(Q, Σ,,δ,λ,q ) Ausgabealphabet und λ : Q Ausgabefunktion Jeder Zustandsübergang sorgt für eine bestimmte Ausgabe. Mealy-Automaten A =(Q, Σ,,δ,λ,q ) Ausgabealphabet und λ : Q Σ Ausgabefunktion Mealy- und Moore-Automaten sind äquivalent: Die Mengen der Sprachen, die aus den durch die ingabewörter erzeugten Ausgabewörtern der Automaten bestehen, sind gleich abgesehen von dem ersten Buchstaben der Ausgabewörter bei Moore-Automaten. c LTTMANN 3/4 Modellierung Reguläre Sprachen V-43 c LTTMANN 3/4 Modellierung Reguläre Sprachen V-44

4 rzeugen von Sprachen Kontextfreie rammatiken Beschreibung arithmetische Ausdrücke mit den Operationen +, Jede Variable ist arithmetischer Ausdruck. expr x Jede Zahl ist arithmetischer Ausdruck. expr n Arithmetische Ausdrücke können mit Operationen geschachtelt werden. expr expr + expr expr expr expr Anwendung der Regeln zur Produktion von arithmetischen Ausdrücken: expr expr + expr expr + expr expr 7+y 3 rsetzungen durch Regelanwendung erfolgen unabhängig vom Kontext! Anwendung der Regeln zur Analyse von arithmetischen Ausdrücken: ine (kontextfreie) rammatik =(V,T,P,S) besteht aus einem endlichen Alphabet V von Variablen (Nicht-Terminalzeichen), einem endlichen Alphabet T von Terminalzeichen mit V T =, einer endlichen Menge P von Produktionen, P V (V T ),und einem ausgezeichneten Startsymbol S V. Schreibweisen: Variablen S, A, B, C,... roßbuchstaben Terminale a, b, c,... Kleinbuchstaben Produktionen A abacs Kürzere Darstellungen von Produktionen A ab AA ε statt A ab A AA A ε Die Anwendung von Produktionen auf Wörter in (V T ) ist analog zur Anwendung von Axiomen auf Terme in abstrakten Algebren. 7+y 3 expr + expr expr expr expr expr c LTTMANN 3/4 Modellierung Reguläre Sprachen V-45 c LTTMANN 3/4 Modellierung Reguläre Sprachen V-46 Ableitungen und Sprachen Ableitungsbäume Sei =(V,T,P,S) eine kontextfreie rammatik. Man kann anhand der Produktionen eine Ableitungsrelation w v auf den Wörtern (V T ) definieren. Für eine kontextfreie rammatik =(V,T,P,S) definieren wir die Ableitungsrelation induktiv durch: Beispiel Sei =(V,T,P,) die kontextfreie rammatik mit. V = {,}. T = {,,..., 9, +, } 3. P = { +,... 9,... 9}. α α gilt für alle α (V T ). Zur erzeugten Sprache gehören +3*4, 3+4+5, 67,..., * αaβ αγβ gilt für α, β, γ (V T ) und A V mit (A γ) P. Ableitungsbaum 3. Falls α n βaγfür α, β, γ (V T ) und A V gilt und (A δ) P ist, so gilt auch α n+ βδγ. + * Wir schreiben α β, falls es ein k N gibt mit α k β. + 4 Für eine kontextfreie rammatik =(V,T,P,S) ist die von erzeugte Sprache. L() ={w T S w} 3 Knotenmarkierung aus V T {ε} nnere Knoten haben Markierungen aus V, Blätter aus T {ε} nnere Knoten und ihre unmittelbaren Nachfolger entsprechen Produktionen aus P Knoten mit Label ε sind Blätter und einziger unmittelbarer Nachfolger eines Knotens c LTTMANN 3/4 Modellierung Reguläre Sprachen V-47 c LTTMANN 3/4 Modellierung Reguläre Sprachen V-48

5 Beispiel einer kontextfreien rammatik Reguläre rammatiken Sei =({S}, {a, b}, {S asb ε},s), dann ist eine kontextfreie rammatik. Offensichtlich gehören zu L() die Wörter ε ab aabb aaabbb aaaabbbb... s gilt L() ={a n b n n N} wobei a n die Konkatenation von n Buchstaben a bezeichnet. ine rechtslineare rammatik =(V,T,P,S) besteht aus einem endlichen Alphabet V von Variablen (Nicht-Terminalzeichen), einem endlichen Alphabet T von Terminalzeichen mit V T =, einer endlichen Menge P von Produktionen, P V (T V T ), und einem ausgezeichneten Startsymbol S V. ine rechtslineare rammatik ist also eine rammatik mit einer eingeschränkten Form von Produktionen, nämlich nur sind erlaubt. A wb und A w Analog definierte rammatiken mit Produktionen der Form A Bw und A w heißen linkslineare rammatiken. L() ist KN reguläre Sprache. Rechtslineare und linkslineare rammatiken heißen reguläre rammatiken. c LTTMANN 3/4 Modellierung Reguläre Sprachen V-49 c LTTMANN 3/4 Modellierung Reguläre Sprachen V-5 Beispiele regulärer rammatiken () Wir setzen das Alphabet Σ={, } voraus und geben nur die Produktionen an..) Die Sprache {w w Σ } wird erzeugt von P = { S S S }.) Die Sprache () wird erzeugt von P = { S S A, A A ε } 3.) Die Sprache ( () ) + wird erzeugt von S Startsymbol P 3 = { S S, S S A, A A ε S } 4.) Die Sprache ( () ) wird erzeugt von S Startsymbol P 4 = { S ε S, S S A, A A S } 5.) Die Sprache () + () wird erzeugt von P 5 = { S S S, S ε S, S ε S } Äquivalenz von regulären rammatiken und regulären Sprachen () Für jede reguläre Sprache L Σ gibt es rechtslineare rammatik, die diese Sprache L erzeugt. Der wird durch nduktion über den Aufbau regulärer Sprachen geführt. Wir geben hier nur jeweils die rammatiken an ohne explizit zu zeigen, dass diese die jeweilige Sprache erzeugen..) L = wird erzeugt durch =({S}, Σ,,S)..) L = {ε} wird erzeugt durch ε =({S}, Σ, {(S ε)},s). 3.) L = {a} mit a Σ wird erzeugt durch a =({S}, Σ, {(S a)},s). 4.) Die Sprache L Σ werde durch den Automaten =(V, Σ,P,S ) erzeugt und L Σ durch =(V, Σ,P,S ) und es gelte V V =. a.) Die Sprache L L wird erzeugt von =(V,Σ,P,S) mit V = V V {S} mit S V V P = P P {(S S ), (S S )} b.) Die Sprache L L wird erzeugt von =(V,Σ,P,S ) mit V = V V P = {(A ws ) (A w) P } {(A wb) P } P c.) Die Sprache (L ) wird erzeugt von =(V,Σ,P,S ) mit V = V {S} mit S V P = {(A ws) (A w) P } {(A wb) P } {(S ε S )} c LTTMANN 3/4 Modellierung Reguläre Sprachen V-5 c LTTMANN 3/4 Modellierung Reguläre Sprachen V-5

6 Beispiele regulärer rammatiken () Wir setzen das Alphabet Σ={, } voraus. egeben sei der vollständige deterministische Automat A q q q L(A) wird erzeugt von der folgenden rammatik V = {Q,Q,Q,Q 3 } T = {, } P = { Q Q Q, Q Q Q, Q Q Q 3, Q 3 Q Q, Q 3 ε } Q Startsymbol q 3 Äquivalenz von regulären rammatiken und regulären Sprachen () Für jeden vollständigen DA A gibt es eine rechtslineare rammatik, die die von A akzeptierte Sprache L erzeugt. Sei A =(Q, Σ,δ,q,F) ein DA. Wir definieren die rammatik =(V,T,R,S) durch: V = Q Die Nicht-Terminalzeichen der rammatik sind die verschiedenen Zustände des Automaten. Zur Verdeutlichung schreiben wir sie groß: Q i statt q i. T =Σ Terminalzeichen sind die Buchstaben des Alphabets. S = Q Als Startsymbol wählen wir das dem Anfangszustand des Automaten entsprechende Nicht-Terminal. P Für jeden Zustand q und jeden Buchstaben s Σ wird eine Regel Q sq mit q = δ(q, s) erzeugt. Für jedes q F erzeugen wir zusätzlich eine Regel Q ɛ. Diese rammatik erzeugt die gewünschte Sprache L() =L(A) c LTTMANN 3/4 Modellierung Reguläre Sprachen V-53 c LTTMANN 3/4 Modellierung Reguläre Sprachen V-54 Beispiele regulärer rammatiken (3) Wir setzen das Alphabet Σ={, } voraus. Die Sprache () + () wird erzeugt von P = { S S S, S ε S, S ε S } Die rammatik können wir umformen in P = { S S S, S ε X,X X,X S, S ε Y,Y Y,Y S } und weiter in P = { S ε X Y, S ε X,X X,X S, S ε Y,Y Y,Y S } Die von dieser rammatik erzeugte Sprache wird von diesem Automaten akzeptiert: S X X Äquivalenz von regulären rammatiken und regulären Sprachen (3) Für jede rechtslineare rammatik gibt es einen NA A, der die von erzeugte Sprache L akzeptiert. Sei =(V,Σ,P,S) eine rechtslineare rammatik und L() die erzeugte Sprache. O.. können wir annehmen, dass alle Regeln in P die estalt A sb mit s Σ,A,B V oder A ε hat. Allgemein ersetzen wir eine Regel A s...s k durch (A s X ),..., (X k s k X k ), (X k ε) mit neuen paarweise verschiedenen Nicht-Terminalen X,..., X k, A s...s k B durch (A s Y ),..., (Y k s k B) mit neuen paarweise verschiedenen Nicht-Terminalen Y,..., Y k, ergänzen eine Regel A sa, falls Regeln (A A ),..., (A k A k ), (A k sa) mit paarweise verschiedenen A,..., A k existiert, B ε, falls Regeln (B B ),..., (B j B j ), (B j ε) mit paarweise verschiedenen B,..., B j existieren, und eliminieren dann alle Regeln A B mit A, B V. S S Y Y Fassen wir jedes Nicht-Terminal A V als Zustandsbezeichner auf, jede Regel A sb als Zustandsübergang von Zustand A nach Zustand B bei ingabesymbol s und für jede Regel A ε den Zustand A als ndzustand, dann erhalten wir einen NA A mit L(A) =L() c LTTMANN 3/4 Modellierung Reguläre Sprachen V-55 c LTTMANN 3/4 Modellierung Reguläre Sprachen V-56

7 Typische Fragestellungen für reguläre rammatiken eben Sie zu Wörtern einer durch eine rechtslineare rammatik erzeugten Sprache Ableitungsbäume an. eben Sie für eine reguläre Sprache (gegeben als Menge oder regulärer Ausdruck oder NA/DA) eine rechtslineare rammatik an, die diese Sprache erzeugt. eben Sie zu einer rechtslinearen rammatik die von ihr erzeugte Sprache an (als Menge oder regulärer Ausdruck). Konstruieren Sie zu einer rechtslinearen rammatik einen NA, der genau die erzeugte Sprache der rammatik akzeptiert. Abgeschlossenheit regulärer Mengen Die Menge der regulären Mengen ist abgeschlossen gegen. Vereinigung, Konkatenation und Kleene scher Hüllenbildung. Komplementbildung st L Σ eine reguläre Menge, so ist auch Σ \ L eine reguläre Menge. 3. Schnittbildung Sind L und L reguläre Mengen, so ist auch L L eine reguläre Menge.. Siehe Folien V-4 und V-4.. Wenn wir einen DA A =(Q, Σ,δ,q,F ) haben mit L = L(A ) können wir A an das Alphabet Σ anpassen und A vervollständigen. Sei also A =(Q, Σ,δ,q,F) ein vollständiger DA mit L = L(A). Setzte A C =(Q, Σ,δ,q,Q\ F ), dann gilt L(A C )=Σ \ L(A) 3.) Seien L,L Σ reguläre Sprachen. Seien o.. A i =(Q i, Σ,δ i,q i,,f i ) für i =, vollständige DA mit L(A )=L und L(A )=L. Setzte A =(Q Q, Σ,δ,(q,,q, ),F F ) mit δ((q,i,q,j ),s)=δ(q,i,s) δ(q,i,s) Dann gilt L L = L(A) c LTTMANN 3/4 Modellierung Reguläre Sprachen V-57 c LTTMANN 3/4 Modellierung Reguläre Sprachen V-58 renzen regulärer Mengen Modellierungsaspekte Lemma (Pumping-Lemma) Sie L eine reguläre Sprache. Dann gibt es eine Konstante n N, so dass für jedes Wort w L mit w n gilt w läßt sich darstellen als w = v v v 3 mit v v nund v und v vv i 3 L für alle i N. n ist dabei kleiner oder gleich der Anzahl der Zustände des kleinsten (bzgl. Q) Automaten, der L akzeptiert. dee: s q j = q k Reguläre Ausdrücke: Beschreiben von Sprachen durch einfache Operationen auf einfachen elementaren Sprachen ndliche Automaten: Verarbeiten von Sprachen (nput = Symbol), Modellieren von Abläufen (nput = Aktion) Reguläre oder kontextfreie rammatiken: rzeugen von Sprachen (z.b. Programmiersprachen) durch Angabe von Syntaxdiagrammen (Zusammenfassung von Produktionen), Analysieren von Sprachen (z.b. Programmiersprachen) durch rstellen von Ableitungsbäumen q q j q k- s q k q m v v 3 v Wenn wir im Transitionsdiagramm auf einem akzeptierenden Weg für ein Wort w einen Zyklus haben, so können wir diesen Zyklus beliebig oft durchlaufen! Die Sprache L() ={a n b n n N} kann daher von keinem endlichen Automaten akzeptiert werden, da n größer als die Anzahl seiner Zustände sein kann, so dass im Weg für a n ein Zyklus sein muss und auch im Weg für b n, so dass die Folge der a und die Folge der b unabhängig voneinander aufgepumpt werden können. Die Folgen sind dann aber i.a. nicht mehr gleich lang. c LTTMANN 3/4 Modellierung Reguläre Sprachen V-59 c LTTMANN 3/4 Modellierung Reguläre Sprachen V-6

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

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

Mehr

Theoretische 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

Kapitel 3: Reguläre Grammatiken und Endliche. Automaten

Kapitel 3: Reguläre Grammatiken und Endliche. Automaten Kapitel 3: Reguläre Grammatiken und Endliche Automaten Prof.-Dr. Peter Brezany Institut für Softwarewissenschaft Universität Wien, Liechtensteinstraße 22 090 Wien Tel. : 0/4277 38825 E-mail : brezany@par.univie.ac.at

Mehr

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

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

Mehr

Kurz-Skript zur Theoretischen Informatik I

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

Mehr

Theoretische Grundlagen des Software Engineering

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

Mehr

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

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

Mehr

Grundlagen der Theoretischen Informatik

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

Mehr

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

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

Mehr

Theoretische Informatik. Grammatiken. Grammatiken. Grammatiken. Rainer Schrader. 9. Juli 2009

Theoretische Informatik. Grammatiken. Grammatiken. Grammatiken. Rainer Schrader. 9. Juli 2009 Theoretische Informatik Rainer Schrader Institut für Informatik 9. Juli 2009 1 / 41 2 / 41 Gliederung die Chomsky-Hierarchie Typ 0- Typ 3- Typ 1- Die Programmierung eines Rechners in einer höheren Programmiersprache

Mehr

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

Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz. Chomsky-0-Grammatik Rek. Aufz. Satz T5.2.2: Wenn L durch eine Chomsky-0- Grammatik G beschrieben wird, gibt es eine NTM M, die L akzeptiert. Beweis: Algo von M: Schreibe S auf freie Spur. Iteriere: Führe

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

Rekursiv aufzählbare Sprachen

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

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 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

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

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

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

Mehr

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

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

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

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

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

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

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

Mehr

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

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

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

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

Theoretische Grundlagen der Informatik

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

Mehr

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

äußere Klammern können entfallen, ebenso solche, die wegen Assoziativität von + und Konkatenation nicht notwendig sind:

äußere Klammern können entfallen, ebenso solche, die wegen Assoziativität von + und Konkatenation nicht notwendig sind: 3. Reguläre Sprachen Bisher wurden Automaten behandelt und Äquivalenzen zwischen den verschiedenen Automaten gezeigt. DEAs erkennen formale Sprachen. Gibt es formale Sprachen, die nicht erkannt werden?

Mehr

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

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

Mehr

Formale Sprachen. Script, Kapitel 4. Grammatiken

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

Mehr

Ü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

Grundlagen der Theoretischen Informatik

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

Mehr

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

(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

Grundlagen der Theoretischen Informatik

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

Mehr

Grundlagen der 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

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

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

Mehr

Das Pumping-Lemma Formulierung

Das Pumping-Lemma Formulierung Das Pumping-Lemma Formulierung Sei L reguläre Sprache. Dann gibt es ein n N mit: jedes Wort w L mit w n kann zerlegt werden in w = xyz, so dass gilt: 1. xy n 2. y 1 3. für alle k 0 ist xy k z L. 59 / 162

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

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

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

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

6 Kontextfreie Grammatiken

6 Kontextfreie Grammatiken 6 Kontextfreie Grammatiken Reguläre Grammatiken und damit auch reguläre Ausdrücke bzw. endliche Automaten haben bezüglich ihres Sprachumfangs Grenzen. Diese Grenzen resultieren aus den inschränkungen,

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

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 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

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

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

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

Zusammenfassung. Endliche Sprachen. Fazit zu endlichen Automaten. Teil 4: Grammatiken und Syntaxanalyse

Zusammenfassung. Endliche Sprachen. Fazit zu endlichen Automaten. Teil 4: Grammatiken und Syntaxanalyse Endliche Sprachen Folgerung: Alle endlichen Sprachen sind regulär. Beweis: Sei L={w 1,,w n } Σ*. Dann ist w 1 +L+w n ein regulärer Ausdruck für L. Zusammenfassung Beschreibungsformen für reguläre Sprachen:

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

Automaten und formale Sprachen Klausurvorbereitung

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

Mehr

Formale Sprachen. Reguläre Sprachen. Rudolf FREUND, Marian KOGLER

Formale Sprachen. Reguläre Sprachen. Rudolf FREUND, Marian KOGLER Formale Sprachen Reguläre Sprachen Rudolf FREUND, Marian KOGLER Endliche Automaten - Kleene STEPHEN KLEENE (99-994) 956: Representation of events in nerve nets and finite automata. In: C.E. Shannon und

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

Typ-3-Sprachen. Das Pumping-Lemma

Typ-3-Sprachen. Das Pumping-Lemma Das Pumping-Lemma Typ-3-Sprachen Um zu zeigen, daß eine Sprache L regulär ist, kannman einen NFA M angeben mit L(M) = L, oder eine rechtslineare Grammatik G angeben mit L(G) =L, oder einen regulären Ausdruck

Mehr

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

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Reguläre Ausdrücke als Suchmuster für grep Dank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen

Mehr

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

Grundlagen der Theoretischen Informatik

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

Mehr

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

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

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

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

Zusammenfassung. Beispiel. 1 Wir betrachten die folgende Signatur F = {,, +, 0, 1} sodass. 3 Wir betrachten die Identitäten E. 4 Dann gilt E 1 + x = 1 Zusammenfassung Zusammenfassung der letzten LVA Einführung in die Theoretische Informatik Christina Kohl Alexander Maringele eorg Moser Michael Schaper Institut für Informatik @ UIBK Wintersemester 2016

Mehr

Abschluss gegen Substitution. Wiederholung. Beispiel. Abschluss gegen Substitution

Abschluss gegen Substitution. Wiederholung. Beispiel. Abschluss gegen Substitution Wiederholung Beschreibungsformen für reguläre Sprachen: DFAs NFAs Reguläre Ausdrücke:, {ε}, {a}, und deren Verknüpfung mit + (Vereinigung), (Konkatenation) und * (kleenescher Abschluss) Abschluss gegen

Mehr

Kapitel IV Formale Sprachen und Grammatiken

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

Mehr

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung Theoretische Informatik Rainer Schrader Zentrum für Angewandte Informatik Köln 14. Juli 2009 1 / 40 2 / 40 Beispiele: Aus den bisher gemachten Überlegungen ergibt sich: aus der Chomsky-Hierarchie bleiben

Mehr

Einführung in die Computerlinguistik Formale Grammatiken rechtslineare und kontextfreie Grammatiken Kellerautomaten

Einführung in die Computerlinguistik Formale Grammatiken rechtslineare und kontextfreie Grammatiken Kellerautomaten Einführung in die Computerlinguistik Formale Grammatiken rechtslineare und kontextfreie Grammatiken Kellerautomaten Dozentin: Wiebke Petersen 13. Foliensatz Wiebke Petersen Einführung CL 1 Formale Grammatik

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

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

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 1. Automaten und Sprachen 1.1 Endlicher Automat Einen endlichen Automaten stellen wir uns als Black Box vor, die sich aufgrund einer Folge von

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@informatik.uni-trier.de 1 Automaten und Formale Sprachen Gesamtübersicht Organisatorisches Einführung Endliche

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische nformatik inheit 3 Kontextfreie Sprachen 1. Kontextfreie Grammatiken 2. Pushdown Automaten 3. igenschaften kontextfreier Sprachen Verarbeitung von Programmiersprachen Was ist das einfachste

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 7 15. Juni 2010 Einführung in die Theoretische

Mehr

Theoretische Informatik Testvorbereitung Moritz Resl

Theoretische Informatik Testvorbereitung Moritz Resl Theoretische Informatik Testvorbereitung Moritz Resl Bestandteile einer Programmiersprache: a) Syntax (Form): durch kontextfreie Grammatik beschrieben b) Semantik (Bedeutung) 1.) Kontextfreie Sprachen

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

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

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

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

Formale Sprachen. Spezialgebiet für Komplexe Systeme. Yimin Ge. 5ahdvn. 1 Grundlagen 1. 2 Formale Grammatiken 4. 3 Endliche Automaten 5.

Formale Sprachen. Spezialgebiet für Komplexe Systeme. Yimin Ge. 5ahdvn. 1 Grundlagen 1. 2 Formale Grammatiken 4. 3 Endliche Automaten 5. Formale Sprachen Spezialgebiet für Komplexe Systeme Yimin Ge 5ahdvn Inhaltsverzeichnis 1 Grundlagen 1 2 Formale Grammatien 4 Endliche Automaten 5 4 Reguläre Sprachen 9 5 Anwendungen bei Abzählproblemen

Mehr

Theoretische Grundlagen des Software Engineering

Theoretische Grundlagen des Software Engineering Theoretische Grundlagen des Software Engineering 2: Eigenschaften von regulären Sprachen schulz@eprover.org Software Systems Engineering Alphabet Definition: Ein Alphabet Σ ist eine nichtleere, endliche

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

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

Grammatiken. Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen Grammatiken Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen Grammatiken eignen sich besonders zur Modellierung beliebig tief geschachtelter,

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

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

Endliche Sprachen. Folgerung: Alle endlichen Sprachen sind regulär. Beweis: Sei L={w 1,,w n } Σ*. Dann ist w 1 +L+w n ein regulärer Ausdruck für

Endliche Sprachen. Folgerung: Alle endlichen Sprachen sind regulär. Beweis: Sei L={w 1,,w n } Σ*. Dann ist w 1 +L+w n ein regulärer Ausdruck für Endliche Sprachen Folgerung: Alle endlichen Sprachen sind regulär. Beweis: Sei L={w 1,,w n } Σ*. Dann ist w 1 +L+w n ein regulärer Ausdruck für L. 447 Zusammenfassung Beschreibungsformen für reguläre Sprachen:

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

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen -

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen - Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen - Thies Pfeiffer Technische Fakultät tpfeiffe@techfak.uni-bielefeld.de Vorlesung, Universität Bielefeld, Winter 2012/2013 1 / 1 Exkurs: Formale

Mehr

Kontextfreie Grammatiken

Kontextfreie Grammatiken Kontextfreie Grammatiken Bisher haben wir verschiedene Automatenmodelle kennengelernt. Diesen Automaten können Wörter vorgelegt werden, die von den Automaten gelesen und dann akzeptiert oder abgelehnt

Mehr

2.1 Grundlagen: Kontextfreie Grammatiken

2.1 Grundlagen: Kontextfreie Grammatiken 2.1 Grundlagen: Kontextfreie Grammatiken Programme einer Programmiersprache können unbeschränkt viele Tokens enthalten, aber nur endlich viele Token-Klassen :-) Als endliches Terminal-Alphabet T wählen

Mehr

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel. Kontextfreie Kontextfreie Motivation Formale rundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen Bisher hatten wir Automaten, die Wörter akzeptieren Frank Heitmann heitmann@informatik.uni-hamburg.de

Mehr

Theoretische Informatik I

Theoretische Informatik I heoretische Informatik I Einheit 2 Endliche Automaten & Reguläre Sprachen. Deterministische endliche Automaten 2. Nichtdeterministische Automaten 3. Reguläre Ausdrücke 4. Grammatiken 5. Eigenschaften regulärer

Mehr

Seien M 1,M 2 NFAs f. die Sprachen L 1 und L 2. Konstruktion eines NFAs für L 1 L 2 : Erzeuge Kopien von M 1 und M 2. p 1

Seien M 1,M 2 NFAs f. die Sprachen L 1 und L 2. Konstruktion eines NFAs für L 1 L 2 : Erzeuge Kopien von M 1 und M 2. p 1 Beispiel Produktautomat p Vereinfachte Konstruktion f. NFAs Seien M,M 2 NFAs f. die Sprachen L und L 2. Konstruktion eines NFAs für L L 2 : Erzeuge Kopien von M und M 2. p q q p 2 Erzeuge neuen Startzustand

Mehr

Teil V. Weiterführende Themen, Teil 1: Kontextsensitive Sprachen und die Chomsky-Hierarchie

Teil V. Weiterführende Themen, Teil 1: Kontextsensitive Sprachen und die Chomsky-Hierarchie Teil V Weiterführende Themen, Teil 1: Kontextsensitive Sprachen und die Chomsky-Hierarchie Zwei Sorten von Grammatiken Kontextsensitive Grammatik (CSG) (Σ, V, P, S), Regeln der Form αaβ αγβ α, β (Σ V ),

Mehr

Theoretische Grundlagen der Informatik

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

Mehr

Grundlagen der Theoretischen Informatik

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

Mehr

Beschreibungskomplexität von Grammatiken Definitionen

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

Mehr

Typ-1-Sprachen. Satz 1 (Kuroda ( ) 1964)

Typ-1-Sprachen. Satz 1 (Kuroda ( ) 1964) Typ-1-Sprachen Satz 1 (Kuroda (1934-2009) 1964) Eine Sprache L hat Typ 1 (= ist kontextsensitiv) genau dann, wenn sie von einem nichtdeterministischen LBA erkannt wird. Beweis: Sei zunächst L Typ-1-Sprache.

Mehr

Formale Systeme. Büchi-Automaten. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Formale Systeme. Büchi-Automaten. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK Formale Systeme Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State of Baden-Württemberg and National Large-scale Research Center of the Helmholtz

Mehr

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2014/2015

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

Mehr

Theoretische Informatik 2

Theoretische Informatik 2 Theoretische Informatik 2 Johannes Köbler Institut für Informatik Humboldt-Universität zu Berlin WS 2009/10 Die Chomsky-Hierarchie Definition Sei G = (V, Σ, P, S) eine Grammatik. 1 G heißt vom Typ 3 oder

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 10.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

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. δδ: AA = EE, SS, δδ, γ, ss 0, FF, EE = 0,1,

Mehr