EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

Größe: px
Ab Seite anzeigen:

Download "EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK"

Transkript

1 EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester DIE KONTEXTFREIEN SPRACHEN Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 1 / 53

2 Einleitung Die kontextfreien Sprachen spielen eine zentrale Rolle in der (theoretischen) Informatik: Einerseits ist das Konzept mächtig genug, um im Wesentlichen die Syntax von Programmiersprachen zu beschreiben. Andererseits lassen sich die von kontextfeien Grammatiken erzeugten Sprachen hinreichend effizient analysieren. Wir werden deshalb die kontextfreien Grammatiken und Sprachen näher betrachten. Ein wichtiges Hilfsmittel zur Analyse von Herleitungen in kontextfreien Grammatiken sind Herleitungsbäume und Linksherleitungen. Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 2 / 53

3 15.1 Herleitungsbäume, Linksherleitungen, Mehrdeutigkeit Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 3 / 53

4 Herleitungsbäume, Linksherleitungen, Mehrdeutigkeit Wir führen zunächst einige sich auf Herleitungen in kontextfreien Grammatiken beziehende Begriffe ein: Herleitungsbäume geben die Struktur einer Herleitung wieder. Bei Linksherleitungen wird in jedem Schritt die am weitesten links stehende Variable ersetzt. Mehrdeutigkeit einer Grammatik besagt, dass es Terminalwörter gibt, die wesentlich verschiedene Herleitungen (d.h. verschiedene Herleitungsbäume) besitzen. Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 4 / 53

5 Herleitungsbäume Sei G = (N, T, P, S) eine kontextfreie Grammatik. Ein G-Herleitungsbaum eines Terminalwortes w ist ein geordneter, knotenmarkierter Baum mit folgenden Eigenschaften: Jeder innere Knoten ist mit einer Variablen markiert, jedes Blatt mit einem Terminalzeichen oder dem leeren Wort λ. Die Wurzel ist mit dem Axiom S markiert. Die Markierungen der Söhne eines mit der Variablen X markierten inneren Knotens ergeben (von links nach rechts gelesen) die Konklusion v einer X-Regel r = X v. Ist v = λ, so gibt es genau einen Sohn und dieser ist mit λ markiert. (Andernfalls ist keiner der Söhne mit λ markiert.) Die Verkettung der Markierungen der Blätter von links nach rechts gelesen ergibt gerade das Wort w. Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 5 / 53

6 Herleitungsbäume: Anmerkungen Ein G-Herleitungsbaum von w bezeugt die Herleitbarkeit des Terminalwortes w in der Grammatik G. Den genauen Zusammenhang zwischen Herleitungsbäumen und Herleitungen werden wir gleich betrachten. Im Folgenden wird der Begriff des Herleitungsbaums auf die Situation X x für beliebiges X N und x (N T ) erweitert: Wir sprechen dann von einem G-Herleitungsbaum von x aus X. Ein solcher verallgemeinerter Herleitungsbaum unterscheidet sich von einem Herleitungsbaum im engeren Sinne dadurch, dass nun in der Wurzel statt des Axioms die Variable X steht und, dass die Blattmarkierungen von links nach rechts gelesen das Wort x ergeben, also, falls x nicht terminal ist, nun auch Variablen in den Blättern stehen können. Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 6 / 53

7 Von einer Herleitung zum Herleitungsbaum (1) Jede G-Herleitung H eines Terminalwortes w (bei der in jedem Schritt die Variable, die ersetzt wird, markiert ist) definiert eindeutig einen zugehörigen Herleitungsbaum HB H von w: Ist H die Herleitung S = v 0 v 1 v 2 v n = w so definiert man hierzu induktiv Herleitungsbäume HB i von v i aus S wie folgt: HB 0 besteht nur aus der mit S markierten Wurzel. Den Baum HB i+1 erhält man aus dem Baum HB i wie folgt: Wird beim Übergang v i v i+1 die Regel X x angewendet, so werden an das mit X markierte Blatt in HB i, das dem ersetzten Vorkommen von X entspricht, Söhne mit Markierungsfolge x hinzugefügt. Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 7 / 53

8 Von einer Herleitung zum Herleitungsbaum (2) Anmerkungen I.a. kann man einer Herleitung nicht entnehmen, an welcher Stelle die aktuelle Regel angewendet wurde, weshalb es notwendig ist, diese Stelle zu unterstreichen. (Man betrachte hierzu z.b. die Regeln X XX und den Herleitungsschritt XX XXX. Dann kann man nicht erkennen, ob das erste oder zweite X ersetzt wurde.) Wir nennen G-Herleitungen H 1 und H 2 eines Terminalwortes w äquivalent, falls die zugehörigen Herleitungsbäume gleich sind, d.h. HB H1 = HB H2 gilt. Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 8 / 53

9 Von einem Herleitungsbaum zu einer Herleitung Einem Herleitungbaum HB eines Wortes w lassen sich i.a. verschiedene Herleitungen von w zuordnen (d.h. es gibt i.a. verschiedene Herleitungen H 1 und H 2 von w mit HB = HB H1 = HB H2 ). Die Herleitungen H 1 und H 2 unterscheiden sich jedoch nur dadurch, dass Regelanwendungen, bei denen die Reihenfolge der Ausführung keine Rolle spielt, in unterschiedlicher Reihenfolge ausgeführt werden. Im Herleitungsbaum erkennt man solche Regelanwendungen dadurch, dass die Knoten, die mit den Prämissen X 1 und X 2 der Regelanwendungen markiert sind, nicht auf demselben Pfad liegen: Betrachtet man die Herleitungteile, die zwei disjunkten Teilbäumen T 1 und T 2 von HB entsprechen, so spielt es für Ergebnis (und Struktur) der Herleitung keine Rolle, ob man zuerst die T 1 entsprechenden Herleitungsschritte ausführt und dann die T 2 entsprechenden oder umgekehrt. Man kann jedoch einem Herleitungsbaum HB eine eindeutig bestimmte Herleitung zuordnen, wenn man verlangt, dass in jedem Schritt die am weitesten links stehende Variable ersetzt wird. Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 9 / 53

10 Linksherleitungen DEFINITION. Eine Linksherleitung ist eine Herleitung, bei der in jedem Schritt die am weitesten links stehende Variable ersetzt wird. SATZ. Zu jedem Herleitungsbaum HB von w gibt es genau eine Linksherleitung LH von w mit HB = HB LH. BEWEISIDEE. Man erhält die zu dem Herleitungsbaum HB gehörende Linksherleitung LH von w dadurch, dass man den Baum in Präorder durchläuft. Es gibt also eine eindeutige Korrespondenz zwischen Herleitungsbäumen und Linksherleitungen! KOROLLAR. Jedes herleitbare Wort besitzt eine Linksherleitung. Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 10 / 53

11 Mehrdeutigkeit Sei G = (N,T,P,S) eine kf. Grammatik. Ein Wort w L(G) heisst eindeutig (bzgl. G), wenn w genau einen Herleitungsbaum (d.h. genau eine Linksherleitung) in G besitzt; andernfalls heisst w mehrdeutig (bzgl. G). Eine kontextfreie Grammatik G heisst eindeutig, falls jedes w L(G) bzgl. G eindeutig ist; andernfalls heisst G mehrdeutig. Eine kontextfreie Sprache L heisst eindeutig, falls sie von einer eindeutigen kf. Grammatik erzeugt wird; andernfalls heisst L inhärent mehrdeutig. NB. Ist L inhärent mehrdeutig, so bedeutet dies, dass jede kf. Grammatik, die L erzeugt, mehrdeutig ist. Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 11 / 53

