Der deterministische, endliche Automat. Formale Grundlagen der Informatik 1 Kapitel 3 Mehr zu regulären Sprachen

Größe: px
Ab Seite anzeigen:

Download "Der deterministische, endliche Automat. Formale Grundlagen der Informatik 1 Kapitel 3 Mehr zu regulären Sprachen"

Transkript

1 Der deterministische, endliche Automat Formale Grundlagen der Informatik 1 Kapitel 3 Mehr zu regulären Sprachen Frank Heitmann heitmann@informatik.uni-hamurg.de 8. April 2014 Definition (DFA) Ein deterministischer, endlicher Automat (DFA) ist ein 5-Tupel A = (Z, Σ, δ, z 0, Z end ) mit: Der endlichen Menge von Zuständen Z. Dem endlichen Alphaet Σ von Eingaesymolen. Der Üerführungsfunktion δ : Z Σ Z. Dem Startzustand z 0 Z. Der Menge der Endzustände Z end Z. Frank Heitmann heitmann@informatik.uni-hamurg.de 1/57 Frank Heitmann heitmann@informatik.uni-hamurg.de 2/57 Der nichtdeterministische, endliche Automat Der nichtdeterministische, endliche Automat Definition (NFA) Ein nichtdeterministischer, endlicher Automat (NFA) ist ein 5-Tupel A = (Z, Σ, δ, Z start, Z end ) mit: Der endlichen Menge von Zuständen Z. Dem endlichen Alphaet Σ von Eingaesymolen. Der Üerführungsfunktion δ : Z Σ 2 Z. Der Menge der Startzustände Z start Z. Der Menge der Endzustände Z end Z. Definition (NFA - Alternative) Ein nichtdeterministischer, endlicher Automat (NFA) ist ein 5-Tupel A = (Z, Σ, K, Z start, Z end ) mit: Der endlichen Menge von Zuständen Z. Dem endlichen Alphaet Σ von Eingaesymolen. Der Zustandsüergangsrelation K Z Σ Z Der Menge der Startzustände Z start Z. Der Menge der Endzustände Z end Z. Frank Heitmann heitmann@informatik.uni-hamurg.de 3/57 Frank Heitmann heitmann@informatik.uni-hamurg.de 4/57

