Automaten und Coinduktion

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Automaten und Coinduktion"

Transkript

1 Philipps-Univestität Marburg Fachbereich Mathematik und Informatik Seminar: Konzepte von Programmiersprachen Abgabedatum Betreuer: Prof. Dr. H. P. Gumm Referentin: Olga Andriyenko Automaten und Coinduktion Basierend auf Automata and Coinduction von J.J.M.M. Rutten 1

2 Inhaltsverzeichnis: 1. Einführung 3 2. Deterministische Automaten 3 3. Sprachen 5 4. Reguläre Ausdrücke 5 5. Coinduktionsbeweisprinzip 6 6. Finalität und Minimalisierung 7 7. Kleen s Theorem 8 8. Nichtreguläre Sprachen 9 9. Coinduktives Definitionsprinzip Schlussbemerkung 11 2

3 1 Einführung Die Kapitel 1 bis 4 beschäftigen sich mit deterministischen Automaten, regulären Sprachen und Ausdrücken. Es werden Begriffe aus der klassischen Theorie deterministischer Automaten, wie Homomorphismus und Bisimulation, erklärt. Es wird gezeigt, dass die Menge aller Sprachen über einen Alphabet Σ zu einem deterministischen Automaten konvertiert werden kann. Die Zustände dieses Automaten sind dann genau die Sprachen aus. Bei der Konstruktion des Sprachenautomaten spielt der Begriff der a-ableitung eine grundlegende Rolle. Der Sprachenautomat hat zwei wichtige Eigenschaften, nämlich 1) der Sprachenautomat ist ein finaler Automat; 2) zwei Zustände des Automaten sind genau dann gleich, wenn sie bisimilar zu einander sind. Die erste Eigenschaft spielt eine entscheidende Rolle bei der Formulierung und Verwendung von Kleene s Theorem in Kapitel 7 und des coinduktiven Definitionsprinzips in Kapitel 9. Auf der zweiten Eigenschaft basiert das in Kapitel 5 beschriebene Coinduktionsprinzip, mit dessen Hilfe zwei Sprachen auf Gleichheit geprüft werden können. 2 Deterministische Automaten Definition Sei Σ die Menge von Eingabesymbolen. Ein deterministischer Automat S über Σ wird durch ein 3-Tupel S = S, o, t spezifiziert. Hierbei sind: - S eine Menge von Zustände - o : S 2 = {0, 1} die Ausgabefunktion - δ : S x Σ S die Überführungsfunktion. Die Ausgabefunktion o gibt an, ob ein Zustand s S ein Endzustand ist (o(s) = 1, falls ja, o(s) = 0 sonst). Schreibweise: s falls o(s) = 1, s falls o(s) = 0, und s a s falls δ (s, a) = s. Im Gegensatz zu der Standarddefinition von deterministischen Automaten können bei obiger Definition die Mengen Σ und S unendlich groß sein. Ein weiterer Unterschied besteht darin, dass die oben definierten Automaten keinen Startzustand haben Definition: Seien S = S, o, δ und S = S, o, δ deterministische Automaten. Eine Relation R S S heißt Bisimulation, falls für alle a Σ, (s, s ) R gilt: i) o (s) = o' (s') ii) δ (s, ) R δ (s, ) für alle s S und Σ. Eine Bisimulation zwischen S und S heißt Bisimulation auf S. Schreibweise: s s, falls es eine Bisimulation R existiert, so dass s R s gilt. Die Bisimulationen sind unter Vereinigung und Komposition abgeschlossen. Die Relation ist die Vereinigung von allen Bisimulationen, und gleichzeitig die größte Bisimulation. Die größte Bisimulation auf einem und dem selben Automaten, wieder bezeichnet mit, heißt Bisimilarität. Diese ist eine Äquivalenzrelation. Definition: Seien S = S, o, δ und S = S, o, δ deterministische Automaten. Eine Funktion f : S S heißt Homomorphismus, falls gilt: s S : o (s) = o (f (s)) und a Σ : f (δ (s, a)) = δ (f (s), a). 3

