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

Größe: px
Ab Seite anzeigen:

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

Transkript

1 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 auf ihrer Grundlage aufbauen und einem sonst im weiteren Verlauf wichtige Vokabeln fehlen. Daher diese Begriffe ruhig noch einmal angucken. Fragen 1. Wie viele Startzustände kann ein endlicher Automat haben? a) beliebig viele b) zwischen 0 und Z c) nur genau einen d) hängt von δ ab 2. Wie viele Endzustände kann ein endlicher Automat haben? a) beliebig viele b) zwischen 0 und Z c) nur genau einen d) hängt von δ ab 3. Wann akzeptiert ein endlicher Automat ein Eingabewort? a) Wenn er ein Wort zu Ende gelesen hat. b) Wenn er einen Endzustand erreicht. c) Wenn er einen Endzustand erreicht und dort blockiert oder das Wort zu Ende gelesen ist. d) Wenn er einen Endzustand erreicht und das Wort zu Ende gelesen ist. 4. Sei Z = {z 0, z 1 }, z 0 der Startzustand, z 1 der einzige Endzustand. Ferner sei δ(z 0, 0) = z 0, δ(z 0, 1) = z 1 und δ(z 1, 0) = z 1. Skizzieren Sie das Zustandsübergangsdiagramm dieses DFA A. Welche Sprache akzeptiert er? a) L(A) = {1} b) L(A) = {0} {1} c) L(A) = {0} {1} {0} d) L(A) = {0} {1} {0, 1} Sprachen akzeptieren mit dem DFA Üblicherweise wollen wir nun zu einer Sprache M, die uns interessiert, einen DFA A konstruieren, der diese Sprache akzeptiert, d.h. einen mit L(A) = M. Eine Sprache, die uns interessieren könnte, könnte z.b. die Menge aller Wörter 14

2 2.1 Deterministische endliche Automaten sein, die mit a beginnen oder die Menge aller Wörter, die das Wort aa als Teilwort enthalten. Die Sprachen erscheinen vielleicht etwas künstlich. Die benutzten Symbole wie a, b usw. dienen aber üblicherweise nur als Abstraktion für Aktionen wie Schalter betätigen oder Speicher löschen. Außerdem lassen sich kompliziertere Sprachen formulieren. Stellt man sich den Automaten nicht mehr so vor, dass er ein Wort von einem Band liest, sondern dass er Aktionen ausführt (jedes Symbol des Eingabealphabets steht also für eine Aktion), so kann man z.b. versuchen die Anforderung zwischen zwei Aktionen a soll immer genau einmal die Aktion b passieren als Sprache zu formulieren und dann versuchen einen Automaten dazu zu konstruieren. Bei solchen Formulierungen ist einfacher einzusehen, dass sie als Anforderungen in Anwendungen auftreten. Sie sind allerdings auch schwieriger und treten daher in einführenden Beispielen noch nicht auf. Der zur Menge M konstruierte Automat A soll genau die Wörter in M akzeptieren (nicht mehr, nicht weniger), denn sonst gilt nicht L(A) = M. Dies ist aber wichtig, denn hat man nur L(A) M, dann akzeptiert der Automat nicht jedes Wort aus M und ist daher fehlerhaft. Hat man nur M L(A), dann akzeptiert der Automat weitere Worte, die er eigentlich nicht akzeptieren soll, was ebenfalls fehlerhaft ist. Ein verbreitetes Problem zu Anfang ist, dass man das Gefühl hat, eine der Richtungen (L(A) M oder M L(A)) würde genügen. Meist stört man sich dann nicht daran, dass der Automat zu viel oder zu wenig kann. Nehmen wir einmal das Beispiel der Menge M aller Worte, die mit a beginnen. Wir wollen also einen Automaten A, der ein Wort w genau dann akzeptiert, wenn es mit a beginnt. Ansonsten soll es abgelehnt werden. Hat man jetzt nur L(A) M und gilt tatsächlich nicht L(A) = M (d.h. es ist L(A) M), dann gibt es Wörter, die mit a beginnen, die der Automat nicht akzeptiert. Wir wollten ja aber gerade, dass er alle Worte akzeptiert, die mit a beginnen. Mit einem solchen Automaten können wir also nicht zufrieden sein. Haben wir andersherum nur M L(A) erreicht, so akzeptiert der Automat neben den Worten, die mit a beginnen, noch weitere, womit wir ebenfalls nicht zufrieden sein können. Man stelle sich vor, in der Sprache M sind die Möglichkeit Münzen korrekt in einen Automaten zu werfen (z.b. für eine Fahrkarte für den Bus; nehmen wir an die Karte kostet 50 Cent und es gibt 10 und 20 Cent Münzen (symbolisiert durch a und b). Dann ist z.b. die Folge abb (eine 10er, zwei 20er Münzen) ein korrekter Münzeinwurf, die Folge bbb hingegen nicht, wobei wir die Möglichekeit, Wechselgeld zurückzugeben, nicht beachten wollen). L(A) M bedeutet dann, dass es Möglichkeiten gibt, Münzen korrekt einzuwerfen, die der Automat nicht akzeptiert (das Geld behält er aber vielleicht trotzdem ein, in jedem Fall wird der Kunde genervt sein). M L(A) bedeutet, dass der Automat noch Folgen akzeptiert, die nicht vorgesehen sind. Dies könnte für den Anbie- 15

