Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Theorie formaler Sprachen Klaus Becker 2004. KB Theorie formaler Sprachen 2 Formale Sprachen und Automaten Reguläre SprachenEndliche Automaten Kontextfreie.

Ähnliche Präsentationen


Präsentation zum Thema: "Theorie formaler Sprachen Klaus Becker 2004. KB Theorie formaler Sprachen 2 Formale Sprachen und Automaten Reguläre SprachenEndliche Automaten Kontextfreie."—  Präsentation transkript:

1 Theorie formaler Sprachen Klaus Becker 2004

2 KB Theorie formaler Sprachen 2 Formale Sprachen und Automaten Reguläre SprachenEndliche Automaten Kontextfreie SprachenKellerautomaten Kontextsensitive SprachenLinear beschränkte TM Allgemeine SprachenTuringmaschinen

3 KB Theorie formaler Sprachen 3 Teil 1 Reguläre Sprachen

4 KB Theorie formaler Sprachen 4 Festlegung formaler Sprachen Zielsetzung Ziel ist es, verschiedene Möglichkeiten zur Festlegung formaler Sprachen zu vergleichen. B zN N 0 N 1 N 0N N 1N Automat Grammatik

5 KB Theorie formaler Sprachen 5 Die Sprache der Zustandsbezeichner z0 z10 z01101 z (Vereinfachte) Zustandsbezeichner Regeln zur Bildung vereinfachter Zustandsbezeichner /1/ Der Bezeichner beginnt mit einem z. /2/ Danach kommt beliebig oft, aber mindestens einmal eine der Ziffern 0 oder 1.

6 KB Theorie formaler Sprachen 6 Grammatik S zA A 0 A 1 A 0A A 1A z0 z10 z01101 z (Vereinfachte) Zustandsbezeichner Grammatikregeln

7 KB Theorie formaler Sprachen 7 Übersetzung: Grammatik Automat S zA A 0 A 1 A 0A A 1A

8 KB Theorie formaler Sprachen 8 Übersetzung: Automat Grammatik B A 0B A 1B S zA A 1A A 0A

9 KB Theorie formaler Sprachen 9 Exkurs: Nichtdeterministische Automaten Bei einem nichtdeterministischen Automaten besteht Wahlfreiheit: Der Automat kann bei einer gegebenen Eingabe von einem Zustand in verschiedene Folgezustände überführt werden. Bei einem deterministischen Automaten ist genau festgelegt, in welchen Folgezustand der Automat bei einer gegebenen Eingabe von einem Zustand aus überführt wird. Wahlmöglichkeit

10 KB Theorie formaler Sprachen 10 Exkurs: Nichtdeterministische Automaten Unter der Sprache eines nichtdeterministischen Automaten versteht man die Menge aller Wörter (über dem Alphabet der Eingabezeichen), die den Automaten vom Anfangszustand (allg. von einem Anfangszustand) in einen Endzustand überführen können.

11 KB Theorie formaler Sprachen 11 Exkurs: Nichtdeterministische Automaten Das Teilwort z00 kann den Automaten in die Zustände q1 und q2 überführen. Wird das nächste Zeichen 1 verarbeitet, so erweist sich die bisherige Überführung in q2 als Sackgasse (rot). Die Verarbeitung von q1 aus führt in q1 (grau) oder q2 (grün).

12 KB Theorie formaler Sprachen 12 Überführung: NFA DFA nichtdeterministischer Automat (NFA) deterministischer Automat (DFA)

13 KB Theorie formaler Sprachen 13 Äquivalenzsatz Bemerkungen: Da jeder deterministische Automat auch ein nichtdeterministischer Automat ist, gilt trivialerweise auch die Umkehrung: Zu jedem deterministischen Automaten gibt es einen nichtdeterministischen Automaten, der dieselbe Sprache erkennt. Deterministische und nichtdeterministische Automaten erkennen somit dieselben Sprachen. Satz (Rabin, Scott) Zu jedem nichtdeterministischen Automaten gibt es einen deterministischen Automaten, der dieselbe Sprache erkennt.

14 KB Theorie formaler Sprachen 14 Beweisidee Jede Menge von Zuständen des NFA ergibt einen neuen Zustand des DFA. Nicht benötigte Zustände werden weggelassen.

