Blitzkurs Theoretische Informatik/ Grammatiken

Größe: px
Ab Seite anzeigen:

Download "Blitzkurs Theoretische Informatik/ Grammatiken"

Transkript

1 Page 1 of 8 Blitzkurs Theoretische Informatik/ Grammatiken Aus Wikibooks < Blitzkurs Theoretische Informatik Natürliche Sprachen wie das Deutsche kann man nicht richtig beschreiben. Formale Sprachen beschreibt man mit Grammatiken. Das ist ein 4-Tupel bestehend aus der Menge der Nichtterminale, der Menge der Terminale, der Menge der Umformungsregeln und dem Startsymbol. Eine Ableitung vom Startsymbol bis zu einem Wort nur aus Terminalen kann man mit dem Ableitungspfeil oder als Ableitungsbaum aufschreiben. Gibt es für ein Wort unterschiedliche Ableitungsbäume, ist die Grammatik mehrdeutig. Gibt es für eine Sprache keine eindeutige Grammatik, ist sie inhärent mehrdeutig. Grammatiken und Sprachen unterteilt man nach der Chomsky-Hierarchie in Typ 0 (rekursiv aufzählbar), 1 (kontextsensitiv), 2 (kontextfrei) und 3 (regulär). Es gibt Sprachen, die nicht vom Typ 0 und damit nicht von Grammatiken beschreibbar sind. Inhaltsverzeichnis Tag 1 1 Tag 1 2 Tag 2 3 Tag 3 4 Tag 4 5 Tag 5 6 Rückblick Das Gelernte über formale Sprachen trifft ebenso auf natürliche Sprachen zu. Es verschieben sich nur die Begriffe Buchstabe und Wort zu Wort und Satz. Leider ist es kaum möglich, natürliche Sprachen formal zu beschreiben. Zur Beschreibung formaler Sprachen kommen Grammatiken zum Einsatz, die Regeln zur Ableitung von Wörtern aus Nichtterminalen enthalten. Normalerweise gibt man die Regeln in BNF an. Vielleicht kommt dir eine Sache seltsam vor: Eine Sprache ist eine Menge von Wörtern. Das stimmt in der Theoretischen Informatik, aber es erscheint zunächst sinnlos, wenn man versucht, diese Definition auf natürlich gewachsene Sprachen zu übertragen. Nicht jeder Satz, der nur aus deutschen Wörtern besteht, ein Satz deutscher ist. Reihenfolge ist die wichtig. Dieser Widerspruch löst sich schnell auf, wenn man erkennt, dass der Begriff Wort in Bezug auf die Theorie der formalen Sprachen ungefähr vergleichbar ist mit dem umgangssprachlichen Begriff Satz. Es gehört also das Wort Das ist ein deutscher Satz. zur Sprache L deutsch, während Könnte sein Satz das deutscher ein. nicht dazu gehört. Satz, sein, könnte und so weiter sind dann Buchstaben des Alphabetes Σ deutsch. Das ABC hat aber nichts mit Σ deutsch zu tun, denn die Buchstaben braucht man nicht noch weiter zu teilen. Es ist der Wunschtraum vieler Linguisten, natürliche Sprachen mit den Begriffen der Theoretischen Informatik formalisieren zu können und die Grenze zwischen formalen und natürlichen Sprachen aufzuheben. Eine vollständige Formalisierung einer Sprache ist unglaublich kompliziert, häufig überhaupt nicht möglich. Aber man kann tatsächlich relativ einfach gewisse Teilaspekte einer Sprache mathematisch korrekt definieren. Sieh dir dazu das folgende Beispiel an: Die Wörter der hier beschriebenen Sprache L deutsch sind Sie baut Honig., Es angelt Blumen., Er näht Zierfische. und viele mehr. Siebenundzwanzig grammatikalisch korrekte Sätze kann man bilden. Das sind natürlich längst nicht alle. Da das Deutsche wie andere Sprachen auch die Möglichkeit bietet, beliebig viele Nebensätze und Attribute einzuschieben, ist die Anzahl der richtig gebildeten deutschen Sätze sogar unendlich. Der französische Schriftsteller MARCEL PROUST ist für seine erhellenden Schachtelsätze berühmt. Der erste Satz aus dem Roman À l'ombre des jeunes filles en fleurs lautet: Ma mère, quand il fut question d'avoir pour la première fois M. de Norpois à dîner, ayant exprimé le regret que le Professeur Cottard fût en voyage et qu'elle-même eût entièrement cessé de fréquenter Swann, car l'un et l'autre eussent sans doute intéressé l'ancien Ambassadeur, mon père répondit qu'un convive éminent, un savant illustre, comme Cottard, ne pouvait jamais mal faire dans un dîner, mais que Swann, avec son ostentation, avec sa manière de crier sur