3 2 Endliche Automaten ter schlecht sein, wenn der Kunde die Fahrkarte z.b. auch kriegt, wenn er noch gar nicht genug Geld eingeworfen hat. In diesem Abschnitt wollen wir uns zwei Konstruktionsmethoden für DFAs ansehen und uns mit den Beweisen von L(A) = M beschäftigen, denn auch wenn man einen Automaten A konstruiert hat, dann ist L(A) = M zunächst nur eine Behauptung oder Vermutung. Diese ist dann noch zu beweisen. Der hier aus didaktischen Gründen auftreten Fall, zu einem gegebenen Automaten A die Menge M mit L(A) = M zu ermitteln (und dies zu beweisen), tritt in Anwendungen kaum auf. Dies wäre ungefähr so als müsste man zu unkommentierten Code, dessen Bedeutung ermitteln. Zum Erlernen der Funktionsweise von Automaten ist dies aber ein ganz praktisches Vorgehen, daher tritt dies hier und in der Literatur meist ein paar Mal auf. In den Beispielen dieses Abschnitts wird man an mehreren Stellen vielleicht denken, dass man die Lösung doch ohnehin schon sieht oder dass bei beiden Richtungen des Beweises von L(A) = M das gleiche passiert. Dass man die Lösung schon sieht, mag an einigen Stellen stimmen. Die einfachen Automaten und Sprachen dienen ja aber gerade zur Übung, sie sollen das Vorgehen eintrainieren, dass man dann bei komplizierteren Automaten oder Sprachen oder auch bei fortgeschritteneren Automatenmodellen anwenden kann. Der Eindruck, dass bei beiden Richtungen das gleiche passiert, entsteht zu Anfang schnell, ist aber falsch. Bei der einen Richtung zeigen wir L(A) M, also dass jedes Wort, das der Automat A akzeptiert, auch in M ist. Um dies zu zeigen gehen wir von einem Wort w L(A) aus und zeigen dann, dass auch w M gilt. Wir nutzen also nur die Eigenschaften, die ein Wort hat, das von dem Automaten A akzeptiert wird und versuchen daraus abzuleiten, dass dieses Wort auch in M ist. Bei der anderen Richtung zeigen wir M L(A), also dass jedes Wort, das in M ist, auch von A akzeptiert wird. Um dies zu zeigen gehen wir nun von einem Wort w M aus und zeigen dann, dass auch w L(A) gilt. Wir nutzen also nur die Eigenschaften, die ein Wort hat, das in M ist und versuchen daraus abzuleiten, dass dieses Wort auch in L(A) ist. Der fälschliche Eindruck, dass hier das gleiche passieren würde entsteht bei den Beispielen zu Anfang dadurch, dass die Eigenschaften, die ein Wort hat, das von A akzeptiert wird und die Eigenschaft die ein Wort hat, das in M ist, meist sehr ähnlich sind und daher die Argumentation auch sehr ähnlich aussieht. Man mache sich aber in den folgenden Beispielen und auch bei der eigenen Arbeit aber klar, dass tatsächlich beim Beweis von z.b. L(A) M von einem Wort w L(A) ausgegangen wird und dann mittels Eigenschaften die ein solches Wort hat (wobei sich diese Eigenschaften aus dem speziellen Automaten A und der Art wie Automaten akzeptieren ergeben) argumentiert wird, um letztendlich zu zeigen, dass das Wort auch in M ist. Bei späteren, 16

4 2.1 Deterministische endliche Automaten komplizierteren Sprachen und Automaten wird es dann wichtig sein, diese klare Trennung erlernt zu haben. (In einigen Fällen kann man auch gut mit genau dann, wenn Beziehungen zeigen, dass w L(A) gilt genau dann, wenn w M gilt und ist dann sofort fertig. Wir machen dies hier aber höchstens in Ausnahmefällen, um die obige klare Trennung zu betonen.) Ein erstes Beispiel Betrachten wir als erstes Beispiel den abgebildeten Automaten. b a z 0 a z 1 z 2 Nachdem man den Automaten etwas untersucht hat, kommt man nach einigem Nachdenken und Ausprobieren einzelner Worte zu der Vermutung, dass die akzeptierte Sprache gerade {a} {b} {a} sein könnte. Zur Erleichterung der Notation setzen wir M := {a} {b} {a} und nennen den Automaten A. Unsere Vermutung oder Behauptung ist nun also, dass L(A) = M gilt. Auch wenn man sich bei diesem kleinen Beispiel vielleicht sehr sicher ist, dass diese Vermutung stimmt, so ist sie dennoch zu beweisen (und insb. für spätere, kompliziertere Fälle wird es wichtig sein, das Vorgehen zu beherrschen). Wir teilen den Beweis von L(A) = M in zwei Teile auf. Die beiden nachfolgenden Teilbeweise sind absichtlich sehr ausführlich. Im Anschluss finden sich beide Richtungen mit kürzeren Argumentationen bewiesen. Wir wollen das hier aber zunächst ganz ausführlich machen, damit man sehen kann, was im einzelnen argumentiert werden muss. 1. Zuerst wollen wir L(A) M beweisen. Wir wollen also zeigen, dass jedes Wort, das der Automat A akzeptiert, auch in M enthalten ist. Betrachten wir also ein beliebiges Wort w, das von A akzeptiert wird, also ein w L(A). Wir wissen, dass der Automat A in seinem Startzustand z 0 beginnen muss. Wir wissen ferner, dass w akzeptiert wird, also wissen wir, dass A das Wort w zu Ende lesen kann und dann in einem Endzustand ist (nur dann akzeptiert A ein Wort). Da es nur einen Endzustand gibt, wissen wir, dass A das Wort w lesen kann und er dann in z 2 ist. Damit wissen wir schon, dass wir von der Konfiguration (z 0, w) irgendwie (d.h. mittels möglicher Übergänge in A) in die Konfiguration (z 2, λ) gelangen. Betrachten wir den Automaten weiter, so sehen wir, dass aus z 0 nur eine a-kante heraus führt und nach z 2 nur eine a-kante hinein und dass in z 2 nicht mehr gelesen werden kann. Die a-kante aus z 0 heraus führt zudem nach z 1 und die a-kante nach z 2 kommt von z 1. Insgesamt wissen wir damit, dass w mit einem a beginnen und mit einem a enden muss und wir wissen dass dies nicht das gleiche Symbol in w sein kann 17

