Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 3: Potenzreihen und kontextfreie Sprachen (Vgl. Buch von A. Salomaa)

Ähnliche Präsentationen


Präsentation zum Thema: "Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 3: Potenzreihen und kontextfreie Sprachen (Vgl. Buch von A. Salomaa)"—  Präsentation transkript:

1 Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 3: Potenzreihen und kontextfreie Sprachen (Vgl. Buch von A. Salomaa)

2 T sei ein endliches Alphabet. L T* ist beschreibbar durch seine charakteristische Funktion L : T* Z mit L (w) = 1 für w in L und = 0 sonst. ( Z sei die Menge der ganzen Zahlen, N die Menge der natürlichen Zahlen mit der 0.) Allgemeiner beschreibt jede Abbildung : T* Z eine formale Sprache L T*: L = supt ( ) := { w T* | (w) 0 } (supt steht für support). Jede Abbildung : T* Z lässt sich als formale Potenzreihe schreiben: = w T* (w)w = (w 1 )w 1 + (w 2 )w 2 + (w 3 )w (Reihenfolge der Summanden beliebig) Dabei wird jedes Element von T als Unbestimmte aufgefasst; diese Unbestimmten sind aber nicht vertauschbar. Ist (w) {0, 1} für jedes w aus T*, dann ist die charakteristische Potenzreihe von L. Z (T) sei die Menge aller formalen Potenzreihen mit Koeffizienten (w) aus Z und Unbestimmten aus T. Analog sei N(T) die Menge aller formalen Potenzreihen mit Koeffizienten (w) aus N und Unbestimmten aus T.

3 Verschiedene Interpretationen der Koeffizienten einer formalen Potenzreihe. 1) Sei G ein Hilfsmittel zur Erzeugung der formalen Sprache L(G) T* (Grammatik, Automat,...). Dann hat jedes w aus L(G) mindestens eine strukturelle Beschreibung an Hand des Erzeugungshilfsmittels (Linksableitung, Ableitungsbaum,...). Sei (w) die Anzahl der verschiedenen Strukturbeschreibungen vom selben Typ für w. Dann gibt (w) die strukturelle Mehrdeutigkeit von w an. Ist etwa G eine kontextfreie Grammatik, so sei (w) der Grad der Mehrdeutigkeit von w bezüglich G. Dann kann als form. Pot.-R. aus N(T) gewählt werden: w L(G) gdw. (w) > 0. 3) Seien G und E zwei verschiedene Erzeugungsverfahren für L T*. Dann kann man wie folgt eine formale Potenzreihe aus Z (T) für L definieren: (w) sei: Anzahl verschiedener Erzeugungsmöglichkeiten von w mittels G minus Anzahl verschiedener Erzeugungsmöglichkeiten von w mittels E. 2) Wie unter 1) aber mit Akzeptierungsmechanismen statt Erzeugungsverfahren.

4 Operationen mit formalen Potenzreihen. Definitionen zunächst für Z (T) - für N(T) geht alles analog. Zahlprodukt: Für n N und Z (T) sei n := w T* n (w)w Z (T). Es gilt (n )(w) = n (w). Seien, aus Z (T). Summe: w T*: ( + )(w) := (w) + (w). Es gilt + Z (T). Cauchy-Produkt: w T*: ( )(w) := uv=w (u) (v). Es gilt Z (T). Dies Produkt ist assoziativ. Vgl. das Produkt zweier normaler Polynome! Z (T) ist bzgl. Summe und Cauchy-Produkt ein Ring. Feststellung: supt( + ) = supt( ) supt( ) supt( ) = (supt( ))(supt( ))

5 Plus-Operation (iteriertes Cauchy-Produkt) für N (T). Für k1 sei k das k-fache Cauchy-Produkt von, d.h. k+1 = k, 1 =. Hilfssatz 1: + := lim m k=1,...m k ist für jedes N (T) mit ( )=0 wohldefiniert. Beweis: (1) Für jedes w aus T* ist + (w) 0 gdw. w sich schreiben lässt als w = w 1 w 2 w 3... w n mit w i supt( ), 1in|w|. (2) Jedes w aus T* mit (w) 0 hat nur endlich viele Zerlegungen wie in (1), und deren Anzahl ist der Koeffizient von w in +. Hilfssatz 2: (1) + N (T), supt( + ) = (supt( )) + = supt( ) (supt( )) 2 (supt( )) 3... (2) + + = + + = + Beweis: Nachrechnen! Bemerkung: Sei das leere Wort und die form. Pot.-R. mit ( ) = 1 sowie (w ) = 0 für alle w aus T +. Sei ferner N (T) mit ( ) = 1 und Z (T) so, dass = + (-1) (und ( )=0). Für := + + gilt: = ( - )( + + ) = + ( ) = und =. D.h. ist die Inverse zu ; deshalb wird + auch Quasi-Inverse von genannt.