2 Page 2 of 8 les toits ses moindres relations, était un vulgaire esbrouffeur que le Marquis de Norpois eût sans doute trouvé selon son expression, «puant». Allein das Alphabet Σ deutsch ist eine unvorstellbar große Menge. Wenn man jedes zusammengesetzte Substantiv als einzelnen Buchstaben betrachtet, ist das Alphabet unendlich. Donaudampfschiffahrtselektrizitätenhauptbetriebswerkbauunterbeamtengesellschaft ist noch lange nicht das Ende der Fahnenstange. Eine annähernd vollständige Formalisierung des Deutschen ist also wahrhaftig nicht in Sicht. Es wird nun Zeit, zu erläutern, wie man Sprachen elegant beschreiben und einordnen kann. Bisher hast du zur Beschreibung einer Sprache mehr oder weniger alle Wörter aufgezählt. Wenn sich die Wörter ähneln, kann man zwar ökonomischer vorgehen, indem man die Konkatenation und Mengenoperatoren nutzt, aber es geht auch noch einfacher: Ebenso wie korrekt gebildete deutsche Sätze aus Einzelwörtern von grammatikalischen Regeln beschrieben werden, gibt es auch für die meisten formalen Sprachen, mit denen man es in der Praxis zu tun hat, Grammatiken, die die jeweilige Sprache hinreichend beschreiben. Es gibt kurze Übersichten über die deutsche Grammatik und es gibt hundert Seiten lange Abhandlungen. Es gibt aber keine allumfassende systematische Beschreibung. Das liegt, wie oben gezeigt, daran, dass die deutsche Sprache sehr komplex ist und unzählige Besonderheiten und Ausnahmen aufweist, die sich mit Worten besser beschreiben lassen als mit mathematischen Symbolen. Oft genügt auch ein grober Überblick über einen Teilaspekt der Grammatik. Wenn aber der Informatiker von einer Grammatik spricht, meint er eine vollständige Liste formalisierter eindeutiger Regeln zur Bildung von Wörtern im Sinne der Theoretischen Informatik (also Sätzen). So könnte das Regelwerk einer Grammatik aussehen: Es handelt sich um die Regeln einer Grammatik zur Bildung der oben beschriebenen vereinfachten deutschen Sprache. Die Bildung der Wörter geschieht folgendermaßen: Man fängt beim Startsymbol S an. Das Wort hat zunächst die Länge drei: Es besteht aus den drei Buchstaben PRONOMEN, VERB und OBJEKT. Die Großschreibung deutet an, dass es sich nicht um Buchstaben aus dem zugrundeliegenden Alphabet Σ handelt. Diese Zeichen, man nennt sie Nichtterminale, müssen also noch durch richtige Buchstaben, so genannte Terminale, ersetzt werden. Zum Beispiel ist dort die Regel Wendet man sie an, lautet das Zwischenergebnis Ein vollständig abgeleitetes Wort aus der Sprache, die von der Grammatik beschrieben wird, ist Insgesamt kann man siebenundzwanzig Wörter bilden. Lasst uns die Sache an dieser Stelle gleich etwas vereinfachen! Die mathematisch korrekte Notation der Buchstabenfolgen mit den spitzen Klammern und den Kommata zwischen den Folgengliedern ist doch recht umständlich. Man legt normalerweise fest, dass alle Symbole optisch nur aus einem Buchstaben bestehen. Dann kann man sie lückenlos aneinander schreiben. Zum Beispiel so:

3 Page 3 of 8 Die Nichtterminale, also die Symbole, die noch abgeleitet werden müssen, werden mit Großbuchstaben dargestellt. Aus diesem Grunde sollten die Alphabete, über denen man Sprachen definiert, keine Großbuchstaben enthalten. Verwechslungen wären die Folge. Also Terminale sind normalerweise Kleinbuchstaben oder Ziffern. In diesem Fall kommt noch das Leerzeichen (als Bindestrich dargestellt) und der Punkt dazu. Zur weiteren Vereinfachung kann man Ersetzungsregeln, deren linke Seiten identisch sind, mit vertikalen Strichen zusammenfassen. Zum Beispiel: Nach der Anwendung dieser Vereinfachungen sieht die Regelliste doch schon viel sympathischer aus. Wenn Produktionsregeln derart vereinfacht sind, spricht man von der Backus-Naur-Form (BNF) nach den Informatikern JOHN WARNER BACKUS und PETER NAUR. Man gibt Regeln normalerweise in BNF an. Tag 2 Eine Grammatik ist ein 4-Tupel aus V, der Menge der Nichtterminale, Σ, dem Alphabet, P, der Menge der Produktionsregeln und dem Startsymbol. Meistens gibt man aber nur P an. Zur Definition der Regeln schreibt man den Definitionspfeil: bei der Ableitung einer Satzform wird aber der Relationspfeil geschrieben: Die Ableitungen können manchmal als Ableitungsbaum aufgeschrieben werden. Wenn es für ein vollständig abgeleitetes Wort nicht nur verschiedene Ableitungspfade, sondern auch noch unterschiedliche Ableitungsbäume gibt, ist die Grammatik mehrdeutig. Sprachen, die nicht mit einer eindeutigen Grammatik beschrieben werden können, sind inhärent mehrdeutig. Eine einfache Liste von Ersetzungsregeln ist noch keine Grammatik. Es fehlt zum Beispiel die Information, welches Nichtterminal das Startsymbol ist. Man nennt es normalerweise S, aber diese Information gehört unbedingt in die Beschreibung der Grammatik. Außerdem gehört das Alphabet, das die Sprache verwendet, und eine Auflistung aller Nichtterminale dazu. Man notiert eine Grammatik als 4-Tupel: G = {V,Σ,P,S} Dabei ist V die Menge aller Nichtterminale (Variablen), Σ die Menge aller Terminale, also das Alphabet, P die Menge aller Produktionsregeln und S als Element von V das Startsymbol. Jetzt kann man weiter spezifizieren. Im gestern beschriebenen Fall gilt jetzt folgendes (die Wörter werden hier zur Vereinfachung als Buchstaben aufgefasst):