2 Der NFA - Ein Beispiel DFA = NFA 0,1 1 z 0 z 1 Alle möglichen Rechnungen auf dem Wort 011: (z 0, 011) (z 0, 11) (z 1, 1) lockiert (z 0, 011) (z 0, 11) (z 0, 1) (z 0, λ) alehnen (z 0, 011) (z 0, 11) (z 0, 1) (z 1, λ) akzeptieren! Da es (mindestens) eine akzeptierende Rechnung git, akzeptiert der Automat die Eingae! NFAs und DFAs sind äquivalent, d.h. zu jedem DFA kann ein NFA konstruiert werden, der die gleiche Sprache akzeptiert und andersherum eenso. DFA NFA Jeder DFA kann auch als spezieller NFA gesehen werden, indem man δ N (z, x) = {δ D (z, x)} und Z start = {z 0 } setzt (δ N ist die Üerführungsfunktion des NFA, δ D die des DFA). NFA DFA Andersherum geht es mit der Potenzautomatenkonstruktion. Frank Heitmann heitmann@informatik.uni-hamurg.de 5/57 Frank Heitmann heitmann@informatik.uni-hamurg.de 6/57 Der Potenzautomat Der Potenzautomat - Ein Beispiel Zu jeder von einem NFA A akzeptierte Menge L kann ein DFA B konstruiert werden mit L(B) = L. a, a a, z 0 z 1 z2 Die Konstruktion Sei A = (Z, Σ, δ, Z start, Z end ) der NFA. Wir definieren B = (Z, Σ, δ, z 0, Z end ) mit 1 Z := 2 Z 2 Σ := Σ 3 δ (M, x) := z M δ(z, x) oder alternativ δ (M, x) := z M {z Z (z, x, z ) K 4 z 0 := Z start 5 Z end := {M 2Z M Z end } {z 0 } a {z 0, z 1 } Wohin nun von {z 0, z 1 } mit a und? Verfahren: Man geht alle Zustände der Menge durch (hier z 0 und z 1 ), guckt für jeden wohin man im NFA (!) mit dem jeweiligen Symol (z.b. a) kommt und tut alle daei herauskommende Zustände in eine Menge. Dies ist der Nachfolgezustand im DFA. Frank Heitmann heitmann@informatik.uni-hamurg.de 7/57 Frank Heitmann heitmann@informatik.uni-hamurg.de 8/57

3 Der Potenzautomat - Ein Beispiel Der Potenzautomat - Ein Beispiel a, a, a a, z 0 z 1 z2 a a, z 0 z 1 z2 Es ist δ(z 0, a) = {z 0, z 1 } und δ(z 1, a) = z 2 also insgesamt δ ({z 0, z 1 }, a) = {z 0, z 1, z 2 } und ähnlich für : {z 0 } a {z 0, z 1 } {z 0, z 2 } {z 0, z 1, z 2 } a Und fertig! {z 0 } {z 0, z 2 } a a {z 0, z 1 } a {z 0, z 1, z 2 } a Frank Heitmann heitmann@informatik.uni-hamurg.de 9/57 Frank Heitmann heitmann@informatik.uni-hamurg.de 10/57 Zusammenfassung Wichtige Anmerkung Jeder DFA akzeptiert eine Sprache. Man kann auch sagen, dass er eine (kompakte) Beschreiung dieser Sprache ist zw. jener Wörter, die in der Sprache enthalten sind. Eine Menge/Sprache ist gerade dann regulär, wenn es einen DFA git, der sie akzeptiert. Regulär zu sein ist also gerade üer die Automaten definiert! Die Familie der regulären Sprachen ist dann die Ansammlung all jener Sprachen für die es einen DFA git, der sie akzeptiert. Wir haen nun gelernt: Der NFA tut auch genau dies! Die Aussage eine Sprache ist regulär ist also gleichedeutend damit, dass es einen DFA git, der sie akzeptiert oder damit, dass es einen NFA git, der sie akzeptiert. Man kann einem NFA zusätzlich zu dem isherigen noch erlauen λ-kanten (oder ɛ-kanten) zu enutzen. Nutzt man diese, liest man nichts vom Eingaeand (und der Lesekopf auf dem Eingaeand geht nicht weiter). Es findet nur ein Zustandswechsel statt. λ z 0 a z 1 z 2 λ z 3 z 4 Frank Heitmann heitmann@informatik.uni-hamurg.de 11/57 Frank Heitmann heitmann@informatik.uni-hamurg.de 12/57

4 Lasst euch von der Einfachheit des Beispiels nicht täuschen. Die Kanten können sehr nützlich sein. Begriffe wie Rechnung etc. wären nun anzupassen Wissen Man kann zeigen, dass man einen NFA mit λ-kanten in einen λ-freien NFA umwandeln kann (und letztendlich dann auch in einen DFA). Vorgehen Wir wollen λ-kanten in estimmten Kontexten enutzen. Wir wissen dann, dass wir solch einen NFA auch in einen DFA umwandeln können, die Sprache also regulär ist. Wir werden aer weder formal die λ-kanten einführen, noch den Beweis führen, dass auch NFA mit ihnen wieder genau die regulären Sprachen akzeptieren. Wir werden sie einfach informal enutzen. Literaturhinweis Interessierte finden die Konstruktion im Skript und in [HMU] (siehe Literaturhinweis zu Anfang). Frank Heitmann 13/57 Frank Heitmann 14/57 Reguläre Sprachen Zu regulären Ausdrücken Bisher kennen wir zur Beschreiung einer regulären Sprache DFAs NFAs NFAs mit λ-kanten Wir lernen jetzt noch eine dritte Möglichkeit kennen... Wir wollen Sprachen mit Ausdrücken der Art a + (a + ( c)) usw. eschreien... Man kennt das vielleicht aus Programmiersprachen... Frank Heitmann heitmann@informatik.uni-hamurg.de 15/57 Frank Heitmann heitmann@informatik.uni-hamurg.de 16/57

5 Beispiele Definition () Sei Σ ein Alphaet. Die regulären Ausdrücke üer Σ sind induktiv definiert durch: 1 ist ein regulärer Ausdruck, der die Menge M = eschreit. 2 Für jedes a Σ ist a ein regulärer Ausdruck, der die Menge M a = {a} eschreit. 3 Sind X und Y reguläre Ausdrücke, die die Mengen M X und M Y eschreien, dann eschreit (X + Y ) die Menge M X M Y (X Y ) die Menge M X M Y X die Menge M X und X + die Menge M + X. 4 Nur die so erzeugten Ausdrücke sind reguläre Ausdrücke. Beispiele ( für eschreit die Menge ): (a + ) ({a} {}) = {a, } (a ) {a} {} = {a} a + a {a} {} {} {a} = {λ} Anmerkung Agesehen von + für also recht ähnlich zu den Mengenoperationen, die wir schon kennen! Wir enutzen die ülichen Klammerersparnis regeln wie vor + und hoch + zw. hoch vor. Frank Heitmann heitmann@informatik.uni-hamurg.de 17/57 Frank Heitmann heitmann@informatik.uni-hamurg.de 18/57 Äquivalenzeweis Äquivalenzeweis Man kann nun zeigen: Sei A ein regulärer Ausdruck und M A die von A eschrieene Menge. Dann git es einen DFA A mit L(A ) = M A. Sei A ein DFA. Dann git es einen regulären Ausdruck A so dass L(A ) = M A für die von A eschrieene Menge M A. Hinweis Wir skizzieren jetzt recht knapp eide Richtungen. Für später genügt es, wenn ihr wisst, dass die Äquivalensteht. Trotzdem hier jetzt einmal die Idee(n) und die Literaturhinweise für Interessierte... Bemerkung Die eiden Modelle sind also wieder äquivalent. Auch mit regulären Ausdrücken lassen sich also genau die regulären Sprachen eschreien. Frank Heitmann heitmann@informatik.uni-hamurg.de 19/57 Frank Heitmann heitmann@informatik.uni-hamurg.de 20/57

6 Die Richtung regulärer Ausdruck DFA ist relativ einfach. Zu jeder Operation ei der Erstellung eines regulären Ausdrucks git man ein Verfahren an, wie man einen NFA konstruieren kann. Z.B. zum rationalen Ausdruck A B z 0 z 0 0 z 0 e Z.B. zum rationalen Ausdruck a einfach z 0 a z 1 Frank Heitmann heitmann@informatik.uni-hamurg.de 21/57 Frank Heitmann heitmann@informatik.uni-hamurg.de 22/57 Z.B. zum rationalen Ausdruck A B Z.B. zum rationalen Ausdruck A B z 0 z 0 0 z 0 e z 0 z 0 0 z 0 e Frank Heitmann heitmann@informatik.uni-hamurg.de 23/57 Frank Heitmann heitmann@informatik.uni-hamurg.de 24/57

7 Z.B. zum rationalen Ausdruck A + B Z.B. zum rationalen Ausdruck A + B z 0 z 0 z 0 0 z 0 e z 0 0 z 0 e Frank Heitmann heitmann@informatik.uni-hamurg.de 25/57 Frank Heitmann heitmann@informatik.uni-hamurg.de 26/57 Z.B. zum rationalen Ausdruck A + B Z.B. zum rationalen Ausdruck A + B z 0 z 0 z z z 0 0 z 0 e z 0 0 z 0 e Frank Heitmann heitmann@informatik.uni-hamurg.de 27/57 Frank Heitmann heitmann@informatik.uni-hamurg.de 28/57

8 Äquivalenzeweis - Die Idee 2 Anmerkung Dies kann man für alle Operatoren machen und kann dann so wie der reguläre Ausdruck Stück für Stück aufgeaut ist, auch den Automaten dafür Stück für Stück aufauen. Im richtigen Verfahren wird noch auf Dinge geachtet, wie dass man nur einen Startzustand und Endzustand hat etc. (so wie oen). Literaturhinweis Interessierte finden die Konstruktion in [HMU] (und auf andere Weise im Skript). Die andere Richtung (DFA regulärer Ausdruck) ist schwieriger! Die Idee Mittels einer Rekursionsformel werden Worte eschrieen, die auf estimmten Pfaden im Automaten liegen. Damit lassen sich letztendlich alle akzeptierten Worte eschreien (also die akzeptierte Sprache) und (!) wir enötigen dafür nur endlich oft die einfachen Operationen, und, was mit regulären Ausdrücken geht. Frank Heitmann heitmann@informatik.uni-hamurg.de 29/57 Frank Heitmann heitmann@informatik.uni-hamurg.de 30/57 Äquivalenzeweis - Die Idee 2 Zusammenfassung Kern des Beweises ist es die Zustände durchzunummerieren z 1, z 2,..., z n (z 1 ist der Startzustand) und dann folgende Rekursionsformel zu enutzen { {x Ri,j k δ(zi, x) = z j oder (x = λ) (i = j)}, falls k = 0 = R k 1 i,j R k 1 i,k (R k 1 k,k ) R k 1 k,j, falls k 1 In R k i,j sind genau jene Worte enthalten, die gelesen werden können, wenn in z i egonnen wird in z j geendet wird und daei nur Zustände aus {z 1, z 2,..., z k } esucht werden. Man erechnet dann gerade die R n 1,x mit z x Z end, vereinigt diese und ist fertig. Literaturhinweis Interessierte finden die Konstruktion im Detail inkl. Beweis im Skript und in [HMU]. Frank Heitmann heitmann@informatik.uni-hamurg.de 31/57 Zusammenfassung Zu jeder regulären Sprache L git es einen DFA A mit L(A) = L einen NFA B mit L(B) = L einen NFA mit λ-kanten C mit L(C) = L einen regulären Ausdruck D, der L eschreit (M D = L). DFAs, NFAs, NFAs mit λ-kanten und reguläre Ausdrücke sind also äquivalent. Frank Heitmann heitmann@informatik.uni-hamurg.de 32/57

9 Definition Sei f 1 eine einstellige Operation auf Mengen und f 2 eine zweistellige Operationen. D.h. wenn M 1, M 2 zwei Mengen sind, dann sind auch f 1 (M 1 ) und f 2 (M 1, M 2 ) Mengen. Beispiel Eine Sprachfamilie C ist ageschlossen gegenüer der Operation f 1 zw. f 2, wenn für jedes R C auch f 1 (R) C gilt zw. wenn für R 1, R 2 C auch f 2 (R 1, R 2 ) C gilt. Oft schreit man die Operatoren in Infix-Notation (d.h. den Operator zwischen die Argumente). Beispiele in einem anderen Kontext sind z.b. die Addition ei den natürlichen Zahlen. Ziel Wir wollen jetzt für die regulären Sprachen untersuchen, also z.b. o für zwei reguläre Sprachen L 1, L 2 REG auch gilt. L 1 L 2 REG L + 1 REG L REG... Vorgehen Die Argumentation ist dann immer Seien L 1 und L 2 reguläre Sprachen, dann..., also ist auch L 1 L 2 regulär. Frank Heitmann heitmann@informatik.uni-hamurg.de 33/57 Frank Heitmann heitmann@informatik.uni-hamurg.de 34/57 Einfache Komplement Viele kriegen wir durch reguläre Ausdrücke geschenkt, da wir ja wissen, dass diese reguläre Sprachen eschreien. Die regulären Sprachen sind ageschlossen gegenüer,, +,. Beweis. Seien L 1, L 2 REG. Dann git es reguläre Ausdrücke A 1, A 2, die L 1 zw. L 2 eschreien. Nach Definition sind nun auch A 1 + A 2, A 1 A 2, A + 1, A 1 reguläre Ausdrücke, die die Mengen L 1 L 2, L 1 L 2, L + 1 und L 1 eschreien. Diese sind folglich auch regulär. (Da jede Sprache, die von einem regulären Ausdruck eschrieen werden kann, regulär ist.) Definition Sei L Σ. Dann ist das Komplement von L. Und Komplementildung...? L = {w Σ w L} Ideen?! Mit vollständigen DFAs? Frank Heitmann heitmann@informatik.uni-hamurg.de 35/57 Frank Heitmann heitmann@informatik.uni-hamurg.de 36/57

10 Komplement Komplement Die regulären Sprachen sind gegenüer Komplementildung ageschlossen, d.h. ist L REG, dann auch L REG. Beweis. Sei L REG. Dann git es einen vollständigen DFA A mit L(A) = L. Wir konstruieren nun einen vollständigen DFA A aus A wie folgt: Alles von A üernehmen z Z in A Endzustand, dann in A nicht z Z in A kein Endzustand, dann einer in A Die regulären Sprachen sind gegenüer Komplementildung ageschlossen, d.h. ist L REG, dann auch L REG. Beweis. (Wir haen gerade End- und Nicht-Endzustände getauscht.) Wurde ein Wort nun von A akzeptiert (die Rechnung endet in einem Endzustand), so wird es von A nicht akzeptiert (kein Endzustand). Wurde ein Wort von A nicht akzeptiert (Rechnung endet in einem Nicht-Endzustand), so wird es von A akzeptiert (Endzustand). Damit gilt L(A ) = L. Frank Heitmann heitmann@informatik.uni-hamurg.de 37/57 Frank Heitmann heitmann@informatik.uni-hamurg.de 38/57 Produkt/Durchschnitt Der Produktautomat Seien L 1, L 2 REG, dann ist auch L 1 L 2 REG. Die Idee Ideen? Wir gehen von zwei Automaten aus (für L 1 und L 2 ). Ein neuer Automat muss dann die Wörter akzeptieren, die eide Automaten akzeptieren. Dazu merken wir uns in einem Zustand des neuen Automaten jeweils in welchem Zustand der erste und in welchem der zweite Automat ist. Beweis. Seien A 1 = (Z 1, Σ 1, δ 1, z 1,0, Z 1,end ) A 2 = (Z 2, Σ 2, δ 2, z 2,0, Z 2,end ) vollständige DFAs mit L(A 1 ) = L 1 und L(A 2 ) = L 2. Wir konstruieren C = (Z 3, Σ 3, δ 3, z 3,0, Z 3,end ) mit Z 3 := Z 1 Z 2 Σ 3 := Σ 1 Σ 2 z 3,0 := (z 1,0, z 2,0 ) Z 3,end := Z 1,end Z 2,end δ 3 ((z 1, z 2 ), x) := (δ 1 (z 1, x), δ(z 2, x)) Frank Heitmann heitmann@informatik.uni-hamurg.de 39/57 Frank Heitmann heitmann@informatik.uni-hamurg.de 40/57

11 Der Produktautomat Der Produktautomat - Konstruktion Will man einen Produktautomaten konstruieren, so Im Produktautomaten C wird also in der ersten Komponente eine Rechnung von A 1 und in der zweiten Komponente eine Rechnung von A 2 gemacht. Daraus folgt schnell die Korrektheit: ˆδ 3 (z 3,0, w) Z 3,end ˆδ 1 (z 1,0, w) Z 1,end ˆδ 2 (z 2,0, w) Z 2,end eginnt man in (z 1,0, z 2,0 ) erechnet δ(z 1,0, x) und δ(z 2,0, x) für jedes x Σ (sind für ein x eide definiert, ist dies ein neuer Nachfolgezustand) So fährt man dann fort... Bemerkung Im Grund genommen ähnlich zur Potenzautomatenkonstruktion, nur dass man hier im ersten Tupelelement immer wie im ersten Automaten und im zweiten Tupelelement immer wie im zweiten Automaten rechnet. Frank Heitmann heitmann@informatik.uni-hamurg.de 41/57 Frank Heitmann heitmann@informatik.uni-hamurg.de 42/57 - Zusammenfassung Eine Anmerkung Die regulären Sprachen sind ageschlossen gegenüer Vereinigung Konkatenation hoch + hoch Komplementildung Durchschnitt Bemerkung Im Skript wird dies teilweise andersherum gemacht. Wir haen hier mittels regulären Ausdrücken einige der sofort gekriegt. Im Skript wird zunächst gezeigt, dass z.b. REG gegenüer ageschlossen ist und dies dann eim Beweis enutzt, dass die regulären Ausdrücke und DFAs äquivalent sind. Für Interessierte Es gelten weitere. Siehe z.b. [HMU]. Frank Heitmann heitmann@informatik.uni-hamurg.de 43/57 Frank Heitmann heitmann@informatik.uni-hamurg.de 44/57

12 Möglichkeiten und Grenzen Intermezzo Wir können nun sehr viele Sprachen konstruieren, die alle regulär sind. Sind z.b. L 1, L 2 regulär. Dann auch (in etwas schluderiger Schreiweise) (L 1 + L 2 ) L 1 L + 2 L 1 (L 1 a3 L 2 )+... Intermezzo... dennoch wissen wir, dass wir nur endlich viele Informationen speichern können (der DFA hat nur endlich viele Zustände). Frank Heitmann heitmann@informatik.uni-hamurg.de 45/57 Frank Heitmann heitmann@informatik.uni-hamurg.de 46/57 Naive Wortsuche Wortsuche mit Automaten Die naive Wortsuche dauert O(n m) Schritte Veresserungen sind möglich (z.b. mit ooleschen Flags welche Buchstaen man schon entdeckt hat), aer dies ist fehleranfällig und im Grunde aut man Automaten nach. Wortsuche mit Automaten raucht nur O(n) Schritte! Vorher muss der Automat aus dem Pattern erzeugt werden. Zur Info: Dies kann man in O(m Σ ) machen. Wenig fehleranfällig. Methoden für den Automaten müssen nur einmal geschrieen werden! Frank Heitmann heitmann@informatik.uni-hamurg.de 47/57 Frank Heitmann heitmann@informatik.uni-hamurg.de 48/57

13 Deswegen... Eine Sprache, die nicht geht, oder? Deswegen z.b. auch die ganzen Konstruktionen. Man könnte jetzt ein Tool schreien, in dem jemand einen regulären Ausdruck eingit dieser wird in einen Automaten umgewandelt (automatisch) zw. in Code (so dass wir eine Methode für δ haen) der dann für eine effiziente Wortsuche enutzt werden kann Anwendungen z.b.: Suchen in Texten Suchen nach Schlüsselworten eim Kompilieren Suchen in DNA-Sequenzen... Wir können nun sehr viele Sprachen konstruieren, die alle regulär sind. Sind z.b. L 1, L 2 regulär. Dann auch (L 1 + L 2 ) L 1 L + 2 L 1 (L 1 a3 L 2 )+... dennoch wissen wir, dass wir nur endlich viele Informationen speichern können (der DFA hat nur endlich viele Zustände). Frank Heitmann heitmann@informatik.uni-hamurg.de 49/57 Frank Heitmann heitmann@informatik.uni-hamurg.de 50/57 Eine Sprache, die nicht geht, oder? Der Kellerautomat a a L := {a n n n N} Ideen für einen DFA? Was ist das Prolem?, A,? z 0 z 1 z 2 a,? A? a, A AA, A? Frank Heitmann heitmann@informatik.uni-hamurg.de 51/57 Frank Heitmann heitmann@informatik.uni-hamurg.de 52/57

14 Zusammenfassung Wir haen heute Nächstes Mal: Kellerautomat richtig einführen Werkzeuge kennenlernen, um zu zeigen, dass es wirklich nicht mit DFAs geht NFA mit λ-kanten und reguläre Ausdrücke eingeführt. Sollt ihr wissen Beide solltet ihr lesen können und ei eiden solltet ihr Wissen, dass man die in DFAs umwandeln kann. Könnt ihr wissen... Interessierte können die Konstruktionen im Detail und die zugehörigen Beweise im Skript finden. Frank Heitmann 53/57 Frank Heitmann 54/57 Zusammenfassung Zusammenfassung Zusammenfassung Zu jeder regulären Sprache L git es einen DFA A mit L(A) = L einen NFA B mit L(B) = L einen NFA mit λ-kanten C mit L(C) = L einen regulären Ausdruck D, der L eschreit (M D = L). DFAs, NFAs, NFAs mit λ-kanten und reguläre Ausdrücke sind also äquivalent. Wir haen uns dann noch angesehen: Die regulären Sprachen sind (u.a.) ageschlossen gegenüer Vereinigung Konkatenation hoch + hoch Komplementildung Durchschnitt... Frank Heitmann heitmann@informatik.uni-hamurg.de 55/57 Frank Heitmann heitmann@informatik.uni-hamurg.de 56/57

15 Zusammenfassung Was ihr is zur nächsten Woche kennen solltet: Was DFAs sind und wie die funktionieren Was NFAs sind und wie die funktionieren Was reguläre Ausdrücke sind und wie man damit Sprachen eschreit. λ-kanten kennen Wissen, dass DFA, NFA, NFA mit λ-kanten und reguläre Ausdrücke im Prinzip das Gleiche sind. Konstruktionsmethoden (zu einer Sprache M einen Automaten A machen) und der Beweis L(A) = M. Potenzautomatenkonstruktion (die Konstruktion) für REG. Welche gelten? Wie gehen die Konstruktionen? Frank Heitmann heitmann@informatik.uni-hamurg.de 57/57

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

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.3 Abschlusseigenschaften

2.3 Abschlusseigenschaften 2.3 Abschlusseigenschaften 2.3 Abschlusseigenschaften In diesem Abschnitt wollen wir uns mit Abschlusseigenschaften der regulären Sprachen, d.h. mit der Frage, ob, gegeben eine Operation und zwei reguläre

Mehr

Endliche Automaten. aus. Abbildung 1: Modell eines einfachen Lichtschalters

Endliche Automaten. aus. Abbildung 1: Modell eines einfachen Lichtschalters Endliche Automaten In der ersten Vorlesungswoche wollen wir uns mit endlichen Automaten eschäftigen. Um uns diesen zu nähern, etrachten wir zunächst einen einfachen Lichtschalter. Dieser kann an oder aus

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

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

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

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

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

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

Mehr

Wie man eine Sprache versteht

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

Mehr

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

Satz (Abschluß unter der Stern-Operation)

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

Mehr

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

Beispiel Produktautomat

Beispiel Produktautomat Beispiel Produktautomat 0 1 p 0 p 1 p 2 q 0 q 1 445 Vereinfachte Konstruktion f. NFAs 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

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

Organisatorisches... Formale Grundlagen der Informatik 1 Kapitel 1. Endliche Automaten. Organisatorisches. Organisatorisches. Eine typische Woche:

Organisatorisches... Formale Grundlagen der Informatik 1 Kapitel 1. Endliche Automaten. Organisatorisches. Organisatorisches. Eine typische Woche: Organisatorisches... Formale der Informatik 1 Kapitel 1 Frank Heitmann heitmann@informatik.uni-hamurg.de 7. April 215 Eine typische Woche: Mo+Di: Vorlesung Di-Fr: Üungsgruppen Neuer Zettel und Beareiten

Mehr

Suche nach einem solchen Kreis. Endlichkeitstest. Vereinigung und Durchschnitt. Abschlusseigenschaften

Suche nach einem solchen Kreis. Endlichkeitstest. Vereinigung und Durchschnitt. Abschlusseigenschaften Endlichkeitstest Eingabe: DFA/NFA M. Frage: Ist die von M akzeptierte Sprache endlich? Nahe liegende Beobachtung: In einem DFA/NFA, der eine unendliche Sprache akzeptiert, muss es einen Kreis geben, der

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

Induktionsprinzipien für andere Bereiche. falscher Induktionsbeweis über N Übung Beispiele. Reguläre Σ-Sprachen Abschnitt 2.

Induktionsprinzipien für andere Bereiche. falscher Induktionsbeweis über N Übung Beispiele. Reguläre Σ-Sprachen Abschnitt 2. Kap 1: Grundegriffe Induktion 1.2.3 Induktionsprinzipien für andere Bereiche Beispiele Bereich M M 0 M erzeugende Operationen N 0} S: n n + 1 Σ ε} ( w wa ) für a Σ, c}-terme c} (t 1, t 2 ) (t 1 t 2 ) endl.

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

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