5 2 Endliche Automaten (w also aus mindestens zwei a besteht). Damit ist w von der Form a v a mit v {a, b}. Wir wissen damit bisher, dass beim Lesen von w = ava folgende Konfigurationsübergänge passieren: (z 0, ava) (z 1, va) (z 1, a) (z 2, λ). Die Stelle mit den Punkten ist nun noch unbekannt. Wir wissen nun, dass wir von z 1 ausgehend mit erlaubten Übergängen im Automaten nach z 1 gelangen und dabei das Teilwort v komplett lesen. Ein weiterer Blick auf den Automaten zeigt uns, dass es in z 1 zwei Kanten gibt, eine a- und eine b-kante. Die a-kante führt aber zu z 2 und von dort kommen wir nicht mehr nach z 1. Diese Kante kann uns beim Lesen von v also nicht helfen. Die b-kante führt uns von z 1 nach z 1 und dies kann uns beim Lesen von v helfen. Da dies außerdem die einzige Kante ist (und sie nicht von z 1 wegführt; dies würde eine weitere Analyse erforderlich machen) können wir schließen, dass wir von der Konfiguration (z 1, va) zur Konfiguration (z 1, a) nur über b-kanten gelangen, d.h. v = b n für ein n 0 (der Sonderfall v = 0 ist auch möglich, wovon man sich schnell durch einen Blick auf den Automaten überzeugt). Damit haben wir argumentiert, dass, wenn w von A akzeptiert wird, w von der Form a b n a für ein n 0 sein muss. Zur Erinnerung: Unser ursprüngliches Ziel ist es L(A) M zu zeigen. Wir gehen also von einem w L(A) aus und wollen zeigen, dass w M gilt. Sei also w L(A), dann wissen wir nun, dass es ein n 0 gibt mit w = a b n a. Wegen a {a} und b n {b} ist nun a b n a {a} {b} {a}, also w M und wir sind fertig. 2. Nun wollen wir noch M L(A) beweisen. Wir wollen nun also zeigen, dass jedes Wort der Menge M auch vom Automaten A akzeptiert werden kann. Diese Richtung ist meist einfacher zu zeigen. Wir wählen ein beliebiges Wort aus M und zeigen durch Angabe von Konfigurationsübergängen, dass A das Wort zu Ende lesen kann und vom Start- in einen Endzustand gelangt (das Wort also akzeptiert). Da das Wort beliebig gewählt wurde, gilt es dann für alle Worte in M und wir sind fertig. Sei also w M beliebig gewählt, d.h. w ist aus {a} {b} {a} und aufgrund der Definition der Konkatenation und der Sternbildung wissen wir also, dass es ein n 0 gibt derart, dass w = ab n a ist. Man beachte an dieser Stelle, dass wir w weiterhin beliebig gewählt haben. Die verschiedenen n führen dann zu verschiedenen Worten in M. Hat man kompliziertere Sprachen, so sind oft Fallunterscheidungen nötig. Hat man z.b. als Sprache N := {a} ({b} {c} ) {d} und wählt wieder w N beliebig, so weiß man, dass w mit a beginnt und dass dann beliebig viele b oder beliebig viele c folgen. Daran schließt sich dann in beiden Fällen noch ein d an. Man würde dann meist beide Fälle getrennt behandeln und für beide Fälle zeigen, dass der Automat die Worte akzeptiert. Man hat dann also 18

