Formale Sprachen Grundbegriffe für formale Sprachen

Slides:



Advertisements
Ähnliche Präsentationen
Vorlesung Compilertechnik Sommersemester 2008
Advertisements

Definition [1]: Sei S eine endliche Menge und sei p eine Abbildung von S in die positiven reellen Zahlen Für einen Teilmenge ES von S sei p definiert.
Programmierung 1 - Repetitorium
Die Laufzeit von randomisierten (zufallsgesteuerten) Algorithmen hängt von gewissen zufälligen Ereignissen ab (Beispiel Quicksort). Um die Laufzeiten dieser.
6. Regelbasierte Systeme
Christian Schindelhauer
Prof. Dr. W. Conen 15. November 2004
Organisatorisches Klausur für Übungsschein (Anfang Januar)
8. Formale Sprachen und Grammatiken
Grammatiken, Definitionen
Einige entscheidbare bzw. rekursiv aufzählbare Sprachen
Algorithmentheorie 04 –Hashing
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (02 – Endliche Automaten) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (05 – Reguläre Ausdrücke) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (12 – Kellerautomaten, PDA) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (04 – Automaten mit ε-Transitionen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (17 –Turingmaschinen) Prof. Dr. Th. Ottmann.
Kapitel 5 Stetigkeit.
Kapitel 1 Die natürlichen und die ganze Zahlen. Kapitel 1: Die natürlichen und die ganzen Zahlen © Beutelspacher/Zschiegner April 2005 Seite 2 Inhalt.
Kapitel 2 Die rationalen und die irrationalen Zahlen.
3. Rechnen mit natürlichen Zahlen
Prof. Dr. rer.nat. Ralph Großmann Fakultät Informatik / Mathematik Sommersemester 2012 Internet-Technologien XML-basierte Techniken Teil Metasprache der.
Reguläre Sprachen Karin Haenelt.
Reguläre Ausdrücke Karin Haenelt
© Karin Haenelt 2006, Äquivalenzen Reg.Ausdrücke, Reg.Sprachen, EA ( ) 1 Reguläre Sprachen Karin Haenelt.
Mathematische Grundlagen
Beispiele für Ausdrucksalgebren
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
Hauptseminar Automaten und Formale Sprachen
§8 Gruppen und Körper (8.1) Definition: Eine Gruppe G ist eine Menge zusammen mit einer Verknüpfung, die jedem Paar (a,b) von Elementen aus G ein weiteres.
1. Mengenlehre Grundbegriffe.
§24 Affine Koordinatensysteme
Die Grundterminologie
Grenzen der Regularität
1. Mengenlehre Grundbegriffe.
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Institut für Theoretische Informatik
Wahrscheinlichkeit Zufallsexperiment:
Formale Sprachen Grammatiken und die Chomsky-Hierarchie
Formale Sprachen Mathematische Grundlagen Rudolf FREUND, Marian KOGLER.
Formale Sprachen Reguläre Sprachen Rudolf FREUND, Marian KOGLER.
1, 2, 3, ... Natürliche Zahlen PaedDr. Ján Gunčaga, PhD. Lehrstuhl für Mathematik und Physik Pädagogische Fakultät Katholische Universität.
POCKET TEACHER Mathematik Algebra
Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02.
Dieser nicht Fehler finden Algorithmus enthält einfach einen gravierenden welcher zu ist.
Beispiele: KFG 2.Teil Beispiel 1: Sei G eine Grammatik mit den folgenden Regeln: S  Ac | Bd A  aAb | ab B  aBbb | abb Definieren Sie.
Noam CHOMSKY, Sheila GREIBACH
Noam CHOMSKY, Sheila GREIBACH
Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 3: Potenzreihen und kontextfreie Sprachen (Vgl. Buch von A. Salomaa)
Automaten und Formale Sprachen VO UE 1
Christian Schindelhauer Wintersemester 2006/07 3. Vorlesung
Christian Schindelhauer Wintersemester 2006/07 2. Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Analyse der Laufzeit von Algorithmen
Mensch – Maschine - Kommunikation
Der Hund jagt die Katze. Theoretische Informatik Satz S P O
Institut für Softwarewissenschaft – Universität WienP.Brezany 1 Beispiele (Frist: ) Beispiel 1: Sei  = {a, b} ein Alphabet und Q = {q 0, q 1 } eine.
7. Formale Sprachen und Grammatiken
Kapitel 4:Die Chomsky Hierarchie
Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 3 / 1 Algebraische Hülle und Homomorphie A = [A, F ] sei  -Algebra. Eine.
Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar?
 Sortigkeit oder Arität
Sprachprodukttechnologie SS 2001G. Heyer 1 Sprachstatistik  Grundlegende Definitionen  Alphabet Sei NL eine natürliche Sprache und sei A eine Menge von.
Folie 1 §8 Gruppen und Körper (8.1) Definition: Eine Gruppe G ist eine Menge zusammen mit einer Verknüpfung, die jedem Paar (a,b) von Elementen aus G ein.
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren.
Sprachen und Programmiersprachen
§8 Gruppen und Körper (8.1) Definition: Eine Gruppe G ist eine Menge zusammen mit einer Verknüpfung, die jedem Paar (a,b) von Elementen aus G ein weiteres.
Gliederung 0. Motivation und Einordnung 1. Endliche Automaten
 Präsentation transkript:

Formale Sprachen Grundbegriffe für formale Sprachen Rudolf FREUND, Marian KOGLER

Formale Sprachen AXEL THUE (1863 - 1922) „The further removed from usefulness or practical application the more important “ 1906: Über unendliche Zeichenreihen. Norske Vid. Selsk. Skr., I Mat. Nat. Kl., Kristiana 7, 1-22

Alphabete, Symbole und Wörter Ein Alphabet ist eine endliche Menge von Symbolen. z.B.: 1 = {0,1} 2 = {a,...,z} 3 = {0,1,a,b,c} Ein Wort über einem Alphabet ist eine endliche Folge von Symbolen über diesem Alphabet. z.B.: 01001 ist ein Wort über 1 abbeb ist ein Wort über 2

Wörter Ist w ein Wort über , dann ist die Länge von w, in Zeichen |w|, die Anzahl der Symbole, die w enthält. z.B.:  = { 0,1} w = 0101 |w| = 4 Hat ein Wort w über  die Länge n, dann schreiben wir w = a1a2...an wobei jedes ai  . Das Wort mit der Länge 0 heißt Leerwort, geschrieben  oder λ, d.h. |  | = 0.

Konkatenation Haben wir ein Wort x der Länge n und ein Wort y der Länge m, dann ist die Konkatenation von x und y das Wort, das man durch Hintereinanderschreiben von x und y erhält: x  y = xy |xy| = n+m Um ein Wort mit sich selbst mehrere Male zu verketten, benützen wir folgende Notation (Potenzbildung): wk = w  w ... w k w0 =  wn = w  wn-1

Formale Sprachen * ist die Menge aller Wörter über  + = * - {} Eine formale Sprache ist eine beliebige Teilmenge L von *. L  * Es gilt: * = n 0 n wobei n = {x1x2...xn | xi  A für 1  i  n} + = n 1 n

Spezielle Eigenschaften von Wörtern Sei w  * und w = xuy für Wörter x,u,y  *. Dann heißt x Präfix, u Teilwort und y Suffix von w. Für w  * und a   bezeichnen wir mit |w|a die Anzahl der Symbole a in w. Sei w = a1a2...an-1an aus *. Dann ist wr = an an-1 ... a2a1 das Spiegelbild von w. Ein Wort w  * heißt Palindrom, wenn w = wr gilt.

Operationen auf Sprachen Seien A und B Sprachen. Vereinigung: A  B = { x | x  A oder x  B } Konkatenation: A  B = { xy | x  A und y  B } Stern: A* = {x1x2...xk | xi  A für 1  i  k, k ≥ 0 } Beispiel:  = {a,b,...,z }. Wenn A = { good, bad} und B = { girl, boy } dann ist A  B = { good, bad, girl, boy } A  B = {goodgirl, goodboy, badgirl, badboy} A* = { , good, bad, goodgood, goodbad, badgood, badbad, goodgoodgood, goodgoodbad, goodbadgood, goodbadbad,...}

Operationen auf Sprachen - Rechenregeln A  B = B  A {}  A A A  (B  C) (A  B)  C A  {} A  (B  C) (A  B)  C (A  {})* A* A  (B  C) A  B  A  C (A*)* (B  C)  A B  A  C  A A  A* A+ A*  A A+  {} Die Menge der formalen Sprachen über einem Alphabet T bildet daher einen nichtkommutativen Semiring mit der Vereinigung als Addition und dem neutralen Element {} sowie mit der Konkatenation als Multiplikation und dem Einheitselement {ε}.

Induktive Definition Sind eine Menge B und Operatoren auf Teilmengen von B gegeben, so kann man sich natürlich fragen, ob die Anwendung der Operatoren auf diese Teilmengen von B wieder Teilmengen von B ergibt. Sei B eine Menge und f:Bn  B eine Funktion. Eine Menge A  B heißt abgeschlossen unter f, wenn gilt: aus x1,...,xn  A folgt f(x1,...,xn )  A Schema der induktiven Definition: A ist die kleinste Menge für die gilt: (1) A0  A (2) Wenn x1,...,xn  A, dann f(x1,...,xn )  A. Komponenten: Grundmenge, Abschlusseigenschaft, Minimalitätsbedingung

Induktive Definition: Beispiele Die Menge der Palindrome ist die kleinste Menge, für die gilt: (1)  ist ein Palindrom. (2) Für jedes Symbol a ist a ein Palindrom. (3) Ist a ein Symbol und x ein Palindrom dann ist auch axa ein Palindrom. Beispiel: Die Menge der wohlgeformten Klammerausdrücke (WKA) über dem Alphabet { [, ] } ist die kleinste Menge, für die gilt: (1)  ist ein WKA. (2) Ist w ein WKA, dann ist auch [w] ein WKA. (3) Sind w und v WKA, dann ist auch wv ein WKA.

Induktive Definition: Reguläre Mengen Die Menge Lreg() regulärer Mengen über  ist die kleinste Menge, sodass (1) , {a}   für alle a  . (2) Wenn A und B  Lreg(), dann sind auch A  B, AB, A*  Lreg(). Um die Mengen in Lreg() formal beschreiben zu können, verwendet man auch folgende Notation: Die Menge REG() der regulären Ausdrücke über  ist die kleinste Menge, sodass (1) , a  REG() für alle a   (2) Wenn r und s  REG(), dann sind auch (r + s), (r  s), (r*)  REG() .