Organisatorisches... Formale Grundlagen der Informatik 1 Kapitel 1. Endliche Automaten. Organisatorisches. Organisatorisches. Eine typische Woche:

Organisatorisches... Formale Grundlagen der Informatik 1 Kapitel 1. Endliche Automaten. Organisatorisches. Organisatorisches. Eine typische Woche: Organisatorisches... Formale der Informatik 1 Kapitel 1 Frank Heitmann heitmann@informatik.uni-hamurg.de 4. April 2016 Eine typische Woche: Mo+Di: Vorlesung Di-Fr: Üungsgruppen Neuer Zettel und Beareiten

Mehr

Das Pumping Lemma: Ein Anwendungsbeispiel

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

Mehr

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

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

WS07/08 Automaten und Formale Sprachen 2. Vorlesung. Kapitel 2. Endliche Automaten und reguläre Sprachen. Definitionen:

WS07/08 Automaten und Formale Sprachen 2. Vorlesung. Kapitel 2. Endliche Automaten und reguläre Sprachen. Definitionen: Definitionen: WS07/08 Automaten und Formale Sprachen 2. Vorlesung Martin Dietzfelinger 23. Oktoer 2007 Ein Alphaet Σ ist eine endliche nichtleere Menge. Ein Wort üer Σ ist eine endliche Folge von Elementen