15 KB Theorie formaler Sprachen 15 Zusammenhang: Grammatik – Automat S zA A 0 A 1 A 0A A 1A B A 0B A 1B S zA A 1A A 0A Grammatik NFANFA Grammatik Die Übersetzung Grammatik NFA bzw. NFA Grammatik funktioniert nur, wenn die Grammatikregeln eine sehr einfache Gestalt haben: - Auf der linken Seite steht ein Nichtterminalsymbol. - Auf der rechten Seite steht genau ein Terminalsymbol oder ein Terminalsymbol gefolgt von einem Nichtterminalsymbol.

16 KB Theorie formaler Sprachen 16 Reguläre Grammatiken Eine Grammatik heißt regulär genau dann, wenn für jede Regel gilt: - Auf der linken Seite steht ein Nichtterminalsymbol. - Auf der rechten Seite steht genau ein Terminalsymbol oder ein Terminalsymbol gefolgt von einem Nichtterminalsymbol. Eine Sprache heißt regulär genau dann, wenn sie mit Hilfe einer regulären Grammatik beschrieben werden kann. Beispiele für reguläre Grammatikregeln: A c A aB A cA Beispiele für nicht-reguläre Grammatikregeln: A aBa AB c

17 KB Theorie formaler Sprachen 17 Äquivalenzsatz S zA A 0 A 1 A 0A A 1A B A 0B A 1B S zA A 1A A 0A Grammatik NFANFA Grammatik Satz Jede durch einen endlichen Automaten erkennbare Sprache ist regulär. Jede reguläre Sprache kann durch einen endlichen Automaten erkannt werden.

18 KB Theorie formaler Sprachen 18 Überführung: NFA RE (z((1+0)*))(0+1)

19 KB Theorie formaler Sprachen 19 Überführung: RE NFA (z((1+0)*))(0+1)

20 KB Theorie formaler Sprachen 20 Äquivalenzsatz Satz (Kleene) Jede durch einen endlichen Automaten erkennbare Sprache kann durch einen regulären Ausdruck beschrieben werden. Jede durch einen regulären Ausdruck beschreibbare Sprache kann durch einen endlichen Automaten erkannt werden.

21 KB Theorie formaler Sprachen 21 Beschreibung regulärer Sprachen Folgende Sprachbeschreibungskonzepte sind äquivalent: - deterministische endliche Automaten - nichtdeterministische endliche Automaten - reguläre Grammatiken - reguläre Ausdrücke S zA A 0 A 1 A 0A A 1A (z((1+0)*))(0+1)

22 KB Theorie formaler Sprachen 22 Übungen Aufgabe 1 Wir betrachten die Sprache der Wörter über dem Alphabet {a,b}, die mit a beginnen und mit b enden. Zeigen Sie, dass diese Sprache regulär ist. Entwerfen Sie zu dieser Sprache eine reguläre Grammatik, einen endlichen Automaten und einen regulären Ausdruck. Aufgabe 2 Wir betrachten die Sprache der Wörter über dem Alphabet {a,b,c}, die nach jedem a genau ein b enthalten. Zeigen Sie, dass diese Sprache regulär ist. Entwerfen Sie zu dieser Sprache eine reguläre Grammatik, einen endlichen Automaten und einen regulären Ausdruck. Aufgabe 3 Wir betrachten die Sprache der korrekt gebildeten ganzen Zahlen. Hierzu gehören z. B. 0, 3, +3, -3. Zeigen Sie, dass diese Sprache regulär ist.

23 KB Theorie formaler Sprachen 23 Teil 2 Kontextfreie Sprachen

24 KB Theorie formaler Sprachen 24 Klammersprachen off low high off... Vereinfachte Zustandsmengen ATag ETag Element Elementliste Ein Element besteht aus einem Anfangstag, einem Bezeichner oder einer Elementliste und einem passenden Endtag.

25 KB Theorie formaler Sprachen 25 Klammersprachen off low high off... Vereinfachte Zustandsmengen Terminalsymbole: ' ', '/', 'a', 'b', 'c', 'd',... Startsymbol: Produktionen: ::= 'a' | 'b' | 'c' | 'd' |... ::= | ::= ' '>' ::= ' '>' ::= [*] ::= | [*] Anfangs- und Endtag müssen zusammenpassen Grammatik

