Fragen 1. Wie viele Startzustände kann ein endlicher Automat haben? 2. Wie viele Endzustände kann ein endlicher Automat haben?
|
|
- Julia Fiedler
- vor 6 Jahren
- Abrufe
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
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
Mehrc) {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, λ}?
MehrFrank 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
Mehr2.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
MehrFragen 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
MehrWorterkennung 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,
MehrWorterkennung 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
MehrDas 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
MehrFormalismen 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) =
MehrKontextfreie 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
Mehr5.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
MehrDas 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
MehrTuring-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
MehrDer 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,
MehrAlgorithmen 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
Mehr4.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
MehrEin 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
Mehr1 Σ 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
MehrTheorie 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
Mehr2. 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
Mehrbestehenden 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
MehrDie 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
Mehr1 Σ 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
MehrDeterministische 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
MehrFormale 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
MehrTheoretische 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
MehrGrundlagen 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
MehrAutomaten 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
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
MehrFORMALE 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
MehrLö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,
Mehr8. 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
MehrRegulä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
MehrEinfü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:
MehrFrage 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
MehrTheorie 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)
MehrAutomaten 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
Mehr2. 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
Mehr4.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,
MehrTheoretische 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
Mehr1 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
MehrTechnische 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
MehrHoffmann (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
Mehrb 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 =
MehrTheoretische 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
MehrFormale 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
MehrTuringmaschinen 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
MehrFormale 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
Mehr11.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
MehrEinfü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
MehrGrundbegriffe 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
MehrEndliche 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?
MehrLö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
MehrDeterministischer 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,δ,
MehrGrenzen 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
Mehr1 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
Mehr1 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)
MehrWie 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
MehrSatz (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
Mehr1 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
MehrFORMALE 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
MehrRegulä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
MehrEndliche 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
MehrRekursiv 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
Mehr1 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
MehrRegulä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
MehrEinfü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
MehrEinfü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
MehrInformales 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
MehrGrundlagen 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
MehrKurz-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 ε
MehrSatz 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
MehrTheoretische 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
MehrEinfü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,
MehrTechnische 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
MehrTheoretische 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
Mehr2 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
MehrP, 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
MehrFormale 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
MehrDeterministische 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
MehrDie 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
MehrEinfü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
MehrLexikalische 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
MehrSei Σ 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
MehrKapitel 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.
MehrEndliche 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?
MehrKontextsensitive 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
MehrPDA, Ü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
MehrGrundlagen 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
MehrKlausur: 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.
MehrEndliche 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
MehrAutomaten 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
MehrTheoretische 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
MehrGrammatiken. 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
MehrTechnische 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
MehrSuche 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
Mehr1. 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.
MehrAutomaten 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
MehrUniversitä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/
MehrGrundlagen 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