6 2.1 Deterministische endliche Automaten die beliebig gewählten Worte in zwei Klassen zerlegt und für beide Klassen gezeigt, dass der Automat diese Worte akzeptiert. Da beide Klassen zusammen wieder die ganze Menge N ergeben, ist man dann fertig. Nun legen wir w = ab n a dem Automaten A vor. Als Übergänge ergibt sich dann aufgrund der Konstruktion von A (z 0, ab n a) (z 1, b n a) (z 1, a) (z 2, λ) wobei für endliche viele (auch 0) Übergänge steht. Damit haben wir eine Erfolgsrechnung auf A und akzeptieren w, also gilt w L(A). Einigen ist der Beweis oben bestimmt zu länglich. Wir waren dort absichtlich ganz besonders ausführlich. Der Beweis geht aber auch viel kürzer. Wir zeigen zuerst L(A) M. Sei also w L(A). Nach Konstruktion muss w mit a beginnen und mit a enden, denn die einzige Kante aus dem Startzustand z 0 heraus ist mit einem a beschriftet, ebenso wie die einzige Kante in den einzigen Endzustand z 2 hinein. Da diese Kanten zudem nach z 1 gehen bzw. von z 1 kommen, muss ein Wort, das A zwischen diesen beiden a liest, den Automaten von z 1 nach z 1 überführen. Da es an z 1 nur eine b-schleife gibt, folgt w {a}{b} {a} und damit w M. Sei nun w M, dann gibt es ein n 0 mit w = a b n a. Damit ergibt sich (z 0, ab n a) (z 1, b n a) (z 1, a) (z 2, λ) woraus w L(A) folgt. Nachfolgend werden die Beweise in ähnlichen Beispielen an vielen Stellen deutlich kürzer ausfallen. Es ist aber eine gute Übung sich zu Anfang jedes Argument sehr kleinschrittig zu überlegen und aufzuschreiben und sich auch später bei schnelleren Argumentationen, genau zu überlegen, ob die Schritte nachvollziehbar sind (sowohl wenn man selbst schneller vorgeht als auch wenn man schneller voranschreitende Beweise liest). Da es nun also scheinbar unterschiedlich lange Beweise für die gleiche Aussage gibt, kann man sich an dieser Stelle fragen, ob dieser Unterschied überhaupt erlaubt ist. Ist der kurze Beweis erlaubt? Sind beide Beweise richtig? Und falls ja, sollte man selbst lieber lange oder lieber kurze Beweise führen? Wichtig beim Beweisen ist, dass die einzelnen Argumentationsschritte für den Leser nachvollziehbar sind. Das eigentliche Ziel bei einem Beweis ist ja, dass der Beweis den Leser von der Richtigkeit der Aussage überzeugt und das durch logisch nachvollziehbare Argumente. Ein kürzerer Beweis erfordert daher im Allgemeinen mehr Kenntnisse (oder mehr Mitdenken) beim Leser. Oben könnte man z.b. sagen, dass jedes Wort, das der Automat liest, mit a beginnen muss oder mit a enden muss. Will man dem Leser mehr Informationen mitgeben, schreibt man vielleicht noch dazu, dass dies nach Konstruktion gilt. Noch mehr Hilfe gibt man, wenn man noch notiert, dass dies an dem Startund dem Endzustand liegt bzw. an den Kanten die von ihnen kommen bzw. zu 19