26 KB Theorie formaler Sprachen 26 Klammersprachen > >... > XML mit vereinfachten Tags Terminalsymbole: ' ', 'a', 'b', 'c', 'd',... Startsymbol: Produktionen: ::= 'a' | 'b' | 'c' | 'd' |... ::= | ::= ' '>' | ' '>' ::= | off low high off... ATag ETag Element Elementliste

27 KB Theorie formaler Sprachen 27 Klammersprachen <> <> > >... > XML mit vereinfachten Tags ohne Inhalte Terminalsymbole: ' ' Startsymbol: Produktionen: ::= ' ' | ' '>' ::= | > >... >

28 KB Theorie formaler Sprachen 28 Klammersprachen > > Klammer auf, Klammer zu Terminalsymbole: ' ' Startsymbol: Produktionen: ::= ' ' | ' '>' aaabbb Terminalsymbole: a, b Startsymbol: S Produktionen: S ::= ab | aSb L = {a n b n | n 1}

29 KB Theorie formaler Sprachen 29 Erkennen von Klammersprachen Problem: Gesucht ist ein endlicher Automat, der Klammersprachen erkennt. <> <> > > > Fehler EA <<<<<>>>><<<<<>>>> ok

30 KB Theorie formaler Sprachen 30 Erkennen von Klammersprachen Fehler EA <<<<<>>>><<<<<>>>> Schwierigkeit: Der endliche Automat muss sich merken, wie viele Klammern geöffnet sind. Zum Merken hat ein EA nur Zustände zur Verfügung. Mit endlich vielen Zuständen kann man sich aber nicht beliebig viele geöffnete Klammern merken.

31 KB Theorie formaler Sprachen 31 Grenzen des endlichen Automaten Annahme: Es gibt einen endlichen Automaten A, der L akzeptiert. A hat endliche viele Zustände. m bezeichne die Anzahl dieser Zustände. Wir betrachten jetzt ein Wort w = a k b k mit k > m. Das Wort w hat also einen Anfangsteil, der mehr as enthält als A Zustände hat. Bei der Verarbeitung des a-Anfangsteils von w muss zwangsläufig mindestens ein Zustand von A mindestens zweimal durchlaufen werden. Es ergibt sich folgende Situation: Satz Es gibt keinen endlichen Automaten, der die Klammersprache L = {a n b n | n 1} akzeptiert aa a a a aabb

32 KB Theorie formaler Sprachen 32 Grenzen des endlichen Automaten aa a a a aabb Es gilt: w = a k b k = a p a q a r b k mit p+q+r=k. Betrachte w´ = a p a q a q a r b k. Beachte: p+q+q+r>k (mehr as als bs). Es gilt: - w´ wird von A akzeptiert (da w´ genau wie w den AZ in einen EZ überführt). - w´ gehört nicht zur Sprache L (da mehr as als bs). Dies ist ein Widerspruch zur Annahme, dass A die Sprache L = {a n b n | n 1} akzeptiert. Die Annahme muss daher falsch sein. Die Aussage des Satzes ist folglich wahr. apap aqaq arar bkbk

33 KB Theorie formaler Sprachen 33 Grenzen des endlichen Automaten Folgerungen: Es gibt Sprachen (wie z. B. die oben gezeigten Klammersprachen), die - nicht von einem endlichen Automaten erkannt werden können, - nicht mit einer regulären Grammatik beschrieben werden können, - nicht mit einem regulären Ausdruck beschrieben werden können.

34 KB Theorie formaler Sprachen 34 Erweiterung des Automatenmodells...<<<>>> > > Kellerautomat Eingabeband Keller Lesekopf Zustandsbasierte Verarbeitungseinheit

35 KB Theorie formaler Sprachen 35 Spracherkennung mit Kellerautomaten Oberstes Kellerzeichen Kelleraktionen: push zDas Zeichen z auf den Stapel legen. popDas oberste Zeichen des Stapels entfernen. Zustandsübergang: z / e: Aktion Gelesene Eingabezeichen Spracherkennung: Ein Wort wird akzeptiert, wenn der Keller nach Abarbeitung des Wortes leer ist.

36 KB Theorie formaler Sprachen 36 Erkennung einer Klammersprache Erstellt mit Automaton Simulator Beispiel: Der Kellerautomat erkennt die Klammersprache L = { n | n 1}. Oberstes Kellerzeichen / Gelesene Eingabe : Kelleraktion