Mehr

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

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

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 2. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 1 Einelementiges Alphabet (4 Punkte) (a) Geben

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

1 Eine Menge M Σ heißt (rekursiv) aufzählbar genau. 2 Die Familie aller aufzählbaren Mengen wird mit RE

1 Eine Menge M Σ heißt (rekursiv) aufzählbar genau. 2 Die Familie aller aufzählbaren Mengen wird mit RE Aufzählbarkeit Formale Grundlagen der Informatik 1 Kapitel 9 Entscheidbarkeit und Aufzählbarkeit Frank Heitmann heitmann@informatik.uni-hamburg.de 5. Mai 2014 Definition 1 Eine Menge M Σ heißt (rekursiv)

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

FORMALE SYSTEME. Wiederholung. Beispiel: NFA. Wiederholung: NFA. 4. Vorlesung: Nichtdeterministische Endliche Automaten. TU Dresden, 19.

FORMALE SYSTEME. Wiederholung. Beispiel: NFA. Wiederholung: NFA. 4. Vorlesung: Nichtdeterministische Endliche Automaten. TU Dresden, 19. Wiederholung FORMALE SYSTEME 4. Vorlesung: Nichtdeterministische Endliche Automaten Markus Krötzsch Professur für Wissensbasierte Systeme Grammatiken können Sprachen beschreiben und sie grob in Typen unterteilen

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

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

