Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Klaus Volbert, Folien von F. Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Grammatiken, Definitionen Eine.

Ähnliche Präsentationen


Präsentation zum Thema: "Klaus Volbert, Folien von F. Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Grammatiken, Definitionen Eine."—  Präsentation transkript:

1 Klaus Volbert, Folien von F. Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Grammatiken, Definitionen Eine Grammatik G (vom Typ Chomsky-0, Rewritingsystem, Semi- Thue-System) ist beschrieben durch ein 4-Tupel (V,, P, S). V ist endliches Alphabet von Variablen ist endliches Alphabet von Terminalen S 2 V ist das Startsymbol P µ ((V [ ) + - * ) X (V [ ) * ist eine endliche Menge von Produktionen oder (Ersetzungs-) Regeln Für eine Regel (u,v) 2 P schreiben wir u ! v.

2 Klaus Volbert, Folien von F. Meyer auf der Heide 2 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Die Chomsky-Hierarchie Eine Grammatik heißt kontextsensitiv oder vom Typ Chomsky-1, falls für jede Regel u ! v gilt: |u| · |v|. Sie heißt kontextfrei oder vom Typ Chomsky-2, falls alle Regeln vom Typ u ! v mit u 2 V sind. Sie heißt regulär oder vom Typ Chomsky-3, falls alle Regeln vom Typ u ! v mit u 2 V und v 2 { } [ [ ( X V) sind. ( Eine allgemeine Grammatik ist vom Typ Chomsky-0.)

3 Klaus Volbert, Folien von F. Meyer auf der Heide 3 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Grammatiken und Turingmachinen Satz: L ist genau dann rekursiv aufzählbar, wenn es Chomsky-0-Grammatik G gibt mit L = L (G). Satz: Kontextsensitive Sprachen sind entscheidbar.

4 Klaus Volbert, Folien von F. Meyer auf der Heide 4 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Das Pumping Lemma für reguläre Sprachen Sei L regulär. Dann gibt es ein, so dass für alle x 2 L mit |x| ¸ p eine Zerlegung x = uvw existiert mit: (i)|uv| · p, (ii)|v| ¸ 1, und (iii) uv i w 2 L für alle i ¸ 0

5 Klaus Volbert, Folien von F. Meyer auf der Heide 5 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Anwendungen des Pumping Lemmas Wir wenden die Kontraposition des Pumping Lemmas an: Falls für jedes ein x 2 L mit |x| ¸ p existiert, so dass für jede Zerlegung x = uvw mit |uv| · p und |v| ¸ 1 ein i ¸ 0 mit uv i w L existiert, so ist L nicht regulär.

6 Klaus Volbert, Folien von F. Meyer auf der Heide 6 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Nicht reguläre Sprachen Folgende Sprachen sind nicht regulär L 1 = {0 n 1 n, n ¸ 1} L 2 = {ww | w 2 {0,1} * } L 3 = {0 q | q Primzahl} Korollar: Sei REG die Klasse der regulären, CF die Klasse der kontextfreien Sprachen, dann gilt: REG µ CF und REG CF Bew: µ ist klar. gilt, da L 1 CF, aber L 1 REG ist.

7 Klaus Volbert, Folien von F. Meyer auf der Heide 7 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität DFAs und reguläre Sprachen Wir zeigen: DFAs können genau die Sprachen akzeptieren, Die reguläre Grammatiken erzeugen können. D.h.: Endliche Automaten akzeptieren genau die regulären Sprachen.

8 Klaus Volbert, Folien von F. Meyer auf der Heide 8 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Endliche Automaten … sind Turingmaschinen, die nicht schreiben dürfen (und nur nach rechts gehen) Endliche Automaten haben also, neben der Eingabe, nur konstant viel Speicher (Speichern in den Zuständen)

9 Klaus Volbert, Folien von F. Meyer auf der Heide 9 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Deterministische endliche Automaten (DFA)

10 Klaus Volbert, Folien von F. Meyer auf der Heide 10 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Akzeptierte Sprachen Ein DFA A akzeptiert w 2 * genau dann, wenn (q 0, w) 2 F gilt. Die von A akzeptierte Sprache ist L (A) := {w 2 *, (q 0, w) 2 F}

11 Klaus Volbert, Folien von F. Meyer auf der Heide 11 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität DFAs und reguläre Sprachen Wir zeigen: DFAs können genau die Sprachen akzeptieren, die reguläre Grammatiken erzeugen können. Bew.:Sei A = (Q,,, q 0, F) DFA für L. Wir definieren G = (V:=Q,, P, S:=q 0 ) Für (q,a)=q´ liegt q aq´ in P Falls q´ F, so liegt q a in P ?

12 Klaus Volbert, Folien von F. Meyer auf der Heide 12 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Nichtdeterministische endliche Automaten (NFA)

13 Klaus Volbert, Folien von F. Meyer auf der Heide 13 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Beispiel Der NFA N 1 : Q = {q 0, q 1, q 2, q 3, q 4 }, = {0,1}, F = {q 3 }.

14 Klaus Volbert, Folien von F. Meyer auf der Heide 14 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Arbeitsweise eines NFA

15 Klaus Volbert, Folien von F. Meyer auf der Heide 15 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Beispiele Der NFA N 2 : Q = {q 0, q 1, q 2, q 3 }, = {0, 1}, F = {q 3 }

16 Klaus Volbert, Folien von F. Meyer auf der Heide 16 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Endliche Automaten und reguläre Sprachen Satz: Sei L µ *. Folgende Aussagen sind äquivalent: (i)L ist regulär (ii)L wird von einer regulären Grammatik erzeugt (iii) L wird von einem DFA akzeptiert (iv) L wird von einem NFA akzeptiert.

17 Klaus Volbert, Folien von F. Meyer auf der Heide 17 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität NFAs und DFAs Satz Sei N ein NFA und L die von N akzept. Sprache. Dann gibt es auch einen DFA, der L akzeptiert. Bew.: L werde von NFA N = (Q,,, q 0, F) akzeptiert. Folgender DFA A = (Q,,, q 0, F) akzeptiert L. Potenzmengenkonstruktion: Q = 2 Q, q 0 = {q 0 }, F = {R 2 Q, R Å F } (R, a) = [ r 2 R (r,a) (= {q 2 Q | 9 r 2 R mit q 2 (r,a)})

18 Klaus Volbert, Folien von F. Meyer auf der Heide 18 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Beispiel Der NFA N 3 : Q = {q 0, q 1, q 2 }, = {0, 1}, F = {q 0 }

19 Friedhelm Meyer auf der Heide 19 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität NFAs und reguläre Sprachen Satz L werde von regulärer Grammatik G erzeugt. Dann gibt es einen NFA N, der L akzeptiert. Bew.:Sei G=(V,,P,S) reguläre Grammatik für L. Folgender NFA N=(Q,,,q0,F) akzeptiert L. Q = V [ {q f } mit q f V (neuer Zustand), q 0 = S, Falls u av P, dann v (u,a) (u,v V, a ) Falls u a P, dann q f (u,a) (u V, a ) Falls u P, dann u F (u V) q f F

20 Klaus Volbert, Folien von F. Meyer auf der Heide 20 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Reguläre Ausdrücke

21 Klaus Volbert, Folien von F. Meyer auf der Heide 21 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Reguläre Ausdrücke Die von R beschriebene Sprache L(R): Satz: L ist genau dann regulär, wenn es regulären Ausdruck R Mit L (R) = L gibt.

22 Klaus Volbert, Folien von F. Meyer auf der Heide 22 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Endliche Automaten und reguläre Sprachen Satz: Sei L µ *. Folgende Aussagen sind äquivalent: (i)L ist regulär (ii)L wird von einer regulären Grammatik erzeugt (iii) L wird von einem DFA akzeptiert (iv) L wird von einem NFA akzeptiert. (v)L ist durch regulären Ausdruck beschreibbar. (vi)L wird von Zweiwegeautomat (NFA, der auch nach links laufen darf) akzeptiert.

23 Klaus Volbert, Folien von F. Meyer auf der Heide 23 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Abschlusseigenschaften regulärer Sprachen Reguläre Sprachen sind abgeschlossen unter -Sternbildung -Komplement -Konkatenation -Durchschnitt - Vereinigung


Herunterladen ppt "Klaus Volbert, Folien von F. Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Grammatiken, Definitionen Eine."

Ähnliche Präsentationen


Google-Anzeigen