37 KB Theorie formaler Sprachen 37 Nichtdeterministische Kellerautomaten Nichtdeterminismus Zustandsübergang: Eingabe, Pop-Aktion; Push-Aktion Nichtdeterminismus

38 KB Theorie formaler Sprachen 38 Nichtdeterministische Kellerautomaten

39 KB Theorie formaler Sprachen 39 Übung Entwickeln Sie Kellerautomaten, die die folgenden Sprachen akzeptieren: Terminalsymbole: ' ', 'a', 'b', 'c' Startsymbol: Produktionen: ::= 'a' | 'b' | 'c' ::= | ::= ' '>' | ' '>' ::= | Terminalsymbole: ' ' Startsymbol: Produktionen: ::= ' ' | ' '>' ::= |

40 KB Theorie formaler Sprachen 40 Lösungsvorschlag Terminalsymbole: ' ', 'a', 'b', 'c' Startsymbol: Produktionen: ::= 'a' | 'b' | 'c' ::= | ::= ' '>' | ' '>' ::= |

41 KB Theorie formaler Sprachen 41 Struktur der Regeln Auf der linken Seite steht jeweils ein Nichtterminalsymbol. Auf der rechten Seite steht ein Wort, das aus Terminal- und Nichtterminalsymbolen bestehen kann. Terminalsymbole: ' ', 'a', 'b', 'c' Startsymbol: Produktionen: ::= 'a' | 'b' | 'c' ::= | ::= ' '>' | ' '>' ::= | Terminalsymbole: ' ' Startsymbol: Produktionen: ::= ' ' | ' '>' ::= | Strukturanalyse:

42 KB Theorie formaler Sprachen 42 Kontextfreie Grammatiken Beispiele für kontextfreie Grammatikregeln: E ab E aLb L E L EL Beispiele für nicht-kontextfreie Grammatikregeln: aAb bAa Eine Grammatik heißt kontextfrei genau dann, wenn für jede Regel gilt: - Auf der linken Seite steht ein Nichtterminalsymbol. - Auf der rechten Seite steht ein beliebiges Wort bestehend aus Terminal- und Nichtterminalsymbolen. Eine Sprache heißt kontextfrei genau dann, wenn sie mit Hilfe einer kontextfreien Grammatik beschrieben werden kann.

43 KB Theorie formaler Sprachen 43 Übersetzung: Grammatik Kellerautomat Nichtdeterministischer Zustandsübergang

44 KB Theorie formaler Sprachen 44 Äquivalenzsatz Satz Eine Sprache ist kontextfrei genau dann, wenn sie von einem nichtdeterministischen Kellerautomaten erkannt wird. Beachte: Mit deterministischen Kellerautomaten kann man nur eine echte Teilmenge der kontextfreien Sprachen erkennen.

45 KB Theorie formaler Sprachen 45 Teil 3 Kontextsensitive und allgemeine Sprachen

46 KB Theorie formaler Sprachen 46 Beispiel off low high off... Vereinfachte Zustandsmengen Regeln zur Bildung von XML-Ausdrücken /1/ Ein Element besteht aus einem Anfangstag, einem Bezeichner oder einer Elementliste und einem passenden Endtag. /2/ Ein Bezeichner besteht aus beliebigen alphanumerischen Zeichen.

47 KB Theorie formaler Sprachen 47 XML off low high off... Vereinfachte Zustandsmengen Terminalsymbole: ' ', '/', 'a', 'b', 'c', 'd',... Startsymbol: Produktionen: ::= 'a' | 'b' | 'c' | 'd' |... ::= | ::= ' '>' ::= ' '>' ::= [*] ::= | [*] Anfangs- und Endtag müssen zusammenpassen Grammatik

48 KB Theorie formaler Sprachen 48 Eine vereinfachte Tag-Klammersprache aab bc aab ATag-Wort-ETag Sprachbeschreibung L = {tut | t {a,b} * ; u {a,b,c}*} L ist die Menge aller Wörter, die aus einem beliebigen Wort u über dem Alphabet {a,b,c} und identischem Anfangs- und Endtag t besteht, wobei t ein beliebiges (nicht-leeres) Wort über dem Alphabet {a,b} ist. ba ccba ba

