TEIL III: FORMALE SPRACHEN

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "TEIL III: FORMALE SPRACHEN"

Transkript

1 EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester 2011 TEIL III: FORMALE SPRACHEN 16. TERMERSETZUNGSSYSTEME UND CHOMSKY-GRAMMATIKEN Theoretische Informatik (SoSe 2011) 16. Termersetzungssysteme 1 / 30

2 Einleitung In der Linguistik beschreibt man die Syntax von Sprachen mit Hilfe von Grammatiken. Definiert man eine Sprache als die Menge ihrer Sätze, so kann man eine Grammatik als Regelwerk zur Beschreibung der syntaktisch korrekten Sätze der Sprache, d.h. der Syntax der Sprache, auffassen: Durch eine Folge von Anwendungen von Regeln der Grammatik lässt sich die syntaktische Korrektheit eines gegebenen Satzes nachweisen (Verifikation, Akzeptor), oder alternativ lassen sich durch Ausführung aller möglichen Anwendungsfolgen der Regeln alle korrekten Sätze der Sprache erzeugen (Aufzählung, Erzeugendensystem, generative Grammatik). In der Theorie der formalen Sprachen betrachtet man verschiedene Typen von Grammatiken zur Beschreibung von formalen Sprachen und vergleicht die hierdurch gegebenen Sprachdarstellungen bezüglich ihrer Mächtigkeit und Qualität. Theoretische Informatik (SoSe 2011) 16. Termersetzungssysteme 2 / 30

3 Einleitung Im Folgenden werden wir uns auf generative Grammatiken konzentrieren, d.h. auf Grammatiken als Erzeugendensysteme, und hierbei insbesondere die verschiedenen Typen von Chomsky-Grammatiken diskutieren. Korrespondierende Verifikationsmethoden oder Akzeptoren werden durch Angabe äquivalenter Maschinenkonzepte gegeben. Dabei werden wir einen Satz als Zeichenreihe, d.h. als ein Wort auffassen. Die korrekt gebildeten Sätze einer Sprache bilden daher eine Menge von Wörtern, d.h. eine Sprache (in dem von uns bereits früher benutzten formalen Sinn). Die formale, mathematische Beschreibung von generativen Grammatiken basiert auf Termersetzungssystemen (oder Semi-Thue-Systemen). Theoretische Informatik (SoSe 2011) 16. Termersetzungssysteme 3 / 30

4 Termersetzungssysteme (Semi-Thue-Systeme) DEFINITION. Ein Termersetzungssystem oder Semi-Thue-System ist ein Paar E = (Σ,P) bestehend aus einem Alphabet Σ und einer endlichen Relation P Σ Σ. Die Elemente r = (u,v) von P heißen die Regeln (oder Produktionen) von E, wobei u die Prämisse und v die Konklusion von r ist. Für eine Regel r schreiben wir meist u v statt (u,v). Theoretische Informatik (SoSe 2011) 16. Termersetzungssysteme 4 / 30

5 Semantik von E = (Σ,P) Die Semantik eines Termersetzungssystems E = (Σ, P) lässt sich auf die Einschritt-Relation E Σ Σ mit w E w (u,v) P x,y Σ (w = xuy & w = xvy) zurückführen, die einen Herleitungsschritt (Ersetzungsschritt) beschreibt. Hieraus erhält man wie üblich (durch n-fache bzw. endliche Iteration) die n-schritt- und Mehrschritt-Relationen n E bzw. E : w 0 E w : w = w und w n+1 E w : w [w n E w & w E w ]. Für n 1 gilt also w n E w genau dann, wenn es Wörter w 0,...w n gibt mit w = w 0, w i E w i+1 (für i = 0,...n 1) und w n = w ]. w E w n 0 [w n E w ]. Die Mehrschrittrelation E ist also gerade der reflexive und transitive Abschluss der Einschrittrelation. Theoretische Informatik (SoSe 2011) 16. Termersetzungssysteme 5 / 30

6 Semantik von E = (Σ,P) Gilt w E w (w n E w ), so sagt man, dass w aus w (in n-schritten) herleitbar ist. Eine Herleitung oder Ableitung (der Länge n) ist eine Folge von Wörtern w 0,...,w n mit w 0 = w, w i E w i+1 (i < n) und w n = w. Weiter nennt man w eine Normalform von w, wenn w aus w herleitbar ist und nicht weiter umgeformt werden kann, d.h. es kein w mit w E w gibt. NOTATION. Ist das Termersetzungssystem E aus dem Kontext bekannt, so schreiben wir statt E (usw.). Theoretische Informatik (SoSe 2011) 16. Termersetzungssysteme 6 / 30

7 Beispiel: Arithmetische Terme Als Beispiel geben wir ein Termersetzungssystem zur Beschreibung der korrekt geklammerten, variablenfreien arithmetischen Terme über den Binärzahlen an. Induktive Definition der Terme: (T1) Jede Binärzahl ist ein Term. (T2) Sind t 1,t 2 Terme, so ist auch (t 1 + t 2 ) ein Term. (T3) Sind t 1,t 2 Terme, so ist auch (t 1 t 2 ) ein Term. Diese Definition basiert noch auf der folgenden induktiven Definition von (Binärwörtern und) Binärzahlen: (Z1) 0 und 1 sind Binärzahlen und Binärwörter. (Z2) Ist w ein Binärwort, so sind 0w und 1w ebenfalls Binärwörter und 1w eine Binärzahl. Wir wandeln nun diese induktiven Definitionen in ein entsprechendes Termersetzungssystem um. Theoretische Informatik (SoSe 2011) 16. Termersetzungssysteme 7 / 30

