Modul Formale Sprachen Bachelor Informatik 3. Semester

Größe: px
Ab Seite anzeigen:

Download "Modul Formale Sprachen Bachelor Informatik 3. Semester"

Transkript

1 Modul Formale Sprachen Bachelor Informatik 3. Semester Lehrinhalte: Das Modul führt in die Grundlagen der Automatentheorie sowie der Theorie formaler Sprachen ein. Es vermittelt grundlegende Aussagen und Techniken über Automaten und formale Sprachen. Das Modul gibt einen Ausblick auf Möglichkeiten der Modellierung und Analyse informatikspezifischer Sachverhalte mittels Automaten und formaler Sprachen. Im WS 2012/2013 zu behandelnde Inhalte: 1. Formale Sprachen 2. Regelgrammatiken und die Chomsky-Hierarchie 3. Automaten und Wortfunktionen 4. Minimierung von Automaten, Nerode-Äquivalenz 5. Reguläre Sprachen und endliche Automaten 6. Regularitätsbedingungen 7. Automatenbasierte Konstruktionen 8. Reguläre Ausdrücke 9. Pumping-Lemma für reguläre Sprachen 10. Kontextfreie Sprachen und Kellerautomaten 11. Bottom-Up Analyse und Top-Down-Analyse 12. CYK-Algorithmus 13. Pumping-Lemma für kontextfreie Sprachen 14. Deterministisch kontextfreie Sprachen 15. Ausblick auf Anwendungen der Automatentheorie in der computergestützten Verifikation 16. Ausblick auf Erweiterungen des Konzepts formaler Sprachen (Omega-Sprachen, Prozesse) 1

2 Inhaltsverzeichnis 1 Endliche Automaten und reguläre Sprachen Reguläre Ausdrücke und Sprachen Rechtslineare Grammatiken Normalform für rechtslineare Grammatiken Nichtdeterministische endliche Automaten Deterministische endliche Automaten Die Konstruktion regulärer Ausdrücke zu endlichen Automaten Die Äquivalenz der Begriffe regulärer Ausdruck, rechtslineare Grammatik, endlicher Automat Das Pumping-Lemma für reguläre Sprachen Die Minimierung endlicher Automaten Kontextfreie Sprachen und Grammatiken Kontextfreie Grammatiken und Syntaxbäume Die Chomsky-Normalform Das Pumping-Lemma für kontextfreie Sprachen Das Problem der Syntaxanalyse für kontextfreie Sprachen Kontextfreie Sprachen, Backus-Naur-Form und Mengengleichungssysteme Kellerautomaten Abschlußeigenschaften der regulären und kontextfreien Sprachen Schwierigkeit von Problemen über kontextfreien Sprachen Kontextsensitive Sprachen und Grammatiken Deterministische kontextfreie Sprachen und Kellerautomaten

3 1 Endliche Automaten und reguläre Sprachen Der Begriff des endlichen Automaten ist eines der grundlegendsten Konzepte der Informatik überhaupt; endliche Automaten treten in vielen Teilgebieten wie z.b. Schaltwerkstechnik, Software Engineering, Grundlagen der Übersetzertechnik auf. Im Zusammenhang mit Sprachbeschreibungen sind endliche Automaten äquivalent zu rechtslinearen Grammatiken bzw. regulären Ausdrücken. Dieser Zusammenhang spielt insbesondere für die Grundlagen der Übersetzertechnik eine wichtige Rolle. Im folgenden werden diese Konzepte und Zusammenhänge näher beschrieben. 1.1 Reguläre Ausdrücke und Sprachen Es sei Σ endliches Alphabet und Σ die Wortmenge über Σ. Jede Teilmenge L Σ heißt Sprache über Σ. Wir definieren nun Syntax und Semantik von regulären Ausdrücken; diese Ausdrücke dienen zur Beschreibung regulärer Sprachen. Syntax regulärer Ausdrücke: 1. ist regulärer Ausdruck. 2. ε ist regulärer Ausdruck. 3. Für jedes a Σ ist a regulärer Ausdruck. 4. Sind x und y reguläre Ausdrücke, so auch (a) (x+y), (b) (xy) sowie (c) x. 5. Weitere reguläre Ausdrücke gibt es nicht. Semantik regulärer Ausdrücke: Ist x regulärer Ausdruck, so ist die von ihm beschriebene Sprache L(x) wie folgt definiert: 1. L( ) :=. 2. L(ε) := {ε} die Einermenge mit dem leeren Wort als einzigem Element. 3. Für jedes a Σ ist L(a) := {a}. 4. Sind x und y reguläre Ausdrücke, so ist (a) L(x+y) := L(x) L(y), (b) L(xy) := L(x)L(y) sowie (c) L(x ) := (L(x)) (d.h. L(x ) = i=0 (L(x))i ). 3

4 Man beachte, daß das Zeichen hier auf zwei verschiedene Weisen verwendet wurde: Einmal als Syntaxzeichen und zum anderen als Abkürzung für i=0 (L(x))i. Eine Sprache L Σ heißt reguläre Sprache über Σ, falls ein regulärer Ausdruck x existiert mit L = L(x). Beispiel Die leere Sprache sowie die gesamte Wortmenge Σ sind offenbar regulär - für Σ = {a 1,...,a n } ist Σ = L((a a n ) ). Dabei entspricht die Klammerung des Ausdrucks (a a n ) nicht ganz den strengen obigen Regeln wir vereinbaren, daß überflüssige Klammern weggelassen werden. 2. Die Sprache L 1 := {a i b j i,j 1} ist regulär: Zum Beispiel ist L 1 = L(a(a) b(b) ). 1.2 Rechtslineare Grammatiken Eine rechtslineare Grammatik ist ein 4-Tupel G = (N,Σ,R,S) mit den folgenden Eigenschaften: 1. N ist eine Menge N von Nichtterminalen (oder Variablen). 2. S N ist ein spezielles Nichtterminal - das sogenannte Startsymbol. 3. Σ ist ein endliches Alphabet (die Menge der Terminale). 4. R ist eine endliche Menge R von Regeln (Erzeugungsregeln, Ableitungsregeln) der Form u v mit u,v (N Σ). Dabei haben alle Regeln die folgende Form: (a) X wy, wobei X,Y N, w Σ oder (b) X a, wobei X N, a Σ oder (c) S ε. Wir definieren nun die Einschritt- sowie Mehrschrittableitung bei einer Grammatik G: Ist r = u v R und w (N Σ) ein Wort mit dem Teilwort u, d.h. es existieren w 1,w 2 mit w = w 1 uw 2, so besteht ein Ableitungsschritt in der Ersetzung von u durch v in w: Die Schreibweise dafür ist w 1 uw 2 w 1 vw 2. Die Anwendung der Regel r kann dadurch betont werden, daß wir schreiben: w 1 uw 2 r w 1 vw 2. Ist w durch Anwendung von endlich vielen Ableitungsschritten bzgl. G aus w ableitbar, so schreiben wir w w, wobei die reflexive transitive Hülle i=0 i mit 0 = id (id die identische Relation), 1 = sowie i+1 = i der zweistelligen Einschritt-Ableitungsrelation bezeichnet. Bemerkung: Es soll nochmals betont werden, daß wir das Symbol hier in mehreren Bedeutungen verwenden: 4

5 als Syntaxzeichen bei regulären Ausdrücken; als Operation auf Sprachen bei L := i=0 Li und in der gleichen Bedeutung auch bei der Wortmenge Σ ; als Operationssymbol zur Bezeichnung der reflexiven transitiven Hülle R der Relation R. Ebenso wird das Symbol in verschiedenen Bedeutungen verwendet, nämlich sowohl als Symbol in den Regeln der Grammatik als auch als Relationensymbol in den Ableitungsschritten. Die durch G erzeugte Sprache L(G) ist definiert durch L(G) := {w w Σ und S w} Zu L(G) gehören also alle Wörter w Σ (d.h. nur noch aus Terminalen bestehende Wörter), die sich in endlich vielen Schritten mit Regeln von G aus dem Startsymbol ableiten lassen. Beispiel 1.2 Die Grammatik G = ({S},{a,b},{S as,s b},s) erzeugt folgende Sprache L(G) = {a i b i 0}. Eine Ableitung von aaab ist gegeben durch S as aas aaas aaab, wobei in den ersten drei Schritten die erste Regel und im letzten Schritt die zweite Regel angewendet werden. Satz 1.1 Jede reguläre Sprache ist durch eine rechtslineare Grammatik erzeugbar. Beweis: Es sei L Σ reguläre Sprache über Σ = {a 1,...,a n }. Wir führen den Beweis durch Induktion über den Aufbau der regulären Ausdrücke. Es sei x ein regulärer Ausdruck mit L = L(x). Induktionsanfang: Ist x =, so setze G = (N,Σ,R,S) mit R =. Ist x = ε, so setze N = {S} und R = {S ε}. Ist für ein i {1,...,n} x = a i, so setze N = {S} und R = {S a i }. Induktionsschritt: Es seien x 1,x 2 reguläre Ausdrücke, für die gilt: Es existieren rechtslineare Grammatiken G i = (N i,σ,r i,s i ), i {1,2} und o.b.d.a. N 1 N 2 =, mit L(x i ) = L(G i ). 1. Fall: x = (x 1 +x 2 ). Wir setzen G = (N,Σ,R,S)mit dem neuen Startsymbol S, N = N 1 N 2 {S}, R = R 1 R 2 {S S 1,S S 2 }. Offenbar ist L(x 1 +x 2 ) = L(G) und G rechtslineare Grammatik. 5

6 2. Fall: x = (x 1 x 2 ). Zur Erhaltung der Rechtslinearität wird nur bei Abschlußregeln aus G 1, d.h. bei Regeln der Form A u, A N 1, u Σ {ε}, das Startsymbol S 2 angefügt: G = (N 1 N 2,Σ,R,S 1 ) mit R := {A us 2 A u R 1, u Σ {ε}} {A ub A ub R 1 } R 2. Offenbar ist L(x 1 x 2 ) = L(G) und G rechtslineare Grammatik. 3. Fall: x = x 1. Wir setzen G = (N 1 {S},Σ,R,S) mit dem neuen Startsymbol S und R = R 1 {S S 1,S ε} {A us A u R 1,u Σ}. Offenbar ist L(x 1) = L(G) und G rechtslineare Grammatik. Bemerkung 1.1 Die Wahl eines neuen Startsymbols S anstelle von S 1 bei der Konstruktion der rechtslinearen Grammatik G für L(x ) ist notwendig, wie das folgende einfache Beispiel zeigt: G 1 = ({S 1 },Σ,{S 1 as 1,S 1 b},s 1 ) erzeugt L(G 1 ) = {a n b n 0}. Die Regeln S 1 ε,s 1 as 1,S 1 bs 1 liefern jedoch etwas völlig anderes: nun ist S 1 bs 1 bas 1 ba eine Ableitung für ba / (L(G 1 )). 1.3 Normalform für rechtslineare Grammatiken Eine rechtslineare Grammatik in Normalform ist eine rechtslineare Grammatik mit folgender spezieller Regelform: 1. X ay mit X,Y N und a Σ oder 2. X a mit X N und a Σ oder 3. S ε. Satz 1.2 Zu jeder rechtslinearen Grammatik G gibt es eine rechtslineare Grammatik G in Normalform, welche dieselbe Sprache erzeugt: L(G) = L(G ). Beweis: Angenommen, die Grammatik G = (N, Σ, R, S) ist nicht in Normalform, d.h. es existieren Regeln X wy, w Σ, bei denen w nicht die Länge 1 hat. Wir beschreiben die Konstruktion einer rechtslinearen Grammatik G = (N,Σ,R,S) in Normalform, welche dieselbe Sprache wie G erzeugt. Wir betrachten zunächst die Regeln mit w = ε, d.h. solche, bei denen ein Nichtterminal wieder durch ein Nichtterminal ersetzt wird. Hier interessieren zunächst Kreise solcher Ersetzungen: Ist X 1 X 2, X 2 X 3,..., X k X 1 ein solcher Kreis C, so ersetzen wir die Nichtterminale des Kreises durch ein neues Nichtterminal X C und ersetzen jedes Vorkommen eines Nichtterminals X i aus dem Kreis C durch X C. Für jede Regel X i W R mit W (N Σ) fügen wir also Regeln X C W zu R hinzu, und für jede Regel Y wx i R fügen wir Y wx C zu R hinzu. Offenbar werden dadurch dieselben Wörter erzeugt. 6