49 KB Theorie formaler Sprachen 49 Tag-Klammersprache aab bc aab ATag-Wort-ETag Startsymbol: S A ::= aA | bA | E ::= aE | bE | W ::= aW | bW | cW | S ::= A W E [*] [*] A und E müssen zusammenpassen Grammatik – Version 1 (mit Zusatzbedingung)

50 KB Theorie formaler Sprachen 50 Tag-Klammersprache aab bc aab ATag-Wort-ETag Startsymbol: S S ::= aTaX | bTbX T ::= aTaX | bTbX | U aXb ::= baX aXa ::= aaX bXa ::= abX bXb ::= bbX aX ::= a bX ::= b U ::= aU | bU | cU | Grammatik – Version 2 (ohne Zusatzbedingung)

51 KB Theorie formaler Sprachen 51 Übung Startsymbol: S S ::= aTaX | bTbX T ::= aTaX | bTbX | U aXb ::= baX aXa ::= aaX bXa ::= abX bXb ::= bbX aX ::= a bX ::= b U ::= aU | bU | cU | Testen Sie die Grammatik der Tag-Klammersprache mit Hilfe des Werkzeugs JFLAP. Erzeugen Sie hierbei auch Syntaxbäume und versuchen Sie, die Idee der Grammatikregeln zu verstehen.

52 KB Theorie formaler Sprachen 52 Test der Tag-Klammersprache aab|bc|aab

53 KB Theorie formaler Sprachen 53 Struktur der Regeln Auf der linken und rechten Seite können beliebige Wörter bestehend aus Terminal- und Nichtterminalsymbolen stehen. Strukturanalyse: Startsymbol: S S ::= aTaX | bTbX T ::= aTaX | bTbX | U aXb ::= baX aXa ::= aaX bXa ::= abX bXb ::= bbX aX ::= a bX ::= b U ::= aU | bU | cU |

54 KB Theorie formaler Sprachen 54 Kontextsensitive / allgemeine Grammatiken Beispiele: aX akontextsensitive Regel bXa abXallgemeine Regel Eine Grammatik heißt allgemein genau dann, wenn jede Regel die Struktur u v hat, wobei u und v beliebige Wörter bestehend aus Terminal- und Nichtterminalsymbolen sind. Eine Grammatik heißt kontextsensitiv genau dann, wenn jede Regel die Struktur uAv uwv hat, wobei - A ein Nichtterminalsymbol ist und - u, v und w beliebige Wörter bestehend aus Terminal- und Nichtterminalsymbolen sind. Eine Sprache heißt kontextsensitiv / allgemein genau dann, wenn sie mit Hilfe einer kontextsensitiven / allgemeinen Grammatik beschrieben werden kann.

55 KB Theorie formaler Sprachen 55 Einordnung der Tag-Klammersprache Satz Die Tag-Klammersprache L = {tut | t {a,b}*; u {a,b,c}*} a) ist allgemein, b) ist kontextsensitiv, c) ist nicht kontextfrei. Der Nachweis von a) ist mit der bereits angegebenen Grammatik erbracht. Auf den Nachweis von b) und c) wird hier verzichtet.

56 KB Theorie formaler Sprachen 56 Spracherkennung durch... Brute Force Parser Erzeugung von Hilfknoten

57 KB Theorie formaler Sprachen Suche einer Ableitung Grammatik: S ::= aSaX | bSbX | U aXb ::= baX; aXa ::= aaX; bXa ::= abX; bXb ::= bbX aX ::= a; bX ::= b U ::= aU | bU | cU | Ableitung: S aSaX a(aSaX)aX = aaSaXaX aa(bSbX)aXaX = aabSbXaXaX aab(bSbX)bXaXaX = aabbSbXbXaXaX aabb(U)bXbXaXaX = aabbUbXbXaXaX aabb(cU)bXbXaXaX = aabbcUbXbXaXaX aabbc()bXbXaXaX = aabbcbXbXaXaX aabbc(bbX)XaXaX = aabbcbbXXaXaX # aab(U)bXaXaX = aabUbXaXaX aab(cU)bXaXaX = aabcUbXaXaX... Wort: aabbcaab Backtracking

58 KB Theorie formaler Sprachen 58 Erweiterung des Automatenmodells...<<<>>> Turingmaschine Ein-/Ausgabeband Schreib- /Lesekopf Zustandsbasierte Verarbeitungseinheit

