Klaus Volbert, Folien von F. Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn...

23
Klaus Volbert, Folien von F. Meyer auf der Hei 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 .

Transcript of Klaus Volbert, Folien von F. Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn...

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

Klaus Volbert, Folien von F. Meyer auf der Heide 1

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätGrammatiken, 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 .

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

Klaus Volbert, Folien von F. Meyer auf der Heide 2

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätDie 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 .)

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

Klaus Volbert, Folien von F. Meyer auf der Heide 3

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätGrammatiken 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.

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

Klaus Volbert, Folien von F. Meyer auf der Heide 4

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätDas 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) uviw 2 L für alle i ¸ 0

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

Klaus Volbert, Folien von F. Meyer auf der Heide 5

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätAnwendungen 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 uviw L existiert,

so ist L nicht regulär.

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

Klaus Volbert, Folien von F. Meyer auf der Heide 6

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätNicht reguläre Sprachen

Folgende Sprachen sind nicht regulär

L1 = {0n 1n, n ¸ 1}

L2 = {ww | w 2 {0,1}*}

L3 = {0q | 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 L1 CF, aber L1 REG ist.

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

Klaus Volbert, Folien von F. Meyer auf der Heide 7

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätDFAs 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.

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

Klaus Volbert, Folien von F. Meyer auf der Heide 8

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätEndliche 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)

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

Klaus Volbert, Folien von F. Meyer auf der Heide 9

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätDeterministische endliche Automaten (DFA)

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

Klaus Volbert, Folien von F. Meyer auf der Heide10

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätAkzeptierte Sprachen

Ein DFA A akzeptiert w 2 * genau dann,

wenn (q0, w) 2 F gilt.

Die von A akzeptierte Sprache ist

L (A) := {w 2 *, (q0, w) 2 F}

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

Klaus Volbert, Folien von F. Meyer auf der Heide11

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätDFAs und reguläre Sprachen

Wir zeigen:

DFAs können genau die Sprachen akzeptieren,

die reguläre Grammatiken erzeugen können.

Bew.: „“ Sei A = (Q, , , q0, F) DFA für L .

Wir definieren G = (V:=Q, , P, S:=q0)

Für (q,a)=q´ liegt q aq´ in P

Falls q´ F, so liegt q a in P

„“ ?

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

Klaus Volbert, Folien von F. Meyer auf der Heide12

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und Komplexität

Nichtdeterministische endliche Automaten (NFA)

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

Klaus Volbert, Folien von F. Meyer auf der Heide13

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätBeispiel

Der NFA N1:

Q = {q0, q1, q2, q3, q4},

= {0,1}, F = {q3}.

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

Klaus Volbert, Folien von F. Meyer auf der Heide14

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätArbeitsweise eines NFA

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

Klaus Volbert, Folien von F. Meyer auf der Heide15

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätBeispiele

Der NFA N2:

Q = {q0, q1, q2, q3}, = {0, 1}, F = {q3}

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

Klaus Volbert, Folien von F. Meyer auf der Heide16

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätEndliche 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.

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

Klaus Volbert, Folien von F. Meyer auf der Heide17

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätNFAs und DFAs

Satz 3.3.3 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, , , q0, F) akzeptiert. Folgender DFA A = (Q‘, , ‘, q0‘, F‘) akzeptiert L.

Potenzmengenkonstruktion:

Q‘ = 2Q, q0‘ = {q0}, 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)})

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

Klaus Volbert, Folien von F. Meyer auf der Heide18

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätBeispiel

Der NFA N3:

Q = {q0, q1, q2}, = {0, 1}, F = {q0}

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

Friedhelm Meyer auf der Heide 19

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätNFAs und reguläre Sprachen

Satz 3.3.2 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 [ {qf} mit qf V (neuer Zustand), q0 = S,

Falls u av P, dann v (u,a) (u,v V, a )

Falls u a P, dann qf (u,a) (u V, a )

Falls u P, dann u F (u V)

qf F

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

Klaus Volbert, Folien von F. Meyer auf der Heide20

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätReguläre Ausdrücke

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

Klaus Volbert, Folien von F. Meyer auf der Heide21

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätReguläre Ausdrücke

Die von R beschriebene Sprache L(R):

Satz: L ist genau dann regulär, wenn es regulären Ausdruck RMit L (R) = L gibt.

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

Klaus Volbert, Folien von F. Meyer auf der Heide22

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätEndliche 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.

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

Klaus Volbert, Folien von F. Meyer auf der Heide23

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätAbschlusseigenschaften regulärer Sprachen

Reguläre Sprachen sind abgeschlossen unter

- Sternbildung- Komplement- Konkatenation- Durchschnitt

- Vereinigung