1 Endliche Automaten oder Rabin-Scott-Automaten

Größe: px
Ab Seite anzeigen:

Download "1 Endliche Automaten oder Rabin-Scott-Automaten"

Transkript

1 3 1 Endliche Automaten oder Rabin-Scott-Automaten Einfache Kenntnisse über Sprachen und Grammatiken und auch über Automaten werden vorausgesetzt. Grundlegende Termini sind eventuell in Standardwerken nachzulesen (z. B. [22] oder [17]). Im folgenden sei Σ ein Alphabet (für uns sind Alphabete grundsätzlich endlich), L Σ eine Sprache, d. h. eine Menge von Wörtern über Σ. In diesem Abschnitt betrachten wir Automaten als Akzeptoren, d. h. wir benutzen sie als endliche Konstrukte, um Sprachen (im allgemeinen unendlich) zu beschreiben. Andere (endliche) Charakterisierungen von Sprachen sind z. B. durch Grammatiken, reguläre Ausdrücke oder algebraische Eigenschaften möglich. Bei Akzeptoren handelt es sich also um Automaten, die bei einer gewissen Eingabe (ein Wort über dem Alphabet Σ) akzeptiert oder nicht akzeptiert ausgeben. Es sind zwar eigentlich Automaten ohne Ausgabe, allerdings kann man sie natürlich auch als Automaten mit Ausgabe (nämlich akzeptiert oder nicht akzeptiert) betrachten. 1.1 Deterministische endliche Automaten Definition 1.1 Ein deterministischer endlicher Automat (Wir wollen ihn kurz mit DEA bezeichnen) A ist ein 5-Tupel A = (Z, Σ, δ, q, E), wobei Σ das nichtleere Eingabealphabet und Z das nichtleere Zustandsalphabet mit Σ Z = sind. q Z ist der Anfangszustand, E Z die Menge der Endzustände. Mit δ bezeichnen wir die Zustandsüberführungsfunktion δ : Z Σ Z. Wir interpretieren einen DEA als endliche Kontrolle, die sich in einem Zustand q Z befindet und eine Folge von Symbolen aus Σ, die auf einem Band geschrieben stehen, liest. In einem Schritt bewegt sich der Lesekopf des Automaten, der augenblicklich über der Zelle des Bandes mit dem Inhalt a Σ steht und sich im Zustand q Z befindet, einen Schritt nach rechts und geht in den Zustand δ(q, a) über. Ist δ(q, a) E, d. h. ein akzeptierender Zustand, so hat der DEA die Zeichenkette, die er bereits gelesen hat, akzeptiert.! "# $ Abbildung 1.1: Interpretation der Definition des endlichen Automaten Um die von einem DEA akzeptierte Sprache, d. h. die Menge aller von ihm akzeptierten Wörter, formal beschreiben zu können, erweitern wir die Zustandsfunktion δ zur Funktion ˆδ : Z Σ Z rekursiv durch folgende Definition. Definition 1.2 Es sei A = (Z, Σ, δ, q, E) ein DEA, die erweiterte Zustandsfunktion ˆδ : Z Σ Z sei gegeben durch (i) ˆδ(q, ) = q für alle q Z, (ii) ˆδ(q, wa) = δ(ˆδ(q, w), a) für alle q Z, a Σ, w Σ Ich erwähne, dass in der Literatur ˆδ oft auch nur als δ bezeichnet wird. Das ist in der Tatsache begründet, dass für alle q Z und für alle a Σ die Gleichheit ˆδ(q, a) = δ(q, a) gilt, d. h. δ ist eine Einschränkung der Funktion ˆδ auf Z Σ. Jetzt können wir die von dem Automaten akzeptierte Sprache definieren: Definition 1.3 Für einen DEA A = (Z, Σ, δ, q, E) sei die von ihm akzeptierte Sprache T (A) definiert durch T (A) = {w Σ ˆδ(q, w) E}.

2 4 1 ENDLICHE AUTOMATEN ODER RABIN-SCOTT-AUTOMATEN Beispiel 1.4 Es ist ein DEA A = ({q, q 1, q 2, q 3 }, {, 1}, δ, q, {q 1, q 2 }) gegeben, wobei δ durch folgende Tabelle bestimmt ist: δ q q 1 q 2 q 3 q 1 q 1 q 3 q 3 1 q 2 q 2 q 2 q 3 Wir wollen ˆδ(q, 1) ausrechnen, d. h. den Zustand des Automaten, in dem er sich befindet, nachdem er das Wort 1 eingelesen hat. Wir benutzen dazu die Definition von ˆδ : ˆδ(q, 1) = δ(ˆδ(q, 1), ) = δ(δ(ˆδ(q, ), 1), ) = δ(δ(δ(ˆδ(q, ), ), 1), ) = δ(δ(δ(δ(ˆδ(q, ), ), ), 1), ) = δ(δ(δ(δ(q, ), ), 1), ) = δ(δ(δ(q 1, ), 1), ) = δ(δ(q 1, 1), ) = δ(q 2, ) = q 3 d. h. ˆδ(q, 1) = q 3, und da q 3 / E ist, wird das Wort 1 nicht von A akzeptiert, d. h. 1 / T (A) Wenn wir uns fragen, welche Sprache A akzeptiert, dann stellen wir zuerst / T (A) fest, da q / E gilt. Wir erhalten schließlich T (A) = {w {, 1} w = i 1 j, i, j, i + j 1}. Falls die Transitionsfunktion δ eines DEA in Tabellenform gegeben ist, lässt sich T (A) oft nur umständlich bestimmen. Eine andere Darstellung des DEA ist der Überführungsgraph, bekannt aus der Grundvorlesung. Für den DEA aus Beispiel 1.4 erhalten wir den folgenden Graphen. q q q 2 q,1 Definition 1.5 Es sei A = (Z, Σ, δ, q, E) ein DEA. Einen Zustand q nennen wir Falle (siehe Grundvorlesung), falls er kein Endzustand ist und wenn δ(q, a) = q für alle a Σ gilt. Falls der Automat also in solch einen Zustand gerät, bleibt er in diesem und kann also keinen akzeptierenden Zustand mehr erreichen. Deshalb wird der DEA oft ohne Fallen angegeben, d. h. dann, dass δ auch als partielle Funktion angegeben werden kann. In der Literatur wird deshalb manchmal zwischen deterministischen endlichen Automaten (DEA) und deterministischen vollständigen endlichen Automaten (DVEA) unterschieden. Wenn wir von einem DEA sprechen, meinen wir stets einen DEA mit totaler Transitionsfunktion δ. Übungsaufgabe 1.1 Sei δ die Überführungsfunktion eines DEA. Zeigen Sie, dass für alle Eingabezeichenketten x und y gilt: ˆδ(q, xy) = ˆδ(δ (q, x), y). (Hinweis: Führen Sie eine Induktion über y durch.) Übungsaufgabe 1.2 Charakterisieren Sie alle Sprachen über dem Alphabet {}, die von endlichen Automaten akzeptiert werden können. (Hinweis: Wie sieht ein DEA über einem Alphabet mit nur einem Buchstaben aus?)