Automaten und Formale Sprachen 4. Vorlesung

Automaten und Formale Sprachen 4. Vorlesung Automaten und Formale Sprachen 4. Vorlesung Martin Dietzfelinger. Novemer 005 Beispiel: Endliche Sprache L = {w,...,w n }, z.b. L = {ei,eine,ue} Gesehen: Präfix-DFA. Hier: NFA e 0 u i 4 e i n 5 6 7 e e

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

Definition 78 Ein NPDA = PDA (= Nichtdeterministischer Pushdown-Automat) besteht aus:

Definition 78 Ein NPDA = PDA (= Nichtdeterministischer Pushdown-Automat) besteht aus: 4.7 Kellerautomaten In der Literatur findet man häufig auch die Bezeichnungen Stack-Automat oder Pushdown-Automat. Kellerautomaten sind, wenn nichts anderes gesagt wird, nichtdeterministisch. Definition

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

Automaten und formale Sprachen Notizen zu den Folien

Automaten und formale Sprachen Notizen zu den Folien 3 Endliche Automten Automten und formle Sprchen Notizen zu den Folien DFA Reguläre Grmmtik (Folie 89) Stz. Jede von einem endlichen Automten kzeptierte Sprche ist regulär. Beweis. Nch Definition, ist eine

Mehr