4 Definition: Ein Automat S = S, o, δ heißt ein Subautomat von S = S, o, δ, falls gilt: - S S und - die Inklusionsfunktion i : S S ist ein Homomorphismus. Für einen Zustand s S bezeichnet s den durch s erzeugten Subautomaten von S. Es gilt: <s> = {s S =w Σ* : s a1 s 1 a2... an s } und <s> ist der kleinste Subautomat von S, der s enthält. Sei f : S T Homomorphismus und S S ein Subautomat von S, dann ist f(s ) ein Subautomat von T. Für jedes s S gilt: f (s) = f (s). Die Begriffe Automat, Homomorphismus und Bisimulation sind eng verbunden. Jede Bisimulation ist selber ein Automat: sei R S S eine Bisimulation, dann ist R, o R, δ R mit: - o R ((s, s )) = o (s) = o (s ) und - δ R ((s, s ), a) = (δ (s, a), δ (s, a)) ein deterministischer Automat. Satz 1: Eine Funktion f : S S ist genau dann ein Homomorphismus, wenn ihre Graph- Relation { (s, f (s)) s S} eine Bisimulation ist. Beweis: : f Homomorphismus, dann für alle a Σ, s S gilt: ( o (s) = o (f (s)) und f (δ (s, a)) = δ (f (s), a) ) Also für alle a Σ, (s, f (s)) R gilt: ( o (s) = o (f (s)) und o (δ (s, a)) = o (f (δ (s, a)) = o (δ (f (s), a)) ) ( o (s) = o (f (s)) und o (δ (s, a)) = o (δ (f (s), a)) ) ( o (s) = o (f (s)) und δ (s, a) R δ (f (s), a) ) R Bisimulation : Sei R = { (s, f (s)) s S} eine Bisimulation, definieren wir noch zwei Abbildungen: π 1 : R S mit π 1 ( (s, f (s)) ) = s (s, f (s) ) R und π 2 : R S mit π 2 ( (s, f (s)) ) = f(s) (s, f (s) ) R. Die Abbildung π 1 ist bijektiv, folglich existiert eine inverse Abbildung π -1 1 : S R, die auch bijektiv ist. Weiter zeigen wir, dass π -1 1 ein Homomorphismus ist: s S : o R ((s, f(s))) = o (s) = o (f (s)) und -1-1 a Σ : π 1 (δ (s, a)) = ( δ (s, a), f (δ (s, a)) ) = δ R ((s, f (s)), a) = δ R (π 1 (s), a). Ähnlich kann gezeigt werden, dass π 2 auch ein Homomorphismus ist: (s, f (s)) R : o R ((s, f(s))) = o (s) = o (f (s)) und a Σ : π 2 (δ R ((s, f (s)), a) = π 2 (δ (s, a), δ (f (s), a)) = δ (f (s), a) = δ (π 2 (s, f (s)), a). Es gilt : f = π 2 π -1 1, also ist f ein Homomorphismus Beispiel: Sei Σ = {a, b} der Eingabealphabet, S = {s 1, s 2, s 3 } und T = {t 1, t 2 } die Automaten mit: b s 1 s 2 s 3 s 2 s 2 s 3 s 3 s 2 s 3 b t 1 t 2 t 2 t 2 t 2 t 2 Dann gilt: {s 1, s 1, s 2, s 2, s 3, s 3} und {s 2, s 3, s 2, s 2, s 3, s 3} sind Bisimulationen auf S; {s 2, s 3 } = s 2 = s 3 ist ein Subautomat von S; und f : S 9 T mit f (s 1 ) = t 1 und f (s 2 ) = f (s 3 ) = t 2 ist ein Homomorphismus. 4

5 3 Sprachen Definition: Sei Σ* die Menge aller endlichen Wörter über Σ. Eine Sprache ist jede Teilmenge von Σ*. Seien K, L Sprachen, dann gelten folgende regulären Operatoren: K + L = K L KL = {vw v K, und w L} K* = K n, mit K 0 = {} und K n+1 = KK n. n 1 Definition: Sei Σ* die Menge aller endlichen Wörter über Σ, sei S = S, o, δ ein Automat und s ein beliebiger Zustand aus S. Dann heißt l S (s) = { s a1 s 1 a2... an sn } Σ* die durch s akzeptierte Sprache. Definition: Seien = { L L Σ*} die Menge aller Sprachen über Σ* und w Σ*. Dann heißt L w = { v Σ* wv L} die w-ableitung von L. Ein Spezialfall davon ist die a-ableitung von L: für ein Σ ist L a = {v Σ* v L}. Die a-ableitung wird bei der Konstruktion von Sprachenautomaten o, δ benutzt, wobei die Menge aller Sprachen über Σ* ist. Der Automat wird folgendermaßen definiert: - o (L 1, 8 L = 0, sonst - δ (L, a) = L a, für L a Σ. Es gilt: L L, und L a L L = L a. Dieser Automat hat folgende Eigenschaft: die durch ein Zustand L akzeptierte Sprache, ist genau die Sprache L selbst. Diese Aussage wird erst im Kapitel 6 bewiesen, kann aber jetzt durch folgenden Beispiel verdeutlicht werden. Beispiel: Sei L = {a, ab, ac} eine Sprache aus, dann ist <L> = { {a, b, ac}, { c}, {<}mit folgenden Transitionen: - {a, b, ac} a { c} c {<, - {a, b, ac} b {< ein Subautomat von. Nach Definition enthält die Sprache l nur die Wörter a, b und ac. Also giltt: l (L) = L. 4 Reguläre Ausdrücke Definition: Sei die Menge der regulären Ausdrücken, gegeben durch folgende Regel: E::= 0 1 Σ E + F EF E* Sei : die Funktion, die einen Ausdruck E auf die Sprache (E), die er beschreibt, abbildet. Die Funktion wird induktiv über die Aufbau von E definiert: ( 0 ) = 1 ) =! " # ( $ ) = { $ } # ( E + F ) = # ( E ) + # ( F ) 5

6 ( EF ) = ( E ) ( F ) E* ) = ( ( E ))*. Dann heißen die Sprachen L = (E) reguläre Sprachen. Schreibweise: E statt (E), folglich 0, 1 und statt, und {, }. Folgenden Regeln gelten für die a-ableitung L von einer Sprache L: 0 = 0 1 = 0 1, falls b = a b = 0, sonst (K + L) = K + L (KL) = K L falls K K L + L falls K (K*) = K K* Es gelten auch folgende Terminierungsregeln: 0, 1,, (K + L) (K oder L ), KL (K und L ), K*. 5 Coinduktionsbeweisprinzip Satz 2: Für alle Sprachen K, L, die durch den Automaten = o, δ akzeptiert werden, gilt: K L K = L. Beweis: : Man zeigt mit der Induktion über die Länge n eines Wortes w aus K: K ~ L K L. n = 0: ε K K L ε L. n n+1: w = aw, w = n+1, w = n ( K ~ L K a ~ L a ) ( w K a w L a ) [nach I.V.] ( w K w L ) Es gilt also: K ~ L K L und da die Bisimulation ~ eine Äquivalenzrelation ist, gilt auch K L L K L K, also folgt K ~ L K = L. : gilt trivial. Auf der obigen Eigenschaft basiert folgendes Coinduktionsbeweisprinzip: um zwei Sprachen K, L auf Gleichheit zu prüfen, reicht es zu zeigen, dass eine Bisimulationsrelation auf existiert, die das Tupel (K, L) enthält. Das Coinduktionsbeweisprinzip hat immer die gleiche Vorgehenswiese: es wird eine Relation definiert, die zuerst nur die Tupeln von Sprachen enthält, die man auf Gleichheit prüfen möchte; dann geht man alle möglichen Transitionen durch und führt die resultierenden Tupeln von Sprachen hinzu, falls diese nicht bereits vorhanden sind. Die Gleichheit gilt genau dann, wenn die auf diese Weise konstruierte Relation eine Bisimulation ist. Für die regulären Sprachen ist der Beweis durch Coinduktion besonders effektiv. Falls die Eingabesprachen regulär sind, wird die Konstruktion von Bisimulationrelation nach endlich vielen Schritten terminieren. Der Beweis folgt später. Beispiele: 1) Zu zeigen: K + L = L + K 6

7 Sei R = { ( K + L, L + K ) K, L } eine Relation. Es gilt: - (K + L ) (L + K ) - a Σ: ( K + L) a = ( K a + L a ) R ( L a + K a ) = (L + K) a. R ist eine Bisimulation. Es folgt mit Coinduktion, dass die Gleichheit gilt. 2) Zu zeigen: K (L + M) = KL + KM Voraussetzung: Assoziativität und Kommutativität gelten. Betrachte die Relation { ( K (L + M ), K L + K M ) K, L, M }. Da die für die a-ableitungen von den obigen Sprachen im Falle K gilt: (K (L + M ) ) a = K a (L + M ) + (L + M ) a = K a (L + M ) + L a + M a und (K L + K M ) a = (K L ) a + (K M ) a = K a L + L a + K a M + M a, ist es sinnvoll eine größere Relation R = { ( (K + M ) + N, K L + K M +N ) K, L, M, N } zu wählen. Wir zeigen, dass R eine Bisimulation ist: - (K (L + M ) + N) (K L + K M +N) - 1. Fall: K (K (L + M ) + N) = (K (L + M )) a + N = K a (L + M ) + L a + M a + N R K L + K M + L + M + N = K L + L + K M + M + N = (K L ) + (K M ) + N = (K L + K M +N) - 2. Fall: K (K (L + M ) + N) = (K (L + M )) a + N = K a (L + M ) + N R K L + K M + N = (K L ) + (K M ) + N = (K L + K M +N) R ist eine Bisimulation. Und es folgt mit Coinduktion, dass die Gleichheit K (L + M) + N = KL + KM +N für beliebige Sprachen K, L, M, N aus gilt. Wir setzen nun N = und erhalten das gewünschte Ergebnis. 6 Finalität und Minimalisierung Mittels Coinduktion kann gezeigt werden, dass der Automat ein finaler Automat ist. Satz 3: Für jeden Automat S = S, o, δ existiert genau ein Homomorphismus S. Beweis: - Existenz: Die Funktion l S : S, die einen Zustand auf die Sprache, die er akzeptiert abbildet, ist ein Homomorphismus, da gilt: i) s ε l S (s) l S (s) ii) δ (l S (s), a) = ( l S (s) ) a = l S (δ S (s, a)), (gilt da S ein deterministischer Automat ist) - Eindeutigkeit: Seien f, g : S Homomorphismen. Sei R = { ( f (s), g (s) ), s S} eine Relation. Da f und g Homomorhismen, gilt: i) s S : ( o S (s) = o (f (s)) o S (s) = o (g (s) ) 7

8 ii) a Σ : ( f (δ S (s, a)) = δ (f (s), a) g (δ S (s, a)) = δ (g (s), a) ). Also gilt: i) s S : ( o (f (s)) = o (g (s) ) ii) a Σ : ( δ (f (s), a) = f (δ S (s, a)) R g (δ S (s, a)) = δ (g (s), a) ). Damit ist R eine Bisimulation und es folgt mit Coinduktion: f = g. Mittels eindeutigen Homomorphismus l S : S kann man Paare von bisimilaren Zuständen aus S feststellen. Satz: Sei S = S, o, δ ein Automat und l S : S der eindeutige Homomorphismus, dann gilt: s, s S : s ~ s l S (s) = l S (s ). Beweis: : R = { ( l S (s), l S (s ) ) s ~ s, s, s S } ist eine Relation auf. Wir zeigen, dass R eine Bisimulation ist. Es gilt: - s ~ s (s s ) ( ε l S (s) ε l S (s ) ) ( l S (s) l S (s ) ); - δ (l S (s), a) = l S (δ S (s, a)) R l S (δ S (s, a)) = δ (l S (s ), a). Also ist R eine Bisimulation und mit Coinduktion folgt: l S (s) = l S (s ). : Sei R = {( s, s ) l S (s) = l S (s ) } eine Relation auf S, dann gilt: - ( l S (s) = l S (s ) ) ( ε l S (s) ε l S (s ) ) (s s ); - ( l S (s) = l S (s ) ) ( l S (δ S (s, a)) = l S (δ S (s, a)) ) (δ S (s, a) R δ S (s, a) ). Also ist R eine Bisimulation auf S. Aus der Finalität von folgt, dass die Identitätsfunktion l : der einzige Homomorphismus auf ist. Dann ist nach dem Satz1 die Graph-Relation von l eine Bisimulation. Mit Coinduktion bekommen wir l (L) = L für alle L. Also ist die Sprache, die durch ein Zustand L aus akzeptiert wird, L selber. Der Subautomat <L> = {L w w Σ*} ist außerdem ein minimaler Automat für L im folgenden Sinn. Sei S = S, o, δ ein Automat und s S ein Zustand, für den gilt: l S (s) = L. Da l S ein Homomorphismus ist, gilt: l S (<s>) = < l S (s)> = <L>. Dann enthält <L> höchstens so viele Elemente, wie die Zustandsmenge S. Da S und s beliebig waren, ist <L> minimal. Es folgt, dass für jeden Automat S und jeden Zustand s S, der Automat < l S (s) > die Minimalisierung von dem Automaten <s> ist. Außerdem gilt: L wird durch endlichen Automaten akzeptiert <L> ist endlicher Subautomat von. Begründung: Ist <L> ein unendlicher Subautomat von, dann folgt aus der Minimalität von <L>, dass der Automat, der die Sprache L erkennt auch nicht endlich ist. Und umgekehrt, wird die Sprache L durch einen nicht endlichen Automaten <s> akzeptiert, so ist <L>=<l S (s)> = l S (<s>) ein nicht endlicher Subautomat von. Das ist äquivalent zum folgenden klassischen Myhill/Nerode Theorem: L wird durch endlichen Automaten akzeptiert Index R L endlich. Wobei R L eine Äquivalenzrelation auf Σ*, die wie folgt definiert ist: v, w Σ* : v R L w ( u Σ*, vu L wu L), und Index von R L wird definiert als die Anzahl von Äquivalenzklassen von R L. Die Äquivalenz von den obigen Aussagen folgt aus der Bijektivität von der Abbildung ϕ : Äquivalenzklassen von R L Elemente von L 8