3 1.2 Nichtdeterministische endliche Automaten Nichtdeterministische endliche Automaten Wir erweitern das Konzept des DEA um den Nichtdeterminismus und kommen zur Definition des nichtdeterministischen endlichen Automaten, indem wir die Möglichkeit zulassen, dass der Automat einen Übergang aus mehreren Möglichkeiten raten kann. Definition 1.6 Ein (nichtdeterministischer) endlicher Automat (NEA) A ist ein 5-Tupel A = (Z, Σ, δ, q, E) mit Σ, Z, q und E wie in Definition 1.1 und der Überführungsfunktion δ : Z Σ 2 Z. Wir erweitern auch hier die Überführungsfunktion δ zu einer Funktion ˆδ : Z Σ 2 Z und können schließlich die akzeptierte Wortmenge definieren. Definition 1.7 Für einen NEA A = (Z, Σ, δ, q, E) sei die erweiterte Zustandsfunktion ˆδ : Z Σ 2 Z gegeben durch i) ˆδ(q, ) = {q} für alle q Z, ii) ˆδ(q, wa) = {q Z q Z mit q ˆδ(q, w) und q δ(q, a)} für alle q Z, a Σ, w Σ Definition 1.8 Für einen NEA A = (Z, Σ, δ, q, E) ist die akzeptierte Wortmenge definiert durch T (A) = {w Σ ˆδ(q, w) E }. Beispiel 1.9 Gegeben ist der NEA A = ({q, q 1, q 2 }, {a, b}, δ, q, {q 2 }) mit δ q q 1 q 2 a {q, q 1 } {q 2 } b {q } {q 2 } Der Überführungsgraph hat hier die Gestalt a,b q a q 1 a,b q 2 und es gilt: T (A) = {w Σ w = uax mit u Σ und x Σ}. Bemerkung. Im obigen Beispiel sieht der Graph so aus, als ob δ eine partielle Funktion ist, aber da 2 Z gilt, ist bei nichtdeterministischen endlichen Automaten δ natürlich immer eine totale Funktion. Für weitere Untersuchungen ist es günstig, folgende Bezeichnungen einzuführen: Sei X eine Klasse von Automaten (z. B. X {DEA, NEA}) oder eine Klasse von Grammatiken (z. B. aus der Grundvorlesung X {REG, CF, CS, RE}), dann wollen wir mit L(X) die Menge aller Sprachen bezeichnen, die durch Elemente aus X akzeptiert bzw. generiert werden. Aus den Definitionen 1.1 und 1.6 erhalten wir sofort die Folgerung: Folgerung 1.1 Es gilt L(DEA) L(NEA). Wir können schließlich folgenden Satz aufstellen. Satz 1.11 Es gilt L(DEA) = L(NEA).

4 6 1 ENDLICHE AUTOMATEN ODER RABIN-SCOTT-AUTOMATEN Beweis. Nach Folgerung 1.1 bleibt nur noch zu zeigen, dass L(NEA) L(DEA) gilt. Es sei A = (Z, Σ, δ, q, E) ein NEA. Wir konstruieren nun einen äquivalenten DEA A = (Z, Σ, δ, q, E ) durch Z = 2 Z, q = {q }, E = {q Z q E } und δ (q, a) = {p Z q q mit p δ(q, a)} für alle q Z and a Σ. Der deterministische Automat A besitzt also als Zustände alle Teilmengen der Zustandsmenge Z des NEA A, wobei die Transitionsfunktion in A angewendet auf eine Teilmenge von Z bei der Eingabe a die Menge aller Zustände aus Z ergibt, die der NEA von Zuständen aus dieser Teilmenge beim Lesen der Eingabe a erreichen kann. Wir zeigen jetzt durch Induktion über die Länge des Eingabewortes, dass für alle w Σ ˆδ (q, w) = ˆδ(q, w) (1.1) gilt. Induktionsanfang: Für w = erhalten wir ˆδ(q, ) = {q } = q = ˆδ (q, ) gemäß den Definitionen von ˆδ und q. Induktionsschritt: Es sei jetzt w = xa mit x Σ und a Σ. Dann erhalten wir mit der Induktionsannahme ˆδ (q, x) = ˆδ(q, x) und mit den Definitionen der erweiterten Transitionsfunktionen für DEA und NEA sowie mit der Definition von δ ˆδ (q, w) = ˆδ (q, xa) = δ (ˆδ (q, x), a) = δ (ˆδ(q, x), a) = {p Z q ˆδ(q, x) mit p δ(q, a)} = ˆδ(q, xa) = ˆδ(q, w), womit die Induktionsbehauptung und damit (1.1) gezeigt ist. Schließlich wird durch w T (A) ˆδ(q, w) E ˆδ (q, w) E ˆδ (q, w) E w T (A ) T (A) = T (A ) gezeigt, womit der Beweis komplett ist. Wir wollen ein Beispiel betrachten. Beispiel 1.12 Zu dem NEA A aus Beispiel 1.9 konstruieren wir den äquivalenten DEA gemäß obigem Algorithmus. Anstatt alle Teilmengen von Z brauchen wir nur die relevanten betrachten (alle anderen denkt man sich bei jeder Eingabe auf die leere Menge abgebildet): δ {q } {q, q 1 } {q, q 2 } {q, q 1, q 2 } a {q, q 1 } {q, q 1, q 2 } {q, q 1 } {q, q 1, q 2 } b {q } {q, q 2 } {q } {q, q 2 } Wenn wir die neuen Zustände laut Reihenfolge im obigen Tabellenkopf mit p, p 1, p 2, p 3 bezeichen, erhalten wir einen zu A äquivalenten NEA A = ({p, p 1, p 2, p 3 }, {a, b}, δ, p, {p 2, p 3 }) mit

5 1.3 Endliche Automaten mit -Übergängen 7 folgendem Transitionsgraphen. p 1 a a p b a p 3 b b b p 2 a Bemerkung. Betrachten wir die Komplexität von DEA und NEA, so haben wir im Beispiel 1.12: Der NEA zur Erkennung von L benötigt 3 Zustände, wobei der DEA auch nur 4 Zustände benötigt. Verallgemeinern wir allerdings die Sprache L zur Sprache L n mit L n = {w {a, b} w = uav mit u {a, b} und v {a, b} n }, so sieht man leicht, dass ein NEA, der L n akzeptiert, mit n + 2 Zuständen auskommt. Dagegen kann man zeigen (siehe Übungsaufgabe 1.3), dass ein DEA, der L n akzeptiert, mindestens 2 n+1 Zustände benötigt. Übungsaufgabe 1.3 Für ein n 1 sei die Sprache L n {a, b} definiert als Zeigen Sie: L n = {w {a, b} w = uav mit u {a, b} und v {a, b} n 1 }. a) Ein NEA, der L n akzeptiert, kommt mit n + 1 Zuständen aus. b) Ein DEA, der L n akzeptiert, benötigt mindestens 2 n Zustände. 1.3 Endliche Automaten mit -Übergängen In diesem Kapitel erweitern wir das Modell des NEA durch Hinzunahme der Möglichkeit von Zustandsänderungen auf die leere Eingabe, d. h. der Automat kann ohne Lesen der Eingabe seinen Zustand ändern. Es handelt sich quasi um eine Art zusätzlicher Nichtdeterminismus. Definition 1.13 Ein nichtdeterministischer endlicher Automat mit -Übergängen (NEA-) A ist ein 5-Tupel A = (Z, Σ, δ, q, E) mit Σ, Z, q und E wie in Definition 1.1 und der Überführungsfunktion δ : Z (Σ {}) 2 Z. Um für einen NEA- die akzeptierte Sprache definieren zu können, erweitern wir auch hier die Funktion δ zur Funktion ˆδ : Z Σ 2 Z. Dazu benötigen wir allerdings den Begriff der -Hülle eines Zustandes q als die Menge aller Zustände q, die ausgehend von q durch -Übergänge erreicht werden können. Formalisiert sieht das folgendermaßen aus: Definition 1.14 Es sei A = (Z, Σ, δ, q, E) ein NEA- und q Z ein Zustand. Dann definieren wir eine Folge von Mengen M i für i rekursiv durch: (i) M = {q}, (ii) M i+1 = M i {q Z q M i mit q δ(q, )}. Wenn n = Z ist, dann sei M n die -Hülle des Zustandes q. In Zeichen: -Hülle(q). Wir erweitern den Begriff der -Hülle auf eine Menge P Z von Zuständen durch: -Hülle(P ) = {q Z q P mit q -Hülle(q )}. Definition 1.15 Es sei A = (Z, Σ, δ, q, E) ein NEA-. Die erweiterte Zustandsfunktion ˆδ : Z Σ 2 Z ist definiert durch:

6 8 1 ENDLICHE AUTOMATEN ODER RABIN-SCOTT-AUTOMATEN i) ˆδ(q, ) = -Hülle(q) für alle q Z, ii) ˆδ(q, wa) = -Hülle({q Z q Z mit q ˆδ(q, w) und q δ(q, a)}) für alle q Z, a Σ und w Σ. Jetzt sind wir in der Lage, die von einem NEA- akzeptierte Sprache in gewohnter Manier zu definieren. Definition 1.16 Es sei A = (Z, Σ, δ, q, E) ein NEA-. Dann ist die akzeptierte Wortmenge T (A) definiert durch T (A) = {w Σ ˆδ(q, w) E }. Beispiel 1.17 Als einfaches Beispiel für einen nichtdeterministischen endlichen Automaten mit -Übergängen betrachten wir den Automaten A = ({q, q 1, q 2 }, {, 1, 2}, δ, q, {q 2 }) mit δ q q 1 q 2 {q } 1 {q 1 } 2 {q 2 } {q 1 } {q 2 } In der graphischen Darstellung sieht der Automat dann so aus: q 1 q 1 Die von A akzeptierte Sprache ist T (A) = { i 1 j 2 k i, j, k }. 2 Nachdem wir die nichtdeterministischen endlichen Automaten mit -Übergängen definiert haben, ergibt sich natürlich die Frage der Beziehung zwischen L(NEA) und L(NEA-). Sie wird von folgendem Satz beantwortet. q 2 Satz 1.18 Es gilt L(NEA) = L(NEA-). Beweis. i) L(NEA) L(NEA-) Trivial gemäß Definition. (Man setzt δ(q, ) = für alle q Z.) ii) L(NEA) L(NEA-) Es ist also zu zeigen, dass für jeden NEA- A = (Z, Σ, δ, q, E) ein äquivalenter NEA A existiert. Dazu definieren wir A = (Z, Σ, δ, q, E ) mit E = { E {q }, falls -Hülle(q ) E, E sonst, und δ (q, a) = ˆδ(q, a) für alle q Z und a Σ. A hat also keine -Übergänge, ist also ein NEA. Zu zeigen ist natürlich noch: T (A) = T (A ), also w T (A) w T (A ). Wir zeigen durch Induktion über die Wortlänge w, dass ˆδ (q, w) = ˆδ(q, w) für alle w Σ, dabei beginnen wir mit w = 1, da für w = die Gleichung nicht erfüllt sein braucht. Induktionsanfang: w = 1 heißt w = a für a Σ: Dann ist also ˆδ (q, a) = ˆδ(q, a) für alle a Σ zu zeigen, was aber nach Definition von δ offensichlich gilt.

7 1.3 Endliche Automaten mit -Übergängen 9 Induktionsschritt: Es sei w > 1, d. h. w = va für ein a Σ, v Σ +. Dann gilt: ˆδ (q, va) = {q Z q Z mit q ˆδ (q, v) und q δ (q, a)}. Nach Induktionsannahme gilt: ˆδ (q, v) = ˆδ(q, v). Damit gilt ˆδ (q, va) = {q Z q Z mit q ˆδ(q, v) und q ˆδ(q, a)} = -Hülle({q Z q Z mit q ˆδ(q, v) und q δ(q, a)}) = ˆδ(q, va), womit der Induktionschritt gezeigt ist. Damit ist obige Aussage bewiesen und es bleibt zu zeigen, dass ˆδ (q, w) E ˆδ(q, w) E gilt. Ist w =, so folgt dies direkt aus der Definition von E : ˆδ (q, ) = {q } und q E ˆδ(q, ) also die -Hülle von q einen Zustand aus E enthält. Gilt w, dann gilt w = va für ein Symbol a. Wenn ˆδ(q, w) E, dann haben wir ˆδ (q, w) E (und sogar den gleichen Zustand aus E ). Gilt umgekehrt, dass ˆδ (q, w) einen Zustand aus E enthält, so enthält ˆδ(q, w) auch einen (wiederum denselben) Zustand aus E. Falls q in ˆδ (q, w), aber nicht in E enthalten ist, dann muss, da ˆδ(q, w) = -Hülle(δ(ˆδ(q, v), a)) ist, der Zustand aus der -Hülle(q ) und aus E auch in ˆδ(q, w) sein. Wir geben jetzt ein Beispiel zur Anwendung der Konstruktion des Beweises zum obigen Satz. Wir nehmen dazu den NEA- aus dem Beispiel Beispiel 1.19 Es sei A also durch folgenden Transitionsgraphen gegeben: q 1 q 1 2 Wir konstruieren den äquivalenten NEA A = (Z, Σ, δ, q, E ), indem wir zuerst δ (q, a) = ˆδ(q, a) für alle q Z und a Σ bestimmen: q 2 δ = ˆδ q q 1 q 2 {q, q 1, q 2 } 1 {q 1, q 2 } {q 1, q 2 } 2 {q 2 } {q 2 } {q 2 } Die Menge der Stopzustände E berechnet sich aus E = E {q } = {q, q 2 }, da -Hülle(q ) = {q, q 1, q 2 } ist, d. h. nicht disjunkt zu E. Also sieht der Transitionsgraph des äquivalenten NEA A zum NEA- A folgendermaßen aus: q,1 1 q 1 1,2 2 q 2,1,2 Folgerung 1.2 Zu jedem NEA- A = (Z, Σ, δ, q, E) kann man einen äquivalenten NEA- A = (Z, Σ, δ, q, {q f }) konstruieren. Beweis. 1. Fall: E = 1.

8 1 1 ENDLICHE AUTOMATEN ODER RABIN-SCOTT-AUTOMATEN Hier ist nichts zu tun, A erfüllt bereits die Bedingung von A. 2. Fall: E =. Das bedeutet T (A) =, so dass A = ({q, q f }, Σ, δ, q, {q f }) mit δ (q, a) = für alle q Z und a Σ {} den Bedingungen der Folgerung genügt, d. h. A besteht aus zwei diskreten Zuständen: q q f 3. Fall: E > 1. Es sei Z = Z {q f } mit q f definiert: / Z und E = {q f } und die Transitionsfunktion δ wird wie folgt δ (q, a) = δ(q, a) falls q Z \ E und a Σ {} δ (q, a) = δ(q, a) falls q E und a Σ δ (q, ) = δ(q, ) {q f } für q E δ (q f, a) = für a Σ {} Im Bild könnte man es vereinfacht so darstellen:.. q 1.. q n =.. q 1. q f. q n Transitionssysteme Wir betrachten im folgenden eine weitere Verallgemeinerung eines endlichen Automaten, wobei uns der Nachweis der Äquivalenz mit der Klasse der DEA nicht schwerfallen sollte. Definition 1.21 Ein Transitionssystem (TS) ist ein 5-Tupel A = (Z, Σ, δ, Z, E) mit Σ, Z, E wie bei endlichen Automaten; Z ist die Menge von Startzuständen mit Z Z und δ ist die partielle Transitionsfunktion δ : Z Σ 2 Z, wobei der Definitionsbereich von δ endlich ist. Definition 1.22 Ein Transitionssystem (TS) A = (Z, Σ, δ, Z, E) akzeptiert ein Wort w Σ genau dann, wenn es ein r gibt, so dass w = u 1 u 2... u r mit u i Σ gilt und es Zustände q,..., q r Z gibt, so dass gilt i) q Z, ii) q i+1 δ(q i, u i+1 ) für i =,..., r 1 und iii) q r E. Die akzeptierte Sprache T (A) ist wiederum die Menge aller akzeptierter Wörter über dem Alphabet Σ.