8 Beispiel: Arithmetische Terme Termersetzungssystem E = (Σ, P) zur Beschreibung der arithmetischen Terme: 1 Alphabet Σ = {0,1,+,,(,),T,Z,W } (Interpretation: T ˆ= Term, Z ˆ= Binärzahl, W ˆ= Binärwort) 2 Die Regeln P entsprechen gerade den Klauseln der induktiven Definition: (R1) T Z ˆ= (T1) (R2) T (T + T ) ˆ= (T2) (R3) T (T T ) ˆ= (T3) (R4) Z 0 ˆ= (Z1) (R8) W 0W ˆ= (Z2) (R5) Z 1 ˆ= (Z1) (R9) W 1W ˆ= (Z2) (R6) W 0 ˆ= (Z1) (R10) Z 1W ˆ= (Z2) (R7) W 1 ˆ= (Z1) Die Normalformen von W, Z und T sind dann gerade die nichtleeren Binärwörter, die Binärzahlen und die Terme. Theoretische Informatik (SoSe 2011) 16. Termersetzungssysteme 8 / 30

9 Beispiel: Arithmetische Terme Eine Herleitung eines Terms t aus T erhält man, indem man den Strukturbaum von t von oben nach unten (top down) durchläuft und die entsprechenden Regeln anwendet. Z.B. besitzt der Term t = ((10 0) + 11) folgende Herleitung: T (T + T ) (R2) ((T T ) + T ) (R3) ((Z T ) + T ) (R1) ((Z Z ) + T ) (R1) ((Z Z ) + Z ) (R1) ((1W Z ) + Z ) (R10) ((1W 0) + Z ) (R4) ((1W 0) + 1W ) (R10) ((10 0) + 1W ) (R6) ((10 0) + 11) (R7) NB: Die Stelle, an der die angegebene Regel angewendet wird, ist jeweils unterstrichen. Theoretische Informatik (SoSe 2011) 16. Termersetzungssysteme 9 / 30

10 Von Ersetzungssystemen zu Chomsky-Grammatiken In dem vorhergehenden Beispiel werden zu den Grundzeichen, die in den Termen vorkommen, (syntaktische) Variablen hinzugenommen, die für das gewünschte syntaktische Objekt (T = Term) bzw. die benötigten Hilfsobjekte (W = Binärwort, Z = Binärzahl) stehen. Die aus dem Zeichen T herleitbaren Wörter, die nur die eigentlichen Grundzeichen enthalten, sind dann gerade die arithmetischen Terme. Da man ähnliche Beobachtungen allgemein macht, hat Chomsky den Begriff des Termersetzungssystems entsprechend erweitert, und so den für die Sprachtheorie grundlegenden, nach ihm benannten Grammatikbegriff eingeführt: Theoretische Informatik (SoSe 2011) 16. Termersetzungssysteme 10 / 30

11 Von Ersetzungssystemen zu Chomsky-Grammatiken Das Alphabet wird in zwei Teile aufgeteilt: das terminal Alphabet, das gerade die eigentlichen Zeichen enthält, genannt die Terminalzeichen. das nichtterminale Alphabet, das die Hilfszeichen zur Bezeichnung der betrachteten (Hilfs-)Konzepte enthält, genannt die (syntaktischen) Variablen oder Nichtterminalzeichen. Eine der Variablen (die das zu beschreibende Konzept bezeichnet) wird als Startzeichen oder Axiom ausgezeichnet. Die dargestellte (oder erzeugte) Sprache besteht gerade aus den Terminalwörtern (d.h. den aus Terminalzeichen gebildeten Wörtern), die aus dem Axiom herleitbar sind. Theoretische Informatik (SoSe 2011) 16. Termersetzungssysteme 11 / 30

12 Chomsky-Grammatiken DEFINITION. Eine (Chomsky-)Grammatik G = (N, T, P, S) besteht aus: dem (nichtterminalen) Alphabet N bestehend aus den (syntaktischen) Variablen oder Nichtterminalzeichen dem (terminalen) Alphabet T mit N T = /0 bestehend aus den Terminalzeichen der endlichen Menge P ((N T ) T ) (N T ) von Regeln oder Produktionen dem Axiom oder Startzeichen S N. Von der Prämisse u einer Regel (u,v) verlangt man hier also, dass sie zumindest eine Variable enthält, während die Konklusion v ein beliebiges (möglicherweise leeres) Wort aus Terminal- und/oder Nichtterminalzeichen ist. (Wir schreiben wieder i.a. u v statt (u,v)). Theoretische Informatik (SoSe 2011) 16. Termersetzungssysteme 12 / 30

13 Chomsky-Grammatiken: Erzeugte Sprachen Ein nur aus Terminalzeichen bestehendes Wort heißt auch Terminalwort (oder Satz), ein beliebiges Wort w (das möglicherweise auch Variablen enthält) Satzform. Kommt hierbei in w tatsächlich eine Variable vor, sprechen wir von einer echten Satzform. Die von der Grammatik G = (N,T,P,S) erzeugte Sprache L(G) besteht gerade aus den Sätzen, die sich aus dem Axiom S mit Hilf der Regeln in P herleiten lassen. Formal definiert man L(G), indem man das der Grammatik G = (N,T,P,S) zugrundeliegende Termersetzungssystem E G = (N T,P) und den für solche Systeme bereits formal definierten Herleitbarkeitsbegriff verwendet. Theoretische Informatik (SoSe 2011) 16. Termersetzungssysteme 13 / 30