4 Page 4 of 8 Die Grammatik G deutsch ist jetzt ausreichend beschrieben und die Sprache, die diese Grammatik bildet, L(G deutsch ) = L deutsch, ist genau die genannte Sprache aus siebenundzwanzig deutschen Sätzen. Wenn man mit Grammatiken rechnet und sie vergleicht, braucht man diese Formalien. Definiert man zum Beispiel zwei Grammatiken als G 1 = {V 1,Σ,P 1,S 1 } und G 2 = {V 2,Σ,P 2,S 2 }, dann ist klar, dass beide die gleiche Terminalenmenge verwenden. Wenn man aber eine einzelne Grammatik angeben möchte, dann schreibt man normalerweise nur die Produktionsregeln vollständig in BNF auf und spart sich den Rest. Man weiß ja, dass S das Startsymbol ist und man sieht ja, welche die relevanten Elemente von V und Σ sind. Wie wendet man denn nun eine Grammatik richtig an? Das Ziel ist es, aus dem Nichts Wörter zu erschaffen. Formal ausgedrückt: Das Startsymbol wird zu einer Folge von Terminalen abgeleitet. Ableiten heißt, die Regeln anzuwenden. Nach der obigen Beispielgrammatik kann S zunächst nur folgendermaßen abgeleitet werden: wobei der Pfeil mit zwei horizontalen Linien wichtig ist. Für den nächsten Ableitungsschritt gibt es aber mehrere Möglichkeiten. Man könnte zum Beispiel schreiben oder In jedem Ableitungsschritt wird genau eine Regel aus G angewendet. Welche, ist egal. Man spricht diesen Doppelpfeil als S geht unter G unmittelbar über in PVO. aus. Dieser Relationspfeil ist vom Definitionspfeil, der in den Produktionsregeln vorkommt, abzugrenzen: spricht man S ist definiert als PVO. aus. Während diese Definition allgemeingültig ist, kann die Ableitung vom Startsymbol über verschiedene Satzformen bis zu einem Wort beliebig verlaufen, sofern die Produktionsregeln gewisse Variationsmöglichkeiten offenhalten. Zwei mögliche Ableitungen sind und Die Angabe, unter welcher Grammatik die Relation gilt den tiefgestellten Buchstaben rechts vom Ableitungspfeil kann man großzügig weglassen, wenn es sowieso nur um eine einzelne Grammatik geht. Manche Grammatiken erlauben eine übersichtlichere Darstellung solcher Ableitungen: Dieser Ableitungsbaum gehört sowohl zu der Ableitung als auch zu Egal, ob man die Linksableitung oder die Rechtsableitung bevorzugt, es gibt zu jedem Wort nur genau einen Ableitungsbaum. Man sagt, die Grammatik ist eindeutig. Eine mehrdeutige Grammatik ist demgegenüber die folgende:

5 Page 5 of 8 Man kann nun wieder verschiedene Ableitungen für das Wort abcd finden: und Der Haken ist, dass auch die Ableitungsbäume verschieden sind: Die Grammatik ist mehrdeutig. Diese Mehrdeutigkeit kann man auch auf Sprachen übertragen. Man bezeichnet eine Sprache als inhärent mehrdeutig, wenn es nicht möglich ist, eine eindeutige Grammatik für diese Sprache zu finden. Heißt die oben angegebene mehrdeutige Grammatik G, dann ist die Sprache L(G) = {abd, abcd, abccd} aber nicht inhärent mehrdeutig, denn man kann eine eindeutige Grammatik angeben: Jetzt gibt es für jedes Wort nur eine Ableitung und damit auch nur einen Ableitungsbaum. G ist eindeutig. Tag 3 Die Chomsky-Hierarchie unterteilt die Grammatiken. Alle Grammatiken sind vom Typ 0, einige außerdem vom Typ 1. Die Einschränkung für Typ-1-Grammatiken (kontextsensitive) ist für alle Das Wortproblem ist für Typ-1-Grammatiken entscheidbar. Typ-1-Grammatiken sind darüberhinaus vom Typ 2 (kontextfrei), wenn für alle gilt Das Leerheitsproblem ist für Typ-2-Grammatiken entscheidbar; es gibt einen effizienten Algorithmus für Typ-2-Grammatiken, die in CNF vorliegen. Es bietet sich an, Sonderfälle von Grammatiken zu untersuchen. Für viele Grammtiken, mit denen man in der Praxis häufig zu tun hat, gelten gewisse Regeln, die einem das Leben vereinfachen, die man aber leider nicht auf alle Grammatiken übertragen kann. NOAM CHOMSKY, ein Linguist und Libertärer, klassifizierte die Grammatiken nach ihrer Handhabbarkeit. Nach seiner Einteilung sind alle Grammatiken vom Typ 0. Es gibt einige, die nicht nur vom Typ 0, sondern auch vom Typ 1 sind. Eine Typ-1-Grammatik zeichnet sich dadurch aus, dass man nicht nur Wörter, die der beschriebenen Sprache angehören, generieren kann, sondern auch umgekehrt feststellen kann, ob ein gegebenes Wort irgendwie von dieser Grammatik erzeugt werden kann. Die Einschränkung für Typ-1-Grammatiken besteht darin, dass die linke Seite jeder Produktionsregel höchstens genauso lang ist wie die dazugehörige rechte Seite. Dazu ein Beispiel:

6 Page 6 of 8 Das sind fünf Regeln. Bei den letzten dreien besteht die linke Seite aus mehr Symbolen als die rechte Seite. ist in diesem Sinne kein Symbol. Es hat ja die Länge 0. Es ist deshalb möglich in diesem Falle sogar zwingend nötig, dass die Länge der Satzformen während der Ableitung nicht immer nur ansteigt. Denkbar ist der folgende Ableitungsschritt: Die Anzahl der Symbole sinkt hier von sechs auf fünf. Dagegen ist diese Grammatik vom Typ 1: Die Ableitung eines Wortes weist immer die folgende Struktur auf: Da keine linken Seiten der Produktionsregeln länger sind als die rechten Seiten, werden die Satzformen während der Ableitung niemals wieder kürzer. Wenn man nun wissen will, ob ein Wort von einer Typ-1-Grammatik gebildet werden kann, probiert man einfach systematisch alle möglichen Ableitungen aus, ausgehend vom Startsymbol. Wenn man die Länge des gegebenen Wortes überschritten hat, kann man aufhören, denn aus einer längeren Satzform kann das Wort nicht gebildet werden. Lass und probieren, ob die oben angegebene Grammatik das Wort aaabbb bilden kann. Bei der folgenden Grafik handelt es sich nicht um einen Ableitungsbaum. Hier sind alle möglichen Satzformen dargestellt, die höchstens sechs Zeichen lang sind. Tatsächlich ist das gesuchte Wort darunter. Das Wortproblem, wie es in Fachkreisen genannt wird, ist für Typ-1-Grammatiken lösbar. Es gibt nun wiederum Typ-1-Grammatiken, die darüber hinaus als Typ-2-Grammatiken bezeichnet werden. Eine Grammatik ist vom Typ 2, wenn alle linken Seiten der Umformungsregeln aus genau einem Nichtterminal bestehen. Die oben beispielhaft verwendete Typ-1-Grammatik ist also auch vom Typ 2. Es sind zwei Regeln. Die linke Seite ist in beiden Fällen nur das Startsymbol S. Erkennt man, dass eine Grammatik vom Typ 2 ist, kommt man in den Genuss einiger komfortabler Erleichterungen, die leider nicht generell gelten. Zum Beispiel kann man für Typ-2-Grammatiken entscheiden, ob die erzeugte Sprache leer ist. Die Sprache, die die folgende Grammatik erzeugt, ist die leere Menge:

7 Page 7 of 8 Diese Grammatik liegt in Chomsky-Normalform (CNF) vor: Alle Regeln haben die Struktur bzw. Alle Typ-2-Grammatiken lassen sich in CNF umformen. An solch einer Normalform kann man leicht überprüfen, ob die generierte Sprache leer ist. Wie kommt man nun darauf? Das Ziel ist es ja, aus dem Startsymbol Satzformen abzuleiten, die nur aus Terminalzeichen bestehen. Man markiert also alle Regeln der Form denn nur diese bilden am Ende der Ableitungsbäume die Wörter der Sprache. Diese Grammatik hat nur eine solche Regel: Als nächstes markiert man alle Regeln der Form wobei B und C schon linke Seiten markierter Regeln sind. In diesem Fall kommt dafür nur in Frage. Man weiß jetzt, dass man nicht nur aus C, sondern auch aus B Terminale bilden kann. Den letzten Schritt wiederholt man so lange, bis man keine weitere Regel mehr markieren kann. Dieser Punkt ist bei dieser Grammatik jetzt schon erreicht. Unter den markierten Regeln ist aber keine mit dem Startsymbol auf der linken Seite. Das heißt, es gibt keinen von S ausgehenden Ableitungspfad, der zu einem Wort führt, das nur aus Terminalen besteht. Die erzeugte Sprache ist leer. Typ-2-Grammatiken nennt man auch kontextfrei, denn die Ersetzung eines Terminals hängt nicht von den umgebenden Symbolen ab. In einer Typ-1-Grammatik einer kontextsensitiven Grammatik kann es auch solch eine Regel geben: Das heißt, A kann nur dann durch BC ersetzt werden, wenn es in einem gewissen Kontext steht; wenn es von a und b eingeschlossen ist. Eine Grammatik, bei der der Kontext keine Rolle spielt, ist programmiertechnisch leichter umzusetzen. Deshalb widmete NOAM CHOMSKY den kontextfreien Grammatiken einen eigenen Typ in seiner Hierarchie. Tag 4 Manche kontextfreien Grammatiken sind außerdem regulär (Typ 3). Die Einschränkung für reguläre Grammatiken ist, dass alle Produktionsregeln die Form bzw. haben, wobei a ein Terminal und A und B Nichtterminale sind. Das Äquivalenzproblem ist lösbar. Das Wortproblem ist, im Gegensatz zu anderen kontextsensitiven Grammatiken, effizient lösbar. Die Chomsky-Hierarchie besteht aus vier Grammatiktypen. Die Typen 0 bis 2 kennst du schon. Jetzt fehlt nur noch Typ 3. Die Menge der Typ-3-Grammatiken ist nun wieder eine Teilmenge der Menge der Typ-2-Grammatiken. Es gibt also kontextfreie Grammatiken, die zusätzlich regulär sind. Die Regeln von Typ-3-Grammatiken haben auf der linken Seite nur ein Nichtterminal, weil es sich um Typ-2-Grammatiken handelt. Außerdem gibt es keine -Regeln, weil sie auch Typ-1- Grammatiken sind und deshalb die linken Seiten nicht länger als die rechten Seiten der Produktionsregeln sein dürfen. Die besondere Einschränkung für reguläre gegenüber allen anderen kontextfreien Grammatiken ist nun, dass die rechten Seiten entweder ein Terminal oder ein Terminal und ein Nichtterminal sein müssen. Alle Regeln haben also die Struktur oder Man kann entweder die Form oder zulassen. Die Menge der Sprachen, die von solchen Grammatiken beschrieben werden können, bleibt die gleiche. Es herrscht weitgehend Einigkeit darüber, dass die Regeln die Form haben. Ganz wichtig ist aber, dass man innerhalb einer Grammatik nicht die Varianten mischt, denn dann ist es keine reguläre Grammatik mehr. Für reguläre Grammatiken ist das Äquivalenzproblem lösbar. Das heißt, die Fragestellung, ob zwei gegebene Grammatiken genau die gleiche Sprache erzeugen, lässt sich beantworten, sofern es sich um reguläre Grammatiken handelt. Eine weitere Eigenschaft regulärer Grammatiken ist, dass das Wortproblem nicht nur entscheidbar ist, sondern das auch noch sehr effizient. Entscheidbar ist das Problem ja generell für kontextsensitive Grammatiken. Aber für reguläre Grammatiken gibt es sehr schnelle Algorithmen, die feststellen, ob ein gegebenes Wort Element der Sprache ist oder nicht. Es folgt eine zusammenfassende Darstellung der Chomsky-Hierarchie: Typ-0- oder rekursiv aufzählbare Grammatiken (keine Einschränkungen)

8 Page 8 of 8 Typ-1- oder kontextsensitive Grammatiken (Für alle Ableitungen bzw. Produktionsregeln gilt ) Typ-2- oder kontextfreie Grammatiken (Für alle Produktionsregeln gilt ) Typ-3- oder reguläre Grammatiken (Für alle Produktionsregeln gilt ) Tag 5 Es gibt keine Grammatiken, die nicht vom Typ 0 sind, aber es gibt Sprachen, die nicht von Typ-0-Grammatiken beschrieben werden können. Die Typen überträgt man auch auf Sprachen. Die Begriffe rekursiv aufzählbar, kontextsensitiv, kontextfrei und regulär bezieht man auch auf Sprachen, die von solchen Grammatiken erzeugt werden. Erst hier wird der Typ 0 sinnvoll. Es gibt nämlich durchaus Sprachen, die nicht von Grammatiken beschrieben werden können. Das sind genau die Sprachen, die eben nicht vom Typ 0 und nicht rekursiv aufzählbar sind. Es gibt einen schönen Beweis für diese Behauptung: Sprachen sind meistens unendliche Mengen. Endliche Sprachen, also solche, die nur eine bestimmte Anzahl an Wörtern enthalten, sind immer regulär, denn man kann sie mit einer regulären Grammatik beschreiben. Für Nicht-Typ-0-Sprachen kommen also tatsächlich nur unendliche Sprachen in Frage. Der Kern jeder Grammatik, die Menge der Produktionsregeln, ist aber stets eine endliche Menge. Es gibt keine Grammatik mit unendlich vielen Regeln, denn sonst könnte man diese nicht direkt aufschreiben, sondern müsste sie auch wieder mittels einer Grammatik definieren. Hier dreht sich die Überlegung im Kreis. Im Endeffekt ist jede Grammatik endlich. Die Menge aller Grammatiken ist zwar unendlich, aber rekursiv aufzählbar. Man kann also irgendwo anfangen und systematisch alle Grammatiken aufzählen, obwohl man mit dieser Aufgabe nie fertig würde. Im Gegensatz dazu kann man aber die Menge aller Sprachen als Menge von unendlichen Objekten nicht systematisch aufzählen. Es ist, als würde man versuchen, alle reellen Zahlen aufzuzählen. Es geht noch nicht einmal in einem bestimmten Intervall. Deshalb ist es nicht möglich, jeder Grammatik eine Sprache zuzuordnen und umgekehrt. Es gibt unendlich viele Grammatiken und es gibt unendlich viele Sprachen. Aber dennoch gibt es mehr Sprachen als Grammatiken. Es gibt Sprachen, die nicht von Grammatiken beschrieben werden können. Die, die von Typ-0-Grammatiken beschrieben werden können, heißen rekursiv aufzählbare Sprachen. In den folgenden Wochen wirst du mehr über reguläre, kontextfreie, kontextsensitive und rekursiv aufzählbare Sprachen lernen. Rückblick Lies dir heute die en noch einmal durch. Wenn du sehr viel Zeit und Lust hast, kannst du natürlich auch alles lesen. Gehe kurz die en der vergangenen Tage durch und versuche dich dann an diesen: Von Diese Seite wurde zuletzt am 16. Februar 2009 um 16:21 Uhr geändert. Der Text ist unter der Lizenz Creative Commons Attribution/Share-Alike verfügbar; zusätzliche Bedingungen können anwendbar sein. Siehe die Nutzungsbedingungen für Details.

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

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