9 1.5 Algebraische Abschlusseigenschaften von L(REG) 11 Beispiel 1.23 Gegeben ist ein TS A = ({q, q 1, q 2, q 3 }, {, 1}, δ, {q, q 1 }, {q 3 }), wobei δ aus folgendem Transitionsgraphen für A entnommen werden kann: Man erhält z. B T (A) und 11 / T (A). q q 2 q 1 q f Die Frage nach der Größe der Familie der von TS akzteptierten Sprachen beantwortet der Satz: Satz 1.24 (Myhill) Es gilt L(NEA-) = L(TS). Beweisidee. i) L(NEA-) L(TS) Das gilt per Definition. ii) L(TS) L(NEA-) (nur Idee!) Falls ein TS A = (Z, Σ, δ, Z, E) gegeben ist, konstruieren wir einen äquivalenten NEA- A = (Z, Σ, δ, q, E), indem wir für δ(q, a 1... a n ) für q Z und a i Σ mit i = 1,..., n für n 2 die Funktion δ definieren: δ (q, a 1 ) = {p 1 }, δ (p i, a i+1 ) = {p i+1 } für i = 1,..., n 2 und δ (p n 1, a n ) = δ(q, a 1... a n ), wobei p i / Z für i = 1,..., n 1 gilt. Des weiteren nehmen wir einen neuen Zustand q hinzu, den einzigen Anfangszustand von A und setzen δ (q, ) = Z. Damit ist leicht zu erkennen, dass der so konstruierte Automat A ein NEA- ist und zu A äquivalent ist. Wir wollen die von in diesem Abschnitt betrachteten Automaten akzeptierten Sprachen in folgendem Satz zusammenfassend vergleichen. Der Satz folgt direkt aus den Sätzen 1.11, 1.18, 1.24 und dem Satz aus der Grundvorlesung, dass L(REG) = L(DEA). Satz 1.25 Es gilt L(DEA) = L(NEA) = L(NEA-) = L(TS) = L(REG). 1.5 Algebraische Abschlusseigenschaften von L(REG) Für reguläre Sprachen gelten bestimmte algebraische Abschlusseigenschaften. Einige von ihnen wurden bereits in der Grundvorlesung TI bewiesen, evtl. über generative Grammatiken, andere wurden nur genannt. Wir wollen im folgenden einige Abschlusseigenschaften nennen und einige über Automaten beweisen oder zumindest die Beweisideen aufzeigen, wobei wir uns auf eine Auswahl beschränken und keinen Anspruch auf Vollständigkeit erheben. Satz 1.26 Die Menge L(REG) ist abgeschlossen unter den folgenden Operationen: Konkatenation, -Operation, +-Operation, Vereinigung, Komplementbildung, Durchschnitt, Mengendifferenz, Spiegelbild, Substitution, Homomorphismus, inverser Homomorphismus und Quotientenbildung mit beliebigen Mengen. Beweisideen.

10 12 1 ENDLICHE AUTOMATEN ODER RABIN-SCOTT-AUTOMATEN Konkatenation. Die gegebenen regulären Sprachen L 1 und L 2 seien durch die NEA- A 1 und A 2, die jeweils genau einen Endzustand besitzen (siehe Folgerung 1.2), akzeptiert. Ein NEA- A, der L 1 L 2 akzeptiert, ist dann gegeben durch den Transitionsgraphen q A 1 A 2 q f wobei A 1 bedeuten soll, dass der Eingangspfeil zum Anfangszustand von A 1 führt und der Ausgangspfeil vom Endzustand von A 1 wegführt, wobei in A der einzige Anfangszustand q und der einzige Endzustand q f sein soll, d. h., alle Zustände von A 1 und A 2 gehen als normale Zustände (kein Anfangs- und kein Endzustand) in A ein. Es ist unschwer zu erkennen, dass der so konstruierte Automat wiederum ein NEA- ist. Wie man auch leicht sieht, ist die akzeptierte Sprache von A das Podukt L 1 L 2, d. h. dieses Produkt ist ebenfalls eine reguläre Sprache. - und +-Operation sowie Vereinigung. Es seien A 1 und A 2 wiederum NEA- mit jeweils genau einem Endzustand, die L 1 bzw. L 2 akzeptieren. Analog zum Beweis für die Konkatenation zeigen folgende Automaten (NEA-) die Abgeschlossenheit gegenüber diesen Operationen und akzeptieren also L 1 : q A 1 L + 1 : q A 1 q f L 1 L 2 : A 1 q A 2 q f Komplement. Es sei L von dem DEA A = (Z, Σ, δ, q, E) akzeptiert. Es ist also L Σ, wobei in Σ alle Symbole notwendig für L sind. Wir betrachten den DEA A = (Z, Σ, δ, q, Z \ E). Er akzeptiert ein Wort w Σ genau dann, wenn ˆδ(q, w) Z \E gilt, d. h., wenn w L ist. Wir möchten noch darauf hinweisen, dass die Totalität von δ auf Z Σ hier unverzichtbar ist. Durchschnitt. Die Abgeschlossenheit der regulären Sprachen gegenüber der Schnittbildung kann günstig über die Gleichheit L 1 L 2 = L 1 L 2 auf die Abgeschlossenheit gegenüber Komplement und Vereinigung zurückgeführt werden. Allerdings kann man sie auch auf direktem Wege durch folgende Konstruktion zeigen, die interessant und hübsch ist: Seien A 1 = (Z 1, Σ, δ 1, q 1, E 1 ) und A 2 = (Z 2, Σ, δ 2, q 2, E 2 ) zwei DEA. Wir definieren einen DEA A = (Z 1 Z 2, Σ, δ, (q 1, q 2 ), E 1 E 2 ) mit δ((q 1, q 2 ), a) = (δ 1 (q 1, a), δ 2 (q 2, a)) für alle (q 1, q 2 ) Z 1 Z 2 und a Σ. Es ist einfach zu zeigen, dass T (A) = T (A 1 ) T (A 2 ) gilt. Differenz. Wir führen die Abgeschlossenheit gegenüber der Differenz mittels der Gleichheit L 1 \ L 2 = L 1 L 2 auf die Abgeschlossenheit gegenüber den Operationen Durchschnitt und Komplementbildung zurück. Spiegelbild. Das Spiegelbild w R eines Wortes w Σ kann man rekursiv definieren durch R = und (va) R = a(v) R für alle v Σ und a Σ.

11 1.5 Algebraische Abschlusseigenschaften von L(REG) 13 Die reguläre Sprache L sei durch den DEA A = (Z, Σ, δ, q, E) akzeptiert. Die Spiegelbildsprache L R = {w R Σ w L} wird dann offensichtlich durch das TS A = (Z, Σ, δ, E, {q }) mit δ (q, a) = {q Z δ(q, a) = q} für E akzeptiert. Für E = ist L =, d. h. auch L R =, dann können wir A = A setzen. Substitution. Es sei A ein NEA- mit genau einem Endzustand. Weiter sei Γ ein Alphabet. Dann ist die Funktion σ : Σ 2 Γ vermöge a σ(a) = R a Γ, wobei R a eine reguläre Menge für a Σ ist, eine Substitution. Einen NEA- A, der σ(t (A)) a akzeptiert, kann man konstruieren, indem man in dem Transitionsgraph jede Kante für ein a Σ durch die Kante R a in gewohnter Manier ersetzt. Homomorphismus. Die Abgeschlossenheit gegenüber dem homomorphen Bild braucht nicht extra nachgewiesen zu werden, da ja jeder Homomorphismus eine Substitution ist. Inverser Homomorphismus. A = (Z, Σ, δ, q, E) sei ein DEA mit T (A) = L und h : U Σ sei ein Homomorphismus. Wir konstruieren einen DEA A, der h 1 (L) akzeptiert, indem er ein Symbol a U liest und A auf h(a) simuliert. Formal sei A = (Z, U, δ, q, E) mit δ (q, a) = ˆδ(q, h(a)). Es ist einfach über Induktion über w zu zeigen, dass gilt: ˆδ (q, w) = ˆδ(q, h(w)) (1.2) Induktionsanfang Für w = haben wir ˆδ (q, ) = q = ˆδ(q, ) = ˆδ(q, h()), also ist die Gleichung (1.2) für w = wahr. Induktionsschritt Induktionsvoraussetzung w = v für ein v U : ˆδ (q, v) = ˆδ(q, h(v)) Induktionsbehauptung w = va für ein v U und ein a U : ˆδ (q, va) = ˆδ(q, h(va)) Induktionsbeweis ˆδ (q, va) = δ (ˆδ (q, v), a) = δ (ˆδ(q, h(v)), a) = ˆδ(ˆδ(q, h(v)), h(a)) = ˆδ(q, h(v)h(a)) = ˆδ(q, h(va)) womit die Induktionsbehauptung und somit die Gleichung (1.2) bewiesen ist. Daher wird w U genau dann von A akzeptiert, wenn h(w) Σ von A akzeptiert wird. Also gilt T (A ) = h 1 (T (A)), womit die Abgeschlossenheit gegenüber der inversen Homomorphismusbildung gezeigt ist. Quotientenbildung mit beliebigen Mengen. Sei A = (Z, Σ, δ, q, E) ein DEA, der die Sprache L 1 akzeptiert. Der Quotient L 1 /L 2 für eine beliebige Sprache L 2 Σ wird dann von einem DEA A = (Z, Σ, δ, q, E ) akzeptiert, wobei E = {q Z v L 2 mit ˆδ(q, v) E} gilt. Dann ist ˆδ(q, w) E v mit ˆδ(q, wv) E. Also ist T (A ) = L 1 /L 2.