7 2 Endliche Automaten ihnen hinführen. Welche Detailtiefe man wählt hängt sehr von der anvisierten Leserschaft ab und von der eigenen Übung. Sowohl der lange als auch der kurze Beweis oben sind also richtig. Die kurzen Beweise erwarten aber mehr vom Leser. Ist man in einem Themengebiet neu, so lohnt es sich stets in den Beweisen sehr ausführlich vorzugehen und jeden Argumentationsschritt möglichst ausführlich zu begründen. Dies ist eine gute Übung für einen selbst und es ermöglicht dem Leser gut zu folgen. Für Korrekturen ist insb. von Vorteil, dass man einfacher sagen kann, wo ggf. ein Denkfehler besteht. Zu Anfang gilt daher: bei jedem Beweise an jeder Stelle einmal die Warum? -Frage stellen. Warum gilt dieses Argument? Wenn die Antwort darauf zu lang ist, dann sollte man hier noch ausführlicher sein. Noch ein Beispiel Wir wollen als weiteres Beispiel den unten stehenden Automaten betrachten und diesmal mit einer Annahme beginnen, die sich während des Beweises als falsch herausstellt. Das Beispiel ist zwar wieder so klein, dass man die richtige Sprache gleich erkennen kann, es geht hier aber darum, die Vorgehensweise einzuüben und dafür bieten sich kleinere Beispiele an. Außerdem werden wir hier eine Beweisidee kennenlernen, die an verschiedenen Stellen nützlich sein kann. Später folgt dann auch noch ein größeres und komplizierteres Beispiel. 0 1 z 0 z 1 Angenommen wir vermuten nun, dass die von diesem Automaten akzeptierte Sprache die Menge M := {0, 1} {1} {0, 1} ist. Wir vermuten also, dass L(A) = {0, 1} {1} {0, 1} = M gilt. Tatsächlich ist die akzeptierte Sprache natürlich {0} {1} und wir haben beim Aufstellen von M einen Fehler gemacht. Dieses negative Beispiel soll noch einmal illustrieren, wie wir beim Beweis von L(A) = M vorgehen und das Fehler beim Aufstellen von M passieren können, die dann beim Beweisen (hoffentlich) auffallen und korrigiert werden können. Wir gehen so vor wie eben und versuchen, die zwei Teilmengenbeziehungen zu zeigen. 1. L(A) {0, 1} {1} {0, 1} = M. Sei w L(A), dann wird w von A akzeptiert. Da z 1 der einzige Endzustand ist, muss w auf 1 enden, da die einzige Kante in z 1 hinein mit 1 beschriftet ist. Vorher war der Automat in z 0, wo nur 0en gelesen werden können. D.h. w hat die Form w = u1 mit u {0}. Damit gilt auch w M. (Man kann schon hier merken, dass M 20

8 2.1 Deterministische endliche Automaten wohl zu groß ist. Allerdings muss man es hier noch nicht merken. Die Teilmengenbeziehung L(A) M gilt nämlich!) 2. M = {0, 1} {1} {0, 1} L(A). Sei w M, dann lässt sich w zerlegen in w = x 1 x 2 x 3 mit x 1, x 3 {0, 1} und x 2 = 1. Da in w eine 1 auftritt, muss es auch eine Stelle geben, an der die 1 das erste Mal auftritt, d.h. w lässt sich sogar zerlegen in w = x 1 x 2 x 3 mit x 1 {0}, x 2 = 1 und x 3 {0, 1}. Legen wir w nun A als Eingabe vor, so gilt zunächst (z 0, x 1 1 x 3) (z 0, 1 x 3) und dann (z 0, 1 x 3) (z 1, x 3). An dieser Stelle bemerken wir nun, dass wir einen Fehler gemacht haben. Da es in z 1 keine Kante gibt, blockieren wir nun nämlich. Das Wort wird also gar nicht akzeptiert! Aus dem Beweis(versuch) von eben ergibt sich auch gleich ein Gegenbeispiel. Das Wort 010 kann z.b. von dem Automaten nicht akzeptiert werden, ist aber in M. Im besten Fall kann man nach solch einem Beweisversuch auf eine bessere Idee für M kommen und einen neuen Beweisversuch starten. Wir vermuten nun, dass M := {0} {1} die akzeptierte Sprache ist, unsere Vermutung ist nun also L(A) = {0} {1} = M 1. L(A) {0} {1} = M. Dies zeigt man genau wie eben. 2. M = {0} {1} L(A). Sei w M, dann lässt sich w zerlegen in w = u1 mit u {0}. Es gilt nun (z 0, u1) (z 0, 1) (z 1, λ) und da z 1 ein Endzustand ist, gilt w L(A), was zu zeigen war. Nun gelingt der Beweis und wir haben L(A) = M gezeigt. Obwohl der erste Beweisversuch nicht gelang, konnte man dort eine wichtige Beweisidee sehen. Wissen wir, dass in einem Wort w ein Symbol oder eine Zeichenkette auftritt, wissen wir also z.b. das in w eine 1 auftritt oder die Zeichenkette 000 als Teilwort, dann wissen wir auch, dass dies an einer Stelle in w das erste Mal passiert. Dies hilft oft bei der Zerlegung von w in Teilworte und bei der Betrachtung der einzelnen Teilworte. Zerlegt man w z.b. in v 000 u und hat dies so gemacht, dass die 000 dort das erste Mal auftritt, dann weiß man, dass in v nicht die Zeichenkette 000 auftritt und sogar, dass v nicht auf 0 endet (sonst wäre das erste Mal, dass 000 auftritt, nämlich ein Symbol vorher gewesen). Dies schließt unsere Betrachtungen zu Automaten und ihren akzeptierten Sprachen ab. Im nächsten Abschnitt geht es dann um zwei Konstruktionsmethoden, um einen Automaten zu einer Sprache M zu konstruieren. Wir betonen zur Wiederholung das wichtige Vorgehen in diesem Abschnitt. Hat man für eine Sprache M einen DFA A konstruiert oder, was außer in der 21

9 2 Endliche Automaten Lehre recht selten vorkommt, zu einem DFA A eine Idee, was die akzeptierte Sprache M ist, so ist L(A) = M zunächst nur eine Behauptung, die dann noch zu zeigen ist. Hierzu zeigt man dann oft die zwei Teilmengenbeziehungen L(A) M und M L(A). Mit L(A) M zeigt man, dass jedes Wort, das der Automat akzeptiert, in M ist. Bei der Argumentation geht man von einem Wort w aus, das der Automat akzeptiert (w L(A)) und zeigt, dass dann auch w M gilt. Mit M L(A) zeigt man, dass jedes Wort aus M von dem Automaten akzeptiert wird. Man geht von einem (beliebigen!) Wort aus M aus ( Sei w M, dann... ) und zeigt, dass dieses auch von A akzeptiert wird, also in L(A) ist. Es sei noch mal betont, dass es nicht genügt nur eine der Teilmengenbeziehungen zu zeigen. L(A) M zeigt nur, dass jedes Wort, das der Automat akzeptiert, auch in M ist. In M können aber noch Worte sein, die nicht in L(A) sind! Andersherum zeigt M L(A) nur, dass jedes Wort in M vom Automaten akzeptiert wird, aber der Automat akzeptiert eventuell weitere Worte. Beides ist nicht wünschenswert. Entweder fehlen dem Automaten Fähigkeiten oder er kann zu wenig. Man überlege sich zudem, dass es stets sehr leicht wäre, zu einer gegebenen Menge M einen Automaten zu bauen, der nur eine der Teilmengenbeziehungen erfüllt. Will man L(A) M sicherstellen, so nimmt man einen Automaten der keine Endzustände hat. Für diesen gilt L(A) = und damit sofort L(A) M. Will man M L(A) sicherstellen, so nimmt man als Automat A einen Automat mit einem einzelnen Zustand z, der sowohl Start- als auch Endzustand ist und für jedes Symbol x Σ eine Kante von z nach z besitzt. Dann gilt L(A) = Σ und damit sofort M L(A). Nur eine der Teilmengenbeziehungen zu zeigen, genügt also nicht. Es muss L(A) = M gezeigt werden. Fragen 1. Welche Sprache akzeptiert der folgenden DFA A? 0 1 z z 2 a) L(A) = {0, 1} b) L(A) = {0} {1} {1} c) L(A) = {0, 1} {1} 22