14 Chomsky-Grammatiken: Erzeugte Sprachen Die von der Grammatik G = (N,T,P,S) erzeugte Sprache L(G) wird formal wie folgt definiert: Das der Grammatik G = (N,T,P,S) zugrundeliegende Termersetzungssystem ist das System E G = (N T,P). Der Herleitungsbegriff für E G wird auf die Grammatik G direkt übertragen: Wir schreiben w G w (und sagen, dass w in G aus w herleitbar ist), falls w EG w gilt, also w in E G aus w herleitbar ist. Die von G erzeugte Sprache L(G) (über dem Alphabet T ) ist die Menge der aus dem Axiom herleitbaren Terminalwörter (=Sätze), d.h. L(G) = {w T : S G w}. Theoretische Informatik (SoSe 2011) 16. Termersetzungssysteme 14 / 30

15 Chomsky-Grammatiken: Bemerkungen und weitere Definitionen Ähnlich wie die Herleitbarkeitsrelation werden auch die Ein- und Mehrschrittrelation des zugrundeliegenden Termersetzungssystems E G = (N T,P) für die Grammatik G übernommen. So schreiben wir statt EG und n E G kurz G und n G. Ist die Grammatik G aus dem Kontext bekannt, so schreiben wir weiter, n, statt, n, G G. G Eine Sprache L ist eine Chomsky-Sprache, falls L von einer Chomsky-Grammatik erzeugt wird. Die Klasse aller Chomsky-Sprachen bezeichnen wir mit CH. Theoretische Informatik (SoSe 2011) 16. Termersetzungssysteme 15 / 30

16 Beispiele: Beispiel 1 BEISPIEL 1. Das Termersetzungssystem zur Erzeugung der arithmetischen Terme lässt sich in folgende Chomsky-Grammatik G = (N,T,P,S) überführen, deren erzeugte Sprache gerade die korrekt gebildeten arithmetischen Terme enthält: N = {T,W,Z } T = {0,1,+,,(,)} P enthält die Regeln (R1)-(R10) von oben S = T Theoretische Informatik (SoSe 2011) 16. Termersetzungssysteme 16 / 30

17 Beispiele: Beispiel 2 BEISPIEL 2. Die Sprache L = {0 m 1 n : m,n 1} wird von der Grammatik G = (N,{0,1},P,S) erzeugt, wobei N = {S,T } und P aus den vier Regeln (G1) S 0S (G2) S 0T (G3) T 1T (G4) T 1 besteht. BEMERKUNG / NOTATION. Enthält eine Grammatik mehrere Regeln mit derselben Prämisse, so fasst man diese mitunter zusammen. Im obigen Beispiel schreibt man z.b.: S 0S 0T T 1T 1 Theoretische Informatik (SoSe 2011) 16. Termersetzungssysteme 17 / 30

18 Beispiele: Beispiel 2 - Korrektheitsbeweis Um zu zeigen, dass eine Grammatik G eine Sprache L erzeugt, d.h., dass L = L(G) gilt, muss man die Inklusionen L L(G) und L(G) L zeigen. Zum Nachweis von L L(G) muss man zu jedem Wort w L eine G-Herleitung angeben. Dies lässt sich i.a. leicht zeigen, da die Grammatik ja gerade so entworfen wurde, dass dies möglich ist. Der Nachweis von L(G) L ist meist schwieriger. Hier zeigt man in der Regel durch die geeignete Wahl von Invarianten, dass keine ungewünschten Wörter in G herleitbar sind. Wir illustrieren einen (einfachen) Korrektheitsbeweis am gegebenen Beispiel. (Im Folgenden werden wir auf Korrektheitsbeweise meistens verzichten und lediglich an die Anschauung appellieren.) Theoretische Informatik (SoSe 2011) 16. Termersetzungssysteme 18 / 30

19 Beispiele: Beispiel 2 - Korrektheitsbeweis L L(G) L L(G) : Für gegebenes m,n 1 müssen wir eine Herleitung von 0 m 1 n aus S angeben: S m 1 0 m 1 S (m 1 (G1)) 0 m T (1 (G2)) n 1 0 m 1 n 1 T (n 1 (G3)) 0 m 1 n (1 (G4)) Theoretische Informatik (SoSe 2011) 16. Termersetzungssysteme 19 / 30

20 Beispiele: Beispiel 2 - Korrektheitsbeweis L(G) L L(G) L : Zum Nachweis dieser Inklusion charakterisieren wir durch Herleitungsinduktion, d.h. durch Induktion nach k, die in k Schritten aus S herleitbaren Sätze und Satzformen: S k w w = 0 k S oder m 1 n 0 (k = m + n & w = 0 m 1 n T ) oder m 1 n 1 (k = m + n & w = 0 m 1 n ) Für terminales w zeigt dies, dass S k w impliziert, dass w L gilt. k = 0: Für k = 0 ist die Behauptung klar, da S 0 w nur für w = S = 0 0 S gilt. k k + 1: Im Induktionsschritt von k nach k + 1 betrachtet man den letzten Schritt in der Herleitung S k+1 w, d.h. S k w w. Wird eine der Regeln (G1) oder (G2) angewendet, so muss w die Variable S enthalten, also nach Induktionsvoraussetzung w = 0 k S gelten. Es ist dann aber w = 0 k+1 S bzw. w = 0 k+1 T von der verlangten Gestalt. Wurde die Regel (G3) oder (G4) angewendet, muss entsprechend T in w vorkommen und daher w = 0 m 1 n T für geeignete m 1,n 0 mit m + n = k gelten. Hier gilt dann w = 0 m 1 n+1 T oder w = 0 m 1 n+1, weshalb wegen m + (n + 1) = k + 1 das Wort w wieder eine der gewünschten Gestalten hat. Theoretische Informatik (SoSe 2011) 16. Termersetzungssysteme 20 / 30 (1)