12 14 1 ENDLICHE AUTOMATEN ODER RABIN-SCOTT-AUTOMATEN Bemerkung. Der im Beweis für die Abgeschlossenheit der Quotientenbildung benutzte Automat A unterscheidet sich von allen anderen Konstruktionen im Beweis des Satzes 1.26 durch die Tatsache, dass kein Algorithmus für seine Konstruktion angegeben wurde und auch nicht angegeben werden kann. Ein sehr wichtiger Satz für reguläre Sprachen ist das sogenannte Pumping-Lemma, welches auch über Automaten bewiesen werden kann, was jedoch schon in der Grundvorlesung TI gemacht wurde. Deshalb zitieren wir ihn hier ohne Beweis. Satz 1.27 Es sei L eine reguläre Sprache. Dann gibt es eine Konstante n derart, dass gilt: Für alle z L mit z n gibt es eine Darstellung von z als Produkt z = uvw mit uv n und v, so dass für alle i uv i w L gilt. Dieser Satz ist insbesondere an dieser Stelle erwähnt, da er gemeinsam mit den Abschlusseigenschaften ein gutes Instrumentarium zur Verfügung stellt, um zu zeigen, dass Sprachen nicht regulär sind. Beispiele findet man in der Grundvorlesung TI. Übungsaufgabe 1.4 Gegeben ist ein Homomorphismus h : {, 1} {a, b} durch h() = aa und h(1) = aba. a) Bestimmen Sie h(l 1 ) für L 1 = { i 1 i }. b) Bestimmen Sie h 1 (L 2 ) für L 2 = {ab, ba} {a}. Übungsaufgabe 1.5 Für eine Sprache L sei L ger die Menge der in L enthaltenen Wörter gerader Länge. Beweisen Sie, dass für reguläres L auch L ger regulär ist. Übungsaufgabe 1.6 Für eine Sprache L über dem Alphabet Σ mit a Σ sei L a = {w aw L} und L a = {v va L}. Zeigen Sie, dass für reguläres L auch L a und L a regulär sind. Übungsaufgabe 1.7 Für L Σ sei L/2 die Menge aller Wörter w Σ, so dass es ein Wort x gleicher Länge wie w mit wx L gibt. Es sei ein DEA für L gegeben. Gibt es stets einen DEA für L/2?

13 1.6 Zweiseitige endliche Automaten Zweiseitige endliche Automaten Endlichen Automaten fehlt die Eigenschaft, zählen zu können. Deshalb werden wir in diesem Abschnitt das Konzept des endlichen Automaten in der Hinsicht erweitern, dass wir eine beliebige Bewegung des Automaten auf der Eingabe zulassen. Vielleicht können wir dadurch eine größere Sprachklasse akzeptieren. Dabei betrachten wir der Einfachheit halber deterministische endliche Automaten. Das Akzeptieren eines Wortes soll genau dann erfolgen, wenn der Automat sich nach rechts über die Eingabe bewegt hat und gleichzeitig in einen Endzustand übergegangen ist. Ich möchte darauf aufmerksam machen, dass dieses Kapitel fast vollständig aus [17] stammt. Definition 1.28 Ein zweiseitiger deterministischer endlicher Automat (2DEA) ist ein 5-Tupel (Z, Σ, δ, q, E) mit Σ, Z, q und E wie bei DEA und der Transitionsfunktion δ : Z Σ Z {L, R}. Zur Interpretation: Falls δ(q, a) = (p, L), dann geht A im Zustand q beim Lesen von a in den Zustand p und bewegt seinen Kopf ein Feld nach links. Falls δ(q, a) = (p, R), dann geht A im Zustand q beim Lesen von a in den Zustand p und bewegt seinen Kopf ein Feld nach rechts. Bei den DEA haben wir δ zu ˆδ : Z Σ Z erweitert. Das führt bei zweiseitigen Automaten nicht zu dem erwünschten Erfolg. Deshalb müssen wir augenblickliche Situationsbeschreibungen einführen: Definition 1.29 Ist (Z, Σ, δ, q, E) ein 2DEA, so nennen wir das Tripel k = (u, q, v) Σ Z Σ eine Konfiguration des 2DEA, wenn i) uv das Eingabewort ist, ii) q der gegenwärtige Zustand von A ist und iii) der Lesekopf das erste Symbol von v liest. Gilt für eine Konfiguration k = (u, q, v) v =, so hat sich der Automat über das rechte Bandende hinausbewegt. Um zur akzeptierten Sprache eines solchen Automaten zu gelangen, definieren wir in der Menge der Konfigurationen eine binäre Relation, die sogenannte Überführungsrelation: Definition 1.3 Es sei A = (Z, Σ, δ, q, E) ein 2DEA, wir definieren eine binäre Relation A in der Menge aller Konfigurationen von A durch 1) (a 1... a i 1, q, a i... a n ) A (a 1... a i 1 a i, p, a i+1... a n ) δ(q, a i ) = (p, R), 2) (a 1... a i 1, q, a i... a n ) A (a 1... a i 2, p, a i 1 a i... a n ) δ(q, a i ) = (p, L) und i > 1. Bemerkungen. 1) Die Forderung i > 1 in der Bedingung 2) in obiger Definition verhindert, dass sich der Automat nach links über das Wort hinausbewegt. 2) Für i = n + 1 (Kopf steht rechts vom Eingabeband) ist keine Bewegung möglich. Definition 1.31 Mit + A und A werden der transitive bzw. transitive und reflexive Abschluss von A bezeichnet. Definition 1.32 Sei A = (Z, Σ, δ, q, E) ein 2DEA, dann ist die von ihm akzeptierte Sprache definiert als T (A) = {w Σ (, q, w) A (w, p, ) für ein p E}. Wir bemerken, dass wir, + bzw. anstatt von A, + A und A verwenden werden, wenn der Automat A aus dem Kontext klar hervorgeht.

14 16 1 ENDLICHE AUTOMATEN ODER RABIN-SCOTT-AUTOMATEN Beispiel 1.33 Es sei A = ({q, q 1, q 2 }, {, 1}, δ, q, {q, q 1, q 2 }) ein 2DEA mit δ q q 1 q 2 (q, R) (q 1, R) (q, R) 1 (q 1, R) (q 2, L) (q 2, L) Wir betrachten für die Eingabe 111 die Arbeitsweise von A: (, q, 111) (1, q 1, 11) (1, q 1, 11) (1, q 2, 11) (1, q, 11) (11, q 1, 1) (11, q 1, 1) (11, q 1, 1) (11, q 2, 1) (11, q, 1) (111, q 1, ) d. h. (, q, 111) (111, q 1, ) mit q 1 E, also 111 T (A). Für weitere Betrachtungen ist es günstig, das Verhalten eines 2DEA durch folgendes zu beschreiben: die Eingabe, den Pfad, den der Kopf entlangwandert und den jeweiligen Zustand des Automaten zu dem Zeitpunkt, an dem er die Grenze zwischen zwei Bandfeldern überschreitet, wobei wir annehmen, dass der Automat erst den Zustand ändert und dann den Kopf bewegt. Dabei wollen wir die vertikalen Zustandsfolgen, die sich unter der Grenze zweier Bandfelder ergeben, Kreuzungsfolgen nennen. Für den Automaten aus Beispiel 1.33 und der oben betrachteten Eingabe 111 würde sich z. B. folgendes Bild ergeben: Beispiel 1.33 (Fortsetzung) q q 1 q 1 q 2 q q 1 q 1 q 1 q 2 q q 1 Als Kreuzungsfolgen hätten wir hier z. B. die Folgen q, q 1 oder q 1 q 2 q etc. Wir machen folgende Beobachtungen: Falls die Eingabe akzeptiert wird, tritt in einer Kreuzungsfolge kein Zustand mit einer Kopfbewegung in derselben Richtung mehrmals auf, da der Automat sonst wegen seines deterministischen Verhaltens in eine Schleife eintreten würde, aus der er nicht wieder herauskommen würde und also nicht akzeptieren könnte. Wenn eine Grenze zwischen zwei Eingabefeldern das erste Mal überschritten wird, bewegt sich der Kopf nach rechts, die nachstehenden Kreuzungen müssen in alternierenden Richtungen erfolgen. D.h., die ungerade nummerierten Elemente einer Kreuzungsfolge werden mit einer Bewegung nach rechts erreicht, die gerade nummerierten Elemente mit einer Bewegung nach links. Wenn also eine Eingabe akzeptiert wird, müssen alle Kreuzungsfolgen eine ungerade Länge haben. Deshalb folgende Bezeichnung.

