Sprachen/Grammatiken eine Wiederholung



Ähnliche Dokumente
Programmiersprachen und Übersetzer

Theorie der Informatik

Mathematische Grundlagen der Informatik 2

Theoretische Informatik I

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Vorlesung Theoretische Informatik

Grundbegriffe der Informatik

Formale Sprachen und Grammatiken

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen 19

Grammatiken. Einführung

Informatik IC2. Balazs Simon

Grundbegriffe der Informatik

2.11 Kontextfreie Grammatiken und Parsebäume

1 Mathematische Grundlagen

Theoretische Grundlagen der Informatik

Wortproblem für kontextfreie Grammatiken

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

Reguläre Sprachen Endliche Automaten

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

Grundbegriffe der Informatik

Grundlagen der Theoretischen Informatik, SoSe 2008

1. Formale Sprachen 1.2 Grammatiken formaler Sprachen

Deterministische Turing-Maschinen (DTM) F3 03/04 p.46/395

Was bisher geschah: Formale Sprachen

Grundlagen der Theoretischen Informatik

Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung

Übung Theoretische Grundlagen

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik

Zeichen bei Zahlen entschlüsseln

Wurzeln als Potenzen mit gebrochenen Exponenten. Vorkurs, Mathematik

4.2.4 Reguläre Grammatiken

Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit

Erstellen von x-y-diagrammen in OpenOffice.calc

1 Syntax von Programmiersprachen

Primzahlen und RSA-Verschlüsselung

4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls

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

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

Theoretische Informatik I

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

7. Formale Sprachen und Grammatiken

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de

Repetitionsaufgaben Wurzelgleichungen

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

Der Zwei-Quadrate-Satz von Fermat

Grammatiken und die Chomsky-Hierarchie

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Was meinen die Leute eigentlich mit: Grexit?

Grundbegriffe der Informatik

Mathematische Maschinen

Aufgabentypen die in der Klausur vorkommen

Übung Theoretische Grundlagen Nachtrag zur Vorlesung Dirk Achenbach

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Einführung in die Algebra

Grundlagen der Künstlichen Intelligenz

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

1. Weniger Steuern zahlen

Mediator 9 - Lernprogramm

Einführung in die Informatik Grammars & Parsers

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

V 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x y = x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775,

Professionelle Seminare im Bereich MS-Office

3. LINEARE GLEICHUNGSSYSTEME

Leichte-Sprache-Bilder

Theoretische Informatik SS 04 Übung 1

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

Die Post hat eine Umfrage gemacht

Informationsblatt Induktionsbeweis

Grammatiken in Prolog

Statuten in leichter Sprache

Thüringer Kultusministerium. Abiturprüfung 2000

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

FORUM HANDREICHUNG (STAND: AUGUST 2013)

TheGI 1: Grundlagen und algebraische Strukturen Prof. Dr.-Ing. Uwe Nestmann Februar Schriftliche Leistungskontrolle (EK)

Was ist ein Compiler?

Lineare Gleichungssysteme

15 Optimales Kodieren

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

4. Dynamische Optimierung

Grundbegriffe der Informatik Tutorium 7

Mathematik. UND/ODER Verknüpfung. Ungleichungen. Betrag. Intervall. Umgebung

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Alle gehören dazu. Vorwort

Informatik I Tutorium WS 07/08

Wie Sie beliebig viele PINs, die nur aus Ziffern bestehen dürfen, mit einem beliebigen Kennwort verschlüsseln: Schritt 1

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Artikel Schnittstelle über CSV

14 Schmiegeparabel und Freunde, Taylor-Reihe

Einfache kryptographische Verfahren

Elexis-BlueEvidence-Connector

Eigenwerte und Eigenvektoren von Matrizen

Dokumentation zum Spielserver der Software Challenge

Transkript:

Sprachen/Grammatiken eine Wiederholung Was sind reguläre Sprachen? Eigenschaften regulärer Sprachen

Sprachen Begriffe Symbol: unzerlegbare Grundzeichen Alphabet: endliche Menge von Symbolen Zeichenreihe: endliche Folge von Symbolen eines best. Alphabets Sprache: eine Menge von Zeichenreihen über einem Alphabet

Sprachen Sprache: jede beliebige Menge von Zeichenreihen aus Es gilt: Ø: die leere Sprache ist eine Sprache { }: die Sprache bestehend aus der leeren Zeichenreihe ist eine Sprache : die Sprache, die aus der Menge aller Zeichenreichen über einem Alphabet besteht, ist eine Sprache