21 Beipiele: Beispiel 3 BEISPIEL 3. Die Sprache L = {0 n 1 n : n 1} variiert die Sprache in Beispiel 2, indem zusätzlich gefordert wird, dass der 0-Block und der 1-Block gleiche Länge haben. Diese Sprache wird von der Grammatik G = ({S},{0,1},P,S) mit der Produktionenmenge S 0S1 01 erzeugt. Während in Beispiel 2 die Wörter 0 m 1 n von links nach rechts erzeugt wurden, werden hier die Wörter von der Mitte aus erzeugt. Hierdurch lässt sich garantieren, dass der Nullblock und der Einsblock dieselbe Länge haben, indem in jedem Schritt die Länge jeden Blocks um 1 vergrößert wird. Theoretische Informatik (SoSe 2011) 16. Termersetzungssysteme 21 / 30

22 Beipiele: Beispiel 4 BEISPIEL 4. Die Sprache L = {0 n 1 n 0 m : n,m 1} wird von der Grammatik G mit Axiom S und Regeln S TU T 0T 1 01 U 0U 0 erzeugt. Alternativ könnte man auch folgende Regeln wählen: S U0 U U0 0T 1 T 0T 1 λ Bei den bisherigen Beispielen haben die Prämissen der Regeln jeweils nur aus einer Variablen bestanden. Wir betrachten nun noch eine Sprache, bei der dies nicht möglich ist. Theoretische Informatik (SoSe 2011) 16. Termersetzungssysteme 22 / 30

23 Beispiele: Beispiel 5 BEISPIEL 5. Die Sprache L = {0 n 1 n 0 n : n 1} unterscheidet sich vom vorhergehenden Beispiel dadurch, dass alle Blöcke nun gleich lang sind. Eine Grammatik G = (N,{0,1},P,S), die L erzeugt, besitzt die Variablen und enthält folgende Regeln: N = {S,A,B,C,A,B,C} (E1) S SABC (S1) AA 0A (E2) S ABC (S2) AB 0B (S3) BB 1B (V 1) BA AB (S4) BC 1C (V 2) CA AC (S5) CC 0C (V 3) CB BC (S6) C 0 Theoretische Informatik (SoSe 2011) 16. Termersetzungssysteme 23 / 30

24 Beispiele: Beispiel 5 - Idee Der Grammatik G liegt folgende Idee zugrunde: Die Variablen A,A bzw. B,B bzw. C,C sind jeweils Platzhalter für eine 0 im 1. Teil bzw. eine 1 im 2. Teil bzw. eine 0 im 3. Teil eines hergeleiteten Worts w = 0 n 1 n 0 n (n 1). In der 1. Phase der Herleitung wird mit Hilfe der Erzeugungsregeln (E1) und (E2) die erforderliche Anzahl von Platzhaltern geschaffen: S ABC(ABC) n 1 In der 2. Phase werden die Variablen mit Hilfe der Vertauschungsregeln (V1) - (V3) sortiert: ABC(ABC) n 1 AA n 1 B n C n Schließlich werden in der 3. Phase die Variablen mit Hilfe der Substitutionsregeln (S1)-(S6) durch ihre terminalen Werte ersetzt. Dabei darf nur die am Anfang dieser Phase ganz links stehende überstrichene Variable ersetzt werden. Gleichzeitig wird die rechte Nachbarvariable überstrichen, sodass diese im nächsten Schritt ersetzt werden kann, usw. bis die letzte Variable C überstrichen und im letzten Schritt direkt durch 0 ersetzt wird. D.h. die Ersetzung der Variablen erfolgt durchgehend von links nach rechts. AA n 1 B n C n 0 n 1 n 0 n Theoretische Informatik (SoSe 2011) 16. Termersetzungssysteme 24 / 30

25 Mächtigkeit der Chomsky-Sprachen: Charakterisierungssatz CHARAKTERISIERUNGSSATZ FÜR CH. Zu jeder Turingmaschine M kann man effektiv eine Chomsky-Grammatik G angeben, die die von M akzeptierte Sprache erzeugt, und umgekehrt. Insbesondere sind also die von Chomsky-Grammatiken erzeugten Sprachen gerade die rekursiv aufzählbaren Sprachen: CH = RA. Turingakzeptoren als Methode zur Erkennung von Sprachen und Chomsky-Grammatiken als Methode zur Erzeugung von Sprachen sind also äquivalent! Theoretische Informatik (SoSe 2011) 16. Termersetzungssysteme 25 / 30

26 Charakterisierungssatz: Beweisidee (1) 1. Jede Chomsky-Sprache L(G) ist rekursiv aufzählbar. Sei G = (N,T,P,S). Eine Herleitung eines Wortes w T in G hat die Form S v 1 v 2... v n w (n 0,v i (N T ) ), kann also als Wort über dem Alphabet Σ = N T { } aufgefasst werden. Da wir für Wörter v und v durch Mustervergleich überprüfen können, ob v durch Anwendung einer Regel in v überführbar ist, also v v gilt, kann man effektiv feststellen, ob ein Wort z Σ eine Herleitung beschreibt, und im positiven Fall lässt sich das hergeleitete Wort effektiv bestimmen. D.h. die Menge H = {(w,z) : w T,z Σ,z Herleitung von w} ist entscheidbar - also nach der Church-Turing-These rekursiv. Da w L(G) z((w,z) H) gilt, ist also L(G) nach dem Projektionslemma rekursiv aufzählbar. Durch Formalisierung des Arguments erhält man eine (nichttotale) TM M, die L(G) akzeptiert. Theoretische Informatik (SoSe 2011) 16. Termersetzungssysteme 26 / 30