15 1.6 Zweiseitige endliche Automaten 17 Definition 1.34 Eine Kreuzungsfolge q q 1... q k heißt gültig, wenn sie von ungerader Länge ist und wenn keine zwei ungerade nummerierten und keine zwei gerade nummerierten Elemente identisch sind. Aus obigen Beobachtungen folgt, dass Kreuzungsfolgen eines 2DEA mit r Zuständen höchstens die Länge 2r besitzen können. Das impliziert, dass die Anzahl der gültigen Kreuzungsfolgen endlich ist. Um den Beweis des Satzes L(NEA) = L(2DEA) vorzubereiten, in dem wir einen NEA A konstruieren wollen, dessen Zustände die gültigen Kreuzungsfolgen des 2DEA A sein sollen, untersuchen wir zuerst Beziehungen zwischen benachbarten Kreuzungsfolgen, um die Überführungsfunktion δ des NEA A definieren zu können. Dazu betrachten wir ein isoliertes Bandsymbol a mit der Kreuzungsfolge q 1 q 2... q k an der linken und mit der Kreuzungsfolge p 1 p 2... p l an der rechten Grenze. Das könnte dann so aussehen: a q 1 q 2.. q i p 1 q i+1 p 2.. q k p k i+1 p k i+2 p k i+3. p l 1 p l Wir überprüfen benachbarte Kreuzungsfolgen auf lokale Konsistenz, indem wir linksmatchende und rechtsmatchende Paare von Kreuzungsfolgen rekursiv definieren wollen. Die zugrundeliegende Idee ist dabei, dass q 1 q 2... q k auf a mit p 1 p 2... p l rechtsmatcht, falls diese Kreuzungsfolgen zusammenpassen, wobei wir annehmen, dass wir ursprünglich a im Zustand q 1 mit einer Rechtsbewegung erreicht haben (Beispiel siehe oben). Entsprechend werden die Folgen linksmatchend genannt, falls sie zusammenpassen und wir annehmen, dass wir a zuerst im Zustand p 1 mit einer Linksbewegung ereicht haben. In jedem Fall ist q 1 q 2... q k die Kreuzungsfolge an der linken Grenze von a und p 1 p 2... p l die Folge an der rechten Grenze von a. i) Die leere Folge ist rechts- und linksmatchend mit der leeren Folge. Wenn wir also niemals das Feld, das a enthält, erreichen, dann ist es konsistent, dass die Grenzen auf keiner der Seiten gekreuzt werden. ii) Wenn q 3... q k mit p 1... p l rechtsmatcht und δ(q 1, a) = (q 2, L) gilt, dann ist q 1... q k rechtsmatchend mit p 1... p l. D.h. wenn das erste Kreuzen der linken Grenze im Zustand q 1 stattfindet und sich der Kopf sofort nach links in den Zustand q 2 bewegt, dann erhalten wir falls danach ein beliebiges konsistentes Verhalten durch einen weiteren linksseitigen Grenzübergang folgt ein konsistentes Folgenpaar mit der ersten Kreuzungsbewegung nach rechts, mit anderen Worten ein rechtsmatchendes Paar. iii) Wenn q 2... q k mit p 1... p l linksmatcht und δ(q 1, a) = (p 1, R) gilt, dann ist q 1... q k rechtsmatchend mit p 1... p l. D.h. wenn die erste Kreuzung der linken Grenze im Zustand q 1 stattfindet und der Kopf sich sofort nach rechts in den Zustand p 1 bewegt, dann erhalten wir wenn diesen beiden Kreuzungen ein beliebiges konsistentes Verhalten folgt, indem eine

16 18 1 ENDLICHE AUTOMATEN ODER RABIN-SCOTT-AUTOMATEN Kreuzung der rechten Seite erfolgt ein konsistentes Folgenpaar mit der ersten Kreuzungsbewegung von links her, also mit anderen Worten ein rechtsmatchendes Paar. Beachten Sie, dass dieser Fall die Notwendigkeit linksmatchender Folgen begründet, obwohl wir eigentlich nur an rechtsmatchenden Paaren interessiert sind. iv) Wenn q 1... q k mit p 3... p l linksmatcht und δ(p 1, a) = (p 2, R) gilt, dann ist q 1... q k linksmatchend mit p 1... p l. Die Argumentation ist ähnlich zu der für Regel ii). v) Wenn q 2... q k mit p 2... p l rechtsmatcht und δ(p 1, a) = (q 1, L) gilt, dann ist q 1... q k linksmatchend mit p 1... p l. Die Argumentation ist ähnlich zu der für Regel iii). Beispiel 1.35 Wir betrachten den 2DEA M aus Beispiel Für ein Bandfeld mit dem Inhalt 1 erhält man z. B.: Die leere Folge ist mit der leeren Folge linksmatchend, und es gilt δ(q, 1) = (q 1, R). Also ist q rechtsmatchend mit q 1 auf 1 nach Regel (iii). Da δ(q 1, 1) = (q 2, L) gilt, ist q q 2 q rechtsmatchend mit q 1 auf 1 nach Regel (ii). Bemerkung. Die im obigen Beispiel erzeugten rechtsmatchenden Kreuzungsfolgen werden auch durch die akzeptierende Berechnung des Wortes 111 (siehe Beispiel 1.33) bestätigt, da in der Tat diese Folgenpaare links und rechts eines Feldes erscheinen. Man beachte aber, dass dies nicht immer der Fall zu sein braucht, d. h. ein Folgenpaar kann matchen ohne dass es eine akzeptierende Berechnung gibt, in der dieses Paar tatsächlich auftritt; nämlich dann, wenn es unmöglich ist, links und rechts Zeichenketten anzufügen, die die Berechnung in die korrekten Zustände führt. Satz 1.36 Es gilt L(2DEA) = L(NEA). Beweis. Da L(DEA) L(2DEA) per Definition des 2DEA gilt und schon L(DEA) = L(NEA) gezeigt wurde (siehe Satz 1.11, bleibt nur L(2DEA) L(NEA) zu zeigen. Es sei A = (Z, Σ, δ, q, E) ein 2DEA. Wir definieren einen NEA A = (Z, Σ, δ, q, E ) durch: 1) Z besteht aus allen gültigen Kreuzungsfolgen für A. 2) q ist die Kreuzungfolge, die nur aus q besteht. 3) E ist die Menge aller Kreuzungsfolgen der Länge 1, die nur aus einem Zustand aus E bestehen. 4) δ (q, a) = {p p ist eine gültige Kreuzungsfolge, die rechtsmatchend zu q auf der Eingabe a ist}. Die intuitive Idee dabei ist, dass A Stücke der Berechnung von A zusammenfügt, wenn er die Eingabe bearbeitet. Dies wird durch Raten von aufeinanderfolgenden Kreuzungsfolgen bewerkstelligt. Wenn A geraten hat, dass q die Kreuzungsfolge an einer Grenze und a das nächste Eingabesymbol ist, dann kann A jede gültige Kreuzungsfolge raten, die auf Eingabe a mit p rechtsmatcht. Wenn die geratene Berechnung dazu führt, dass A über das rechte Ende der Eingabe hinausgeht und in einen akzeptierenden Zustand übergeht, so akzeptiert A. Wir zeigen nun, dass T (A) = T (A ) gilt. Sei w T (A). Wir betrachten die Kreuzungsfolge, die durch eine akzeptierende Berechnung von A auf w erzeugt wird. Jede Kreuzungsfolge ist rechtsmatchend mit der an der nächsten Grenze, so dass A die richtigen Kreuzungsfolgen (unter anderen Versuchen) raten kann und akzeptiert. Umgekehrt sind für w T (A ) die Kreuzungsfolgen q, q 1,... q n von A zu betrachten, die den Zuständen von A entsprechen, wenn w = a 1 a 2... a n von A abgearbeitet wird. Für jedes i mit i < n ist q i rechtsmatchend mit q i+1 auf a i. Wir können eine akzeptierende Berechnung von A auf der Eingabe w konstruieren, indem wir bestimmen, wann der Kopf seine Richtung ändert. Im einzelnen beweisen wir durch Induktion über i, dass A beim Lesen von a 1 a 2... a i nur dann in den Zustand q i = [q 1... q k ] übergehen kann, wenn

