Informatik IV Theoretische Informatik
|
|
|
- Anna Diefenbach
- vor 6 Jahren
- Abrufe
Transkript
1 Informatik IV Theoretische Informatik Kapitel 2 Sommersemester 29 Dozent: Prof. Dr. J. Rothe J. Rothe (HHU Düsseldorf) Informatik IV / 7
2 Endliche Automaten Beispiel Abbildung: TCP J. Rothe (HHU Düsseldorf) Informatik IV 2 / 7
3 Endliche Automaten Beispiel 2 Abbildung: DHCP J. Rothe (HHU Düsseldorf) Informatik IV 3 / 7
4 Endliche Automaten Endliche Automaten Definition Ein deterministischer endlicher Automat (kurz DFA für deterministic finite automaton ) ist ein Quintupel M = (Σ, Z, δ, z, F), wobei Σ ein Alphabet ist, Z eine endliche Menge von Zuständen mit Σ Z =, δ : Z Σ Z die Überführungsfunktion, z Z der Startzustand und F Z die Menge der Endzustände (Finalzustände). Bemerkung: Wir erlauben auch partiell definierte Überführungsfunktionen. Durch Hinzunahme eines weiteren Zustandes kann man solche Funktionen leicht total definieren. J. Rothe (HHU Düsseldorf) Informatik IV 4 / 7
5 Endliche Automaten Endliche Automaten Beispiel: Ein Beispiel für einen DFA ist M = (Σ, Z, δ, z, F) mit Σ = {, } Z = {z, z, z 2, z 3 } F = {z 2 } δ : δ z z z 2 z 3 z z 3 z 2 z 3 z 3 z 2 z 2 z 3 J. Rothe (HHU Düsseldorf) Informatik IV 5 / 7
6 Endliche Automaten Arbeitsweise eines DFAs Ein DFA M = (Σ, Z, δ, z, F) akzeptiert bzw. verwirft eine Eingabe x wie folgt: M beginnt beim Anfangszustand z und führt insgesamt x Schritte aus. Der Lesekopf wandert dabei v.l.n.r. über das Eingabewort x, Symbol für Symbol, und ändert dabei seinen Zustand jeweils gemäß der Überführungsfunktion δ: Ist M im Zustand z Z und liest das Symbol a Σ und gilt δ(z, a) = z, so ändert M seinen Zustand in z. Ist der letzte erreichte Zustand (nachdem x abgearbeitet ist) ein Endzustand, so akzeptiert M die Eingabe x; andernfalls lehnt M sie ab. J. Rothe (HHU Düsseldorf) Informatik IV 6 / 7
7 Endliche Automaten Arbeitsweise eines DFAs x = a Eingabewort Lesekopf M Zustand z Programm: Überführungsfunktion δ Abbildung: Arbeitsweise eines endlichen Automaten J. Rothe (HHU Düsseldorf) Informatik IV 7 / 7
8 Endliche Automaten Zustandsgraph eines DFAs Ein DFA M = (Σ, Z, δ, z, F) lässt sich anschaulich durch seinen Zustandsgraphen darstellen, dessen Knoten die Zustände von M und dessen Kanten Zustandsübergänge gemäß der Überführungsfunktion δ repräsentieren. Gilt δ(z, a) = z für ein Symbol a Σ und für zwei Zustände z, z Z, so hat dieser Graph eine gerichtete Kante von z nach z, die mit a beschriftet ist. Der Startzustand wird durch einen Pfeil auf z dargestellt. Endzustände sind durch einen Doppelkreis markiert. J. Rothe (HHU Düsseldorf) Informatik IV 8 / 7
9 Endliche Automaten Zustandsgraph eines DFAs Beispiel:, z z z 2 z 3, Abbildung: Zustandsgraph eines deterministischen endlichen Automaten J. Rothe (HHU Düsseldorf) Informatik IV 9 / 7
10 Endliche Automaten Sprache eines DFAs Definition Sei M = (Σ, Z, δ, z, F) ein DFA. Die erweiterte Überführungsfunktion δ : Z Σ Z von M ist induktiv definiert: δ(z, λ) = z δ(z, ax) = δ(δ(z, a), x) für alle z Z, a Σ und x Σ. Die vom DFA M akzeptierte Sprache ist definiert durch L(M) = {w Σ δ(z, w) F}. J. Rothe (HHU Düsseldorf) Informatik IV / 7
11 Endliche Automaten Sprache eines DFAs Bemerkung: Für a Σ gilt δ(z, a) = δ(z, a), und für x = a a 2 a n in Σ gilt: δ(z, x) = δ( δ(δ(z, a ), a 2 ), a n ). J. Rothe (HHU Düsseldorf) Informatik IV / 7
12 Endliche Automaten Sprache eines DFAs Beispiel: Wie arbeitet der DFA aus der vorigen Abbildung:, z z z2 z3, bei Eingabe von? δ(z, ) = δ(δ(δ(δ(z, ), ), ), ) = δ(δ(δ(z, ), ), ) = δ(δ(z 2, ), ) = δ(z 2, ) = z 2 F. J. Rothe (HHU Düsseldorf) Informatik IV 2 / 7
13 Endliche Automaten Sprache eines DFAs Beispiel: Wie arbeitet der DFA aus der vorigen Abbildung:, z z z2 z3, bei Eingabe von? δ(z, ) = δ(δ(δ(δ(z, ), ), ), ) = δ(δ(δ(z, ), ), ) = δ(δ(z 3, ), ) = δ(z 3, ) = z 3 F. J. Rothe (HHU Düsseldorf) Informatik IV 3 / 7
14 Endliche Automaten Sprache eines DFAs Beispiel: Es sei Σ ein Alphabet. L DFA M mit L(M) = L Σ (Σ, {z }, {δ(z, a) = z, a Σ}, z, {z }) Σ z {a}, a Σ (Σ, {z, z }, {δ(z, a) = z }, z, {z }) a z z J. Rothe (HHU Düsseldorf) Informatik IV 4 / 7
15 Endliche Automaten Sprache eines DFAs Beispiel: L DFA M mit L(M) = L {λ} (Σ, {z },, z, {z }) z (Σ, {z },, z, ) z J. Rothe (HHU Düsseldorf) Informatik IV 5 / 7
16 Endliche Automaten DFAs und reguläre Grammatiken Theorem Jede von einem DFA akzeptierte Sprache ist regulär (d.h. vom Typ 3). Beweis: Seien A Σ eine Sprache und M = (Σ, Z, δ, z, F) ein DFA mit L(M) = A. Definiere eine reguläre Grammatik G = (Σ, N, S, P): N = Z, S = z, P besteht aus genau den folgenden Regeln: Gilt δ(z, a) = z, so ist z az in P. Ist dabei z F, so ist zusätzlich z a in P. Ist λ A (d.h., z F ), so ist auch z λ in P, und die bisher konstruierte Grammatik wird gemäß der Sonderregel für λ modifiziert. J. Rothe (HHU Düsseldorf) Informatik IV 6 / 7
17 Endliche Automaten DFAs und reguläre Grammatiken Offenbar gilt λ A λ L(G). Für alle x = a a 2 a n Σ mit n gilt: x A es gibt eine Zustandsfolge z, z,..., z n, so dass z Startzustand und z n F ist, und δ(z i, a i ) = z i für jedes i, i n es gibt eine Folge von Nichtterminalen z, z,..., z n mit S = z a z a a 2 z 2 x L(G). a a 2 a n z n a a 2 a n a n Somit ist A = L(G). J. Rothe (HHU Düsseldorf) Informatik IV 7 / 7
18 Endliche Automaten DFAs und reguläre Grammatiken Beispiel: Reguläre Grammatik G = (Σ, N, S, P) für diesen DFA:, Σ = {, } N = {z, z, z 2, z 3 } S = z z z z 2 P = { z z z 3 z z 3 z 2 z 2 z 2 z 2 z 3 z 3 z 3 } z 3, J. Rothe (HHU Düsseldorf) Informatik IV 8 / 7
19 Endliche Automaten Nichtdeterministischer endlicher Automat Definition Ein nichtdeterministischer endlicher Automat (kurz NFA) ist ein Quintupel M = (Σ, Z, δ, S, F), wobei Σ ein Alphabet ist, Z eine endliche Menge von Zuständen mit Σ Z =, δ : Z Σ P(Z ) die Überführungsfunktion (hier: P(Z ) ist die Potenzmenge von Z, also die Menge aller Teilmengen von Z ), S Z die Menge der Startzustände und F Z die Menge der Endzustände (Finalzustände). J. Rothe (HHU Düsseldorf) Informatik IV 9 / 7
20 Endliche Automaten Nichtdeterministischer endlicher Automat Beispiel: Der folgende Automat M ist nichtdeterministisch (da δ(z, ) = {z, z } = 2 > ).,,,, z z z 2 z 3 Abbildung: Ein nichtdeterministischer endlicher Automat J. Rothe (HHU Düsseldorf) Informatik IV 2 / 7
21 Endliche Automaten Sprache eines NFAs Definition Die erweiterte Überführungsfunktion δ : P(Z ) Σ P(Z ) von M ist induktiv definiert: δ(z, λ) = Z δ(z, ax) = für alle Z Z, a Σ und x Σ. z Z δ(δ(z, a), x) Die vom NFA M akzeptierte Sprache ist definiert durch L(M) = {w Σ δ(s, w) F }. J. Rothe (HHU Düsseldorf) Informatik IV 2 / 7
22 Endliche Automaten Sprache eines NFAs,, Beispiel: NFA M bei Eingabe von :,, z z z 2 z 3 δ({z }, ) = δ(δ(z, ), ) = δ({z }, ) = δ(δ(z, ), ) = δ({z, z }, ) = δ(δ(z, ), ) δ(δ(z, ), ) = δ({z, z }, ) δ({z 2 }, ) = ( δ(δ(z, ), λ) δ(δ(z, ), λ)) δ(δ(z 2, ), λ) = ( δ({z, z }, λ) δ({z 2 }, λ)) δ({z 3 }, λ) = {z, z } {z 2 } {z 3 }. J. Rothe (HHU Düsseldorf) Informatik IV 22 / 7
23 Endliche Automaten Sprache eines NFAs,, Beispiel: NFA M bei Eingabe von :,, z z z 2 z 3 = δ({z }, ) {z 2 } = ({z, z } {z 2 } {z 3 }) {z 2 } = L(M). J. Rothe (HHU Düsseldorf) Informatik IV 23 / 7
24 Endliche Automaten Sprache eines NFAs,, Beispiel: NFA M,, z z z 2 z 3 δ({z }, ) = δ(δ(z, ), ) bei Eingabe von : = δ({z }, ) = δ(δ(z, ), λ) = δ({z, z }, λ) = {z, z }. = δ({z }, ) {z 2 } = {z, z } {z 2 } = = L(M). L(M) = {w {, } w = uv mit u {, } und v {, }}. J. Rothe (HHU Düsseldorf) Informatik IV 24 / 7
25 Endliche Automaten DFA versus NFA, Satz von Rabin und Scott Theorem (Rabin und Scott) Jede von einem NFA akzeptierte Sprache kann auch von einem DFA akzeptiert werden. Beweis: Sei M = (Σ, Z, δ, S, E) ein NFA. Konstruiere einen zu M äquivalenten DFA M = (Σ, P(Z ), δ, z, F) wie folgt: Zustandsmenge von M : die Potenzmenge P(Z ) von Z, δ (Z, a) = z Z δ(z, a) = δ(z, a) für alle Z Z und a Σ, z = S, F = {Z Z Z E }. J. Rothe (HHU Düsseldorf) Informatik IV 25 / 7
26 Endliche Automaten DFA versus NFA, Satz von Rabin und Scott Offenbar sind M und M äquivalent, denn für alle x = a a 2 a n in Σ gilt: x L(M) δ(s, x) E es gibt eine Folge von Teilmengen Z, Z 2,..., Z n Z mit δ (S, a ) = Z, δ (Z, a 2 ) = Z 2,..., δ (Z n, a n ) = Z n und Z n E Z n = δ (z, x) F x L(M ). Somit ist L(M ) = L(M). J. Rothe (HHU Düsseldorf) Informatik IV 26 / 7
27 Endliche Automaten DFA versus NFA, Satz von Rabin und Scott Beispiel: Wir modifizieren den NFA aus dem obigen Beispiel etwas und betrachten den folgenden um einen Zustand kleineren NFA M = (Σ, Z, δ, S, E):,,, z z z 2 Abbildung: Ein nichtdeterministischer endlicher Automat Dieser NFA akzeptiert die Sprache aller Wörter über {, }, die an letzter Stelle eine haben. J. Rothe (HHU Düsseldorf) Informatik IV 27 / 7
28 Endliche Automaten DFA versus NFA, Satz von Rabin und Scott Beispiel: Wir konstruieren nun einen zu M äquivalenten DFA M = (Σ, Z, δ, S, F) gemäß dem Satz von Rabin und Scott: Σ = {, }, Z = {{z, z, z 2 }, {z, z }, {z, z 2 }, {z, z 2 }, {z }, {z }, {z 2 }, }, S = {z }, F = {{z, z, z 2 }, {z, z }, {z, z 2 }, {z }}, δ {z } {z }{z 2 } {z, z } {z, z 2 } {z, z 2 }{z, z, z 2 } {z } {z 2 }{z 2 } {z, z 2 } {z, z 2 } {z 2 } {z, z 2 } {z, z }{z 2 }{z 2 }{z, z, z 2 }{z, z, z 2 } {z 2 } {z, z, z 2 } Die Zustände, {z }, {z 2 }, {z, z 2 } können vom Startzustand {z } nicht erreicht werden und werden zur Vereinfachung weggelassen. J. Rothe (HHU Düsseldorf) Informatik IV 28 / 7
29 Endliche Automaten DFA versus NFA, Satz von Rabin und Scott Beispiel: Wir betrachten für n die Sprache L n = {x {, } der n-te Buchstabe von hinten in x ist } = {x {, } x = uv mit u {, } und v {, } n }. Es gilt: Es gibt einen NFA für L n mit n + 2 Zuständen. (Beweis: Einfache Modifikation der NFAs für L 2 und L in den vorigen Abbildungen.) 2 Jeder DFA für L n hat mindestens 2 n Zustände. (Beweis: siehe Satz von Myhill und Nerode später.) J. Rothe (HHU Düsseldorf) Informatik IV 29 / 7
30 Endliche Automaten L 2 : DFA versus NFA, Satz von Rabin und Scott, start z z, z2 start z zz z2zz z2z J. Rothe (HHU Düsseldorf) Informatik IV 3 / 7
31 Endliche Automaten L 3 : DFA versus NFA, Satz von Rabin und Scott, start z z, z2, z3 z2z z3zz zz zz2z z3zz2z z3z2z z3z start z J. Rothe (HHU Düsseldorf) Informatik IV 3 / 7
32 Endliche Automaten L 4 : DFA versus NFA, Satz von Rabin und Scott, start z z, z2, z3, z4 z2zz zz4 zz z2zz3z z2zz4z3 zz4z3z z2zz4z3z z2zz4z z2zz3 zz4z3 zz4z z2z zz3z z2zz4 zz3 start z J. Rothe (HHU Düsseldorf) Informatik IV 32 / 7
33 start zz z z2zz z2z3zz z2z3zz4 z5z3zz4z z2z5zz4 z5z3zz z2zz4 z5z3z zz4 z5zz z2z z3z zz4z z2z5z z3zz z2zz4z z2z5z3zz z2z3zz4z z2z5z3zz4z z2z5z3zz4 z5z3zz4 z5zz4z z2z5zz z2z3z z3zz4z z2z5zz4z z2z5z3z z3zz4 z5zz4 z5z Endliche Automaten L 5 : DFA versus NFA, Satz von Rabin und Scott, start z z, z2, z3, z4, z5 J. Rothe (HHU Düsseldorf) Informatik IV 33 / 7
34 start z zz z2z z3z z4zz z5zz2z z3z2zz6 z4z3zz z4z5zz2z z5z3z2zz6 z4z3zz6 z4z5zz z5z2zz6 z3zz6 z4z z3zzz6 z5zz z2zz6 z3zz z4zz2z z5z3z2z z4z3zzz6 z4z5z2z z5z3zz6 z4zzz6 z5z2z z4z2z z5z3zz z4zz2zz6 z5z3zz2z z4z3z2zz6 z5zz6 z4z5z3z z4z5zz6 z5zzz6 zzz6 zz2z z3z2z z4z3z z4z5z zz2zz6 z3zz2z z4z3z2z z4z5z3zz z4z5zz2zz6 z5z3zz2zz6 z4z3zz2zz6 z4z5z3z2z z4z5z3zz2z z4z5z3zz2zz6 z4z5z3z2zz6 z4z5z3zz6 z4z5zzz6 z5zz2zz6 z3zz2zz6 z4z3zz2z z4z5z3zzz6 z4z5z2zz6 z5z3zzz6 z4z2zz6 z5z3z z4zz6 z5z zz6 Endliche Automaten L 6 : DFA versus NFA, Satz von Rabin und Scott, start z z, z2, z3, z4, z5, z6 J. Rothe (HHU Düsseldorf) Informatik IV 34 / 7
35 Endliche Automaten L 8 : DFA versus NFA, Satz von Rabin und Scott z, z z2, z3, z4, z5, z6, z7, z8, start z zz z2z z2zz z3z z3zz z3z2zz z3z2z z3z2zz4 z3z2zzz4 z3zzz4 z3zz4 z3zz5zz4 z3z5zz4 z3z2zz5zz4 z3z2z5zz4 z6z2z5zz4 z6z2zz5zz4 z6zz5zz4 z6z5zz4 z6z3z7z5z z6z3z7zz5z z6z3z2z7zz5z z6z3z2z7z5z z6z7z8zz4 z6z7zz8zz4 z6z2z7zz8zz4 z6z2z7z8zz4 z3z2z7z8z5z z3z2z7zz8z5z z3z7zz8z5z z3z7z8z5z z6z2z8zz4 z6z2zz8zz4 z6z8zz4 z6zz8zz4 z3z7z5z z3z7zz5z z3z2z7z5z z3z2z7zz5z z7zz5z z7z5z z2z7zz5z z2z7z5z z6z3z2zz8z z6z3z2z8z z6z3zz8z z6z3z8z z3z2z7zz4 z3z2z7zzz4 z3z7zz4 z3z7zzz4 z8z5zz4 zz8z5zz4 z2zz8z5zz4 z2z8z5zz4 z6z5z z6zz5z z6z2z5z z6z2zz5z z6z7z z6z7zz z6z2z7z z6z2z7zz z7z8z z7zz8z z2z7z8z z2z7zz8z z3z8z z3zz8z z3z2zz8z z3z2z8z z2z5zz4 z2zz5zz4 z5zz4 zz5zz4 z6z3z5z z6z3zz5z z6z3z2z5z z6z3z2zz5z z6z3z7zzz4 z6z3z7zz4 z6z3z2z7zz4 z6z3z2z7zzz4 z3z7z8z5zz4 z3z7zz8z5zz4 z3z2z7zz8z5zz4 z3z2z7z8z5zz4 z6z8z5zz4 z6zz8z5zz4 z6z2zz8z5zz4 z6z2z8z5zz4 z7z8z5z z7zz8z5z z2z7z8z5z z2z7zz8z5z z6z8z z6zz8z z6z2z8z z6z2zz8z z7zz z7z z2z7z z2z7zz z2z8z z2zz8z zz8z z8z zz4 zzz4 z2zz4 z2zzz4 zz5z z5z z2zz5z z2z5z z6z3z2z z6z3z2zz z6z3zz z6z3z z6z7zzz4 z6z7zz4 z6z2z7zzz4 z6z2z7zz4 z3z7z z3z7zz z3z2z7zz z3z2z7z z3z2z8zz4 z3z2zz8zz4 z3z8zz4 z3zz8zz4 z6z2z7z5z z6z2z7zz5z z6z7z5z z6z7zz5z z6z3z7z8z z6z3z7zz8z z6z3z2z7z8z z6z3z2z7zz8z z7zz8zz4 z7z8zz4 z2z7zz8zz4 z2z7z8zz4 z2z8z5z z2zz8z5z z8z5z zz8z5z z6zz z6z z6z2zz z6z2z z3z5z z3zz5z z3z2zz5z z3z2z5z z6zzz4 z6zz4 z6z2zz4 z6z2zzz4 z6z3z2z5zz4 z6z3z2zz5zz4 z6z3z5zz4 z6z3zz5zz4 z6z7zz5zz4 z6z7z5zz4 z6z2z7zz5zz4 z6z2z7z5zz4 z6z3z2z7z8z5z z6z3z2z7zz8z5z z6z3z7zz8z5z z6z3z7z8z5z z6z3zz8zz4 z6z3z8zz4 z6z3z2zz8zz4 z6z3z2z8zz4 z3z2z7z5zz4 z3z2z7zz5zz4 z3z7zz5zz4 z3z7z5zz4 z6z7zz8z z6z7z8z z6z2z7z8z z6z2z7zz8z z3z7zz8z z3z7z8z z3z2z7z8z z3z2z7zz8z z2z8zz4 z2zz8zz4 z8zz4 zz8zz4 z6z3zz8z5zz4 z6z3z8z5zz4 z6z3z2z8z5zz4 z6z3z2zz8z5zz4 z6z2z7zz8z5z z6z2z7z8z5z z6z7z8z5z z6z7zz8z5z z3z7z8zz4 z3z7zz8zz4 z3z2z7z8zz4 z3z2z7zz8zz4 z3z8z5zz4 z3zz8z5zz4 z3z2zz8z5zz4 z3z2z8z5zz4 z6z3z2zzz4 z6z3z2zz4 z6z3zz4 z6z3zzz4 z6z3z7zz5zz4 z6z3z7z5zz4 z6z3z2z7zz5zz4 z6z3z2z7z5zz4 z6z3z2z7zz8z5zz4 z6z3z2z7z8z5zz4 z6z3z7z8z5zz4 z6z3z7zz8z5zz4 z6z7zz8z5zz4 z6z7z8z5zz4 z6z2z7z8z5zz4 z6z2z7zz8z5zz4 z2z7zz4 z2z7zzz4 z7zzz4 z7zz4 z3zz8z5z z3z8z5z z3z2zz8z5z z3z2z8z5z z6z3z7zz z6z3z7z z6z3z2z7zz z6z3z2z7z z6z3z7zz8zz4 z6z3z7z8zz4 z6z3z2z7zz8zz4 z6z3z2z7z8zz4 z2z7zz8z5zz4 z2z7z8z5zz4 z7zz8z5zz4 z7z8z5zz4 z6z2z8z5z z6z2zz8z5z z6z8z5z z6zz8z5z z2z7z5zz4 z2z7zz5zz4 z7zz5zz4 z7z5zz4 z6z3zz8z5z z6z3z8z5z z6z3z2z8z5z z6z3z2zz8z5z start J. Rothe (HHU Düsseldorf) Informatik IV 35 / 7
36 Endliche Automaten Reguläre Grammatiken und NFAs Theorem Für jede reguläre Grammatik G gibt es einen NFA M mit L(M) = L(G). Beweis: Sei G = (Σ, N, S, P) eine gegebene reguläre Grammatik. Konstruiere einen NFA M = (Σ, Z, δ, S, F) so: Z = N {X}, wobei X N Σ ein neues Symbol ist, {S, X} falls S λ in P F = {X} falls S λ nicht in P, S = {S} und für alle A N und a Σ sei ( δ(a, a) = A ab P {B} ) A a P {X}. J. Rothe (HHU Düsseldorf) Informatik IV 36 / 7
37 Endliche Automaten Reguläre Grammatiken und NFAs Es gilt: λ L(G) λ L(M). Außerdem gilt für alle n und x = a a 2 a n in Σ : x L(G) es gibt eine Folge A, A 2,..., A n N mit S a A a a 2 A 2 a a 2 a n A n a a 2 a n a n es gibt eine Folge A, A 2,..., A n Z mit A δ(s, a ), A 2 δ(a, a 2 ),..., A n δ(a n 2, a n ), X δ(a n, a n ) δ(s, x) F = δ({s}, x) F x L(M). Somit ist L(G) = L(M). J. Rothe (HHU Düsseldorf) Informatik IV 37 / 7
38 Endliche Automaten Reguläre Grammatiken und NFAs Beispiel: Es sei G = (Σ, N, S, P) die folgende reguläre Grammatik: Σ = {, }, N = {S}, P = {S S S }. Nach dem obigen Beweis konstruieren wir den NFA M = (Σ, Z, δ, S, F) mit Σ = {, }, Z = {S, X}, F = {X}, S = {S}, δ : δ(s, ) = {S}, δ(s, ) = {S, X}. J. Rothe (HHU Düsseldorf) Informatik IV 38 / 7
39 Endliche Automaten Reguläre Grammatiken, DFAs und NFAs Folgerung: REG = {L(M) M ist DFA} = {L(M) M ist NFA}. Bemerkung: Zu jeder regulären Sprache gibt es unendlich viele DFAs bzw. NFAs, die sie akzeptieren. Ziel erreicht: NFA DFA reguläre Grammatik J. Rothe (HHU Düsseldorf) Informatik IV 39 / 7
40 Reguläre Ausdrücke Reguläre Ausdrücke Definition Sei Σ ein Alphabet. Die Menge der regulären Ausdrücke (über Σ) ist definiert durch: und λ sind reguläre Ausdrücke. Jedes a Σ ist ein regulärer Ausdruck. Sind α und β reguläre Ausdrücke, so sind auch αβ, (α + β) und (α) reguläre Ausdrücke. Nichts sonst ist ein regulärer Ausdruck. J. Rothe (HHU Düsseldorf) Informatik IV 4 / 7
41 Reguläre Ausdrücke Sprache regulärer Ausdrücke Definition Sei Σ ein Alphabet. Jedem regulären Ausdruck γ ist in eindeutiger Weise eine Sprache L(γ) Σ zugeordnet (wir sagen: γ beschreibt L(γ) ), die so definiert ist: falls γ = {λ} falls γ = λ {a} falls γ = a für ein a Σ L(γ) = L(α)L(β) falls γ = αβ L(α) L(β) falls γ = (α + β) L(α) falls γ = (α). J. Rothe (HHU Düsseldorf) Informatik IV 4 / 7
42 Reguläre Ausdrücke Sprache regulärer Ausdrücke Definition Zwei reguläre Ausdrücke α und α 2 heißen äquivalent (kurz α α 2 ), falls L(α ) = L(α 2 ). Beispiel: Es sei Σ = {a, b}. Der reguläre Ausdruck α = (λ + a(a + b) ) beschreibt die Sprache L(α ) = {λ} {ax x {a, b} }, d.h. das leere Wort und alle Wörter über Σ, die mit a beginnen. 2 Der reguläre Ausdruck α 2 = ((a + b) ab) beschreibt die Sprache L(α 2 ) = {xab x {a, b} }, d.h. alle Wörter über Σ, die mit ab enden. J. Rothe (HHU Düsseldorf) Informatik IV 42 / 7
43 Reguläre Ausdrücke Sprache regulärer Ausdrücke Bemerkung: Wegen = {λ} hätte man den regulären Ausdruck λ in der Definition oben auch weglassen können. Formal korrekt hätte man die Menge der regulären Ausdrücke unabhängig vom Alphabet (wie Grammatiken und DFAs) definieren müssen, etwa so: RegAusdruck(Σ) = {α α ist regulärer Ausdruck über Σ} RegAusdruck = RegAusdruck(Σ). Σ ist Alphabet Wir nehmen jedoch an, dass implizit immer ein Alphabet fixiert ist. J. Rothe (HHU Düsseldorf) Informatik IV 43 / 7
44 Reguläre Ausdrücke Sprache regulärer Ausdrücke Bemerkung: Jede endliche Sprache A Σ wird durch einen regulären Ausdruck beschrieben. Ist etwa A = {a, a 2,..., a k }, so ist A = L(α) mit α = ( ((a + a 2 ) + a 3 ) + + a k ). Somit ist jede endliche Sprache regulär. Jeder reguläre Ausdruck α beschreibt genau eine Sprache, nämlich L(α), aber für jede reguläre Sprache A = L(α) gibt es zum Beispiel wegen L((α + α)) = L(α) L(α) = L(α) unendlich viele reguläre Ausdrücke, die A beschreiben. J. Rothe (HHU Düsseldorf) Informatik IV 44 / 7
45 Reguläre Ausdrücke Satz von Kleene Theorem (Kleene) REG = {L(α) α ist regulärer Ausdruck}. Beweisidee: REG {L(α) α ist regulärer Ausdruck}: Ausdruck in NFA umwandeln 2 REG {L(α) α ist regulärer Ausdruck}: DFA in regulären Ausdruck umwandeln NFA DFA reguläre Grammatik REG regulärer Ausdruck J. Rothe (HHU Düsseldorf) Informatik IV 45 / 7
46 Reguläre Ausdrücke Satz von Kleene: Beweis von ( ) Theorem (Kleene) REG = {L(α) α ist regulärer Ausdruck}. Beweis: ( ) Sei A = L(α) für einen regulären Ausdruck α. Wir zeigen durch Induktion über den Aufbau von α, dass A REG durch Angabe eines NFAs M mit L(M) = A. Induktionsanfang: α = oder α = λ oder α = a Σ. Der folgende NFA M leistet je nach Fall das Gewünschte: (Σ, {z },, {z }, ) falls α = M = (Σ, {z },, {z }, {z }) falls α = λ (Σ, {z, z }, {δ(z, a) = {z }}, {z }, {z }) falls α = a Σ. J. Rothe (HHU Düsseldorf) Informatik IV 46 / 7
47 Reguläre Ausdrücke Satz von Kleene: Beweis von ( ):, λ, a Σ z z z z a J. Rothe (HHU Düsseldorf) Informatik IV 47 / 7
48 Reguläre Ausdrücke Satz von Kleene: Beweis von ( ): Induktionsschritt Induktionsschritt: α {α α 2, (α + α 2 ), (α ) }, für reguläre Ausdrücke α und α 2. Nach Induktionsvoraussetzung existieren NFAs M und M 2 mit L(M i ) = L(α i ), für i {, 2}. Sei für i {, 2}: M i = (Σ, Z i, δ i, S i, F i ), wobei o.b.d.a. Z Z 2 = gelte; andernfalls werden Zustände entsprechend umbenannt. J. Rothe (HHU Düsseldorf) Informatik IV 48 / 7
49 Reguläre Ausdrücke Satz von Kleene: Beweis von ( ): M und M 2 M für regulären Ausdruck α M 2 für regulären Ausdruck α 2 s f r g s k f n r m g p S F S 2 F 2 J. Rothe (HHU Düsseldorf) Informatik IV 49 / 7
50 Reguläre Ausdrücke Satz von Kleene: Beweis von ( ) Fall : α = α α 2. Definiere M = (Σ, Z, δ, S, F) als die Hintereinanderschaltung von M und M 2 durch: S falls λ L(α ) = L(M ) Z = Z Z 2 ; S = S S 2 falls λ L(α ) = L(M ); F 2 falls λ L(α 2 ) = L(M 2 ) F = F F 2 falls λ L(α 2 ) = L(M 2 ); δ (z, a) falls z Z und δ (z, a) F = δ(z, a) = δ (z, a) S 2 falls z Z und δ (z, a) F δ 2 (z, a) falls z Z 2 für alle a Σ und z Z. J. Rothe (HHU Düsseldorf) Informatik IV 5 / 7
51 Reguläre Ausdrücke Satz von Kleene: Beweis von ( ) Fall 2: α = (α + α 2 ). Der Vereinigungsautomat M = (Σ, Z Z 2, δ δ 2, S S 2, F F 2 ) von M und M 2 leistet das Gewünschte. J. Rothe (HHU Düsseldorf) Informatik IV 5 / 7
52 Reguläre Ausdrücke Satz von Kleene: Beweis von ( ) Fall 3: α = (α ). Der Rückkopplungsautomat M = (Σ, Z, δ, S, F ) von M leistet das Gewünschte, der folgendermaßen definiert ist: Zunächst fügen wir λ hinzu, falls nötig: M falls λ L(M ) M = (Σ, Ẑ, δ, Ŝ, F) falls λ L(M ) mit Ẑ = Z {ẑ}, Ŝ = S {ẑ}, F = F {ẑ}, wobei ẑ Z. Offenbar ist L( M) = L(M ) {λ}. J. Rothe (HHU Düsseldorf) Informatik IV 52 / 7
53 Reguläre Ausdrücke Satz von Kleene: Beweis von ( ) Weiter zu Fall 3: α = (α ). Rückkopplung: Definiere M = (Σ, Z, δ, S, F ), wobei Z, S und F die Menge der Zustände, Anfangszustände und Endzustände von M sind, und für alle a Σ und z Z : δ (z, a) falls δ (z, a) F = δ(z, a) = δ (z, a) S falls δ (z, a) F. Offenbar gilt L(M) = L(M ) = L((α ) ) = L(α). Somit ist REG {L(α) α ist regulärer Ausdruck} gezeigt. J. Rothe (HHU Düsseldorf) Informatik IV 53 / 7
54 Reguläre Ausdrücke Satz von Kleene: Beweis von ( ) ( ) Sei A REG, und sei M ein DFA mit L(M) = A, wobei M = (Σ, Z, δ, z, E) mit Z = {z, z 2,..., z n }. Konstruiere einen regulären Ausdruck α mit L(α) = A. Definiere dazu Sprachen Ri,j k mit i, j {, 2,..., n} und k {,,..., n}, die sich durch reguläre Ausdrücke beschreiben lassen: δ(zi, x) = z j und keiner der dabei durchlaufenen Ri,j k = x Σ Zustände (außer z i und z j selbst) hat einen Index größer als k.. R k i,j = Wörter, die man mit z i als Anfangs- und z j als Endzustand und mit Hilfe der Zustände z,..., z k generieren kann. J. Rothe (HHU Düsseldorf) Informatik IV 54 / 7
55 Reguläre Ausdrücke Satz von Kleene: R k i,j R k i,j = Wörter, die man mit i als Anfangs- und j als Endzustand und mit Hilfe der Zustände,..., k generieren kann. b a b 2 5 b 3 b 4 R,3 = {} b a b 2 5 b 3 b 4 R 2,3 = {ab} J. Rothe (HHU Düsseldorf) Informatik IV 55 / 7
56 Reguläre Ausdrücke Satz von Kleene: R k i,j R k i,j = Wörter, die man mit i als Anfangs- und j als Endzustand und mit Hilfe der Zustände,..., k generieren kann. b a b 2 5 b 3 b 4 R 2,3 = {ab} b a b 2 5 b 3 b 4 R 5,3 = {ab, bbab, bbbbab, } J. Rothe (HHU Düsseldorf) Informatik IV 56 / 7
57 Reguläre Ausdrücke Satz von Kleene: Beweis von ( ) Wir zeigen durch Induktion über k: Für jedes k {,,..., n} lässt sich jede Sprache Ri,j k durch einen regulären Ausdruck beschreiben. Induktionsanfang: k =. Ist i j, so ist Ri,j = {a Σ δ(zi, a) = z j }. Ist i = j, so ist Ri,i = {λ} {a Σ δ(z i, a) = z i }. In beiden Fällen ist Ri,j endlich und daher durch einen regulären Ausdruck beschreibbar. J. Rothe (HHU Düsseldorf) Informatik IV 57 / 7
58 Reguläre Ausdrücke Satz von Kleene: Beweis von ( ) Induktionsschritt: k k +. Es gilt R k+ i,j = R k i,j R k i,k+ (Rk k+,k+ ) R k k+,j, denn: Entweder braucht man den Zustand z k+ gar nicht, um von z i nach z j zu kommen, oder z k+ wird dabei einmal oder mehrmals in Schleifen durchlaufen: k + k zi zj k k zk+ k J. Rothe (HHU Düsseldorf) Informatik IV 58 / 7
59 Reguläre Ausdrücke Satz von Kleene: Beweis von ( ) Nach Induktionsvoraussetzung gibt es reguläre Ausdrücke α k i,j für die Mengen Ri,j k. Somit ist ( ) α k+ i,j = αi,j k + αi,k+ k (αk k+,k+ ) αk+,j k ein regulärer Ausdruck für R k+ i,j. Ende der Induktion. Ferner gilt: A = L(M) = z i E R n,i. Ist also E = {z i, z i2,..., z im }, so ist ) α = (α n + α n + + α n,i,i2,im ein regulärer Ausdruck für A. J. Rothe (HHU Düsseldorf) Informatik IV 59 / 7
60 Reguläre Ausdrücke Satz von Kleene: RA k i,j RA k i,j ist ein regulärer Ausdruck für R k i,j RA i,j = außer RA i,i = λ, RA,2 = a, RA,5 = RA 2,3 = RA 3,4 = RA 5, = b, RA i,j RA i,j außer für: RA 5,2 = RA 5,2 + RA 5, (RA, ) RA,2 RA 5,2 = + b(λ) a ba RA 5,5 = RA 5,5 + RA 5, (RA, ) RA,5 RA 5,5 = λ+ b(λ) b λ + bb a b 2 b 3 b b 5 4 J. Rothe (HHU Düsseldorf) Informatik IV 6 / 7
61 Reguläre Ausdrücke Satz von Kleene: RA k i,j RA 2 i,j RA i,j außer für: RA 2,3 = + a(λ) b ab RA 2 5,3 = + ba(λ) b bab RA 3 i,j RA 2 i,j außer für: RA 3 2,4 = + b(λ) b bb RA 3,4 = + ab(λ) b abb RA 3 5,4 = + bab(λ) b babb RA 5 i,j RA 4 i,j RA 3 i,j außer z. B. für: RA 5,2 = RA4,2 + RA4,5 (RA4 5,5 ) RA 4 5,2 = a + b(λ + bb) ba (bb) a RA 5,4 = abb + b(λ + bb) babb (bb) abb a b 2 b 3 b b 5 4 J. Rothe (HHU Düsseldorf) Informatik IV 6 / 7
62 Reguläre Ausdrücke Satz von Kleene: RA k i,j RA 5,2 = b(λ + bb) ba (bb) a RA 5,4 = abb + b(λ + bb) babb (bb) abb regulärer Ausdruck für den DFA: RA 5,2 + RA5,2 (bb) a + (bb) abb (bb) a(λ + bb) a b 2 b 3 b b 5 4 J. Rothe (HHU Düsseldorf) Informatik IV 62 / 7
63 Reguläre Ausdrücke Satz von Kleene: RA k i,j Ohne Vereinfachung (z. B. λ+ λ) ist der Ausdruck deutlich komplizierter: a+ +((λ+ )(*(λ)(a+ ))+ )+((a+ +((λ+ )(*(λ)(a+ ))+ ))(*(λ)(λ+ +( (*(λ)(a+ ))+ )))+ )+(( +((λ+ )(*(λ) )+ )+((a+ + ((λ+ )(*(λ)(a+ ))+ ))(*(λ)(b+ +( (*(λ) )+ )))+ ))(*(λ)( +( (*(λ)(a+ ))+ )+(( +( (*(λ)(a+ ))+ ))(*(λ)(λ+ +( (*(λ)(a+ ))+ )))+ )))+ )+(( +((λ+ )(*(λ) )+ )+((a+ +((λ+ )(*(λ)(a+ ))+ ))(*(λ)( +( (*(λ) )+ )))+ )+(( +((λ+ ) (*(λ) )+ )+((a+ +((λ+ )(*(λ)(a+ ))+ ))(*(λ)(b+ +( (*(λ) )+ )))+ ))(*(λ)(b+ +( (*(λ) )+ )+(( +( (*(λ)(a+ ))+ )) (*(λ)( +( (*(λ) )+ )))+ )))+ ))(*(λ)( +( (*(λ)(a+ ))+ )+(( +( (*(λ)(a+ ))+ ))(*(λ)(λ+ +( (*(λ)(a+ ))+ )))+ )+(( + ( (*(λ) )+ )+(( +( (*(λ)(a+ ))+ ))(*(λ)(b+ +( (*(λ) )+ )))+ ))(*(λ)( +( (*(λ)(a+ ))+ )+(( +( (*(λ)(a+ ))+ ))(*(λ)(λ+ +( (*(λ)(a )(*(λ)(b+ ))+ )+((a+ +((λ+ )(*(λ)(a+ ))+ ))(*(λ)( +( (*(λ)(b+ ))+ )))+ )+(( +((λ+ )(*(λ) )+ )+((a+ +((λ+ )(*(λ)(a+ ))+ ))(*(λ)(b+ +( (*(λ) )+ )))+ ))(*(λ)( +( (*(λ)(b+ ))+ )+(( +( (*(λ)(a+ ))+ ))(*(λ)( +( (*(λ)(b+ ))+ )))+ )))+ )+(( + ((λ+ )(*(λ) )+ )+((a+ +((λ+ )(*(λ)(a+ ))+ ))(*(λ)( +( (*(λ) )+ )))+ )+(( +((λ+ )(*(λ) )+ )+((a+ +((λ+ )(*(λ)(a+ ))+ ))(*(λ)(b+ +( (*(λ) )+ )))+ ))(*(λ)(b+ +( (*(λ) )+ )+(( +( (*(λ)(a+ ))+ ))(*(λ)( +( (*(λ) )+ )))+ )))+ ))(*(λ)( +( (*(λ)(b+ ))+ ( (*(λ)(b+ ))+ )))+ )+(( +( (*(λ) )+ )+(( +( (*(λ)(a+ ))+ ))(*(λ)(b+ +( (*(λ) )+ )))+ ))(*(λ)( +( (*(λ)(b+ ))+ )+ (( +( (*(λ)(a+ ))+ ))(*(λ)( +( (*(λ)(b+ ))+ )))+ )))+ )))+ ))(*(λ)( +((b+ )(*(λ)(a+ ))+ )+(( +((b+ )(*(λ)(a+ ))+ ))(*(λ)(λ+ + J. Rothe (HHU Düsseldorf) Informatik IV 63 / 7
64 Reguläre Ausdrücke Satz von Kleene: RA k i,j Ohne Vereinfachung ist der Ausdruck deutlich komplizierter (Teil 2): ( (*(λ)(a+ ))+ )))+ )+(( +((b+ )(*(λ) )+ )+(( +((b+ )(*(λ)(a+ ))+ ))(*(λ)(b+ +( (*(λ) )+ )))+ ))(*(λ)( +( (*(λ)(a+ ))+ )+ (( +( (*(λ)(a+ ))+ ))(*(λ)(λ+ +( (*(λ)(a+ ))+ )))+ )))+ )+(( +((b+ )(*(λ) )+ )+(( +((b+ )(*(λ)(a+ ))+ ))(*(λ)( +( (*(λ) )+ )))+ )+(( +((b+ )(*(λ) )+ )+(( +((b+ )(*(λ)(a+ ))+ ))(*(λ)(b+ +( (*(λ) )+ )))+ ))(*(λ)(b+ +( (*(λ) )+ )+(( + ( (*(λ)(a+ ))+ ))(*(λ)( +( (*(λ) )+ )))+ )))+ ))(*(λ)( +( (*(λ)(a+ ))+ )+(( +( (*(λ)(a+ ))+ ))(*(λ)(λ+ +( (*(λ)(a+ ))+ )))+ )+(( +( (*(λ) )+ )+(( +( (*(λ)(a+ ))+ ))(*(λ)(b+ +( (*(λ) )+ )))+ ))(*(λ)( +( (*(λ)(a+ ))+ )+(( +( (*(λ) (a+ ))+ ))(*(λ)(λ+ +( (*(λ)(a+ ))+ )))+ )))+ )))+ )))+ )+( +((λ+ )(*(λ) )+ )+((a+ +((λ+ )(*(λ)(a+ ))+ ))(*(λ)( +( (*(λ) )+ )))+ )+(( +((λ+ )(*(λ) )+ )+((a+ +((λ+ )(*(λ)(a+ ))+ ))(*(λ)(b+ +( (*(λ) )+ )))+ ))(*(λ)(b+ +( (*(λ) )+ )+ (( +( (*(λ)(a+ ))+ ))(*(λ)( +( (*(λ) )+ )))+ )))+ )+(( +((λ+ )(*(λ) )+ )+((a+ +((λ+ )(*(λ)(a+ ))+ ))(*(λ)( +( (*(λ) )+ )))+ )+(( +((λ+ )(*(λ) )+ )+((a+ +((λ+ )(*(λ)(a+ ))+ ))(*(λ)(b+ +( (*(λ) )+ )))+ ))(*(λ)(b+ +( (*(λ) )+ )+ (( +( (*(λ)(a+ ))+ ))(*(λ)( +( (*(λ) )+ )))+ )))+ ))(*(λ)(λ+ +( (*(λ) )+ )+(( +( (*(λ)(a+ ))+ ))(*(λ)( +( (*(λ) )+ )))+ )+(( +( (*(λ) )+ )+(( +( (*(λ)(a+ ))+ ))(*(λ)(b+ +( (*(λ) )+ )))+ ))(*(λ)(b+ +( (*(λ) )+ )+(( +( (*(λ)(a+ ))+ ))(*(λ)( +( (*(λ) )+ )))+ )))+ )))+ )+((b+ +((λ+ )(*(λ)(b+ ))+ )+((a+ +((λ+ )(*(λ)(a+ ))+ ))(*(λ)( +( (*(λ)(b+ ))+ )))+ )+ J. Rothe (HHU Düsseldorf) Informatik IV 64 / 7
65 Reguläre Ausdrücke Satz von Kleene: RA k i,j Ohne Vereinfachung ist der Ausdruck deutlich komplizierter (Teil 3/3): ))(*(λ)( +( (*(λ)(b+ ))+ )))+ )))+ )+(( +((λ+ )(*(λ) )+ )+((a+ +((λ+ )(*(λ)(a+ ))+ ))(*(λ)( +( (*(λ) )+ )))+ )+(( + ((λ+ )(*(λ) )+ )+((a+ +((λ+ )(*(λ)(a+ ))+ ))(*(λ)(b+ +( (*(λ) )+ )))+ ))(*(λ)(b+ +( (*(λ) )+ )+(( +( (*(λ)(a+ ))+ ))(*(λ) ( +( (*(λ) )+ )))+ )))+ ))(*(λ)( +( (*(λ)(b+ ))+ )+(( +( (*(λ)(a+ ))+ ))(*(λ)( +( (*(λ)(b+ ))+ )))+ )+(( +( (*(λ) )+ )+ (( +( (*(λ)(a+ ))+ ))(*(λ)(b+ +( (*(λ) )+ )))+ ))(*(λ)( +( (*(λ)(b+ ))+ )+(( +( (*(λ)(a+ ))+ ))(*(λ)( +( (*(λ)(b+ ))+ )))+ )))+ )))+ ))(*(λ)( +((b+ )(*(λ) )+ )+(( +((b+ )(*(λ)(a+ ))+ ))(*(λ)( +( (*(λ) )+ )))+ )+(( +((b+ )(*(λ) )+ )+(( +((b+ )(*(λ) (a+ ))+ ))(*(λ)(b+ +( (*(λ) )+ )))+ ))(*(λ)(b+ +( (*(λ) )+ )+(( +( (*(λ)(a+ ))+ ))(*(λ)( +( (*(λ) )+ )))+ )))+ )+(( +((b+ )(*(λ) )+ )+(( +((b+ )(*(λ)(a+ ))+ ))(*(λ)( +( (*(λ) )+ )))+ )+(( +((b+ )(*(λ) )+ )+(( +((b+ )(*(λ)(a+ ))+ ))(*(λ)(b+ + ( (*(λ) )+ )))+ ))(*(λ)(b+ +( (*(λ) )+ )+(( +( (*(λ)(a+ ))+ ))(*(λ)( +( (*(λ) )+ )))+ )))+ ))(*(λ)(λ+ +( (*(λ) )+ )+(( +( (*(λ)(a+ ))+ ))(*(λ)( +( (*(λ) )+ )))+ )+(( +( (*(λ) )+ )+(( +( (*(λ)(a+ ))+ ))(*(λ)(b+ +( (*(λ) )+ )))+ )) (*(λ)(b+ +( (*(λ) )+ )+(( +( (*(λ)(a+ ))+ ))(*(λ)( +( (*(λ) )+ )))+ )))+ )))+ )))+ )+ ) J. Rothe (HHU Düsseldorf) Informatik IV 65 / 7
66 Reguläre Ausdrücke Satz von Kleene: RA k i,j a 2 b a b 2 b c RA 2,2 = a + a((ba) (λ + ba)) a + a(ba) a(ba) RA 2,2 = b + (λ+a)(a )b + (b+(λ+a)(a )b) ((λ+c+b(a )b) ) (λ+c+b(a )b) a b(c+b(a b)) J. Rothe (HHU Düsseldorf) Informatik IV 66 / 7
67 Gleichungssysteme Gleichungssysteme Ziel: Bestimmung der von einem NFA (bzw. DFA) akzeptierten Sprache durch Lösung eines linearen Gleichungssystems. Gegeben: NFA M = (Σ, Z, δ, S, F) mit Z = {z, z 2,..., z n }. Gesucht: L(M). Methode: Bilde ein Gleichungssystem mit n Variablen und n Gleichungen wie folgt: Jedes z i Z, i n, ist Variable auf der linken Seite einer Gleichung. 2 Gilt z j δ(z i, a) für z i, z j Z und a Σ, so ist az j Summand auf der rechten Seite der Gleichung z i =. 3 Gilt z i F, so ist Summand auf der rechten Seite der Gleichung z i =. J. Rothe (HHU Düsseldorf) Informatik IV 67 / 7
68 Gleichungssysteme Gleichungssysteme Methode: Die z i werden als reguläre Sprachen (bzw. Ausdrücke) interpretiert und gemäß dem folgenden Lemma und Satz ausgerechnet. Es gilt dann: L(M) = z i S bzw. L(M) = L(α) für den regulären Ausdruck α = z i. z i S z i J. Rothe (HHU Düsseldorf) Informatik IV 68 / 7
69 Gleichungssysteme Gleichungssysteme Lemma Sind A, B Σ reguläre Sprachen mit λ A, so gibt es genau eine reguläre Sprache X, die Lösung der folgenden Gleichung ist: X = AX B. () Beweis: Siehe Tafel. Bemerkung: Gilt λ A in (), so ist die reguläre Menge X = A B ebenfalls Lösung von (). Allerdings muss diese dann nicht mehr eindeutig sein, da y = vw AY auch für v = λ gelten kann und der Widerspruch aus dem Beweis dann nicht auftreten muss. J. Rothe (HHU Düsseldorf) Informatik IV 69 / 7
70 Gleichungssysteme Gleichungssysteme Aus obiger Methode ergibt sich ein Gleichungssystem der Form: z = A z A 2 z 2 A n z n B z 2 = A 2 z A 22 z 2 A 2n z n B 2. (2) z n = A n z A n2 z 2 A nn z n B n Theorem Gilt A ij, B k REG und λ A ij für alle i, j, k {, 2,..., n} im obigen Gleichungssystem (2), dann hat es eine eindeutig bestimmte Lösung durch reguläre Mengen z i, i n. J. Rothe (HHU Düsseldorf) Informatik IV 7 / 7
71 Gleichungssysteme Gleichungssysteme Beweis: Gegeben sei ein Gleichungssystem der Form (2). Löse es sukzessive durch Anwendung der folgenden Schritte: Gibt es Gleichungen z i =, deren linke Seite z i nicht auf der rechten Seite vorkommt, so eliminiere diese Gleichung z i = und die Variable z i in jeder anderen Gleichung durch Einsetzen der rechten Seite von z i =. Vereinfache nach dem Distributivgesetz UX VX = (U V )X. J. Rothe (HHU Düsseldorf) Informatik IV 7 / 7
72 Gleichungssysteme Gleichungssysteme Das entstandene System hat wieder die Form (2), wobei nun jede linke Seite z i auch rechts vorkommt. Das heißt, jede verbliebene Gleichung hat die Form (): z i = Az i B, wobei A und B sich aus den Koeffizienten A ij, B k REG und den Variablen z j, i j, in (2) gemäß dem obigen Umformungsprozess ergeben. Nach dem obigen Lemma hat eine solche Gleichung die eindeutige Lösung A B, die eine reguläre Sprache ist. J. Rothe (HHU Düsseldorf) Informatik IV 72 / 7
73 Gleichungssysteme Gleichungssysteme Ersetze der Reihe nach alle noch vorhandenen Variablen durch die entsprechenden Lösungen. Stets entsteht dabei ein System von der Form (2) mit einer Variablen weniger, und in keiner der Koeffizientenmengen kommt λ vor. Der Satz ist bewiesen. J. Rothe (HHU Düsseldorf) Informatik IV 73 / 7
74 Das Pumping-Lemma Pumping-Lemma Eine reguläre Sprache kann von einem DFA oder NFA akzeptiert werden. Was folgt daraus für längere Wörter der Sprache? a b 2 b 3 b b 5 4 Was kann man hier für Wörter mit mindestens 5 Buchstaben aussagen? L = {a, abb, bba, bbabb, bbbba, bbbbabb, bbbbbba, bbbbbbabb,...} bbabb L, bbbbabb L, bbbbbbabb L,... J. Rothe (HHU Düsseldorf) Informatik IV 74 / 7
75 Das Pumping-Lemma Pumping-Lemma Ziel: Nachweis der Nichtregularität von Sprachen. Theorem (Pumping-Lemma für reguläre Sprachen) Sei L REG. Dann existiert eine (von L abhängige) Zahl n, so dass sich alle Wörter x L mit x n zerlegen lassen in x = uvw, wobei gilt: uv n, 2 v, 3 ( i ) [uv i w L]. J. Rothe (HHU Düsseldorf) Informatik IV 75 / 7
76 Das Pumping-Lemma Pumping-Lemma Ziel: Nachweis der Nichtregularität von Sprachen. Theorem (Pumping-Lemma für reguläre Sprachen) Sei L REG. Dann existiert eine (von L abhängige) Zahl n, so dass sich alle Wörter x L mit x n zerlegen lassen in x = bmw, wobei gilt: bm n, 2 m, 3 ( i ) [bm i w L]. J. Rothe (HHU Düsseldorf) Informatik IV 76 / 7
77 Das Pumping-Lemma Pumping-Lemma Ziel: Nachweis der Nichtregularität von Sprachen. Theorem (Pumping-Lemma für reguläre Sprachen) Sei L REG. Dann existiert eine (von L abhängige) Zahl n, so dass sich alle Wörter x L mit x n zerlegen lassen in x = uvw, wobei gilt: uv n, 2 v, 3 ( i ) [uv i w L]. J. Rothe (HHU Düsseldorf) Informatik IV 77 / 7
78 Das Pumping-Lemma Pumping-Lemma: Beweis Beweis: Sei L REG, und sei M ein DFA für L. Wähle als n die Zahl der Zustände von M. Sei x L beliebig mit x n. Beim Abarbeiten von x durchläuft M genau x + n + Zustände einschließlich des Startzustands. Folglich gibt es einen Zustand z, der zweimal durchlaufen wird. Das heißt, M hat bei Eingabe x eine Schleife durchlaufen. J. Rothe (HHU Düsseldorf) Informatik IV 78 / 7
79 Das Pumping-Lemma Pumping-Lemma: Beweis Wähle nun die Zerlegung x = uvw so, dass nach Lesen von u und von uv derselbe Zustand z erreicht ist und die Bedingungen () und (2) erfüllt sind. Es ist klar, dass das geht. v z z z e u w Abbildung: Beweis des Pumping-Lemmas für reguläre Sprachen J. Rothe (HHU Düsseldorf) Informatik IV 79 / 7
80 Das Pumping-Lemma Pumping-Lemma: Beweis M erreicht somit denselben Endzustand z e bei Eingabe von uv w = uw uv w = uvw = x uv 2 w. uv i w. (siehe Abbildung auf der vorherigen Folie). Somit sind alle diese Wörter in L, und auch Eigenschaft (3) ist bewiesen. J. Rothe (HHU Düsseldorf) Informatik IV 8 / 7
81 Das Pumping-Lemma Pumping-Lemma Bemerkung: Man beachte, dass das Pumping-Lemma keine Charakterisierung von REG liefert, sondern lediglich eine Implikation: L REG ( n ) ( x L, x n) ( u, v, w Σ ) [x = uvw () (2) (3)]. Alle Sprachen Sprachen nach PL nicht regulär Abbildung: Anwendbarkeit des Pumping-Lemmas (PL) J. Rothe (HHU Düsseldorf) Informatik IV 8 / 7
82 Das Pumping-Lemma Pumping-Lemma: Anwendungen Behauptung: L = {a m b m m } ist nicht regulär. Beweis: Der Beweis wird indirekt geführt. Angenommen, L REG. Sei n die Zahl, die nach dem Pumping-Lemma für L existiert. Betrachte das Wort x = a n b n mit x = 2n > n. J. Rothe (HHU Düsseldorf) Informatik IV 82 / 7
83 Das Pumping-Lemma Pumping-Lemma: Anwendungen Da x L, lässt sich x so in x = uvw = a n b n zerlegen, dass gilt: uv n, d.h., uv = a m für m n; 2 v, d.h., v = a k mit k ; 3 ( i ) [uv i w L]. Insbesondere gilt für i = : uv w = uw = a n k b n L, was ein Widerspruch zur Definition von L ist. Also ist die Annahme falsch und L nicht regulär. J. Rothe (HHU Düsseldorf) Informatik IV 83 / 7
84 Das Pumping-Lemma Pumping-Lemma: Anwendungen Behauptung: L = { m m ist Quadratzahl} ist nicht regulär. Beweis: Der Beweis wird wieder indirekt geführt. Angenommen, L REG. Sei n die Zahl, die nach dem Pumping-Lemma für L existiert. Betrachte das Wort x = n2 mit x = n 2 n. J. Rothe (HHU Düsseldorf) Informatik IV 84 / 7
85 Das Pumping-Lemma Pumping-Lemma: Anwendungen Da x L, lässt sich x so in x = uvw = n2 zerlegen, dass die Bedingungen (), (2) und (3) aus dem Pumping-Lemma gelten. Aus den Bedingungen () und (2) folgt: v uv n. Aus Bedingung (3) folgt für i = 2, dass uv 2 w ein Wort in L ist. Andererseits gilt: n 2 = x = uvw < uv 2 w n 2 + n < n 2 + 2n + = (n + ) 2. Folglich ist die Länge des Wortes uv 2 w L keine Quadratzahl, was ein Widerspruch zur Definition von L ist. Also ist die Annahme falsch und L nicht regulär. J. Rothe (HHU Düsseldorf) Informatik IV 85 / 7
86 Das Pumping-Lemma Pumping-Lemma: für eine nichtreguläre Sprache Beispiel: Definiere die Sprache L = {x {, } x = k mit k oder x = j k 2 mit j und k }. Wir versuchen wieder (wie sich hier zeigt: vergeblich!) einen Widerspruchsbeweis für L REG und nehmen also L REG an. Sei x L beliebig mit x n, wobei n die Pumping-Lemma-Zahl für L ist. Nach dem Pumping-Lemma gibt es eine Zerlegung x = uvw, die die Bedingungen (), (2) und (3) erfüllt. J. Rothe (HHU Düsseldorf) Informatik IV 86 / 7
87 Das Pumping-Lemma Pumping-Lemma: für eine nichtreguläre Sprache Beispiel: Fall : x = k. Für x = k = uvw liefern diese drei Bedingungen (insbesondere uv i w = k L für alle i ) jedoch keinen Widerspruch. Fall 2: x = j k 2. Auch für x = j k 2 = uvw ergibt sich kein Widerspruch aus den drei Bedingungen; insbesondere könnte die Zerlegung x = uvw mit u = λ und v = (da j ) gewählt worden sein, so dass uv i w = j+i k 2 L für alle i tatsächlich gilt. Auch wenn das Pumping-Lemma hier nicht den gewünschten Widerspruch liefert, kann man mit einer Verallgemeinerung des Pumping-Lemmas tatsächlich zeigen, dass L nicht regulär ist. J. Rothe (HHU Düsseldorf) Informatik IV 87 / 7
88 Der Satz von Myhill und Nerode und Minimalautomaten Satz von Myhill und Nerode Was sind minimale Automaten für die folgenden Sprachen? L = {ac, bc} L 2 = {aca, bbca} L 3 = {abc, abcbc, abcbcbc,...} J. Rothe (HHU Düsseldorf) Informatik IV 88 / 7
89 Der Satz von Myhill und Nerode und Minimalautomaten Satz von Myhill und Nerode Man kann einer Sprache L Σ wie folgt eine Äquivalenzrelation R L auf Σ zuordnen. Definition (Myhill-Nerode-Relation) Sei L Σ gegeben. Für x, y Σ gelte x R L y genau dann, wenn ( z Σ ) [xz L yz L]. Insbesondere gilt für Wörter x, y Σ mit x R L y: x L y L, nämlich für z = λ. J. Rothe (HHU Düsseldorf) Informatik IV 89 / 7
90 Der Satz von Myhill und Nerode und Minimalautomaten Satz von Myhill und Nerode Für welche x, y Σ gilt ( z Σ ) (xz L i yz L i ) in den folgenden Sprachen? L = {ac, bc} L 2 = {aca, bbca} L 3 = {abc, abcbc, abcbcbc,...} a R L b, ac R L bc, c R L bb R L aca R L... a R L2 bb, ac R L2 bbc, aca R L2 bbca abc R L3 abcbc R L3 abcbcbc..., ab R L3 abcb R L3 abcbcb..., aber nicht a R L3 abc J. Rothe (HHU Düsseldorf) Informatik IV 9 / 7
91 Der Satz von Myhill und Nerode und Minimalautomaten Satz von Myhill und Nerode Die binäre Relation R L auf Σ mit ( z Σ ) [xz L yz L]. ist in der Tat eine Äquivalenzrelation auf Σ : Reflexivität: x R L x Symmetrie: x R L y y R L x Transitivität: (x R L y y R L z) x R L z J. Rothe (HHU Düsseldorf) Informatik IV 9 / 7
92 Der Satz von Myhill und Nerode und Minimalautomaten Satz von Myhill und Nerode Definition Wie jede Äquivalenzrelation induziert R L eine Zerlegung (d.h. eine disjunkte und vollständige Überdeckung) von Σ in Äquivalenzklassen: [x] = {y Σ x R L y}, die repräsentantenunabhängig ist. Die Anzahl der verschiedenen Äquivalenzklassen wird bezeichnet mit Index(R L ) = {[x] x Σ }. J. Rothe (HHU Düsseldorf) Informatik IV 92 / 7
93 Der Satz von Myhill und Nerode und Minimalautomaten Satz von Myhill und Nerode Theorem (Myhill und Nerode) Es sei L eine Sprache über einem beliebigen Alphabet Σ. L REG Index(R L ) <. J. Rothe (HHU Düsseldorf) Informatik IV 93 / 7
94 Der Satz von Myhill und Nerode und Minimalautomaten Satz von Myhill und Nerode: Beweis Beweis: ( ) Sei L REG, und sei M = (Σ, Z, δ, z, E) ein DFA mit L(M) = L. Definiere eine Äquivalenzrelation R M auf Σ wie folgt: x R M y gelte genau dann, wenn δ(z, x) = δ(z, y), d.h., M ist nach dem Lesen von x im selben Zustand wie nach dem Lesen von y. Es gilt: Index(R M ) = Anzahl der von z aus erreichbaren Zustände. (3) J. Rothe (HHU Düsseldorf) Informatik IV 94 / 7
95 Der Satz von Myhill und Nerode und Minimalautomaten Satz von Myhill und Nerode: Beweis Wir zeigen nun: ( x, y Σ ) [x R M y x R L y], (4) d.h., R M R L (also ist R M eine Verfeinerung von R L ). Sei x R M y, d.h., δ(z, x) = δ(z, y). Sei z Σ beliebig. Dann gilt: xz L δ(z, xz) E δ( δ(z, x), z) E δ( δ(z, y), z) E δ(z, yz) E yz L. Folglich gilt x R L y und somit (4). Aus (3) und (4) folgt: Index(R L ) Index(R M ) Z <. J. Rothe (HHU Düsseldorf) Informatik IV 95 / 7
96 Der Satz von Myhill und Nerode und Minimalautomaten Satz von Myhill und Nerode: Beweis ( ) Sei Index(R L ) = k < für ein k N. Dann lässt sich Σ in k Äquivalenzklassen bezüglich R L zerlegen: [x ] [x 2 ] [x k ] = Σ, wobei x, x 2,..., x k Σ. Der Äquivalenzklassen-Automat für L ist der DFA M = (Σ, Z, δ, z, F), der definiert ist durch: Z = {[x ], [x 2 ],..., [x k ]}, δ([x], a) = [xa] für jedes [x] Z und a Σ, z = [λ], F = {[x] x L}. J. Rothe (HHU Düsseldorf) Informatik IV 96 / 7
97 Der Satz von Myhill und Nerode und Minimalautomaten Satz von Myhill und Nerode: Beweis Lemma Für alle x [x] und a Σ gilt [x a] = [xa]. Insbesondere gilt δ([λ], x) = [x] für jedes x Σ. Es folgt: x L(M) δ(z, x) F δ([λ], x) F x L. [x] F (nach Lemma) Also ist L REG. J. Rothe (HHU Düsseldorf) Informatik IV 97 / 7
98 Der Satz von Myhill und Nerode und Minimalautomaten Satz von Myhill und Nerode: Anwendungen Beispiel: [Satz von Myhill und Nerode: Nachweis der Nichtregularität] Wir zeigen mit dem Satz von Myhill und Nerode, dass nicht regulär ist. L = {a m b m m } Zu den Äquivalenzklassen von L bzgl. R L gehören: [ab] = {x Σ ab R L x} = {ab, a 2 b 2, a 3 b 3,...} = L [a 2 b] = {a 2 b, a 3 b 2, a 4 b 3,...} [a 3 b] = {a 3 b, a 4 b 2, a 5 b 3,...}. [a k b] = {a k b, a k+ b 2, a k+2 b 3,...}. J. Rothe (HHU Düsseldorf) Informatik IV 98 / 7
99 Der Satz von Myhill und Nerode und Minimalautomaten Satz von Myhill und Nerode: Anwendungen Beispiel: [Satz von Myhill und Nerode: Nachweis der Nichtregularität] Diese Äquivalenzklassen sind alle paarweise verschieden, d.h., [a i b] [a j b] für i j. Denn für z = b i gilt a i bz L, aber a j bz L. Folglich ist Index(R L ) =. Nach dem Satz von Myhill und Nerode ist L REG. J. Rothe (HHU Düsseldorf) Informatik IV 99 / 7
100 Der Satz von Myhill und Nerode und Minimalautomaten Satz von Myhill und Nerode: Anwendungen Beispiel: [Satz von Myhill und Nerode: Nachweis der Regularität] Wir zeigen, dass die folgende Sprache L regulär ist: L = {x {a, b} x endet mit aa}. Die Äquivalenzklassen von L bzgl. R L sind: [aa] = {x {a, b} aa R L x} = {a 2, a 3, a 4,..., ba 2, ba 3, ba 4,...} = L [a] = {a, ba, b 2 a,...} = {x {a, b} x endet mit a, aber nicht mit aa} [λ] = {λ, b, ab,...} = {x {a, b} x endet nicht mit a}. Da {a, b} = [aa] [a] [λ], ist Index(R L ) = 3. Nach dem Satz von Myhill und Nerode ist L REG. J. Rothe (HHU Düsseldorf) Informatik IV / 7
101 Der Satz von Myhill und Nerode und Minimalautomaten Satz von Myhill und Nerode: Anwendungen Beispiel: [Satz von Myhill und Nerode: Untere Schranken für die Anzahl der Zustände eines DFAs] Es sei L eine reguläre Sprache. Für jeden DFA M = (Σ, Z, δ, z, E) mit L(M) = L gilt nach der ( ) -Richtung im Beweis des Satzes von Myhill und Nerode: Index(R L ) Index(R M ) = Anzahl der in M von z aus erreichbaren Zustände Z. Das heißt, M hat mindestens so viele Zustände wie R L Äquivalenzklassen. J. Rothe (HHU Düsseldorf) Informatik IV / 7
102 Der Satz von Myhill und Nerode und Minimalautomaten Erinnerung: L 3 : dritter Buchstabe von hinten ist : DFA versus NFA, start z z, z2, z3 z2z z3zz zz zz2z z3zz2z z3z2z z3z start z J. Rothe (HHU Düsseldorf) Informatik IV 2 / 7
103 Der Satz von Myhill und Nerode und Minimalautomaten Satz von Myhill und Nerode: Anwendungen Beispiel: [Satz von Myhill und Nerode: Untere Schranken für die Anzahl der Zustände eines DFAs] Wir wenden dieses Ergebnis an, um eine untere Schranke für die Anzahl der Zustände der DFAs anzugeben, die die Sprache L n = {x {, } der n-te Buchstabe von hinten in x ist } = {x {, } x = uv mit u {, } und v {, } n }. erkennen. Wir betrachten die Wörter aus {, } n, d.h. die Wörter der Länge n über dem Alphabet {, }. Es seien u, v {, } n mit u v. Dann gibt es ein i, i n, so dass sich u und v an der Position i unterscheiden. J. Rothe (HHU Düsseldorf) Informatik IV 3 / 7
104 Der Satz von Myhill und Nerode und Minimalautomaten Satz von Myhill und Nerode: Anwendungen Beispiel: [Satz von Myhill und Nerode: Untere Schranken für die Anzahl der Zustände eines DFAs] Wir nehmen o.b.d.a. an, dass u an der Position i eine und v an der Position i eine hat: Es gilt nun: u = i L v = i L 2 i n u i L, da der n-te Buchstabe von hinten in u i eine ist, und v i L, da der n-te Buchstabe von hinten in v i eine ist. J. Rothe (HHU Düsseldorf) Informatik IV 4 / 7
105 Der Satz von Myhill und Nerode und Minimalautomaten Satz von Myhill und Nerode: Anwendungen Beispiel: [Satz von Myhill und Nerode: Untere Schranken für die Anzahl der Zustände eines DFAs] Somit sind u und v nicht äquivalent bezüglich R Ln. Da u und v beliebig waren, sind alle Wörter aus {, } n nicht äquivalent bezüglich R Ln, und es folgt: Index(R Ln ) 2 n. Somit hat jeder DFA für L n mindestens 2 n Zustände. (Erinnerung: Es gibt einen NFA für L n mit n + 2 Zuständen.) J. Rothe (HHU Düsseldorf) Informatik IV 5 / 7
106 Der Satz von Myhill und Nerode und Minimalautomaten Erinnerung: L 8 : DFA versus NFA z, z z2, z3, z4, z5, z6, z7, z8, start z zz z2z z2zz z3z z3zz z3z2zz z3z2z z3z2zz4 z3z2zzz4 z3zzz4 z3zz4 z3zz5zz4 z3z5zz4 z3z2zz5zz4 z3z2z5zz4 z6z2z5zz4 z6z2zz5zz4 z6zz5zz4 z6z5zz4 z6z3z7z5z z6z3z7zz5z z6z3z2z7zz5z z6z3z2z7z5z z6z7z8zz4 z6z7zz8zz4 z6z2z7zz8zz4 z6z2z7z8zz4 z3z2z7z8z5z z3z2z7zz8z5z z3z7zz8z5z z3z7z8z5z z6z2z8zz4 z6z2zz8zz4 z6z8zz4 z6zz8zz4 z3z7z5z z3z7zz5z z3z2z7z5z z3z2z7zz5z z7zz5z z7z5z z2z7zz5z z2z7z5z z6z3z2zz8z z6z3z2z8z z6z3zz8z z6z3z8z z3z2z7zz4 z3z2z7zzz4 z3z7zz4 z3z7zzz4 z8z5zz4 zz8z5zz4 z2zz8z5zz4 z2z8z5zz4 z6z5z z6zz5z z6z2z5z z6z2zz5z z6z7z z6z7zz z6z2z7z z6z2z7zz z7z8z z7zz8z z2z7z8z z2z7zz8z z3z8z z3zz8z z3z2zz8z z3z2z8z z2z5zz4 z2zz5zz4 z5zz4 zz5zz4 z6z3z5z z6z3zz5z z6z3z2z5z z6z3z2zz5z z6z3z7zzz4 z6z3z7zz4 z6z3z2z7zz4 z6z3z2z7zzz4 z3z7z8z5zz4 z3z7zz8z5zz4 z3z2z7zz8z5zz4 z3z2z7z8z5zz4 z6z8z5zz4 z6zz8z5zz4 z6z2zz8z5zz4 z6z2z8z5zz4 z7z8z5z z7zz8z5z z2z7z8z5z z2z7zz8z5z z6z8z z6zz8z z6z2z8z z6z2zz8z z7zz z7z z2z7z z2z7zz z2z8z z2zz8z zz8z z8z zz4 zzz4 z2zz4 z2zzz4 zz5z z5z z2zz5z z2z5z z6z3z2z z6z3z2zz z6z3zz z6z3z z6z7zzz4 z6z7zz4 z6z2z7zzz4 z6z2z7zz4 z3z7z z3z7zz z3z2z7zz z3z2z7z z3z2z8zz4 z3z2zz8zz4 z3z8zz4 z3zz8zz4 z6z2z7z5z z6z2z7zz5z z6z7z5z z6z7zz5z z6z3z7z8z z6z3z7zz8z z6z3z2z7z8z z6z3z2z7zz8z z7zz8zz4 z7z8zz4 z2z7zz8zz4 z2z7z8zz4 z2z8z5z z2zz8z5z z8z5z zz8z5z z6zz z6z z6z2zz z6z2z z3z5z z3zz5z z3z2zz5z z3z2z5z z6zzz4 z6zz4 z6z2zz4 z6z2zzz4 z6z3z2z5zz4 z6z3z2zz5zz4 z6z3z5zz4 z6z3zz5zz4 z6z7zz5zz4 z6z7z5zz4 z6z2z7zz5zz4 z6z2z7z5zz4 z6z3z2z7z8z5z z6z3z2z7zz8z5z z6z3z7zz8z5z z6z3z7z8z5z z6z3zz8zz4 z6z3z8zz4 z6z3z2zz8zz4 z6z3z2z8zz4 z3z2z7z5zz4 z3z2z7zz5zz4 z3z7zz5zz4 z3z7z5zz4 z6z7zz8z z6z7z8z z6z2z7z8z z6z2z7zz8z z3z7zz8z z3z7z8z z3z2z7z8z z3z2z7zz8z z2z8zz4 z2zz8zz4 z8zz4 zz8zz4 z6z3zz8z5zz4 z6z3z8z5zz4 z6z3z2z8z5zz4 z6z3z2zz8z5zz4 z6z2z7zz8z5z z6z2z7z8z5z z6z7z8z5z z6z7zz8z5z z3z7z8zz4 z3z7zz8zz4 z3z2z7z8zz4 z3z2z7zz8zz4 z3z8z5zz4 z3zz8z5zz4 z3z2zz8z5zz4 z3z2z8z5zz4 z6z3z2zzz4 z6z3z2zz4 z6z3zz4 z6z3zzz4 z6z3z7zz5zz4 z6z3z7z5zz4 z6z3z2z7zz5zz4 z6z3z2z7z5zz4 z6z3z2z7zz8z5zz4 z6z3z2z7z8z5zz4 z6z3z7z8z5zz4 z6z3z7zz8z5zz4 z6z7zz8z5zz4 z6z7z8z5zz4 z6z2z7z8z5zz4 z6z2z7zz8z5zz4 z2z7zz4 z2z7zzz4 z7zzz4 z7zz4 z3zz8z5z z3z8z5z z3z2zz8z5z z3z2z8z5z z6z3z7zz z6z3z7z z6z3z2z7zz z6z3z2z7z z6z3z7zz8zz4 z6z3z7z8zz4 z6z3z2z7zz8zz4 z6z3z2z7z8zz4 z2z7zz8z5zz4 z2z7z8z5zz4 z7zz8z5zz4 z7z8z5zz4 z6z2z8z5z z6z2zz8z5z z6z8z5z z6zz8z5z z2z7z5zz4 z2z7zz5zz4 z7zz5zz4 z7z5zz4 z6z3zz8z5z z6z3z8z5z z6z3z2z8z5z z6z3z2zz8z5z start J. Rothe (HHU Düsseldorf) Informatik IV 6 / 7
107 Der Satz von Myhill und Nerode und Minimalautomaten Satz von Myhill und Nerode: Minimalautomaten Definition (Minimalautomat) Ein DFA M mit totaler Überführungsfunktion heißt Minimalautomat, falls es keinen zu M äquivalenten DFA mit totaler Überführungsfunktion und weniger Zuständen gibt. Bemerkung: Es sei L Σ eine reguläre Sprache. Der in der Rückrichtung im Beweis des Satzes von Myhill und Nerode bestimmte Äquivalenzklassen-Automat M ist der DFA mit einer kleinstmöglichen Anzahl von Zuständen, der L akzeptiert. J. Rothe (HHU Düsseldorf) Informatik IV 7 / 7
108 Der Satz von Myhill und Nerode und Minimalautomaten Satz von Myhill und Nerode: Minimalautomaten Begründung: die Anzahl der Zustände von M ist gleich Index(R L ) (Anzahl der Äquivalenzklassen der Myhill-Nerode-Relation) und für jeden DFA M = (Σ, Z, δ, z, E) mit L(M) = L = L(M ) gilt nach der ( ) -Richtung im Beweis des Satzes von Myhill und Nerode: Index(R L ) Index(R M ) = Anzahl der in M von z aus erreichbaren Zustände Z. Folglich hat M höchstens so viele Zustände wie M. J. Rothe (HHU Düsseldorf) Informatik IV 8 / 7
109 Der Satz von Myhill und Nerode und Minimalautomaten Satz von Myhill und Nerode: Minimalautomaten Bemerkung: Alle DFAs, die L akzeptieren und genau Index(R L ) Zustände haben, sind bis auf Umbenennung der Zustände äquivalent, d.h., Minimalautomaten sind (bis auf Isomorphie) eindeutig bestimmt. J. Rothe (HHU Düsseldorf) Informatik IV 9 / 7
110 Der Satz von Myhill und Nerode und Minimalautomaten Algorithmus Minimalautomat Eingabe: DFA M = (Σ, Z, δ, z, F). Ausgabe: Ein zu M äquivalenter Minimalautomat. Algorithmus: Entferne alle von z nicht erreichbaren Zustände aus Z. 2 Erstelle eine Tabelle aller (ungeordneten) Zustandspaare {z, z } von M mit z z. 3 Markiere alle Paare {z, z } mit z F z F. 4 Sei {z, z } ein unmarkiertes Paar. Prüfe für jedes a Σ, ob {δ(z, a), δ(z, a)} bereits markiert ist. Ist mindestens ein Test erfolgreich, so markiere auch {z, z }. 5 Wiederhole Schritt 4, bis keine Änderung mehr eintritt. 6 Bilde maximale Mengen paarweise nicht disjunkter unmarkierter Zustandspaare und verschmelze jeweils alle Zustände einer Menge zu einem neuen Zustand. J. Rothe (HHU Düsseldorf) Informatik IV / 7
111 Der Satz von Myhill und Nerode und Minimalautomaten Algorithmus Minimalautomat: Beispiel Bemerkung: Der Algorithmus Minimalautomat kann mit einer Laufzeit von O( Z 2 ) implementiert werden. Beispiel: Minimalautomat zu gegebenem DFA. Wir wollen einen Minimalautomaten zum DFA M = (Σ, Z, δ, z, F) bestimmen, wobei Überführungsfunktion δ Σ = {, } Z = {z, z, z 2, z 3, z 4 } Σ Z z z z 2 z 3 z 4 F = {z 3, z 4 } z z 3 z 4 z 3 z 4 z 2 z 3 z 4 z 3 z 4 J. Rothe (HHU Düsseldorf) Informatik IV / 7
112 Der Satz von Myhill und Nerode und Minimalautomaten Algorithmus Minimalautomat: Beispiel (.) Es sind alle Zustände von z aus erreichbar. (2.)+(3.) Markiere alle Paare {z, z } mit z F z F: z z z 2 z 3 z 4 z 3 z 2 z J. Rothe (HHU Düsseldorf) Informatik IV 2 / 7
113 Der Satz von Myhill und Nerode und Minimalautomaten Algorithmus Minimalautomat: Beispiel (4.) Da {δ(z, ), δ(z 2, )} markiert ist, wird {z, z 2 } markiert, und da {δ(z, ), δ(z, )} markiert ist, wird {z, z } markiert: z z z 2 z 3 z 4 z 3 z 2 z J. Rothe (HHU Düsseldorf) Informatik IV 3 / 7
114 Der Satz von Myhill und Nerode und Minimalautomaten Algorithmus Minimalautomat: Beispiel (5.) Es ergeben sich nun keine weiteren Änderungen mehr. (6.) Wir können die Zustände z und z 2 bzw. z 3 und z 4 zu einem Zustand z 2 bzw. z 34 zusammenfassen. Damit erhalten wir einen zu M äquivalenten DFA M = (Σ, Z, δ, z, F ): Überführungsfunktion δ Σ = {, } Z = {z, z 2, z 34 } F = {z 34 } Z Σ z z 2 z 34 z 2 z 34 z 34 z 2 z 34 z 34 J. Rothe (HHU Düsseldorf) Informatik IV 4 / 7
115 Abschlusseigenschaften regulärer Sprachen Abschlusseigenschaften regulärer Sprachen Definition Seien Σ ein Alphabet und C P(Σ ) eine Sprachklasse über Σ. C heißt abgeschlossen unter Vereinigung, falls ( A, B Σ ) [(A C B C) A B C]; Komplement, falls ( A Σ ) [A C A C]; Schnitt, falls ( A, B Σ ) [(A C B C) A B C]; Differenz, falls ( A, B Σ ) [(A C B C) A B C]; Konkatenation, falls ( A, B Σ ) [(A C B C) AB C]; Iteration (Kleene-Hülle), falls ( A Σ ) [A C A C]; Spiegelung, falls ( A Σ ) [A C sp(a) C]. J. Rothe (HHU Düsseldorf) Informatik IV 5 / 7
116 Abschlusseigenschaften regulärer Sprachen Abschlusseigenschaften regulärer Sprachen Theorem REG ist unter allen in der obigen Definition angegebenen Operationen abgeschlossen. Behauptung: Für jedes n ist die Sprache L n regulär: L n = {x {, } der n-te Buchstabe in x ist } = {x {, } x = uv mit u {, } n und v {, } }. 2 Die folgende Sprache ist nicht regulär: {x {, } x enthält gleich viele en und en}. J. Rothe (HHU Düsseldorf) Informatik IV 6 / 7
117 Charakterisierungen regulärer Sprachen Charakterisierungen regulärer Sprachen Folgerung: Es sei L Σ eine Sprache. Dann sind die folgenden Aussagen äquivalent: Es gibt eine rechtslineare Grammatik G mit L(G) = L. (Form der Regeln: A ab oder A a.) 2 Es gibt eine linkslineare Grammatik G mit L(G) = L. (Form der Regeln: A Ba oder A a.) 3 Es gibt einen DFA M mit L(M) = L. 4 Es gibt einen NFA M mit L(M) = L. 5 Es gibt einen regulären Ausdruck α mit L(α) = L. 6 Für die Myhill-Nerode-Relation R L gilt: Index(R L ) <. J. Rothe (HHU Düsseldorf) Informatik IV 7 / 7
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,
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
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
1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,
Theorie der Informatik 8. März 25 8. Reguläre Sprachen I Theorie der Informatik 8. Reguläre Sprachen I 8. Reguläre Grammatiken Malte Helmert Gabriele Röger 8.2 DFAs Universität Basel 8. März 25 8.3 NFAs
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
Dozent: Prof. Dr. J. Rothe. Vorlesungsskript Sommersemester 2019
Informatik IV Theoretische Informatik (früher: Grundlagen der Theoretischen Informatik: Formale Sprachen und Automaten,) Berechenbarkeit und NP-Vollständigkeit) Vorlesungsskript Sommersemester 2019 Dozent:
Informatik IV. Pingo Sommersemester Dozent: Prof. Dr. J. Rothe. J. Rothe (HHU Düsseldorf) Informatik IV 1 / 13
Informatik IV Sommersemester 2019 Dozent: Prof. Dr. J. Rothe J. Rothe (HHU Düsseldorf) Informatik IV 1 / 13 Website http://pingo.upb.de/ Code: 1869 J. Rothe (HHU Düsseldorf) Informatik IV 2 / 13 Frage
Theorie der Informatik
Theorie der Informatik 8. Reguläre Sprachen II Malte Helmert Gabriele Röger Universität Basel 24. März 24 Pumping Lemma Pumping Lemma: Motivation Man kann zeigen, dass eine Sprache regulär ist, indem man
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
Theoretische Informatik für Wirtschaftsinformatik und Lehramt
Theoretische Informatik für Wirtschaftsinformatik und Lehramt Eigenschaften regulärer Sprachen Priv.-Doz. Dr. Stefan Milius [email protected] Theoretische Informatik Friedrich-Alexander Universität
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
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
Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit. Zugangsnummer: 3288
Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit Wiederholung Kapitel 2 http://pingo.upb.de Zugangsnummer: 3288 Dozent: Jun.-Prof. Dr. D. Baumeister
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 [email protected] 1 Automaten und Formale Sprachen Gesamtübersicht Organisatorisches Einführung Endliche Automaten und
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 [email protected] 21. April 2015 Der Kellerautomat - Formal Definition (Kellerautomat
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
FORMALE SYSTEME. Der Satz von Myhill und Nerode. Automaten verkleinern mit Quotientenbildung. Verschiedene Äquivalenzrelationen
Automaten verkleinern mit Quotientenbildung Wir betrachten DFAs mit totaler Übergangsfunktion. FORMALE SYSTEME 9. Vorlesung: Minimale Automaten (2) Markus Krötzsch TU Dresden, 9. November 207 C 0 A 0 [A]
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
Automaten und Formale Sprachen ε-automaten und Minimierung
Automaten und Formale Sprachen ε-automaten und Minimierung Ralf Möller Hamburg Univ. of Technology Literatur Gottfried Vossen, Kurt-Ulrich Witt: Grundkurs Theoretische Informatik, Vieweg Verlag 2 Danksagung
Satz (Abschluß unter der Stern-Operation)
Satz (Abschluß unter der Stern-Operation) Wenn L eine reguläre Sprache ist, dann ist auch L regulär. Beweis: Es gibt einen NFA M = (Z, Σ, S, δ, S, E) mit L(M) = L. Wir bauen aus diesem NFA nun wie folgt
FORMALE SYSTEME. 10. Vorlesung: Grenzen regulärer Sprachen / Probleme für Automaten. TU Dresden, 14. November 2016.
FORMALE SYSTEME 10. Vorlesung: Grenzen regulärer Sprachen / Probleme für Automaten Markus Krötzsch TU Dresden, 14. November 2016 Rückblick Markus Krötzsch, 14. November 2016 Formale Systeme Folie 2 von
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
Automaten und Formale Sprachen SoSe 2013 in Trier
Automaten und Formale Sprachen SoSe 2013 in Trier Henning Fernau Universität Trier [email protected] 2. Juni 2013 1 Automaten und Formale Sprachen Gesamtübersicht Organisatorisches Einführung Endliche
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
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
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
... = 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
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, λ}?
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
Grundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (III) 17.06.2015 Viorica Sofronie-Stokkermans e-mail: [email protected] 1 Übersicht 1. Motivation 2. Terminologie
Einführung in die Theoretische Informatik
Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Sascha Böhme, Lars Noschinski Sommersemester 2 Lösungsblatt 2 3. Mai 2 Einführung in die Theoretische Informatik Hinweis:
Vorlesung im Sommersemester Informatik IV. Probeklausurtermin: 21. Juni 2016
Heinrich-Heine-Universität Düsseldorf Institut für Informatik Prof. Dr. J. Rothe Universitätsstr. 1, D-40225 Düsseldorf Gebäude: 25.12, Ebene: O2, Raum: 26 Tel.: +49 211 8112188, Fax: +49 211 8111667 E-Mail:
Kurz-Skript zur Theoretischen Informatik I
Kurz-Skript zur Theoretischen Informatik I Inhaltsverzeichnis 1 Grundlagen 2 2 Reguläre Ausdrücke 4 3 Endliche Automaten 5 3.1 Vollständige endliche Automaten................................... 6 3.2 ε
q 0 q gdw. nicht (q A) (q A) q i+1 q gdw. q i q oder ( a Σ) δ(q, a) i δ(q, a) L = {a n b n : n N} für a, b Σ, a b
Kap. 2: Endliche Automaten Myhill Nerode 2.4 Minimalautomat für reguläre Sprache Abschnitt 2.4.3 L Σ regulär der Äuivalenzklassen-Automat zu L ist ein DFA mit minimaler Zustandszahl (= index( L )) unter
Typ-3-Sprachen. Das Pumping-Lemma
Das Pumping-Lemma Typ-3-Sprachen Um zu zeigen, daß eine Sprache L regulär ist, kannman einen NFA M angeben mit L(M) = L, oder eine rechtslineare Grammatik G angeben mit L(G) =L, oder einen regulären Ausdruck
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,
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
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
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 [email protected] Wir haben mittlerweile einiges kennengelernt,
Theoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 17. Januar 2012 INSTITUT FÜR THEORETISCHE 0 KIT 18.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der
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
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?
Formale Methoden 1. Gerhard Jäger 9. Januar Uni Bielefeld, WS 2007/2008 1/23
1/23 Formale Methoden 1 Gerhard Jäger [email protected] Uni Bielefeld, WS 2007/2008 9. Januar 2008 2/23 Automaten (informell) gedachte Maschine/abstraktes Modell einer Maschine verhält sich
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
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
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 [email protected] 1 Automaten und Formale Sprachen Gesamtübersicht Organisatorisches Einführung Endliche Automaten und
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
Theoretische Informatik I
(702765) Skript zur Vorlesung am 30.6.2000 Aus der vorherigen Vorlesung: Theoretische Informatik I Satz W: Sei X ein Alphabet. Zu jeder regulären Sprache R X * gibt es ein n N, so daß für alle Wörter z
Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny
Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 1. Automaten und Sprachen 1.1 Endlicher Automat Einen endlichen Automaten stellen wir uns als Black Box vor, die sich aufgrund einer Folge von
Theoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Übung am 4.2.2011 INSTITUT FÜR THEORETISCHE INFORMATIK 0 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
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
1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung!
Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 23/4 ILKD Prof. Dr. D. Wagner 2. Februar 24. Klausur zur Vorlesung Informatik III Wintersemester 23/24 Mit Lösung! Beachten Sie:
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
äußere Klammern können entfallen, ebenso solche, die wegen Assoziativität von + und Konkatenation nicht notwendig sind:
3. Reguläre Sprachen Bisher wurden Automaten behandelt und Äquivalenzen zwischen den verschiedenen Automaten gezeigt. DEAs erkennen formale Sprachen. Gibt es formale Sprachen, die nicht erkannt werden?
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 [email protected] Wir haben mittlerweile einiges
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
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} Σ,
Reguläre Sprachen Slide 1. Reguläre Sprachen. Hans U. Simon (RUB) Homepage:
Reguläre Sprachen Slide 1 Reguläre Sprachen Hans U. Simon (RUB) Email: [email protected] Homepage: http://www.ruhr-uni-bochum.de/lmi Reguläre Sprachen Slide 2 Merkmale endlicher Automaten: Endliche Automaten
Deterministischer Kellerautomat (DPDA)
Deterministische Kellerautomaten Deterministischer Kellerautomat (DPDA) Definition Ein Septupel M = (Σ,Γ, Z,δ, z 0,#, F) heißt deterministischer Kellerautomat (kurz DPDA), falls gilt: 1 M = (Σ,Γ, Z,δ,
Äquivalenzrelation R A zu DFA A. Rechtsinvarianz. Relation R L zur Sprache L
Rechtsinvarianz Definition T4.2.8: Eine Äquivalenzrelation R auf Σ* heißt rechtsinvariant, wenn x R y z Σ*: xz R yz. Index von R: Anzahl der Äquivalenzklassen von R. Notation: ind(r) Im Folgenden: 2 rechtsinvariante
Formalismen für REG. Formale Grundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen. Das Pumping Lemma. Abschlusseigenschaften
Formalismen für RE Formale rundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen Frank Heitmann [email protected] Satz Zu jeder regulären Sprache L gibt es einen DFA A mit L(A) =
Übung Theoretische Grundlagen
Übung Theoretische Grundlagen Nico Döttling October 25, 22 Automatenminimierung Konstruktion des Äquivalenzklassenautomaten Aus der Vorlesung bekannt Überflüssige Zustände lassen sich effizient erkennen
A : z z A : z z : ( z, x, z ) δ
Informatik IV, SoS2003 1 Definition 1.1 Ein Quintupel A =(X,Z,z 0,δ,Z f )heißt nichtdeterministischer endlicher Automat (NEA): 1. X, Z sind endliche nichtleere Mengen. 2. z 0 Z 4. δ Z X Z Informatik IV,
Technische Universität München Sommer 2016 Prof. J. Esparza / Dr. M. Luttenberger, S. Sickert 11. Juli HA-Lösung. TA-Lösung
Technische Universität München Sommer 26 Prof. J. Esparza / Dr. M. Luttenberger, S. Sickert. Juli 26 HA-Lösung TA-Lösung Einführung in die theoretische Informatik Aufgabenblatt 3 Beachten Sie: Soweit nicht
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
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?
4. Übung zur Vorlesung Informatik III am
1 4. Übung zur Vorlesung Informatik III am 16.11.2007 Wiederholung Konkatenation 2 Definition Konkatenation Eine endliche Folge w von Symbolen aus Σ heißt Wort. Die Menge aller Wörter über Σ heißt Σ. Sei
Kapitel 2: Formale Sprachen Gliederung
Gliederung. Einleitung und Grundbegriffe. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.. Chomsky-Grammatiken 2.2. Reguläre Sprachen Reguläre Grammatiken, ND-Automaten
Minimalautomaten. Minimalautomaten. Frage: Ist der Äquivalenzautomat A der kleinste Automat ( Minimalautomat ) der die Sprache L(A) erkennt?
Minimalautomaten Frage: Ist der Äquivalenzautomat A der kleinste Automat ( Minimalautomat ) der die Sprache L(A) erkennt? 1 Minimalautomaten Satz: Falls A keine unerreichbaren Zustände hat, ist A der kleinste
Automaten und Formale Sprachen SoSe 2013 in Trier
Automaten und Formale Sprachen SoSe 2013 in Trier Henning Fernau Universität Trier [email protected] 2. Juni 2013 1 Automaten und Formale Sprachen Gesamtübersicht Organisatorisches Einführung Endliche
Theoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik 0 KIT 10.11.2011 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik nationales Forschungszentrum Vorlesung in am
Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit. Zugangsnummer: 9201
Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit Wiederholung Kapitel 3 und 4 http://pingo.upb.de Zugangsnummer: 9201 Dozent: Jun.-Prof. Dr.
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
Das Halteproblem für Turingmaschinen
Das Halteproblem für Turingmaschinen Das Halteproblem für Turingmaschinen ist definiert als die Sprache H := { T w : T ist eine TM, die bei Eingabe w {0, 1} hält }. Behauptung: H {0, 1} ist nicht entscheidbar.
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
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
Musterlösung Informatik-III-Nachklausur
Musterlösung Informatik-III-Nachklausur Aufgabe 1 (2+2+4+4 Punkte) (a) L = (0 1) 0(0 1) 11(0 1) 0(0 1) (b) Der Automat ist durch folgendes Übergangsdiagramm gegeben: 0, 1 0, 1 0, 1 0, 1 0 s q 1 1 0 0 q
Grundlagen der Theoretischen Informatik, SoSe 2008
2. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 1 Einelementiges Alphabet (4 Punkte) (a) Geben
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
Beweis: Nach dem Pumping-Lemma für kontextfreie Sprachen ist
CF versus CS Theorem CF ist echt in CS enthalten. Beweis: Nach dem Pumping-Lemma für kontextfreie Sprachen ist L = {a m b m c m m 1} nicht kontextfrei. Andererseits ist L kontextsensitiv, wie die Grammatik
Die Myhill-Nerode Äquivalenz
Die Myhill-Nerode Äquivalenz Wir betrachten die folgende Äquivalenzrelation R L : xr L y () [ 8w 2 : xw 2 L, yw 2 L ] Die notwendigen Bedingungen für eine Äquivalenzrelation (Reflexivität, Symmetrie und
Theoretische Informatik
Theoretische Informatik Prof. Meer, Dr. Gengler Aufgabenblatt 7 Besprechung in KW 48 / Abgabe in KW 49 Heften Sie unbedingt alle Blätter Ihrer Lösung zusammen und geben Sie oben auf dem ersten Blatt Ihren
Formale Methoden 1. Gerhard Jäger 23. Januar Uni Bielefeld, WS 2007/2008 1/18
1/18 Formale Methoden 1 Gerhard Jäger [email protected] Uni Bielefeld, WS 2007/2008 23. Januar 2008 2/18 Das Pumping-Lemma Sein L eine unendliche reguläre Sprache über ein endliches Alphabet
Theoretische Informatik. Grammatiken. Grammatiken. Grammatiken. Rainer Schrader. 9. Juli 2009
Theoretische Informatik Rainer Schrader Institut für Informatik 9. Juli 2009 1 / 41 2 / 41 Gliederung die Chomsky-Hierarchie Typ 0- Typ 3- Typ 1- Die Programmierung eines Rechners in einer höheren Programmiersprache