9 [w]rl L w, für w aus Σ*. Da für v und w Σ*, gilt: [v] RL = [w] RL v R L w ( u Σ*, vu L wu L ) ( u Σ*, u L v u L w ) L v = L w. 7 Kleene s Theorem Laut Kleene s Theorem ist eine Sprache dann und nur dann regulär, wenn sie durch einen endlichen Automaten erkannt werden kann. Also kann man jetzt das Kleene s Theorem wie folgt umformulieren. Kleene s Theorem: Sei Σ endlich. Für jede Sprache L Σ* gilt: (19) L regulär < L > endlicher Subautomat von. Als Korollar zur Kleene s Theorem wird unten gezeigt, dass Coinduktionsbeweisprinzip effektiv auf reguläre Sprachen anwendbar ist. Beweis: Nach Definition von regulären Sprachen gilt: L regulär E : (E) = L. : (Induktion über die Struktur von E) I.A.: E = 0 ( E ) = #< > = 1 < E = 1 ( E ) = {ε} #<{ε}> = 1 < E = a Σ ( E ) = {a} #<{a}> = 2 < I.V.: Für die Ausdrücke E mit # ( E ) = m 1 gilt: ( E ) regulär < ( E ) > endlicher Subautomat von. I.S.: # ( E ) = m Fall: E = S + T (S + T) = ( S ) + ( T ). Im allgemeinen Fall ist aus dem Zustand (S + T) nur ein Zustand der Form (S) w + (T) w für jedes w Σ* erreichbar. Daraus folgt: < (S + T) > {K + M K < (S)>, M < (T)>} =: F. Nach I.V. sind < ( S ) > und < ( T ) > endliche Subautomaten, also ist F eine endliche Menge, dann ist < ( S + T ) > ein endlicher Subautomat. von. 2. Fall: E = ST (ST) = ( S ) ( T ). Sei w = a 1... a n ein beliebiges Wort aus Σ*. Im allgemeinen Fall ist aus dem Zustand (ST) nur ein Zustand der Form (S) w (T) n erreichbar, wobei i =, falls (S)a 1 a i = (T)a i a n, sonst, für alle i [1, n]. Daraus folgt: 9