Reguläre Sprachen Definition: Reguläre Sprache Eine Sprache, d.h. eine Menge von Zeichenreihen, ist regulär, wenn sie die leere Menge, das leere Zeichen, ein Elementarzeichen, oder aus diesen Elementen durch Vereinigung, Verkettung oder der Hüllenbildung gebildete Mengen enthält. Kleene, 1956: 35:

Reguläre Sprachen Operationen auf regulären Sprachen Vereinigung (Summe) Konkatenation (Produkt, Verkettung) L L 1 L2 { p p L1 p L2 1 L2 { pq p L1 q L2 } } Beispiel X = {ein, zwei}, Y = {mal, fach}, XY = {einmal, einfach, zweimal, zweifach} Potenz 0 Hülle (Iteration, Stern) L L 0 * { }, L n 0 L n, n 1 L L L n 1 n L n, für n L * L { }

Reguläre Sprachen Reguläre Sprachen können auch durch reguläre Ausdrücke repräsentiert werden Ausdrücke, die aus Zeichen (-klassen) mithilfe von (Alternative), * (Iteration), (Konkatenation)? (Option)... aufgebaut sind, heißen reguläre Ausdrücke exp ::= float ::= (e E)(+ -)? digit digit* digit digit* exp digit* (digit.. digit) digit* exp? Regulärer Ausdruck für alle Gleitkommazahlen

Sprachen Grammatiken Noam Chomsky *1928 From now on I will consider a language to be a set (finite or infinite) of sentences, each finite in length and constructed out of a finite set of elements. All natural languages in their spoken or written form are languages in this sense, since each natural language has a finite number of phonemes (or letters in its alphabet) and each sentence is representable as a finite sequence of these phonemes (or letters), though there are infinitely many sentences. Similarly, the set of sentences of some formalized system of mathematics can be considered a language. (...) The grammar of L will thus be a device that generates all of the grammatical sequences of L.

Sprachen Grammatiken Um eine (unendliche) Sprache angeben zu können, benötigt man eine endliche Beschreibung dieser Sprache. Diese existiert nur dann, wenn alle Wörter der Sprache einem bestimmten Bildungsgesetz folgen. In der Theorie der formalen Sprachen werden Grammatiken zur Beschreibung von Sprachen verwendet: Eine Grammatik ist ein 4-Tupel G = (V, T, P, S)

Sprachen Grammatiken Eine Grammatik ist ein 4-Tupel G = (V, T, P, S) V ist das Alphabet der Variablen oder Nicht-Terminale Begriffe, die durch Regeln erklärt werden. T ist das Alphabet der Terminal oder Tokens Symbole und Namen, die so in den Wörtern der Sprache übernommen werden. Hierbei gilt: V T =, A = V T ist das Gesamtalphabet P (A * \ T * ) A * eine endliche Relation; die Elemente von P heißen Produktionen oder Ersetzungsregeln S ist eine spezielle Variable, das Startsymbol.

Sprachen Grammatiken Nach Chomsky (50er Jahre) werden 4 Sprachklassen unterschieden, je nach der Struktur der Grammatiken, durch die sich die zugehörigen Sprachen ableiten lassen (Chomsky-Hierarchie) Reguläre Sprachen Kontextfreie Sprachen Kontextsensitive Sprachen Allgemeine Sprachen

Sprachen Grammatiken Für eine kontextfreie Grammatik gilt: P V A* In jeder Regel muss auf der linken Seite genau ein nicht-terminales Symbol stehen und auf der rechten Seite kann eine beliebige (auch leere) Folge von terminalen und nichtterminalen Symbolen stehen. Für eine reguläre Grammatik gilt:. P V (T TV { }) auf der rechten Regel-Seite darf höchstens ein Terminalsymbol auftreten und wenn dies der Fall ist noch höchstens ein Nichtterminalsymbol. Das Nichtterminalsymbol muss (bei Auftreten) immer vor oder immer hinter dem Terminalsymbol stehen, je nachdem spricht man von linksregulären oder rechtsregulären Grammatiken.

Sprachen Grammatiken Sei G = (V, T, P, S) eine (kontextfreie) Grammatik, so ist L(G) = { w T* S w} die von G erzeugte Sprache. L(G) umfasst also genau die Wörter über dem terminalen Alphabet T, für die eine Ableitung (endlicher Länge) besteht, die beim Startsymbol S beginnt. Beispiel G 1 = ({S}, {a, b}, P, S) mit P = { S asb, S ab } Einige Ableitungen: S ab S asb aabb S asb aasbb aaabbb