17 1.6 Zweiseitige endliche Automaten 19 1) A, gestartet im Zustand q auf a 1 a 2... a i, sich zuerst von der Position i im Zustand q 1 nach rechts bewegt, und 2) für j = 2, 4,... falls A in Position i im Zustand q j startet sich A schließlich nach rechts von Position i im Zustand q j+1 bewegt (dies impliziert, dass k ungerade sein muss). Induktionsanfang: Es sei i =. Da q = [q ] gilt, ist (1) erfüllt, weil nämlich A seine Berechnungen durch eine Bewegung nach rechts von Position im Zustand q beginnt. Bedingung (2) gilt, ist aber belanglos. Induktionsschritt: Die Induktionsannahme gelte für i 1. Nehmen wir nun an, dass A beim Lesen von a 1 a 2... a n vom Zustand q i 1 = [q 1... q k ] in den Zustand q i = [p 1... p l ] übergehen kann. Da k und l ungerade sind und q i 1 mit q i auf a i rechtsmatcht, muss es ein ungerades j so geben, dass A sich im Zustand q j auf der Eingabe a i nach rechts bewegt. Sei j 1 das kleinste dieser j. Aus der Definition von rechtsmatchend folgt, dass δ(q j1, a 1 ) = (p 1, R) gilt. Damit ist (1) bewiesen. Ebenfalls aus der Definition von rechtsmatchend (Regel (iii)) folgt, dass [q j q k ] linksmatchend mit [p 2... p l ] ist. Nun folgt (2) sofort, falls δ(p j, a i ) = (p j+1, R) für alle geraden j gilt. In dem Fall, dass δ(p j2, a i ) = (q, L) für ein kleinstes gerades j 2 gilt, muss nach der Definition von linksmatchend (Regel (v)) q gleich q j1+1 sein und [q j q k ] rechtsmatchen mit [p j p l ]. Die Argumentation wird dann mit den letzteren Folgen anstelle von q i 1 und q i wiederholt. Nachdem wir die Induktionsannahme für alle i untermauert haben, impliziert die Tatsache, dass q n = [p] für ein p E gilt, dass a 1a 2... a n von A akzeptiert wird. Beispiel 1.37 Wir wollen zu dem 2DEA A = ({q, q 1, q 2 }, {, 1}, δ, q, {q, q 1, q 2 }) mit der Transitionstabelle δ q q 1 q 2 (q, R) (q 1, R) (q, R) 1 (q 1, R) (q 2, L) (q 2, L) aus Beispiel 1.33 nach obigem Algorithmus einen äquivalenten NEA A konstruieren. Da q 2 nur durch eine Linksbewegung erreicht werden kann, und da in q 1 und q 3 nur durch Rechtsbewegungen übergegangen werden kann, müssen alle gerade nummerierten Elemente von gültigen Kreuzungsfolgen gleich q 2 sein. Da alle gültigen Kreuzungsfolgen ungerade Länge haben und weder zwei ungerade nummerierte Zustände noch zwei gerade nummerierte Zustände gleich sein können, gibt es nur vier Kreuzungsfolgen, die von Interesse sind. Diese sind in folgender Tabelle mit ihren rechtsmatchenden Folgen aufgelistet: Gültige rechtsmatchend rechtsmatchend Kreuzungsfolgen mit mit 1 [q ] [q ] [q 1 ] [q 1 ] [q 1 ], [q 1 q 2 q ] [q q 2 q 1 ] [q 1 q 2 q ] [q 1 ] Wir sehen sofort, dass der Zustand [q q 2 q 1 ] aus dem so konstruierten NEA A entfernt werden kann, da es zu ihm keine rechtsmatchende Folgen gibt. Dann ergibt sich für A folgender Transitionsgraph, wobei wir z := [q ], z 1 := [q 1 ] und z 2 := [q 1 q 2 q ] setzen. z 1 z 1 z 3 1

18 2 1 ENDLICHE AUTOMATEN ODER RABIN-SCOTT-AUTOMATEN Daraus können wir die akzeptierte Sprache leicht ablesen: T (A) = T (A ) = {, 1} {1}{, 1}, d. h. die Menge aller Wörter über dem Alphabet {, 1}, die nicht das Teilwort 11 enthalten. Abschließend zu diesem Kapitel sei bemerkt, dass man das Konzept des 2DEA natürlich in gewohnter Art und Weise für zweiseitige nichtdeterministische endliche Automaten erweitern kann. Man kann dann auch erlauben, dass der Kopf des Automaten bei einer Transition stehenbleibt. Die akzeptierte Sprachklasse bleibt jedoch auch mit diesen Erweiterungen die Familie der regulären Mengen.

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

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

Formale Grundlagen der Informatik 1 Kapitel 5 Abschlusseigenschaften

Formale Grundlagen der Informatik 1 Kapitel 5 Abschlusseigenschaften Formale Grundlagen der Informatik 1 Kapitel 5 Frank Heitmann heitmann@informatik.uni-hamburg.de 18. April 2016 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/64 NFAs - Grundlagen DFAs vs. NFAs Der

Mehr

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

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

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

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

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

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

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

Mehr

Automaten und Formale Sprachen SoSe 2013 in Trier

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

Mehr

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

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

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

Mehr

Zusammenfassung der letzten LVA. Endliche Automaten mit Epsilon-Übergängen. Inhalte der Lehrveranstaltung (cont d)

Zusammenfassung der letzten LVA. Endliche Automaten mit Epsilon-Übergängen. Inhalte der Lehrveranstaltung (cont d) Zusammenfassung der letzten LVA Ein nichtdeterministischer endlicher Automat (NEA) ist ein 5-Tupel (Q, Σ, δ, S, F), sodass Q eine endliche Menge von Zustände Σ eine endliche Menge, das Eingabealphabet;

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

2.2 Nichtdeterministische endliche Automaten

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

Mehr

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

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

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

Mehr

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

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

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

Mehr

Ogden s Lemma: Der Beweis (1/5)

Ogden s Lemma: Der Beweis (1/5) Ogden s Lemma: Der Beweis (1/5) Wir betrachten zuerst die Rahmenbedingungen : Laut dem auf der vorhergehenden Folie zitierten Satz gibt es zur kontextfreien Sprache L eine Grammatik G = (Σ, V, S, P) in

Mehr

Automaten und Coinduktion

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

Mehr

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

Endliche Automaten Jörg Roth 101

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

Mehr

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

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

Mehr

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

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

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

10 Kellerautomaten. Kellerautomaten

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

Mehr

Informatik III - WS07/08

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

Mehr

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

1 Eliminieren von ɛ-übergängen

1 Eliminieren von ɛ-übergängen 1 Eliminieren von ɛ-übergängen 1.1 Beispiel 1 (a) Ausgangspunkt: Zwei ɛ-übergänge (b) Entfernung eines ɛ-übergangs, Reduktion (c) Entfernen eines ɛ-übergangs, Reduktion Abbildung 1: Elimination von ɛ-übergängen,

Mehr

Akzeptierende Turing-Maschine

Akzeptierende Turing-Maschine Akzeptierende Turing-Maschine Definition: Eine akzeptierende Turing-Maschine M ist ein Sechstupel M = (X, Z, z 0, Q, δ, F ), wobei (X, Z, z 0, Q, δ) eine Turing-Maschine ist und F Q gilt. Die von M akzeptierte

Mehr

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

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

Mehr

2.2 Reguläre Sprachen Endliche Automaten

2.2 Reguläre Sprachen Endliche Automaten 2.2.1 Endliche Automaten E I N G A B E Lesekopf endliche Kontrolle Signal für Endzustand Ein endlicher Automat liest ein Wort zeichenweise und akzeptiert oder verwirft. endlicher Automat Sprache der akzeptierten

Mehr

Das Pumping Lemma: Ein Anwendungsbeispiel

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

Mehr

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

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

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

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

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

Mehr

Kontextfreie Sprachen