10 < (ST) > { K M 1 + M M k K < (S)>, M 1, M 2,..., M k < (T)>, k = #< (T)> } =: F. Nach I.V. sind < ( S ) > und < ( T ) > endliche Subautomaten, also ist F eine endliche Menge, dann ist < (ST)> ein endlicher Subautomat von. 3. Fall: E = S* (S*) = (S)*.... Sei w = a 1 a n ein beliebiges Wort aus Σ*. Im allgemeinen Fall ist aus dem Zustand (S*) nur ein Zustand der Form (S) w (T) n-1 erreichbar, wobei i =, falls (S)a 1 a i (S)a 2 a i... (S)a i = (S)a i a n (S*), sonst, für alle i [1, n-1]. Daraus folgt: < (S*) > { K 1 (S*) + K 2 (S*) K k (S*) K 1, K 2,..., K k < (S)>, k = #< (S)> } =: F. Nach I.V. ist < ( S ) > endlicher Subautomat, also ist F eine endliche Menge, dann ist < (S*) > ein endlicher Subautomat von. : bekannt aus der Vorlesung zur Theoretischen Informatik. Korollar: der Beweis durch Coinduktion ist für reguläre Sprachen effektiv. Begründung: Seien (E) und (F) reguläre Sprachen. Da < (E) > und < (F) > endliche Subautomaten von sind, gilt: nach endlich vielen Schritten wird entweder eine Bisimulation R mit < (E), (F)> konstruiert (also ( E ) = ( F)), oder steht fest, dass keine solche Bisimulation existiert (also ( E ) ( F )). 8 Nichtreguläre Sprachen Das im Kapitel 7 formulierte Kleene s Theorem kann benutzt werden, um zu beweisen, dass eine Sprache L nichtregulär ist. Dafür reicht es zu zeigen, dass <L> nicht endlich ist. Diese Methode ist äquivalent zu dem traditionellem Beweis, bei dem geprüft wird, ob der Index R L endlich ist. Weiter wird die neue Methode an zwei klassischen Beispiele angewandt. Es wird dabei folgende Abkürzung benutzt: für eine Sprache K und k 0 bezeichnet K k : = K a k die Sprache bzw. den Zustand der nach k-vielen a-transitionen erreicht wurde, Beispiel 1: Sei L = {a n b n n 0 }. Dann ist L k = {a n-k b n n k} und es gilt: L k L m, falls k m. Daraus folgt, dass <L> nicht endlich ist, also L nichtregulär. Beispiel 2: Sei M = {w Σ* # a (w) = # b (w)}. Alle Sprachen M k sind verschieden, weil für alle n und k gilt: b n M k k = n. Also <M> nicht endlich ist, also M nichtregulär. Beispiel 3: Sei N = {a n 2 n 0 }. Es gilt: für alle n ist die Länge von kleinstem Wort aus N n ( n a + 1) - n - 1 = a 2n = 2n. Also N n 2 und N m 2 sind verschieden, fall n m gilt. Folgt N ist nicht endlich, also N nichtregulär. 10

11 9 Coinduktives Definitionsprinzip Ausgehend aus der Finalität von kann man die Sprachen aus coinduktiv definieren. Coinduktives Definitionsprinzip: Sei S eine Menge. Um eine Funktion S zu definieren, wird die Menge S, durch die Angabe einer Ausgabefunktion o und einer Transitionsfunktion δ, zu einem Automaten S = S, o, δ konvertiert. Dann ist die gesuchte Funktion, die Funktion l S : S, die gleichzeitig ein eindeutiger Homomorphismus zwischen S und ist. Der Vorteil von coinduktiver Definition gegenüber der induktiver Definition wird an folgendem Beispiel verdeutlicht. Beispiel: Mischung von zwei Sprachen. Induktiv wird die Mischung zweier Sprachen wie folgt definiert: seien K, L, dann gilt: K L = v w, mit : - v w = v w w v - ε v = { v } - ( av ) w = a ( v w ) Um K L coinduktiv definieren zu können, betrachten wir die Menge von Ausdrücken E, die durch folgende Regeln gegeben sind: E ::= L (L ) E + F E F. Man kann die Menge zu einem Automaten <, o, δ > konvertieren, dessen Ausgabeund Überführungsfunktion wie folgt gegeben sind: L ε L, (E + F) (E oder F ), (E F) (E und F ) L La,, Nach dem coinduktiven Definitionsprinzip existiert ein eindeutiger Homomorphismus l:, der jeden Ausdruck E auf die Sprache, die er beschreibt, abbildet. Die Mischung zweier Sprachen K, L kann jetzt coinduktiv definiert werden: K L = l (K L). Die a-ableitung von der Sprache K L kann jetzt wie folgt berechnet werden: (K L) a = (l (K L)) a = δ (l (K L), a) = l (δ (K L, a)) [da l Homomorphismus] = l (Ka L + K La) [nach Definition von δ] = Ka L + K La [da final] = l (Ka L) + l (K La) = K a L + K L a Jetzt kann man leicht mit Coinduktion nachweisen, dass die Mischung zweier Sprachen beispielsweise assoziativ ist, also dass K (L M) = (K L) M gilt. Ausgehend aus induktiver Definition wäre der Beweis von Assoziativität dagegen sehr aufwendig. 11

12 10 Schlussbemerkung Die meist verbreitete Methode um zwei Ausdrücke auf Gleichheit zu prüfen beinhaltet folgende Schritte. Erstens wird zu jedem Ausdruck ein Automat konstruiert, der genau die Sprache akzeptiert, die durch den Ausdruck beschrieben wird. Danach werden die beiden Automaten minimiert. Die Gleichheit von den Ausdrücken gilt genau dann, wenn die resultierenden Automaten isomorph zu einander sind. In dem Kapitel 5 wurde gezeigt, wie man die Gleichheit von zwei Ausdrücken bzw. Sprachen mit Coinduktion beweisen kann. Dieses Prinzip hat den Vorteil, dass man nur mit einem Automaten für beide Ausdrücke auskommt. Außerdem braucht der Automat nicht minimiert zu werden. Eine wichtige Rolle spielt auch das coinduktive Definitionsprinzip, da die auf diese Weise definierten Sprachen besonders effektiv mit Coinduktion auf Gleichheit geprüft werden können, wie man das an dem Beispiel im Kapitel 9 sehen konnte. Das im Kapitel 7 formulierte Kleene s Theorem bietet eine alternative zum Nachweis durch das Pumping Lemma Methode an, mit der gezeigt werden kann, dass gewisse Sprachen nicht regulär sind. 12

Theoretische Grundlagen der Informatik

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

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

Theoretische Informatik Mitschrift

Theoretische Informatik Mitschrift 5 Eigenschaften regulärer Sprachen 51: Die Nerode-Relation Theoretische Informatik Mitschrift Definition 51: Sei L * L * * mit L :={u, v * * w *:uw L v w L }heißt Nerode-Relation von L Sei ={0,1}, L= *{00}

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

Automaten und Formale Sprachen ε-automaten und Minimierung

Automaten und Formale Sprachen ε-automaten und Minimierung Automaten und Formale Sprachen ε-automaten und Minimierung Ralf Möller Hamburg Univ. of Technology Literatur Gottfried Vossen, Kurt-Ulrich Witt: Grundkurs Theoretische Informatik, Vieweg Verlag 2 Danksagung

Mehr

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

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

Skript und Übungen Teil II

Skript und Übungen Teil II Vorkurs Mathematik Herbst 2009 M. Carl E. Bönecke Skript und Übungen Teil II Das erste Semester wiederholt die Schulmathematik in einer neuen axiomatischen Sprache; es ähnelt damit dem nachträglichen Erlernen

Mehr

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer,

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, Reguläre Sprachen Reguläre Sprachen (Typ-3-Sprachen) haben große Bedeutung in Textverarbeitung und Programmierung (z.b. lexikalische Analyse) besitzen für viele Entscheidungsprobleme effiziente Algorithmen

Mehr

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

4. Übung zur Vorlesung Informatik III am

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

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Übung am 3..2 INSTITUT FÜR THEORETISCHE KIT 7..2 Universität des Andrea Landes Schumm Baden-Württemberg - Theoretische und Grundlagen der Informatik INSTITUT FÜR

Mehr

Ein deterministischer endlicher Automat (DFA) kann als 5-Touple dargestellt werden:

Ein deterministischer endlicher Automat (DFA) kann als 5-Touple dargestellt werden: Sprachen und Automaten 1 Deterministische endliche Automaten (DFA) Ein deterministischer endlicher Automat (DFA) kann als 5-Touple dargestellt werden: M = (Z,3,*,qo,E) Z = Die Menge der Zustände 3 = Eingabealphabet

Mehr

Übung Theoretische Grundlagen

Ü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

Mehr

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

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

Mehr

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

Proseminar Analysis Vollständigkeit der reellen Zahlen

Proseminar Analysis Vollständigkeit der reellen Zahlen Proseminar Analysis Vollständigkeit der reellen Zahlen Axel Wagner 18. Juli 2009 1 Voraussetzungen Zunächst wollen wir festhalten, was wir als bekannt voraussetzen: Es sei (Q, +, ) der Körper der rationalen

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

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

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

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 09.04.2013 Inhalt der Vorlesung Teil I: Automaten und formale Sprachen (Kurt Sieber)

Mehr

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln, Theorie der Informatik 8. März 25 8. Reguläre Sprachen I Theorie der Informatik 8. Reguläre Sprachen I 8. Reguläre Grammatiken Malte Helmert Gabriele Röger 8.2 DFAs Universität Basel 8. März 25 8.3 NFAs

Mehr

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

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

Mehr

Formale Sprachen. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S

Formale Sprachen. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S Formale Grundlagen (WIN) Franz Binder Institut für Algebra Johannes Kepler Universität Linz Vorlesung im 2008S http://www.algebra.uni-linz.ac.at/students/win/fg Inhalt Das Alphabet Σ sei eine endliche

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

Für jede Sprache L X sind die folgenden Aussagen äquivalent:

Für jede Sprache L X sind die folgenden Aussagen äquivalent: Was bisher geschah Für jede Sprache L X sind die folgenden Aussagen äquivalent: Es existiert ein NFA A mit L = L(A) (L REC(NFA)). Es existiert ein vollständiger NFA B mit L = L(B). Es existiert ein ε-nfa

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

Topologische Grundbegriffe I. 1 Offene und Abgeschlossene Mengen

Topologische Grundbegriffe I. 1 Offene und Abgeschlossene Mengen Topologische Grundbegriffe I Vortrag zum Proseminar Analysis, 26.04.2010 Nina Neidhardt und Simon Langer Im Folgenden soll gezeigt werden, dass topologische Konzepte, die uns schon für die Reellen Zahlen

Mehr

Einführung in die Computerlinguistik Satz von Kleene

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

Mehr

Theorie der Informatik

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

Mehr

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

Kurz-Skript zur Theoretischen Informatik I

Kurz-Skript zur Theoretischen Informatik I Kurz-Skript zur Theoretischen Informatik I Inhaltsverzeichnis 1 Grundlagen 2 2 Reguläre Ausdrücke 4 3 Endliche Automaten 5 3.1 Vollständige endliche Automaten................................... 6 3.2 ε

Mehr

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

Informatik III. Christian Schindelhauer Wintersemester 2006/07 5. Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 5. Vorlesung 09.11.2006 schindel@informatik.uni-freiburg.de 1 Äquivalenzklassen Definition und Beispiel Definition Für eine Sprache L Σ* bezeichnen

Mehr

Automaten und formale Sprachen Klausurvorbereitung

Automaten und formale Sprachen Klausurvorbereitung Automaten und formale Sprachen Klausurvorbereitung Rami Swailem Mathematik Naturwissenschaften und Informatik FH-Gießen-Friedberg Inhaltsverzeichnis 1 Definitionen 2 2 Altklausur Jäger 2006 8 1 1 Definitionen

Mehr

Logische Grundlagen der Mathematik, WS 2014/15

Logische Grundlagen der Mathematik, WS 2014/15 Logische Grundlagen der Mathematik, WS 2014/15 Thomas Timmermann 26. November 2014 Was kommt nach den natürlichen Zahlen? Mehr als die natürlichen Zahlen braucht man nicht, um einige der schwierigsten

Mehr

Formale Sprachen und endliche Automaten

Formale Sprachen und endliche Automaten Formale Sprachen und endliche Automaten Formale Sprachen Definition: 1 (Alphabet) Ein Alphabet Σ ist eine endliche, nichtleere Menge von Zeichen oder Symbolen. Ein Wort über dem Alphabet Σ ist eine endliche

Mehr

Automaten und Formale Sprachen 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

Induktive Definition

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

Mehr

Freie Bäume und Wälder

Freie Bäume und Wälder (Martin Dietzfelbinger, Stand 4.6.2011) Freie Bäume und Wälder In dieser Notiz geht es um eine besondere Sorte von (ungerichteten) Graphen, nämlich Bäume. Im Gegensatz zu gerichteten Bäumen nennt man diese

Mehr

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Theoretische Informatik für Wirtschaftsinformatik und Lehramt Theoretische Informatik für Wirtschaftsinformatik und Lehramt Eigenschaften regulärer Sprachen Priv.-Doz. Dr. Stefan Milius stefan.milius@fau.de Theoretische Informatik Friedrich-Alexander Universität

Mehr

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

Theoretische Grundlagen der Informatik. Vorlesung am 07. November INSTITUT FÜR THEORETISCHE INFORMATIK Theoretische Grundlagen der Informatik 0 07.11.2017 Torsten Ueckerdt - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Frage Frage: Ist der

Mehr

4.2 Quotientenvektorräume

4.2 Quotientenvektorräume 306 LinAlg II Version 1 6. Juni 2006 c Rudolf Scharlau 4.2 Quotientenvektorräume Zum Verständnis der folgenden Konstruktion ist es hilfreich, sich noch einmal den Abschnitt 1.4 über Restklassen vom Beginn

Mehr

1. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005

1. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005 Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 2004/05 ILKD Prof. Dr. D. Wagner 24. Februar 2005 1. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005 Aufkleber Beachten

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

Einschub: Erkennung durch Monoide

Einschub: Erkennung durch Monoide Einschub: Erkennung durch Monoide Achtung: Diese Einheit finden Sie NICHT im Buch von Schöning. Sei L eine formale Sprache und M ein Monoid. Wir sagen M erkennt L, wenneineteilmengea M und ein Homomorphismus

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2 Lösungsblatt 3. April 2 Einführung in die Theoretische Informatik

Mehr

Endliche Automaten, reguläre Ausdrücke, rechtslineare Grammatiken

Endliche Automaten, reguläre Ausdrücke, rechtslineare Grammatiken 1 / 15 Endliche Automaten, reguläre Ausdrücke, rechtslineare Grammatiken Prof. Dr. Hans Kleine Büning FG Wissensbasierte Systeme WS 08/09 2 / 15 Deterministischer endlicher Automat (DEA) Definition 1:

Mehr

Aufgabe Mögliche Punkte Erreichte Punkte a b c d Σ a b c d Σ x1 13

Aufgabe Mögliche Punkte Erreichte Punkte a b c d Σ a b c d Σ x1 13 Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 2003/04 ILKD Prof. Dr. D. Wagner 14. April 2004 2. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004 Hier Aufkleber

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 11 15. Juli 2010 Einführung in die Theoretische

Mehr

Seminar über Automatentheorie

Seminar über Automatentheorie Seminar über Automatentheorie Wintersemester 08/09 Das Cross-Section-Theorem und nicht-mehrdeutige Transducer Autor: Johannes Gilger Matrikelnummer: 266377 Betreuender Lehrstuhl: Lehrstuhl für Informatik

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

Algebra I. Prof. Dr. M. Rost. Übungen Blatt 5 (WS 2015/16) 1. Abgabetermin: Donnerstag, 26. November.

Algebra I. Prof. Dr. M. Rost. Übungen Blatt 5 (WS 2015/16) 1. Abgabetermin: Donnerstag, 26. November. Algebra I Prof. Dr. M. Rost Übungen Blatt 5 (WS 2015/16) 1 Abgabetermin: Donnerstag, 26. November http://www.math.uni-bielefeld.de/~rost/a1 Erinnerungen an die Vorlesung: Im Folgenden werden manchmal einige

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

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

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

Einführung in die Algebra

Einführung in die Algebra Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 23 Die Gradformel Satz 1. Seien K L und L M endliche Körperweiterungen. Dann ist auch K M eine endliche Körpererweiterung und

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

11 Dezimalbruchdarstellung reeller Zahlen; Mächtigkeitsvergleich von Mengen

11 Dezimalbruchdarstellung reeller Zahlen; Mächtigkeitsvergleich von Mengen 11 Dezimalbruchdarstellung reeller Zahlen; Mächtigkeitsvergleich von Mengen 11.1 g-adische Entwicklung von Zahlen aus [0, 1[ 11.2 g-adische Entwicklung reeller Zahlen 11.3 g-adische Entwicklung nicht-negativer

Mehr

Übung: Teilmengen. Beweis: Für alle Elemente einer Menge, die Teilmenge einer Menge ist, gilt, dass auch Element von ist. (Definition der Teilmenge)

Übung: Teilmengen. Beweis: Für alle Elemente einer Menge, die Teilmenge einer Menge ist, gilt, dass auch Element von ist. (Definition der Teilmenge) 15 Übung: Teilmengen seien Mengen. Zu zeigen ist: wenn Beweis: dann auch Für alle Elemente einer Menge, die Teilmenge einer Menge ist, gilt, dass auch Element von ist. (Definition der Teilmenge) für alle

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

5. Ordinalzahlen (Vorlesung 11)

5. Ordinalzahlen (Vorlesung 11) EINFÜHRUNG IN DIE LOGIK UND MENGENLEHRE 29 5.. Grundlegende Eigenschaften. 5. Ordinalzahlen (Vorlesung ) Definition 5. (Wohlordnung). Eine lineare Ordnung < auf einer Menge a heißt Wohlordnung, wenn jede

Mehr

Elemente in Φ werden Wurzeln genannt. Bemerkung 3.2. (a) Zu einem Wurzelsystem können wir immer eine Spiegelungsgruppe definieren

Elemente in Φ werden Wurzeln genannt. Bemerkung 3.2. (a) Zu einem Wurzelsystem können wir immer eine Spiegelungsgruppe definieren 3. Wurzelsysteme Als erstes führen wir den Begriff eines Wurzelsystems ein. Definition 3.1 (Wurzelsystem). Eine endliche Teilmenge Φ V {0} heißt Wurzelsystem falls gilt: (R1) Φ Rα = {±α} für α Φ, (R2)

Mehr

2 Mengen und Abbildungen

2 Mengen und Abbildungen 2.1 Mengen Unter einer Menge verstehen wir eine Zusammenfassung von Objekten zu einem Ganzen. Die Objekte heiÿen Elemente. Ist M eine Menge und x ein Element von M so schreiben wir x M. Wir sagen auch:

Mehr

Analysis 1, Woche 2. Reelle Zahlen. 2.1 Anordnung. Definition 2.1 Man nennt eine Anordnung für K, wenn: 1. Für jeden a K gilt a a (Reflexivität).

Analysis 1, Woche 2. Reelle Zahlen. 2.1 Anordnung. Definition 2.1 Man nennt eine Anordnung für K, wenn: 1. Für jeden a K gilt a a (Reflexivität). Analysis 1, Woche 2 Reelle Zahlen 2.1 Anordnung Definition 2.1 Man nennt eine Anordnung für K, wenn: 1. Für jeden a K gilt a a (Reflexivität). 2. Für jeden a, b K mit a b und b a gilt a = b (Antisymmetrie).

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

Der kleine Satz von Fermat

Der kleine Satz von Fermat Der kleine Satz von Fermat Luisa-Marie Hartmann 5. Mai 2017 Inhaltsverzeichnis 1 Einleitung 3 2 Hauptteil 4 2.1 Prime Restklassengruppen............................ 4 2.2 Ordnung von Gruppenelementen........................

Mehr

1 Der Satz von Poincaré-Birkhoff-Witt. 2 Die freie Algebra. 3 Die universell einhüllende Algebra

1 Der Satz von Poincaré-Birkhoff-Witt. 2 Die freie Algebra. 3 Die universell einhüllende Algebra 1 Der Satz von Poincaré-Birkhoff-Witt Darstellungen von assoziativen Algebren sind oft einfacher zu handhaben als Darstellungen von Lie- Algebren. Die universell einhüllende Algebra einer Lie-Algebra hat

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

Lineare Algebra 6. Übungsblatt

Lineare Algebra 6. Übungsblatt Lineare Algebra 6. Übungsblatt Fachbereich Mathematik M. Schneider 16.05.01 Konstantin Pertschik, Daniel Körnlein Gruppenübung Aufgabe G19 Berechnen Sie das inverse Element bzgl. Multiplikation in der

Mehr

Kapitel 1. Grundlagen Mengen

Kapitel 1. Grundlagen Mengen Kapitel 1. Grundlagen 1.1. Mengen Georg Cantor 1895 Eine Menge ist die Zusammenfassung bestimmter, wohlunterschiedener Objekte unserer Anschauung oder unseres Denkens, wobei von jedem dieser Objekte eindeutig

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

Einführung in die theoretische Informatik Sommersemester 2017 Übungsblatt Lösungsskizze 7

Einführung in die theoretische Informatik Sommersemester 2017 Übungsblatt Lösungsskizze 7 Prof. J. Esparza Technische Universität München S. Sickert, J. Krämer KEINE ABGABE Einführung in die theoretische Informatik Sommersemester 2017 Übungsblatt 7 Übungsblatt Wir unterscheiden zwischen Übungs-

Mehr

Die durch einen regulären Ausdruck beschriebene Sprache ist definiert durch:

Die durch einen regulären Ausdruck beschriebene Sprache ist definiert durch: Kapitel 2 Reguläre Sprachen 2.1 Reguläre Ausdrücke Für die symbolische Verarbeitung von Informationen mit Hilfe von Rechnern ist es zweckmäßig, wenn formale Sprachen selbst durch Zeichenketten repräsentiert

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

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

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

Mehr

Technische Universität München. Ferienkurs Lineare Algebra 1. Mengenlehre, Aussagen, Relationen und Funktionen. 21. März 2011.

Technische Universität München. Ferienkurs Lineare Algebra 1. Mengenlehre, Aussagen, Relationen und Funktionen. 21. März 2011. Technische Universität München Ferienkurs Lineare Algebra 1 Mengenlehre, Aussagen, Relationen und Funktionen 21. März 2011 Tanja Geib Inhaltsverzeichnis 1 Aussagen 1 2 Mengenlehre 3 2.1 Grundlegende Definitionen

Mehr

Kapitel 1. Grundlagen

Kapitel 1. Grundlagen Kapitel 1. Grundlagen 1.1. Mengen Georg Cantor 1895 Eine Menge ist die Zusammenfassung bestimmter, wohlunterschiedener Objekte unserer Anschauung oder unseres Denkens, wobei von jedem dieser Objekte eindeutig

Mehr

Übungsblatt 1: Monoide und Gruppen

Übungsblatt 1: Monoide und Gruppen Übungsblatt 1: Monoide und Gruppen Die schriftlichen Übungsaufgaben sind durch ein S gekennzeichnet und sollen in der Übung der nächsten Woche abgegeben werden. Die Votieraufgaben sind mit einem V gekennzeichnet.

Mehr

technische universität dortmund Dortmund, im Dezember 2011 Fakultät für Mathematik Prof. Dr. H. M. Möller

technische universität dortmund Dortmund, im Dezember 2011 Fakultät für Mathematik Prof. Dr. H. M. Möller technische universität dortmund Dortmund, im Dezember 2011 Fakultät für Mathematik Prof. Dr. H. M. Möller Lineare Algebra für Lehramt Gymnasien und Berufskolleg Zusammenfassung der Abschnitte 4.3 und 4.4

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische Informatik I Rückblick Theoretische Informatik I 1. Mathematische Methoden 2. Reguläre Sprachen 3. Kontextfreie Sprachen Themen der Theoretischen Informatik I & II Mathematische Methodik in

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

I.2. Endliche Automaten (ohne Ausgabe)

I.2. Endliche Automaten (ohne Ausgabe) I2 Endliche Automaten (ohne Ausgabe) I2 Deterministische endliche Automaten Beispiel: Pascal-Syntax für Zahlen hat folgende Form: ::=

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

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

Theoretische Informatik Kap 1: Formale Sprachen/Automatentheorie

Theoretische Informatik Kap 1: Formale Sprachen/Automatentheorie Gliederung der Vorlesung. Grundbegriffe. Formale Sprachen/Automatentheorie.. Grammatiken.2..3. Kontext-freie Sprachen 2. Berechnungstheorie 2.. Berechenbarkeitsmodelle 2.2. Die Churchsche These 2.3. Unentscheidbarkeit

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Sascha Böhme, Lars Noschinski Sommersemester 2 Lösungsblatt 2 3. Mai 2 Einführung in die Theoretische Informatik Hinweis:

Mehr

Denition 1 (Die Peanoschen Axiome). Es gibt eine Menge N und eine sogenannte Nachfolgefunktion S mit folgenden Eigenschaften.

Denition 1 (Die Peanoschen Axiome). Es gibt eine Menge N und eine sogenannte Nachfolgefunktion S mit folgenden Eigenschaften. In dieser Ausarbeitung handelt es sich es um die Menge der natürlichen Zahlen und deren Eigenschaften. In der Analysis werden häug zunächst die reellen Zahlen als vollständig geordneter Körper betrachtet

Mehr

Konstruktion reeller Zahlen aus rationalen Zahlen

Konstruktion reeller Zahlen aus rationalen Zahlen Konstruktion reeller Zahlen aus rationalen Zahlen Wir nehmen an, daß der Körper der rationalen Zahlen bekannt ist. Genauer wollen wir annehmen: Gegeben ist eine Menge Q zusammen mit zwei Verknüpfungen

Mehr

WS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven

WS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven WS06/07 Referentin: Katharina Blinova Formale Sprachen Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven 1. Allgemeines 2. Formale Sprachen 3. Formale Grammatiken 4. Chomsky-Hierarchie 5.

Mehr

Zentralübung zur Vorlesung Theoretische Informatik

Zentralübung zur Vorlesung Theoretische Informatik SS 2015 Zentralübung zur Vorlesung Theoretische Informatik Dr. Werner Meixner Fakultät für Informatik TU München http://www14.in.tum.de/lehre/2015ss/theo/uebung/ 7. Mai 2015 ZÜ THEO ZÜ IV Übersicht: 1.

Mehr

5.4 Endliche Automaten

5.4 Endliche Automaten 5.4 Endliche Automaten Ein endlicher Automat ist ein mathematisches Modell eines Systems mit Ein- und Ausgaben. Ein solches System befindet sich immer in einem internen Zustand. Beispiele Ein Register

Mehr

Klausur zur Vorlesung Informatik III Wintersemester 2007/2008

Klausur zur Vorlesung Informatik III Wintersemester 2007/2008 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Klausur zur Vorlesung Informatik III Wintersemester 2007/2008 Hier Aufkleber mit Name und Matrikelnr. anbringen Vorname: Nachname: Matrikelnummer:

Mehr

Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen

Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen Aufgabe 1 2 3 4 5 6 7 max. Punkte 6 6 7 7 8 8 12 err. Punkte Gesamtpunktzahl: Note: 1 Aufgabe 1 (3+1+1+1 = 6 Punkte) Es seien

Mehr

Theorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie

Theorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie Theorie der Informatik 17. März 2014 6. Formale Sprachen und Grammatiken Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 6.1 Einführung

Mehr

Lineare Algebra I. Lösung 3.1:

Lineare Algebra I. Lösung 3.1: Universität Konstanz Wintersemester 2009/2010 Fachbereich Mathematik und Statistik Lösungsblatt 3 Prof. Dr. Markus Schweighofer 18.11.2009 Aaron Kunert / Sven Wagner Lineare Algebra I Lösung 3.1: (a) Sei

Mehr

Grundbegriffe der Informatik Tutorium 33

Grundbegriffe der Informatik Tutorium 33 Tutorium 33 02.02.2017 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Gliederung 1 2 3 Ein ist ein Tupel A = (Z, z 0, X, f, Y, h)

Mehr

Inhalt der Vorlesung Elemente der Algebra und Zahlentheorie Prof. Dr. Arno Fehm TU Dresden SS Grundlegende Definitionen (Wiederholung)

Inhalt der Vorlesung Elemente der Algebra und Zahlentheorie Prof. Dr. Arno Fehm TU Dresden SS Grundlegende Definitionen (Wiederholung) Inhalt der Vorlesung Elemente der Algebra und Zahlentheorie Prof. Dr. Arno Fehm TU Dresden SS2017 Kapitel I. Gruppen 1 Grundlegende Definitionen (Wiederholung) 1.1 Definition. Eine Gruppe ist ein Paar

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

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

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

Mehr