Vorlesung Automaten und Formale Sprachen Sommersemester Beispielsprachen. Sprachen

Vorlesung Automaten und Formale Sprachen Sommersemester Beispielsprachen. Sprachen Vorlesung Automaten und Formale Sprachen Sommersemester 2018 Prof. Barbara König Übungsleitung: Christina Mika-Michalski Wörter Wort Sei Σ ein Alphabet, d.h., eine endliche Menge von Zeichen. Dann bezeichnet

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

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

Ein Fragment von Pascal

Ein Fragment von Pascal Ein Fragment von Pascal Wir beschreiben einen (allerdings sehr kleinen) Ausschnitt von Pascal durch eine kontextfreie Grammatik. Wir benutzen das Alphabet Σ = {a,..., z, ;, :=, begin, end, while, do} und

Mehr

Theoretische Grundlagen der Informatik. Vorlesung am 8. Januar INSTITUT FÜR THEORETISCHE INFORMATIK

Theoretische Grundlagen der Informatik. Vorlesung am 8. Januar INSTITUT FÜR THEORETISCHE INFORMATIK Theoretische Grundlagen der Informatik 0 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Letzte Vorlesung Eine

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

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

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

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

Mehrdeutige Grammatiken

Mehrdeutige Grammatiken Mehrdeutige Grammatiken Wir haben gesehen, dass es auch mehr als eine Linksableitung, d.h. mehr als einen Syntaxbaum geben kann, um das selbe Terminalwort zu erzeugen. Eine Grammatik, die für mindestens

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

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

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

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

Theoretische Informatik Mitschrift

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

Mehr

Mehrdeutige Grammatiken

Mehrdeutige Grammatiken Mehrdeutige Grammatiken Wir haben gesehen, dass es auch mehr als eine Linksableitung, d.h. mehr als einen Syntaxbaum geben kann, um das selbe Terminalwort zu erzeugen. Eine Grammatik, die für mindestens

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

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

Schnitt- und Äquivalenzproblem

Schnitt- und Äquivalenzproblem Schnitt- und Äquivalenzproblem Das Schnittproblem besteht in der Frage, ob der Schnitt zweier gegebener regulärer Sprachen L 1 und L 2 leer ist. Dabei können die Sprachen durch DEAs oder Typ-3 Grammatiken,

Mehr

Kontextfreie Sprachen. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kontextfreie Sprachen

Kontextfreie Sprachen. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kontextfreie Sprachen Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Wortproblem: der CYK-Algorithmus Pumping Lemma für kontextfreie Sprachen

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

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

FORMALE SYSTEME. 3. Vorlesung: Endliche Automaten. TU Dresden, 17. Oktober Markus Krötzsch

FORMALE SYSTEME. 3. Vorlesung: Endliche Automaten. TU Dresden, 17. Oktober Markus Krötzsch FORMALE SYSTEME 3. Vorlesung: Endliche Automaten Markus Krötzsch TU Dresden, 17. Oktober 2016 Rückblick Markus Krötzsch, 17. Oktober 2016 Formale Systeme Folie 2 von 31 Wiederholung Mit Grammatiken können

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

7. Syntax: Grammatiken, EBNF

7. Syntax: Grammatiken, EBNF 7. Syntax: Grammatiken, EBNF Teil 1 Sehr schönes Beispiel für Notwendigkeit der Theoretischen Informatik für Belange der Praktischen Informatik Vertiefung in: Einführung in die Theoretische Informatik

Mehr

Informatik III - WS07/08

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

Mehr

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

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

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen -

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

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

Klammersprache Definiere

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

Mehr

3. Vorlesung: Endliche Automaten Markus Kr otzsch Lehrstuhl Wissensbasierte Systeme