27 Charakterisierungssatz: Beweisidee (2) 2. Jede von einem (nichttotalen) 1-Band-Turingakzeptor M = (Σ,Γ,Z,z 0,Z +,δ) erkannte Sprache L(M) Σ wird von einer Chomsky-Grammatik G erzeugt. Wie wir schon früher gesehen haben, können die Konfigurationen von M durch Wörter über Γ Z beschrieben werden (wobei wir Γ Z = /0 voraussetzen) [a l... a 1 a 0 z a 1... a r ] wobei a l... a 1 a 0 a 1... a r die relevante Bandinschrift ist und der Zustand z hinter dem Arebitsfeld steht. Weiter kann wegen der Lokalität der Turingmaschinen-Operationen der Übergang von einer Konfiguration zur Nachfolgekonfiguration durch eine Regel beschrieben werden. Hierbei werden jeder Programmzeile entsprechende Regeln zugeordnet. Z.B. entsprechen der Instruktion δ(z,a) = (a,r,z ) die Regeln aza a a z (für alle a Γ) und az] a bz] Wir können daher M als ein Termersetzungssystem auffassen. Theoretische Informatik (SoSe 2011) 16. Termersetzungssysteme 27 / 30

28 Charakterisierungssatz: Beweisidee (2) Fortsetzung Eine Grammatik G, die L(M) erzeugt, arbeitet nun anschaulich wie folgt, wobei eine Spurendarstellung mit 2 Spuren verwendet wird: (a) Aus dem Axiom S lässt sich für jedes Wort w Σ das Wort ŵ erzeugen, bei dem in der oberen Spur w und in der unteren Spur die zugehörige Startkonfiguration steht. (b) In einem Wort in Spurendarstellung lässt sich die in der unteren Spur stehende Konfiguration durch ihre Nachfolgekonfiguration ersetzen. (Hier benutzt man gerade die zuvor gemachte Beobachtung, dass M als Termersetzungssystem beschrieben werden kann.) (c) In einem Wort in Spurendarstellung, dessen untere Spur eine akzeptierende Stoppkonfiguration enthält, kann die untere Spur gelöscht werden. D.h. man erhält das Wort in der oberen Spur als Terminalwort. Details: s. Skript Theoretische Informatik (SoSe 2011) 16. Termersetzungssysteme 28 / 30

29 Unentscheidbare Probleme für Chomsky- Grammatiken Mit dem Charakterisierungssatz überträgt sich die Unentscheidbarkeit semantischer Eigenschaften von Turingmaschinen auf Grammatiken. Insbesondere ist das Wortproblem für Chomsky-Grammatiken, d.h. die Frage, ob ein Wort w von einer Grammatik G erzeugt wird, unentscheidbar, und es gibt nicht-rekursive, d.h. unentscheidbare Chomsky-Sprachen. Beispiele nichtrekursiver Probleme (für Chomsky-Grammatiken G und beliebiges terminales Alphabet Σ): W Σ = {(G,w) : w L(G)} (Wortproblem) EMPTY Σ = {G : L(G) = /0} (Leerheitsproblem) TOT Σ = {G : L(G) = Σ } (Totalitätsproblem) EQ Σ = {(G,G ) : L(G) = L(G )} (Äquivalenzproblem) Beweis: Durch Reduktion des Halteproblems bzw. der entsprechenden Indexmengen (für Turingmaschinen). Theoretische Informatik (SoSe 2011) 16. Termersetzungssysteme 29 / 30

30 Unentscheidbare Probleme für Chomsky- Grammatiken (Forts.) Stellt man eine Sprache durch eine Chomsky-Grammatik dar, so kann man also die wesentlichen Fragen über die dargestellte Sprache i.a. nicht entscheiden. In der Praxis schränkt man daher die zulässigen Regeln in einer Grammatik in geeigneter Weise ein. Hierdurch erhält man Darstellungen, die mehr über die dargestellte Sprache verraten. Generell gilt aber, je mehr Information man der Grammatik über die erzeugte Sprache effektiv oder gar effizient entnehmen kann, um so weniger Sprachen lassen sich mit Grammatiken diesen Typs darstellen. Wir werden dem Rechnung tragen und eine Hierarchie von Chomsky-Grammatiken und zugehörigen Sprachen einführen. Theoretische Informatik (SoSe 2011) 16. Termersetzungssysteme 30 / 30

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

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

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

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

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

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

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

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

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

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

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

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

Definition 4 (Operationen auf Sprachen) Beispiel 5. Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A + = n 1 An

