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

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

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

Transkript

1 Gliederung 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie Reguläre Sprachen 2.3. Kontextfreie Sprachen 2/1, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik

2 u Anmerkungen nachdem wir im letzten Kapitel einen Ansatz kennengelernt, Sprachen zu beschreiben, indem man direkt ein Programm zur Lösung des Wortproblems für die zu beschreibende Sprache angibt, werden wir jetzt: Sprachen beschreiben, indem wir Regeln angeben, die es erlauben, alle Wörter der betreffenden Sprache zu erzeugen wir müssen also festlegen, wie man entsprechende Regeln notieren kann und wie man sie benutzen kann, um Wörter zu erzeugen (/* damit hat man auch präzisiert, welche Sprache durch eine Menge von Regeln beschrieben wird */), und im Anschluss die Frage klären, ob und wie man das Wortproblem für eine so beschriebene Sprache lösen kann 2/1, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik

3 u Anmerkungen (cont.) will man Sprachen mit Hilfe von Regeln beschreiben, sind generell die folgenden beiden Aspekte wichtig: der so genannte konzeptionelle Aspekt (/* also wie notiert man Regeln und wie werden sie benutzt, um Wörter zu erzeugen */) der so genannte algorithmische Aspekt (/* also mit Hilfe welcher algorithmischer Ideen kann man, wenn überhaupt, das Wortproblem für eine so beschriebene Sprache lösen */) 2/1, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik

4 u Anmerkungen (cont.) es gibt in der Informatik unterschiedliche Formalismen, Regeln zum Erzeugen von Wörtern zu notieren, etwa: Reguläre Ausdrücke Document Type Definitions XML-Sprachen... wichtig ist, den Formalismus so zu wählen, dass man anhand der Regeln zur Beschreibung einer Sprache relativ einfach (möglichst automatisch) einen Algorithmus ableiten kann, mit dem das Wortproblem für die beschriebene Sprache gelöst werden kann... wir schauen uns, die ihren Ursprung im Bereich der Sprachwissenschaft (Linguistik) haben, genauer an 2/1, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik

5 u Beispiel 1 es geht darum, die Menge aller Wörter der deutschen Sprache zu beschreiben Herangehensweise: man nimmt sich die aktuelle Ausgabe des Dudens her (/* alle im Duden aufgeführten Wörter gehören zur deutschen Sprache /) man formuliert Regeln, mit denen man anhand bereits bekannter Wörter der deutschen Sprache neue Wörter bilden kann, also Regeln, die es etwa erlauben: aus zwei Substantiven ein zusammengesetztes Substantiv zu bilden (/* aus Umsatzsteuer und Voranmeldung wird Umsatzsteuer-Voranmeldung */) Adjektive und Verben zu substantivieren (/* aus schön wird Schönheit, aus berühren wird Berührung */)... 2/1, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik

6 u Beispiel 2 es geht darum, die Menge aller Sätze der deutschen Sprache zu beschreiben Herangehensweise: man nimmt die Beschreibung der Wörter der deutschen Sprache her (siehe Beispiel 1) und formuliert Regeln, die es etwa erlauben: Hauptsätze zu bilden (/* Paul ist ein interessanter Typ. */) Nebensätze zu bilden (/* weil er in Theoretische Informatik eine 1.3 hat */) Hauptsätze und Nebensätze zu verknüpfen (/* Paul ist ein interessanter Typ, weil er in Theoretische Informatik eine 1.3 hat. */)... 2/1, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik

7 u Beispiel 2 (weiterführende Details) (einfache) Hauptsätze der deutschen Sprache sind wie folgt aufgebaut: an erste Position steht das Subjekt, an zweiter Position ein konjugiertes Prädikat und an dritter Position das Objekt um (einfache) Hauptsätze zu bilden könnte man folgende Regeln verwenden: <Hauptsatz> <Subjekt> <konjugiertes Prädikat> <Objekt>. <Subjekt> Hans Paul Maria... <konjugiertes Prädikat> mag verabscheut... <Objekt> Katzen Hunde... mit Hilfe dieser Regeln lassen sich bspw. die folgenden (einfachen) Hauptsätze bilden: Hans mag Katzen. Paul verabscheut Hunde.... 2/1, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik

8 u (/* konzeptioneller Aspekt */) Bestimmungstücke eine Chomsky-Grammatik G = (Σ,V,S,R): ein endliches Alphabet Σ von Zeichen eine endliche Menge V von Variablen eine ausgezeichnete Startvariabel S V eine endliche Menge R vom Typ l r mit l (Σ V)* \ { ε } und r (Σ V)* beabsichtigte Verwendung: eine Chomsky-Grammatik G soll die Sprache beschreiben, die alle Wörter w Σ* enthält, die man mit den Regeln dieser Grammatik aus der Startvariablen ableiten kann 2/1, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik

9 u Beispiel Grammatik G = (Σ,V,S,R) mit: Σ = { a,b } V = { S,A } den folgenden Regeln in der Regelmenge R: S SA und S bb A AA und A aa aus der Startvariablen S kann man das Wort w = bbaaaa wie folgt ableiten: S G SA G bba G bbaa G bbaaa G bbaaaa 2/1, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik

10 u Zentraler Hilfsbegriff: Ableitung in einem Schritt sei G = [Σ,V,S,R] eine Chomsky-Grammatik seien u, v (Σ V)* dann definieren wir: Das Wort v ist genau dann in einem Schritt aus dem Wort u ableitbar (/* in Zeichen u G v */), wenn es x,y (Σ V)* und eine Regel l r in R gibt, so dass gilt: u = x l y v = x r y... die Regel l r kann auf das Wort u angewendet werden, wenn das Wort u die linke Seite l dieser Regel als Teilwort enthält... das Ergebnis der Anwendung der Regel l r ist das Wort v, das man erhält, wenn man in u das Teilwort l durch die rechte Seite r dieser Regel ersetzt 2/1, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik

11 u Zentraler Begriff: Ableitung in endlich vielen Schritten es sei G = [Σ,V,S,R] eine Chomsky-Grammatik es seien u,v (Σ V)* Das Wort v ist genau dann in endlich vielen Schritten aus dem Wort u ableitbar (/* in Zeichen u G * v */), wenn gilt: v = u oder es gibt ein w (Σ V)*, so dass gilt: u G * w und w G v 2/1, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik

12 u Begriff: die durch eine Chomsky-Grammatik G beschriebene Sprache es sei G = [Σ,V,S,R] eine Chomsky-Grammatik dann definieren wir die durch G beschriebene Sprache L(G) wie folgt: L(G) = { w Σ* S G * w }.... L(G) enthält also alle Wörter w Σ*, die man mit den Regeln der Grammatik G aus der Startvariablen ableiten kann 2/1, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik

13 u Anmerkung wir kümmern uns noch ein wenig um den konzeptionellen Aspekt und schauen uns an, wie man zu einer gegebenen Sprache eine Chomsky-Grammatik finden kann, die diese Sprache beschreibt 2/1, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik

14 u Beispiel 1 sei Σ = { 0,1 } sei L = { w Σ* w enthält das Teilwort 000 } man kann sich leicht überlegen, dass sich jedes Wort w L in der Form w = u 000 v mit u,v Σ* schreiben lässt offenbar gilt L(G) = L für folgende Grammatik G = [Σ,V,S,R] mit: V = { S,A } R enthält die Regeln: S 000 und S A000A A 0, A 1, A 0A und A 1A 2/1, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik

15 u Beispiel 2 sei Σ = { 0,1 } sei L = { 0 n 1 n n N } man kann sich leicht überlegen, dass man die Sprache L wie folgt induktiv definieren lassen: das Wort 01 gehört zur Sprache L wenn ein Wort w zur Sprache L gehört, dann gehört auch das Wort w = 0 w 1 zur Sprache offenbar gilt dann L(G) = L für folgende Grammatik G = [Σ,V,S,R] mit: V = { S } R enthält die Regeln: S 01 und S 0S1 2/1, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik

16 u Beispiel 3 sei Σ = { 0,1,2 } sei L = { 1 n 2 n 3 n n N } Vorüberlegung: seien folgende Regeln gegeben: S 012 und S 0H12 H 012 man kann sich leicht überlegen, dass man mit diesen Regeln aus der Startvariablen S (außer S selbst) nur Wörter der Form u v Σ* ableiten kann, wobei gilt: u ist halb so lang wie v u enthält nur Nullen v enthält nur Einsen und Zweien, und zwar genauso viele... außer der Reihenfolge der Einsen und der Zweien in v passt alles 2/1, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik

17 u Beispiel 3 (cont.) in den bisher formulierten Regeln können wir nun das Zeichen 1 jeweils durch eine Variable E ersetzen und erhalten: S 0E2 und S 0HE2 H 0E2 mit diesen Regeln kann man aus der Startvariablen S (außer S selbst) nur Wörter der Form u v { 0,E,2 }* ableiten kann, wobei gilt: u ist halb so lang wie v u enthält nur Nullen v enthält nur E s und Zweien, und zwar genauso viele... außer der Reihenfolge der E s und der Zweien in v passt wieder alles, aber keines dieser Wörter ist ein Wort aus Σ*... jetzt müssen wir uns nur noch darum kümmern, die E s und Zweien in v in die richtige Reihenfolge zu bringen und die E s in Einsen zu verwandeln 2/1, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik

18 u Beispiel 3 (cont.) sei Σ = { 0,1,2 } sei L = { 1 n 2 n 3 n n N } unsere Vorüberlegungen garantieren, dass die folgende Grammatik G = [Σ,V,S,R] die Sprache L beschreibt, wobei gilt: V = { S,H,E } R enthält die Regeln: S 0E2 und S 0HE2 H 0E2 2E E2 0E 01 1E 11 man kann etwa das Wort w = wie folgt aus S ableiten: S G 0HE2 G 00E2E2 G 00EE22 G 001E22 G /1, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik

19 u Anmerkungen wir kümmern uns jetzt um den algorithmischen Aspekt, es geht also um die Frage: ob und wie man man das Wortproblem für eine Sprache lösen kann, die man mit einer Chomsky-Grammatik beschrieben hat die generelle Antwort auf die Frage ist deprimierend, da man zeigen kann, dass es Sprachen L mit folgenden Eigenschaften gibt: die Sprache L kann man mit einer Chomsky-Grammatik beschreiben es gibt nachweislich keinen Algorithmus, mit dem man das Wortproblem für die Sprache L lösen kann... um dieser Problematik aus dem Weg zu gehen, lässt man nicht alle als Beschreibungsmittel zu 2/1, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik

20 u Begriff: kontextsensitive Grammatik es sei G = [Σ,V,S,R] eine Chomsky-Grammatik dann definieren wir: G ist genau dann eine kontextsensitive Grammatik, wenn G keine verkürzenden Regeln enthält, also für alle Regel l r in R gilt: l r Fußnote: Sprachen, die das leere Wort enthalten, kann man offenbar nicht mit kontextsensitiven Grammatiken beschreiben. Da dieser Mangel kein schwerwiegender ist, kümmern wir uns um diesen Aspekt später. 2/1, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik

21 u Anmerkungen alle, die wir bisher definiert haben, enthalten keine verkürzenden Regeln, sind also kontextsensitive Grammatiken verzichtet man darauf, verkürzende Regeln zu benutzen, so kann man: einerseits bestimmte Sprachen nicht mehr beschreiben (/* manche Sprachen, kann man nur mit beschreiben, wenn man verkürzende Regeln benutzen darf */) sich anderseits sicher sein, dass das Wortproblem für jede so beschriebene Sprache lösbar ist 2/1, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik

22 u Zentrales Ergebnis (/* algorithmischer Aspekt */) sei G = [Σ,V,S,R] eine kontextsensitive Grammatik dann gilt: Das Wortproblem für die Sprache L(G) ist lösbar, d.h. es gibt einen Algorithmus, der für jedes Wort w Σ* entscheidet, ob w L(G) oder w L(G) gilt. 2/1, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik

23 u Vorüberlegungen sei G = [Σ,V,S,R] eine kontextsensitive Grammatik und w Σ* da es in R keine verkürzenden Regeln gibt, gilt offenbar: w gehört genau dann zur Sprache L(G), wenn es ein k N und Wörter u 1,u 2,...,u k (Σ V)* gibt, so dass gilt: also gilt: S G u 1 G u 2 G... G u k = w 1 u 1 u 2... u k = w w gehört genau dann zur Sprache L(G), wenn w Element der folgenden endlichen Menge M ist, wobei gilt: M = { u (Σ V)* u w, u S und S G* u }... M kann man nun berechnen, indem man sukzessive alle Wörter bestimmt, die sich in einem Schritt, zwei Schritten,... aus S ableiten lassen 2/1, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik

24 u Algorithmus zum Lösen des Wortproblems Eingabe: ein kontextsensitive Grammatik G und ein Wort w Σ* Ausgabe: Antwort auf die Frage, ob w L(G) oder w L(G) gilt (1) setze Q = Add(Q*,S), M = und gehe zu (1) (2) falls Q die leere Warteschlange ist, gehe zu (3); sonst, gehe zu (4) (3) setze u = First(Q), Q = Rest(Q), bestimme alle v mit u G v und gehe für jedes v wie folgt vor: teste, ob v = w gilt falls ja, so gib w L(G) aus und stoppe falls nein, gehe wie folgt vor: falls v w und v M gilt, setze M = M { v }, Q = Add(Q,v) und gehe zu (2) (4) gib w L(G) aus und stoppe 2/1, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik

25 u Fußnote zum Algorithmus auf der letzten Folie als zugrunde liegende Datenstruktur wird eine Warteschlange benutzt es werden folgende Abkürzungen verwendet: Q* bezeichnet die leere Warteschlange Add(Q,v) bezeichnet die Warteschlange, die entsteht, wenn das Element v ans Ende der Warteschlange Q angefügt wird First(Q) bezeichnet das erste Element in einer nichtleeren Warteschlange Q Rest(Q) bezeichnet die Warteschlange, die entsteht, wenn aus der nichtleeren Warteschlange Q das erste Element entfernt wird 2/1, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik

26 u Anmerkungen aufgrund unserer Vorüberlegungen sollte klar sein, dass der vorgestellte Algorithmus wirklich das Wortproblem für die Sprache L(G) löst der Algorithmus ist aber leider hoffnungslos ineffizient (/* aber, es ist kein qualitativ besserer Algorithmus bekannt und man vermutet, dass es keinen besseren gibt */) im Rest dieses Kapitels werden wir uns bestimmte Typen von Chomsky- Grammatiken genauer ansehen, die folgende Eigenschaft haben: mit dieser Typen kann man nur Sprachen beschreiben, für die das Wortproblem effizient lösbar ist 2/1, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik

27 u Begriffe: Typen von es werden vier Typen unterschieden: Typ-0 Grammatiken (/* Synonym: ) Sprachen, die man mit Typ-0 Grammatiken beschreiben kann, nennt man rekursiv aufzählbare Sprachen Typ-1 Grammatiken (/* Synonym: kontextsensitive Grammatiken) Sprachen, die man mit Typ-1 Grammatiken beschreiben kann, nennt man kontextsensitive Sprachen Typ-2 Grammatiken (/* Synonym: kontextfreie Grammatiken) Sprachen, die man mit Typ-2 Grammatiken beschreiben kann, nennt man kontextfreie Sprachen Typ-3 Grammatiken (/* Synonym: reguläre Grammatiken) Sprachen, die man mit Typ-3 Grammatiken beschreiben kann, nennt man reguläre Sprachen 2/1, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik

28 u Begriff: kontextfreie Grammatik (bzw. Typ-2 Grammatik) sei G = [Σ,V,S,R] eine Chomsky-Grammatik dann definieren wir: G ist genau dann eine kontextfreie Grammatik, wenn für alle Regeln l r in R gilt: die linke Seite l ist eine Variable aus V die rechte Seite r ist ein nichtleeres Wort aus (Σ V)*... offenbar kann eine kontextfreie Grammatik keine verkürzende Regeln enthalten 2/1, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik

29 u Anmerkungen da jede kontextfreie Grammatik gleichzeitig eine kontextsensitive Grammatik ist, weiß man folgendes: jede kontextfreie Sprache ist gleichzeitig eine kontextsensitive Sprache für jede kontextfreie Sprache ist das Wortproblem lösbar (/* wir werden sehen, dass es sogar effizient lösbar ist /) wir haben bereits gesehen, dass die folgenden Sprachen über dem Alphabet Σ = { 0,1 } mit kontextfreien Grammatiken beschrieben werden können, und deshalb kontextfreie Sprachen sind: L = { w Σ* w enthält das Teilwort 000 } L = { 0 n 1 n n N } 2/1, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik

30 u Begriff: reguläre Grammatik (bzw. Typ-3 Grammatik) sei G = [Σ,V,S,R] eine Chomsky-Grammatik dann definieren wir: G ist genau dann eine reguläre Grammatik, wenn für alle Regeln l r in R gilt: die linke Seite l ist eine Variable aus V die rechte Seite r ist entweder ein Zeichen aus Σ oder ein Zeichen aus Σ gefolgt von einer Variablen aus V... offenbar kann eine reguläre Grammatik keine verkürzende Regeln enthalten, und zwar nur solche Regeln, die man auch in kontextfreien Grammatiken verwenden kann 2/1, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik

31 u Anmerkungen da jede reguläre Grammatik gleichzeitig sowohl eine kontextsensitive als auch eine kontextfreie Grammatik ist, weiß man folgendes: jede reguläre Sprache ist gleichzeitig sowohl eine kontextsensitive als auch eine kontextfreie Sprache für jede reguläre Sprache ist das Wortproblem lösbar (/* wir werden sehen, dass man es sogar effizient lösen kann /) wir haben bisher noch kein Beispiel für eine reguläre Grammatik kennengelernt, sehr wohl aber ein Beispiel für ein reguläre Sprache, und zwar die folgende Sprache: L = { w Σ* w enthält das Teilwort 000 } mit Σ = { 0,1 } 2/1, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik

32 u zurück zu Beispiel 1 sei Σ = { 0,1 } sei L = { w Σ* w enthält das Teilwort 000 } man kann sich leicht überlegen, dass sich jedes Wort w L in der Form w = u 000 v mit u,v Σ* schreiben lässt Vorüberlegungen: offenbar kann man mit den Regeln S 0S und S 1S alle Wörter der Form us mit u Σ* und u ε aus S ableiten offenbar kann man mit den Regeln S 0A, A 0B, B 0 und B 0C die beiden Wörter 000 und 000C aus S ableiten 2/1, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik

33 u zurück zu Beispiel 1 (cont.) mit Hilfe unserer Vorüberlegungen kann man sich leicht klar machen, dass die folgende reguläre Grammatik G = [Σ,V,S,R] die Sprache L beschreibt, wobei gilt: V = { S,A,B,C,D } R enthält die Regeln: S 0S, S 1S und S 0A A 0B B 0 und B 0C C 0, C 1, C 0C und C 1C 2/1, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik

34 u Abschlussbemerkung (/* Umgang mit dem leeren Wort */) sei L Σ* mit ε L dann definieren wir: L ist genau dann eine kontextsensitive, kontextfreie bzw. reguläre Sprache, wenn gilt: es gibt eine kontextsensitive, kontextfreie bzw. reguläre Grammatik G mit L(G) = L \ { ε } 2/1, Folie Prof. Steffen Lange - HDa/FbI - Theoretische Informatik