10 2.1 Deterministische endliche Automaten d) L(A) = ({0} {1} {1} {0}) 2. Wie kann man L(A) = M beweisen? a) Für jedes w L(A) zeigen, dass w M gilt und andersherum. b) Für ein w L(A) zeigen, dass w M gilt und andersherum. c) Für ein beliebiges w M zeigen, dass w L(A) gilt und andersherum. d) Für ein festes w M zeigen, dass w L(A) gilt und andersherum. 3. Wie kann L(A) = M auch bewiesen werden? a) L(A) \ M = b) L(A) \ M = L(A) c) L(A) M = d) L(A) M = Σ 4. Wie kann L(A) M auch bewiesen werden? a) L(A) \ M = b) L(A) \ M = L(A) c) L(A) M = d) L(A) M = Σ 23

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

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

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

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

Fragen 1. Muss eine DTM ein Wort zu Ende gelesen haben, um es zu akzeptieren? a) Ja! b) Nein!

Fragen 1. Muss eine DTM ein Wort zu Ende gelesen haben, um es zu akzeptieren? a) Ja! b) Nein! 4 Turingmaschinen Eingabeband nicht nur lesen, sondern auch schreiben kann und die zudem mit ihrem Lese-Schreib-Kopf (LSK) nach links und rechts gehen kann. Das Eingabeband ist zudem in beide Richtungen

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

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

Das Pumping Lemma der regulären Sprachen

Das Pumping Lemma der regulären Sprachen Das Pumping Lemma der regulären Sprachen Frank Heitmann heitmann@informatik.uni-hamburg.de 1 Das Pumping Lemma Das Pumping Lemma der regulären Sprachen macht eine Aussage der Art wenn eine Sprache L regulär

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

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

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

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

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

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

Der deterministische, endliche Automat. Formale Grundlagen der Informatik 1 Kapitel 3 Mehr zu regulären Sprachen 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,

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

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

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

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

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

bestehenden sind, weiterhin benutzt werden. Oft beleuchten unterschiedliche Formalismen Dinge nämlich von unterschiedlichen Blickwinkeln.

bestehenden sind, weiterhin benutzt werden. Oft beleuchten unterschiedliche Formalismen Dinge nämlich von unterschiedlichen Blickwinkeln. 2 Endliche Automaten bestehenden sind, weiterhin benutzt werden. Oft beleuchten unterschiedliche Formalismen Dinge nämlich von unterschiedlichen Blickwinkeln. Fragen 1. Sei R = 0 1 + (0 + 1). In welchen

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

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

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

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

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

Grundlagen der theoretischen Informatik

Grundlagen der theoretischen Informatik Grundlagen der theoretischen Informatik Kurt Sieber Fakultät IV, Department ETI Universität Siegen SS 2013 Vorlesung vom 04.06.2013 An den Transitionen sieht man zunächst, dass nur die folgenden Zustandsübergänge

Mehr

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

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

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

Mehr

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

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

Mehr

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

8. Turingmaschinen und kontextsensitive Sprachen

8. Turingmaschinen und kontextsensitive Sprachen 8. Turingmaschinen und kontextsensitive Sprachen Turingmaschinen (TM) von A. Turing vorgeschlagen, um den Begriff der Berechenbarkeit formal zu präzisieren. Intuitiv: statt des Stacks bei Kellerautomaten

Mehr

Reguläre Sprachen und endliche Automaten

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

Mehr

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

Frage 8.3. Wozu dienen Beweise im Rahmen einer mathematischen (Lehramts-)Ausbildung?

Frage 8.3. Wozu dienen Beweise im Rahmen einer mathematischen (Lehramts-)Ausbildung? 8 Grundsätzliches zu Beweisen Frage 8.3. Wozu dienen Beweise im Rahmen einer mathematischen (Lehramts-)Ausbildung? ˆ Mathematik besteht nicht (nur) aus dem Anwenden auswendig gelernter Schemata. Stattdessen

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

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

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

4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls

4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls 4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls δ(q, a, Z) + δ(q, ɛ, Z) 1 (q, a, Z) Q Σ. Die von einem DPDA, der mit leerem Keller akzeptiert,

Mehr

Theoretische Grundlagen der Informatik. Vorlesung am 02. November INSTITUT FÜR THEORETISCHE INFORMATIK

Theoretische Grundlagen der Informatik. Vorlesung am 02. November INSTITUT FÜR THEORETISCHE INFORMATIK Theoretische Grundlagen der Informatik Vorlesung am 2. November 27 2..27 Dorothea Wagner - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Vorlesung am 2. November 27 Helmholtz-Gemeinschaft

Mehr

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie 1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie 15 Ziele vgl. AFS: Berechnungsmodelle für Typ-0- und Typ-1-Sprachen (Nicht-)Abschlußeigenschaften

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

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

b liegt zwischen a und c.

b liegt zwischen a und c. 2 DIE ANORDNUNGSAXIOME 5 (2.4) a, b, c R : (a < b 0 < c) ac < bc Monotoniegesetz der Multiplikation Bezeichnungen a > b : b < a (> wird gelesen: größer als ) a b : a < b oder a = b a b : a > b oder a =

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

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

Turingmaschinen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen

Turingmaschinen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: und effiziente Algorithmen Wintersemester 2011/12 Schematische Darstellung einer Turing-Maschine: Kopf kann sich nach links und

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

11.1 Kontextsensitive und allgemeine Grammatiken

11.1 Kontextsensitive und allgemeine Grammatiken Theorie der Informatik 7. April 2014 11. Kontextsensitive und Typ-0-Sprachen Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen 11.1 Kontextsensitive und allgemeine Grammatiken Malte Helmert

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

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 14: Endliche Automaten Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/38 Überblick Erstes Beispiel: ein Getränkeautomat Mealy-Automaten

Mehr

Endliche Automaten. Endliche Automaten 1 / 102

Endliche Automaten. Endliche Automaten 1 / 102 Endliche Automaten Endliche Automaten 1 / 102 Endliche Automaten Endliche Automaten erlauben eine Beschreibung von Handlungsabläufen: Wie ändert sich ein Systemzustand in Abhängigkeit von veränderten Umgebungsbedingungen?

Mehr

Lösungen zur 3. Projektaufgabe TheGI1

Lösungen zur 3. Projektaufgabe TheGI1 Marco Kunze (makunze@cs.tu-berlin.de) WS 2001/2002 Sebastian Nowozin (nowozin@cs.tu-berlin.de) 21. 1. 2002 Lösungen zur 3. Projektaufgabe TheGI1 Definition: Turing-Aufzähler Ein Turing-Aufzähler einer

Mehr

Deterministischer Kellerautomat (DPDA)