6 Familien formaler Potenzreihen aus N (T). Definition: (1) Für a T sei a die form. Pot.-R. mit supt(a)={a} und (a)=1. ( a ist die charakteristische Pot.-R. von {a} ) (2) Eine Familie F von form. Pot.-Reihen heißt rational abgeschlossen, wenn für jedes aus F mit ( )=0 auch + in F liegt. (3) Die Familie der rationalen nichtnegativen form. Pot.-R. ( in Zeichen rat + (T) ) ist die kleinste rational abgeschlossene Familie form. Pot.-R., die die Reihe und für jedes a aus T auch die Reihe a enthält, und die abgeschlossen ist unter Zahlprodukt mit natürlichen Zahlen sowie Summe und Cauchy-Produkt. Satz: L T* ist regulär gdw. L = supt( ) für mindestens ein aus rat + (T). Beweis: Offenbar sind die regulären Teilmengen von T* genau die Mengen supt( ) mit aus rat + (T).

7 Kontextfreie Sprachen und formale Potenzreihen. Wir betrachten nur kontextfreie Grammatiken G ohne Kettenregeln (A B) und ohne - Regeln (A ). Zu jeder solchen Grammatik wird, wie folgt, eine formale Potenzreihe konstruiert, deren Koeffizienten (w) den Grad der Mehrdeutigkeit (Anzahl der verschiedenen Linksableitungen) der Wörter w aus L(G) bzgl. dieser Grammatik angeben. Man schreibe die Grammatik G um in ein formales Gleichungssystem, indem man | durch + und durch = ersetzt und die Variablen (Nichtterminale) von G als Unbekannte für Teilmengen von T* auffasst. Beispiel: Die Dycksprache über {a,b} ohne : Grammatik: X 0 X 0 X 0 | aX 0 b | ab Gleichungssystem: X 0 = X 0 X 0 + aX 0 b + ab Die allgemeine Form des Gleichungssystems Gl(G) zur Grammatik G : Seien X 0, X 1,... X n mit n0 die Variablen von G und P q (i), q=1,2,...m i die rechten Seiten der Regeln für X i ; X 0 sei die Startvariable. Die i-te Zeile von Gl(G), für i=0,...,n, ist dann X i = P 1 (i) + P 2 (i) P (i) mi ; die rechten Seiten werden kurz mit i bezeichnet. Die Potenzreihe wird sukzessiv durch Polynome (k), die aus GL(G) berechnet werden, approximiert.

8 Die formalen Pot.-Reihen i (k) für 0 i n und k 0 seien definiert durch: i (0) = 0, d.h. supt i (0) = Für k > 0 erhält man i (k) aus i, indem man jedes X m (0mn) durch m (k-1) ersetzt. Beispiel: Dyck-Sprache. 0 (0) = 0, 0 (1) = ab, i (2) = abab + aabb + ab, i (3) = (abab +aabb +ab) (abab +aabb +ab) + a(abab +aabb +ab)b +ab. Offenbar ist jedes i (k) als Polynom auffassbar. Die Potenzreihe für L(G) ist dann = lim k 0 (k). Begründung: Für jedes m N und jedes w T* mit |w| m ist der Koeffizient von w in der form. Pot.-R. 0 (2m-1) gleich dem Koeffizienten von w in der Pot.-R.. (Das beruht auf der Einschränkung: keine Ketten- und keine -Regeln)

9 Verallgemeinerung Es werden formale Potenzreihen aus Z (T) und allgemeinere Gleichungssysteme zugelassen; d.h. in den Potenzreihen und in den P q (i) auf den rechten Seiten der Gleichungen werden beliebige ganze Zahlen (aus Z ) als Koeffizienten zugelassen (also auch - statt +), aber P q (i) und P q (i) X j gilt weiterhin.. Die form. Pot.-R., die man aus solchen Gleichungssystemen nach obigem Verfahren konstruieren kann, heißen algebraische Potenzreihen. Beispiel eines allgemeineren Satzes: Def.: Das Hadamard-Produkt zweier form Pot.-Reihen und aus Z (T) ist w T* (w) (w)w Z (T). Satz: Das Hadamard-Produkt einer rationalen und eine algebraischen Potenzreihe ist eine algebraische Pot.-Reihe. Das ist eine Verallgemeinerung des Satzes: Der Durchschnitt einer regulären mit einer kontextfreien Sprache ist kontextfrei. Literatur: W. Kuich, A. Salomaa. Semirings, Automata, Languages. Springer-Verlag, J. Berstel, C. Reutenauer: Rational Series and Their Languages. Springer-Verlag, 1987.


Herunterladen ppt "Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 3: Potenzreihen und kontextfreie Sprachen (Vgl. Buch von A. Salomaa)"

Ähnliche Präsentationen


Google-Anzeigen