59 KB Theorie formaler Sprachen 59 Spracherkennung mit Turingmaschinen Turingmaschinenaktionen: Rein Feld nach rechts Lein Feld nach links Sstopp Zustandsübergang: a ; b, R Geschriebenes Zeichen Aktion Gelesenes Zeichen

60 KB Theorie formaler Sprachen 60 Worterkennung Worterkennung mit leerem Band Das zu bearbeitende Wort wird auf das Band geschrieben. Der Schreib-Lese-Kopf wird auf das erste Zeichen des Wortes gesetzt. Ein Wort wird akzeptiert, wenn die Turingmaschine nach der Bearbeitung des Wortes hält und ein leeres Band hinterlässt. Worterkennung mit Endzuständen Das zu bearbeitende Wort wird auf das Band geschrieben. Der Schreib-Lese-Kopf wird auf das erste Zeichen des Wortes gesetzt. Ein Wort wird akzeptiert, wenn sich die Turingmaschine nach der Bearbeitung des Wortes in einem Endzustand befindet.

61 KB Theorie formaler Sprachen 61 Spracherkennung mit Turingmaschinen Worterkennung mit leerem Band am Beispiel L = {a n b n | n 0}

62 KB Theorie formaler Sprachen 62 Spracherkennung mit Turingmaschinen Worterkennung mit Endzuständen am Beispiel L = {a n b n | n 0}

63 KB Theorie formaler Sprachen 63 Spracherkennung mit Turingmaschinen Worterkennung mit Endzuständen am Beispiel L = {a n b n | n 0}

64 KB Theorie formaler Sprachen 64 Erkennung der Tag-Klammersprache Satz Die Tag-Klammersprache L = {tut | t {a,b}*; u {a,b,c}*} kann mit Hilfe einer Turingmaschine erkannt werden. Schritt 1: Führe Begrenzer ein: aabbcaab xaabbcaabx Schritt 2: Lass die Begrenzer Schritt für Schritt nach innen wandern und überprüfe, ob die Teilworte links und rechts vom Begrenzer gleich sind: xaabbcaabx... axabbxaaxb... aaxbbcaxab... aabxbcxaab Ersetze hierzu Schritt für Schritt am linken Ende ein a durch ein y bzw. ein b durch ein z, wandere jeweils an das rechte Ende an die entsprechende Position. Wenn das passende Zeichen gefunden wird, dann ersetze es analog, ansonsten mach die Ersetzung rückgängig und verschiebe die Begrenzer eine Position weiter nach innen. Idee – dargestellt am Beispiel aab|bc|aab

65 KB Theorie formaler Sprachen mit dem MPG-Turing-Simulator

66 KB Theorie formaler Sprachen 66 Erkennung der Tag-Klammersprache Satz Die Tag-Klammersprache L = {tut | t {a,b}*; u {a,b,c}*} kann mit Hilfe einer linear beschränkten Turingmaschine erkannt werden. Eine linear beschränkte Turingmaschine ist eine Turingmaschine, bei der die Eingabe durch Randmarkierungen > und < eingeschlossen wird. Die Turingmaschine darf bei der Bearbeitung diese Markierungen weder überschreiten noch überschreiben. Bemerkung

67 KB Theorie formaler Sprachen 67 Äquivalenzsatz Satz Eine Sprache ist allgemein genau dann, wenn sie von einer deterministischen (oder nichtdeterministischen) Turingmaschine erkannt wird. Eine Sprache ist kontextsensitiv genau dann, wenn sie von einer linear beschränkten nichtdeterministischen Turingmaschine erkannt wird. Deterministische und nichtdeterministische Turingmaschinen sind gleich mächtig. Bemerkung

68 KB Theorie formaler Sprachen 68 Übungen Aufgabe 1 Entwerfen und testen Sie eine Turingmaschine, die die Sprache L = {a n b n | n 0} akzeptiert. Aufgabe 2 Entwerfen und testen Sie eine Turingmaschine, die die Sprache der korrekt gebildeten Zahlen akzeptiert. Aufgabe 3 Entwerfen und testen Sie eine Turingmaschine, die die Sprache der korrekt geklammerten a-b-Ausdrücke akzeptiert. Zu dieser Sprache gehören alle Wörter über dem Alphabet {a, b}, die zu jeder öffnenden Klammer a eine schließende Klammer b haben. Z. B.: aabb, aababb, aaababbabb Aufgabe 4 Entwerfen und testen Sie eine Turingmaschine, die die Sprache L = {a n b n c n | n 0} akzeptiert.