7 Nun ist der Übergangsgraph mit den Nichtterminalen als Knoten und den gerichteten Kanten X Y für Regeln X Y mit Nichtterminalen X,Y kreisfrei, d.h. ein gerichteter azyklischer Graph. Für solche Graphen läßt sich eine Ordnung X 1,...,X n der Knoten (Nichtterminale) X i herstellen, für die für jedes X i X j gilt: i < j. (Solche Ordnungen heißen topologische Ordnungen.) Ist X i1... X ij eine Kette solcher Übergänge, so ersetze von rechts nach links die Regeln X ik+1 W durch Regeln X ik W, bis schließlich alle Regeln der Form X ik X ik+1 beseitigt sind. Die zweite Möglichkeit, daß eine Regel r = X wy R nicht in Normalform ist, wird durch w > 1 gegeben. Angenommen, wir haben eine solche Regel mit w = a i1...a ik und k > 1. Wir lösen diese in eine Folge von neuen Regeln X a i1 X r,1, X r,1 a i2 X r,2,..., X r,k 1 a ik Y auf, die offenbar dasselbe leistet und der Normalform genügt. Damit hat sich die Zahl der Nichtterminale in G gegenüber G beträchtlich erhöht, die erzeugte Sprache ist jedoch dieselbe, G ist in Normalform, und es gilt L(G) = L(G ). 1.4 Nichtdeterministische endliche Automaten Wir definieren zunächst den Begriff des nichtdeterministischen endlichen Automaten (NDEA), der eine sehr spezielle Variante der nichtdeterministischen Turingmaschine darstellt und ausschließlich zur Akzeptierung von Sprachen dient. Definition 1.1 Ein 5-Tupel A = (Z,Σ,δ,z 0,F) heißt nichtdeterministischer endlicher Automat (NDEA), falls gilt: 1. Z ist endliche Menge (von Zuständen). 2. z 0 Z ist der Anfangszustand. 3. Die endliche Menge Σ ist das Eingabealphabet. 4. δ Z Σ Z ist die Überführungsrelation. 5. F Z ist die Menge der akzeptierenden Endzustände. Der Nichtdeterminismus bezieht sich auf die Möglichkeit, daß Tripel (z,x,z ), (z,x,z ) δ existieren mit z z, also δ im allgemeinen keine Funktion aus Z Σ in Z ist. Es wird auch nicht verlangt, daß zu jedem Paar (z,x) Z Σ ein Nachfolgezustand z mit (z,x,z ) δ existiert. Um die Arbeitsweise von endlichen Automaten definieren zu können, muß zunächst die Rolle von δ genauer geklärt werden: δ gibt zu (z,x) Z Σ die möglichen Nachfolgezustände an, wenn der Automat sich im Zustand z befindet und das Symbol x Σ 7

8 Abbildung 1: Ein Beispiel eines nichtdeterministischen endlichen Automaten: Der Startzustand z 0 ist durch einen Pfeil ohne label gekennzeichnet, die Endzustände sind durch einen doppelten Kreis markiert. liest. Genauer gesagt: δ(z,x) := {z (z,x,z ) δ} bzw. allgemeiner für M Z: δ(m,x) := {z es existiert ein z M mit (z,x,z ) δ}. Man kann endliche Automaten auch als Zustandsübergangsgraphen veranschaulichen, wobei die Zustände die Knoten sind, und die Kanten zwischen Zuständen werden mit allen Buchstaben aus Σ markiert, die gemäß δ einen Übergang ermöglichen: z x z, falls (z,x,z ) δ ist. Beispiel 1.3 Es sei A 1 = ({z 0,z 1,z 2 }, {a,b}, δ,z 0,{z 0,z 2 }) mit δ = {(z 0,b,z 0 ), (z 0,a,z 1 ), (z 0,a,z 2 ), (z 1,b,z 2 ), (z 2,b,z 2 )} (siehe Abbildung 1). (Es gibt also nur beim Übergang von z 0 aus mit Eingabebuchstabe a eine Nicht-Eindeutigkeit.) Man definiert nun die von einem endlichen Automaten A akzeptierte Sprache L(A) als die Menge aller Wörter w = x 1...x n Σ, für die es im Zustandsüberführungsgraphen einen Weg vom Anfangszustand z 0 zu einem der Endzustände z F gibt, der nacheinander die Buchstaben x 1,...,x n von w als Eingaben benutzt. Formal sieht das wie folgt aus (für n = 0 legen wir x 1...x n = ε fest): Definition 1.2 Die von A = (Z,Σ,δ,z 0,F) akzeptierte Sprache L(A) ist definiert als L(A) := {x 1...x n n 0,x i Σ für alle i {1,...,n} und im Zustandsüberführungsgraphen existiert ein Weg z 0 x1 z i1 x2... xn 1 z in 1 xn z für ein z F}. Insbesondere gilt ε L(A) genau dann, wenn z 0 F (dies ist der Fall des leeren Weges im Zustandsüberführungsgraphen). Die im Beispiel 1.3 akzeptierte Sprache ist offenbar L(A 1 ) = L(b +b ab +b abb ). Definition 1.2 läßt sich etwas kompakter fassen, indem man die globale Überführungsfunktion δ wie folgt induktiv definiert: 8