Definition 4 (Operationen auf Sprachen) Beispiel 5. Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A + = n 1 An Definition 4 (Operationen auf Sprachen) Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A 0 = {ɛ}, A n+1 = AA n A = n 0 An A + = n 1 An Beispiel 5 {ab, b}{a, bb} = {aba, abbb,

Mehr

Formale Sprachen, reguläre und kontextfreie Grammatiken

Formale Sprachen, reguläre und kontextfreie Grammatiken Formale Sprachen, reguläre und kontextfreie Grammatiken Alphabet A: endliche Menge von Zeichen Wort über A: endliche Folge von Zeichen aus A A : volle Sprache über A: Menge der A-Worte formale Sprache

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

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

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

2.1 Allgemeines. Was ist eine Sprache? Beispiele:

2.1 Allgemeines. Was ist eine Sprache? Beispiele: Was ist eine Sprache? Beispiele: (a) Deutsch, Japanisch, Latein, Esperanto,...: Natürliche Sprachen (b) Pascal, C, Java, Aussagenlogik,...: Formale Sprachen Wie beschreibt man eine Sprache? (i) Syntax

Mehr

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

Zusammenfassung. Beispiel. 1 Wir betrachten die folgende Signatur F = {,, +, 0, 1} sodass. 3 Wir betrachten die Identitäten E. 4 Dann gilt E 1 + x = 1 Zusammenfassung Zusammenfassung der letzten LVA Einführung in die Theoretische Informatik Christina Kohl Alexander Maringele eorg Moser Michael Schaper Institut für Informatik @ UIBK Wintersemester 2016

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

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Woche 7 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Zusammenfassung Zusammenfassung der letzten LV 1 Wir betrachten die folgende Signatur

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

Kapitel 1.5 und 1.6. Ein adäquater Kalkül der Aussagenlogik

Kapitel 1.5 und 1.6. Ein adäquater Kalkül der Aussagenlogik Kapitel 1.5 und 1.6 Ein adäquater Kalkül der Aussagenlogik Teil 1: Kalküle und Beweisbarkeit und die Korrektheit des Shoenfield-Kalküls Mathematische Logik (WS 2010/11) Kapitel 1.5 und 1.6: Kalküle 1 /

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

Formale Sprachen. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marian KOGLER

Formale Sprachen. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marian KOGLER Formale Sprachen Grammatiken und die Chomsky-Hierarchie Rudolf FREUND, Marian KOGLER Grammatiken Das fundamentale Modell zur Beschreibung von formalen Sprachen durch Erzeugungsmechanismen sind Grammatiken.

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

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

Prolog basiert auf Prädikatenlogik

Prolog basiert auf Prädikatenlogik Software-Technologie Software-Systeme sind sehr komplex. Im Idealfall erfolgt die Programmierung problemorientiert, während die notwendige Übertragung in ausführbare Programme automatisch erfolgt. Prolog-Philosophie:

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

Formale Sprachen. Grammatiken. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marion OSWALD. Grammatiken: Ableitung

Formale Sprachen. Grammatiken. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marion OSWALD. Grammatiken: Ableitung Formale Sprachen rammatiken und die Chomsky-Hierarchie Rudolf FREUND, Marion OSWALD rammatiken Das fundamentale Modell zur Beschreibung von formalen Sprachen durch Erzeugungsmechanismen sind rammatiken.

Mehr

Kontextfreie Grammatiken

Kontextfreie Grammatiken Kontextfreie Grammatiken Bisher haben wir verschiedene Automatenmodelle kennengelernt. Diesen Automaten können Wörter vorgelegt werden, die von den Automaten gelesen und dann akzeptiert oder abgelehnt

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 Mitschrift

Theoretische Informatik Mitschrift Theoretische Informatik Mitschrift 2. Grammatiken und die Chomsky-Hierarchie Beispiel: Syntaxdefinition in BNF :=

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

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

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

Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive

Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive Grammatik G mit L(G) = L(G ). Beweis im Beispiel (2.): G = (V,Σ, P, S) : P = {S asbc, S abc, CB BC, ab ab, bb bb, bc bc, cc cc}. (i) G

Mehr

Die Prädikatenlogik erster Stufe: Syntax und Semantik

Die Prädikatenlogik erster Stufe: Syntax und Semantik Die Prädikatenlogik erster Stufe: Syntax und Semantik 1 Mathematische Strukturen und deren Typen Definition 1.1 Eine Struktur A ist ein 4-Tupel A = (A; (R A i i I); (f A j j J); (c A k k K)) wobei I, J,

Mehr

Alphabet, formale Sprache

Alphabet, formale Sprache n Alphabet Alphabet, formale Sprache l nichtleere endliche Menge von Zeichen ( Buchstaben, Symbole) n Wort über einem Alphabet l endliche Folge von Buchstaben, die auch leer sein kann ( ε leere Wort) l

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

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

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen.

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen. 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

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

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

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

Falls H die Eingabe verwirft, so wissen wir, dass M bei Eingabe w nicht hält. M hält im verwerfenden Haltezustand. Beweis:

Falls H die Eingabe verwirft, so wissen wir, dass M bei Eingabe w nicht hält. M hält im verwerfenden Haltezustand. Beweis: 1 Unentscheidbarkeit 2 Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Wintersemester 2014/15 #include char *s="include

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

Abschluss gegen Substitution. Wiederholung. Beispiel. Abschluss gegen Substitution

Abschluss gegen Substitution. Wiederholung. Beispiel. Abschluss gegen Substitution Wiederholung Beschreibungsformen für reguläre Sprachen: DFAs NFAs Reguläre Ausdrücke:, {ε}, {a}, und deren Verknüpfung mit + (Vereinigung), (Konkatenation) und * (kleenescher Abschluss) Abschluss gegen

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Woche 10 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Zusammenfassung Zusammenfassung der letzten LV Satz Sei G = (V, Σ, R, S) eine kontextfreie

Mehr

2.3 Deduktiver Aufbau der Aussagenlogik

2.3 Deduktiver Aufbau der Aussagenlogik 2.3 Deduktiver Aufbau der Aussagenlogik Dieser Abschnitt beschäftigt sich mit einem axiomatischen Aufbau der Aussagenlogik mittels eines Deduktiven Systems oder eines Kalküls. Eine syntaktisch korrekte

Mehr

Zusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen

Zusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen Zusammenfassung Zusammenfassung der letzten LV Einführung in die Theoretische Informatik Woche 6 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Satz 1 Seien F, G Boolesche Ausdrücke

Mehr

Grammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S)

Grammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S) Grammatiken Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V Startsymbol S V Produktionen P ( (V Σ) \ Σ ) (V Σ) Kurzschreibweise G = (V, Σ, P, S) Schreibweise für Produktion (α, β) P: α β 67 /

Mehr

Kapitel IV Formale Sprachen und Grammatiken

