Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Kontextfreie Grammatiken … haben Regeln der Form.

Ähnliche Präsentationen


Präsentation zum Thema: "Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Kontextfreie Grammatiken … haben Regeln der Form."—  Präsentation transkript:

1 Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Kontextfreie Grammatiken … haben Regeln der Form

2 Friedhelm Meyer auf der Heide 2 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Das Wortproblem für kontextfreie Sprachen … ist entscheidbar. Sei G kontextfreie Grammatik für L in Chomsky Normal Form. Dann hat jede Ableitung für ein Wort x aus L, |x| = n die Länge 2n – 1. Es gibt nur endlich viele Ableitungen der Länge 2n-1. Naiver Algorithmus: Probiere alle diese Ableitungen aus. Zeit: Exponentiell in n.

3 Friedhelm Meyer auf der Heide 3 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Der Algorithmus von Cocke, Younger, Kasami Der CYK-Algorithmus. Eingabe: Kontextfreie Grammatik G in Chomsky-NF, w 2 *. Frage: w 2 L(G) ? CYK-Algorithmus: Eingabe w 1 w 2 … w n 2 * Berechne für jedes Paar i, j, 1 · i · j · n, die Menge T(i,j) = {A 2 V, A ! w i … w j }, und zwar zuerst für alle i, j mit j – i = 0, dann j – i = 1, dann j – i = 2, …, j – i = n – 1. Für j – i = n – 1 ist i = 1, j = n. Also: w 2 L S 2 T (1, n).

4 Friedhelm Meyer auf der Heide 4 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität CYK-Algorithmus/Fortsetzung Wie berechnet man T (i,j)? T(i,i) = {A, A w i } = {A, A w i } In P nachlesen. Seien alle T (i,j) mit j - i < r berechnet. Wie berechnet man T (i,j) mit j – i = r? Falls A 2 T (i,j) ist, gibt es A BC w i … w k w k+1 w j mit B w i … w k, k-i < r, und C w k+1 … w i j – k+1 < r d.h.: Es gibt k, i · k < j und (A BC) 2 P mit: B 2 T (i,k), C 2 T (k+1, j), Beachte: T(i,k), T (k+1, j) sind bereits berechnet!

5 Friedhelm Meyer auf der Heide 5 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität CYK-Algorithmus/Fortsetzung Laufzeit: Für T (i,j): O((j – i + 1) ¢ |P| ¢ |V|) Insgesamt: O( 1 · i · j · n (j – i + 1) |P| ¢ |V|) = O(n 3 ¢ |P| ¢ |V|) Polynomielle Laufzeit, aber viel zu langsam, um ihn etwa für die Syntaxanalyse bei (Java-)Programmen einzusetzen. Hier arbeitet man mit eingeschränkten Teilklassen von CF, den deterministisch kontextfreien Sprachen, gut strukturierten Grammatiken und zugehörigen Parsern.

6 Friedhelm Meyer auf der Heide 6 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Das Pumping Lemma für kontextfreie Sprachen Sei L kontextfrei. Dann gibt es ein p 2, so dass für alle w 2 L mit |w| ¸ p eine Zerlegung w = uvxyz existiert mit: (i)|v x y| · p (ii)|vy| ¸ 1 (iii) u v i x y i z 2 L für alle i ¸ 0.

7 Friedhelm Meyer auf der Heide 7 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Anwendungen des Pumping Lemma Wir wenden die Kontraposition des Pumping Lemma an: Falls für jedes p 2 ein w 2 L mit |w| ¸ p existiert, so dass für jede Zerlegung w = uvxyz mit |vy| ¸ 1 und |vxy| · p ein i existiert mit u v i x y i z L, so ist L nicht kontextfrei.

8 Friedhelm Meyer auf der Heide 8 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Nicht kontextfreie Sprachen Folgende Sprachen sind nicht kontextfrei: L 1 = {a n b n c n | n ¸ 1} L 2 {a i b j c k | 1 · i · j · k} Korollar: Sei CF die Klasse der kontextfreien, CS die Klasse der kontextsensitiven Sprachen. Dann ist CF eine echte Teilmenge von CS. Bew.: µ ist klar. gilt, da L 1 2 CS, aber L 1 CF gilt.

9 Friedhelm Meyer auf der Heide 9 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Abschlusseigenschaften kontextfreier Sprachen Seien L und L kontextfrei. Dann sind auch (i)L [ L (ii)L L (iii)L * kontextfrei. Aber: Es gibt kontextfreie L, L, so dass L Å L nicht kontextfrei ist. Bsp: L = {a i b j c j, i, j ¸ 1}, L = {a i b i c j, i, j ¸ 1} Es gibt kontextfreie L, so dass nicht kontextfrei ist.


Herunterladen ppt "Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Kontextfreie Grammatiken … haben Regeln der Form."

Ähnliche Präsentationen


Google-Anzeigen