9 Definition 1.3 Für M Z sei δ (M,ε) := M; δ (M,x) := δ(m,x) für x Σ; δ (M,x 1...x n ) := δ (δ(m,x 1 ),x 2...x n ) für n > 1, x 1...x n Σ. Nun gilt also: L(A) = {x 1...x n n 0,δ ({z 0 },x 1...x n ) F }. Satz 1.3 Zu jeder rechtslinearen Grammatik G in Normalform gibt es einen nichtdeterministischen endlichen Automaten, welcher die Sprache L(G) akzeptiert. Beweis: Es sei G = (N,Σ,R,S) eine rechtslineare Grammatik in Normalform. Wir konstruieren folgenden NDEA A = (N {E},Σ,δ,S,F) für ein neues Symbol E / N mit und δ(x,a) := Offenbar gilt für n 1: F := { {E} falls S ε / R {E,S} falls S ε R { {Y X ay R} {E} falls X a R {Y X ay R} sonst b 1...b n L(G) es existiert eine Ableitung S b 1 X 1 b 1 b 2 X 2... b 1 b 2...b n 1 X n 1 b 1 b 2...b n mit der Abschlußregel X n 1 b n es existiert eine Zustandsfolge S,X 1,...,X n 1,E mit X 1 δ(s,b 1 ), X 2 δ(x 1,b 2 ),..., X n 1 δ(x n 2,b n 1 ), E δ(x n 1,b n ) E δ (S,b 1 b 2...b n ). Im Falle ε L(G) ist durch S F ebenfalls gesichert, daß L(G) = L(A) ist. 1.5 Deterministische endliche Automaten Ein NDEA A = (Z,Σ,δ,z 0,F) heißt deterministischer endlicher Automat (DEA), falls gilt: Für alle Tripel (z,x,z ), (z,x,z ) δ ist z = z, also δ Funktion aus Z Σ in Z. Während der Nichtdeterminismus eines Automaten sehr stark der Art und Weise, wie Grammatiken Wörter erzeugen, entspricht, korrespondiert der Determinismus 9

10 viel stärker zum Verhalten von realen technischen Automaten: Zu gegebenem Paar (z,x) Z Σ soll immer dieselbe Reaktion, d.h. derselbe Übergang zum nächsten Zustand folgen. Wir zeigen nun im folgenden, daß DEA dieselben Sprachen wie NDEA akzeptieren, daß also auf der Ebene der endlichen Automaten (bzgl. der Akzeptierung von Sprachen) der Nichtdeterminismus die Leistungsfähigkeit des Modells nicht erhöht. Dazu definieren wir zu gegebenem NDEA A = (Z,Σ,δ,z 0,F) den Potenzmengenautomaten A = (2 Z,Σ,δ,{z 0 },{M M Z,M F }). Hierbei bezeichnet 2 Z die Potenzmenge von Z, und δ ist wie folgt definiert: δ (M,x) := {z es existiert ein z M mit (z,x,z ) δ}, also die Menge der möglichen Nachfolgezustände von z in A bei Übergang mit x. Offenbar ist der so definierte endliche Automat A ein DEA. Allerdings hat sich seine Zustandsmenge stark vergrößert, nämlich exponentiell gegenüber der von A. Durch Minimierung, die in einem nachfolgenden Abschnitt behandelt wird, kann man in vielen Beispielen die Zustandszahl wieder etwas verringern, jedoch gibt es Beispiele, bei denen die exponentielle Größenordnung erhalten bleibt. Satz 1.4 Zu jedem nichtdeterministischen endlichen Automaten A gibt es einen deterministischen endlichen Automaten A mit L(A) = L(A ). Beweis: Wir konstruieren zu gegebenem NDEA A den Potenzmengenautomaten A wie oben beschrieben. Nun sieht man leicht: x 1...x n L(A) im Zustandsüberführungsgraphen von A gibt es einen Weg von z 0 zu einem Endzustand aus F bei Abarbeitung von x 1...x n es gibt einen Weg vom Anfangszustand {z 0 } von A zu einer Zustandsmenge, die einen Endzustand aus F enthält, indem A die Eingabe x 1...x n abarbeitet x 1...x n L(A ). 1.6 Die Konstruktion regulärer Ausdrücke zu endlichen Automaten Wir gehen nun von einem DEA A = (Z,Σ,δ,z 0,F) aus und wollen einen regulären Ausdruck r A konstruieren mit L(A) = L(r A ). Satz 1.5 Zu jedem deterministischen endlichen Automaten A gibt es einen regulären Ausdruck r A mit L(A) = L(r A ). Beweis: Es sei A = (Z,Σ,δ,z 0,F) DEA mit Z = {1,...,n} und z 0 = 1. Der reguläre Ausdruck r A wird induktiv definiert, wobei folgende Hilfswortmengen Wi,j k verwendet werden. Es sei Z 0 = und Z k = {1,...,k} sowie Wi,j k die Menge aller Wörter aus Σ, die in endlich vielen Schritten den Zustand i in den Zustand j überführen, wobei alle 10

11 inneren Knoten des betreffenden Weges von i nach j im Zustandsüberführungsgraphen jeweils einen Zustand aus {1,...,k} enthalten. Dabei wird wieder vereinbart, daß das leere Wort ε jeden Zustand in sich selbst ohne Zwischenzustände überführt. Es ist also speziell Wi,i 0 = {ε} {x x Σ,δ(i,x) = i} (das leere Wort sowie alle Buchstaben x Σ, die Zustand i in Zustand i überführen) und Wi,j 0 = {x x Σ,δ(i,x) = j} für j i (alle Buchstaben, die Zustand i in Zustand j überführen). In beiden Fällen ist die Menge jeweils endlich und damit durch einen regulären Ausdruck r 0 i,i bzw. r 0 i,j beschreibbar - dies stellt den Induktionsanfang dar. Wir gehen nun von der Induktionsannahme aus, daß für alle i,j {1,...,n} für k die Mengen Wi,j k durch reguläre Ausdrücke rk i,j beschreibbar sind, und wollen dies für k + 1 zeigen. Dazu folgende Vorüberlegung: Um vom Zustand i zum Zustand j bei Abarbeitung eines Eingabewortes w zu gelangen, wobei zwischendurch nur Zustände aus {1,...,k,k +1} passiert werden, gibt es zwei Möglichkeiten: 1. Der Weg enthält den Zustand k + 1 nicht als inneren Knoten. Dann ist w Wi,j k, und für diese Wortmenge gibt es nach Induktionsannahme eine regulären Ausdruck ri,j. k 2. Der Weg enthält mindestens einmal den Zustand k+1 als inneren Knoten. Dann unterteiledenwegineinenerstenabschnittvonizumerstenvorkommenvonk+ 1 (dieser Abschnitt enthält k + 1 nicht als inneren Knoten), einen Abschnitt vom ersten Vorkommen von k + 1 zum zweiten usw., und schließlich einen Abschnitt vom letzten Vorkommen von k+1 zu j. Alle diese Abschnitte enthalten k+1 nicht als inneren Knoten. Dementsprechend gibt es für alle zugehörigen Wortmengen reguläre Ausdrücke, welche diese beschreiben. Zusammengefaßt ergibt sich: W k+1 i,j = W k i,j W k i,k+1 (Wk k+1,k+1 ) Wk+1,j k. Ent- für diese Menge zusammen: sprechend setzt sich ein regulärer Ausdruck r k+1 i,j r k+1 i,j = r k i,j +rk i,k+1 (rk k+1,k+1 ) r k k+1,j. Nun brauchen wir nur daran zu erinnern, daß für A = (Z,Σ,δ,z 0,F) die akzeptierte Sprache L(A) die Menge der Wörter ist, die den Startzustand z 0 = 1 in einen der Endzustände aus F überführen. Ist F = {i 1,...,i m }, so ist also L(A) = m j=1 Wn 1,i j bzw. L(A) = L(r1,i n r1,i n m ) für den regulären Ausdruck r A := r1,i n r1,i n m. Beispiel 1.4 Es sei A 2 = ({1,2,3},{a,b},δ,1,{2})mitδ = {(1,a,2), (2,a,2),(2,b,3), (3,a,3), (3,b,2)}. Offenbar ist A 2 ein DEA. Wir bilden die Tabelle der regulären Ausdrücke, die wir zur Konstruktion des regulären Ausdrucks r A2 mit L(A 2 ) = L(r A2 ) benötigen. Dabei ergibt sich r A2 = r 3 1,2 = r2 1,2 +r2 1,3 (r2 3,3 ) r 2 3,2. 11

12 Ausdruck k = 0 k = 1 k = 2 r1,1 k ε ε ε r1,2 k a a aa r1,3 k aa b r2,1 k r2,2 k ε+a ε+a a r2,3 k b b a b r3,1 k r3,2 k b b ba r3,3 k ε+a ε+a ε+a+ba b Zum Beispiel 1.4 ist zu bemerken, daß der Automat offenbar die Menge aller Wörter akzeptiert, die mit mindestens einem a beginnen, gefolgt von einem Wort, das eine gerade Zahl von Symbolen b enthält. Dazu gibt es folgenden einfacheren Ausdruck aa (ba ba ), der zu dem aus der obigen Tabelle erhaltenen gleichwertig ist: beide erzeugen dieselbe Sprache, nur sieht man dies nicht sofort. 1.7 Die Äquivalenz der Begriffe regulärer Ausdruck, rechtslineare Grammatik, endlicher Automat Aus den Beweisen der Sätze 1.1, 1.2, 1.3, 1.4, 1.5 ergibt sich ein Ringschluß, der nachfolgenden Satz beweist. Satz 1.6 Es sei L Σ. Die folgenden Eigenschaften sind äquivalent: 1. L ist durch einen regulären Ausdruck darstellbar; 2. L ist durch eine rechtslineare Grammatik erzeugbar; 3. L ist durch eine rechtslineare Grammatik in Normalform erzeugbar; 4. L ist durch einen nichtdeterministischen endlichen Automaten akzeptierbar; 5. L ist durch einen deterministischen endlichen Automaten akzeptierbar. Die Beweise der Sätze 1.1, 1.2, 1.3, 1.4, 1.5 sind konstruktiv, und selbstverständlich kann der Beweis von Satz 1.6 auch in anderer als der angegebenen Reihenfolge ausgeführt werden. Die gewählte Reihenfolge ist lediglich eine relativ einfache Form des Äquivalenzbeweises, und der Ringbeweis ist sparsamer als der Nachweis paarweiser Äquivalenz. Als weiteres Beispiel soll folgende Aufgabe dienen: Aufgabe 1.1 Zeigen Sie direkt (ohne Ausnutzung des Ringbeweises): Zu jedem regulären Ausdruck r gibt es einen NDEA A mit L(A) = L(r). 12

13 1.8 Das Pumping-Lemma für reguläre Sprachen Das nachfolgende Lemma eignet sich in vielen Fällen zum Nachweis, daß eine gegebene Sprache nicht regulär ist. Es drückt eine Periodizitätseigenschaft der regulären Sprachen aus, die mit Hilfe der Zustandswiederholungen eines zugehörigen endlichen Automaten einfach zu beweisen ist. Lemma 1.1 (Pumping-Lemma für reguläre Sprachen) Für jede reguläre Sprache L gibt es eine natürliche Zahl n L, so daß für jedes Wort x L mit x n L eine Wortzerlegung x = uvw existiert mit den Eigenschaften: 1. v > 0; 2. uv n L ; 3. für alle natürlichen Zahlen i 0 ist uv i w L. Beweis: Es sei A ein endlicher deterministischer Automat mit L(A) = L und n L die Zahl seiner Zustände. Bei der Abarbeitung eines Wortes x L mit x n L durchläuft der Automat x +1 Zustände, wenn man den Anfangszustand mitrechnet. Diese können nicht alle verschieden sein, da A nur n L Zustände hat. Es sei v ein am weitesten links in x stehendes nichtleeres Teilwort von x, bei dem sich ein Zustand wiederholt, also x = uvw mit nichtleerem v. Offenbar sind dann die Eigenschaften 1 und 2 erfüllt, und es gilt uw L sowie für i 2 auch uv i w in L, da der Automat den Unterschied wegen der Zustandswiederholung nicht merkt und ebenfalls akzeptiert. Aufgabe 1.2 Warum folgt aus Lemma 1.1 nicht, daß jede reguläre Sprache unendlich ist? Nun zeigen wir mit Hilfe von Lemma 1.1, daß die Sprache L = {a n b n n 0} nicht regulär ist. Dies bedeutet in gewissem Sinne auch, daß endliche Automaten nicht beliebig weit zählen können. Angenommen, L = {a n b n n 0} wäre regulär. Dann gibt es ein n L mit obigen Eigenschaften. Es sei a n b n ein Wort mit Länge größer als n L, also muß es ein nichtleeres v mit uvw = a n b n geben. Ist v Teilwort von a n, so ist bei uw die Zahl der Symbole a und b nicht mehr gleich, dasselbe gilt, wenn v Teilwort von b n ist. Nun nehmen wir an, daß v sowohl Symbole a als auch b enthält. Dann ist uv 2 w nicht in L, da es nicht von der geforderten Form ist. Damit ist die Sprache L nicht regulär. 1.9 Die Minimierung endlicher Automaten Beim Übergang von einem NDEA zu einem äquivalenten DEA ist bereits erkennbar, daß nicht alle eingeführten Zustände wirklich gebraucht werden. Insbesondere braucht 13

14 man zur Akzeptierung einer Sprache diejenigen Zustände nicht, die nicht aus dem Anfangszustand erreichbar sind, und falls man nicht verlangt, daß der Automat vollständig definiert ist, sind diejenigen Zustände überflüssig, aus denen kein akzeptierender Endzustand erreichbar ist. Darüber hinaus kann es Zustände geben, die zwar verschieden sind, jedoch dasselbe leisten, die also bezüglich ihres Überführungsverhaltens äquivalent sind. Solche Zustände kann man zu Äquivalenzklassen zusammenfassen, jede Äquivalenzklasse als einen Zustand auffassen und damit zu einem Minimalautomaten übergehen, der dieselbe Sprache akzeptiert. Wir beschreiben im folgenden die Konstruktion eines Minimalautomaten A mit L = L(A), die nur von der gegebenen Sprache L Σ ausgeht. Wir definieren dazu folgende zweistellige Relation L auf Σ : x L y, falls für alle u Σ gilt xu L yu L. Da dies auch für u = ε gilt, ist insbesondere x L y L. Offenbar ist L Äquivalenzrelation auf Σ. Wir definieren: Der Index von L ist die Zahl der Äquivalenzklassen von L. Satz 1.7 (Myhill, Nerode) L ist genau dann regulär, wenn L endlichen Index hat. Beweis: 1. = Es sei A = (Z,Σ,δ,z 0,F) ein (vollständig definierter) DEA mit L(A) = L. Wir definieren nun folgende Äquivalenzrelation A auf Σ : x A y, falls δ (z 0,x) = δ (z 0,y), d.h. A erreicht bei Abarbeiten des Wortes x denselben Zustand wie bei Abarbeiten von y. Wir zeigen: A ist eine Verfeinerung von L. Es sei x A y, also δ (z 0,x) = δ (z 0,y). Wir zeigen, daß dann auch x L y gilt. Nun ist xu L δ (z 0,xu) F δ (δ (z 0,x),u) F δ (δ (z 0,y),u) F δ (z 0,yu) F yu L. Also ist der Index von L höchstens so groß wie der Index von A und somit endlich, da der Index von A durch die Zustandszahl Z beschränkt ist. 2. = Wenn der Index von L endlich ist, so gibt es endlich viele Wörter x 1,...,x k mitσ = [x 1 ]... [x k ],wobei[x i ]dieäquivalenzklasse vonx i bezüglich L bezeichnet. Wir konstruieren nun einen DEA A = (Z,Σ,δ,z 0,F), der die Äquivalenzklassen von L als Zustände hat: Z := {[x 1 ],...,[x k ]} 14

15 δ([x],a) := [xa] für a Σ z 0 := [ε] F := {[x] x L} Nach Definition gilt für alle Wörter x Σ : δ ([ε],x) := [x] und x L(A) δ (z 0,x) F δ ([ε],x) F [x] F x L. Folgerung 1.1 Der im zweiten Teil des Beweises von Satz 1.7 konstruierte Äquivalenzklassenautomat ist derjenige Automat A mit kleinster Zustandszahl und L(A) = L. Daraus folgt: (vollständig definierte) Minimalautomaten sind bis auf Isomorphie eindeutig bestimmt. Beispiel 1.5 Es sei wieder L = L(aa (ba ba ) ). Die Äquivalenzrelation L liefert, wie man leicht sieht, vier Äquivalenzklassen: 1. alle Wörter, die mit einem Symbol b beginnen; 2. alle Wörter, die mit einem a beginnen und eine ungerade Zahl von Symbolen b enthalten; 3. alle Wörter, die mit einem a beginnen und eine gerade Zahl von Symbolen b enthalten; 4. {ε}. Daraus ergibt sich bei Anwendung der Konstruktion aus dem zweiten Teil des Beweises von Satz 1.7 der folgende (vollständig definierte) endliche Automat: Z = {[ε],[a],[b],[ab]}, z 0 = [ε], F = {[a]} und δ = {([ε],a,[a]), ([ε],b,[b]), ([a],a,[a]),([a],b,[ab]),([ab],a,[ab]), ([ab],b,[a]),([b],a,[b]),([b],b,[b])}. Dieser Automat hat die minimale Zustandszahl 4 - man beachte jedoch, daß in Beispiel 1.4 ein nicht vollständig definierter DEA für dieselbe Sprache mit 3 Zuständen angegeben wird. Dies ist kein Widerspruch zur Minimalität des konstruierten Automaten, da dieser nach Konstruktion stets vollständig definiert ist. Ein direkterer Weg zur Bestimmung des Minimalautomaten zu gegebenem vollständig definierten DEA A = (Z,Σ,δ,z 0,F) ist die Klassifizierung der Zustände bezüglich ihres Überführungsverhaltens, bezogen auf die Menge F. Dazu definieren wir die folgenden Äquivalenzrelationen: 15

16 Abbildung 2: Der endliche Automat aus Beispiel 1.6. z z, falls für alle w Σ gilt: δ (z,w) F δ (z,w) F und z k z, falls für alle w Σ mit w k gilt: δ (z,w) F δ (z,w) F Offenbar sind und k Äquivalenzrelationen auf Z und liefern somit Zerlegungen von Z in Äquivalenzklassen. Für k = 0 ergeben sich die beiden Äquivalenzklassen F und Z\F.Offenbarist k+1 eineverfeinerungvon k,undesexistierteinmmit m+1 = m. Das Prinzip des Minimierungsalgorithmus ist die Bestimmung des Minimalautomaten A zu gegebenem vollständig definierten DEA A = (Z,Σ,δ,z 0,F) mit L(A ) = L(A) nach folgender Methode: 1. Starte mit k = 0 und Zerlegung Z 0 := {F,Z \F} von Z. 2. Wiederhole die Konstruktion einer Verfeinerung Z k+1 von Z k wie folgt: für jede Klasse K i in Z k = {K 1,...,K lk } sind die Zustände z und z genau dann k+1 -äquivalent, wenn für alle a Σ z und z in dieselbe Teilklasse von Z k überführt werden solange, bis Z k+1 = Z k ist. 3. Wähle die Klassen von Z k+1 mit entsprechenden Übergängen als neue Zustände. Der neue Anfangszustand ist diejenige Klasse, die z 0 enthält. Die neuen Finalzustände sind diejenigen Klassen, die durch Verfeinerung aus F entstehen. Dabei können nicht erreichbare Zustände stets weggelassen werden. Nachfolgend ein Beispiel zur Minimierung anhand der Zustandsklassifizierung: 16

17 Abbildung 3: Der minimierte Automat aus Beispiel 1.6. Beispiel 1.6 Es sei A = ({0,...,5},{a,b},δ,0,{2,3,4}) mit δ = {(0,a,1), (1,a,0), (0,b,2), (1,b,3), (2,a,4), (2,b,5), (3,a,4), (3,b,5), (4,a,4), (4,b,5), (5,a,5), (5,b,5)}. Offenbar ist L(A) = L(a ba ). Wir starten mit der Zustandszerlegung Z 0 := {{2,3,4},{0,1,5}}. Die Zustände 2,3,4 sind weder durch a noch durch b unterscheidbar, ebenso 0 und 1. Der Zustand 5 ist von 0 und 1 durch b unterscheidbar, da b von 0 und 1 zu einem Finalzustand führt, während b von 5 zu 5 führt. Also ist die endgültige Zerlegung Z 1 := {{2,3,4},{0,1},{5}}. Damit ergibt sich der Minimalautomat A = ({[0],[2],[5]},{a,b},δ,[0],{[2]}) und δ = {([0],a,[0]),([0],b,[2]),([2],a,[2]),([2],b,[5]),([5],a,[5]),([5],b,[5])}. 17

18 2 Kontextfreie Sprachen und Grammatiken Kontextfreie Sprachen stellen die Typ-2-Sprachen der Chomsky-Hierarchie dar. Sie werden durch kontextfreie Grammatiken erzeugt, die ein wesentliches Syntaxbeschreibungsmittel für Programmiersprachen darstellen. Ein syntaktisch korrektes Programm ist entsprechend den Regeln der Grammatik der jeweiligen Programmiersprache gebildet. Das Syntaxanalyseproblem ist das folgende Problem: Gegeben: Ein Programmtext P. Frage: Ist P syntaktisch korrekt? Wenn nein, gib Syntaxfehler an. Wenn ja, gib eine Erzeugung von P mit den Regeln der Programmiersprache an. Diese Erzeugung dient dann zur weiteren Behandlung des Programms im Compiler, also insbesondere zur Übersetzung in Maschinensprache. Wie bei rechtslinearen Grammatiken steht auf der linken Seite einer Ableitungsregel einer kontextfreien Grammatik nur ein Nichtterminal, im Unterschied zu rechtslinearen Grammatiken kann jedoch auf der rechten Seite der Regel irgendein Wort aus Terminalen und Nichtterminalen stehen. 2.1 Kontextfreie Grammatiken und Syntaxbäume Eine kontextfreie Grammatik ist ein 4-Tupel G = (N,Σ,R,S) mit einer endlichen Menge N von Nichtterminalen (oder Variablen), wobei S N ein spezielles Nichtterminal - das Startsymbol - darstellt, einem endlichen Alphabet Σ (der Menge der Terminale) sowie einer endlichen Menge R von Regeln (Erzeugungsregeln, Ableitungsregeln der folgenden Form: X W, wobei X N und W (N Σ) Die Einschritt- sowie Mehrschrittableitung bei einer kontextfreien Grammatik G werden wie bei rechtslinearen Grammatiken definiert: Ist r = u v R und w (N Σ) ein Wort mit dem Teilwort u, d.h. es existieren w 1,w 2 mit w = w 1 uw 2, so besteht ein Ableitungsschritt in der Ersetzung von u durch v in w: w 1 uw 2 w 1 vw 2. Um die Anwendung der Regel r = u v zu betonen, schreibt man auch w 1 uw 2 r w 1 vw 2. Istw durchanwendung vonendlich vielenableitungsschritten bzgl.gausw ableitbar, so schreiben wir w w, wobei wie üblich die reflexive transitive Hülle der zweistelligen Einschritt-Ableitungsrelation bezeichnet. Die durch G erzeugte Sprache L(G) ist definiert durch L(G) := {w w Σ und S w} ZuL(G)gehörenalsoalleWörterüberΣ,diesich inendlichvielen SchrittenmitRegeln von G aus dem Startsymbol ableiten lassen. 18

19 Abbildung 4: Ein Beispiel eines Syntaxbaumes. Eine Sprache L Σ heißt kontextfrei, falls eine kontextfreie Grammatik G mit L = L(G) existiert. Offenbar ist jede reguläre Sprache kontextfrei. Die Umkehrung gilt nicht, wie das folgende Beispiel zeigt: Beispiel 2.1 Die Sprache L = {a n b n n 0} ist kontextfrei, denn sie wird durch die kontextfreie Grammatik G = ({S},{a,b},{S asb,s ε},s) erzeugt. Gibt es zu einem Nichtterminal X mehrere Regeln X w 1,..., X w n mit linker Seite X, so verwendet man auch folgende Kurzschreibweise X w 1... w n für diese Regeln. Im obigen Beispiel wird S asb,s ε zu S asb ε zusammengefaßt. Eine Ableitung S r1 w 1 r2... rk 1 w k 1 rk w k mit w k Σ heißt Linksableitung (leftmost derivation), falls jede Regel r i das jeweils am weitesten links stehende Nichtterminal in w i 1 ersetzt. Beispiel 2.2 Für die Grammatik G = ({S},{(,)},{S SS (S) ε},s) ist S SS (S)S ( )S ( ) ( S ) ( ) ( ) eine Linksableitung von ( ) ( ) und S SS S ( S ) S ( ) ( S ) ( ) ( ) ( ) eine Ableitung, aber keine Linksableitung von ( ) ( ). Die Ableitungen lassen sich graphisch durch sogenannte Syntaxbäume veranschaulichen (siehe Abbildung 4). Aufgabe 2.1 Die Grammatik G aus Beispiel 2.2 erzeugt die Menge der richtig geklammerten Klammerausdrücke über dem Klammerpaar (,). Die Menge der korrekt geklammerten Klammerausdrücke über einem Klammerpaar (bzw. mehreren Klammerpaaren) wird auch als Dyck-Sprache bezeichnet. Definition 2.1 Eine Grammatik G heißt mehrdeutig (ambiguous), falls ein Wort w L(G) existiert mit zwei verschiedenen Linksableitungen. Eine kontextfreie Sprache L heißt mehrdeutig, falls jede kontextfreie Grammatik G mit L = L(G) mehrdeutig ist. 19

20 Abbildung 5: Zwei Syntaxbäume einer mehrdeutigen Grammatik. Für die Syntaxanalyse von kontextfreien Sprachen wäre es angenehm, wenn jedes ableitbare Wort genau eine Linksableitung hätte. Leider gibt es Beispiele von kontextfreien Grammatiken mit ableitbaren Wörtern, die mehrere Linksableitungen besitzen, und sogar Beispiele von kontextfreien Sprachen, die nur durch mehrdeutige Grammatiken erzeugbar sind. Beispiel 2.3 Für die Grammatik G = ({S,A,B},{a,b,c},{S ab Ac,A ab,b bc},s) ist sowohl S Ac abc als auch S ab abc eine Linksableitung von abc (siehe Abbildung 5). Offenbar erzeugt die Grammatik G die einelementige Sprache L = {abc}. S abc ist jedoch eine viel einfachere Grammatik, die ebenfalls diese Sprache erzeugt. Satz 2.1 Die Sprache L := {a i b j c k i = j oder j = k} ist mehrdeutig. Ein Beweis dieses Satzes ist im Lehrbuch von I. Wegener angegeben. 2.2 Die Chomsky-Normalform Bei der Syntaxbeschreibung kontextfreier Sprachen sucht man, ähnlich wie bei rechtslinearen Grammatiken, nach Normalformen von kontextfreien Grammatiken. Eine solche ist die folgende. Definition 2.2 Eine kontextfreie Grammatik G = (N, Σ, R, S) ist in Chomsky- Normalform, falls alle Regeln aus R die folgende Form haben: A BC für A,B,C N oder A a für A N und a Σ. Mit solchen Grammatiken läßt sich also das leere Wort ε nicht erzeugen. Der nachfolgende Satz 2.2 zeigt, daß bis auf diese Ausnahme jede kontextfreie Sprache sich so erzeugen läßt, also der Begriff Normalform gerechtfertigt ist. 20

21 Aufgabe 2.2 Behauptung: L ist kontextfrei genau dann, wenn L\{ε} kontextfrei ist. Lösung: Ist ε L, so ist L \ {ε} ebenfalls kontextfrei: In einer Grammatik G mit L = L(G) kann man alle Regeln A ε streichen sowie in allen Regeln B W, W (N Σ), bei denen A in der rechten Seite W vorkommt, die Vorkommen von A in W streichen. Die so entstandene kontextfreie Grammatik erzeugt L(G)\ ε. Ist umgekehrt L = L(G) kontextfrei und ε / L, so ist L {ε} ebenfalls kontextfrei: Ersetze das Startsymbol S in G durch ein neues Startsymbol S mit S S und S ε. Diese Grammatik erzeugt L {ε}. Satz 2.2 Zu jeder kontextfreien Sprache L mit ε / L gibt es eine kontextfreie Grammatik G in Chomsky-Normalform mit L = L(G). Beweis: Es sei L eine kontextfreie Sprache und G eine kontextfreie Grammatik mit L = L(G). Wir nehmen an, daß G keine Regeln der Form A ε enthält. Ähnlich wie beim Übergang von einer rechtslinearen Grammatik zu einer äquivalenten rechtslinearen Grammatik in Normalform (siehe Satz 1.2) diskutieren wir mehrere Fälle: 1. Fall: Regeln A B für A,B N. Wie im Beweis von Satz 1.2 werden zunächst alle Kreise von Regeln solcher Art beseitigt, indem man die Kreise jeweils durch ein neues Nichtterminal ersetzt und die übrigen Regeln entsprechend abändert, indem man Nichtterminale aus dem Kreis jeweils durch das neue Nichtterminal ersetzt. Ebenfalls analog zum Beweis von Satz 1.2 werden Ketten von Regeln solcher Art beseitigt, indem man von rechts nach links diese Regeln beseitigt und die möglichen Ableitungen aus der Kette alle beim ersten Nichtterminal der Kette sammelt. 2. Fall: Regeln A W für A N und W 2. Falls W = 2 und W aus zwei Nichtterminalen besteht, entspricht es der Forderung der Normalform. Sonst werden die Terminale t in W durch entsprechende Nichtterminale X t ersetzt sowie die Regeln X t teingeführt.dasselbegeschieht fürlängerew.nunbestehenrechteseitenw nur aus Nichtterminalen X 1...X k, k 2. Ist k > 2, so werden neue Regeln A X 1 Y 1, Y 1 X 2 Y 2,... Y k 1 X k 1 X k mit neuen Nichtterminalen Y i eingeführt. Die so erhaltene kontextfreie Grammatik erzeugt offenbar ebenfalls L. Beispiel 2.4 Wir bestimmen die Chomsky-Normalform für die Grammatik G = ({S},{[,]},{S SS [S] [ ]},S) - dies ist im wesentlichen dieselbe Grammatik wie die aus Beispiel 2.2 mit dem Unterschied, daß die Regel S ε fehlt. Es gibt für diese Grammatik keine Kreise von Nichtterminalen sowie keine Ketten solcher Art. Terminale [,] in rechten Seiten werden durch X [,X ] ersetzt, also wird aus S [S] die Regel S X [ S X ]. Zu lange rechte Seiten werden wie folgt ersetzt: S X [ Y, Y SX ]. Insgesamt erhält man also die Regeln: S SS X [ Y X [ X ], Y SX ], X [ [, X ] ]. 21

22 Definition 2.3 Eine kontextfreie Grammatik G = (N, Σ, R, S) heißt reduziert, falls gilt: 1. Für alle A N gibt es ein w Σ mit A w; 2. Für alle A N gibt es W 1,W 2 mit S W 1 AW 2. Nichtterminale A, die diese beiden Bedingungen nicht erfüllen, tragen offenbar nichts zur Erzeugung der Sprache L(G) bei, heißen nutzlos und können weggelassen werden; die Reduktion einer Grammatik besteht im Weglassen nutzloser Nichtterminale. Im folgenden geben wir an, wie man eine Grammatik reduziert. Wir bestimmen zunächst alle Nichtterminale, aus denen sich Wörter aus Σ ableiten lassen. Es sei N k := {A A N und es existiert ein Wort w Σ, das sich in höchstens k Ableitungsschritten aus A ableiten läßt}. Also ist N 1 = {A A N und es existiert eine Regel r R mit r = A w}. Offenbar ist N k+1 = N k {A A N und es existiert ein W (N k Σ) mit A W R}. Man konstruiert nun schrittweise N 1 N 2..., bis N k = N k+1 gilt. Nun hat man alle Nichtterminale erfaßt, die gemäß der ersten Bedingung nützlich sind. Übrigens ist L(G) = genau dann, wenn S nicht in k 1 N k ist. Nun werden, ausgehend von S, auf analoge Weise die in k 1 N k gemäß der zweiten Bedingung nützlichen Nichtterminale bestimmt. 2.3 Das Pumping-Lemma für kontextfreie Sprachen Das Pumping-Lemma für kontextfreie Sprachen drückt, ähnlich wie dasjenige für reguläre Sprachen, eine Periodizitätseigenschaft aus, deren Ursache in der Endlichkeit der Nichtterminalmenge liegt. Es lautet: Lemma 2.1 (Pumping-Lemma für kontextfreie Sprachen) Für jede kontextfreie Sprache L existiert eine Zahl n L, so daß für alle Wörter z L mit z n L gilt: Es existiert eine Zerlegung z = uvwxy mit vx 1 und vwx n L, so daß für alle i 0 uv i wx i y L gilt. Dabei ist, wie üblich, v 0 = x 0 = ε, also uv 0 wx 0 y = uwy. Beweis: Es sei ε / L (falls dies nicht erfüllt ist, gehe zu L \ {ε} über). Es sei G = (N,Σ,R,S) kontextfreie Grammatik in Chomsky-Normalform mit L(G) = L, N = k, n L := 2 k sowie z L mit z n L. Wir betrachten einen Syntaxbaum für z. Wegen der Chomsky-Normalform sind, bis auf die Nichtterminale, die den Blättern vorangehen, die inneren Knoten solche vom Grad zwei. Die Blätter sind mit den Terminalen belegt, die von links nach rechts z ergeben. Wegen z 2 k hat der Binärbaum mindestens 2 k Blätter. Also existiert ein Weg von der Wurzel S zu einem Blatt mit Länge k+1, d.h. auf dem Weg kommen mindestens 22

23 k + 1 Nichtterminale vor, N enthält jedoch nur k Nichtterminale. Folglich kommt eines der Nichtterminale zweimal vor. Wir wählen nun einen längsten Weg im Baum vom Blatt zur Wurzel. Es sei A das erste Nichtterminal, das sich(in dieser Richtung gesehen) wiederholt. Wir setzen w gleich dem vom untersten Vorkommen von A aus im Baum abgeleiteten Wort sowie vwx gleich dem vom zweituntersten Vorkommen von A aus im Baum abgeleiteten Wort. Offenbar ist vx 1, da vom zweituntersten Vorkommen von A aus bis zum untersten Vorkommen von A mindestens ein Terminal abgeleitet werden muß, und vwx n L, da der Abstand des zweituntersten A zur Blattebene höchstens k beträgt. Nun kann man den Syntaxbaum modifizieren: Indem man die beiden Vorkommen von A identifiziert, erhält man uv 0 wx 0 y = uwy, und indem man das Zwischenstück zwischen den beiden A i-fach wiederholt, erhält man uv i wx i y. Das Lemma läßt sich anwenden, um von geeigneten Sprachen zu zeigen, daß sie nicht kontextfrei sind. (Jedoch läßt sich dies nicht für jede nicht kontextfreie Sprache auf diese Weise zeigen.) Beispiel 2.5 Die Sprache L = {a m b m c m m N} ist nicht kontextfrei. Beweis: Angenommen, L wäre doch kontextfrei. Dann existiert ein n = n L entsprechend dem Lemma. Wir betrachten das Wort a n b n c n. Dieses Wort hat also eine Zerlegung uvwxy mit vwx n und nichtleerem vx. Also kann vx nicht gleichzeitig Buchstaben a,b und c enthalten. Enthält z.b. vx Buchstaben a und b, so kein c. Es gilt dann uv 0 wx 0 y L, aber das Wort hat nicht mehr gleich viele Symbole a,b und c - Widerspruch. Also ist die Sprache nicht kontextfrei. Ebenfalls mit Hilfe des Pumping-Lemmas kann manzeigen, daß die Sprache L = {ww w {0,1} } nicht kontextfrei ist. Dazu reicht es, unter der Annahme, daß L doch kontextfrei wäre, ein Wort 0 n 1 n 0 n 1 n zu wählen (n = n L aus dem Pumping-Lemma) und alle möglichen Fälle für die Lage von vwx mit vwx n zu diskutieren; diese führen jeweils zu einem Widerspruch, und damit ist L nicht kontextfrei. Beim Nachweis, daß die Sprache L = {a i b j c k d l i 0 = j = k = l} nicht kontextfrei ist, reicht das Pumping-Lemma nicht aus. Es gibt jedoch folgende Verschärfung: Lemma 2.2 (Ogden s Lemma für kontextfreie Sprachen) Für jede kontextfreie Sprache L existiert eine Zahl n L, so daß für alle Wörter z L mit z n L gilt: Wenn man in z mindestens n L Buchstaben, d.h. Positionen, markiert, so existiert eine Zerlegung z = uvwxy, bei der in vx mindestens ein Buchstabe markiert ist, in vwx höchstens n L Buchstaben markiert sind, und für alle i 0 gilt uv i wx i y L. Der Beweis des Lemmas von Ogden geht analog zum Beweis des Pumping-Lemmas. Aufgabe 2.3 Zeigen Sie mit Hilfe des Lemmas von Ogden, daß die Sprache L = {a i b j c k d l i 0 = j = k = l} nicht kontextfrei ist (Hinweis: Wähle das Wort ab n c n d n und markiere das Teilwort bc n d. Für jede Zerlegung z = uvwxy, für die vx mindestens einen markierten Buchstaben enthält und vwx höchstens n markierte Buchstaben enthält, ist uv 2 wx 2 y / L, da vwx nur zwei der drei Buchstaben b,c,d enthalten kann.) 23

24 2.4 Das Problem der Syntaxanalyse für kontextfreie Sprachen Es sei G = (N,Σ,R,S) eine kontextfreie Grammatik in Chomsky-Normalform und w = x 1...x n Σ. Das Syntaxanalyseproblem ist die Frage, ob w L(G) ist. Um dieses Problem zu lösen, bestimmen wir stufenweise für alle i und j die Menge der Nichtterminale, aus denen sich das Teilwort der Länge j von w, beginnend bei x i, ableiten läßt. Dazu definieren wir folgende Nichtterminalmengen: N i,1 := {A A N,A x i R} N i,j := {A A N und es existiert ein k, 1 k < j sowie eine Regel A BC R mit B N i,k und C N i+k,j k } Lemma 2.3 Es gilt A N i,j genau dann, wenn A x i...x i+j 1, d.h. von A aus ist das Teilwort der Länge j, beginnend bei x i, ableitbar. Beweis: Der Beweis erfolgt induktiv: Induktionsanfang: Für j = 1 ist die Behauptung klar. Induktionsschritt: Angenommen, für Wortlänge j sei die Behauptung richtig. Wir wollen die Gültigkeit der Behauptung für Wortlänge j + 1 nachweisen. Es sei A x i...x i+j. Dann existiert eine Regel A BC R und ein k, 1 k < j, mit B x i...x i+k 1 sowie C x i+k...x i+j. Nach Induktionsvoraussetzung ist daher B N i,k und C N i+k,j+1 k, also ist A N i,j+1. Die Umkehrung gilt analog. Folgerung 2.1 Es gilt w L(G) genau dann, wenn S N 1,n. Daraus ergibt sich folgender Algorithmus (der von Cocke, Kasami, und Younger unabhängig voneinander gefunden wurde): (1) Setze N i,1 := {A A N,A x i R} für alle i, 1 i n und setze j := 1. (2) repeat j := j + 1 sowie N i,j := {A A N und es existiert ein k, 1 k < j sowie eine Regel A BC R} mit B N i,k und C N i+k,j k until j = n Der Algorithmus ist korrekt, wie sich aus dem Vorangegangenen ergibt, und eine obere Schranke für seinen Zeitaufwand ist O(n 3 ) für die Wortlänge w = n: In der repeat- Schleife werden höchstens O(n 2 ) Mengen N i,j berechnet. Für jedes N i,j wird für konstant viele Nichtterminale A (die Menge N) geprüft, ob sie in N i,j sind. Dazu muß für konstant viele Regeln A BC geprüft werden, ob ein k, 1 k < n existiert mit B N i,k und C N i+k,j k. Dies sind ebenfalls höchstens n Möglichkeiten. Insgesamt ergibt sich also der Zeitaufwand O(n 3 ). 24

25 Abbildung 6: Ein Beispiel für die Anwendung des Algorithmus von Cocke, Younger, Kasami zur Syntaxanalyse des Wortes ( ) ( ). Beispiel 2.6 Es sei G gegeben durch die Regeln S SS X ( Y X ( X ),Y SX ),X ( (,X ) ). Es soll getestet werden, ob w = ( ) ( ) L(G) ist (siehe Abbildung 6). Es gilt N 1,1 = {X ( }, N 2,1 = {X ) }, N 3,1 = {X ( }, N 4,1 = {X ) }. Bei der Bestimmung von N 1,2 ergibt sich für k = 1 wegen S X ( X ) R, daß S N 1,2 ist, und für k = 2 ergibt sich kein weiteres Nichtterminal. Analog ergeben sich N 2,2 =, N 3,2 = S, N 1,3 =, N 2,3 = sowie schließlich N 1,4 = S. Damit ist w L(G). Übrigens liefert diese Rekursion auch eine Ableitung, wenn man jeweils zusätzliche Pointer entsprechend der Herkunft der Nichtterminale in den Mengen N i,j mitführt. 2.5 Kontextfreie Sprachen, Backus-Naur-Form und Mengengleichungssysteme Syntaxbeschreibungen von Programmiersprachen hängen eng mit kontextfreien Grammatiken zusammen. Dies wird deutlich in Regeln von Syntaxdiagrammen wie z.b. der if-anweisung von Pascal in Abbildung 7 bzw. in Regeln der Backus-Naur-Form zu Sprachen vom Typ ALGOL. Beispiel 2.7 Die folgenden Regeln sind Beispiele aus der Syntaxbeschreibung von AL- GOL: 1. < identifier >::=< letter > < identifier >< letter > < identifier >< digit > 2. < unsigned integer >::=< digit > < unsigned integer >< digit > 25

26 Abbildung 7: Die Syntax der if-anweisung in Pascal. 3. < label >::=< identifier > < unsigned integer > Hier werden also, ähnlich wie bei regulären Ausdrücken, rekursive Definitionen von Ausdrücken angegeben. Dabei ist letter endliche Menge, digit endliche Menge usw. Die Gesamtheit dieser Regeln - ALGOL hat mehr als 150 davon - heißt Backus- Naur-Form oder kurz BNF. Die Regeln lassen sich kürzer auch als Mengengleichungen mit Mengenvariablen I (für identifier), U (für unsigned integer), L (für label) und konstanten Koeffizienten l 1 (für letter), d (für digit) beschreiben. Für das obige Beispiel ergibt sich: 1. I = l 1 Il 1 Id 2. U = d Ud 3. L = I U Dabei ist natürlich l 1 I und d U. Auf diese Weise erhält man aus der BNF ein Mengengleichungssystem für die linken Seiten der BNF-Regeln als Unbekannten. Man kann die Gleichungen auch funktional beschreiben: 1. I = f 1 (I,U,L) 2. U = f 2 (I,U,L) 3. L = f 3 (I,U,L) Lösungen für die Variablen I, U und L können wie folgt rekursiv berechnet werden. Zunächst werden die folgenden Anfangswerte gewählt: 1. I(0) := f 1 (,, ) = l 1 l 1 d = l 1 2. U(0) := f 2 (,, ) = d d = d 3. L(0) := f 3 (,, ) = = 26

27 Wir setzen nun für k 0 1. I(k +1) := f 1 (I(k),U(k),L(k)) 2. U(k +1) := f 2 (I(k),U(k),L(k)) 3. L(k +1) := f 3 (I(k),U(k),L(k)) sowie I := k=0 I(k), U := k=0 U(k) und L := k=0 L(k). Um nun von dem obigen Beispiel zu abstrahieren, betrachten wir allgemein für ein endliches Alphabet Σ und Variablen X 1,...,X n mit Werten aus der Potenzmenge P(Σ ) sowie V = Σ {X 1,...,X n } folgende Funktionengleichungen: f(x 1,...,X n ) = s i=1 Π i(x 1,...,X n ), wobei die Terme Π i (X 1,...,X n ) endliche Produkte von Variablen und gewissen Teilmengen von Σ, den Koeffizienten, darstellen. f(x 1,...,X n ) stellt also eine Abbildung von P(Σ )... P(Σ ) in P(Σ ) dar. Das Polynom f(x 1,...,X n ) heißt Standardfunktion, falls alle seine Koeffizienten endliche Mengen sind. Beachte: Es gelten die Distributivgesetze für die angegebenen Gleichungen. Es seien nun f 1 (X 1,...,X n ),..., f n (X 1,...,X n ) Standardfunktionen, die P(Σ )... P(Σ ) in P(Σ ) abbilden. f(x 1,...,X n ) = (f 1 (X 1,...,X n ),...,f n (X 1,...,X n ))heißtn-komponentige Standardfunktion und ist entsprechend komponentenweise definiert. Für jede Variable gibt es eine definierende Gleichung mit der Variablen auf der linken Seite. Es sei nun f(x 1,...,X n ) eine n-komponentige Standardfunktion. Wir setzen α (0) = (α (0) 1,...,α n (0) ) := f(,..., ) und für alle k 0 α (k+1) := (α (k+1) 1,...,α n (k+1) ) := f(α (k) 1,...,α(k) n ) = f(α (k) ). Es sei α j := j 1 j n. Dann ist das n-tupel (α 1,...,α n ) eine Lösung des Gleichungssystems k=0 α(k) für X 1 = f 1 (X 1,...,X n ) X 2 = f 2 (X 1,...,X n )... X n = f n (X 1,...,X n ) (kurz: X = f(x) für X = (X 1,...,X n )). Dies ist eine Fixpunktgleichung, und jede Lösung dieser Gleichung heißt Fixpunkt. Jede Komponente α j eines Fixpunkts α = (α 1,...,α n ) dieser Gleichung, d.h. heißt Sprache vom ALGOL-Typ. α = f(α) 27

28 Es ist naheliegend, jede Variable X i auf der linken Seite einer BNF-Regel als Nichtterminal zu deuten. Die BNF-Zeile zu X i erfaßt in der entsprechenden Vereinigung dann alle Regeln zu diesem Nichtterminal, und verwendet man das jeweilige Nichtterminal als Startsymbol der entsprechenden kontextfreien Grammatik, so ergibt sich eine kontextfreie Sprache. Dieser Zusammenhang wird in folgendem Satz erfaßt: Satz 2.3 Jede Sprache vom ALGOL-Typ ist kontextfrei und umgekehrt. Beachte: Dies bedeutet nicht, daß alle Programmiersprachen kontextfrei sind, sondern es heißt lediglich, daß die BNF nur zu solchen führt. In realen Programmiersprachen gibt es darüber hinaus sogenannte Kontextbedingungen, die auf diese Weise nicht erfaßt werden können. 2.6 Kellerautomaten Wir geben in diesem Kapitel einen Automatentyp an, der genau die kontextfreien Sprachen akzeptiert. Dies sind die sogenannten (nichtdeterministischen 1-Weg-) Kellerautomaten, die als spezielle Turingmaschinen aufgefaßt werden können. Ihr Arbeitsband ist ein stack: Die Datenstruktur stack (Stapel) hat folgendes last-in-first-out-prinzip (LIFO-Prinzip): Was zuletzt auf dem Stapel abgelegt wird, wird zuerst wieder heruntergenommen. Dies ist auch das Speicherungsprinzip bei sogenannten Kellerbändern: Ein Kellerband ist im Prinzip ein spezielles einseitig unendliches Turingband, auf dem von links nach rechts (bzw. von unten nach oben, falls man sich das Band als Stapel vorstellt) gespeichert werden kann, und der vom Kopf von rechts nach links (bzw. von oben nach unten) gelesene Inhalt geht wieder verloren. Ein nichtdeterministischer Kellerautomat entsteht im wesentlichen aus einem nichtdeterministischen endlichen Automaten durch ein zusätzliches Kellerband, d.h. der Kellerautomat hat ein Einweg-Eingabeband, auf dem die Eingabe von links nach rechts gelesen wird, während gleichzeitig auf dem Kellerband Speicher- oder Leseoperationen der obigen Art ausgeführt werden können. Ist das Eingabewort vollständig gelesen, so erfolgt die Entscheidung, ob das Eingabewort akzeptiert wird. Dies ist auf zwei verschiedene Weisen möglich: Akzeptierung, falls der Keller (wieder) leer ist Akzeptierung durch Finalzustände. Man sieht übrigens leicht, daß mit 2-Weg-Eingabeband bei Kellerautomaten auch nicht kontextfreie Sprachen akzeptiert werden können wie z.b. {a n b n c n n 1}. Also ist die Einschränkung auf 1-Weg-Eingabeband wesentlich, wenn man ein Automatenkonzept sucht, das kontextfreie Sprachen charakterisiert. Formal sieht ein Kellerautomat wie folgt aus: Definition 2.4 A = (Z,Σ,Γ,,δ,z 0,Z f ) heißt Kellerautomat, falls gilt: 28

Programmiersprachen und Übersetzer

Programmiersprachen und Übersetzer Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel. Kontextfreie Kontextfreie Motivation Formale rundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen Bisher hatten wir Automaten, die Wörter akzeptieren Frank Heitmann heitmann@informatik.uni-hamburg.de

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 Einführung Beispiel: Aussagenlogische Formeln Aus dem Logikteil: Definition (Syntax

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische Informatik I Einheit 2.4 Grammatiken 1. Arbeitsweise 2. Klassifizierung 3. Beziehung zu Automaten Beschreibungsformen für Sprachen Mathematische Mengennotation Prädikate beschreiben Eigenschaften

Mehr

Grammatiken. Einführung

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

Mehr

Wortproblem für kontextfreie Grammatiken

Wortproblem für kontextfreie Grammatiken Wortproblem für kontextfreie Grammatiken G kontextfreie Grammatik. w Σ w L(G)? Wortproblem ist primitiv rekursiv entscheidbar. (schlechte obere Schranke!) Kellerautomat der L(G) akzeptiert Ist dieser effizient?

Mehr

2.11 Kontextfreie Grammatiken und Parsebäume

2.11 Kontextfreie Grammatiken und Parsebäume 2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle

Mehr

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen 19

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen 19 Inhalt 1 inführung 2 Automatentheorie und ormale prachen Grammatiken Reguläre prachen und endliche Automaten Kontextfreie prachen und Kellerautomaten Kontextsensitive und yp 0-prachen 3 Berechenbarkeitstheorie

Mehr

Vorlesung Theoretische Informatik

Vorlesung Theoretische Informatik Vorlesung Theoretische Informatik Automaten und Formale Sprachen Hochschule Reutlingen Fakultät für Informatik Masterstudiengang Wirtschaftsinformatik überarbeitet von F. Laux (Stand: 09.06.2010) Sommersemester

Mehr

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

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

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 3. Endliche Automaten (V) 21.05.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Determinierte endliche Automaten (DEAs) Indeterminierte

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Kapitel 2: Formale Sprachen Kontextfreie Sprachen. reguläre Grammatiken/Sprachen. kontextfreie Grammatiken/Sprachen

Kapitel 2: Formale Sprachen Kontextfreie Sprachen. reguläre Grammatiken/Sprachen. kontextfreie Grammatiken/Sprachen reguläre Grammatiken/prachen Beschreibung für Bezeichner in Programmiersprachen Beschreibung für wild cards in kriptsprachen (/* reguläre Ausdrücke */)?; [a-z]; * kontextfreie Grammatiken/prachen Beschreibung

Mehr

Formale Sprachen und Grammatiken

Formale Sprachen und Grammatiken Formale Sprachen und Grammatiken Jede Sprache besitzt die Aspekte Semantik (Bedeutung) und Syntax (formaler Aufbau). Die zulässige und korrekte Form der Wörter und Sätze einer Sprache wird durch die Syntax

Mehr

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

Mehr

Informatik IC2. Balazs Simon 2005.03.26.

Informatik IC2. Balazs Simon 2005.03.26. Informatik IC2 Balazs Simon 2005.03.26. Inhaltsverzeichnis 1 Reguläre Sprachen 3 1.1 Reguläre Sprachen und endliche Automaten...................... 3 1.2 Determinisieren.....................................

Mehr

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik Grundlagen der Informatik II Teil I: Formale Modelle der Informatik 1 Einführung GdInfoII 1-2 Ziele/Fragestellungen der Theoretischen Informatik 1. Einführung abstrakter Modelle für informationsverarbeitende

Mehr

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de Grundlagen Theoretischer Informatik I SoSe 2011 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Grundlagen Theoretischer Informatik I Gesamtübersicht Organisatorisches; Einführung Logik

Mehr

Mathematische Grundlagen der Informatik 2

Mathematische Grundlagen der Informatik 2 Zusammenfassung Math2I Mathematische Grundlagen der Informatik 2 Emanuel Duss emanuel.duss@gmail.com 12. April 2013 1 Zusammenfassung Math2I Mathematische Grundlagen der Informatik 2 Dieses Dokument basiert

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r ) Definition B : Menge der binären Bäume, rekursiv definiert durch die Regeln: ist ein binärer Baum sind t l, t r binäre Bäume, so ist auch t =, t l, t r ein binärer Baum nur das, was durch die beiden vorigen

Mehr

1. Formale Sprachen 1.2 Grammatiken formaler Sprachen

1. Formale Sprachen 1.2 Grammatiken formaler Sprachen 1. Formale Sprachen 1.2 Grammatiken formaler Sprachen Die Regeln zur Bildung korrekter Wörter einer Sprache kann man in einer natürlichen Sprache formulieren. Da dies jedoch wieder Mehrdeutigkeiten mit

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

3. Zusammenhang. 22 Andreas Gathmann

3. Zusammenhang. 22 Andreas Gathmann 22 Andreas Gathmann 3. Zusammenhang Eine der anschaulichsten Eigenschaften eines topologischen Raumes ist wahrscheinlich, ob er zusammenhängend ist oder aus mehreren Teilen besteht. Wir wollen dieses Konzept

Mehr

Codierungstheorie Rudolf Scharlau, SoSe 2006 9

Codierungstheorie Rudolf Scharlau, SoSe 2006 9 Codierungstheorie Rudolf Scharlau, SoSe 2006 9 2 Optimale Codes Optimalität bezieht sich auf eine gegebene Quelle, d.h. eine Wahrscheinlichkeitsverteilung auf den Symbolen s 1,..., s q des Quellalphabets

Mehr

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83 9.. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83 Die Grundfrage bei der Anwendung des Satzes über implizite Funktionen betrifft immer die folgende Situation: Wir haben eine Funktion f : V W und eine Stelle x

Mehr

Deterministische Turing-Maschinen (DTM) F3 03/04 p.46/395

Deterministische Turing-Maschinen (DTM) F3 03/04 p.46/395 Deterministische Turing-Maschinen (DTM) F3 03/04 p.46/395 Turing-Machine Wir suchen ein Modell zur formalen Definition der Berechenbarkeit von Funktionen und deren Zeit- und Platzbedarf. Verschiedene Modelle

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische nformatik inheit 3 Kontextfreie Sprachen 1. Kontextfreie Grammatiken 2. Pushdown Automaten 3. igenschaften kontextfreier Sprachen Theoretische nformatik inheit 3.1 Kontextfreie Grammatiken

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

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

Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit Sommersemester 2011 Dozent: Prof. Dr. J. Rothe, Prof. Dr. M. Leuschel J. Rothe (HHU Düsseldorf)

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren. Basis und Dimension Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren. Definition. Sei V ein K-Vektorraum und (v i ) i I eine Familie von Vektoren

Mehr

15 Optimales Kodieren

15 Optimales Kodieren 15 Optimales Kodieren Es soll ein optimaler Kodierer C(T ) entworfen werden, welcher eine Information (z.b. Text T ) mit möglichst geringer Bitanzahl eindeutig überträgt. Die Anforderungen an den optimalen

Mehr

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren: 4. AUSSAGENLOGIK: SYNTAX 4.1 Objektsprache und Metasprache 4.2 Gebrauch und Erwähnung 4.3 Metavariablen: Verallgemeinerndes Sprechen über Ausdrücke von AL 4.4 Die Sprache der Aussagenlogik 4.5 Terminologie

Mehr

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5) Einführung 3 Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Hatten den Reduktionsbegriff

Mehr

Absolute Stetigkeit von Maßen

Absolute Stetigkeit von Maßen Absolute Stetigkeit von Maßen Definition. Seien µ und ν Maße auf (X, Ω). Dann heißt ν absolut stetig bezüglich µ (kurz ν µ ), wenn für alle A Ω mit µ(a) = 0 auch gilt dass ν(a) = 0. Lemma. Sei ν ein endliches

Mehr

Anmerkungen zur Übergangsprüfung

Anmerkungen zur Übergangsprüfung DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung

Mehr

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 8: kontextfreie Grammatiken Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2009/2010 1/37 Überblick Kontextfreie Grammatiken

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 13 Einheiten Definition 13.1. Ein Element u in einem Ring R heißt Einheit, wenn es ein Element v R gibt mit uv = vu = 1. DasElementv

Mehr

Theoretische Grundlagen des Software Engineering

Theoretische Grundlagen des Software Engineering Theoretische Grundlagen des Software Engineering 11: Abstrakte Reduktionssysteme schulz@eprover.org Reduktionssysteme Definition: Reduktionssystem Ein Reduktionssystem ist ein Tupel (A, ) Dabei gilt: A

Mehr

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten Inhalt 1 Einführung 2 Automatentheorie und Formale Sprachen Grammatiken Reguläre Sprachen und endliche Automaten Kontextfreie Sprachen und Kellerautomaten Kontextsensitive und Typ 0-Sprachen 3 Berechenbarkeitstheorie

Mehr

Informatik III - WS07/08

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

Mehr

7 Rechnen mit Polynomen

7 Rechnen mit Polynomen 7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn

Mehr

Was bisher geschah: Formale Sprachen

Was bisher geschah: Formale Sprachen Was isher geschah: Formale Sprachen Alphaet, Wort, Sprache Operationen und Relationen auf Wörtern und Sprachen reguläre Ausdrücke: Syntax, Semantik, Äquivalenz Wortersetzungssysteme Wortersetzungsregeln

Mehr

Sprachen/Grammatiken eine Wiederholung

Sprachen/Grammatiken eine Wiederholung Sprachen/Grammatiken eine Wiederholung Was sind reguläre Sprachen? Eigenschaften regulärer Sprachen Sprachen Begriffe Symbol: unzerlegbare Grundzeichen Alphabet: endliche Menge von Symbolen Zeichenreihe:

Mehr

Grammatiken und die Chomsky-Hierarchie

Grammatiken und die Chomsky-Hierarchie Grammatiken und die Chomsky-Hierarchie Def.: Eine Grammatik G=(Σ,V,S,R) besteht aus endlichem Alphabet Σ endlicher Variablenmenge V mit V Σ= Startsymbol SєV endlicher Menge R с (V Σ) + x(v Σ)* von Ableitungsregeln

Mehr

Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1

Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1 Zusammenfassung Zusammenfassung der letzten LV Einführung in die Theoretische Informatik Woche 7 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 1 Wir betrachten die folgende Signatur

Mehr

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung. Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,

Mehr

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2013/14 Isomorphie Zwei Graphen (V 1, E 1 ) und (V

Mehr

TheGI 1: Grundlagen und algebraische Strukturen Prof. Dr.-Ing. Uwe Nestmann - 09. Februar 2010. 2. Schriftliche Leistungskontrolle (EK)

TheGI 1: Grundlagen und algebraische Strukturen Prof. Dr.-Ing. Uwe Nestmann - 09. Februar 2010. 2. Schriftliche Leistungskontrolle (EK) TheGI 1: Grundlagen und algebraische Strukturen Prof. Dr.-Ing. Uwe Nestmann - 09. Februar 2010 2. Schriftliche Leistungskontrolle (EK) Punktzahl In dieser schriftlichen Leistungskontrolle sind 100 Punkte

Mehr

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können. 6. Bäume Lernziele 6. Bäume Lernziele: Definition und Eigenschaften binärer Bäume kennen, Traversierungsalgorithmen für binäre Bäume implementieren können, die Bedeutung von Suchbäumen für die effiziente

Mehr

Also kann nur A ist roter Südler und B ist grüner Nordler gelten.

Also kann nur A ist roter Südler und B ist grüner Nordler gelten. Aufgabe 1.1: (4 Punkte) Der Planet Og wird von zwei verschiedenen Rassen bewohnt - dem grünen und dem roten Volk. Desweiteren sind die Leute, die auf der nördlichen Halbkugel geboren wurden von denen auf

Mehr

a n + 2 1 auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert:

a n + 2 1 auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert: Beispiel: Wir untersuchen die rekursiv definierte Folge a 0 + auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert: ( ) (,, 7, 5,...) Wir können also vermuten, dass die Folge monoton fallend

Mehr

7. Formale Sprachen und Grammatiken

7. Formale Sprachen und Grammatiken 7. Formale Sprachen und Grammatiken Computer verwenden zur Verarbeitung von Daten und Informationen künstliche, formale Sprachen (Maschinenspr., Assemblerspachen, Programmierspr., Datenbankspr., Wissensrepräsentationsspr.,...)

Mehr

Informatik I WS 07/08 Tutorium 24

Informatik I WS 07/08 Tutorium 24 Info I Tutorium 24 Informatik I WS 07/08 Tutorium 24 3.2.07 astian Molkenthin E-Mail: infotut@sunshine2k.de Web: http://infotut.sunshine2k.de Organisatorisches / Review is zum 2.2 müssen alle Praxisaufgaben

Mehr

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt Methoden und Techniken an Beispielen erklärt Georg Anegg 5. November 009 Beispiel. Die Folge {a n } sei wie folgt definiert (a, d, q R, q ): a 0 a, a n+ a n q + d (n 0) Man bestimme eine explizite Darstellung

Mehr

3.2 Spiegelungen an zwei Spiegeln

3.2 Spiegelungen an zwei Spiegeln 3 Die Theorie des Spiegelbuches 45 sehen, wenn die Person uns direkt gegenüber steht. Denn dann hat sie eine Drehung um die senkrechte Achse gemacht und dabei links und rechts vertauscht. 3.2 Spiegelungen

Mehr

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen Gleichungen Lösen Was bedeutet es, eine Gleichung zu lösen? Was ist überhaupt eine Gleichung? Eine Gleichung ist, grundsätzlich eine Aussage über zwei mathematische Terme, dass sie gleich sind. Ein Term

Mehr

Kapitel 2. Methoden zur Beschreibung von Syntax

Kapitel 2. Methoden zur Beschreibung von Syntax 1 Kapitel 2 Methoden zur Beschreibung von Syntax Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt 2 Ziele Zwei Standards zur Definition der Syntax von

Mehr

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme und Grammatikregeln

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme und Grammatikregeln Stefan Brass: OOP (Java), 3. Syntaxdiagramme und Grammatikregeln 1/32 Objektorientierte Programmierung Kapitel 3: Syntaxdiagramme und Grammatikregeln Stefan Brass Martin-Luther-Universität Halle-Wittenberg

Mehr

Übung Theoretische Grundlagen

Übung Theoretische Grundlagen Übung Theoretische Grundlagen Berechenbarkeit/Entscheidbarkeit Nico Döttling November 26, 2009 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT University of the State of Baden-Wuerttemberg and National Laboratory

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Kapitel 6: Induktives Vorgehen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen

Mehr

3.3 Eigenwerte und Eigenräume, Diagonalisierung

3.3 Eigenwerte und Eigenräume, Diagonalisierung 3.3 Eigenwerte und Eigenräume, Diagonalisierung Definition und Lemma 3.3.1. Sei V ein K-Vektorraum, φ End K (V ), λ K. Wir defnieren den zu λ gehörigen Eigenraum von φ als Dies ist ein Unterraum von V.

Mehr

Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung

Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung Frank Heitmann heitmann@informatik.uni-hamburg.de 13. Mai 2014 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/17 Überblick Wir hatten

Mehr

Der Zwei-Quadrate-Satz von Fermat

Der Zwei-Quadrate-Satz von Fermat Der Zwei-Quadrate-Satz von Fermat Proseminar: Das BUCH der Beweise Fridtjof Schulte Steinberg Institut für Informatik Humboldt-Universität zu Berlin 29.November 2012 1 / 20 Allgemeines Pierre de Fermat

Mehr

Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema

Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema 2x 4 + x 3 + x + 3 div x 2 + x 1 = 2x 2 x + 3 (2x 4 + 2x 3 2x 2 ) x 3 + 2x 2 + x + 3 ( x

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Tutorium 27 29..24 FAKULTÄT FÜR INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Definition

Mehr

Übung Theoretische Grundlagen Nachtrag zur Vorlesung Dirk Achenbach 21.11.2013

Übung Theoretische Grundlagen Nachtrag zur Vorlesung Dirk Achenbach 21.11.2013 Übung Theoretische Grundlagen Nachtrag zur Vorlesung Dirk Achenbach 21.11.2013 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT University of the State of Baden-Wuerttemberg and National Laboratory of the

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

Data Mining: Einige Grundlagen aus der Stochastik

Data Mining: Einige Grundlagen aus der Stochastik Data Mining: Einige Grundlagen aus der Stochastik Hagen Knaf Studiengang Angewandte Mathematik Hochschule RheinMain 21. Oktober 2015 Vorwort Das vorliegende Skript enthält eine Zusammenfassung verschiedener

Mehr

1 Aussagenlogik und Mengenlehre

1 Aussagenlogik und Mengenlehre 1 Aussagenlogik und engenlehre 1.1 engenlehre Definition (Georg Cantor): nter einer enge verstehen wir jede Zusammenfassung von bestimmten wohl unterschiedenen Objekten (m) unserer Anschauung oder unseres

Mehr

Die reellen Lösungen der kubischen Gleichung

Die reellen Lösungen der kubischen Gleichung Die reellen Lösungen der kubischen Gleichung Klaus-R. Löffler Inhaltsverzeichnis 1 Einfach zu behandelnde Sonderfälle 1 2 Die ganzrationale Funktion dritten Grades 2 2.1 Reduktion...........................................

Mehr

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

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 18/19 Ausgabe 8. Januar 2019 Abgabe 22. Januar 2019, 11:00 Uhr (im

Mehr

Satz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich

Satz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich Herbrand-Strukturen und Herbrand-Modelle Sei F eine Aussage in Skolemform. Dann heißt jede zu F passende Struktur A =(U A, I A )eineherbrand-struktur für F, falls folgendes gilt: 1 U A = D(F ), 2 für jedes

Mehr

Bestimmung einer ersten

Bestimmung einer ersten Kapitel 6 Bestimmung einer ersten zulässigen Basislösung Ein Problem, was man für die Durchführung der Simplexmethode lösen muss, ist die Bestimmung einer ersten zulässigen Basislösung. Wie gut das geht,

Mehr

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN Wir wollen nun die Rechengesetze der natürlichen Zahlen auf die Zahlenmenge der ganzen Zahlen erweitern und zwar so, dass sie zu keinem Widerspruch mit bisher geltenden

Mehr

Repetitionsaufgaben Wurzelgleichungen

Repetitionsaufgaben Wurzelgleichungen Repetitionsaufgaben Wurzelgleichungen Inhaltsverzeichnis A) Vorbemerkungen B) Lernziele C) Theorie mit Aufgaben D) Aufgaben mit Musterlösungen 4 A) Vorbemerkungen Bitte beachten Sie: Bei Wurzelgleichungen