Äquivalenzrelation R A zu DFA A. Rechtsinvarianz. Relation R L zur Sprache L

Äquivalenzrelation R A zu DFA A. Rechtsinvarianz. Relation R L zur Sprache L Rechtsinvarianz Definition T4.2.8: Eine Äquivalenzrelation R auf Σ* heißt rechtsinvariant, wenn x R y z Σ*: xz R yz. Index von R: Anzahl der Äquivalenzklassen von R. Notation: ind(r) Im Folgenden: 2 rechtsinvariante

Mehr

FORMALE SYSTEME. Wiederholung. Beispiel: NFA. Wiederholung: NFA. 4. Vorlesung: Nichtdeterministische Endliche Automaten. TU Dresden, 20.

FORMALE SYSTEME. Wiederholung. Beispiel: NFA. Wiederholung: NFA. 4. Vorlesung: Nichtdeterministische Endliche Automaten. TU Dresden, 20. Wiederholung FORMALE SYSTEME 4. Vorlesung: Nichtdeterministische Endliche Automaten Markus Krötzsch Lehrstuhl Wissensbasierte Systeme Grammatiken können Sprachen beschreiben und sie grob in Typen unterteilen

Mehr

Turing-Maschinen. Definition 1. Eine deterministische Turing-Maschine (kurz DTM) ist ein 6- Dem endlichen Alphabet Σ von Eingabesymbolen.