Kapitel IV Formale Sprachen und Grammatiken Kapitel IV Formale Sprachen und Grammatiken 1. Begriffe und Notationen Sei Σ ein (endliches) Alphabet. Dann Definition 42 1 ist Σ das Monoid über Σ, d.h. die Menge aller endlichen Wörter über Σ; 2 ist

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

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

Entscheidungsprobleme. Berechenbarkeit und Komplexität Entscheidbarkeit und Unentscheidbarkeit. Die Entscheidbarkeit von Problemen

Entscheidungsprobleme. Berechenbarkeit und Komplexität Entscheidbarkeit und Unentscheidbarkeit. Die Entscheidbarkeit von Problemen Berechenbarkeit und Komlexität Entscheidbarkeit und Unentscheidbarkeit Wolfgang Schreiner Wolfgang.Schreiner@risc.uni-linz.ac.at Research Institute for Symbolic Comutation (RISC) Johannes Keler University,

Mehr

Grundbegriffe. Grammatiken

Grundbegriffe. Grammatiken Grammatiken Grammatiken in der Informatik sind ähnlich wie Grammatiken für natürliche Sprachen ein Mittel, um alle syntaktisch korrekten Sätze (hier: Wörter) einer Sprache zu erzeugen. Beispiel: Eine vereinfachte

Mehr

Einführung in die Informatik Grammars & Parsers

Einführung in die Informatik Grammars & Parsers Einführung in die Informatik Grammars & Parsers Grammatiken, Parsen von Texten Wolfram Burgard Cyrill Stachniss 12.1 Einleitung Wir haben in den vorangehenden Kapiteln meistens vollständige Java- Programme

Mehr

Formale Sprachen und deren Grammatiken. Zusammenhang mit der Automatentheorie.

Formale Sprachen und deren Grammatiken. Zusammenhang mit der Automatentheorie. Formale Sprachen Formale Sprachen und deren Grammatiken. Zusammenhang mit der Automatentheorie. Inhaltsübersicht und Literatur Formale Sprachen: Definition und Darstellungen Grammatiken für formale Sprachen

Mehr

Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie

Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie Gliederung 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.1. 2.2. Reguläre Sprachen 2.3. Kontextfreie Sprachen 2/1, Folie 1 2015 Prof. Steffen

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

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

Program = Logic + Control

Program = Logic + Control Program = Logic + Control Prozedurale/imperative Sprachen: Abläufe formulieren Computer führt aus von-neumann-maschine Idee von deklarativen/logischen/funktionalen Programmiersprachen: Zusammenhänge formulieren

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

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

Grundlagen der Theoretischen Informatik

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

Mehr

w a is die Anzahl der Vorkommen von a in w Beispiel: abba a = 2

w a is die Anzahl der Vorkommen von a in w Beispiel: abba a = 2 1 2 Notation für Wörter Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg w a is die Anzahl der Vorkommen von a in w Beispiel: abba

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

Logik für Informatiker

Logik für Informatiker Logik für Informatiker 2. Aussagenlogik Teil 3 30.04.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Letztes Mal Aussagenlogik Syntax: welche Formeln? Semantik:

Mehr

Logik I. Symbole, Terme, Formeln

Logik I. Symbole, Terme, Formeln Logik I Symbole, Terme, Formeln Wie jede geschriebene Sprache basiert die Prädikatenlogik erster Stufe auf einem Alphabet, welches aus den folgenden Symbolen besteht: (a) Variabeln wie zum Beispiel v 0,v

Mehr

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie und, oder, nicht, wenn... dann zwischen atomaren und komplexen Sätzen. I. Aussagenlogik 2.1 Syntax Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen. Sätze selbst sind entweder wahr oder falsch. Ansonsten

Mehr

b) Eine nd. k-band-turingmaschine M zur Erkennung einer m-stelligen Sprache L (Σ ) m ist ein 8-Tupel

b) Eine nd. k-band-turingmaschine M zur Erkennung einer m-stelligen Sprache L (Σ ) m ist ein 8-Tupel 2. Turingmaschinen Zur Formalisierung von Algorithmen benutzen wir hier Turingmaschinen. Von den vielen Varianten dieses Konzeptes, die sich in der Literatur finden, greifen wir das Konzept der on-line

Mehr

1.5 Turing-Berechenbarkeit

1.5 Turing-Berechenbarkeit A.M. Turing (1937): Maschinenmodell zur exakten Beschreibung des Begriffs effektiv berechenbar Stift Mensch a c b b Rechenblatt a b b c Lese-/Schreibkopf endliche Kontrolle Turingmaschine Eine Turingmaschine

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

Semantik von Formeln und Sequenzen

Semantik von Formeln und Sequenzen Semantik von Formeln und Sequenzen 33 Grundidee der Verwendung von Logik im Software Entwurf Syntax: Menge von Formeln = Axiome Ax K ist beweisbar Formel ϕ beschreiben Korrektkeit Vollständigkeit beschreibt

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

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

Was ist ein Compiler?

Was ist ein Compiler? Was ist ein Compiler? Was ist ein Compiler und worum geht es? Wie ist ein Compiler aufgebaut? Warum beschäftigen wir uns mit Compilerbau? Wie ist die Veranstaltung organisiert? Was interessiert Sie besonders?

Mehr

Logische Folgerung. Definition 2.11

Logische Folgerung. Definition 2.11 Logische Folgerung Definition 2.11 Sei 2A eine aussagenlogische Formel und F eine endliche Menge aussagenlogischer Formeln aus A. heißt logische Folgerung von F genau dann, wenn I ( ) =1für jedes Modell

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

Teil V. Weiterführende Themen, Teil 1: Kontextsensitive Sprachen und die Chomsky-Hierarchie