12 Ein Beispiel Die Sprache L = {0 m 1 m 0 n : m,n 1} {0 m 1 n 0 n : m,n 1} ist kontextfrei. Eine kontextfreie Grammatik G = (N,{0,1},P,S), die L erzeugt, kommt mit den Variablen N = {S,S l,s r,u} und den Regeln (R1) S S l U (R2) S US r (R3,4) S l 0S l 1 01 (R5,6) S r 1S r 0 10 (R7,8) U U0 0 aus. Hierbei sind die Regeln so gewählt, dass man mit den Regeln R1, R3, R4, R7, R8 Wörter der Form 0 m 1 m 0 n, und mit den Regeln R2, R5, R6, R7, R8 Wörter der Form 0 m 1 n 0 n herleiten kann. Gilt n = m, so stehen beide Möglichkeiten offen. Z.B. besitzt das Wort w = folgende Herleitungen: (H1) S S l U 0S l 1U 0S l 1U0 0011U (H2) S S l U S l U0 S l 00 0S l (H3) S US r U0S r 00S r 001S r Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 12 / 53

13 Ein Beispiel (Forts.) Die ersten beiden Herleitungen sind äquivalent, d.h. führen zu demselben Herleitungsbaum: s. TAFEL (oder Skript). Die zugehörige Linksherleitung ist S S l U 0S l 1U 0011U 0011U Herleitung H3 führt dagegen zu einem anderen Herleitungsbaum: s. TAFEL (oder Skript). Die Herleitung H3 (die bereits eine Linksherleitung ist) ist also zu H1 und H2 nicht äquivalent. Das Wort w = ist also mehrdeutig bzgl. G. Die bzgl. G mehrdeutigen Wörter sind (wie man leicht zeigen kann) gerade die Wörter der Form w = 0 m 1 m 0 m (m 1). Man kann weiter zeigen (nicht so einfach), dass die Sprache L inhärent mehrdeutig ist. D.h. jede kf. Grammatik, die L erzeugt, ist mehrdeutig. Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 13 / 53

14 15.2 Die Chomsky-Normalform und das Pumping-Lemma Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 14 / 53

15 Die Chomsky-Normalform und das Pumping-Lemma Wir werden nun zeigen, dass sich jede kontextfreie Grammatik in eine äquivalente λ-treue separierte kf. Grammatik überführen lässt, bei der jede Umformungsregel die Gestalt X YZ hat (Chomsky-Normalform). Herleitungsbäume für solche Grammatiken sind binäre Bäume, haben also eine besonders einfache Gestalt. Dies nutzen wir dann aus, um zu zeigen, dass die Wörter in kontextfreien Sprachen eine interessante Zerlegungseigenschaft haben (Pumping-Lemma). Hiermit kann man häufig den Nachweis führen, dass eine gegebene Sprache nicht kontextfrei ist, da diese Wörter enthält, die diese Zerlegungseigenschaft nicht haben. Insbesondere werden wir so die Echtheit der Inklusion KF KS nachweisen. Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 15 / 53

16 Chomsky-Normalform Wir haben bereits in Kapitel 14 gesehen, dass jede kf. Grammatik äquivalent zu einer λ-treuen, separierten kf. Grammatik ist. Dies lässt sich noch wie folgt verschärfen: DEFINITION. Eine kf. Grammatik G = (N,T,P,S) ist in Chomsky- Normalform, falls G λ-treu ist und neben der eventuellen λ-regel S λ nur Regeln der Form besitzt. X YZ (X,Y,Z N) X a (X N,a T ) SATZ. Zu jeder kf. Grammatik G = (N,T,P,S) kann man effektiv eine äquivalente kf. Grammatik G = (N,T,P,S ) in Chomsky-Normalform angeben. Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 16 / 53

17 Chomsky-Normalform: Beweisidee Wir gehen in 4 Schritten vor und konstruieren zu G äquivalente Grammatiken G i = (N 1,T,P i,s i ) (i = 1,2,3,4), die der Normalform immer näher kommen: (1) G 1 ist separiert, d.h. P 1 enthält nur Regeln der Form (T 1 n ) X Y 1...Y n (n 1;X,Y 1,...Y n N) (T 2) X λ (X N) (T 3) X a (X N,a T ) (2) G 2 ist zusätzlich λ-treu (Elimination der (T2)-Regeln) (3) G 3 enthält zusätzlich keine Regeln X Y 1...Y n mit n > 2 (Elimination der (T1 n )-Regeln für n 3) (4) G 4 enthält zusätzlich keine Variablenumbenennungen X Y (Elimination der (T1 1 )-Regeln) G 4 ist dann in Chomsky-Normalform. Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 17 / 53

18 Chomsky-Normalform: Beweisidee (Forts.) Die Verfahren zur Überführung von G in eine äquivalente separierte Grammatik G 1 (1. Schritt) und die Überführung einer separierten Grammatik G 1 in eine äquivalente separierte λ-treue Grammatik G 2 (2. Schritt) haben wir bereits vorgestellt, als wir die Inklusion KF KS gezeigt haben ( Kapitel 14). Wir beschreiben nun die beiden weiteren Schritte: Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 18 / 53

19 Chomsky-Normalform: Beweisidee (Forts.) 3. SCHRITT: ELIMINATION VON UMFORMUNGSREGELN X Y 1...Y n MIT KONKLUSIONSLÄNGE n 3 (G 2 G 3 ). Man ersetzt die Regel X Y 1...Y n mit n 3 durch die Regeln X Y 1 Z 2 Z 2 Y 2 Z 3. Z n 1 Y n 1 Y n, wobei die Variablen Z 1,...,Z n 1 neu (und für jede Regel verschieden) sind. Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 19 / 53

20 Chomsky-Normalform: Beweisidee (Forts.) 4. SCHRITT: ELIMINATION VON VARIABLENUMBENENNUNGEN X Y (G 3 G 4 ). Hierzu bestimmen wir zunächst für jede Variable X, die aus dieser durch eine Folge von Umbenennungen erreichbaren Variablen (vergleiche mit dem Verfahren zur Bestimmung der eliminierbaren Variablen in Kap. 14!): U(X) = {Y N 3 : X G 3 Y } Um U(X) zu bestimmen, bestimmen wir zunächst induktiv die Mengen U n (X) = {Y N 3 : X n G 3 Y }: U 0 (X) = {X} U n+1 (X) = U n (X) {Y N 3 : Z U n (X)(Z Y P 3 )} Es gilt dann: U(X) = U n (X) für das kleinste n mit U n (X) = U n+1 (X). Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 20 / 53

21 Chomsky-Normalform: Beweisidee (Forts.) 4. SCHRITT: ELIMINATION VON VARIABLENUMBENENNUNGEN X Y (Fortsetzung). Die zu G 3 äquivalente Grammatik G 4 erhält man dann wie folgt: Für jede Variable X N 3 ersetzt man alle Umbenennungsregeln X Y 1 Y 2... Y k mit Prämisse X durch die Regeln X Z 1 Z 2 falls Y U(X)(Y Z 1 Z 2 P 2 ) X a falls Y U(X)(Y a P 2 ). Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 21 / 53

22 Chomsky-Normalform: Beispiel Die Sprache L = {a m b n c n d p : m,p 1;n 0} {b n c n : n 0} wird von der kf. Grammatik G mit Axiom S und Regeln erzeugt. S AMD M A AA a D DD d M bmc λ Um G in eine äquivalente kf. Grammatik G in Chomsky-Normalform zu überführen, überführen wir G schrittweise in die äquivalenten Grammatiken G 1, G 2, G 3, G 4 = G. Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 22 / 53

23 Chomsky-Normalform: Beispiel (Forts.) Schritt 1: G G 1 (Separierung) Es genügt die Regel M bmc durch die Regeln M BMC B b C c zu ersetzen. D.h. G 1 besitzt die folgenden Regeln (S Axiom): S AMD M A AA a D DD d M BMC λ B b C c Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 23 / 53