Turing-Maschinen. Definition 1. Eine deterministische Turing-Maschine (kurz DTM) ist ein 6- Dem endlichen Alphabet Σ von Eingabesymbolen. Turing-Maschinen Nachdem wir endliche Automaten und (die mächtigeren) Kellerautomaten kennengelernt haben, werden wir nun ein letztes, noch mächtigeres Automatenmodell kennenlernen: Die Turing-Maschine

Mehr

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

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

Mehr

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

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

Mehr

Kapitel 1: Endliche Automaten Gliederung 1. Endliche Automaten

Kapitel 1: Endliche Automaten Gliederung 1. Endliche Automaten Gliederung 0. Grundegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechenarkeitstheorie 4. Komplexitätstheorie 1.1. Grundlagen 1.2. Minimierungsalgorithmus 1.3. 1/3, S. 1 Git es Sprachen, die nicht

Mehr

Frank Heitmann 2/71. 1 Betrachten wir Σ für ein Alphabet Σ, so ist Σ die Menge

Frank Heitmann 2/71. 1 Betrachten wir Σ für ein Alphabet Σ, so ist Σ die Menge Formle Grundlgen der Informtik Kpitel 2 und reguläre Sprchen Frnk Heitmnn heitmnn@informtik.uni-hmurg.de 7. April 24 Frnk Heitmnn heitmnn@informtik.uni-hmurg.de /7 Alphet und Wörter - Zusmmengefsst Die

Mehr

Automaten und formale Sprachen Notizen zu den Folien

Automaten und formale Sprachen Notizen zu den Folien 3 Endliche Automten Automten und formle Sprchen Notizen zu den Folien Üerführungsfunction eines DFA (Folie 92) Wie sieht die Üerführungfunktion us? δ : Z Σ Z Ds heißt: Ein Pr us Zustnd und Alphetsymol

Mehr

Fragen 1. Wie viele Startzustände kann ein endlicher Automat haben? 2. Wie viele Endzustände kann ein endlicher Automat haben?

Fragen 1. Wie viele Startzustände kann ein endlicher Automat haben? 2. Wie viele Endzustände kann ein endlicher Automat haben? 2 Endliche Automaten Konfigurationsübergang, Rechnung, Erfolgsrechnung, akzeptierte Sprache, reguläre Menge und die Sprachfamilie REG. Alle diese Begriffe sind wichtig und sollten bekannt sein, da wir

Mehr

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

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

Mehr

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

Informales Beispiel. Formale Grundlagen der Informatik 1 Kapitel 6 Eigenschaften kontextfreier Sprachen. Grammatiken. Anmerkungen

Informales Beispiel. Formale Grundlagen der Informatik 1 Kapitel 6 Eigenschaften kontextfreier Sprachen. Grammatiken. Anmerkungen Informales Beispiel Formale Grundlagen der Informatik 1 Kapitel 6 Eigenschaften kontextfreier Sprachen Frank Heitmann heitmann@informatik.uni-hamburg.de 22. April 2014 I L IL ID L a b c D 0 1 2 3 4 Eine

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

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

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

Mehr

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

Formale Methoden 1. Gerhard Jäger 9. Januar Uni Bielefeld, WS 2007/2008 1/23 1/23 Formale Methoden 1 Gerhard Jäger Gerhard.Jaeger@uni-bielefeld.de Uni Bielefeld, WS 2007/2008 9. Januar 2008 2/23 Automaten (informell) gedachte Maschine/abstraktes Modell einer Maschine verhält sich

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

a b b a Vom DFA zur TM Formale Grundlagen der Informatik 1 Kapitel 9 Turing-Maschinen Der Lese-/Schreibkopf Bedeutung der TM

a b b a Vom DFA zur TM Formale Grundlagen der Informatik 1 Kapitel 9 Turing-Maschinen Der Lese-/Schreibkopf Bedeutung der TM Vom DFA zur TM Formale der Informatik 1 Kapitel 9 Frank Heitmann heitmann@informatik.uni-hamburg.de a b b a z 0 a z 1 a z 2 b 2. Mai 2016 Wir wollen auf dem Band nach rechts und links gehen können und

Mehr

4.2 Varianten der Turingmaschine. 4 Turingmaschinen

4.2 Varianten der Turingmaschine. 4 Turingmaschinen 4 Turingmaschinen Alles was intuitiv berechenbar ist, d.h. alles, was von einem Menschen berechnet werden kann, das kann auch von einer Turingmaschine berechnet werden. Ebenso ist alles, was eine andere

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

Teil V: Formale Sprachen 1. Sprachen und Grammatiken 2. Endliche Automaten

Teil V: Formale Sprachen 1. Sprachen und Grammatiken 2. Endliche Automaten Formale Sprachen Teil V: Formale Sprachen 1. Sprachen und Grammatiken 2. Endliche Automaten Formale Methoden der Informatik WiSe 2013/2014 teil 5, folie 2 (von 50) 1. Sprachen und Grammatiken Formale Sprachen

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

Informatik IV. Pingo Sommersemester Dozent: Prof. Dr. J. Rothe. J. Rothe (HHU Düsseldorf) Informatik IV 1 / 13

Informatik IV. Pingo Sommersemester Dozent: Prof. Dr. J. Rothe. J. Rothe (HHU Düsseldorf) Informatik IV 1 / 13 Informatik IV Sommersemester 2019 Dozent: Prof. Dr. J. Rothe J. Rothe (HHU Düsseldorf) Informatik IV 1 / 13 Website http://pingo.upb.de/ Code: 1869 J. Rothe (HHU Düsseldorf) Informatik IV 2 / 13 Frage