Teil V. Weiterführende Themen, Teil 1: Kontextsensitive Sprachen und die Chomsky-Hierarchie Teil V Weiterführende Themen, Teil 1: Kontextsensitive Sprachen und die Chomsky-Hierarchie Zwei Sorten von Grammatiken Kontextsensitive Grammatik (CSG) (Σ, V, P, S), Regeln der Form αaβ αγβ α, β (Σ V ),

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

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 20.12.07 Bastian Molkenthin E-Mail: infotut@sunshine2k.de Web: http://infotut.sunshine2k.de Rückblick Semi-Thue-Systeme Ein Semi-Thue-System besteht

Mehr

2. Vorlesung. Slide 40

2. Vorlesung. Slide 40 2. Vorlesung Slide 40 Knobelaufgabe Was tut dieses Programm? Informell Formal Wie stellt man dies sicher? knobel(a,b) { Wenn a = 0 dann return b sonst { solange b 0 wenn a > b dann { a := a - b sonst b

Mehr

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

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 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. 447 Zusammenfassung Beschreibungsformen für reguläre Sprachen:

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

Theoretische Informatik I (Grundzüge der Informatik I)

Theoretische Informatik I (Grundzüge der Informatik I) Theoretische Informatik I (Grundzüge der Informatik I) Literatur: Buch zur Vorlesung: Uwe Schöning, Theoretische Informatik - kurzgefasst. Spektrum Akademischer Verlag, Heidelberg/Berlin, 4. Auflage, 2001.

Mehr

2.4 Kontextsensitive und Typ 0-Sprachen

2.4 Kontextsensitive und Typ 0-Sprachen Definition 2.43 Eine Typ 1 Grammatik ist in Kuroda Normalform, falls alle Regeln eine der folgenden 4 Formen haben: Dabei: A, B, C, D V und a Σ. Satz 2.44 A a, A B, A BC, AB CD. Für jede Typ 1 Grammatik

Mehr

Mathematische Maschinen

Mathematische Maschinen Mathematische Maschinen Ziel: Entwicklung eines allgemeinen Schemas zur Beschreibung von (mathematischen) Maschinen zur Ausführung von Algorithmen (hier: (partiellen) Berechnungsverfahren). Mathematische

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2015 22.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen

Mehr

Kapitel 1.5. Ein adäquater Kalkül der Aussagenlogik. Teil 1: Kalküle und Beweisbarkeit und die Korrektheit des Shoenfield-Kalküls

Kapitel 1.5. Ein adäquater Kalkül der Aussagenlogik. Teil 1: Kalküle und Beweisbarkeit und die Korrektheit des Shoenfield-Kalküls Kapitel 1.5 Ein adäquater Kalkül der Aussagenlogik Teil 1: Kalküle und Beweisbarkeit und die Korrektheit des Shoenfield-Kalküls Mathematische Logik (WS 2012/13) Kapitel 1.5: Kalküle 1/30 Syntaktischer

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 17. DIE KONTEXTFREIEN SPRACHEN II: ABSCHLUSSEIGENSCHAFTEN, MASCHINENCHARAKTERISIERUNG, KOMPLEXITÄT Theoretische

Mehr

Fragen 1. Muss eine DTM ein Wort zu Ende gelesen haben, um es zu akzeptieren? a) Ja! b) Nein!

Fragen 1. Muss eine DTM ein Wort zu Ende gelesen haben, um es zu akzeptieren? a) Ja! b) Nein! 4 Turingmaschinen Eingabeband nicht nur lesen, sondern auch schreiben kann und die zudem mit ihrem Lese-Schreib-Kopf (LSK) nach links und rechts gehen kann. Das Eingabeband ist zudem in beide Richtungen

Mehr

Formale Sprachen. Der Unterschied zwischen Grammatiken und Sprachen. Rudolf Freund, Marian Kogler

Formale Sprachen. Der Unterschied zwischen Grammatiken und Sprachen. Rudolf Freund, Marian Kogler Formale Sprachen Der Unterschied zwischen Grammatiken und Sprachen Rudolf Freund, Marian Kogler Es gibt reguläre Sprachen, die nicht von einer nichtregulären kontextfreien Grammatik erzeugt werden können.

Mehr

Grammatiken. Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen

Grammatiken. Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen Grammatiken Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen Grammatiken eignen sich besonders zur Modellierung beliebig tief geschachtelter,

Mehr

Theoretische Informatik SS 04 Übung 1

Theoretische Informatik SS 04 Übung 1 Theoretische Informatik SS 04 Übung 1 Aufgabe 1 Es gibt verschiedene Möglichkeiten, eine natürliche Zahl n zu codieren. In der unären Codierung hat man nur ein Alphabet mit einem Zeichen - sagen wir die

Mehr

Automatentheorie und formale Sprachen

Automatentheorie und formale Sprachen Automatentheorie und formale Sprachen VL 8 Chomsky-Grammatiken Kathrin Hoffmann 23. Mai 2012 Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 23.5. 2012 250 Wortproblem Wortproblem ist das

Mehr

1.5 Turing-Berechenbarkeit

1.5 Turing-Berechenbarkeit A.M. Turing (1937): Maschinenmodell zur exakten Beschreibung des Begriffs effektiv berechenbar Stift Mensch a c b b Rechenblatt a b b c Lese-/Schreibkopf endliche Kontrolle Turingmaschine Eine Turingmaschine

Mehr

Mathematische Grundlagen 2. Termrechnen

Mathematische Grundlagen 2. Termrechnen Inhaltsverzeichnis: 2. Termrechnen... 2 2.1. Bedeutung von Termen... 2 2.2. Terme mit Variablen... 4 2.3. Vereinfachen von Termen... 5 2.3.1. Zusammenfassen von gleichartigen Termen... 5 2.3.2. Vereinfachen

Mehr