Mehr

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum

Mehr

Algorithmen II Vorlesung am 15.11.2012

Algorithmen II Vorlesung am 15.11.2012 Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales

Mehr

Musterlösungen zur Linearen Algebra II Blatt 5

Musterlösungen zur Linearen Algebra II Blatt 5 Musterlösungen zur Linearen Algebra II Blatt 5 Aufgabe. Man betrachte die Matrix A := über dem Körper R und über dem Körper F und bestimme jeweils die Jordan- Normalform. Beweis. Das charakteristische

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Tutorium 4 26..25 INSTITUT FÜR THEORETISCHE INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Mathematischer Vorbereitungskurs für Ökonomen

Mathematischer Vorbereitungskurs für Ökonomen Mathematischer Vorbereitungskurs für Ökonomen Dr. Thomas Zehrt Wirtschaftswissenschaftliches Zentrum Universität Basel Gleichungen Inhalt: 1. Grundlegendes 2. Lineare Gleichungen 3. Gleichungen mit Brüchen

Mehr

Einführung in. Logische Schaltungen

Einführung in. Logische Schaltungen Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von

Mehr

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen Austausch- bzw. Übergangsrozesse und Gleichgewichtsverteilungen Wir betrachten ein System mit verschiedenen Zuständen, zwischen denen ein Austausch stattfinden kann. Etwa soziale Schichten in einer Gesellschaft:

Mehr

Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4

Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter H. Schmitt David Farago, Christoph Scheben, Mattias Ulbrich Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt

Mehr

Lineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3

Lineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3 Lineare Funktionen Inhaltsverzeichnis 1 Proportionale Funktionen 3 1.1 Definition............................... 3 1.2 Eigenschaften............................. 3 2 Steigungsdreieck 3 3 Lineare Funktionen

Mehr

Berechnungen in Access Teil I

Berechnungen in Access Teil I in Access Teil I Viele Daten müssen in eine Datenbank nicht eingetragen werden, weil sie sich aus anderen Daten berechnen lassen. Zum Beispiel lässt sich die Mehrwertsteuer oder der Bruttopreis in einer

Mehr

4. Relationen. Beschreibung einer binären Relation

4. Relationen. Beschreibung einer binären Relation 4. Relationen Relationen spielen bei Datenbanken eine wichtige Rolle. Die meisten Datenbanksysteme sind relational. 4.1 Binäre Relationen Eine binäre Relation (Beziehung) R zwischen zwei Mengen A und B

Mehr

Kapitel 15. Lösung linearer Gleichungssysteme

Kapitel 15. Lösung linearer Gleichungssysteme Kapitel 15. Lösung linearer Gleichungssysteme Lineare Gleichungssysteme Wir befassen uns nun mit der Lösung im allgemeinen nichthomogener linearer Gleichungssysteme in zweifacher Hinsicht. Wir studieren

Mehr