Deterministischer Kellerautomat (DPDA) Deterministische Kellerautomaten Deterministischer Kellerautomat (DPDA) Definition Ein Septupel M = (Σ,Γ, Z,δ, z 0,#, F) heißt deterministischer Kellerautomat (kurz DPDA), falls gilt: 1 M = (Σ,Γ, Z,δ,

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

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie 1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie WS 11/12 155 Überblick Zunächst einmal definieren wir formal den Begriff

Mehr

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

Wie beweise ich etwas? 9. Juli 2012

Wie beweise ich etwas? 9. Juli 2012 Schülerzirkel Mathematik Fakultät für Mathematik. Universität Regensburg Wie beweise ich etwas? 9. Juli 2012 1 Was ist ein Beweis? 1.1 Ein Beispiel Nimm einen Stift und ein Blatt Papier und zeichne fünf

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

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie 1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie 139 Unentscheidbarkeit Überblick Zunächst einmal definieren wir formal

Mehr

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

Reguläre Grammatiken/Sprachen und endliche Automaten

Reguläre Grammatiken/Sprachen und endliche Automaten Reguläre Grammatiken/Sprachen und endliche Automaten Bei regulären Grammatiken ist die Form der Grammatikregeln am stärksten eingeschränkt. Trotzdem lassen sich bereits weite Teile einer natürlichen Sprache

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

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

1 Vorbereitung: Potenzen 2. 2 Einstieg und typische Probleme 3

1 Vorbereitung: Potenzen 2. 2 Einstieg und typische Probleme 3 Das vorliegende Skript beschäftigt sich mit dem Thema Rechnen mit Kongruenzen. Das Skript entsteht entlang einer Unterrichtsreihe in der Mathematischen Schülergesellschaft (MSG) im Jahr 2013. Die vorliegende

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

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 3. April 2 Einführung in die Theoretische Informatik

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

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

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

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

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

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Johannes Köbler Institut für Informatik Humboldt-Universität zu Berlin WS 2011/12 Deterministische Kellerautomaten Von besonderem Interesse sind kontextfreie Sprachen,

Mehr

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

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

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

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

P, NP und NP -Vollständigkeit

P, NP und NP -Vollständigkeit P, NP und NP -Vollständigkeit Mit der Turing-Maschine haben wir einen Formalismus kennengelernt, um über das Berechenbare nachdenken und argumentieren zu können. Wie unsere bisherigen Automatenmodelle

Mehr

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

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

Mehr

Deterministische Turing-Maschinen

Deterministische Turing-Maschinen Deterministische Turing-Maschinen Um 900 präsentierte David Hilbert auf einem internationalen Mathematikerkongress eine Sammlung offener Fragen, deren Beantwortung er von zentraler Bedeutung für die weitere

Mehr

Die Unentscheidbarkeit extensionaler Eigenschaften von Turingmaschinen: der Satz von Rice

Die Unentscheidbarkeit extensionaler Eigenschaften von Turingmaschinen: der Satz von Rice Die Unentscheidbarkeit extensionaler Eigenschaften von Turingmaschinen: der Satz von Rice Holger Arnold Dieser Text befasst sich mit der Frage, unter welchen Bedingungen das Problem, zu bestimmen, ob die

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

Lexikalische Programmanalyse der Scanner

Lexikalische Programmanalyse der Scanner Der Scanner führt die lexikalische Analyse des Programms durch Er sammelt (scanned) Zeichen für Zeichen und baut logisch zusammengehörige Zeichenketten (Tokens) aus diesen Zeichen Zur formalen Beschreibung

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

Kapitel 2. Induktion und Rekursion. 2.1 Induktion. Seien X und A Mengen und eine terminierende Relation. dass x X : x A gilt.

Kapitel 2. Induktion und Rekursion. 2.1 Induktion. Seien X und A Mengen und eine terminierende Relation. dass x X : x A gilt. Kapitel 2 Induktion und Rekursion 2.1 Induktion Induktion ist eine wichtige technik. Leider wird Induktion oft so vermittelt, dass Anfänger zu dem Schluß kommen, Induktion wäre eine geheimnisvolle Angelegenheit.

Mehr

Endliche Automaten. Endliche Automaten 1 / 115

Endliche Automaten. Endliche Automaten 1 / 115 Endliche Automaten Endliche Automaten 1 / 115 Endliche Automaten Endliche Automaten erlauben eine Beschreibung von Handlungsabläufen: Wie ändert sich ein Systemzustand in Abhängigkeit von veränderten Umgebungsbedingungen?

Mehr

Kontextsensitive und Typ 0 Sprachen Slide 2. Die Turingmaschine

Kontextsensitive und Typ 0 Sprachen Slide 2. Die Turingmaschine Kontextsensitive und Typ 0 Sprachen Slide 2 Die Turingmaschine DTM = Deterministische Turingmaschine NTM = Nichtdeterministische Turingmaschine TM = DTM oder NTM Intuitiv gilt: DTM = (DFA + dynamischer

Mehr

PDA, Übergangsfunktion

PDA, Übergangsfunktion Die Übergangsfunktion Was bedeutet das? PDA, Übergangsfunktion haben wir so definiert: : Z ( [{"})!P e (Z ) (z, a, A) ist eine Menge von Paaren der Form (z 0, B 1...B k ). Jedes dieser Paare beschreibt

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

Klausur: Berechenbarkeit und Komplexität (Niedermeier/Chen/Froese/Sorge, Sommersemester 2016)

Klausur: Berechenbarkeit und Komplexität (Niedermeier/Chen/Froese/Sorge, Sommersemester 2016) Technische Universität Berlin, Berlin, 28.07.2016 Name:... Matr.-Nr.:... Klausur: Berechenbarkeit und Komplexität (Niedermeier/Chen/Froese/Sorge, Sommersemester 2016) Einlesezeit: Bearbeitungszeit: Max.

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

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2011

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

Mehr

Theoretische Informatik für Medieninformatiker

Theoretische Informatik für Medieninformatiker Theoretische Informatik für Medieninformatiker Jan Johannsen Lehrveranstaltung im Sommersemester 27 / 6 Organisatorisches: Jede Lehrveranstaltungsstunde gliedert sich in einen Vorlesungsteil, dessen Länge

Mehr

Grammatiken. Einführung

Grammatiken. Einführung Einführung Beispiel: Die arithmetischen Ausdrücke über der Variablen a und den Operationen + und können wie folgt definiert werden: a, a + a und a a sind arithmetische Ausdrücke Wenn A und B arithmetische

Mehr

Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik. Weihnachtsblatt

Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik. Weihnachtsblatt Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik Prof. Dr. A. Taraz, Dipl-Math. A. Würfl, Dipl-Math. S. König Weihnachtsblatt Aufgabe W.1 Untersuchen Sie nachstehenden

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. Gruppen. 1. Gruppen 7

1. Gruppen. 1. Gruppen 7 1. Gruppen 7 1. Gruppen Wie schon in der Einleitung erläutert wollen wir uns in dieser Vorlesung mit Mengen beschäftigen, auf denen algebraische Verknüpfungen mit gewissen Eigenschaften definiert sind.

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

Universität des Saarlandes

Universität des Saarlandes Universität des Saarlandes FR 6.2 Informatik Prof. Dr. Kurt Mehlhorn, Dr. Konstantinos Panagiotou WiSe 2011/2012 Übungen zu Computational Thinking http://www.mpi-inf.mpg.de/departments/d1/teaching/ws11/ct/

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