klaus volbert, folien von f. meyer auf der heide 1 heinz nixdorf institut universität paderborn...
TRANSCRIPT
![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](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55204d6449795902118b9604/html5/thumbnails/1.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55204d6449795902118b9604/html5/thumbnails/2.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55204d6449795902118b9604/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55204d6449795902118b9604/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55204d6449795902118b9604/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55204d6449795902118b9604/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55204d6449795902118b9604/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55204d6449795902118b9604/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55204d6449795902118b9604/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55204d6449795902118b9604/html5/thumbnails/10.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55204d6449795902118b9604/html5/thumbnails/11.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55204d6449795902118b9604/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55204d6449795902118b9604/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55204d6449795902118b9604/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55204d6449795902118b9604/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55204d6449795902118b9604/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55204d6449795902118b9604/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55204d6449795902118b9604/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55204d6449795902118b9604/html5/thumbnails/19.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55204d6449795902118b9604/html5/thumbnails/20.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55204d6449795902118b9604/html5/thumbnails/21.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55204d6449795902118b9604/html5/thumbnails/22.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042518/55204d6449795902118b9604/html5/thumbnails/23.jpg)
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