Kapitel 3: Grundlegende Ergebnisse aus der Komplexitätstheorie Gliederung

Kapitel 3: Grundlegende Ergebnisse aus der Komplexitätstheorie Gliederung Gliederung 1. Berechenbarkeitstheorie 2. Grundlagen 3. Grundlegende Ergebnisse aus der Komplexitätstheorie 4. Die Komplexitätsklassen P und NP 5. Die Komplexitätsklassen RP und BPP 3.1. Ressourcenkompression

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

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

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

Mehr

Kapitel 3: Berechnungstheorie Gliederung

Kapitel 3: Berechnungstheorie Gliederung Gliederung 0. Motivation und Einordnung 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 3.1. Einordnung 3.2. Berechnungsmodelle 3.3. Diskussion 3.4. Ergebnisse und

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

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

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

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

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 2: Formale Sprachen Gliederung

Kapitel 2: Formale Sprachen Gliederung Gliederung. Einleitung und Grundbegriffe. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.. Chomsky-Grammatiken 2.2. Reguläre Sprachen Reguläre Grammatiken, ND-Automaten

Mehr

Grammatik Prüfung möglich, ob eine Zeichenfolge zur Sprache gehört oder nicht

Grammatik Prüfung möglich, ob eine Zeichenfolge zur Sprache gehört oder nicht Zusammenhang: Formale Sprache Grammatik Formale Sprache kann durch Grammatik beschrieben werden. Zur Sprache L = L(G) gehören nur diejenigen Kombinationen der Zeichen des Eingabealphabets, die durch die

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

Kapitel 2: Formale Sprachen Gliederung

Kapitel 2: Formale Sprachen Gliederung Gliederung 0. Einleitung und Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.1. Chomsky-Grammatiken 2.2. Reguläre Sprachen 2.3. Kontextfreie Sprachen

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

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

Algorithmen und Formale Sprachen