24 Chomsky-Normalform: Beispiel (Forts.) Schritt 2: G 1 G 2 (λ-treue) Man bestimmt zunächst die Menge E der eliminierbaren Variablen: E 1 = {M} E 2 = {M,S} E 3 = {M,S} D.h. E = {M,S}. (Insbesondere gilt also wegen S E λ L.) Wir erhalten hiermit G 2 aus G 1, indem wir ein neues Axiom S 1 sowie die Regeln S 1 S und S 1 λ hinzufügen, die λ-regeln von G 1 weglassen, und in Umformungsregeln X x, wobei x 2 und zumindest eine eliminierbare Variable in x vorkommt, alle Regeln X x hinzufügen, wobei x 1 und x aus x durch Weglassen von Vorkommen von eliminierbaren Variablen entsteht. D.h. zu den Regeln S AMD und M BMC werden die Regeln S AD bzw. M BC hinzugenommen. Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 24 / 53

25 Chomsky-Normalform: Beispiel (Forts.) Schritt 2: G 1 G 2 (λ-treue) (Forts.) G 2 besitzt also die folgenden Regeln (S 1 Axiom): S 1 S λ S AMD AD M A AA a D DD d M BMC BC B b C c Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 25 / 53

26 Chomsky-Normalform: Beispiel (Forts.) Schritt 3: G 2 G 3 (Elimination von Konklusionen der Länge 3) Die Regeln S AMD und M BMC werden ersetzt durch S AX und X MD bzw. M BY und Y MC wobei X und Y neue Variablen sind. G 3 besitzt also die folgenden Regeln (S 1 Axiom): S 1 S λ S AX AD M X MD A AA a D DD d M BY BC Y MC B b C c Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 26 / 53

27 Chomsky-Normalform: Beispiel (Forts.) Schritt 4: G 3 G 4 (Elimination von Variablenumbenennungen) Wir bestimmen zunächst für jede Variable V, die die Prämisse einer Variablenumbenennung V W ist, die Menge U(V ) der Variablen, in die V umbenannt werden kann. Dies sind hier die Variablen S 1 und S und es gilt U 0 (S 1 ) = {S 1 } U 1 (S 1 ) = {S 1,S} U 2 (S 1 ) = {S 1,S,M} = U 3 (S 1 ) = U(s 1 ) U 0 (S) = {S} U 1 (S) = {S,M} = U 2 (S) = U(s) Wir erhalten hiermit G 4 aus G 3, indem wir die Umbenennungsregeln S 1 S und S M durch alle möglichen Regeln der Form S 1 x bzw. S x ersetzen, wobei x keine Variable ist und es eine Regel Z x gibt mit Z U(S 1 ) bzw. Z U(S). Konkret: S 1 S: S M: S 1 AX AD und S 1 BY BC S BY BC Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 27 / 53

28 Chomsky-Normalform: Beispiel (Forts.) Schritt 4: G 3 G 4 (Elimination von Variablenumbenennungen) (Forts.) D.h.G 4 besitzt die folgenden Regeln (S 1 Axiom): S 1 AX AD BY BC λ S AX AD BY BC X MD A AA a D DD d M BY BC Y MC B b C c (Die Regeln S AX AD BY BC sind überflüssig, da S vom Axiom aus nicht erreichbar ist.) (Ende Beispiel) Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 28 / 53

29 Das Pumpinglemma für Kf. Sprachen Ist eine Grammatik G in Chomsky-Normalform, so sind die Herleitungsbäume Binärbäume, wobei die inneren Knoten mit Variablen und (sieht man von der trivialen Herleitung des leeren Wortes ab) die Blätter mit Terminalzeichen markiert sind. Wir benutzen dies nun, um eine Zerlegungseigenschaft E der kontextfreien Sprachen anzugeben. Für viele Sprachen L kann man leicht zeigen, dass diese die Eigenschaft E nicht haben und daher nicht kontextfrei sind. Insbesondere werden wir so zeigen, dass es kontextsensitive Sprachen gibt, die nicht kontextfrei sind. Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 29 / 53

30 Das Pumpinglemma für Kf. Sprachen SATZ 1 (Pumpinglemma für KF). Zu jeder kontextfreien Sprache L Σ gibt es eine Zahl p N, sodass jedes Wort z L der Länge z p eine Zerlegung z = uvwxy in Teilwörter u,v,w,x,y Σ mit folgenden Eigenschaften besitzt: (i) vx λ (ii) vwx < p (iii) n 0 (z n = uv n wx n y L) Hierbei lässt sich solch eine Zahl p aus jeder kontextfreien Grammatik G, die L erzeugt, effektiv berechnen. Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 30 / 53

31 Pumpinglemma: Beweisidee Sei G = (N, T, P, S) eine kontextfreie Grammatik in Chomsky-Normalform, die L erzeugt. Wegen der Normalform sind G-Herleitungsbäume binär. Hat daher ein herleitbares Wort z die Länge z 2 t+1, so hat jeder Herleitungsbaum H S (z) von z mindestens die Tiefe t. Setze p = 2 N Für z L mit z p hat dann jeder G-Herleitungsbaum H S (z) von z die Tiefe t N + 1. Für einen Pfad α = S(= X 1 ),X 2,...X t,a von H S (z) maximaler Länge gilt also t > N, d.h. eine der Variablen muss mindestens zweimal auf dem Pfad vorkommen. Wähle die letzte Variablenwiederholung X := X k = X m (1 k < m t) in α. Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 31 / 53

32 Pumpinglemma: Beweisidee (Forts.) Dann lässt sich H S (z) in folgende 3 Teilbäume zerlegen: H S (uxy) = H S (ux k v) (entspricht: (1) S ux k y) H X (vxx) = H Xk (vx m x) (entspricht: (2) X k vx m x) H X (w) = H Xm (w) (entspricht: (3) X l w) wobei z = uvwxy. Diese Zerlegung hat die gewünschten Eigenschaften. Insbesondere erhält man eine Herleitung von uv n wx n y, indem man mit (1) beginnt, dann mit n-mal (2) fortfährt, und schliesslich mit (3) endet. (D.h. der Teilbaum H X (vxx) von H S (z) wird n-fach iteriert.) q.e.d. Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 32 / 53

33 Pumpinglemma: Anwendungsbeispiele LEMMA 1. Die Sprache L = {0 n 1 n 0 n : n 1} ist nicht kontextfrei. BEWEIS. Man zeigt dies indirekt. Widerspruchsannahme: L kontextfrei. Wähle p wie im Pumpinglemma passend zu L. Das Wort z = 0 p 1 p 0 p ist in L und erfüllt die Bedingung z p. Nach dem Pumpinglemma gibt es also eine Zerlegung z = uvwxy mit obigen Eigenschaften (i) - (iii). Es gilt daher: Wegen (i) ist vx nicht leer. Wegen (ii) gilt vwx p, d.h. v und x sind in demselben Block oder zwei aufeinanderfolgenden Blöcken von z enthalten. In z 0 = uv 0 wx 0 y werden daher 1 oder 2 Blöcke verkürzt, während zumindest ein Block unverändert bleibt. ALSO: z 0 L im Widerspruch zu (iii). Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 33 / 53

34 Pumpinglemma: Anwendungsbeispiele LEMMA 2. Die Sprache L = {0 2n : n 1} ist nicht kontextfrei. BEWEIS. Man zeigt dies indirekt. Widerspruchsannahme: L kontextfrei. Wähle p wie im Pumpinglemma passend zu L wobei o.b.d.a. p 3. Das Wort z = 0 2p ist in L und erfüllt die Bedingung z p. Nach dem Pumpinglemma gibt es also eine Zerlegung z = uvwxy mit obigen Eigenschaften (i) - (iii). Es gilt daher: Wegen (i) gilt vx = 0 m für m 1. Wegen (ii) gilt vwx p, also m p. Es ist also z 0 = uv 0 wx 0 y = 0 2p m wobei m p. Wegen p 3 und 1 m p gilt aber m < 2 p 1 und daher 2 p 1 < 2 p m < 2 p. ALSO: z 0 L im Widerspruch zu (iii). Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 34 / 53