69 KB Theorie formaler Sprachen 69 Übungen Aufgabe 5 Welche der in Aufgabe 1,..., Aufgabe 4 beschriebenen Sprachen ist regulär, kontextfrei, kontextsensitiv, allgemein?

70 KB Theorie formaler Sprachen 70 Teil 4 Exkurs: Natürliche Sprachen

71 KB Theorie formaler Sprachen 71 Chomsky-Hierarchie TypGrammatikäquivalenter Automat 0allgemein(nicht)deterministische Turingmaschine 1kontextsensitivnichtdet. linear beschr. Turingmaschine 2kontextfreinichtdeterministischer Kellerautomat 3regulär(nicht)deterministischer endl. Automat Klassifikation von Sprachen (nach Chomsky / 1958)

72 KB Theorie formaler Sprachen 72 Noam Chomsky

73 KB Theorie formaler Sprachen 73 (Natürliche) Sprachen Sicht: zu Kommunikationszwecken verwendetes Zeichensystem Problem: Beschreibung und Erkennung natürlicher Sprachen

74 KB Theorie formaler Sprachen 74 Semiotik Semiotik: Lehre von den Zeichen Pragmatik: Lehre von der Verwendung sprachlicher Konstrukte in Handlungs- situationen Beziehung zwischen Zeichen und Zeichenbenutzer Semantik: Bedeutungslehre Beziehung zwischen Zeichen und Bezeichnetem Syntax: Lehre vom Satzbau Anordnung der Zeichen

75 KB Theorie formaler Sprachen 75 Syntax natürlicher Sprachen ::= Ein Satz besteht aus einer Nominalphrase und einer Verbalphrase. ::= | | Eine Nominalphrase muss immer aus einem Nomen bestehen, welchem unter Umständen ein Artikel vorangestellt ist. Ferner kann dem Nomen eine oder mehrere Präpositionalphrasen nachgestellt sein. ::= | | Eine Verbalphrase besteht aus einem Verb, dem eine Nominal- oder Präpositionalphrase nachgestellt sein kann. ::= Eine Präpositionalphrase besteht aus einer Präposition und einer Nominalphrase. ::= der | die | das | dem | ein | einem |... ::= mit | in |... ::= Anna | Kuh | Park | Fernglas |... ::= betrachtet |... (nach U. Schöning: Ideen der Informatik. Oldenbourg 2002)

76 KB Theorie formaler Sprachen 76 Ableitung eines Satzes Anna Anna betrachtet Anna betrachtet die Anna betrachtet die Kuh Anna betrachtet die Kuh mit Anna betrachtet die Kuh mit einem Anna betrachtet die Kuh mit einem Fernglas ::= ::= | | ::= ::= der | die | das | einem |... ::= mit | in |... ::= Anna | Kuh | Fernglas |... ::= betrachtet |... ::= ::= | | ::= ::= der | die | das | einem |... ::= mit | in |... ::= Anna | Kuh | Fernglas |... ::= betrachtet |...

77 KB Theorie formaler Sprachen 77 Automatische Übersetzung Die Beschreibung, Erkennung und Übersetzung natürlicher Sprachen ist sehr schwierig. Der Beschreibungsansatz über Grammatiken hat bisher nicht zum Erfolg geführt. Bemerkung

78 KB Theorie formaler Sprachen 78 Automatische Übersetzung heute Idee: Statistische Übersetzung mit Paralleltexten

79 KB Theorie formaler Sprachen 79 Literaturhinweise Gasper / Leiß / Spengler / Stimm: Technische und theoretische Informatik. Bsv U. Schöning: Theoretische Informatik – kurzgefasst. Spektrum Akademischer Verlag J. E. Hopcroft / J. D. Ullman: Einführung in die Automatentheorie, Formale Sprachen und Komplexitätstheorie. Addison-Wesley Automaton Simulator: Jflap: Charon: GoldParserBuilder:


Herunterladen ppt "Theorie formaler Sprachen Klaus Becker 2004. KB Theorie formaler Sprachen 2 Formale Sprachen und Automaten Reguläre SprachenEndliche Automaten Kontextfreie."

Ähnliche Präsentationen


Google-Anzeigen