3. Vorlesung: Endliche Automaten Markus Kr otzsch Lehrstuhl Wissensbasierte Systeme Wiederholung Mit Grammatiken können wir Sprachen beschreiben und sie grob in Typen unterteilen: FORMALE SYSTEME 3. Vorlesung: Endliche Automaten Markus Krötzsch Lehrstuhl Wissensbasierte Systeme Formale

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

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2017 20.04.2017 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Organisatorisches Literatur Motivation und Inhalt Kurzer

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

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

Das Halteproblem für Turingmaschinen

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

Mehr

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

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

Mehr

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

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

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. Martin Wirsing in Zusammenarbeit mit Michael Barth, Philipp

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

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

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

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

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 - 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

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 - 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 Grundlagen der Informatik

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

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

Sprachen sind durch folgenden Aufbau gekennzeichnet:

Sprachen sind durch folgenden Aufbau gekennzeichnet: BNF UND SYNTAXDIAGRAMME 1. Allgemeines 1.1 Aufbau von Sprachen BNF und Syntaxdiagramme werden verwendet, um die Syntax einer Sprache darzustellen und graphisch zu veranschaulichen. Mit ihnen können entweder

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

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

Einführung in die Computerlinguistik Chomskyhierarchie

Einführung in die Computerlinguistik Chomskyhierarchie Einführung in die Computerlinguistik Chomskyhierarchie Dozentin: Wiebke Petersen 14. Foliensatz Wiebke Petersen Einführung CL 1 Wiederholung: Formale Grammatik Denition Eine formale Grammatik ist ein 4-Tupel

Mehr

Einführung in die Computerlinguistik Chomskyhierarchie

Einführung in die Computerlinguistik Chomskyhierarchie Einführung in die Computerlinguistik Chomskyhierarchie Dozentin: Wiebke Petersen 14. Foliensatz Wiebke Petersen Einführung CL 1 Wiederholung: Formale Grammatik Denition Eine formale Grammatik ist ein 4-Tupel

Mehr

Syntax von Programmiersprachen

Syntax von Programmiersprachen "Grammatik, die sogar Könige zu kontrollieren weiß aus Molière, Les Femmes Savantes (1672), 2. kt Syntax von Programmiersprachen Prof. Dr. Martin Wirsing Ziele Zwei Standards zur Definition der Syntax

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

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

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.11.2005 5. Vorlesung 1 Überblick: Kontextfreie Sprachen Formale Grammatik Einführung, Beispiele Formale

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

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

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 Grundlagen des Software Engineering

Theoretische Grundlagen des Software Engineering Theoretische Grundlagen des Software Engineering 5: Reguläre Ausdrücke und Grammatiken schulz@eprover.org Software Systems Engineering Reguläre Sprachen Bisher: Charakterisierung von Sprachen über Automaten

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

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

Abschnitt 5. Grammatiken

Abschnitt 5. Grammatiken Abschnitt 5 Sven Büchel Computerlinguistik I: Übung 148 / 163 Definition Formale Grammatik Eine formale Grammatik G ist eine 4-Tupel G =(N,T,P,S) mit einem Alphabet von Nicht-Terminalsymbolen N einem Alphabet

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

Theoretische Grundlagen der Informatik. Vorlesung am 17. Januar INSTITUT FÜR THEORETISCHE INFORMATIK

Theoretische Grundlagen der Informatik. Vorlesung am 17. Januar INSTITUT FÜR THEORETISCHE INFORMATIK Theoretische Grundlagen der Informatik 0 17.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Evaluation Ergebnisse

Mehr

2.1 Grundlagen: Kontextfreie Grammatiken

2.1 Grundlagen: Kontextfreie Grammatiken 2.1 Grundlagen: Kontextfreie Grammatiken Programme einer Programmiersprache können unbeschränkt viele Tokens enthalten, aber nur endlich viele Token-Klassen :-) Als endliches Terminal-Alphabet T wählen

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

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

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

Fragenkatalog 2. Abgabegespräch Formale Modellierung 3 Reguläre Sprachen

Fragenkatalog 2. Abgabegespräch Formale Modellierung 3 Reguläre Sprachen Fragenkatalog 2. Abgabegespräch Formale Modellierung 3 Reguläre Sprachen 1. Was ist eine formale Sprache? Menge von Zeichenketten, die aus den Symbolen eines beliebigen Alphabets aufgebaut sind. Zeichenkette:

Mehr

Formale Methoden 1. Gerhard Jäger 28. November Uni Bielefeld, WS 2007/2008 1/15

Formale Methoden 1. Gerhard Jäger 28. November Uni Bielefeld, WS 2007/2008 1/15 1/15 Formale Methoden 1 Gerhard Jäger Gerhard.Jaeger@uni-bielefeld.de Uni Bielefeld, WS 2007/2008 28. November 2007 2/15 Formale Sprache: Menge von Symbolketten Theorie formaler Sprachen Formale Sprachen

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

Von der Chomsky-Hierarchie