35 Folgerungen aus dem Pumpinglemma KOROLLAR 1. KF KS. BEWEIS. Nach dem Inklusionslemma gilt KF KS. Es genügt also eine kontextsensitive Sprache L anzugeben, die nicht kontextfrei ist. Dies gilt aber für die Sprache L = {0 n 1 n 0 n : n 1}: Nach Lemma 1 oben ist L nicht kontextfrei. Die für L in Kapitel 13 angegebene Grammatik war vom Erweiterungstyp, weshalb L ERW gilt. Da wir in Kapitel 14 gezeigt haben, dass ERW = KS gilt, folgt hieraus, dass L kontextsensitiv ist. (Von der nach Lemma 2 nicht kontextfreien Sprache L = {0 2n : n 1} kann man ebenfalls leicht zeigen, dass sie kontextsensitiv ist, indem man eine L erzeugende Grammatik vom Erweiterungstyp angibt.) Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 35 / 53

36 Folgerungen aus dem Pumpinglemma Das Pumpinglemma lässt sich auch dazu verwenden, um zu zeigen, dass bestimmte Probleme für kf. Sprachen entscheidbar sind, die für ks. Sprachen unentscheidbar sind: KOROLLAR 2. Das Leerheitsproblem und das Unendlichkeitsproblem für kontextfreie Grammatiken sind entscheidbar. D.h. für eine gegebene kf. Grammatik G kann man effektiv feststellen, ob L(G) leer bzw. unendlich ist. BEWEISIDEE. Gegeben eine kf. Grammatik G, bestimmt man zunächst den (genauer: einen) zu L(G) gehörigen Parameter p aus dem Pumpinglemma. Es gilt dann (wie man sich leicht überlegt): L(G) /0 z Σ ( z < p & z L(G)) L(G) unendlich z Σ (p z < 2p & z L(G)) Da das Wortproblem für kontextfreie Grammatiken entscheidbar ist, folgt hieraus die Behauptung. Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 36 / 53

37 15.3 Eine Maschinencharakterisierung der kontextfreien Sprachen Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 37 / 53

38 Kellerautomaten (Push-Down-Automaten) Ein Kellerautomat (oder Push-Down-Automat) M zur Erkennung einer Sprache L = L(M) über dem Eingabealphabet Σ liest - wie ein endlicher Automat - die Eingabe von links nach rechts. Der Kellerautomat besitzt aber zum Abspeichern von Information über das gelesene Anfangsstück des Eingabewortes zusätzlich einen Speicher in der Form eines Stapels (Stacks, Kellers). Der Stapel kann dabei ein Wort w über dem sog. Kelleralphabet Γ = Γ 0 {b 0 } aufnehmen, wobei dieses mit dem ausgezeichneten Bottomelement b 0 beginnt, gefolgt von einem möglicherweise leeren Wort v, das b 0 nicht enthält: w = b 0 v, v Γ 0. Der Automat M kann dabei immer nur auf das rechte Wortende des gespeicherten Wortes w zugreifen: last-in-first-out-speicher. Zu Beginn der Rechnung steht nur das Bottomelement im Speicher (= leerer Keller), das nie entfernt wird. Wie der Name Bottomelement schon zu erkennen gibt, stellen wir uns anschaulich vor, dass das Kellerwort von unten nach oben (statt von links nach rechts) geschrieben wird. Der Zugriff erfolgt also auf die jeweils obersten Elemente ( Stapel). Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 38 / 53

39 Kellerautomaten (Push-Down-Automaten) - Forts. In einem Schritt liest M den nächsten noch nicht gelesenen Buchstaben a der Eingabe x und den letzten Buchstaben c des Kellerwortes w. In Abhängigkeit von den gelesenen Buchstaben a und c und dem aktuellen (Programm-)Zustand z ersetzt M das gelesene Kellerzeichen c durch ein (möglicherweise leeres) Wort u Γ 0 (war c = b 0 so wird c durch ein Wort u = b 0 u mit u Γ 0 ersetzt) und aktualisiert seinen Zustand. Alternativ kann M auch einen spontanen oder λ-übergang durchführen, bei dem kein weiterer Buchstabe der Eingabe gelesen wird. Wie bei den endlichen Automaten betrachten wir auch hier wieder nichtdeterministische Maschinen, d.h. in einzelnen Schritten mag die Maschine aus verschiedenen möglichen Übergängen einen Übergang auswählen. Z.B. erlauben wir der Maschine wahlweise den nächsten Buchstaben einzulesen oder einen λ-übergang zu machen. Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 39 / 53

40 Kellerautomaten: Formale Definition Ein nichtdeterministischer Kellerautomat (nd. Push-Down-Automat; NPDA) M wird formal durch M = (Σ,Γ,b 0,Z,z 0,δ,E) definiert, wobei Σ Eingabealphabet Γ Kelleralphabet b 0 Γ Bottomelement (Γ 0 := Γ \ {b 0 }) Z endliche Menge der (Programm-)Zustände z 0 Startzustand δ endliche Übergangsrelation (Programm) δ Z Σ {λ} Γ (Γ 0 {b 0}Γ 0 ) Z, wobei für (z,a,c,w,z ) δ das Wort w genau dann mit b 0 beginnt, wenn c = b 0 gilt. E Z Menge der (akzeptierenden) Endzustände Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 40 / 53

41 Beschreibung der Arbeitsweise von M Eine M-Konfiguration ist ein Tripel (z,y,v), wobei z der aktuelle Zustand, y der noch nicht gelesene Teil der Eingabe und v das aktuelle Kellerwort ist. Nachfolgekonfigurationen: Gilt (z,y,v) = (z,ay,v c), so lässt sich jede mit (z,a,c,...) beginnende Instruktion (= Programmzeile) (z,a,c,u,z ) anwenden, wodurch (z,y,v) in (z,y,v u) überführt wird. Weiter lässt sich auf (z,y,v) = (z,y,v c) jede mit (z,λ,c,...) beginnende Instruktion (z,λ,c,u,z ) anwenden, wodurch (z,y,v) in (z,y,v u) überführt wird. M ist also deterministisch (d.h. ein DPDA), wenn Folgendes gilt: 1 Zu jedem Tripel (z,a,c) Z Σ Γ gibt es höchstens eine mit (z,a,c,...) beginnende Instruktion. 2 Zu jedem Paar (z,c) Z Γ gibt es höchstens eine mit (z,λ,c,...) beginnende Instruktion; und, falls es solch eine Instruktion (z,λ,c,...) gibt, dann gibt es keine Instruktion, die mit (z,a,c,...) für ein a Σ beginnt. Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 41 / 53

42 Beschreibung der Arbeitsweise von M (Forts.) Eine mögliche Rechnung bei Eingabe x ist eine mit der Startkonfiguration (z 0,x,b 0 ) beginnende Konfigurationenfolge (wobei der Begriff der Konfigurationenfolge wie bei TMs mit Hilfe des Begriffs der Nachfolgekonfiguration definiert ist). Die Akzeptanz von x wird auf zwei unterschiedliche Arten definiert: M kann x vollständig einlesen und befindet sich nach dem Einlesen von x in einem Endzustand (= Akzeptanz via Endzustände). M kann x vollständig einlesen und nach dem Einlesen von x ist der Keller leer, d.h. enthält nur das Bottomelement (= Akzeptanz via leerem Keller; hier kann man auf die Endzustände verzichten). (Im nichtdeterministischen Fall ist dies so zu lesen, dass dies für eine mögliche Rechnung gilt.) Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 42 / 53

43 Beispiel 1: L = {0 n 1 n : n 0} Ein Kellerautomat M zur Erkennung der Sprache L = {0 n 1 n : n 0} via leerem Keller kommt mit folgenden Instruktionen aus (Γ = {b 0,0}): Z Σ {λ} Γ Γ Z z 0 0 c (c Γ bel.) c0 z 0 z λ z 1 z λ z 1 M liest im Startzustand z 0 den ersten aus Nullen bestehenden Wortteil und speichert die gelesenen Nullen im Keller. Kommt M zu der ersten 1, so geht M in den Zustand z 1 und entfernt für jede gelesene 1 eine 0 aus dem Keller. Hat die Eingabe x nicht die Gestalt x = 0 m 1 n, so kann M die Eingabe nicht komplett lesen, verwirft also. Dasselbe gilt für x = 0 m 1 n mit m < n. Im Falle von m n wird die Eingabe komplett gelesen. Der Keller ist danach genau dann leer, wenn m = n. Der Automat M ist deterministisch. Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 43 / 53