Mehr

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

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

Mehr

Potenzmengenkonstruktion. Vergleich DFAs NFAs. NFA DFA ohne überflüssige Zust. Ansatz nicht praktikabel

Potenzmengenkonstruktion. Vergleich DFAs NFAs. NFA DFA ohne überflüssige Zust. Ansatz nicht praktikabel Vergleich DFAs NFAs Frage: Können NFAs nichtreguläre Sprachen erkennen? NEIN Potenzmengenkonstruktion Gegeben: NFA (Q,Σ,q 0,δ,F), konstruiere DFA: Q =P (Q), q 0 = {q 0 }, F ={q q F } Satz T4.4.5: Zu jedem

Mehr

Theorie der Informatik

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

Mehr

Einführung in die Computerlinguistik Satz von Kleene

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

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

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

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

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

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

Mehr

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

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

Mehr

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

Die oben aufgelisteten Sprachfamilien werden von oben nach unten echt mächtiger, d.h. die Familie der regulären Sprachen ist eine echte Teilfamilie

Die oben aufgelisteten Sprachfamilien werden von oben nach unten echt mächtiger, d.h. die Familie der regulären Sprachen ist eine echte Teilfamilie Zusammenfassung Im Automatenteil der FGI1 Vorlesung haben wir uns mit der Charakterisierung von Sprachfamilien durch immer mächtigere Automatenmodelle und Grammatiken beschäftigt. Folgende Familien haben

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

Formale Grundlagen der Informatik 1 Kapitel 1 Endliche Automaten

Formale Grundlagen der Informatik 1 Kapitel 1 Endliche Automaten Formale der Informatik 1 Kapitel 1 Frank Heitmann heitmann@informatik.uni-hamburg.de 4. April 2016 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/77 Organisatorisches... Eine typische Woche: Mo+Di:

Mehr

Einführung in die Computerlinguistik Satz von Kleene

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

Mehr

Theorie der Informatik

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

Mehr

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

Endliche Automaten Jörg Roth 101

Endliche Automaten Jörg Roth 101 Endliche Automaten Jörg Roth 101 Wir wollen im Folgenden die Abschlusseigenschaften regulärer Sprachen betrachten. Fragestellung: Wenn wir reguläre Sprachen haben, welche binären und unären Operationen

Mehr

Induktive Definition

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

Mehr

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

Übersicht. 3 3 Kontextfreie Sprachen

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

Mehr

ADS-EI 5.2 Struktur einer Turing-Maschine 120/451 ľernst W. Mayr

ADS-EI 5.2 Struktur einer Turing-Maschine 120/451 ľernst W. Mayr Bemerkung: Jede NDTM N (die die Sprache L(N) akzeptiert) kann in eine deterministische Turing-Maschine M konvertiert werden, die ebenfalls genau die Sprache L(N) akzeptiert. Beweisidee: Die Berechnungspfade

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

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

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

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

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

Diskrete Mathematik. Arne Dür Kurt Girstmair Simon Legner Georg Moser Harald Zankl

Diskrete Mathematik. Arne Dür Kurt Girstmair Simon Legner Georg Moser Harald Zankl OLC mputational gic Diskrete Mathematik Arne Dür Kurt Girstmair Simon Legner Georg Moser Harald Zankl Fakultät für Mathematik, Informatik und Physik @ UIBK Sommersemester 2011 GM (MIP) Diskrete Mathematik

Mehr

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2013

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2013 Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2013 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1 Reguläre Ausdrücke Wozu

Mehr

Grundlagen der Theoretischen Informatik

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

Mehr

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

Reguläre Sprachen Endliche Automaten

Reguläre Sprachen Endliche Automaten Endliche Automaten (Folie 54, Seite 16 im Skript) Einige Vorteile endlicher deterministischer Automaten: durch Computer schnell simulierbar wenig Speicher benötigt: Tabelle für δ (read-only), aktueller

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

Automaten und formale Sprachen Notizen zu den Folien

Automaten und formale Sprachen Notizen zu den Folien 3 Endliche Automten Automten und formle Sprchen Notizen zu den Folien Üerführungsfunktion eines NFA (Folien 107 und 108) Wie sieht die Üerführungsfunktion us? δ : Z Σ P(Z) Ds heißt, jedem Pr us Zustnd

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 2 Lösungsblatt 2. Mai 2 Einführung in die Theoretische Informatik

Mehr

FORMALE SYSTEME. Der Satz von Myhill und Nerode. Automaten verkleinern mit Quotientenbildung. Verschiedene Äquivalenzrelationen

FORMALE SYSTEME. Der Satz von Myhill und Nerode. Automaten verkleinern mit Quotientenbildung. Verschiedene Äquivalenzrelationen Automaten verkleinern mit Quotientenbildung Wir betrachten DFAs mit totaler Übergangsfunktion. FORMALE SYSTEME 9. Vorlesung: Minimale Automaten (2) Markus Krötzsch TU Dresden, 9. November 207 C 0 A 0 [A]

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

Nichtdeterministische endliche Automaten. Nichtdetermistische Automaten J. Blömer 1/12

Nichtdeterministische endliche Automaten. Nichtdetermistische Automaten J. Blömer 1/12 Nichtdeterministische endliche Automten Nichtdetermistische Automten J. Blömer 1/12 Nichtdeterministische endliche Automten In mnchen Modellierungen ist die Forderung, dss δ eine Funktion von Q Σ Q ist,

Mehr

Software Engineering Ergänzung zur Vorlesung

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

Mehr