Von der Chomsky-Hierarchie Von der Chomsky-Hierarchie zur Backus-Naur-Form Ein Beitrag der Theoretischen Informatik zum Siegeszug des Computers Referat von Helmut Schnitzspan Im Rahmen des Seminars Von der EDV zu Facebook Alexander

Mehr

Einführung in die theoretische Informatik Sommersemester 2017 Übungsblatt Lösungsskizze 7

Einführung in die theoretische Informatik Sommersemester 2017 Übungsblatt Lösungsskizze 7 Prof. J. Esparza Technische Universität München S. Sickert, J. Krämer KEINE ABGABE Einführung in die theoretische Informatik Sommersemester 2017 Übungsblatt 7 Übungsblatt Wir unterscheiden zwischen Übungs-

Mehr

Einführung in die Computerlinguistik. Chomskyhierarchie. Dozentin: Wiebke Petersen Wiebke Petersen Einführung CL (SoSe 2010) 1

Einführung in die Computerlinguistik. Chomskyhierarchie. Dozentin: Wiebke Petersen Wiebke Petersen Einführung CL (SoSe 2010) 1 Einführung in die Computerlinguistik Chomskyhierarchie Dozentin: Wiebke Petersen 1.7.2010 Wiebke Petersen Einführung CL (SoSe 2010) 1 Wiederholung: Formale Grammatik Denition Eine formale Grammatik ist

Mehr

Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen

Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen Aufgabe 1 2 3 4 5 6 7 max. Punkte 6 6 7 7 8 8 12 err. Punkte Gesamtpunktzahl: Note: 1 Aufgabe 1 (3+1+1+1 = 6 Punkte) Es seien

Mehr

4 Formale Sprachen. 4.1 Einführung

4 Formale Sprachen. 4.1 Einführung 53 4 ormale Sprachen 41 Einführung Ich erinnere an die Definitionen im Unterkapitel 16, die im weiteren Verlauf der Vorlesung von Bedeutung sein werden Insbesondere werden wir uns mit formalen Sprachen

Mehr

1. Formale Sprachen 1.2 Grammatiken formaler Sprachen

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

Mehr

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

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

Mehr

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

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie 1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie WS 11/12 155 Überblick Zunächst einmal definieren wir formal den Begriff

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 Automatentheorie und Formale Sprachen

1 Automatentheorie und Formale Sprachen Sanders: TGI October 29, 2015 1 1 Automatentheorie und Formale Sprachen 1.1 Allgemeines Sanders: TGI October 29, 2015 2 Beispiel: Arithmetische Ausdrücke:EXPR Σ={1,a,+,,,(,)} a ist Platzhalter für Konstanten

Mehr

Sprachanalyse. Fachseminar WS 08/09 Dozent: Prof. Dr. Helmut Weber Referentin: Nadia Douiri

Sprachanalyse. Fachseminar WS 08/09 Dozent: Prof. Dr. Helmut Weber Referentin: Nadia Douiri Sprachanalyse WS 08/09 Dozent: Prof. Dr. Helmut Weber Referentin: Inhalt 1. Formale Sprachen 2. Chomsky-Hierarchie 2 FORMALE SPRACHE 1. WAS IST EINE SPRACHE? 2. WIE BESCHREIBT MAN EINE SPRACHE? 3. WAS

Mehr

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

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

Mehr

Adventure-Problem. Vorlesung Automaten und Formale Sprachen Sommersemester Adventure-Problem

Adventure-Problem. Vorlesung Automaten und Formale Sprachen Sommersemester Adventure-Problem -Problem Vorlesung Automaten und Formale Sprachen Sommersemester 2018 Prof. Barbara König Übungsleitung: Christina Mika-Michalski Zum Aufwärmen: wir betrachten das sogenannte -Problem, bei dem ein Abenteurer/eine

Mehr

Formalismen für REG. Formale Grundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen. Das Pumping Lemma. Abschlusseigenschaften

Formalismen für REG. Formale Grundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen. Das Pumping Lemma. Abschlusseigenschaften Formalismen für RE Formale rundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen Frank Heitmann heitmann@informatik.uni-hamburg.de Satz Zu jeder regulären Sprache L gibt es einen DFA A mit L(A) =

Mehr

Ein geordnetes Paar (oder: ein 2-Tupel) enthält immer zwei Elemente, deren Reihenfolge festgelegt ist. Mehrfachnennungen sind nicht erlaubt!

Ein geordnetes Paar (oder: ein 2-Tupel) enthält immer zwei Elemente, deren Reihenfolge festgelegt ist. Mehrfachnennungen sind nicht erlaubt! Relationen, Funktionen und Partitionen 1. Geordnetes Paar Ein geordnetes Paar (oder: ein 2-Tupel) enthält immer zwei Elemente, deren Reihenfolge festgelegt ist. Mehrfachnennungen

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

DisMod-Repetitorium Tag 4

DisMod-Repetitorium Tag 4 DisMod-Repetitorium Tag 4 Endliche Automaten, Reguläre Sprachen und Kontextfreie Grammatiken 22. März 2018 1 Endliche Automaten Definition DFA Auswertungen Äquivalenzrelationen Verschmelzungsrelation und

Mehr