44 Beispiel 1: L = {0 n 1 n : n 0} Folgende Variante M von M erkennt L = {0 n 1 n : n 0} via Endzustände, wobei E = {z 0,z 2 } (und wobei c Γ = {b 0,0} bel.): Z Σ {λ} Γ Γ Z z 0 0 c c0 z + 0 z c c0 z + 0 z λ z 1 z λ z 1 z 1 λ b 0 b 0 z 2 Der Automat M arbeitet also wie der Automat M, ändert aber den (Start- und End-)Zustand z 0 in z o + nach Lesen der ersten Null und geht bei leerem Keller vermöge eines spontanen Übergangs noch vom Zustand z 1 in den Endzustand z 2. Der Automat M ist ebenfalls deterministisch. Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 44 / 53

45 Beispiel 2: L = {ww R : w {0,1} } Ein Kellerautomat M zur Erkennung der Sprache L = {ww R : w {0,1} } via leerem Keller kommt mit folgenden Instruktionen aus (wobei Γ = {b 0,0,1}): Z Σ {λ} Γ Γ Z z 0 i c ci z 0 (i Σ, c Γ) z 0 i i λ z 1 (i Σ) z 1 i i λ z 1 (i Σ) M speichert im Startzustand z 0 die gelesenen Bits i = 0,1 im Keller, rät die Wortmitte, und vergleicht dann im Zustand z 1 das Restwort mit dem (durch die last-in-first-out-speicherung gespiegelt) gespeicherten Anfangsteil. M ist nichtdeterministisch (da es zwei verschiedene mit (z 0,i,i,...) beginnende Instruktionen gibt). Man kann zeigen, dass die Sprache L von keinem deterministischen Kellerautomaten erkannt wird. Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 45 / 53

46 Maschinencharakterisierung von KF: Satz SATZ. Folgende Aussagen sind äquivalent: L ist kontextfrei. L {λ} wird von einem nd. Kellerautomaten via leerem Keller erkannt. L wird von einem nd. Kellerautomaten via Endzuständen erkannt. Beweis: s. Vorlesung Formale Sprachen. Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 46 / 53

47 Maschinencharakterisierung von KF: Anmerkungen Im deterministischen Fall fallen Akzeptanz via leerem Keller und Akzeptanz via Endzuständen nicht zusammen, sondern ersteres Akzeptanzkriterium ist mächtiger. Eine Sprache heisst deterministisch kontextfrei, wenn sie von einem det. Kellerautomaten via leerem Keller erkannt wird. Beispiele: L = {0 n 1 n : n 0} ist deterministisch kontextfrei. L = {ww R : w {0,1} } ist kontextfrei aber nicht det. kontextfrei. Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 47 / 53

48 15.4 Exkurs: Lineare Sprachen Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 48 / 53

49 Exkurs: Lineare Sprachen Zum Ende des Kapitels werfen wir noch einen kurzen Blick auf die linearen Sprachen. Für die linearen Sprachen kann man Verschärfungen der Chomsky-Normalform und des Pumpinglemmas einführen. Wir geben diese ohne Beweis an. Mit Hilfe des Pumpinglemmas für LIN geben wir dann ein Beipiel für eine kontextfreie Sprache L an, die nicht linear ist, und zeigen hiermit die Echtheit der Inklusion LIN KF im Chomsky-Hierarchiesatz. Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 49 / 53

50 Lineare Sprachen: Chomsky-Normalform und Pumpinglemma Für lineare Sprachen hat Chomsky ebenfalls eine Normalform eingeführt, mit deren Hilfe man ein (verschärftes) Pumpinglemma für lineare Sprache erhält: CHOMSKY-NORMALFORM FÜR LINEARE SPRACHEN: Eine lineare Grammatik G = (N,T,P,S) ist in Chomsky-Normalform, falls G λ-treu ist und neben der eventuellen λ-regel S λ alle Regeln eine der folgenden Formen haben: X ay Ya a (X,Y N, a T ) PUMPINGLEMMA FÜR LINEARE SPRACHEN: Zu jeder linearen Sprache L Σ gibt es eine Zahl p N, sodass jedes Wort z L der Länge z p eine Zerlegung z = uvwxy in Teilwörter u,v,w,x,y Σ mit folgenden Eigenschaften besitzt: vx λ uvxy < p (im kontextfreien Fall hatten wir hier vwx < p) n 0 (z n = uv n wx n y L) Hierbei lässt sich solch eine Zahl p aus jeder linearen Grammatik G, die L erzeugt, effektiv berechnen. Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 50 / 53

51 Lineare Sprachen: Nachweis der Nichtlinearität von Sprachen mit Hilfe des Pumpinglemmas für LIN LEMMA 3: Die Sprache L = {0 n 1 n 0 m 1 m : n,m 1} ist nicht linear. BEWEIS. Man zeigt dies indirekt. Widerspruchsannahme: L linear. Wähle p wie im Pumpinglemma für LIN passend zu L. Das Wort z = 0 p 1 p 0 p 1 p ist in L und erfüllt die Bedingung z p. Nach dem Pumpinglemma gibt es also eine Zerlegung z = uvwxy mit obigen Eigenschaften (i) - (iii). Es gilt daher: Wegen (i) ist vx nicht leer. Wegen (ii) gilt uvxy p (also: uv p und xy p), d.h. v ist im ersten, x im vierten Block von z enthalten. In z 0 = uv 0 wx 0 y werden also Block 1 und/oder Block 4 verkürzt während Block 2 und 3 unverändert bleiben. ALSO: z 0 L im Widerspruch zu (iii). Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 51 / 53

52 Lineare Sprachen: LIN KF KOROLLAR 3: LIN KF. BEWEIS. Da nach dem Inklusionslemma LIN KF gilt, genügt es eine kontextfreie Sprache L anzugeben, die nicht linear ist. Die in Lemma 3 als nicht-linear nachgewiesene Sprache L = {0 n 1 n 0 m 1 m : n,m 1} ist aber kontextfrei. Z.B. wird L von der kf. Grammatik G = ({S,A},{0,1},P,S) mit den Regeln erzeugt. S AA A 0A1 A 01 Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 52 / 53

53 Lineare Sprachen: Abschlusseigenschaften Das obige Beispiel zeigt, dass die Klasse der linearen Sprachen nicht gegen Verkettung abgeschlossen ist. KOROLLAR 4: LIN ist nicht gegen Verkettung abgeschlossen. BEWEIS. Die nicht-lineare Sprache L = {0 n 1 n 0 m 1 m : n,m 1} lässt sich als Verkettung der Sprache L = {0 n 1 n : n 1} mit sich selbst darstellen: L = L L. Die Sprache L ist aber linear (wie wir schon in Kapitel 13 gesehen haben): L wird von der linearen Grammatik G = ({S},{0,1},P,S) mit den Regeln erzeugt. S 0S1 01 Theoretische Informatik (SoSe 2018) 15. Die kontextfreien Sprachen I 53 / 53

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester 2012 17. DIE KONTEXTFREIEN SPRACHEN II: ABSCHLUSSEIGENSCHAFTEN, MASCHINENCHARAKTERISIERUNG, KOMPLEXITÄT Theoretische

Mehr

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester 2011 17. DIE CHOMSKY-HIERARCHIE Theoretische Informatik (SoSe 2011) 17. Die Chomsky-Hierarchie 1 / 15 Einleitung Die

Mehr