Sprachen Grammatiken Charakteristische Eigenschaften regulärer Grammatiken: Mit einer Regel der Form S as hat man keine Kontrolle darüber, wie oft sie zur Ableitung angewandt wird, daher kann man alle Wörter a n, n 0, erzeugen a n b m kann durch eine reguläre Grammatik erzeugt werden Die Restriktion n = m kann aber nicht erzwungen werden für beliebig lange Wörter k ( 0) kann man eine reguläre Grammatik formulieren, die alle a n b n mit n k erzeugt, indem man die endlich vielen Produktionen für alle Fälle von 0 bis k direkt in die Grammatik schreibt!

Ableitungsbäume Sei A w eine Regel, mit w = k, wobei w = w 1 w 2 w k die Darstellung durch Symbole des Alphabets ist. Dann existiert ein zu A w 1 w 2 w k korrespondierender Baum des Verzweigungsgrades k mit Tiefe 2, der Wurzel A und den Blättern w 1, w 2,, w k. A w 1 w 2 w k

Ableitungsbäume Sei S u 1 u 2 u 3 w die Ableitung eines Wortes w L(G), so kann ein Ableitungsbaum zu dieser Ableitung gebildet werden, indem die zu den verwendeten Regeln korrespondierenden Bäume konkateniert werden. Beispiel: G 1 = ({S}, {a, b}, P, S) mit P = { S asb, S ab } S asb a S S b S S aasbb a S b a S b a b aaabbb a b

Automaten sind abstrakte Computermodelle haben Wörter als Eingabe können eine Eingabe entweder akzeptieren oder nicht lösen ein Wortproblem, wenn sie genau die Wörter der zugehörigen Sprache akzeptieren Die Menge der von einem Automaten akzeptierten Wörter heißt die Sprache des Automaten

Sprachen - Automaten Zu jeder Sprachklasse der Chomsky-Hierarchie gibt es ein passendes Automatenmodell Reguläre Sprachen Endliche Automaten Kontextfreie Sprachen Kellerautomaten Kontextsensitive Sprachen Linear beschränkte TM Typ-0-Sprachen Turingmaschinen (TM)

Sprachen - Repräsentationsformen Verschiedene Sprachklassen in bestimmten Repräsentationsformen finden Anwendung in heutigen Softwareentwicklungen Reguläre Sprachen/Endliche Automaten (Web)Suchmaschinen Reguläre Sprachen/Reguläre Ausdrücke Pattern-Darstellung Kontextfreie Sprachen/Grammatik Definition von Parsern

Automaten Ein (Deterministischer) Endlicher Automat (DEA) ist ein FŸünf-Tupel < Q,,, q 0, F > Endliche, nicht leere Menge von Zuständen Q Eingabealphabet Übergangsfunktion δ (Q ) Q Startzustand q 0 Menge von EndzustŠänden F

Automaten Zustandsübergangsgraphen: eine graphische Notation für Automaten Ein Wort wird akzeptiert, falls es beginnend am Anfangszustand den Automaten in einen Endzustand überführen kann Ein Wort beschreibt einen Weg durch den Automaten Die Sprache eines Automaten ist die Menge aller Wörter die er akzeptiert h a! >> 1 2 3 4 h

Automaten Lemma: Für jeden DFA A existiert eine reguläre Grammatik G mit L(A) = L(G) Lemma: Für jede reguläre Grammatik G existiert ein DFA A mit L(G) = L(A) Theorem: Reguläre Grammatiken und deterministische endliche Automaten sind bezüglich ihrer Sprachen gleich mächtig Endliche Automaten liefern die operativen Werkzeuge zum Lösen des Entscheidungsproblems für reguläre Grammatiken. Dieselbe Funktion erfüllen nichtdeterministische Kellerautomaten (kontextfreie Grammatiken), linear beschränkte Automaten (kontextsensitive Grammatiken), und Turingmaschine (Typ-0 Grammatiken).

Automaten Das Gedächtnis von Automaten Angenommen, der Automat A will ein Wort w erkennen Nachdem Anfangsteil u eingelesen wurde, befindet sich A in einem Zustand q Ob er denn Rest v und damit w = uv akzeptiert hängt nur vom aktuellen Zustand q ab q ist die einzige Information, die sich der Automat merken kann, nicht aber wie er nach q gekommen ist

Automaten DFA s haben ein endliches Gedächtnis! Beispiel: A soll die Sprache L = {a n b n n 0} erkennen Intuitiv: Geht nicht, denn nachdem k viele a s gelesen sind, müsste sich der Automat k gemerkt haben, um nach der richtigen Anzahl von b s in einen Endzustand zu gehen. A kann sich aber nur endlich viele verschiedene Informationen merken; er kann nicht für jedes k N (natürlich Zahlen) in einem anderen Zustand sein