Algorithmen und Formale Sprachen Algorithmen und Formale Sprachen Algorithmen und formale Sprachen Formale Sprachen und Algorithmen Formale Sprachen und formale Algorithmen (formale (Sprachen und Algorithmen)) ((formale Sprachen) und

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

Berechenbarkeit und Komplexität

Berechenbarkeit und Komplexität Berechenbarkeit und Komplexität Prof. Dr. Dietrich Kuske FG Theoretische Informatik, TU Ilmenau Wintersemester 2010/11 1 Organisatorisches zur Vorlesung Informationen, aktuelle Version der Folien und Übungsblätter

Mehr

Grundlagen der Informatik II

Grundlagen der Informatik II Grundlagen der Informatik II Dr.-Ing. Sven Hellbach S. Hellbach Grundlagen der Informatik II Abbildungen entnommen aus: Dirk W. Hoffmann: Theoretische Informatik; Hanser Verlag 2011, ISBN: 978-3-446-42854-6

Mehr

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

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

Mehr

Theoretische Informatik 2 bzw. Formale Sprachen und Berechenbarkeit. Sommersemester Herzlich willkommen!

Theoretische Informatik 2 bzw. Formale Sprachen und Berechenbarkeit. Sommersemester Herzlich willkommen! Theoretische Informatik 2 bzw. Formale Sprachen und Berechenbarkeit Sommersemester 2012 Prof. Dr. Nicole Schweikardt AG Theorie komplexer Systeme Goethe-Universität Frankfurt am Main Herzlich willkommen!

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

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

Chomsky-Grammatiken 16. Chomsky-Grammatiken

Chomsky-Grammatiken 16. Chomsky-Grammatiken Chomsky-Grammatiken 16 Chomsky-Grammatiken Ursprünglich von Chomsky in den 1950er Jahren eingeführt zur Beschreibung natürlicher Sprachen. Enge Verwandschaft zu Automaten Grundlage wichtiger Softwarekomponenten

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

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

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

(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

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

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

Grundlagen der Theoretischen Informatik

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

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

Maike Buchin 18. Februar 2016 Stef Sijben. Probeklausur. Theoretische Informatik. Bearbeitungszeit: 3 Stunden

Maike Buchin 18. Februar 2016 Stef Sijben. Probeklausur. Theoretische Informatik. Bearbeitungszeit: 3 Stunden Maike Buchin 8. Februar 26 Stef Sijben Probeklausur Theoretische Informatik Bearbeitungszeit: 3 Stunden Name: Matrikelnummer: Studiengang: Geburtsdatum: Hinweise: Schreibe die Lösung jeder Aufgabe direkt

Mehr

Theoretische Informatik Kap 1: Formale Sprachen/Automatentheorie

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

Mehr

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

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

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

Ü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

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

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

Ü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

Kapitel 2: Analyse der Laufzeit von Algorithmen Gliederung

Kapitel 2: Analyse der Laufzeit von Algorithmen Gliederung Gliederung 1. Motivation / Einordnung / Grundlagen 2. Analyse der Laufzeit von Algorithmen 3. Untere Schranken für algorithmische Probleme 4. Sortier- und Selektionsverfahren 5. Paradigmen des Algorithmenentwurfs

Mehr

Grundlagen der Theoretischen Informatik

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

Mehr

Beschreibungskomplexität von Grammatiken Definitionen

Beschreibungskomplexität von Grammatiken Definitionen Beschreibungskomplexität von Grammatiken Definitionen Für eine Grammatik G = (N, T, P, S) führen wir die folgenden drei Komplexitätsmaße ein: Var(G) = #(N), Prod(G) = #(P ), Symb(G) = ( α + β + 1). α β

Mehr

Herzlich willkommen!!!

Herzlich willkommen!!! Theoretische Informatik 2 Sommersemester 2013 Prof. Dr. Georg Schnitger AG Theoretische Informatik Johann Wolfgang Goethe-Universität Frankfurt am Main Herzlich willkommen!!! 1 / 19 Kapitel 1: Einführung

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

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

Theoretische Informatik Kap 2: Berechnungstheorie

Theoretische Informatik Kap 2: Berechnungstheorie Gliederung der Vorlesung 0. Grundbegriffe 1. Formale Sprachen/Automatentheorie 1.1. Grammatiken 1.2. Reguläre Sprachen 1.3. Kontextfreie Sprachen 2. Berechnungstheorie 2.1. Berechenbarkeitsmodelle 2.2.

Mehr

Grundlagen der Theoretischen Informatik

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

Mehr

FORMALE SYSTEME. Sprachen beschreiben. Wiederholung. Wie kann man Sprachen beschreiben? 2. Vorlesung: Grammatiken und die Chomsky-Hierarchie

FORMALE SYSTEME. Sprachen beschreiben. Wiederholung. Wie kann man Sprachen beschreiben? 2. Vorlesung: Grammatiken und die Chomsky-Hierarchie Wiederholung FORMALE SYSTEME 2. Vorlesung: Grammatiken und die Chomsky-Hierarchie Markus Krötzsch Formale Sprachen sind in Praxis und Theorie sehr wichtig Ein Alphabet ist eine nichtleere, endliche Menge

Mehr

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

Informatik III. Christian Schindelhauer Wintersemester 2006/07 6. Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 6. Vorlesung 10.11.2006 schindel@informatik.uni-freiburg.de 1 Kapitel IV Kontextfreie Sprachen Kontextfreie Grammatik Informatik III 6. Vorlesung

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

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

Kapitel 5: Minimale spannende Bäume Gliederung der Vorlesung

Kapitel 5: Minimale spannende Bäume Gliederung der Vorlesung Gliederung der Vorlesung 1. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege. Minimale spannende Bäume. Färbungen und Cliquen. Traveling Salesman Problem. Flüsse in Netzwerken

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 Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 10.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

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

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

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung Gliederung der Vorlesung. Fallstudie Bipartite Graphen. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen. Minimal spannende Bäume. Kürzeste Pfade. Traveling Salesman Problem. Flüsse in Netzwerken

Mehr

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen -

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen - Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen - Thies Pfeiffer Technische Fakultät tpfeiffe@techfak.uni-bielefeld.de Vorlesung, Universität Bielefeld, Winter 2012/2013 1 / 1 Exkurs: Formale

Mehr

Formale Sprachen, Automaten, Compiler

Formale Sprachen, Automaten, Compiler Formale Sprachen, Automaten, Compiler Berufsakademie Lörrach, TIT06-3. Semester Übung 1 -> LÖSUNGSVORSCHLAG ÜA1.1. Die "normalen" Dezimalziffern, also Σ = { 0, 1,..., 9, ist sicher ein Alphabet, aber auch

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

Kapitel 3: Untere Schranken für algorithmische Probleme Gliederung

Kapitel 3: Untere Schranken für algorithmische Probleme Gliederung Gliederung 1. Grundlagen 2. Analyse der Laufzeit von Algorithmen 3. Untere Schranken für algorithmische Probleme 4. Sortier- und Selektionsverfahren 5. Paradigmen des Algorithmenentwurfs 6. Ausgewählte

Mehr

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Theoretische Informatik für Wirtschaftsinformatik und Lehramt Theoretische Informatik für Wirtschaftsinformatik und Lehramt Reguläre Sprachen Priv.-Doz. Dr. Stefan Milius stefan.milius@fau.de Theoretische Informatik Friedrich-Alexander Universität Erlangen-Nürnberg

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

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

Was bisher geschah: Formale Sprachen

Was bisher geschah: Formale Sprachen Was bisher geschah: Formale Sprachen Alphabet, Wort, Sprache Operationen und Relationen auf Wörtern und Sprachen Darstellung unendlicher Sprachen durch reguläre Ausdrücke (Syntax, Semantik, Äquivalenz)

Mehr

11.1 Kontextsensitive und allgemeine Grammatiken

11.1 Kontextsensitive und allgemeine Grammatiken Theorie der Informatik 7. April 2014 11. Kontextsensitive und Typ-0-Sprachen Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen 11.1 Kontextsensitive und allgemeine Grammatiken Malte Helmert

Mehr

Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie

Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester 2005/2006 07.02.2006 28. und letzte Vorlesung 1 Die Chomsky-Klassifizierung Chomsky-Hierachien 3: Reguläre Grammatiken

Mehr

Grundlagen der Informatik II

Grundlagen der Informatik II Grundlagen der Informatik II Tutorium 2 Professor Dr. Hartmut Schmeck Miniaufgabe * bevor es losgeht * Finden Sie die drei Fehler in der Automaten- Definition. δ: A = E, S, δ, γ, s 0, F, E = 0,1, S = s

Mehr

Grundbegriffe der Informatik Tutorium 12

Grundbegriffe der Informatik Tutorium 12 Grundbegriffe der Informatik Tutorium 12 Tutorium Nr. 16 Philipp Oppermann 28. Januar 2015 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum

Mehr

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

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

Mehr

Übungsaufgaben zu Formalen Sprachen und Automaten

Übungsaufgaben zu Formalen Sprachen und Automaten Universität Freiburg PD Dr. A. Jakoby Sommer 27 Übungen zum Repetitorium Informatik III Übungsaufgaben zu Formalen Sprachen und Automaten. Untersuchen Sie das folgende Spiel: A B x x 2 x 3 C D Eine Murmel

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

Hallo Welt für Fortgeschrittene

Hallo Welt für Fortgeschrittene Hallo Welt für Fortgeschrittene Parsen Thomas Wehr Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Inhalt Theoretische Grundlagen Grammatiken im Allgemeinen Die Chomsky-Hierarchie Die Chomsky-Normalform

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

Musterlösung der Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2012/13

Musterlösung der Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2012/13 Institut für Kryptographie und Sicherheit Prof. Dr. Jörn Müller-Quade Musterlösung der Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 22/3 Vorname Nachname Matrikelnummer

Mehr

Formale Sprachen und endliche Automaten

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

Mehr

Syntax von Programmiersprachen

Syntax von Programmiersprachen "Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt Syntax von Programmiersprachen Prof. Dr. Christian Böhm in Zusammenarbeit mit Gefei Zhang WS 07/08

Mehr

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben Dieses Dokument soll mehr dazu dienen, Beispiele für die formal korrekt mathematische Bearbeitung von Aufgaben zu liefern, als konkrete Hinweise auf typische Klausuraufgaben zu liefern. Die hier gezeigten

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

Kapitel 5: Dynamisches Programmieren Gliederung

Kapitel 5: Dynamisches Programmieren Gliederung Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen

Mehr

Herzlich willkommen!!!

Herzlich willkommen!!! Theoretische Informatik 2 Sommersemester 2015 Prof. Dr. Georg Schnitger AG Theoretische Informatik Goethe-Universität Frankfurt am Main Herzlich willkommen!!! 1 / 19 Kapitel 1: Einführung Einführung 2

Mehr

Automaten, Spiele, und Logik

Automaten, Spiele, und Logik Automaten, Spiele, und Logik Woche 2 25. April 2014 Inhalt der heutigen Vorlesung 1. Reguläre Ausdrücke 2. der Satz von Kleene 3. Brzozowski Methode 4. grep und perl Reguläre Ausdrücke Rekursive Definition,

Mehr

Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14

Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14 Institut für Theoretische Informatik Prof. Dr. Jörn Müller-Quade Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 23/4 Vorname Nachname Matrikelnummer Hinweise Für die

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

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/3, Folie 1 2010 Prof. Steffen Lange - HDa/FbI

Mehr

Typ-1-Sprachen. Satz 1 (Kuroda ( ) 1964)

Typ-1-Sprachen. Satz 1 (Kuroda ( ) 1964) Typ-1-Sprachen Satz 1 (Kuroda (1934-2009) 1964) Eine Sprache L hat Typ 1 (= ist kontextsensitiv) genau dann, wenn sie von einem nichtdeterministischen LBA erkannt wird. Beweis: Sei zunächst L Typ-1-Sprache.

Mehr

Kapitel 4: Minimal spannende Bäume Gliederung der Vorlesung

Kapitel 4: Minimal spannende Bäume Gliederung der Vorlesung Kapitel : Minimal spannende Bäume Gliederung der Vorlesung. Fallstudie Bipartite Graphen 2. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen. Minimal spannende Bäume. Kürzeste Wege. Traveling

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

Kapitel 4: Netzplantechnik Gliederung der Vorlesung

Kapitel 4: Netzplantechnik Gliederung der Vorlesung Gliederung der Vorlesung 1. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege 4. Netzplantechnik 5. Minimal spannende Bäume 6. Traveling Salesman Problem 7. Flüsse in Netzwerken

Mehr

Automaten und Formale Sprachen

Automaten und Formale Sprachen Automaten und Formale Sprachen Prof. Dr. Dietrich Kuske FG Theoretische Informatik, TU Ilmenau Wintersemester 2011/12 WS 11/12 1 Organisatorisches zur Vorlesung Informationen, aktuelle Version der Folien

Mehr

Ausgewählte unentscheidbare Sprachen

Ausgewählte unentscheidbare Sprachen Proseminar Theoretische Informatik 15.12.15 Ausgewählte unentscheidbare Sprachen Marian Sigler, Jakob Köhler Wolfgang Mulzer 1 Entscheidbarkeit und Semi-Entscheidbarkeit Definition 1: L ist entscheidbar

Mehr

Unentscheidbarkeit. Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen

Unentscheidbarkeit. Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: und effiziente Algorithmen Wintersemester 2011/12 Prof. Barbara König Übungsleitung: Henning Kerstan & Jan Stückrath Worum geht

Mehr

Kapitel 4: Minimale spannende Bäume Gliederung der Vorlesung

Kapitel 4: Minimale spannende Bäume Gliederung der Vorlesung Kapitel : Minimale spannende Bäume Gliederung der Vorlesung. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen. Kürzeste Wege. Minimale spannende Bäume. Färbungen und Cliquen. Traveling Salesman

Mehr

Formale Sprachen und Automaten

Formale Sprachen und Automaten Formale Sprachen und Automaten Kapitel 1: Grundlagen Vorlesung an der DHBW Karlsruhe Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2012 Ziel Einführung der wichtigsten

Mehr