Übungen zur Vorlesung Einführung in die Theoretische Informatik, Blatt 12 LÖSUNGEN

Übungen zur Vorlesung Einführung in die Theoretische Informatik, Blatt 12 LÖSUNGEN Universität Heidelberg / Institut für Informatik 7. Juli 24 Prof. Dr. Klaus Ambos-Spies Nadine Losert Übungen zur Vorlesung Einführung in die Theoretische Informatik, Blatt 2 LÖSUNGEN Aufgabe Verwenden

Mehr

24. Kontextfreie Sprachen

24. Kontextfreie Sprachen 24. Kontextfreie Sprachen Obwohl das Wortproblem für kontextsensitive Sprachen entscheidbar ist, ist nicht bekannt, ob dieses auch tatsächlich d.h. in Polynomialzeit entscheidbar ist. Da man allgemein

Mehr

16. Die Chomsky-Hierarchie

16. Die Chomsky-Hierarchie 16. Die Chomsky-Hierarchie Die Chomsky-Sprachen sind gerade die rekursiv aufzählbaren Sprachen: CH = RA Da es nicht rekursive (d.h. unentscheidbare) r.a. Sprachen gibt, ist das Wortproblem für Chomsky-Grammatiken,

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

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012 utomaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink utomaten und Formale Sprachen 1 Der CYK-lgorithmus Beispiel

Mehr

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester 2011 20. DIE REGULÄREN SPRACHEN Theoretische Informatik (SoSe 2011) 20. Die regulären Sprachen 1 / 46 Überblick Als

Mehr

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

Informatik III. Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung 17.11.2006 schindel@informatik.uni-freiburg.de 1 Prinzip des Kellerautomats Push-Down-Automaton (PDA) Ein Kellerautomat vereinigt

Mehr

Theoretische Grundlagen der Informatik

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

Mehr

Klausur zur Vorlesung Einführung in die Theoretische Informatik

Klausur zur Vorlesung Einführung in die Theoretische Informatik Universität Heidelberg 19. Juli 2012 Institut für Informatik Prof. Dr. Klaus Ambos-Spies Dipl.-Math. Thorsten Kräling Klausur zur Vorlesung Einführung in die Theoretische Informatik LÖSUNGEN Es können

Mehr

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester 2012 16. DIE REGULÄREN SPRACHEN Theoretische Informatik (SoSe 2012) 16. Die regulären Sprachen 1 / 46 Überblick Als

Mehr

Kontextfreie Sprachen

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

Mehr

10 Kellerautomaten. Kellerautomaten

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

Mehr

Vorlesung Theoretische Informatik (Info III)

Vorlesung Theoretische Informatik (Info III) 1 Vorlesung Theoretische Informatik (Info III) Prof. Dr. Dorothea Wagner Dipl.-Math. Martin Holzer 22. Januar 2008 Einleitung Motivation 2 Thema heute Kontextfreie Grammatiken: Lemma von Ogden Eigenschaften

Mehr

Kontextfreie Sprachen

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

Mehr

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

Nachklausur zur Vorlesung Einführung in die Theoretische Informatik

Nachklausur zur Vorlesung Einführung in die Theoretische Informatik Universität Heidelberg 11. Oktober 2012 Institut für Informatik Prof. Dr. Klaus Ambos-Spies Dipl.-Math. Thorsten Kräling Nachklausur zur Vorlesung Einführung in die Theoretische Informatik Musterlösungen

Mehr

Übersicht. 3 3 Kontextfreie Sprachen

Übersicht. 3 3 Kontextfreie Sprachen Formale Systeme, Automaten, Prozesse Übersicht 3 3.1 Kontextfreie Sprachen und Grammatiken 3.2 Ableitungsbäume 3.3 Die pre -Operation 3.4 Entscheidungsprobleme für CFGs 3.5 Normalformen für CFGs 3.6 Chomsky-Normalform

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (IV) 31.05.2017 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

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

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

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

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

Mehr

Übung zur Vorlesung Grundlagen der theoretischen Informatik. Aufgabenblatt 7 Lösungen. Wiederholung: Pumping-Lemma für kontextfreie Sprachen

Übung zur Vorlesung Grundlagen der theoretischen Informatik. Aufgabenblatt 7 Lösungen. Wiederholung: Pumping-Lemma für kontextfreie Sprachen Prof. Dr. Viorica Sofronie-Stokkermans Universität Koblenz-Landau Fachbereich 4: Informatik Dennis Peuter 01. Juni 2017 Übung zur Vorlesung Grundlagen der theoretischen Informatik Aufgabenblatt 7 Lösungen