Kontextfreie Sprachen Kontextfreie Sprachen besitzen große Bedeutung im Compilerbau Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung durch

Mehr

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

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

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

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

Mehr

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

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

Mehr

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

Typ-0-Sprachen und Turingmaschinen

Typ-0-Sprachen und Turingmaschinen Typ-0-Sprachen und Turingmaschinen Jean Vancoppenolle Universität Potsdam Einführung in formale Sprachen und Automaten Dr. Thomas Hanneforth (Präsentation aus Foliensätzen von Dr. Thomas Hanneforth und

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

Theoretische Informatik I

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

Mehr

Theoretische Informatik I

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

Mehr

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

Kontextfreie Sprachen

Kontextfreie Sprachen Kontextfreie Sprachen Bedeutung: Programmiersprachen (Compilerbau) Syntaxbäume Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung

Mehr

1. Übungsblatt 6.0 VU Theoretische Informatik und Logik

1. Übungsblatt 6.0 VU Theoretische Informatik und Logik . Übungsblatt 6. VU Theoretische Informatik und Logik 25. September 23 Aufgabe Sind folgende Aussagen korrekt? Begründen Sie jeweils Ihre Antwort. a) Für jede Sprache L gilt: L < L (wobei A die Anzahl

Mehr

Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ.

Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ. Reguläre Ausdrücke Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (i) ist ein regulärer Ausdruck über Σ. (ii) ε ist ein regulärer Ausdruck über Σ. (iii) Für jedes a Σ ist a ein regulärer

Mehr

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

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

Mehr

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

Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP

Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07 Vortrag am 17.11.2006 Nichtdeterministische Turingmaschinen und NP Yves Radunz Inhaltsverzeichnis 1 Wiederholung 3 1.1 Allgemeines........................................

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

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

Kontextfreie Sprachen werden von PDAs akzeptiert

Kontextfreie Sprachen werden von PDAs akzeptiert Kontextfreie Sprachen werden von PDAs akzeptiert Sei G = (Σ, V, S, P) eine kontextfreie Grammatik. Dann gibt es einen PDA A mit L(A) = L(G). Der PDA A arbeitet mit nur einem Zustand q 0, besitzt das Kelleralphabet

Mehr

Endliche Automaten. δ : Z Σ Z die Überführungsfunktion, z 0 Z der Startzustand und F Z die Menge der Endzustände (Finalzustände).

Endliche Automaten. δ : Z Σ Z die Überführungsfunktion, z 0 Z der Startzustand und F Z die Menge der Endzustände (Finalzustände). Endliche Automaten Endliche Automaten Definition Ein deterministischer endlicher Automat (kurz DFA für deterministic finite automaton ) ist ein Quintupel M = (Σ, Z, δ, z 0, F), wobei Σ ein Alphabet ist,

Mehr

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

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

Mehr

Theoretische Grundlagen des Software Engineering

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

Mehr

DisMod-Repetitorium Tag 4

DisMod-Repetitorium Tag 4 DisMod-Repetitorium Tag 4 Endliche Automaten, Reguläre Sprachen und Kontextfreie Grammatiken 22. März 2018 1 Endliche Automaten Definition DFA Auswertungen Äquivalenzrelationen Verschmelzungsrelation und

Mehr

Theoretische Informatik I

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

Mehr

Übungsblatt 1. Lorenz Leutgeb. 30. März 2015

Übungsblatt 1. Lorenz Leutgeb. 30. März 2015 Übungsblatt Lorenz Leutgeb 30. März 205 Aufgabe. Annahmen ohne Einschränkungen: P Σ und P Γ. Per Definitionem der Reduktion: P P 2 f : Σ Γ wobei f total und berechenbar, genau so, dass: w Σ : w P f(w)

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

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

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

Mehr

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

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

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

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

Mehr

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

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

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

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

Formale Sprachen und Automaten

Formale Sprachen und Automaten Avant Propos Formale Sprachen und Automaten Sie [die Theorie der formalen Sprachen] ist ein Musterbeispiel einer informatischen Theorie, weil es ihr gelingt, einen großen Bestand an Einsichten und Zusammenhängen

Mehr

Vorlesungsmitschrift zur Vorlesung Theoretische Informatik I vom 23. Juni Christian Franz

Vorlesungsmitschrift zur Vorlesung Theoretische Informatik I vom 23. Juni Christian Franz Vorlesungsmitschrift zur Vorlesung Theoretische Informatik I vom 23. Juni 2 Christian Franz Inhaltsverzeichnis Wiederholung: Vorlesung vom 9.6.2... Beispiele für Äquivalenzklassen... 4.5. Minimierung

Mehr

Diskrete Mathematik. Anna-Lena Rädler Christina Kohl Georg Moser Christian Sternagel Vincent van Oostrom

Diskrete Mathematik. Anna-Lena Rädler Christina Kohl Georg Moser Christian Sternagel Vincent van Oostrom Diskrete Mathematik Anna-Lena Rädler Christina Kohl Georg Moser Christian Sternagel Vincent van Oostrom Zusammenfassung der letzten LVA Definition Ein ɛ-nea N = (Q, Σ, δ, S, F) ist gegeben durch eine endliche

Mehr

Theoretische Informatik II

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

Mehr

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

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

2. Übungsblatt 6.0 VU Theoretische Informatik und Logik

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

Mehr

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 13. Vorlesung 07.12.2006 1 Überblick: Die Church- Turing-These Turing-Maschinen 1-Band Turing-Maschine Mehrband-Turing-Maschinen Nichtdeterministische

Mehr

Kapitel 3: Reguläre Grammatiken und Endliche. Automaten

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

Mehr

Theoretische Informatik und Logik Übungsblatt 1 (2016S) Lösung

Theoretische Informatik und Logik Übungsblatt 1 (2016S) Lösung Theoretische Informatik und Logik Übungsblatt (26S) en Aufgabe. Sei L = {w#w r w {, } }. Geben Sie eine deterministische Turingmaschine M an, welche die Sprache L akzeptiert. Wählen Sie mindestens einen

Mehr

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

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

Mehr

Operationen auf endlichen Akzeptoren und Transduktoren

Operationen auf endlichen Akzeptoren und Transduktoren Operationen auf endlichen Akzeptoren und Transduktoren Kursfolien Karin Haenelt Karin Haenelt 2006, Operationen auf Akzeptoren und Transduktoren, 08.07.2006 ( 1 05.04.2004) 1 Notationskonventionen L reguläre

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

7 Endliche Automaten. 7.1 Deterministische endliche Automaten

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

Mehr

Kapitel 7: Kellerautomaten und kontextfreie Sprachen

Kapitel 7: Kellerautomaten und kontextfreie Sprachen Kapitel 7: Kellerautomaten und kontextfreie Sprachen Prof.-Dr. Peter Brezany Institut für Softwarewissenschaft Universität Wien, Liechtensteinstraße 22 1090 Wien Tel. : 01/4277 38825 E-mail : brezany@par.univie.ac.at

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

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

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

Software Engineering Ergänzung zur Vorlesung

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

Mehr

subexponentielle Algorithmen (d.h. Laufzeiten wie z. B. 2 n oder

subexponentielle Algorithmen (d.h. Laufzeiten wie z. B. 2 n oder Wie schwer ist SAT? Ziel: Nachweis, dass SAT eines der schwersten Probleme in NP ist: SAT ist das erste bekannte Beispiel eines NP-vollständigen Problems. Demnach kann SAT mit bisher bekannten Techniken

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

Operationen auf endlichen Automaten und Transduktoren

Operationen auf endlichen Automaten und Transduktoren Operationen auf endlichen Automaten und Transduktoren Kursfolien Karin Haenelt 1 Notationskonventionen L reguläre Sprache A endlicher Automat DEA deterministischer endlicher Automat NEA nichtdeterministischer

Mehr

Musterlösung Informatik-III-Klausur

Musterlösung Informatik-III-Klausur Musterlösung Informatik-III-Klausur Aufgabe 1 (1+4+3+4 Punkte) (a) 01010 wird nicht akzeptiert: s q 0 q 1 q 2 f q 2 10101 wird akzeptiert: s q 2 q 2 f q 2 f (b) ε: {s, q 0, q 1, q 2 }, {f} 0: {s, q 0,

Mehr

Theoretische Informatik I

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

Mehr