Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Formale Sprachen Rudolf FREUND, Marian KOGLER Grundbegriffe für formale Sprachen."—  Präsentation transkript:

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

2 Formale Sprachen AXEL THUE ( ) 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

3 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.: ist ein Wort über 1 abbeb ist ein Wort über 2

4 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 Das Wort mit der Länge 0 heißt Leerwort, geschrieben oder λ, d.h. | | = 0. Hat ein Wort w über die Länge n, dann schreiben wir w = a 1 a 2...a n wobei jedes a i.

5 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): k w 0 = w n = w w n-1 w k = w w... w

6 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 = {x 1 x 2...x n | x i A für 1 i n} + = n 1 n

7 Spezielle Eigenschaften von Wörtern Für w * und a bezeichnen wir mit |w| a die Anzahl der Symbole a in w. Ein Wort w * heißt Palindrom, wenn w = w r gilt. Sei w = a 1 a 2...a n-1 a n aus *. Dann ist w r = a n a n-1... a 2 a 1 das Spiegelbild von w. 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.

8 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* = {x 1 x 2...x k | x i 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,...}

9 Operationen auf Sprachen - Rechenregeln A B = B A{ } A =A A (B C) = (A B) CA { } =A A (B C) = (A B) C(A { })* =A* A (B C) = A B A C (A*)*=A* (B C) A = B A C AA A* =A+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 {ε}.

10 Induktive Definition Schema der induktiven Definition: A ist die kleinste Menge für die gilt: (1) A 0 A (2) Wenn x 1,...,x n A, dann f(x 1,...,x n ) A. Komponenten: Grundmenge, Abschlusseigenschaft, Minimalitätsbedingung 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:B n B eine Funktion. Eine Menge A B heißt abgeschlossen unter f, wenn gilt: aus x 1,...,x n A folgt f(x 1,...,x n ) A

11 Induktive Definition: Beispiele Beispiel: 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.

12 Induktive Definition: Reguläre Mengen Die Menge L reg ( ) regulärer Mengen über ist die kleinste Menge, sodass (1), {a} für alle a. (2) Wenn A und B L reg ( ), dann sind auch A B, AB, A* L reg ( ). 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( ). Um die Mengen in L reg ( ) formal beschreiben zu können, verwendet man auch folgende Notation:


Herunterladen ppt "Formale Sprachen Rudolf FREUND, Marian KOGLER Grundbegriffe für formale Sprachen."

Ähnliche Präsentationen


Google-Anzeigen