Mehr

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 7 Vorlesung Theoretische Grundlagen der Informatik im W 16/17 Ausgabe 17. Januar 2017 Abgabe 31. Januar 2017, 11:00 Uhr (im

Mehr

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 7 Vorlesung Theoretische Grundlagen der Informatik im W 16/17 Ausgabe 17. Januar 2017 Abgabe 31. Januar 2017, 11:00 Uhr (im

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik 1 Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Wintersemester 2014/15 2 Kontextfreie Grammatiken Definition: Eine Grammatik G

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (III) 17.06.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Übung am 02.02.2012 INSTITUT FÜR THEORETISCHE 0 KIT 06.02.2012 Universität des Andrea Landes Schumm Baden-Württemberg - Theoretische und Grundlagen der Informatik

Mehr

ADS-EI 5.2 Struktur einer Turing-Maschine 120/451 ľernst W. Mayr

ADS-EI 5.2 Struktur einer Turing-Maschine 120/451 ľernst W. Mayr Bemerkung: Jede NDTM N (die die Sprache L(N) akzeptiert) kann in eine deterministische Turing-Maschine M konvertiert werden, die ebenfalls genau die Sprache L(N) akzeptiert. Beweisidee: Die Berechnungspfade

Mehr

Pumping-Lemma. Beispiel. Betrachte die kontextsensitive Grammatik G mit den Produktionen. S asbc abc CB HB HB HC HC BC ab ab bb bb bc bc cc cc.

Pumping-Lemma. Beispiel. Betrachte die kontextsensitive Grammatik G mit den Produktionen. S asbc abc CB HB HB HC HC BC ab ab bb bb bc bc cc cc. Pumping-Lemma Beispiel Betrachte die kontextsensitive Grammatik G mit den Produktionen S asbc abc CB HB HB HC HC BC ab ab bb bb bc bc cc cc. Sie erzeugt z.b. das Wort aabbcc: S asbc aabcbc aabhbc aabhcc

Mehr

Automaten und formale Sprachen Notizen zu den Folien

Automaten und formale Sprachen Notizen zu den Folien 13 Kellerautomaten Automaten und formale Sprachen Notizen zu den Folien Warum ein Automatenmodell für kontextfreien Sprachen (zu Folie 233) Manche Konstruktionen und Verfahren lassen sich besser mit Hilfe

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 18.01.2011 INSTITUT FÜR THEORETISCHE INFORMATIK 0 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

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

Informatik III. Christian Schindelhauer Wintersemester 2006/07 7. Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 7. Vorlesung 16.11.2006 schindel@informatik.uni-freiburg.de 1 Informatik III 7. Vorlesung - 2 Informatik III 7. Vorlesung - 3 Informatik III

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

Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz.

Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz. Chomsky-0-Grammatik Rek. Aufz. Satz T5.2.2: Wenn L durch eine Chomsky-0- Grammatik G beschrieben wird, gibt es eine NTM M, die L akzeptiert. Beweis: Algo von M: Schreibe S auf freie Spur. Iteriere: Führe

Mehr

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Institut für Informatik Sommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:

Mehr

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

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

Mehr

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

Einführung in die Computerlinguistik

Einführung in die Computerlinguistik Einführung in die Computerlinguistik Kontextfreie Sprachen und Pushdown-Automaten Dozentin: Wiebke Petersen WS 2004/2005 Wiebke Petersen Formale Komplexität natürlicher Sprachen WS 03/04 Wiederholung c

Mehr

Nichtdeterministischer Kellerautomat

Nichtdeterministischer Kellerautomat 1 Nichtdeterministischer Kellerautomat endlicher Automat mit Zusatzspeicher in Form eines Kellers (Stapel, Stack) mit Speicheroperationen pro Übergang Keller über X: w X mit den Operationen push, head,

Mehr

Deterministischer Kellerautomat (DPDA)

Deterministischer Kellerautomat (DPDA) Deterministische Kellerautomaten Deterministischer Kellerautomat (DPDA) Definition Ein Septupel M = (Σ,Γ, Z,δ, z 0,#, F) heißt deterministischer Kellerautomat (kurz DPDA), falls gilt: 1 M = (Σ,Γ, Z,δ,

Mehr

1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung!

1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung! Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 23/4 ILKD Prof. Dr. D. Wagner 2. Februar 24. Klausur zur Vorlesung Informatik III Wintersemester 23/24 Mit Lösung! Beachten Sie:

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 4. Kellerautomaten und kontextfreie Sprachen (IV) 15.06.2016 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Frank Heitmann 2/47. 1 Ein PDA beginnt im Startzustand z 0 und mit im Keller. 2 Ist der Automat

Frank Heitmann 2/47. 1 Ein PDA beginnt im Startzustand z 0 und mit im Keller. 2 Ist der Automat Formale Grundlagen der Informatik 1 Kapitel 5 Über reguläre Sprachen hinaus und (Teil 2) Frank Heitmann heitmann@informatik.uni-hamburg.de 21. April 2015 Der Kellerautomat - Formal Definition (Kellerautomat

Mehr

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung Theoretische Informatik Rainer Schrader Zentrum für Angewandte Informatik Köln 14. Juli 2009 1 / 40 2 / 40 Beispiele: Aus den bisher gemachten Überlegungen ergibt sich: aus der Chomsky-Hierarchie bleiben

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

Binärbäume und Pfade

Binärbäume und Pfade Binärbäume und Pfade Bevor wir uns dem Pumping Lemma für Typ-2 Sprachen widmen, wollen wir einen einfachen Satz über Binärbäume beweisen. Als Binärbaum bezeichnen wir hier einen Baum, bei dem jeder Knoten,

Mehr

Theoretische Grundlagen der Informatik

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

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

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

Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen

Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen Dr. Sebastian Bab WiSe 12/13 Theoretische Grundlagen der Informatik für TI Termin: VL 15 + 16 vom 17.12.2012 und 20.12.2012 Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen

Mehr

8. Turingmaschinen und kontextsensitive Sprachen

8. Turingmaschinen und kontextsensitive Sprachen 8. Turingmaschinen und kontextsensitive Sprachen Turingmaschinen (TM) von A. Turing vorgeschlagen, um den Begriff der Berechenbarkeit formal zu präzisieren. Intuitiv: statt des Stacks bei Kellerautomaten

Mehr

Ein Satz der deutschen Sprache besitzt ein Subjekt, ein Prädikat und ein Objekt (SPO).

Ein Satz der deutschen Sprache besitzt ein Subjekt, ein Prädikat und ein Objekt (SPO). 1 Grammatiken Autor: Tilman Blumenbach Letzte Änderung: 28. Juni 2012 18:15 Ziel von Grammatiken Wollen die Struktur von Sprachen modellieren und charakterisieren. Beispiel Ein Satz der deutschen Sprache

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

{a i b i i 0} FORMALE SYSTEME. Kellerautomaten. (Nicht)Abschlusseigenschaften für Typ 2. Ein Berechnungsmodell für Typ-2-Sprachen

{a i b i i 0} FORMALE SYSTEME. Kellerautomaten. (Nicht)Abschlusseigenschaften für Typ 2. Ein Berechnungsmodell für Typ-2-Sprachen (Nicht)Abschlusseigenschaften für Typ 2 FORMALE SYSTEME 15. Vorlesung: Einleitung Kellerautomaten Markus Krötzsch Lehrstuhl Wissensbasierte Systeme Satz: Wenn L, L 1 und L 2 kontextfreie Sprachen sind,

Mehr

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Institut für Informatik Sommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:

Mehr

Aufgabentypen: Spickerblatt: kontextfrei (Typ 2): zusätzlich: u ist eine!"# v 1

Aufgabentypen: Spickerblatt: kontextfrei (Typ 2): zusätzlich: u ist eine!# v 1 Info4 Stoff Aufgabentypen: Grammatik CH einordnen NFA DFA Grammatik Chomsky-NF CYK-Algorithmus: Tabelle / Ableitungsbäume Grammatik streng kf. Grammatik Grammatik Pumping Lemma Beweis, dass Gr. nicht reg,

Mehr

I.5. Kontextfreie Sprachen

I.5. Kontextfreie Sprachen I.5. Kontextfreie prachen Zieht man in Betracht, dass BNF-yteme gerade so beschaffen sind, dass auf der linken eite immer genau ein Nichtterminal steht, so sind das also gerade die Ableitungsregeln einer

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (I) 3.06.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Organisatorisches 1. Teilklausur: Mittwoch,

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

19. Nichtdeterministische Turingmaschinen und ihre Komplexität

19. Nichtdeterministische Turingmaschinen und ihre Komplexität 19. Nichtdeterministische Turingmaschinen und ihre Komplexität Bei einem Turingmaschinenprogramm P aus bedingten Anweisungen wird durch die Forderung i a b B j i a b B j i a sichergestellt, dass zu jeder

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

Das Halteproblem für Turingmaschinen

Das Halteproblem für Turingmaschinen Das Halteproblem für Turingmaschinen Das Halteproblem für Turingmaschinen ist definiert als die Sprache H := { T w : T ist eine TM, die bei Eingabe w {0, 1} hält }. Behauptung: H {0, 1} ist nicht entscheidbar.

Mehr

(Prüfungs-)Aufgaben zu formale Sprachen

(Prüfungs-)Aufgaben zu formale Sprachen (Prüfungs-)Aufgaben zu formale Sprachen (siehe auch bei den Aufgaben zu endlichen Automaten) 1) Eine Grammatik G sei gegeben durch: N = {S, A}, T = {a, b, c, d}, P = { (S, Sa), (S, ba), (A, ba), (A, c),

Mehr

F2 Zusammenfassung Letzte Tips zur Klausur

F2 Zusammenfassung Letzte Tips zur Klausur F2 Zusammenfassung Letzte Tips zur Klausur Berndt Farwer FB Informatik, Uni HH F2-ommersemester 2001-(10.6.) p.1/15 Funktionen vs. Relationen Funktionen sind eindeutig, Relationen brauchen nicht eindeutig

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

Mehr

3 kontextfreie Sprachen

3 kontextfreie Sprachen Hans U. Simon Bochum, den 7.10.2008 Annette Ilgen Beispiele zur Vorlesung Theoretische Informatik WS 08/09 Vorbemerkung: Hier findet sich eine Sammlung von Beispielen und Motivationen zur Vorlesung Theoretische

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (III) 18.06.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Theoretische Informatik. Grammatiken. Grammatiken. Grammatiken. Rainer Schrader. 9. Juli 2009

Theoretische Informatik. Grammatiken. Grammatiken. Grammatiken. Rainer Schrader. 9. Juli 2009 Theoretische Informatik Rainer Schrader Institut für Informatik 9. Juli 2009 1 / 41 2 / 41 Gliederung die Chomsky-Hierarchie Typ 0- Typ 3- Typ 1- Die Programmierung eines Rechners in einer höheren Programmiersprache

Mehr

Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen

Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen (Kontextsensitive) Sprachen L 2 Menge aller kontextfreien

Mehr

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012 Hier Aufkleber mit Name und Matrikelnr. anbringen

Mehr

Spracherkennung (Syntaxanalyse)

Spracherkennung (Syntaxanalyse) Kellerautomaten Kellerautomaten 8 Spracherkennung (Syntaxanalyse) Algorithmus gesucht, der für L T (möglichst schnell) entscheidet, ob w L (Lösung des Wortproblems) Grammatik Automat Aufwand rechtslinear

Mehr

Normalformen für kontextfreie Grammatiken. Noam CHOMSKY, Sheila GREIBACH. Bäume. Ableitungen in kontextfreien Grammatiken. Grammatik G = (N,T,P,S)

Normalformen für kontextfreie Grammatiken. Noam CHOMSKY, Sheila GREIBACH. Bäume. Ableitungen in kontextfreien Grammatiken. Grammatik G = (N,T,P,S) Noam CHOMSKY, Sheila GREIBACH Normalformen für kontextfreie Grammatiken Noam CHOMSKY (*1928 ) Sheila GREIBACH (*1939) Grammatik G = (N,T,P,S) GREIBACH Normalform: A aw, w N* Erweiterte GREIBACH Normalform:

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

Formale Sprachen. Script, Kapitel 4. Grammatiken

Formale Sprachen. Script, Kapitel 4. Grammatiken Formale Sprachen Grammatiken Script, Kapitel 4 erzeugen Sprachen eingeführt von Chomsky zur Beschreibung natürlicher Sprache bedeutend für die Syntaxdefinition und -analyse von Programmiersprachen Automaten

Mehr

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

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

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen Malte Helmert Gabriele Röger Universität Basel 7. April 2014 Kontextsensitive und allgemeine Grammatiken Wiederholung: (kontextsensitive)

Mehr

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

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

Mehr

Rekursiv aufzählbare Sprachen

Rekursiv aufzählbare Sprachen Kapitel 4 Rekursiv aufzählbare Sprachen 4.1 Grammatiken und die Chomsky-Hierarchie Durch Zulassung komplexer Ableitungsregeln können mit Grammatiken größere Klassen als die kontextfreien Sprachen beschrieben

Mehr

Berechenbarkeitstheorie 7. Vorlesung

Berechenbarkeitstheorie 7. Vorlesung 1 Berechenbarkeitstheorie Dr. Institut für Mathematische Logik und Grundlagenforschung WWU Münster W 15/16 Alle Folien unter Creative Commons Attribution-NonCommercial 3.0 Unported Lizenz. Das Pumpinglemma

Mehr

Kapitel 3. Kontextfreie Sprachen. Induktive Charakterisierung der Sprache L der korrekten Klammerausdrücke: (w) L, falls w L vw L, falls v, w L

Kapitel 3. Kontextfreie Sprachen. Induktive Charakterisierung der Sprache L der korrekten Klammerausdrücke: (w) L, falls w L vw L, falls v, w L Kapitel 3 Kontextfreie Sprachen Induktive Charakterisierung der Sprache L der korrekten Klammerausdrücke: s. Übung ε L (w) L, falls w L vw L, falls v, w L (R0) (R1) (R2) Für beliebige w {(, )} kann w L

Mehr

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

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

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Johannes Köbler Institut für Informatik Humboldt-Universität zu Berlin WS 2011/12 Deterministische Kellerautomaten Von besonderem Interesse sind kontextfreie Sprachen,

Mehr

Einführung in die Theoretische Informatik I/ Grundlagen der Theoretischen Informatik. SS 2007 Jun.-Prof. Dr. Bernhard Beckert Ulrich Koch

Einführung in die Theoretische Informatik I/ Grundlagen der Theoretischen Informatik. SS 2007 Jun.-Prof. Dr. Bernhard Beckert Ulrich Koch Einführung in die Theoretische Informatik I/ Grundlagen der Theoretischen Informatik SS 2007 Jun.-Prof. Dr. Bernhard Beckert Ulrich Koch 3. Teilklausur 25. 07. 2007 Persönliche Daten bitte gut leserlich

Mehr

A : z z A : z z : ( z, x, z ) δ

A : z z A : z z : ( z, x, z ) δ Informatik IV, SoS2003 1 Definition 1.1 Ein Quintupel A =(X,Z,z 0,δ,Z f )heißt nichtdeterministischer endlicher Automat (NEA): 1. X, Z sind endliche nichtleere Mengen. 2. z 0 Z 4. δ Z X Z Informatik IV,

Mehr

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14 Kapitel: Die Chomsky Hierarchie Die Chomsky Hierarchie 1 / 14 Allgemeine Grammatiken Definition Eine Grammatik G = (Σ, V, S, P) besteht aus: einem endlichen Alphabet Σ, einer endlichen Menge V von Variablen

Mehr

Formale Grundlagen der Informatik

Formale Grundlagen der Informatik Formale Grundlagen der Informatik / 2015 1 Reguläre Ausdrücke Kommen in der Praxis immer dann vor, wenn standardisierte Eingaben erforderlich sind: Telefonnummern: +Land (0) Ort Anschluß Dateinamen: (A-Z,

Mehr

Klammersprache Definiere

Klammersprache Definiere Klammersprache w=w 1...w n {(,)}* heißt korrekt geklammert, falls die Anzahl ( ist gleich der Anzahl ). in jedem Anfangsstück w 1,...,w i (i n) ist die Anzahl ( nicht kleiner als die Anzahl ). Definiere

Mehr

Informatik 3 Theoretische Informatik WS 2016/17

Informatik 3 Theoretische Informatik WS 2016/17 Zwischenklausur 2 20. Januar 2017 Informatik 3 Theoretische Informatik WS 2016/17 Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg Institut für Informatik Name: Übungsgruppe: Schreiben Sie

Mehr

kontextfreie Sprachen: Normalformen

kontextfreie Sprachen: Normalformen 1 kontextfreie Sprachen: Normalformen Zur Erinnerung: Kontextfreie Sprachen sind diejenigen, die von Grammatiken erzeugt werden, die auf allen linken Regelseiten nur je ein Nichtterminalsymbol haben. Aufgrund

Mehr

Algorithmen und Datenstrukturen (EI)

Algorithmen und Datenstrukturen (EI) Algorithmen und Datenstrukturen (EI) ADS Zentralübung Stefan Schmid 4. Februar 2009 Einturnen... Ein heutiger Computer aus dem Saturn ist im Prinzip eine Turing Maschine? Nein. Zum Beispiel Sprache L =

Mehr

Theoretische Informatik und Logik Übungsblatt 2 (2017S) Lösung

Theoretische Informatik und Logik Übungsblatt 2 (2017S) Lösung Theoretische Informatik und Logik Übungsblatt 2 (2017) en Aufgabe 2.1 Geben ie jeweils eine kontextfreie Grammatik an, welche die folgenden prachen erzeugt, sowie eine Linksableitung und einen Ableitungsbaum

Mehr

Zusammenfassung. Endliche Sprachen. Fazit zu endlichen Automaten. Teil 4: Grammatiken und Syntaxanalyse

Zusammenfassung. Endliche Sprachen. Fazit zu endlichen Automaten. Teil 4: Grammatiken und Syntaxanalyse Endliche Sprachen Folgerung: Alle endlichen Sprachen sind regulär. Beweis: Sei L={w 1,,w n } Σ*. Dann ist w 1 +L+w n ein regulärer Ausdruck für L. Zusammenfassung Beschreibungsformen für reguläre Sprachen:

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

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

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2014/2015

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2014/2015 2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2014/2015 Hier Aufkleber mit Name und Matrikelnummer anbringen Vorname: Nachname: Matrikelnummer: Beachten Sie: Bringen Sie

Mehr

Worterkennung in Texten speziell im Compilerbau 14. April Frank Heitmann 2/65

Worterkennung in Texten speziell im Compilerbau 14. April Frank Heitmann 2/65 Grenzen regulärer Sprachen? Formale Grundlagen der Informatik 1 Kapitel 4 Über reguläre Sprachen hinaus und Frank Heitmann heitmann@informatik.uni-hamburg.de Wir haben mittlerweile einiges kennengelernt,

Mehr