Grundlagen der Theoretischen Informatik (GTI) Zusammenfassung und Fragezettel

Michael Gregorius 15. M¨ rz 2001 a

1

Vorwort
Diese Zusammenfassung wurde in Vorbereitung auf die sogenannte INF2-Pr¨ fung geu schrieben. Sie ist in Frage/Antwort-Form geschrieben, da eine Pr¨ fung ja auch gr¨ ßtenteils u o nach diesem Schema abl¨ uft. Als Hauptquelle diente das Buch Theoretische Informatik“ a ” von Ingo Wegener. Es wurde versucht, die dort im Vorwort erw¨ hnten Kapitel nochmal mit a eigenen Worten und komprimiert zusammenzufassen. Ich kann nur empfehlen, zusammen mit anderen Kommilitonen zu lernen, da man dadurch lernt, den Stoff in eigenen Worten wiederzugeben.

2

Inhaltsverzeichnis

Inhaltsverzeichnis
1 Turingmaschinen, Churchsche These und Entscheidbarkeit 4

1.1 1.2 1.3 1.4 1.5
2

Registermaschinen und deterministische Turingmaschinen . . Simulation zwischen Turingmaschinen und Registermaschinen Universelle Turingmaschinen . . . . . . . . . . . . . . . . . . Die Unentscheidbarkeit des Halteproblems . . . . . . . . . . . Eigenschaften rekursiver und rekursiv aufz¨ hlbarer Sprachen . a

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

4 6 7 8 8
9

¨ NP-Vollstandigkeitstheorie

2.1 2.2
3

Die Klasse P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Nichtdeterministische Turingmaschinen und die Klasse NP . . . . . . . . . Schaltwerke und endliche Automaten . . . . . Die Minimierung endlicher Automaten . . . . . Das Pumping Lemma f¨ r endliche Automaten . u Nichtdeterministische endliche Automaten . . . Effiziente Algorithmen f¨ r endliche Automaten u . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9 9
17

Endliche Automaten

3.1 3.2 3.3 3.4 3.5
4

17 17 21 22 25
27

Grammatiken, die Chomsky-Hierarchie und das Wortproblem

4.1 4.2 4.3
5

Grammatiken und die Chomsky-Hierarchie . . . . . . . . . . . . . . . . . 27 Chomsky-0-Grammatiken und rekursiv aufz¨ hlbare Sprachen . . . . . . . . 28 a Chomsky-3-Grammatiken, regul¨ re Sprachen und Ausdr¨ cke . . . . . . . . 29 a u
32

Kontextfreie Grammatiken, Chomsky-2

5.1 5.2 5.3 5.4 5.5 5.6 5.7
6

Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chomsky-Normalform f¨ r kontextfreie Grammatiken . . . . . . u Der Cocke-Younger-Kasami Algorithmus (CYK) . . . . . . . . Pumping Lemma und Ogden’s Lemma f¨ r kontextfreie Sprachen u Effiziente Algorithmen f¨ r kontextfreie Sprachen . . . . . . . . u Unentscheidbare Probleme . . . . . . . . . . . . . . . . . . . . Eine inh¨ rent mehrdeutige Sprache . . . . . . . . . . . . . . . . a

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

32 32 34 35 37 38 39
42

Greibach-Normalform und Kellerautomaten

6.1 6.2

Greibach-Normalform . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Kellerautomaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

3

1 Turingmaschinen, Churchsche These und Entscheidbarkeit

1 Turingmaschinen, Churchsche These und Entscheidbarkeit
1.1 Registermaschinen und deterministische Turingmaschinen

Was ist eine Registermaschine? Eine Registermaschine (RAM) ist ein Rechnermodell, welches sehr nahe an reale Rechner rankommt. Im Gegensatz zu realen Rechnern verf¨ gt die RAM jedoch uber einen unendu ¨ lichen Speicher, den sogenannten Registern. Ein Register ist eine Speicherzelle, die eine beliebig große nat¨ rliche Zahl aufnehmen kann. Es gibt ein spezielles Register, den sogeu nannten Akkumulator. Die Register sind auch auf nat¨ rliche Weise durchnummeriert, so u daß sie adressiert werden k¨ nnen. Der Akkumulator hat die Adresse 0. Im allgemeinen o wird der Inhalt des i-ten Registers mit c i bezeichnet. Desweiteren hat die RAM einen ¨ Programmzahler b, der auf die aktuelle Zeile des Programms zeigt. Das Programm ist eine Folge von Befehlen. Welche dies sind, steht in der folgenden Liste:

6. DIV(i): c 0 7. GOTO j: b

Dabei ist ?

Desweiteren gibt es noch CLOAD, CADD, CSUB, CMULT und CDIV, mit denen Operationen mit Konstanten durchgef uhrt werden k¨ nnen. Desweiteren gibt es auch noch in¨ o direkte Adressierung INDLOAD, INDSTORE, INDADD, INDSUB, INDMULT, INDDIV, wobei auf der rechten Seite der Tabelle c i durch c c i ersetzt werden muß. Was ist das uniforme/logarithmische Kostenmaß? Beim uniformen Kostenmaß bewertet man jede Programmzeile einer RAM mit einer Kosteneinheit. Dies ist jedoch nicht realistisch, wenn man mit sehr großen Zahlen operiert. Hier ist dann das logarithmische Kostenmaß angebrachter, welches eine Programmzeile mit der L¨ nge der dabei benutzten Zahlen bewertet. a

4

£ 0£ ¢ ¢

£ ¢

¤

9. END: b

b

£ ¢ 

650¦140¦1310('&% 2¦ )¦ ¤ ¤

8. IF c 0 ?l GOTO j: b

¤ # ¨ ¤ ¦ $" " ! !  ¥£ ¢ ¤ £ ¢ £ ¢ ¥£ ¢  ¤

5. MULT(i): c 0

c0 ci b

c0 ci

b

1

j

j, falls c 0 ?l wahr, sonst b=b+1

¨

¤ £ ¢ ¦  

£ ¢ ¦ 

¤ ©£ ¢

4. SUB(i): c 0

max 0 c 0

ci

¨

¤ §£ ¢ ¦

¨ £ ¢

¤ ©£ ¢

3. ADD(i): c 0

c0

ci b

¨

¤ §£ ¢ ¦

¤ ¥£ ¢

2. STORE(i): c i

c0 b

b

¨

¤ §£ ¢ ¦

¤ ¥£ ¢

1. LOAD(i): c 0

ci b

b

1 1 b 1 b b 1

£ ¢

£ ¢

¡ ¡    

 

Wozu dienen Rechnermodelle? Von Gegebenheiten spezieller Rechner soll abstrahiert werden Rechnermodelle sollen Aussagen uber alle schon bekannten Rechner erlauben und ¨ auch uber Rechner, die wir uns bis jetzt nur vorstellen k¨ nnen ¨ o

die endliche Zustandsmenge 2. daß w L ist. q0 .B. Sie a darf nur nie entscheiden. a Wann heißt eine Sprache L total rekursiv/rekursiv aufz¨ hlbar? a 1. den Buchstaben a auf das Band schreiben. auf die die Maschine im Startzustand zeigt 1. die f¨ r Eingaben vom Typ bin i1 #bin i2 # #bin ik mit Ergebnis bin m stoppt. 2. δ. die aus L sind. Churchsche These und Entscheidbarkeit Was ist eine Turingmaschine? Eine Turingmaschine ist ein sehr primitives Rechnermodell. Wann heißt eine Funktion total rekusiv? Σ heißt total rekursiv (berechenbar). wenn es eine Turingmaschine gibt. Σ. Lautet die Antwort a ” Ja“ befindet sich die Maschine am Ende der Rechnung in einem akzeptierenden Zustand ” q F. F¨ r δ q a u q a N h¨ lt die Maschine. Eine Sprache L Σ heißt rekursiv aufz¨ hlbar (semientscheidbar). wenn es nicht zur Sprache geh¨ rt. den Lesekopf in Richtung d verschieben und in den Zustand q wechseln soll. jedoch nennen wir die Position. die rechts davon 2. Gibt es nur Ergebnisse vom Typ Ja“ oder ” Nein“. welche nur aus Zeichen des Eingabealphabets besteht.1 Turingmaschinen. die auf allen Eingaben stoppt und die Eingabe w genau dann akzeptiert. der Anfangszustand Die Turingmaschine (TM) verf¨ gt ebenfalls uber einen unendlichen Speicher. Zu Beginn steht auf dem Band nur die Eingabe w w1 w2 wn Σ . wenn w L ist. usw. o Was ist eine Konfiguration? 5 % £ ¢ £ ¢ £ ¢ £ ¢ DFFD £ ¢ D £ ¢ G % U VT9 T9 HG G G G £ ¦ ¦ SR£ ¦ ¢ ¢ ¤ P P £ QP QP IH£ ¦ ¢ ¦ ¦ ¢ ¤ U DD £ ¦ FED ¦ ¦ ¢ C C % C 7. 2. B 7 ¤ %         3. die Menge der akzeptierenden Endzust¨ nde a £ $ ¦ ¦ B8  8 ¢ 9 A@£ 8 6. Dabei unterscheiden sich die Rechenzeiten nur um polynomielle Faktoren. der Blankbuchstabe Γ Q Γ RLN . Das Ergebnis steht dann unter dem Schreiba /Lesekopf und geht bis zum ersten Blank. welches jedoch eine genauso große Rechenkraft besitzt wie eine RAM. das endliche Bandalphabet Γ Σ. eingerahmt von Blanks. Dabei bedeutet ¨ ¨ δqa q a d z. u ¨ der zu Beginn der Rechnung uber dem ersten Buchstaben der Eingabe steht. dann kann man das Ergebnis auch in die Zust¨ nde integrieren.. daß sie in eine Endlosschleife ger¨ t und niemals entscheidet. Eine Funktion f : Σ maschine gibt. wenn es eine Turingmaschine gibt. Q. Das Pro¨ ” gramm“ einer Turingmaschine ist die Zustanduberfuhrungsfunktion δ. daß die TM beim Lesen des Buchstabens a im Zustand q. wenn es eine a Turingmaschine gibt. Eine Funktion f : k heißt total rekusiv. die Zustands¨ berfuhrungsfunktion δ : Q u ¨ ¢ DD FED  ¤ % % 4. wenn u m f i1 i2 ik ist. wenn es eine Turing1. Das a Band hat keine Adressen. Eine Sprache L Σ heißt rekursiv (entscheidbar). die aus der Eingabe x den Funktionswert f x berechnet. Es ist ein beidseitig unbeschr¨ nktes Band. die genau die Eingaben w akzeptiert. Γ Σ. Die Maschine verf¨ gt desweiteren uber einen Schreib-/Lesekopf. ob w L ist. eventuell F Q. Im zweiten Fall muß die Turingmaschine also nicht f¨ r alle Eingaben stoppen. Es kann u vorkommen. Eine Turingmaschine besteht aus folgenden Komponenten“: ” 1. jedoch sieht u ¨ dieser anders aus als bei der RAM. das endliche Eingabealphabet 5. Dabei ist bin j die Bin¨ rdarstellung von j.

Es gilt stets αqβ αqβ. q Q und β Γ . gelesenen Buchstaben und Kopfposition reu serviert Die anderen Register repr¨ sentieren jeweils eine Speicherzelle der TM (Adressena transformation) δ wird als ein Programm mit Q Γ Programmzeilen aufgefaßt Mit Q Γ if-Abfragen wird Unterprogramm gefunden. wenn α q β in einem Rechenschritt aus αqβ entsteht. Datenstrukturen 1.1 Turingmaschinen. da kein Rechenschritt“ auch in der Notation endlich viele Rechenschritte“ enthalten ” ” ist. wenn α q β in endlich vielen Rechenschritten aus αqβ entsteht. a (2) α q β ist direkte Nachfolgekonfiguration von αqβ. welches die Speicherabbildungsfunktion realisiert Zeige. Schleifen 5. Mehrspurmaschinen 3. wie eine Registermaschine durch eine Turingmaschine simuliert werden kann! Effizienzeinbußen sind unvermeidbar weil: a) Speicherzellen der TM k¨ nnen nur Buchstaben aus einem endlichen Zeicheno vorrat speichern. daß auf dem Band die Inschrift αβ eingerahmt von lauter Blankbuchstaben steht. Endlicher Speicher mit schnellem Zugriff 2.2 Simulation zwischen Turingmaschinen und Registermaschinen Zeige. Welche Techniken gibt es zur Programmierung von Turingmaschinen? 1. Unbeschr¨ nkter Speicher a 7. wie eine Turingmaschine durch eine Registermaschine simuliert werden kann! Ist ohne Effizienzverlust m¨ glich o Drei Register f¨ r Zustandsnummer. Unterprogramme 4. Notation αqβ α q β . Sortieren 8. die den ersten Buchstaben von β enth¨ lt. Notation αqβ α q β . Mehrbandmaschinen 6. Sie bedeutet. die Maschine im Zustand q ist und der Kopf auf die Zelle zeigt. die einer RAM beliebige naturliche Zahlen ¨ 6 % GW G % P P P PP PP PP PP PP PP P P P GW W X EX X X X EX X X G P P P PP PP PP % ¡ ¡ ¡ ¡ ¡ ¡       . Churchsche These und Entscheidbarkeit (1) Eine Konfiguration einer Turingmaschine ist ein String αqβ mit α Γ . (3) α q β ist Nachfolgekonfiguration von αqβ.

Churchsche These und Entscheidbarkeit b) RAM kann direkt auf Speicher zugreifen. zu Beginn q1 a Die universelle Turingmaschine kennt den Zustand in dem die simulierte Maschine ist (Band 3) und weiß. dann sieht die G¨ delnummer M o wie folgt aus: 111code 1 11code 2 11 11code s 111  ¦ ¦ a%  ¦ ¦ £ ¢ 5 ¦ DD FED £ ¢ £ ¢ ¤ R£ ¦ ¦ ¢ ¤ S¥£ δ qi X j qk Xl Dm 0i 10 j 10k 10l 10m mit i k 1 und j l m 123 ¤ ¦ ¤ ¦ ¤ ¤ X1 0 X2 1 X3 Kopfbewegung B codiert das Bandalphabet und D1 DD  ¦ EFD ¦ Angenommen es gibt t Zust¨ nde Q a q1 einzigem akzeptierenden Endzustand qt mit q1 als Startzustand und q2 als L D2 N D3 R die  ¦ `¤  Wird benutzt um die Zustandsubergangsfunktion mit Σ ¨  `¤  ¦ ¦ Y¤  Beschr¨ nkung auf Γ a 9 ¦ ¤ £ ¢ ¦ ¦ ¢ ¤ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡     Initialisierung TM hat soviele Unterprogramme. damit Simulation fair bleibt Ist ein fest programmierter Rechner. der genau soviel kann wie ein programmierbarer Rechner Es gibt keinen Unterschied 01B 0 1 darzustellen .3 Universelle Turingmaschinen Was ist eine universelle Turingmaschine? Programme sind Daten. wenn qi q2 oder f¨ r 0i 10 j 10i 10 j 100 u 7 c b b) Band 2 enth¨ lt die G¨ delnummer M a o G % a) Band 1 enth¨ lt nur w a Σ c b Sei code z die obige Codierung der z-ten Zeile. Also sucht sie den entspechenden Block 0i 10 j 1 auf Band 2 und andert den Buchstaben auf Band ¨ 1 und den Zustand auf Band 3 gem¨ ß 0i 10 j 10k 10l 10m . Dabei bewegt sie den Kopf a auf Band 1 entsprechend 0m . welchen Buchstaben diese liest (Kopf auf Band1). dann enthalten die drei B¨ nder: o a c) Band 3 enth¨ lt den aktuellen Zustand qi als 0i .1 Turingmaschinen. wie die RAM Programmzeilen hat Logarithmisches Kostenmaß muß benutzt werden. TM muß daf¨ r weite Wege gehen u 1. ¤ Universelle TM stoppt. die abgesetzt von den Daten auf denen das Programm laufen soll ubergeben werden ¨ Dem universellen Rechner wird eine G¨ delnummer und die Daten gegeben o Erreichter Zustand steht auf einem Extraband Hat dann Zugriff auf Buchstaben und Zustand und kann so in der G¨ delnummer o das entsprechende Tupel suchen Was ist die G¨ delnummer? o Universelle Turingmaschine uberpruft syntaktische Korrektheit der G¨ del-nummer ¨ ¨ o G¨ delnummer korrekt.

M bekommt neuen Zustand q der von nicht akzeptierenden Zust¨ nden erreicht wird. jedoch rekursiv aufz¨ hlbar o a L1 L2 .1 Turingmaschinen. also wird L enta schieden Rekursiv aufz¨ hlbare Sprachen sind gegen Vereinigung und Durchschnitt abgea a schlossen. q der einzig akzeptierende Zustand. daß es nicht rekursiv ist u Kanonische Ordnung auf W¨ rter und G¨ delnummern und unendliche Matrix o o Diagonalsprache D ist nicht rekursiv Komplement der Diagonalsprache D ist nicht rekursiv. a Jenachdem. sich ein Problem zu a konstruieren f¨ r das man zeigt. also kann ich sie nacheinander simulieren Sind L und L rekursiv aufz¨ hlbar. M1 und M2 werden nacheinander simuliert. M1 und M2 werden nacheinander simuliert. ist es gerechtfertigt. Alternativ: L1 h % b) L1 L2 ist rekursiv.4 Die Unentscheidbarkeit des Halteproblems Die universelle Sprache U M w M akzeptiert w ist nicht rekursiv. Beide Maschinen M1 und M2 m¨ ssen in enda u licher Zeit akzeptieren. nicht jedoch gegen Komplement. Paralle Simulation oder zeitbeschr¨ nk-te Schritt-f¨ r-Schritt Simulation nacheinander u c) L1 L2 ist rekursiv aufz¨ hlbar. Seien L L1 L2 rekursiv und M M1 M2 die entsprechenden TM: a) L ist rekursiv. Beispiel: D ist rekursiv aufz¨ hlbar. ist L rekursiv. da sonst D rekursiv w¨ re. L2 . w wenn beide TM akzeptieren. .5 Eigenschaften rekursiver und rekursiv aufzahlbarer Sprachen Rekursive Sprachen sind gegen Durchschnitt und Vereinigung und Komplement abgeschlossen. Es seien L L1 L2 rekursiv aufz¨ hlbare Sprachen und M M1 M2 die entsprechenden TM: a) L ist nicht rekursiv. w wenn eine der TM akzeptiert  G ¦  ¦ i X c gf¤ b  X c ed¤ b  G ¦ ¦ ¦ ¦ h h i i ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ Damit sp¨ tere Beweise einfacher werden. M und M parallel laufen lassen. gilt entweder w L oder w L 8 p% ¦ % ¦ £ h ¢ ¤ L1 L2 L1 L2 i % c) L1 L2 ist rekursiv. welche Maschine akzeptiert. weil sie eine a Verallgemeinerung von D ist. Churchsche These und Entscheidbarkeit 1. Jedoch ist U rekursiv aufz¨ hlbar und damit auch D ¨ 1. D ist jedoch nicht a rekursiv a a b) L1 L2 ist rekursiv aufz¨ hlbar. da man sonst D a entscheiden k¨ nnte. a jedoch ist D rekursiv aufz¨ hlbar a Das Halteproblem H M w M h¨ lt auf w ist nicht rekursiv.

nur ist die Zustandubergangsfunktion δ hier durch eine Relation auf Q Γ ¨ Q Γ LN R ersetzt. u deren worst case Rechenzeit polynomiell beschr¨ nkt ist. F¨ r ein w L ist die Rechenzeit definiert u als die Anzahl der Rechenschritte bez¨ glich des k¨ rzesten akzeptierenden Rechenweges. sich auf Entscheidungsprobleme zu beschr¨ n-ken? ¨ a Weil die Optimierungsvarianten oft auch in P liegen. a Wann ist ein Problem nicht in P? Wenn es nicht rekursiv ist (st¨ rkere Aussage) a Wenn die L¨ nge des Ergebnisses nicht polynomiell in der L¨ nge der Eingabe bea a schr¨ nkt ist. wenn dies f¨ r die Entscheidungsu variante gilt. wenn es mindestens einen akzeptierende Rechenweg gibt. Die worst case Rechenzeit tM n ist die maximale Anzahl von Rechenschritten. Bei den meisten Problemen wird die Entscheidungsvariante polynomiell oft aufgerufen und so die Optimierungsvariante gel¨ st.2 Nichtdeterministische Turingmaschinen und die Klasse NP Was ist eine nichtdeterministische Turingmaschine? Eine nichtdeterministische Turingmaschine NTM ist definiert wie eine DTM. Wie ist die Klasse P definiert? P ist die Klasse der Probleme. u a a Was ist die Klasse NP? 9 £ u ¦ ¦ a8  8 ¢ 8 ts£ 8 £ ¢  ¢ % 2 q£ ¢ £ ¢ ¤ r £ @3£ ¢ ¢ £ QP QP xw£ ¦ ¢ ¦ ¦ ¢ ¤ £ QP vP ¦ ¦ ¢ ¦ ¦ % q£ ¢ £ ¢ p% ¡ ¡ ¡               tM n O pn tM n k pn   . Warum genugt es meist. u u F¨ r w L betr¨ gt die Rechenzeit definitionsgem¨ ß 0. f¨ r die es eine deterministische Turingmaschine M gibt.2 NP-Vollst¨ ndigkeitstheorie a ¨ 2 NP-Vollstandigkeitstheorie 2. Zum Beispiel die Frage nach allen optimalen L¨ sungen bei Optimiea o rungsproblemen Es gibt jedoch eine Klasse von uber 1000 Problemen von denen man nicht weiß. F¨ r eine feste Eingabe w sind also u u viele Rechenwege m¨ glich. o Wann akzeptiert eine Turingmaschine eine Eingabe? Eine NTM M akzeptiert eine Eingabe. Wie ist die Rechenzeit einer nichtdeterministischen Turingmaschine definiert? Sei M eine NTM. die M auf Eingaben aus Σn macht. Eine NTM arbeitet dabei wie folgt: Wenn die NTM im Zustand q den Buchstaben a liest ist f¨ r jedes q a q a d in der Zustandubergangsrelation der Rechenweg m¨ glich u ¨ o den eine DTM f¨ r δ q a u q a d machen w¨ rde. ob ¨ sie in P sind. die M o akzeptiert.1 Die Klasse P Wie ist die worst-case-Rechenzeit definiert? Sei M eine deterministische Turingmaschine auf dem Eingabealphabet Σ. die die Sprache L akzeptiert. o 2. Die von M akzeptierte Sprache L L M besteht aus allen W¨ rtern w.

x j mit i j 1 n . Es existiert eine NTM M f¨ r L. so daß alle m 3 Klauseln wahr werden. gibt es eine Belegung. Wie sich herausstellen o wird ist das Problem SAT NP-Vollst¨ ndig. man kann sie jedoch durch eine deterministische Turingmaschine simulieren. Weiter seien m Klauseln uber n Vau ¨ riablen gegeben. Ist dies der Fall. Es gelte k 3 Q Γ . so daß gilt: Eine erf¨ llende Belegung ist zum Beispiel 1 1 0 0 . deren worst case Rechenu zeit polynomiell beschr¨ nkt ist. u Beispiel: Gegeben seien die Klauseln C c1 c2 c3 mit c1 x1 x2 x3 c2 x1 x2 x4 c3 x1 x2 x3 . Das Problem SAT besteht nun darin. daß f¨ r alle L NP gilt: u 10 2 % L NP : L p SAT ¤ ¥£   £ ¦ ¦ ¦ ¢ ¢ ‚ Be£   ¢ ‚ Be£ x1 x2 x3 x1 x2 x4 x1 x2 x3 1 ¤ ¤ " ! ¦   ¤ ¦   ¤ ¤ £ X X£ €¢ £ ¦ ¢ y¤ km 2log2 k m 2m log2 k ist) daher kann 2m log2 k durch 2 p n ab- DD % q£ ¦ EFD ¦ ¢ M probiert nun alle Rechenwege der L¨ nge m. Die Maschine schaut in der Zustands¨ bergangsrelation der NTM nach. u u ¨ Es gibt also km solcher Rechenwegvektoren und es gilt: m ist polynomiell beschr¨ nkt (da es q w a gesch¨ tzt werden.2 NP-Vollst¨ ndigkeitstheorie a Die Klasse NP (nichtdeterministisch polynomiell) ist die Klasse der Entscheidungsprobleme. zu entscheiden. a Worin besteht das Problem SAT? Gegeben seien zwei nat¨ rliche Zahlen n und m. wie man leicht selbst ausprobieren u kann. f¨ r die es eine nichtdeterministische Turingmaschine M gibt. a Kann man eine nichtdeterministische Turingmaschine bauen? Nein. so daß alle Klauseln erf¨ llt werden. die nacheinander alle m¨ glichen Rechenwege ausprobiert. Jedoch ist es nicht immer so einfach eine L¨ sung zu finden. deren worst case Rechenzeit durch q n beschr¨ nkt u a ist. k ist also die Anzahl an Zustands¨ berg¨ ngen die aus einem u a Zustand heraus m¨ glich sind. Eine Klausel ist die Disjunktion von einigen Literalen xi bzw. Denn man kann in drei Richtungen gehen. a Zeige das SAT NP-vollst¨ ndig ist! a Wir wollen zeigen. ob es eine Belegung der n 4 Variablen gibt. so daß M die Sprache L in exponentieller Zeit 2 p n akzeptiert. kann aus o Q neuen Zust¨ nden w¨ hlen und kann Γ verschiedene Buchstaben schreiben. ob ein Zuu ¨ stands¨ bergang g¨ ltig ist. Dies sind alles Vektoren i1 a 1 k m im ¤ M berechnet in polynomieller Zeit die L¨ nge der Eingabe w und berechnet m : a q w . £ ¢ X X X X ¦ ƒ ¢ d¤ % ¤ P  ¦ ¦ B8   X FX X X  " ! ¢ DD ¦ FED ¦ ¤ % 8 DD  ¦ FED ¦  DD   ¦ FED ¦ &% ¦ X X X X£ 3¢  ¡ ¡ ¡ ¡ ¡ ¡ ¡        . Oder anders. Die a a Tripel Q Γ L N R seien von 1 bis k durchnumeriert. ob es eine Belegung der Variablen x1 xn gibt. wird der Ubergang durchgef uhrt. Die Frage besteht nun darin zu entscheiden. Wir zeigen folgenden Satz: F¨ r o u eine Sprache L NP gibt es ein Polynom p und eine DTM M.

m¨ ssen wir erst folgendes zeigen: a u Wir raten eine zuf¨ llige Belegung der Variablen und k¨ nnen in polynomieller Zeit entscheia o den. interpretiert die ersten log2 m Zufallsbits. a 2.2 NP-Vollst¨ ndigkeitstheorie a Jedoch kennen wir garnicht alle Probleme in NP. Da die Rechenzeit durch p w u beschr¨ nkt ist und eine Turingmaschine in einem Rechenschritt nur eine Zelle weiterwana dern kann. Die Kopfposition beschreiben wir durch folgende Variable: H i j mit 11 X X£ €¢ 2 X X£ €¢ 2 X w X£ 3¢  † 2 2 0 i p w p w j X ˆ£ X ¨ X  X£ 3¢ ¢ p w 1  X €X `2 2 X X£ 3¢ † Q i k mit Q X X£ €¢ 2 2 0 0 i k p w Q 1 p w X X£ 3¢ … …" v! £ ¦ ¦ D ¦ ¦ „¤ ¢ … …" v! £ X 0 X£ 3¢ ¢ DD ¦ FFD ¦ 2 X X£ €¢ £ ¦ ¢ % L NP : L % SAT NP p SAT £ 5 ¢ % £ ¦ ¢ ƒ DD  …‡ … ¦ FED ¦ ¤ R£ ¦ ¢ p% %  `¤ . um a den Nichtdeterminismus unter Kontrolle zu bringen. daß f¨ r eine Sprache in u NP gilt. daß unsere Maschine ein Trennsymbol in die Zelle 0 schreibt und die Zellen nach der Ratephase nicht mehr besucht. Wieviele solcher Variablen k¨ nnen wir bilden? Es sind: o Ihre Zahl ist also polynomiell durch p w beschr¨ nkt. so daß K p w akdaß es f¨ r ein w L eine Folge von Konfigurationen K0 u zeptierend ist. es werden Zufallsbits ben¨ tigt. a a Wir sorgen jetzt erst einmal daf¨ r. indem sie wieder an den ersten Buchstaben der Eingabe zur¨ ckwandert. Dazu benutzen wir eine RV-NTM (Rate-Verifikations-NTM). Die Rechenzeit ist also polynomiell abh¨ ngig von der Eingabel¨ nge. mit Q q0 q Q 1 . es sei denn. ob alle Elemente der Klauselmenge zu 1 evaluiert werden. Und bleibt also nichts anderes ubrig. 1. daß sie von einer NTM in polynomieller Zeit entschieden wird. o Um zu zeigen. a a K p w gibt. ist auch der Platz zur Berechnung durch O p w beschr¨ nkt. Kopfposition und Bandinschrift. Jetzt kommt der schwierigere Teil: Wie gesagt wissen wir nur. Zuerst stellen wir sicher. daß die RV-NTM auch in akzeptierenden Zust¨ nden u a weiter arbeitet. Wann immer eine normale NTM die Wahl zwischen mehr als einem Rechenweg hat m 2 wandert die RVNTM nach links uber das Trennzeichen. ¨ Dazu werden wir jedoch vorher die Arbeitsweise der NTM st¨ rker strukturieren. dabei jedoch den akzeptierenden Zustand nicht verl¨ ßt. die sie ¨ findet als Bin¨ rzahl i und f¨ hrt dann den i-ten Rechenweg aus. als die Arbeitsweise einer NTM in das SAT zu codieren. u In der Verifikationsphase arbeitet die RV-NTM deterministisch. Wir wissen nur. Wie dr¨ cken wir die u Konfigurationen der Turingmaschine durch Boolesche Variablen aus? Eine Konfiguration besteht zu einem Zeitpunkt aus Zustand. Die Zufallsbits werden nach a u Gebrauch gel¨ scht. Dann gilt n¨ mlich. daß f¨ r L NP eine RV-NTM M u Q Σ q0 Γ δ F existiert die eine Eingabe w in polynomieller Zeit p w akzeptiert. Den Zustand beschreiben wir durch folgende Variable: Es gilt Q i k 1. die zuerst den Nichtdeterminismus nutzt und danach deterministisch arbeitet. a Jetzt wenden wir uns langsam aber sicher der Struktur des SAT zu. F¨ r w L gibt es eine solche Folge nicht. wenn sich die NTM zum Zeitpunkt i im Zustand qk befindet. o Zu Beginn befindet sich die RV-NTM in der Ratephase. Sie schreibt links vom Trennzeichen einige Zufallsbits und beendet dann die Ratephase. daß SAT NP-vollst¨ ndig ist.

wenn die Maschine in genau einem Zustand ist. Jede Position enth¨ lt zu jedem Zeitpunkt genau einen Buchstaben. am Anfang der Eingabe. 2.2 NP-Vollst¨ ndigkeitstheorie a Es gilt H i j 1.B. Die Maschine befindet sich zu einem Zeitpunkt in genau einem Zustand. c) Rechts von der Eingabe stehen nur Blanks. Auch hier gibt es polynomiell viele Variablen: Aus diesen Variablen m¨ ssen wir noch die Klauselmenge konstruieren. Zum Zeitpunkt 0 ist die Maschine im Anfangszustand qk nach der Ratephase und der Kopf steht auf Position 1. F¨ r die Bandinschrift muß u folgendes gelten: a) Links von der Position 0 stehen die Zufallsbits oder Blanks. An dieser Stelle beeinflußt die Eingabe die Klauselmenge. Dann a a w¨ rde die Klausel. daß also die i 1 a te Konfiguration die Nachfolgekonfiguration der i-ten Konfiguration ist. Die letzte Konfiguration muß akzeptierend sein. a 3. wenn sich der Kopf der NTM zum Zeitpunkt i an Position j befindet. Dann sieht die Klauselmenge wie folgt aus: a i j Beispiel: Angenommen es g¨ be nur drei Variablen zur Codierung der Zust¨ nde. Wieviele solcher Variablen k¨ nnen wir bilden? o Auch ihre Zahl ist also polynomiell durch p w beschr¨ nkt. Es muß sichergestellt werden. b) An den Positionen 1 bis w muß die Eingabe stehen. Die Bandinschrift beschreiben wir durch folgende Variable: S i j k mit Es gilt S i j k 1. Zuerst werden u jedoch die Bedingungen aufgez¨ hlt und dann wird gezeigt. die Variablen zur Codierung der Zust¨ nde). wenn sich zum Zeitpunkt i an Position j der Buchstabe ak mit Γ a1 a Γ befindet. 4. Seien y1 ym Variablen (z. Der Kopf der Maschine befindet sich zu einem Zeitpunkt auf genau einer Position. Dadurch wird daf¨ r gesorgt. 5. daß die Rechnung korrekt verl¨ uft. daß die Zufallsu bits einen Block bilden. die f¨ r die erste Bedingung (1) sorgt. wie folgt aussehen: u u Q0 Q1 Q2 wird wahr. Links von einem Blank stehen wiederum Blanks. Wie sehen jetzt die Klauseln aus. wie diese Bedingungen durch a Klauseln ausgedruckt werden k¨ nnen. sobald die Maschine in einem Zustand ist und die Paare der Form Q0 Q1 werden nur wahr. F¨ r die Bedingung (4) gibt es folgende Klauseln: u 12 £  ¢ ‚ Be£  ¢ ‚ Be£  ¢ ‚ Be£   Q0 Q1 Q2 Q0 Q1 Q0 Q2 £ –—  ¢ •e£ ” ‚  DDD 0FEB y1 ym xi x j Q1 Q2 £ ¨ ¢ X ˆ£ X ¨ X  X£ 3¢  £ ¢ ¨ X  X£ 3¢ ¢ p w 1 2 p w 1 X X£ €¢ 2 X `2 2 X 2 X q X£ 3¢  ‘ ’“ 2 2 X X£ 3¢ 0 i p w p w j 1 k Γ p w £ Γ ¨ X  X£ 3¢  £ ¢ X X£ 3¢ ¨ X e X£ 3¢ ¢ DD ¦ FED ¦ X X £ ¦ ¦ ¢ ¢ DD  … … ¦ FED ¦ ¤ q£ ¦ ¦ ¢ ¢ £ £  `¤   ¢  ¢ ¤ ‰£ ¦ ¢ p w 1 2 p w 1 . 6. ¨ o 1. a 3. F¨ r die Punkte (1)-(3) k¨ nnen sie nach dem selben u o Schema aufgebaut werden.

wenn at das Trennsymbol ist: 0 gilt: S 0 j k0 S 0 j k1 S 0 j k2 1 mit k0 0 k1 1 k2 B . wenn qk der Startzustand ist: Die Maschine befindet sich nach der Ratephase im Startzustand. Die gelesene Speicherzelle wird korrekt ver¨ ndert. H 0 1 ¤ ©£ ¦ ¢ 1: 1. an diesen Stellen muß die Eingabe stehen. F¨ r j u ¤ ˜£ ¦ ¦ ¢ 3. Rechts von der Eingabe stehen nur Blanks. wenn k der Index des akzeptierenden u Zustandes ist. S 0 0 t ¤ @£ ¦ ¢ 2. die die oben genannten Forderungen repr¨ sentieren. a u a 4. Links von Blanks stehen wieder Blanks. dann muß auch zum Zeitpunkt i 1 der Buchstabe ak dort stehen. F¨ r j u w : S 0 j k2 1. a 3. F¨ r 1 u j w gilt: S 0 j k0 w j und S 0 j k1 wj £ 3£ ¦  ¦ ¢ ¢  £ ¦ ¦ ¢ 5. An Position 0 steht zu Beginn das Trennzeichen. auf: a u 1. ¤ ¥£ ¦ ¦ ¢ ¤ ©£ ¦ ¦ ¢ X Y2 X 2 6. Desweiteren gilt S 0 j k2 S 0 j 1 k2 : p w ¤ ¦ ¤ ¦ ¤ ¤ ¥£ ¦ ¦ ¢  £ ¦ ¦ ¢  £ ¦ ¦ ¢ ) 4. Q 0 k 1. Es gelte f¨ r die Punkte (2)-(4) im folgenden: a u 1. Die Kopfposition wird gem¨ ß der Zustandubergangsfunktion ge¨ ndert. Wenn also zum Zeitpunkt i an Position j der Buchstabe ak steht und der Kopf nicht auf diese Position zeigt. also gem¨ ß der Zustands¨ bergangsfunktion geschieht. a ¨ a Im folgenden werden die Klauseln aufgelistet. a 2.2 NP-Vollst¨ ndigkeitstheorie a 1. die gelten m¨ ssen. Der Kopf der Maschine befindet sich nach der Ratephase auf dem ersten Zeichen der Eingabe. Nicht gelesene Speicherzellen werden nicht ver¨ ndert. Links vom Trennzeichen stehen also Nullen. 13 X X£ 3¢ 2 ¨ £ ¦ ¦ ¨ ¢  £ ¦ ¢  £ ¦ ¦ ¢ S i j k H i j S i 1 j k mit X d2 2 X 2 X w X£ €¢  ‘ ’“ ƒ 2 2 X X£ 3¢ X X£ 3¢ 2 X `2 2 ™™ X X Y2 2 X 2 X w X£ €¢  ‘™“™ ’ ƒ 2 2 X X£ 3¢ 0 i p w p w j 1 k Q 1 l Γ p w 0 i p w p w j 1 k Γ G £ ¦ X G  X£ 3¢ ¢ ¤ ©£ ¦ ¦ ¢ X `4 X 7. Einsen oder Blanks. Das heißt. F¨ r (5) reicht eine Klausel der Form Q p w k . Der Zustand wird gem¨ ß der Zustands¨ bergangsfunktion ge¨ ndert. damit die Rechu a u nung korrekt. F¨ r (6) z¨ hlen wir erst einmal die Bedingungen auf.

3. daß ein verallgemeinertes Problem mindestens so schwer ist. Gebe Beispiele fur Restriktionen an! ¨ Das Prinzip der Restriktion ist. a 4. Wenn also zum Zeitpunkt i der Kopf an Position j im Zustand k ist und den Buchstaben ak liest. so steht zum Zeitpunkt i 1 an der selben Position der Buchstaben ab k l . Beispiele sind: p p Gebe Beispiele fur lokale Ersetzung an! ¨ Gebe Beispiele fur Transformation mit verbundenen Komponenten an! ¨ 2 3-SAT 2 3-SAT 2 DHC 2 SAT 2 HC 2 PAR 2 G KP KP BPP p p TSP p 3-SAT HC p p p CLIQUE DHC G 2 SAT SAT 14 £ 0£ ¦ ¢ £ X 0 X£ €¢ ¢  ¨ ¦ ¨ ¢  £ ¦ ¦ ¢ £ X£ 3¢ ¢ X  ¦ ¦ gg9 8    £ ¦ ¢  £ ¦ ¢ H i j Qik S i j l H i 1 j £ 3£ ¦ ¢ ¦ ¨ ¢  £ ¦ ¦ ¢  £ ¦ ¢  £ ¦ ¢ H i j Qik S i j l Qi 1ckl d kl £ 3¦ " f !  ¦ ¢ ¤ Fed£ ¦ £ 0£ ¦ ¢ ¦ ¦ ¢ ¨ ¢  £ ¦ ¦ ¢ ¨  £ ¦ ¢  £ ¦ ¢ % H i j Qik S i j l S i 1 j bkl £ ¦ ¢ £ X£ €¢ ¢ X £ ¦ ¢ "f ! £ ¦ ¢ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡         . daß die Indizes der Zust¨ n-de in u a Abh¨ ngigkeit vom gelesenen Buchstaben korrekt abgebildet werden. Wenn andererseits die Klauselmenge erf¨ llbar ist.und Klauselmenge sind also in polynomieller Zeit konstruierbar. Es gilt f¨ r d k l : k l u 1 0 1 . lokale Ersetzung und Transformation mit verbundenen Komponenten. Dabei entspricht keiner Kopfbewegung und 1 einer Rechtsbewegung. handelt es sich um eine korrekte u Rechnung. die w akzeptiert. Links vom Trennzeichen muß in diesem u Fall ein Ratestring einer akzeptierenden Berechnung eingesetzt werden. die den Index des Buchstaben in Abh¨ ngigkeit vom Zua stand auf einen neuen Buchstabenindex abbildet. Variablen. Wenn wir also ein Wort w L haben wird es in Zeit O p w akzeptiert. wie der in ihm enthaltene Spezialfall. 0 Wir haben die Variablenmenge mit O p w 2 Variablen beschrieben und die Klauselmenge mit O p w 3 Klauseln. Es gilt also: δ qk al ab k l . 1 einer Linksbewegung. Welche Arten der polynomiellen Reduktion gibt es? Restriktion. Eine korrekte Rechnung erf¨ llt jedoch auch die Klauselmenge. c k l ist hierbei eine Funktion die daf¨ r sorgt.2 NP-Vollst¨ ndigkeitstheorie a 2. b k l ist eine Abbildung.

In diesem a u Falle.2 NP-Vollst¨ ndigkeitstheorie a Zeige: 3-SAT p KP ! Wir haben also eine Eingabe f¨ r 3-SAT und m¨ ssen daf¨ r eine Eingabe f¨ r KP bauen. u a Im Falle der Erf¨ llbarkeit von 3-SAT muß in jeder Klausel mindestens ein Literal den u Wert 1 ergeben. wie es Literale gibt und jeweils soviele c j und d j -Objekte. die entweder negiert sind oder nicht. u a Die Objekte c j und d j sind wie schon gesagt F¨ llobjekte. steht bei ai nur an Position m i eine 1. wie oft die Variable xi in den m Klauseln vorkommt. k¨ nnten wir den Nutzen A nicht u o mehr erreichen. Betrachten wir nochmal A. Dann k¨ nnten wir jedoch auch uber die F¨ llobjekte die Stellen o ¨ u jeweils zu 4 erg¨ nzen. warum die Zahl genau so aufgebaut wurde: Die letzen n Stellen sorgen also daf¨ r.B. die u u u u genau dann eine L¨ sung hat. nur hat d j an der a j-ten Position eine 2.und d j -Objekte sind dabei nur Auff¨ llobjekte. wenn 3-SAT eine L¨ sung hat. steht an den letzten Positionen bei beiden Objekten u an der selben Stelle eine 1. nicht jedoch u beides. An der ersten m Stellen von ai steht dabei. Dabei besteht c j fast nur aus u Nullen. u ¨ o Wie sehen jetzt die einzelnen Objekte aus? Die ai . st¨ nde n¨ mlich an einer der ersten m Stellen der Summe (ohne die F¨ llobjekte) eine a a u 0. so steht eine 2 am Anfang von a3 . Die ersten Stellen sorgen daf¨ r. Kommt also z. Bei d j vel¨ uft alles analog. F¨ r ein Objekt ai in KP gilt. denn nur an Position j hat ci eine 1. ¨ Uber die ai . Mit anderen Worten: KP ist die Frage. Wir bauen uns 2n 2m Objekte: a Es gibt also jeweils soviele ai . o o c1 cm mit ci zi1 zi2 zi3 und zi j x1 x1 xn xn eine Eingabe f¨ r u Sei C 3-SAT. a 2 G Zeige: KP p PAR! 15 ¤ ¤ D kE D kF D D l F§D j i l E§D j i ¤ A 4 41 1 m n ¨ ¤ ¤ 2 2 2 2 ai bi cj dj 1 1 i j n m G ¨ D kE D kF D D l F§D j i l E§D j i ¤ A 4 41 1 m n ¤ G  ¤ ¦ DD ¦ FED ¦ ¦  t%  ¦ ¦  G ¤ G G £ DD ¦ FFD ¦ 2 ¨ ¢ h¤ G     . Die c j . wenn jede Klausel u mindestens ein Literal enth¨ lt. die h¨ chstens 3 verschiedene Literale enthalten. ob xi 1 oder x j 1 sein soll.und bi -Objekte haben m n Dezimalstellen.und bi -Objekte. wie es Klauseln gibt. daß entweder xi 1 oder xi 0 gilt. also muß in der Summe der ai und bi -Objekte an den ersten m Stellen mindestens eine 1 stehen. Im Falle. da bei A ja an der entsprechenden Position auch nur eine 1 steht. Bei den letzten n Stellen. daß wir beiden nehmen w¨ rden. bzw. daß wir den Nutzen A uberhaupt erreichen k¨ nnen. F¨ r bi l¨ uft das ganze Analog. u sie sorgen am Ende erst daf¨ r. Nun basteln wir uns unsere Objekte mit ihren dazugehorigen Nutzen f¨ r KP . Damit wir uns wirklich entscheiden m¨ ssen. Gleich wird auch klar werden. daß das Gewicht gi gleich dem Nutzen ai ist (ai gi ) und u daß der zu erreichende Nutzen A gleich der Gewichtsschranke G ist (A G). ebenfalls ¨ u in Abh¨ ngigkeit von den Literalen und Zahlen. Dies ist nicht der Fall. n Variablen. x3 in der ersten Klausel zweimal vor. so wird klar. dessen Wert sich zu 1 evaluiert. ob der Rucksack pickepackevoll gepackt werden kann. daß der Wert 4 nur erreichbar ist. wenn ein Literal nicht erf¨ llbar ist. Dabei gibt es o insgesamt 2n Literale. W¨ rden wir beiden nehmen. h¨ tten wir an der Position jedoch schon eine 2.und bi -Objekte entscheiden wir uns. nur bezieht sich hier alles auf xi . warum wir gerade diese Zahl nehmen. Wir setzen nun in Abh¨ ngigkeit von der Anzahl der Klauseln und Literalen den zu a erreichenden Nutzen A f¨ r KP fest: u A ist also eine Dezimalzahl. also m Klauseln. die aus m Vieren gefolgt von n Einsen besteht. die den Nutzen angeben.

also: i 1 Wenn KP eine L¨ sung hat. Die Objekte. gibt es also verschiedene ai 1 i n. denn es gilt: a o 16 ¨  Also m¨ ssen die beiden in verschiedenen Partitionen sein. Welchen Gesamtwert hat die u Eingabe? i 1 Also m¨ ssen die Summen der ausgew¨ hlten und nicht ausgew¨ hlten Objekte jeweils genau u a a S 1 ergeben. a o u G ¨ 4 ¨ ¤ ¨ ¨ ¨  S A 1 A 1 S 2 S 1 A ¨ ¤ ¨ ¨ ¨  ¨ ¤ n£ ¨ m£ ¢ ¨ ¨  f¨ ¢ ∑ ai — n S A 1 A 1 S S A 1 A 1 2 2 ¦ — ¤ S ∑ ai n 2S 2 £ ¦ DD ¦ FFD ¦ £ ¢ ¨ ¦ ¨  ¦ DD ¦ FFD ¦ ¢ G G G ¨ ¨ . die jedoch S u 1 zu S 1 erg¨ nzen haben genau den Wert A und bilden somit eine L¨ sung f¨ r KP . Betrachten wir nochmal die letzten beiden Objekte der PAR-Eingabe. dann f¨ llt auf. daß sie nicht in einer Partition sein k¨ nnen. daß wir KP l¨ sen k¨ nnen. Sei a1 o o o o an A eine Eingabe f¨ r KP . Betrachten wir nochmal die Eingabe f¨ r PAR. die sich zu A aufo summieren. u Dabei ist S die Summe aller ai . wenn wir PAR l¨ sen k¨ nnen. Daraus bauen wir die Eingabe a1 u an S A 1 A 1 f¨ r PAR.2 NP-Vollst¨ ndigkeitstheorie a Wir zeigen also.

Wir k¨ nnten also Pech haben und die Optimierung eines a o endlichen Automaten ist NP-vollst¨ ndig. wird uber die Menge seiner Zust¨ nde u ¨ a gemessen. da deren Betrachtung. das endliche Eingabealphabet 3. daß ein DFA in linearer Zeit bez¨ glich der Eingabel¨ nge arbeitet. Dabei kann die Eingabe nur einmal von links nach rechts gelesen werden. das endliche Ausgabealphabet Automaten dieser Art heißen auch Mealy-Automaten. also a durch: y qw mit y Ω q Q w Σ 3. a u daß sie NP-vollst¨ ndig sind. Es gilt also: δ δ q w1 wn wn £ ¦ ¦ ¦ ¦ S¤ ¢ C 7. die endliche Zustandsmenge 2. er also die minimal m¨ gliche Anzahl an Zust¨ nden hat. Je nach dem. m¨ chten wir gerne wissen. daß ¨ u 17 £ G ¦ £ ‡ % P ¦ DD FED % ¦G ¦ ¢ ¢ % P ¤ ¥£ δ q w1 wn DD EFD P P G ¦ ¢ 8 Weiter setzen wir δ auf Q Σ fort.1 Schaltwerke und endliche Automaten Dabei ist: 1. Ω. die Menge der akzeptierenden Zust¨ nde a DFA A 9 8 6. der Anfangszustand Σ Q £ ¦ ¦ ¦ ¦ ¦ ¦ `¤ ¢     Wie ist ein endlicher Automat definiert? Ein endlicher Automat A (DFA A) ist wie folgt definiert: DFA A Q Σ Ω q0 δ γ F . Es ist daher auch klar. wie auch bei der NP-Vollst¨ ndigkeit. ist die Minimierung endliu cher Automaten sogar ziemlich effizient durchfuhrbar. andert er seinen Zustand und macht eine Ausga¨ be. Man muß daf¨ r nur zeigen. q0 Q.2 Die Minimierung endlicher Automaten Die G¨ te eines DFA. a Wir haben jedoch Gl¨ ck. ob er o optimal ist. Ein Automat beginnt im Startzustand und liest dann sequentiell die Eingabe. Σ. F Q.3 Endliche Automaten 3 Endliche Automaten 3. denn wie sich herausstellen wird. Ω und γ fallen dabei weg. Q. gilt f¨ r viele Optimierungsvarianten. Wie wir schon bei o a der Theorie der NP-Vollst¨ ndigkeit gesehen haben. Also a ist ein DFA A in diesem Fall gegeben durch: 1 Wie kann eine Konfiguration fur einen DFA beschrieben werden? ¨ Eine Konfiguration l¨ ßt sich in der Form Ausgabe-Zustand-Resteingabe beschreiben. der eine Sprache L entscheidet. δ. u a Im folgenden werden jedoch nur noch Entscheidungsprobleme betrachtet. die Zustands¨ bergangsfunktion mit δ : Q u % 4. in welchem Zustand er sich befindet und welchen Buchstaben er liest. γ. reicht. Wenn wir nun einen DFA entworfen haben. die Ausgabefunktion mit γ : Q Σ Ω Q Σ q0 δ F 9 8 5.

3 Endliche Automaten der minimale Automat dieselbe Sprache entscheidet und daß er tats¨ chlich minimal ist. Wir betrachten das leere Wort ε u bez¨ glich und sehen. landet man wiea ¨ der in zwei aquivalenten Zust¨ nden. a a a Jetzt gilt es noch zu zeigen: ¨ Wenn man also in aquivalenten Zust¨ nden einen Buchstaben a liest. wenn es f¨ r das Akzeptanzverhalten des a ¨ u Automaten v¨ llig unerheblich ist. Wir interpretieren den Automaten also als einen Graphen mit der Knoten¨ ¨ menge Q und der Kantenmenge Σ. in welchem der beiden Zust¨ nde man startet. a sind uberflussig. Wenn ¨ wir f¨ r einen DFA A die Aquivalenzklassen kennen. den sogenannten Aquivalenzklassenautomaten. wenn sie die gleiche Sprache entscheiden. Zust¨ nde. k¨ nnen wir also einen zu A aquivalenten u o ¨ ¨ Automaten A konstruieren. ¨ a Wie entfernt man uberflussige Zust¨ nde? ¨ ¨ a ¨ Uberfl¨ ssige Zust¨ nde kann man finden. die dabei nicht erreicht werden. daß F und δ wohldefiniert sind. indem man in der Graphendarstellung des Autou a maten einen DFS (Depth-First-Search) macht. daß der Aquivalenzklassenautomat A auch dieselbe Sprache wie A entscheidet. ¨ Wie sieht ein Aquivalenzklassenautomat aus? ¨ Der Aquivalenzklassenautomat A zu einem gegebenen Automaten A sieht wie folgt aus: ¨ Um zu zeigen. ¨ ¨ a o ¨ Wann heißen zwei Zust¨ nde eines DFA aquivalent? a Zwei Zust¨ nde eines DFA heißen aquivalent. Jeder Zustand Q kann Σ viele Kanten haben. Oder o a anders gesagt: p q: w Σ :δ p w F δqw F ¨ ¨ a Mit p wird dabei die Aquivalenzklasse der zu p aquivalenten Zust¨ nde bezeichnet. ¨ ¨ a 2. Zusammenfassen aquivalenter Zust¨ nde. Dies zeigen wir wie folgt: a a Σ w Σ : δ p aw F δ pa δ q a f¨ r a Σ u 18 % q£ % £ ¦ ¢ ¥£ ¦ ¢ o ¦ ¢ r s£ ¦ ¢ G % ¦ % % ƒ % q£ ¦ ¢ r q£ ¦ ¢ G % % t t t o p q w Σ :δ p w F δqw % £ ¦ ¢ o ¥£ ¦ ¢ t o p q δ pa δ q a f¨ r a u Σ F δ q aw £ p% ¦ ¢  £  % eq g`P X p  ¤ qs£ ¦ ¢ y©£ sq 0SP p ¤ ¦ p¢ ¤ q S¤ P p ¤ rP  % eq g`¤ P X p  £ ¦ EP QP ¦ P QP QP yrP ¦ ¦ ¢ ¤ Q Σ q Σ q0 δ q a F q A Q q0 δ F q Q Σ q0 δqa q F % q£ ¦ ¢ X X % ¦ ¢ r P £P ¢ X X X£ ˆ€X €¢ % q£ ¦ ¢ ¤ ¥£ ¢ G P P % P o P ƒ ƒ o P P o q p           F . daher ist die Entfernung uberflussiger Zust¨ nde in O Q Σ m¨ glich. In diesem Falle gibt es dann n¨ mlich akzeptierende Zust¨ nde und nicht akzeptierende Zust¨ nde. wenn p q F u p q F . Entfernung uberflussiger Zust¨ nde. wenn ¨ also gilt: LA LA Wie minimiert man einen endlichen Automaten? Ein endlicher Automat wird in zwei Schritten minimiert: 1. daß p q nur gilt. a Wann heißen zwei DFAs A und A gleich? Zwei DFAs A und A heißen aquivalent. m¨ ssen wir zeigen.

daß zwei W¨ rter x y Σ f¨ r einen DFA A genau o u dann gleich sind. so ist auch aw ein Zeuge f¨ r die Nicht¨ quivalenz von p und q. Der Automat durchl¨ uft dementsprechend die Zustandsfolge q0 q1 a qn und akzeptiert. deren minimaler Zeuge die L¨ nge 2 hat. die also einen minimalen Zeugen der L¨ nge 1 haben. Jetzt muß man noch zeigen. Kurzere u a ¨ Zeugen k¨ nnen also als Teilstuck fur l¨ ngere Zeugen benutzt werden. Allerdings haben wir endlich viele Zust¨ nde und k¨ nnen daher so schlau sein. u ¨ Gebe zwei Beispiele fur rechtsinvariante Aquivalenzrelationen an! ¨ 1. F¨ r ein u w Σ durchl¨ uft der Automat A die Zustandsfolge q0 q1 a qn und akzeptiert w. deren Nicht¨ quivalenz durch Zeugen der L¨ nge a a a 1 bezeugt wird.3 Endliche Automaten Dies bedeutet: Wenn zwei Zust¨ nde aquivalent sind. daß man Paare mit Zeugen der L¨ nge a 0 (ε) sehr schnell findet. Wie berechnet man einen minimalen DFA? ¨ Das Problem bei der Berechnung der Aquivalenzklassen des DFA ist. daß auch δ p a und δ q a gleich sind. Und Paare. wenn qn F gilt. wenn qn F ist. Dann ist es jedoch so. δ q a ausf¨ hren kann und diese sich beim Lesen von w immer noch u gleich verhalten. ¨ Wann heißt eine Aquivalenzrelation R auf Σ rechtsinvariant? ¨ Eine Aquivalenzrelation R auf Σ heißt rechtsinvariant. daß A die gleiche Sprache entscheidet wie A. Daraus folgt dann. Also verhalten sich die beiden Zust¨ nde o a auch bez¨ glich des Wortes aw mit a Σ und w Σ gleich. Also kann man o ¨ ¨ a die Suche abbrechen. denn es gilt: 19 £ ¦ ¢ ¤ R£ ¦ ¢ G % t R£ ¦ ¢ ¤ ¥£ ¦ δ q0 x δ q0 y z Σ : δ q0 xz G % ¦ G ƒ % t xRy z Σ : xzRyz δ q0 yz £ % w£ ¦ ¢ ‚ p% x£ ¦ ¢ ¢  £ £ ¦ ¢ G p% x£ ¦ ¢ ƒ ‚ P £ ¦ ¢ % s£ ¦ ¢ ¢ G G PP G % P ¢ £ ¢ £ ¦ £ ¦ ¢ ¤ % ¢ v wr ¤ ¥£ ¦ G  PP % £ ¦ ¢ po p q w Σ : δ pw F δqw F δ pw F δqw % P uq p q 3¦ EFD sq 3sq p p DD ¦ p ¦ DD ¦ EFD ¦ % ¦ £ ¦ ¢ G G % % P £ ¦ ¢ % P £ ¦ ¢ % q p £ ¦ ¢ ¢ G % %         F . f¨ hren nach dem Lesen a u eines Buchstaben wiederum in Zust¨ nde. wenn man ab einer bestimmten L¨ nge keine neuen Zeugen mehr a findet. usw. daß sie bez¨ glich a ¨ u aller W¨ rter das gleiche Akzeptanzverhalten haben. man jedoch nicht alle w Σ ausprobieren kann. f¨ r welches man einmal in einen akzeptierenden Zustand kommt u und einmal nicht. Dann ist w logischerweise ein Zeuge f¨ r die Nicht¨ quivalenz u a von δ p a und δ q a . a a Wie kann die Nicht¨ quivalenz zweier Zust¨ nde bewiesen werden? Man sucht sich eina a fach einen Zeugen daf¨ r: u Es gibt also ein Wort w. Die Relation RA . dann folgt daraus. wenn gilt: ¨ Der Index von R (ind R ) ist die Zahl der Aquivalenzklassen bez¨ glich R. Wenn δ p a und δ q a jedoch noch einen k¨ rzeren Zeugen u w Σ haben. daß man u auch erst δ p a bzw. also in Zust¨ nde. wenn sie vom Startzustand aus zum selben Zustand f¨ hren. wenn qn F ist. die besagt. deren Nicht¨ quivalenz mit ε beu a a zeugt wird. daß in der Definition ein Allquantor steht. Es gelte w aw . Zeige. daß Zeugen fur die Nicht¨ quivalenz zweier Zust¨ nde nicht beliebig lang ¨ a a werden k¨ nnen! o Angenommen ein Wort w Σ ist ein k¨ rzester Zeuge f¨ r die Nicht¨ quivalenz der Zust¨ nde u u a a p und q. a f¨ hren nach dem Lesen dieses Zeugen. Diese Aquivalenzrelation ist auch rechtsinvariant. Der folgende Algorithmus macht sich zunutze. da die Menge infinit ist. Paare. also u ¨ δ q0 x δ q0 y . Nach Definition ist qn F genau dann. anstatt a o ¨ der Aquivalenz zweier Zust¨ nde deren Nicht¨ quivalenz zu beweisen. also entweder beide in einen akzeptierenden Zustand f¨ hren oder beide u nicht.

Die Zustands¨ bergangsfunktion definieren wir a u als δ w a wa . daß die Verl¨ ngerungen a a ¨ aller W¨ rter innerhalb einer Aquivalenzklasse gleich entschieden werden. wenn f¨ r alle z Σ gilt. Also geh¨ rt eine Aquivalenzklasse entweder komplett zu L oder o nicht. also die Aquivalenzklasse. Die Rechtsinvarianz wird o gezeigt durch: xzRL yz Wie lautet der Satz von Nerode? Der Satz von Nerode besagt. Denn alle Aquivalenzklassen von von R darstellt und damit ind RL ¨ R liegen vollst¨ ndig in einer Aquivalenzklasse von RL . Mit der o Verl¨ ngerung z ε ist daher die Menge der akzeptierenden Zust¨ nde wohldefiniert. daß xRL y gilt: xRy xRL y : t Beweise den Satz von Nerode! Wir zeigen zuerst 1 2. L ist die Vereinigung von einigen Aquivalenzklassen einer rechtsinvarianten Aquivalenzrelation mit endlichem Index.3 Endliche Automaten 2. Also ist L die Vereinigung aller ¨ Aquivalenzklassen aus RA bez¨ glich akzeptierender Endzust¨ nde. u a ¨ 3 : Wir zeigen. bei der zwei W¨ rter in o ¨ einer Aquivalenzklasse lagen. Aus der Defintion von RL geht hervor. Der Startzustand des Automaten ist q0 ε . denn es gilt ja nach Definition von RL : 20 q z¤ p % q p q ¤ p ¤ ¦ p zR£ {q 0¢ t 3 ¨ 1 : Wir geben einen DFA f¨ r L an. Oder anders gesagt: Die Aquivalenzklassen von RL sind Vereinigungen von ¨ ¨ Aquivalenzklassen einer rechtsinvarianten Aquivalenzrelation R. L als Vereinigung von ¨ ¨ einigen Aquivalenzklassen einer Aquivalenzrelation mit endlichem Index dargestellt werden kann. Daraus folgt nun f¨ r xzRyz: xz L u yz L. auch RL einen endlichen Index hat. daß wenn es eine rechtsinvariante Aquivalenzrelation R mit endlichem ∞ gibt. Das heißt. die besagt. f¨ r die der DFA vom Startzuu a o u stand aus in einen akzeptierenden Zustand gelangt. wie wir gleich zeigen wera ¨ den. ¨ Wir betrachten die oben definierte Aquivalenzrelation RA . Die Nerode-Relation RL . daß xz und yz entweder beide zu u einem akzeptierenden Zustand geh¨ ren oder beide nicht. daß xRy impliziert. L besteht aus der Ver¨ ¨ einigung einiger Aquivalenzklassen einer rechtsinvarianten Aquivalenzrela-tion mit ¨ endlichem Index. Die Zust¨ nde sind dabei die verschiedenen Aquivalenzklassen u a ¨ von RL . daß f¨ r eine Sprache L Σ zwei W¨ rter x y o u Σ genau dann gleich sind. Die Nerode-Relation RL hat einen endlichen Index. 3. Sie ist ebenfalls wohldefinert. die das leere Wort enth¨ lt. yz L £ % £ % r r % % ¢ G % ¦ ƒ ¢ G % t t t xRL y w Σ : xw L yw L z w Σ : xzw L yzw L % ¦ G C G % ƒ G     . Gelte also xRy. L Σ wird von einem DFA akzeptiert. Da R rechtsinvariant ist gilt auch xzRyz. Die Sprache L enth¨ lt alle W¨ rter. wenn sie vom Startzustand aus in den gleichen Zustand f¨ hren. a a Es sind die Zust¨ nde w mit w L. 1. dann 2 3 und zuletzt 3 t t G C 1. was aus der Rechtsinvarianz von % r % G % t xRL y z Σ : xz L % £ ¢ r % 2 y£ ƒ ¢ t £ ) @£ ¢ ¢ t 2 t 1 2 : Wir zeigen also. daß wenn L von einem DFA akzeptiert wird. daß die drei folgenden Aussagen aquivalent sind: ¨ ¨ ¨ 2. da RL eine Vergr¨ berung Index ind R o ¨ ind R gilt. Dann gilt jedoch auch xRL y.

der zum akzeptierenden Zustand q geh¨ rt eindeutig definiert. muß er mindestens einen Zustand q zweimal erreicht. wie RL Aquivalenzklassen. wie der nicht minimierte Automat. Mit anderen Worten. daß u aquivalente Zust¨ nde beim Lesen eines Wortes in aquivalenten Zust¨ nden landen und wir ¨ a ¨ a die Sprache daher nicht verf¨ lschen“. Aus diesen Aquivalenzklassen konnten wir einen Automaten bauen. Aus den so o ¨ entstandenen Aquivalenzklassen konnte man dann einen Automaten entwerfen. Kann man also zeigen. daß das Entfernen uberflussiger Zust¨ nde und das Zusammenfassen von ¨ ¨ a ¨ aquivalenten Zust¨ nde ausreicht. der ebenfalls die Sprache L entscheidet und minimal ist. da sich nach den ersten N Buchstaben ein Zustand wiederholen muß. Denn wir starten in q0 und durchlaufen dann noch N weitere Zust¨ nde. 21 2 ‰£ ¢ 5 uX X ) ‰£ ) }£ ¢ 2 $X X X d¤ X ¢ P ¤ % q p w wird also akzeptiert. Das heißt. also wiederholt sich ein Zustand. Es gilt auch uv N. nach dessen Lesen man zum ersten Mal diesen Zustand q erreicht. so ist die Sprache L nicht regul¨ r. Die Nerode-Relation RL wiederum hat geo ¨ zeigt. a ¨ Jedoch haben wir mit der Aquivalenzrelation RA gesehen. Der Grund daf¨ r ist. Und uv sei a der Pr¨ fix von z. so daß f¨ r alle z L mit z N eine Zerlegung z uvw mit uv u N und v N existiert. Dann gibt es eine Konstante N. daß der Index der Nerode-Relation RL dann ebenfalls endlich ist. die von einem DFA akzeptiert wird. in der graphischen Darstellung von A wird ein Kreis durchlaufen. so daß f¨ r alle i 0 auch uvi w L gilt. Das Pumping Lemma ist nur ein notwendiges Kriterium um die Regularit¨ t von Sprachen zu beweisen. daß eine Sprache L das Pumping u Lemma nicht erf¨ llt.3 Das Pumping Lemma fur endliche Automaten ¨ Was ist das Pumping Lemma? Der Satz von Nerode ist ein notwendiges und hinreichendes Kriterium um die Existenz eines DFA f¨ r eine Sprache L zu beweisen. q yq p ¤ p ¤ ¦ p yw£ sq 3¢ ¤ w£ ¦ δ q0 w q P Seq p ¤ P ¢ p % q p ¤ |P huq p 5 2 P δ ε w εw w ¨ % 5 5 £ ¢         . Damit folgt schließlich: auch waRL w a und damit wa Zeige. da RL eine Ver¨ gr¨ berung von RA darstellt. daß jede regul¨ re Sprache das a a Pumping Lemma erf¨ llen muß. um einen Automaten zu minimieren! a ¨ Wir haben gesehen. Danach haben wir Aquivalenzrelation RA gibt. a 3. weil mehrere Aquivalenzklassen o o ¨ bez¨ glich RA in einer Aquivalenzklasse von RL liegen k¨ nnen. Wir haben n¨ mlich gezeigt. es eine a ¨ ∞. wenn w F gilt. Wenn der Automat nun ein Wort z mit z N liest. also wRL w . daß wenn L von einem DFA akzeptiert wurde. Eine Vergr¨ berung deshalb. nach dessen Lesen man den Zustand q zum zweiten Mal erreicht. daß der Automat tats¨ chlich minimal ist. Dies a a ” ist jedoch noch kein Beweis. Deshalb galt: ind RL u o ¨ ind RA . Das Kriterium ind RL u ∞ ist jedoch nicht immer leicht zu beweisen. u a Wie lautet das Pumping Lemma? Sei L eine Sprache. der dieselbe ¨ Sprache entschieden hat und so viele Zust¨ nde hatte. u Beweise das Pumping Lemma! Sei A der DFA der L akzeptiert. daß die Aquivalenzklassen von W¨ rtern. Dies sind jea doch insgesamt N 1 und wir haben nur N verschiedene. Nun sei u der Pr¨ fix von z. Dann w¨ hlen wir N a Q . Dann gilt wegen der Rechtsinvarianz von RL w a . indem wir diese Zust¨ nde zusammenfassen. Dann a o ist der Suffix w.3 Endliche Automaten RL folgt: Sei w w . deren Index endlich ist: ind RA gezeigt. deren Verl¨ ngerungen gleich entschieden o a ¨ werden. daß Zust¨ nde auch durch das a gelesene Wort charakterisiert werden k¨ nnen. in einer Aquivalenzklasse von RL zusammengefaßt werden k¨ nnen. daß der Aquivalenzklassenautomat wohldefiniert ist und er dieselbe Sprache entscheidet.

f¨ r die es a u ein q a q in der Zustands¨ berfuhrungsrelation gibt. da nicht erzwungen werden kann. Pumpt unser a 2 Gegner ab. so w¨ hlen wir u ε v 0 w 1k .B. nur ist hier die Zustands¨ berfuhrungsfunktion durch eine Relation Q Σ Q ersetzt. also als eine Abbila dung δ : Q Σ Q: qa q 22 … Q „" f f ! qaq δ ¤ X X P  £ ¤ ¤ 5 ¦ ¤ ¦ £ 5 8 ¤ P 8 % ¢ ƒ ¤ ¢  £ ¤ ©£ ¦ ¢ 5 ¤ €X d¤ ¢  L z z 1k mit k 0 z 0 j 1k mit j 2 1 und k 0 5 'X X £ % ¨ y¤ ¢ % eP ¨ ¤ $X X ¨ ) 5 ¨ 2 X 'X ¨ 5 uX X ) N2 N2 V N2 p% … … ~ ¤ 8 £ (‚9 ¢   P 5 X 2 X $X d2 ¤ ¤ £ €P ¦ ¦ ¢ 8  `¤ L 0k k 2 1 : 2 N N2 2N 1 N 1 2 p%  ¤ $u ¦ &% XG   `¤ L w 01 w wR : % P ¤ ¥£ ¦ ¢ ¤ ¥£ ¦ ¢ ¤ ¥£ δ q0 uvi w δ q vi w X X 5 δqw q F ¦ ¢ ¡ ¡         . 2 2 a W¨ hlt unser Gegner z. Das allgemeine Pumping Lemma lautet: Sei L eine Sprache. wo gepumpt wird bzw. wechselt der Automat in alle Zust¨ nde q . da 1k L gilt.3 Endliche Automaten Außerdem gilt auf jeden Fall v 1. kann man vom Zustand q aus v beliebig oft lesen. welches die kritische Stelle in der Sprache ist. Wir w¨ hlen das Wort 0N 1N 0N . Man kann diese Relation auch als u ¨ eine Abbildung von Q Σ in die Potenzmenge der Zust¨ nde sehen. Es gilt a 2 N. Jetzt a k¨ nnen wir nur im Block der Nullen pumpen und es gilt f¨ r jede Zerlegung uv2 w L. Gebe Beispiele fur das Pumping Lemma! ¨ Sei N die Konstante aus dem Pumping Lemma. Wir w¨ hlen das Wort 0N . v ist n¨ mlich genau dann 1 lang. f¨ r die zum Nachweis ihrer Nichtregularit¨ t das normale“ Pumping u a ” Lemma nicht ausreicht. so daß f¨ r jedes Wort z L mit z u N eine Zerlegung z tyt existiert. u Gebe eine nichtregul¨ re Sprache an. das Wort 01k . Sei nun uvi w das Eingabewort. fur die man das verallgemeinerte Pumping a ¨ Lemma benutzen muß! Mit dem normalen Pumping Lemma w¨ hlen wir stets die Zerlegung u ε und v a 1. das Wort bleibt in der Sprache. so bleiben wir in der Sprache. Wenn der Automat u ¨ im Zustand q den Buchstaben a liest. Dann gilt: Oder ganz einfach gesagt: Weil der Automat sich nicht merkt. so daß folgendes gilt: y N und es existiert eine Zerlegung von y mit y uvw mit v 1 und f¨ r alle i 0 gilt tuvi wt L. Sonst pumpen wir die Anzahl der Nullen beliebig auf. Wir m¨ ssen also mit dem Pumping u Lemma erzwingen. 3. wenn der Zustand a der sich wiederholt eine Schlaufe hat und das Wort z die Schlaufe benutzt. da man danach eh wieder im Zustand q ist. was er schon vorher gelesen hat. Dann gibt es eine Konstante N. o u Sei N die Konstante aus dem Pumping Lemma. die von einem DFA akzeptiert wird. F¨ r i 2 ist dann 0N V L wegen: u 1 V Was ist das verallgemeinerte Pumping Lemma und wie lautet es? Es gibt Sprachen.4 Nichtdeterministische endliche Automaten Was ist ein nichtdeterministischer Automat? Ein nichtdeterministischer Automat (NFA) ist definiert wie ein DFA. daß wir in den Einsen pumpen.

” Gebe einen NFA fur die Sprache Ln an. w¨ hrend yi 0i 1 L gilt. Wieviele W¨ rter a o n w der L¨ nge n gibt es jedoch? Genau 2 . . £ u  e¦ ¦ ¦  ¦ eg ¦ DD ¦ FED ¦ ¢ ey¤ NFA q0 qn 0 1 q0 δ qn  ¦  G % DD FFD ¤ £ ¦P ¢ „" f … „ ! ƒ ¤ R£ ¦ ¢ δqw δq a 5 rX X % G % P P G % ¤ DD FED p¤ i £ ¦  Sq£ ¦ ¢  ¤ ¤ ¢ G 8 ¤ ‡ ¤           .B. der Menge aller W¨ rter uber 0 1 . wie oben vereinbart in einen a Zustand. sind alle x y mit x y nicht a u ¨ Nerode-¨ quivalent und jedes Wort bildet seine eigene Aquivalenzklasse. . . Da dies jedoch f¨ r beliebige x y gilt. Das u o a a heißt. bei ¨ o ¨ denen der n-letzte Buchstabe eine 1 ist. jedoch kann man sich vorstellen. F¨ r W¨ rter. Dann gilt jedoch xi 0i 1 L. wann das u a o a Restwort nur noch n lang ist. r¨ t er das Restwort zu lang. w¨ hrend das Wort a o a 23 p¤ ¤ ¦ p¤  5 q£ ¤  % ¢ ‡ 2 ¦ 2 p% ‡ ¨ p¤   ¦ B% ¦  ¦ ¤  δ q0 q1 . kann der Zustand qn nicht mehr a erreicht werden. Unser NFA kommt also mit n 1 Zust¨ nden aus. die beim a gilt. Wenn wir i 1 3 1 2 Nullen an o das Wort 1001 h¨ ngen. von dem aus man qn nicht mehr erreichen kann. Wie viele Zust¨ nde hat ein entsprea a chender DFA? Zeige. nicht den akzeptierenden u o u Endzustand qn erreichen. wie der NFA f¨ r das String Matching Problem: ¨ u Dabei sieht δ wie folgt aus: qn 1 qn qn - qn - Zwar ist jetzt bei qn nichts angegeben. Also folgt daraus: ind RLn a 2n . daß es NFAs gibt. . was f¨ r das leere Wort gilt und was f¨ r W¨ rter w mit w u u u o 2 q . 1 q0 q1 q2 .3 Endliche Automaten Wie wird δ auf Q Σ fortgesetzt? Dazu m¨ ssen wir angeben. Gebe einen NFA fur das String Matching Problem an! ¨ Wir suchen einen String s s1 sk Σ in einem Muster m m1 mn Σ .d. wo der String beginnt und sieht u o aus wie auf Abbildung 4. f¨ r alle x y u 0 1 n mit x y gilt. R¨ t er das Restwort zu kurz. F¨ r ε gilt δ q ε u Lesen von ε ihren Zustand andern k¨ nnen. Wie man sieht. u o wenn der erste Buchstabe eine 1 ist und f¨ r l¨ ngere W¨ rter r¨ t der Automat. wenn er nach dem Lesen von w in einem akzeptierenden / Zustand sein kann: δ q0 w F 0. von dem aus man keinen akzeptierenden Zustand mehr erreichen a kann. daß alle W¨ rter der L¨ nge n nicht Nerode-¨ quivalent sind. die genau n lang sind. Wie sieht ein NFA f¨ r dieses Problem aus? Der NFA muß raten k¨ nnen.1 im Buch Theoretische Informatik“ von Ingo Wegener. . sei xi 0 und yi 1. diese Automaten jedoch nicht m¨ chtiger sind ¨ o a als normale“ NFAs. daß es ein 1 i n gibt mit xi yi . Wir werden sp¨ ter noch sehen. kann man qn nur erreichen. daß man von qn in einen Zustand ger¨ t. Der NFA sieht ahnlich aus. kann man f¨ r W¨ rter. F¨ r W¨ rter w w a mit w Σ und a Σ gelte: u o ” q qw Wann akzeptiert ein NFA ein Wort? Ein NFA akzeptiert ein Wort w. O.A. .4. daß jeder DFA fur Ln mindestens 2n Zust¨ nde ben¨ tigt! ¨ a o Dazu m¨ ssen wir zeigen. Also sind x und y a nicht Nerode-¨ quivalent. die k¨ rzer als n sind. dann geh¨ rt das Wort 100100 nicht zur Sprache. Als Beispiel betrachten wir f¨ r die Sprache L4 die beiden W¨ rter 1001 und 1011: Bis u o auf die dritte Stelle i 3 sind die W¨ rter identisch. kommen wir. 0 q0 q2 .

d. daß wir die Zustands¨ bergangsrelation als eine Abbildung u von Q Σ in die Potenzmenge Q interpretieren k¨ nnen. Hierzu muß man zeigen. d. Dieser Schritt ist eigentlich logisch. daß die Zust¨ nde a durch Mengen dargestellt sind. reicht es zu zeigen. Der neue Startzustand q0 ist q0 . Was ist das Problem bei der Potenzmengenkonstruktion? Bei der Potenzmengenkonstruktion stellt sich das Problem. man geht davon aus. wann die Eingabe zu Ende ist. a Man zeigt.3 Endliche Automaten 101100 zur Sprache geh¨ rt. da wir ja schon bei der Definition von NFAs gesagt haben.h. a a den man noch effizient minimieren kann. welches nur den Startzustand enth¨ lt. daß nichts Falsches folgt. wenn man davon ausgeht. Der NFA A sei gegeben durch: o Dann sieht der DFA A wie folgt aus: Dabei ist Q Q und damit gilt Q 2 Q . daß A die gleiche Sprache wie A entscheidet. Die W¨ rter sind also nicht Nerode-¨ quivalent. daß a auch die Menge der Zust¨ nde gleich bleibt. die mindestens einen akzeptierenden / Endzustand bez¨ glich Q enthalten. daß also die Menge der Zust¨ nde nach dem Lesen von w bei beiden Automaten gleich ist. Die Menge der akzeptierenden Endzust¨ nde a a F ist die Menge der Elemente in der Potenzmenge. Es ist hier schon anzumerken. Dies wird per Induktion uber die L¨ nge von w gemacht. wenn man einen weiteren Buchstaben liest. da er ja nicht weiß. daß der DFA sich vom bisher gelesenen String immer die letzten n Buchstaben merken muß. Man kann also o o a zwei beliebige ungleiche W¨ rter als nicht Nerode-¨ quivalent nachweisen. wenn er genau in den Zust¨ nden aus q sein kann.h. un¨ ser DFA merkt sich uber die Potenzmenge in welchen Zust¨ nden der NFA nach dem Lesen ¨ a eines Wortes sein kann. a Um zu zeigen. Und daf¨ r brauch man 2n Zust¨ nde.h. Fazit: Zu jeden NFA mit n Zust¨ nden gibt es einen entsprechenden DFA mit 2n Zust¨ nden. Das Eingabealphabet bleibt gleich. Und f¨ r die Zuu stands¨ berfuhrungsfunktion δ gilt schließlich: u ¨ q q δ q a ist also die Menge der Zust¨ nde. Daß dieser worst-case auch tats¨ chlich eintreten kann a a zeigt die oben besprochene Sprache Ln . daß δ q0 w δ q0 w gilt. daß die Induktionsvorraussetzung richtig ist. das heißt F u q Q q F 0 . Wenn der NFA hunderte oder gar tausende 24 £ ¦ ¢ ¤ ©£ ¦ ¢ „" f ! … ƒ £ FP ¦ ¤ ¦ R£ £ P ¦ ¢ ¤ £ xŠP ¦ P ˆP ¢ £ §ŠP ¦ ¢ {P ¦£ ¢ ¢ ¢P ¤ ¦ ¥£ §£ P ¦ P ¢ P ¢ P P ¤ ¦£ ¥£ FP ¦ P ˆP ˆP ¢ ¢ ¤ ¤ ¥£ ¦ P ¢ P 5 uX X F¨ r W¨ rter w u o 2 mit w wa w a Σ a Σ gilt: a δ δ q0 w £ ¦ £ ¦ ¢ ¢ ¤ x „ … ¤ ƒ ©£ ¦ P ¢ P δ q a δqa δqa  p¤ i P ‡P X %  ¤ P SP   ¤X … … '‡P X £ P ¦ P ¦ P ¦ P ¦ P y¤ P ¢ A Q Σ q0 δ F £ ¦ ¦ ¦ ¦ y¤ ¢ A Q Σ q0 δ F P % ‰G eP ¦ P ¦ %  `¤ P R£ ¦ P ¢ P ¤ P £ † ¢ P P P P £ (dP ¢  ¤ £ ¦ ¢ ¤ ¥£ ¦ P ˆP ¢ £ QP ˆP ¦ ¢ 8 P £ ( ¢ ¤ P     δ q0 w . u a K¨ nnen NFAs mehr als DFAs? o Nein. die der NFA nach dem Lesen von a erreichen a kann. d. Daraus folgt dann. also Σ Σ. F¨ r das ¨ a u leere Wort ε gilt: δ q0 ε q0 q0 δ q0 w δ q0 w δ δ q0 w q δ q0 w An der Stelle δ δ q0 w a δ δ q0 w a geht dabei die Induktionsvorraussetzung ein. Wir konstruieren den DFA uber die sogenannte Potenzmengenkonstruktion. daß δ q0 w δ q0 w ist. daß es f¨ r jeden NFA A einen DFA A gibt. o a Man kann dies auch so interpretieren. daß die Zustandsmenge des entsprechenden DFA sehr groß werden kann. der Startzustand ist das Element der Potenzmenge Q . der im worstu case exponentiell mehr Zust¨ nde hat.

¨ Was ist ein NFA mit ε-Uberg¨ ngen? a ¨ Ein NFA mit ε-Uberg¨ ngen kann seinen Zustand andern. Solange Q nicht leer ist. ob ein nicht akzeptierender Zustand erreicht werden kann. ob ein akzeptierender Zustand erreicht werden kann. Zuvor entfernen wir uberflussige Zust¨ nde. Uberfl¨ ssige. Gilt B 0. daß es zu jedem NFAε mit n Zust¨ nden einen aquivalenten a ¨ ¨ NFA ohne ε-Uberg¨ nge gibt. wenn der Graph des DFA keine Kreise enth¨ lt? a Weil dann ein Wort nur uber kreisfreie Wege deren L¨ nge durch Q beschr¨ nkt ist. weil nicht erreichbare Zust¨ nde. Wie wir schon wissen gibt es zwei Dinge. so kann der NFA. wenn es in ¨ ¨ a der Graphendarstellung des Automaten mindestens einen Kreis gibt. Da ein Graph jedoch exponentiell viele Kreise enthalten kann. der die Kanten disjunkt in Tree-. wenn wir einen 2-3-Baum benutzen. F¨ r jedes solcher δ q a wird uberpruft. Mit einem DFS vom Startzustand aus wird im als Graphen gegebenen Automaten getestet. Dies a wird mit Hilfe eines DFS gemacht.B. wenn er im Zustand q ist spontan“ in den Zustand q δqε ” wechseln. entnehmen wir das erste Element q und bestimmen f¨ r jedes a Σ die u Menge der Zust¨ nde. ¨ Die Dictionary-Laufzeit ist. kann man aus praktischer Sicht keinen minimalen DFA daf¨ r entwerfen. Also ist L endlich. Wir a a berechnen also δ q a . Ist er Zustand noch nicht vorhanden. a u da ein DFA zwischenzeitlich 21000 10301 Zust¨ nde h¨ tte. a ¨ q . Die Sprache ist unendlich. a a 3. Gegen welche Operationen sind regul¨ re Sprachen abgeschlossen? a 25 X X ¤ ŒX X Unendlichkeitstest: (Ob f¨ r die erkannte Sprache L u G ¤ Vollst¨ ndigkeitstest: (Ob die erkannte Sprache L a ¤ Leerheitstest: (Ob die erkannte Sprache L / 0 ist) Σ ist) ∞ gilt) P X X£ 3¢ % P G  P £ QP ˆP ¦ ¢  z¤ P p¤ ‹ £ vP ˆP ¦ ¢ £ … … G P ¢ ¤ x£ ¦ ¢ ¡ ¡ ¡ G G         . wenn der NFA 1000 Zust¨ nde a a a hat. in jedem Fall O Q . Gilt z. Aquivalente Zust¨ nde. werden die Kanten des Graphen umgedreht und von akzeptierenden Zust¨ nden aus nach Kreisen gesucht.3 Endliche Automaten von Zust¨ nden hat. da h¨ chstens 2 Q Zust¨ nde eingefugt werden k¨ nnen und 2-3-B¨ ume eine worst-case Laufo a ¨ o a zeit von O log2 n haben. Es ist anzumerken. da es nur endlich viele solcher Wege gibt. wird er in D und Q eingefugt. ob wir diesen Zustand u ¨ ¨ schon erzeugt haben. als er eigentlich sein m¨ ßte: u ¨ 1. die beim Lesen von a in den Zust¨ nden in q erreichbar sind. indem wir ihn in D suchen. a Gegen die Erzeugung aquivalenter Zust¨ nde gibt es noch keinen effektiven Algorithmus. ¨ a wohl aber gegen die Erzeugung uberflussiger Zust¨ nde. der ebenfalls mit n Zust¨ nden auskommt. Forward/ und Cross-Kanten einteilt. Warum ist eine Sprache L endlich. erkannt ¨ a a werden soll. Zu Beginn wird q0 q0 in die Q und D gepackt. ohne etwas zu lesen.5 Effiziente Algorithmen fur endliche Automaten ¨ Welche Aussagen uber Sprachen kann man in effizienter Zeit entscheiden? ¨ Mit einem DFS vom Startzustand aus wird im als Graphen gegebenen Automaten getestet. so enth¨ lt der Graph Kreise und die erkannte a Sprache ist damit unendlich. die einen DFA unter Umst¨ nden gr¨ ßer a o machen. u a ¨ 2. Back-. Dazu benutzt man eine Queue ¨ ¨ a Q und ein Dictionary D.

oder die Regel von de Morgan anwenden. . F ist die Menge aller q1 q2 f¨ r die gilt: q1 F1 oder q2 a u F2 . Bei der obigen Konstruktion muß man nur die Menge der akzeptierenden Zust¨ nde setzen als q1 q2 mit q1 F1 und q2 a F2 . q0 ist das Paar von Anfangszust¨ nden von A1 und A2 . Oder man nutzt mit Hilfe des Satzes von de Morgan die Abgeschlossenheit gegen Komplement und Vereinigung aus: 26 Ž h  ¤ L1 L2 L1 L2 % % £ £ 0£ ¦ ¦ ¢ ¢ £ ¦ ¦ ¢ S¥£ §£ ¢ ¤ ¦ δ q1 q2 a δ q1 a δ q2 a % %  £ ¦ 8 ¢ ¤ i ¦ ¢ 3¢ ¡ ¡ ¡ Komplementbildung: o Die Menge F der akzeptierenden Zust¨ nde wird gegen Q F ausgetauscht. W¨ rter a die vorher nicht akzeptiert wurden. F¨ r die Zustandubergangsfunktion gilt: u ¨ Durchschnitt: Hier kann man entweder ein ahnliche Konstruktion wie f¨ r den Durchschnitt benut¨ u zen. werden jetzt akzeptiert und umgekehrt.3 Endliche Automaten Vereinigung: Wir bilden den Produktautomaten mit Q Q1 Q2 .

f¨ r die u . a G 0£ h ¢ P. Beispiel: Grammatik f¨ r die NP-vollst¨ ndige Sprache aller Graphen G u a V eine 2 -elementige Clique haben. Daher werden diese Grammatiken auch monotone Grammatiken genannt. wenn sich das Wort z mit endlich vielen Produktionen aus dem Wort w ableiten l¨ ßt. Oder aber S ε. Bei kontextsensitiven Grammatiken (Chomsky-1) haben alle Produktionen die Form u v mit u V . Zwiespalt: Hohe Freiheit . Niedrige Freiheit . Die rechte Seite einer kontextsensitiven Grammatik ist also immer mindestens so lang. Diese Systeme werden auch Grammatiken genannt. Welche Notation benutzt man fur die Anwendung von Produktionen bei Gramma¨ tiken? w z. wie die linke Seite. ob f¨ r ein Wort w u T gilt: w LG.Wortproblem schwer. die T . 27 9 X zX X X 2 £ ¢ % £  ~ $ ’ G % Entscheidung. die Chomsky-Hierarchie und das Wortproblem 4 Grammatiken. der Form V Seite der Produktion ist also nicht leer. T h 9 £ ¢ ~ % S V . eine endliche Menge an Produktionen. Uber diesem Alphabet ist die Sprache definiert. wenn sich das Wort z mit einer Produktion aus dem Wort w ableiten l¨ ßt. V E .nicht mehr ausdrucksstark genug Wieviele Grammatikklassen hat die Chomsky-Hierarchie? Beschreibe sie! Grammatiken ohne weitere Einschr¨ nkungen heißen Grammatiken vom Typ Chomskya 0.1 Grammatiken und die Chomsky-Hierarchie V . Dabei sind: £ ¦ y¤ ¢ # … …  9 ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ G9           Wir wollen Regelsysteme entwerfen. ¨ T (oder Σ). die Chomsky-Hierarchie und das Wortproblem 4. die endliche Menge an Terminalzeichen. V T . G % Welche Sprache L G erzeugt eine Grammatik? Die von einer Grammatik G erzeugte Sprache L G ist die Menge aller z S z gilt: LG S z £ ¢ G9  … ƒ ¤ R£ ¢ h ‘% ¢ £ ¢ ~ % G9 9 w z. Konstruktion klar. a z T Was ist das Wortproblem? In der Anwendung: Ob w ein syntaktisch korrektes Programm ist.4 Grammatiken. die endliche zu T disjunkte Menge an Variablen. mit denen sich genau die W¨ rter einer Sprache o ableiten lassen. v V T S und u v . Die linke £ ¦ ¦ ¦ y¤ ¢ Woraus bestehen Grammatiken? Eine Grammatik G ist ein 4-Tupel G V T S P . das Startsymbol.

bei denen alle Produktionen die Form A v mit A V und v ε oder v aB mit a T und B V haben. die genau die a W¨ rter w L akzeptiert. also mit Blanks beschriea ben ist. enth¨ lt G die Produktion a q ba bqa 9 P P £ ˆP ˆP S©£ ¦ ¢ ¦ ¦ ¢ ¤ Falls δ q a q a R .4 Grammatiken. also gibt es eine deterministische Turingmaschine. welches lang genug ist: S q q q B q Bq Die Ruckw¨ rtsrechnung: ¨ a 28 9 P P £ ˆP ˆP S©£ ¦ ¢ ¦ ¦ ¢ ¤ Falls δ q a q a L .2 Chomsky-0-Grammatiken und rekursiv aufzahlbare Sprachen Was hat die Klasse Chomsky-0 mit der Klasse der rekursiv aufz¨ hlba-ren Sprachen a zu tun? Die Klasse Chomsky-0 stimmt mit der Klasse der rekusiv aufz¨ hlbaren Sprachen a uberein. heißen rechtslinear. bei denen alle Produktionen die Form A v mit A V und a T haben. nachdem das ganze Band ges¨ ubert. so gibt es eine Chomskya 0-Grammatik G mit L(G)=L. heißen kontextfrei oder Grammatiken vom Typ Chomsky-2. ¨ Man nennt Chomsky-0-Grammatiken auch general-rewriting-systems. Uber die Blankbuchstaben erzeugt man sich also nichtdeterministisch ein Band. Neue Anfangskonfiguration ist also q0 w1 wn #. die Chomsky-Hierarchie und das Wortproblem Grammatiken. L ist rekursiv aufz¨ hlbar. regul¨ r oder Grammatiken a vom Typ Chomsky-3- ¨ 4. q0 kommt nur in der Anfangskonfiguration vor. Wir werden nun einige Modifikationen vornehmen: o M hat nur einen akzeptierenden Endzustand q . Grammatiken sind r¨ ckw¨ rts arbeitende Turingmaschinen und Turingmaschinen sind u a r¨ ckw¨ rts arbeitende Grammatiken. M schreibt zu Beginn # hinter die Eingabe und benutzt die Zellen hinter # nicht mehr. Dazu benutzen o wir folgende Regeln: Erzeugung der akzeptierenden Schlußkonfiguration mit gen¨ gend Blankbuchstau ¨ ben. enth¨ lt G die Produktion a aq qa h t% ¢ ¤ % % % 9 9 G G G G DD FFD 9 wG 9 9 G % % % G£ ¤ G ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡     Grammatiken. Die Grammatik G soll also vom akzeptierenden Endzustand aus. die Rechnung r¨ ckw¨ rts u a simulieren und die Startkonfiguration erzeugen k¨ nnen. V . wenn w L ist. u a Zeige. q wird erst erreicht. daß folgender Satz gilt: Ist L rekursiv aufz¨ hlbar.

so gibt es eine NTM M. Unsere Grammatik sieht wie u ¨ folgt aus: V Q T Σ S q0 u q q aq f¨ r δ q a q ε f¨ r q F u F¨ r jedes Wort sieht die Ableitung jedoch so aus. daß folgender Satz gilt: Wenn L durch eine Chomsky-0-Gram-matik beschrieben wird. Da wir nur das Eingabewort erzeugen wollen. wenn q F gilt. DFA Chomsky-3-Grammatik: L gilt. Danach w¨ hlt sie nichtdeterministisch eine Produktion und schaut nach. enth¨ lt G die Produktion a Die Konfiguration ist nun von der Form B Bq0 w1 wn #. da dann auch eine Ableitung q ε existiert. o o Da die Grammatik jedoch auch aufgrund der Regeln f¨ r die R¨ ckw¨ rtsrechnung nur die u u a Rechnungen von M r¨ ckw¨ rts erzeugen kann gilt L G u a L. Chomsky-3-Grammatik DFA: Gegeben ist also eine Chomsky-3-Grammatik. ¨ 4. also u o k¨ nnen auch nur diese W¨ rter nichtdeterministisch von der Grammatik erzeugt werden. f¨ r die wir einen NFA entwerfen. regulare Sprachen und Ausdrucke ¨ Zeige.4 Grammatiken. also w o der Automat die Zust¨ nde q0 q1 a qn mit qn F. die Chomsky-Hierarchie und das Wortproblem Falls δ q a q a N . Zeige. u Dieser kann mit Hilfe der Potenzmengenkonstruktion in einen DFA umgewandelt werden und sieht wie folgt aus: Q Σ q0 δA F V T S a A 29   % % 9 X % Y¤  9 X `©£ ¦ ¢  ¤ BA V A aB P ε P DD FFD 9 9 DD EFD DD 9 EFD 9 ¤ ¤ ¤ % 9 9 9 q0 w1 q1 w1 w2 q2 w1 w2 wn qn w1 w2 wn % Wenn ein Wort w w1 wn nun zur Sprache L geh¨ rt. Und man kann die Ableitungen u erst terminieren“. Also gilt: P ¤ ©£ ¦ ¢ % % P DD ¦ EFD ¦ ¤ ¤ ¤ 9 9 ¦ DD EFD ¤ 9 1.3 Chomsky-3-Grammatiken. m¨ ssen wir noch q0 B und # l¨ schen k¨ nnen. sonst nie. die genau L akzeptiert. Die machen wir u o o mit den Schlußregeln: Bq0 q0 q0 a aq0 q0 # ε Die Maschine gelangt nur f¨ r W¨ rter w L in den akzeptierenden Endzustand q . ob a das so entstandene Wort mit der Eingabe w ubereinstimmt. so durchl¨ uft a G £ ¢ % DD FFD ¤ ¥£ ¢ 9 P P DD EFD ¦ 9 9 9 % £ ˆP ˆP S©£ ¦ ¢ ¦ ¦ ¢ ¤ qa qa ¡     . Diese Richtung ist einfacher: Die NTM M schreibt das Startsymbol S an eine freie Stelle des Bandes. daß die Klasse der von DFAs akzeptierten Sprachen mit der von Chomsky3-Grammatiken erzeugten Sprachen ubereinstimmt! ¨ Zu zeigen sind zwei Richtungen: Gegeben sei ein DFA AL f¨ r eine Sprache L uber Σ. ” 2. F¨ r w L G akzeptiert die ¨ u Maschine.

Diese Richtung ist schon etwas kniffeliger. Desu u weiteren haben wir schon gezeigt. einen regul¨ ren Ausdruck angeben. die man lesen o i kann. A1 A2 (Konka- W ‡ DD W FED W DD EFD % W Sw1 wn A1 w2 wn An 1 wn An 9 DD EFD DD 9 EFD 9 9 DD FED 9 % S ¦ G DD EFD ¤ w1 A1 w1 w2 A2 w1 wn An w     . Wir u a gehen diese Richtung mit dem Prinzip der dynamischen Programmierung an. Die Ausdr¨ cke 0 ε und a f¨ r a Σ sind regul¨ re Ausdr¨ cke. Dann sei Rkj die Menge der W¨ rter. Es ist also die Menge der R0j ist die Menge der W¨ rter w. ¨ a j gilt. daß DFAs gegen Vereinigung. Konkatenation und Kleeneschen Abschluß abgeschlossen sind. Damit haben wir auch schon einen Ansatz f¨ r die a u dynamische Programmierung. Es gelte also Q 1 n . welche W¨ rter o o o wir auf dem Weg von einem Zustand zu einem anderen lesen k¨ nnen. d. u u a u die Sprache des leeren Wortes und die Sprache des einbuchstabigen Wortes. die er entscheidet. so auch A1 a u tenation) und A1 (Kleenescher Abschluß). 3. die wir lesen k¨ nnen. Wir haben also einen DFA gegeben und sollen f¨ r die Sprache. f¨ r die δ i w o u i W¨ rter. DFA Regul¨ re Ausdr¨ cke: a u 9 1. um vom Startzustand q0 in o o a einen akzeptierenden Endzustand q F zu kommen. daß sich genau die regul¨ ren Sprachen durch regul¨ re Ausdrucke darstellen a a ¨ lassen! Wieder sind zwei Richtungen zu zeigen: F¨ r die Ausdr¨ cke in Regel 1 lassen sich einfach entsprechende DFAs angeben. Zeige. wenn die Zust¨ nde 1 a k als Zwischenzust¨ nde erlaubt sind. Durch endliche Anwendung der Regeln 1 und 2 lassen sich alle regul¨ ren Ausdr¨ cke a u darstellen. um von Zustand i nach Zustand j zu kommen. daß ein Rn durch einen regul¨ ren Ausdruck darstellbar ist. Regul¨ re Ausdr¨ cke a u DFA:  ¨ 2. Dann ino teressieren uns doch alle W¨ rter. mit denen man ohne einen Zwischenzustand zu benutzen von einen Zustand o 30 ¤ s£ ¦ ¢ … ƒ ¤ L Rn 1i i F DD ¦ FED ¦ % DD   ¦ EFD ¦ I¤ 9 2. die Chomsky-Hierarchie und das Wortproblem Falls w w1 wn L hat die Ableitung folgendes Aussehen: Dann gibt es jedoch auch eine akzeptierende Konfigurationenfolge: Wie ist die Menge der regul¨ ren Ausdrucke uber dem endlichen Alphabet Σ defia ¨ ¨ niert? / 1. Das Endergebnis ist dann folgende Menge: a Da die Vereinigung eine der erlaubte Operationen bei regul¨ ren Sprachen ist. gen¨ gt a u es also zu zeigen. Dabei kommen alle Zust¨ nde als Zwischenzust¨ nde in Frage. A2 (Vereinigung). Also die leere Sprache.h. wir bauen aus vielen kleinen L¨ sungen die Gesamtl¨ sung zusammen.4 Grammatiken. Sind A1 und A2 regul¨ re Ausdr¨ cke. Wir werden nun nach und nach immer mehr Zust¨ nde a zulassen. o o Was sind nun die kleineren L¨ sungen? Wir k¨ nnen uns doch fragen. Dies a 1i geschieht per Induktion uber die Zahl k erlaubter Zwischenzust¨ nde.

a i Die Bellmann’sche Optimalit¨ tsgleichung f¨ r den allgemeinen Fall lautet: a u aa Die Menge der W¨ rter. wenn als Zwischenzust¨ nde nur die Zust¨ nde 1 a a k erlaubt sind ist also gleich der Menge der W¨ rter.4 Grammatiken. die man lesen kann ohne den Zustand k zu benutzen o plus die Konkatenation von W¨ rtern. die man lesen kann. die zum Zustand k f¨ hren. Damit ist R0j durch einen regul¨ ren Ausdruck darstellbar. diesen eventuell o u beliebig oft durchlaufen und dann vom Zustand k zum Zustand j f¨ hren. die Chomsky-Hierarchie und das Wortproblem i in einen Zustand j kommt. Dies ist eine eventuell leere Teilmenge von ε Σ . u 31 DD ¦ EFD ¦ ‡ G£ ‡ ¢ ‡ ¨ ‡ ¤ Rkj i Rkj i 1 k Rik 1 Rk 1 Rk j 1 kk k % X  h    . um vom Zustand i in den Zustand j zu o gelangen.

daß kontextfreie Grammatiken mehr k¨ nnen als Chomsky-3-Grammatiken! o Die Sprachen L1 0i 1i i 1 und L2 w 0 1 w wR haben sich als nicht regul¨ r a erwiesen. bei der in jedem String die linkeste (rechteste) Variable zuerst abgeleitet wird. o o Was ist eine Links-Ableitung (Rechts-Ableitung)? Eine Links-(Rechts-)Ableitung ist eine Ableitung. f¨ r die gilt: o u u Dies ist nur eine kleine St¨ rung der Chomsky-Normalform.1 Einleitung Zeige. Man kann jedoch eine neue Variable S einf¨ hren. BC £ h •% ¢ £ ¢ % DD ¦ EFD ¦ 9 ¦ P 9 ¦ 9 ¦ % DD EFD 9 ¦ % 9 9 S εS 0S 9 ¦ 9 S 01 S 0S1 1S 0S0 S 1S1 9 Wann ist eine Grammatik vom Typ Chomsky-2? Eine Grammatik ist vom Typ Chomsky-2. eine eindeutige Grammatik also die Sprache erzeugt. w¨ hrend zu einem Syntaxbaum o a mehrere Ableitungen des selben Wortes geh¨ ren k¨ nnen. L G genau Wann heißt eine kontextfreie Sprache L eindeutig? Eine kontextfreie Sprache L heißt eindeutig. Es ist jedoch leicht zwei Chomsky-2-Grammatiken daf¨ r anzugeben. wenn alle Produktionen der Form v v V und u V T sind. F¨ r L1 : u u Und f¨ r L2 : u Was ist ein Syntaxbaum? Ist die graphische Darstellung von Ableitungen.  ¤ ‰$ ¦ ”% XG   “¤  ¤ R£ ¢ 5 X ¦ ¦ G 0£  “¤ h t% ¢ 9 ¡ ¡ %                   u mit . Wann heißt eine kontextfreie Grammatik eindeutig? Eine kontextfreie Grammatik G heißt eindeutig. daß Grammatiken in Chomsky-Normalform das leere Wort nicht erzeugen k¨ nnen. Zu jeder Ableitung geh¨ rt genau ein Syntaxbaum. wenn es zu jedem Wort w einen Syntaxbaum gibt. Ein Knoten A hat die Kinder α1 αn V T . wenn es eine eindeutige kontextfreie Grammatik G gibt. wenn alle Ableitungen der Form A oder A a sind. An der Wurzel steht das Startsymbol. in inneren Knoten Variablen. Chomsky-2 5.2 Chomsky-Normalform fur kontextfreie Grammatiken ¨ Was muß man bei Grammatiken in Chomsky-Normalform beachten? Man muß beachten. o Was ist der Vorteil an der Chomsky-Normalform? 32 9 P ¦ 9 P S εS S 9 Wann ist eine Grammatik in Chomsky-Normalform? Eine Grammatik ist in Chomsky-Normalform. wenn die Ableitung A α1 αn erlaubt ist. 5. Chomsky-2 5 Kontextfreie Grammatiken.5 Kontextfreie Grammatiken. mit A B C V und a T . so daß L G L gilt.

die jeweils 2 Einheiten verursachen. Wir betrachten u logischerweise also nur noch Regeln. so f¨ hren wir m 2 neue Variablen ein. Streichung der ε-Regeln: Dazu berechnen wir die Menge V aller Variablen A f¨ r die A ε gilt. o o . da ε-Regeln eliminiert sind und auch keine Kettenregeln mehr vorhanden sind. wird es auch in eine Queue Q aufgenommen und alle Seiten mit A auf der linken Seite m¨ ssen nicht mehr betrachtet werden. Zu Beginn werden alle Variablen A in V aufgenommen. Ein Wort der L¨ nge n kann daher in h¨ chstens n 1 a o Schritten auf n Variablen auf der rechten Seite anwachsen. Chomsky-2 Wie fuhrt man eine Grammatik in Chomsky-Normalform uber? ¨ ¨ ¨ Die Uberfuhrung einer kontextfreien Grammatik G in eine Grammatik in Chomsky-Normalform ¨ geschieht in vier Schritten: 1.5 Kontextfreie Grammatiken. wenn in allen Regeln auf der rechten o a1 am mit ai T verursacht in Seite nur Terminalzeichen stehen. da wir ja u schon A ε herausgefunden haben. Jedesmal. Ein Beispiel: Wie groß ist der Zuwachs an Gr¨ ße der Grammatik? Die Gr¨ ße s G einer Gramo o matik ist die Anzahl an Variablen und Terminalzeichen in allen Regeln. die auch bleiben. Aus einer Regel o o mit m 1 Variablen werden m 1 Regeln mit je drei Variablen: 3. Hinzu kommen jedoch noch m Regeln. Also f¨ hrt man f¨ r jedes u u Terminalzeichen a auf der rechten Seite eine neue Variable Ya ein und erlaubt die Ableitung Ya a. die in n Schritten durch Terminalzeichen ersetzt werden. Eine Regel A B1 Bm ver¨ ndern u a wir mit den Extravariablen Ci 1 i m 2 zu: Auch hier verdreifacht sich die Gr¨ ße der Grammatik h¨ chstens. wenn ein o A in V aufgenommen wird. da die Syntaxbaume solcher Grammatiken bin¨ r sind. o a ¨ Syntaxbaume haben lineare Tiefe. die also u in einem Schritt zum leeren Wort abgeleitet werden k¨ nnen. Also: m ∞ m ∞ Die Gr¨ ße der Grammatik verdreifacht sich also h¨ chstens. bei denen auf der rechten Seite Variablen oder ε steht (A ε A B A BC). Also sind h¨ chstens 2n 1 Ableitungen m¨ glich. Wir erreichen einen maximalen Zuwachs an Gr¨ ße. Die Regel A der Gr¨ ße der Grammatik m 1 Einheiten. 33 9 G9 ¨ – P ¨ P – m m ¤ ¤ lim lim  £ 3m 1 ∞ m 1 3m 3 ∞ m 1 3 ‡ 1 9 ‡ ¦ ~ ~ 9 DD ¦ FED ¦  9 ¢  ¦ 9 ¦ 9 9 ¦ ¦ 9 G9 9 A B1C1 C1 B2C2 C2 B3C3 Ci Bi 1Ci Cm 2 Bm 1 Bm 5 DD EFD 9 ¤ ¨ – ¤ lim lim ¨  2 ¨ ¨ 2 ¦ ¨ m 1 2m m 1 3m 1 m 1 3 £ ¢ 9 % ¦ 9 DD FFD ¦ 9 9 ¦ 9 ¨ t  – 9 A BaCbcD A BYaCYbYc D Ya a Yb b Yc c   9 P ¨ ¡ ¡   Das Wortproblem wird durch Grammatiken in Chomsky-Normalform erst wirklich ¨ effizient l¨ sbar. da wir ja anstatt der o Terminalzeichen jetzt Variablen benutzen. Beschr¨ nkung der rechten Seite auf zwei Variablen: a Stehen in einer separierten Grammatik in einer Ableitung auf der rechten Seite m 3 Variablen. Separation: Ein Grammatik heißt separiert. o o 2. f¨ r die A ε gilt. wenn auf der rechten Seite von Ableitungen entweder nur Variablen stehen oder ein Terminalzeichen.

hinzu. 4. Wenn ε Ableitungen benutzt wurden. Durch die neuen Regeln k¨ nnen auch nicht mehr W¨ rter erzeugt werden. Genauer gesagt. B und C F¨ r l 1 gilt A u k¨ rzere ε-Ableitungen und werden zuvor in V aufgenommen. Entsteht dabei ε wird auch B in V aufgenommen und in Q eingefugt. Dies wird per Induktion uber die L¨ nge l a u ¨ a einer k¨ rzesten ε-Ableitung gezeigt. Am Ende ¨ eine Regel B enth¨ lt V alle Variablen f¨ r die A ε gilt. Dann entsteht jedoch u auch die Regel A ε und A wird in V aufgenommen.d. daß alle Bl¨ tter in Teilbaum mit Wurzel v ε-Bl¨ tter sind. u a a w¨ hrend dies f¨ r den Vater des Knotens v nicht gilt. F¨ r l 1 wird A ε sofort in V aufgenommen. da hier P als o u eine Konstante betrachtet werden kann und nur noch unterschiedlich lange Programmtexte benutzt werden. Wie funktioniert der Cocke-Younger-Kasami Algorithmus? Gegeben sei eine kontextfreie Grammatik G in Chomsky-Normalform. Es kann Dabei k¨ nnen die Variablen Ai 1 i m auch eventuell noch zu anderen Strings o abgeleitet werden. Die Gr¨ ße der Grammatik w¨ chst also h¨ chstens um den Faktor 7 . mit dem sich das Wortproblem f¨ r kontextu freie Grammatiken in Chomsky-Normalform effizient entscheiden l¨ ßt. u u B ε oder A BC ε. Es k¨ nnen auch nicht o weniger W¨ rter erzeugt werden.3 Der Cocke-Younger-Kasami Algorithmus (CYK) Was ist der Cocke-Younuger-Kasami Algorithmus? Der CYK-Algorithmus ist ein Algorithmus. da falls o o C V ist. Wir wollen nun u 34 DD ¦ FED ¦ X X £ ¢ £ ¢ % 9 DD 9 EFD 9 2 9 2 ¦ 9 A1 A2 A3 Am A1 9 9 9 P G9 G9 9 9 G9 P G9 ¤ % G9  P 9 G9 9 9 P % G9 9 £ X 3¢ X 9 9 9 9 P P P 4 DD FED % % ¤     . das Wort f¨ r das entschieden werden soll.5 Kontextfreie Grammatiken. 5. ob w L G gilt.B. der linke Teilbaum nur ε-Bl¨ tter enthielt. ja jede andere erreicht. a ben¨ tigt er Zeit O P n3 oder f¨ r eine feste Programmiersprache O n3 . wenn o. falls o u C V . Chomsky-2 Dann nehmen wir den n¨ chsten Buchstaben A aus der Queue Q (solange diese nicht a leer ist) und ersetzen in allen Regeln jedes Vorkommen von A durch ε. a Zusammenfassend l¨ ßt sich also sagen. gibt es spezielle Knoten v.A. Jedoch sind sie anscheinend alle untereinander ersetzbar. Elimination der Kettenregeln: Bei der Elimination der ε-Regeln entstehen also Regeln der Form A dabei auch vorkommen. Ist die Grammatik nicht in Chomsky-Normalform. ob ein Teilstring einer Ableitung zu ε abgeleitet werden soll. falls B V ist. da man aus einer Variablen. Jetzt werden alle Regeln der Form A ε gestrichen. wegen C ε. so l¨ ßt sie sich effizient konstruieren. Sei w L und ein Syntaxbaum f¨ r w in der Gramo u matik mit ε-Regeln gegeben. daß folgende Regel m¨ glich ist: o B. Dann k¨ nnen wir o jedoch den Teilbaum abschneiden und stattdessen gleich die Regel A C benutzen. Weiter gegeben sei a w w1 wn . und A C. daß durch die Streichung der ε-Regeln die a Entscheidung. Dann haben jedoch B bzw. f¨ gen wir zu der Regel A BC noch die Regeln A B. auch schon vorher A BC B galt. Damit nicht auf einmal weniger W¨ rter erzeugbar sind. f¨ r die gilt. da man vorher o a o 3 eine Ableitung mit drei Variablen hatte und jetzt h¨ chstens drei Ableitungen mit o sieben Variablen. Daher kann man die Variablen A1 Am in allen Regeln durch eine Variable A1 ersetzen. Der Vaterknoten repr¨ sentiert a u a also eine Regel A BC und entweder gilt B ε oder C ε. fruh ¨ erzwungen wird.

a nach oben durch O P n Wie l¨ ßt sich mit Hilfe des Cocke-Younger-Kasami Algorithmus ein Syntaxbaum a konstruieren? Indem man f¨ r jeden Eintrag A Vi j auch den Grund f¨ r den Eintrag vermerkt. Die Berechnung eines wi ist also in Zeit O P m¨ glich. Es gilt n¨ mlich A Vii . gibt es eine Konstante N . so daß B Vik und C Vk 1 j ist. Desweiteren gilt dann.bzw. die mindestens so lang wie N sind.4 Pumping Lemma und Ogden’s Lemma fur kontextfreie Sprachen ¨ Wie lautet das Pumping Lemma fur kontextfreie Sprachen? ¨ In Quantorenschreibweise: L kontextfrei N : z L: z N: Zerlegung z uvwxy mit vx i 0 : uvi wxi y L Oder in Worten: Wenn L kontextfrei ist. mit einem Divide-And-Conquer Algorithmus) so erh¨ lt man leicht exponentielle Kosten. also B wi wk und C wk 1 w j gilt. daß A Vi j ist. also das Wort an zwei Stellen gleichm¨ ßig auf. abgepumpt werden kann. ist jedoch trivial. Wir m¨ ssen f¨ r ein Vi j h¨ chstens P Produktionen betrachten und f¨ r jede Produktion kann das u u o u (Teil-)Wort auf h¨ chstens n 1 Arten zerlegt werden. Also benutzen wir die Methode der dynamischen o Programmierung und gehen Bottom-Up vor. was auch nicht verwundert. wenn S V1n gilt. da die Grammatik in Chomsky-Normalform gegeben ist. daß jedes Wort uvi wxi y in L liegt. Also ist der Algorithmus 2 3 beschr¨ nkt. Der look-up ist dann in Zeit O 1 m¨ glich. folgendes gilt: z l¨ ßt sich so in uvwxy o a zerlegen. Chomsky-2 die Menge V1n aller Variablen A berechnen f¨ r die gilt A u w1 wn . Wieviele Mengen Vi j gibt es nun? Genau n n O n2 . A also in einem Schritt zu wi abgeleitet werden kann. wenn es eine Ableitung A BC und ein k u i j 1 gibt. a 35 U t% 2 uX 1 und vwx N:   ¦ •%  DD EFD ~ £ ¢ ¤ G9 DD FED DD FFD 9 £ G9 G9 X ¤ ¢ X X£ 3¢ 9 DD FED ¤ X X 5 $X X ¨ Ž  G9 4 9  % f ~ ¤ t % ¤ X X % 5 $X X %  % £ X 3¢ X U •% % % 5 vƒ vƒ % % 4 £ ¢ 9 £ X 3¢ X %         . da die Menge der regul¨ ren a Sprachen ja eine echte Teilmenge der Menge der kontextfreien Sprachen ist und bei diesen darf nur an einer Stelle gepumpt werden. Also die u u Regel A BC mit dem dazugehorigen k f¨ r l 0 oder A wi f¨ r i j. Geht man dieses Problem Top-Down an (also z.5 Kontextfreie Grammatiken. Offensichtlich ist w L G genau dann. so daß f¨ r alle u W¨ rter z L. Also reicht f¨ r ein Vi j Rechenzeit o u O Pn . Allgemein sei Vi j die Menge aller Variablen A f¨ r die A wi w j gilt. ¨ u u Wie sorgt man fur einen effizienten look-up? ¨ Indem man f¨ r jedes Vi j ein Array der L¨ nge V anlegt. Hier kann zus¨ tzlich noch entschieden werden. a wo man das gr¨ ßere Problem teilen muß. wenn A a wi gilt. da man nicht von vornherein weiß. Die Menge der Variablen Vii zu berechnen. daß v oder x mindestens einen Buchstaben enthalten und vwx nicht l¨ nger als die a Konstante N ist.B. o 5.in dem man markiert. Was ist Ogden’s Lemma? Ogden’s Lemma ist quasi das verallgemeinerte Pumping Lemma f¨ r kontextfreie Sprau chen. da einfach nur alle o Produktionen angeschaut werden m¨ ssen. Wir berechnen u die Vi j jetzt nach wachsendem l j i und beginnen mit l 0. u F¨ r l 0 gilt nun. ob eine u a Variable in Vi j vorkommt oder nicht. wo gepumpt werden soll. Es kann jedoch auch reichen a an nur einer Stelle zu pumpen.

Weiter w¨ hlen wir N 2 V 1 . Also gilt f¨ r jedes Zerlegung uvwxy. Wie gesagt ist der zugehorige Syntaxbaum bin¨ r und hat z Bl¨ tter. Wenn o. wie schon gesagt. Da vwx N gilt. Gebe Beispiele fur die Anwendung des Pumping Lemmas und Ogden’s Lemma an! ¨ Hier reicht das Pumping Lemma aus. die ¨ a a von links nach rechts gelesen. muß also eine doppelt vorkommen. also gen¨ gend lang. folgt ebenfalls vwx N.B. Also mindestens a u log2 2 V 1 V 1 Verzweigungsknoten. daß in vx mindeu stens ein Buchstabe markiert ist. erh¨ lt man das a normale Pumping Lemma f¨ r kontextfreie Sprachen. daß sich mindestens zwei Variablen wiederholen. der linke Teilbaum mindestens ein markiertes Blatt enth¨ lt. a a so enth¨ lt der rechte Teilbaum mindestens 2 V markierte Bl¨ tter. daß f¨ r i=2 das Wort nicht u u in der Sprache ist. Dies machen wir. Da es nur V Variablen gibt. Warum liegen jedoch mindestens V 1 Verzweigungsknoten auf unserem Weg? Wir starten am Startknoten S. o Wenn man sich den Syntaxbaum aufzeichnet sieht man das die Grammatik also die Regeln S uSy A vAx und A w enthalten muß. Damit sind auch das Pr¨ fix u und das Suffix y a eindeutig. l¨ ßt sich z so in a o z uvwxy zerlegen.B. Wir w¨ hlen jetzt einen Weg von der Wurzel (S) zu einem Blatt und w¨ hlen den Weg a a so. Chomsky-2 Wenn L kontextfrei ist. Wir betrachten. Wenn o. Da wir von v1 bis v2 h¨ chstens V o h¨ chstens 2 V 1 N Knoten markiert. F¨ r z gelte a u u z L und z N. u Wenn man in Ogden’s Lemma alle Buchstaben des Wortes markiert. wenn der rechte Teila baum mehr markierte Bl¨ tter enth¨ lt.d. Wir werden auch nur die letzten V 1 betrachten. Im Wort seien mindestens N Bl¨ tter a markiert. daß in vx mindestens ein Buchstabe markiert ist. v1 liege uber v2 . in dem sich mehr markierte Bl¨ tter befinden. L ai bai bai i 0 36   5 X 5 X  Y¤ L a i b i ci i 1 % % X X ¤ G9 2 uX 5 $X X ¨ §X X % U B% ~… … ¨ 0X X % X ¤ … … ¨ §X X ¨ eX X G9 5  Y¤ 2 G9 ¨ eX X £ ¢ DD G 9 EFD G 9 G9 ¦ ¨ X eX S¤ ¤ ~… … ~… … G9 5 uX X G9 ¤ ~… … G9 % ¤ 5 uX X X X %     . Und da in vwx h¨ chstens o N Buchstaben markiert sein sollen.A. Aus der Bedingung. Im linken und im rechten Teilbaum zusammen liegen mindestens N 2 V 1 markierte Bl¨ tter. k¨ nnen h¨ chstens nur a’s und b’s oder nur a o o b’s und c’s markiert sein.5 Kontextfreie Grammatiken. Die zugehorigen Syntaxbaume sind dann bin¨ r und nur V¨ ter von Bl¨ ttern ¨ a a a (w T ) haben outgrad 1. Knoten in a deren linken und rechten Teilb¨ umen jeweils markierte Bl¨ tter liegen. Auf unserem Weg liegen mindestens V 1 Verzweigungsknoten. im linken Teilbaum keine markierten a Bl¨ tter liegen. da wir sonst nicht richtig verzweigen w¨ rden. Sei N die Konstante aus dem Pumping Lemma. Beweise Ogden’s Lemma! Wir gehen davon aus. so ist S eben kein Verzweigungsknoten und wir gehen zur Wurzel des recha ten Teilbaums. Also gilt S uwy uv0 wx0 y L i i i i und S uAy uvAxy uv Ax y uv wx y L. Unser Weg enth¨ lt also mindestens immer die H¨ lfte a a a a aller markierten Bl¨ tter. in vwx h¨ chstens N Buchstaben markiert sind und f¨ r alle i 0 gilt: uvi wxi y L.d.A. das Wort z ergeben. so daß f¨ r alle W¨ rter z L mit u o z N folgendes gilt: Wenn in z mindestens N Buchstaben markiert sind. Wir nennen diese Variable A und die beiden Verzweigungsknoten v1 und v2 . Da v1 Verzweigungsknoten ist. daß L G als kontextfreie Sprache in Chomsky-Normal-form ge¨ geben ist. die letzten V 1 Verzweigungsknoten. gibt es eine Konstante N . heißen Verzweia a gungsknoten. folgt dann automatisch vx 1. sind auch staben. enth¨ lt mindestens v oder x einen markierten Bucha 1 Verzweigungsknoten haben. dann w¨ hlen wir das Wort aN bN cN . Desweiteren erzeuge v2 ¨ das Teilwort w und v1 das Teilwort vwx. indem wir jeweils in den Teilbaum verzweigen.

Durch eventuelle Umbenennung erreichen wir. a 5. m¨ ssen wir u die Menge der Variablen berechnen f¨ r die A u ε gilt. Gegenuber welchen Operationen ist die Klasse der kontextfreien Sprachen abge¨ schlossen? Beweise? Vereinigung: Gegeben seien zwei Grammatiken G1 und G2 . Jeder Buchstabe wird nat¨ rlich auch nur u einmal in die Queue aufgenommen. ob alle Variablen aus denen sich W¨ rter w T ableiten lassen. Auch hier brauchen wir h¨ chstens Zeit O V s G . Dann nimmt man die n¨ chste Variable A aus der Queue und betrachtet alle Regeln A αBβ mit α β V T . o Also brauchen wir insgesamt O V s G . Wenn wir die Terminalzeichen in den Regeln durch ε ersetzen. Dies haben wir jedoch schon bei ¨ der Uberleitung einer kontextfreien Grammatik in die Chomsky-Normalform gemacht. Dann schaut man sich alle Regeln S αAβ mit α β V T an und nimmt jedes A f¨ r das die Bedingung gilt in V auf. Die Menge aller von ¨ der Startvariable aus erreichbaren Variablen heiße V V . dann w¨ hlen wir das Wort aN baN baN . Sei N die Konstante aus dem Pumping Lemma. a Dies macht man so lange. Nach diesem Schritt k¨ nnen wir schon sagen. wenn es eine Regel S αAβ mit α β V T gibt. wenn aus ihr nicht mindestens ein Wort w T abgeleitet werden kann oder wenn aus ihr zwar ein Wort w T abgeleitet werden kann. w¨ hle ich als erste Produktion o a nichtdeterministisch S S1 . Zu Beginn wird S in V aufgenommen. uberhaupt von der Startvariable S aus erreichbar sind. sie jedoch nicht von der Startvariable aus erreichbar ist.5 Kontextfreie Grammatiken. Desweiteren kann man ein Queue Q benutzen und alle Variablen. die Menge der Variablen A. Chomsky-2 Auch hier reicht das Pumping Lemma aus. ob eine durch kontextfreie Grammatik erzeugte Sprache unendlich ist? In linearer Zeit. ob L G die leere Sprache ist. bis die Queue leer ist. Konkatenation: Wieder seien zwei Grammatiken G1 und G2 gegeben. Mit anderen Worten: Wenn in der u Ableitung von S nur Terminalzeichen aus T und Variablen aus V vorkommen. sich also kein Wort w T aus S ableiten l¨ ßt. wenn S V ist. Dies ist o n¨ mlich der Fall. die in V aufgenommen werden auch in Q aufnehmen.5 Effiziente Algorithmen fur kontextfreie Sprachen ¨ In welcher Zeit kann man die Menge nutzloser Variablen einer Grammatik G berechnen? Eine Variable heißt nutzlos. wobei S eine neue u Variable ist: V V1 V2 S P P1 P2 S S1 S S2 Wenn ich also ein Wort aus L1 erzeugen m¨ chte. dann nehme alle Variablen dieser Regel in V auf. S ist auch hier ein neues Startsymbol: V V1 V2 S P P1 P2 S S1 S2 37 G PP £ 0£ ¢ X 3¢ X G 3£ G 3£ % h P ˜% ¦ ¢ G9 h P —% ¦ ¢ G 2 nX % X G 0£ P  9 9 h P —% ¦ ¢ C PP G % £ ¢  P 9 ¦ G 9  h   h 9  h ¦ g  h PP % £ 0£ ¢ X €¢ X G9 9 h h £ 3£ ¢ X €¢ X h h C P 9 ¤ ¤ ¤ ¤ PP P 9 p% PP P % G PP ¡ ¡ %       . Dann sieht die Grammatik f¨ r die Vereinigung der beiden Sprachen wie folgt aus. a a o Sei also S V . Im ersten Schritt berechnen wir V V . Wieder k¨ nnen wegen vwx a o N nur zwei a-Gruppen ausgew¨ hlt werden und das Wort wird uneinheitlich aufgepumpt. f¨ r die A w mit u w T gilt. sonst S S2 . In welcher Zeit kann man entscheiden. F¨ r u diesen Schritt brauchen wir also Zeit O V s G . daß die Variablenmengen V1 und V2 disjunkt sind. Eine Variable A wird in V aufgenommen. Jetzt schauen wir.

da gilt: 5. o o wenn wir entscheiden k¨ nnen. welche Indexfolge wir benutzt haben. daß die L¨ sung f¨ r die x-Folge und die y-Folge aus der gleichen Indexfolge gebildet o u wird. F¨ r die x-Strings: u 38 9 ¦ 9 ¦ DD 9 ¦ FED ¦ 9 S a 1 x1 S a k xk S a1 Sx1 S £ 0£ ¦ 3¦ EFD £ ¦ ¢ DD ¦ ak Sxk   DD ¦ FED ¦ DD ¦ FFD ¦   h ¢¢ 0h¤ ¤ 2 2 ¤ ©£ G ¢ % i £ Ist L G1 L G2 / 0? £ h ¢ ¤ i L1 L2 L1 L2  5 X  Y¤ ¦ G  Y¤   ¦ G  `¤  5 X  h¤ ¦ g 5 X i  Y¤ L1 ai bi i 1 L2 c L3 a L4  9 ¦ 9 ¦ 9  h   h ¤ ¤ ¦ ¢ ¡ ¡ ¡ ¡ ¡       Kleenescher Abschluß: Hier muß beachtet werden. nicht rekursiv ist! Dazu reduzieren wir das PKP auf dieses Problem. daß die Entscheidung. daß auch das leere Wort erzeugbar ist. nach dem Satz von de Morgan auch gegen Durchschnitt abgeschlossen. Komplement: W¨ ren die kontextfreien Sprachen gegen Komplement abgeschlossen.6 Unentscheidbare Probleme Welche beiden unentscheidbaren Probleme fur kontextfreie Sprachen kennst du? ¨ Ist die kontextfreie Grammatik G mehrdeutig? Zeige. da sie gegen Vereinigung abgeschlossen sind. Wir bauen jetzt f¨ r die x-Strings und f¨ r die y-Strings u u u Grammatiken. In diesen Grammatiken gilt T Σ a1 ak . Dazu merken wir uns uber die k neuen Variablen a1 ¨ ak . ob der Schnitt zweier Grammatiken leer ist. Chomsky-2 Gegenuber welchen Operationen ist die Klasse der kontextfreien Sprachen nicht ¨ abgeschlossen? Beweise? Durchschnitt: Es gen¨ gt als Zeugen eine nicht kontextfreie Sprache anzugeben. dann w¨ ren a a sie. ob der Schnitt zweier kontextfreier Sprachen leer ist. die der Durchu schnitt zweier kontextfreier Sprachen ist. Die beiden kontextfreien Sprachen seien L1 L2 und L3 L4 mit: Es gilt jedoch L1 L2 L3 L4 ai bi ci i 1 und diese Sprache kann mit Hilfe des Pumping Lemmas als nicht kontextfrei nachgewiesen werden. Die beiden Grammatiken G1 und G2 sehen wie folgt aus. Das heißt: Wir k¨ nnen das PKP l¨ sen. also aus k Paaren von Strings xi yi Σ f¨ r 1 i k. y-Strings zu bilden. um ein Wort aus der Grammatik mit Hilfe der x. Wichtig f¨ r das PKP u ist.bzw. Dazu o bauen wir eine Eingabe f¨ r das PKP in eine Eingabe f¨ r unser Schnittproblem um: u u Das PKP sei gegeben durch die Eingabe K x1 y1 xk yk .5 Kontextfreie Grammatiken. wobei S1 das Startsymbol f¨ r G1 u ist und S2 f¨ r G2 : u 1. Die Grammatiken seien wie oben gegeben: V P V1 P1 S S εS SS S S1 b i ci i 1 .

w¨ re die Klasse der rekursiv aufz¨ hlbaren Sprachen uberflussig. daß die Entscheidung. k¨ nnten wir auch a o o o f¨ r diese spezielle Grammatik G entscheiden. ¨ 5. Mit anderen Worten: Wenn ich entscheiden k¨ nnte ob der Schnitt zweier Grammatiken leer ist. u tig? Doch nur. Denn sonst w¨ rde es ein Wort w Σ geben. da dieses spezielle Schnittproblem ein Spezialfall des allgemeinen Problems ist. Es kommen jedoch noch zwei neue Regeln hinzu: Die Grammatiken G1 und G2 sind eindeutig. L G2 ? L G1 besteht aus allen W¨ rtern o ai n ai 1 xi 1 xi n und L G2 aus allen W¨ rtern ai n ai 1 yi 1 yi n . ob eine Sprache inh¨ rent mehrdeutig ist. die eindeutig ist. o a a ¨ ¨ Zeige. Chomsky-2 2. wenn gilt: L G1 L G2 f¨ r das gilt: u w L G1 w L G2 Dann gilt jedoch auch: Das heißt. wenn es ein Wort gibt. Bei der inh¨ renten Mehrdeutigkeit handelt es sich also um eine Eia a genschaft der Sprache. ob sie inh¨ rent mehrdeutig ist. daß ihr Schnittproblem nicht rekursiv ist. wenn es eine eindeutige Grammatik G mit L L G . Wann ist jedoch unsere Grammatik G eindeu/ 0. Gibt es keine solche eindeutige Grammatik heißt die Sprache inh¨ rent mehrdeutig. Letzteres ist der Fall. o Das PKP hat genau dann eine L¨ sung. wenn die Indexfolge i n i 1 uberein-stimmt o ¨ und wenn dasselbe Wort gebildet wurde. daß das Schnittproblem f¨ r kontextfreie Grammatiken nicht rekursiv ist. hau ben wir f¨ r zwei spezielle Grammatiken gezeigt.7 Eine inharent mehrdeutige Sprache Was ist eine inh¨ rent mehrdeutige Sprache? a Eine Grammatik G heißt eindeutig. die S als neues Startsymbol erh¨ lt. da es zu einer inh¨ rent mehrdeutigen Grammatik eine aquivalente a ¨ Grammatik geben kann. Weiter beh¨ lt sie a a alle Regeln aus G1 und G2 . Da das speu a zielle Schnittproblem jedoch nicht rekursiv ist.5 Kontextfreie Grammatiken. wenn x1 xn y1 yn gilt. 39 £ ¢ % £ G9 9 ˜g£ ¢ ‚ G9 9 ¢ S S1 w S S2 w G % £ ¢ % 9 ¦ ‚ e£ ¤ ˜£ 9 S S1 S " ! FED " ! " ! FFD " ! DD DD p¤ }£ DD DD ¤ " ! FED " ! " ! FFD " ! ai n a i 1 xi 1 xi n ai n a i 1 yi 1 yi n S2 DD EFD ¤ DEFD D DD £ ¢ FFD £ ¢ " ! FED " ! " ! FED " ! DD DD £ 9 ¦ ¢ £ 9 ¦ ¢ £ DD 9 ¦ FED ¦ ¢ ¢ ¢ i £ ¢ % i £ ¢ £ 9 ¢ ¢ S a 1 y1 S a k yk S a1 Sy1 S ak Syk £ ¢ ¤ " ! FED " ! " ! EFD " ! DD DD     . kann auch dieses Problem nicht rekursiv sein. nicht rekura siv ist! Im Beweis. u Also wird das allgemeine Schnittproblem wohl auch nicht rekursiv sein. Wenn das Halteproblem jedoch entschieden werden o k¨ nnte. welches beide Grammatiken / erzeugen k¨ nnen. Dann w¨ re das PKP jedoch rekursiv und sogar das Halteo a problem k¨ nnte entschieden werden. Wir konstruieren eine neue Grammatik G. wenn es zu jedem Wort w L G genau einen Syntaxbaum gibt und eine Sprache L ist dementsprechend eindeutig. Wenn wir also das Schnittproblem l¨ sen k¨ nnten. k¨ nnte ich damit entscheiden. Die zwei Grammatiken G1 und G2 aus diesem Beweis benutzen wir auch hier. Wenn also L G1 L G2 o 0 ist. es g¨ be f¨ r ein Wort zwei verschiedene Syntaxb¨ ume und die Grammatik w¨ re a u a a inh¨ rent mehrdeutig. o o ob das PKP eine L¨ sung besitzt. F¨ r die y-Strings: u o Aus welchen W¨ rtern bestehen nun L G1 bzw. Also gilt insgesamt: Dies ist jedoch genau dann der Fall.

Und einer der beiden Buchstaben muß also komplett ” aus a’s bestehen. mindestens einen markierten a Buchstaben enthalten muß. Dann ist % ¦ 5 X ~  ¤ SeP ~ ~ ¦  5 X 9  ¤ `6š P 9 9 ¦ ¦ ~ P 9 9 A A X1 X1 X2 X2 B B 9 % £ ¢  ~ 5 X š ~ % ~  ~ ¤  G  ™¤ PP  ~ £ E PP ¢ ¤ X 9 G h G  `¤  G   £ FP ¢ h G . Wir zeigen nun mit Hilfe des Lemma von Ogden. h¨ ngt von der Variable p ab. ¨ Dieselben Uberlegungen kann man jetzt ausgehend vom Wort an n! bn cn L machen. x a : p n. In diesem Teilbaum werden nur die Buchstaben a und b erzeugt. daß also v und x nur jeweils komplett aus a b oder c bestehen. da ja vx wie schon gesagt. Dann setzen wir k n! 1 und erhalten so das a p Wort: uvk wxk y an n! bn n! cn n! L Also haben wir f¨ r L einen Syntaxbaum gefunden. x b : ¤ ~ % G % 2. zwei verEs gibt dann f¨ r ein Wort w L G . Dazu markieren wir in an bn cn n! alle n a’s. indem wir o a die Regel A B streichen und durch folgende Regeln ersetzen: B einmal benutzt.5 Kontextfreie Grammatiken. Die Vereinigung dieser Sprachen ist die Sprache ai b j ck i j oder j k und der Schnitt L a i b i ci i 0 . deren Schnitt jedoch nicht kontextfrei ist. Wir konstruieren im folgenden eine inh¨ rent mehrdeutige Sprache aus zwei kontextfreia en Sprachen. Dies ist der letztm¨ gliche Fall. muß also j p sein. Damit das Wort in der Sprache liegt. Es gelte also weiter v a p mit 1 p n. wir haben eine eindeutige Grammatik G. welches die Regel A u schiedene Syntaxb¨ ume. Ana u a genommen wir haben p a’s ausgew¨ hlt. die die Regel A B enth¨ lt. Wir haben also drei m¨ gliche F¨ lle: o a Hier gilt zwangl¨ ufig v a . Es gelte x b j mit 1 j n. daß v x a b c gelten muß. Dann ist uv2 wx2 y an p bn j cn n! . da in vx nach dem Lemma von Ogden mindestens ein Buchstabe markiert sein muß. Wir erhalten auch hier einen Syntaxbaum f¨ r das Wort an n! bn n! cn n! L . Es ist schonmal leicht einzusehen. in denen in einem Fall die oberen beiden Regeln benutzt werden a und im anderen die unteren beiden. Zuerst betrachten wir das Wort an bn cn n! aus L . In diesem u 40 P % PP ~ PP % ~ % ~ ~ ~ ¨ ~ P ¤ P % ~ % ~ G9 ~ ~ G9 ¤ G9 G9 £ ŠP ¢ P ¤ rP Dann gibt es in G G L jedoch eine Variable A f¨ r die gilt: u S uAy uvk Axk y uvk wxk y L ~ ~ ~ ¤ 2 2 ¤ 2 ¤ 2 ¤ G % 3. gilt dann auch v a und es gelte vx a p mit 1 f¨ r i 2 das entstehende Wort schon nicht mehr in der Sprache. daß es auch einen Syntaxbaum f¨ r das Wort an n! bn n! cn n! L gibt und gewinnen uber das Lemma von Ogden u ¨ noch zus¨ tzliche Informationen uber diesen Syntaxbaum. a Dann k¨ nnen wir daraus eine inh¨ rent mehrdeutige Grammatik konstruieren. x c : 2 2 Da v vor x steht. L Die W¨ rter des Schnittes L lassen sich also mit Hilfe der kontextfreien Grammatiken o G L und G L erzeugen. da man sonst das Wort kaputtpumpt“. der das Wort an n! bn n! cn n! L eru zeugt und in dem es eine Variable A vk wxk gibt. Die Sprachen sind L ai bi i i i 0 c und L a b c i 0 . Chomsky-2 Angenommen. Wieviele a’s man ausw¨ hlt f¨ r das Lemma von Ogden. Dann muß v in den a’s o liegen. u ¤ G % G ¤ % 1. Wieder ist das entstehende Wort f¨ r i 2 nicht mehr in u der Sprache. Hierf¨ r gibt es logischerweise einen u Syntaxbaum. a ¨ Wir pumpen also an bn cn n! mit Hilfe des Lemma von Ogden zu an n! bn n! cn n! auf.

Die Gesamt-Syntaxb¨ ume beider Schritte m¨ ßten also isomorph a a u sein. Chomsky-2 Syntaxbaum gibt es dann eine Variable B v k w x k . die Anzahl der c’s um o a u u q und die Anzahl der b’s um p q. welches wir dann zu an n! bn n! cn n! L komo plettieren. u Dann gibt es folgende Ableitung: Es gilt jedoch auch: F¨ r unser B gilt ahnliches: u ¨ Also gilt doch insgesamt: Jede Erh¨ hung von k um 1 l¨ ßt die Anzahl der a’s um p anwachsen. Wir m¨ ssen nun zeigen. daß wir genauso gut zwischenzeitlich ein Wort aus L ableiten k¨ nnen. Was haben wir gemacht? Wir sind praktisch von einem Superstartsymbol gestartet und haben dann zwischenzeitlich ein Wort aus L erzeugt und haben es dann weiter zu an n! bn n! cn n! L abgeleitet. Dies ist jedoch ein Widerspruch zur Annahme. daß wir zweimal dasselbe gemacht h¨ tten. wenn die u a Sprache eindeutig w¨ re. m¨ ssen diese beiden Variablen auf verschiedenen Wegen liegen.5 Kontextfreie Grammatiken. Und in diesem Teilbaum werden nur die Buchstaben b und c erzeugt. Da im Teilbaum mit Wurzel A jedoch nur a’s und b’s erzeugt wurden und im Teilbaum mit Wurzel B nur b’s und c’s. daß alle erzeugten W¨ rter in L liegen. F¨ r gen¨ gend großes k fallen wir also aus der Sprache. Dann haben wir gezeigt. o 41 % P G9 S t1 a pk wb pkt2 bqk w cqk t3 L 4 ¤ P ¤ P ¦ 5 £P ¢P ¨ ¢ G £ P g9 B v k w x k mit k 0v bq und x cq mit q 4 ¤ ¤ ¦ 5 G9 A vk wxk mit k 0v a p und x b p mit p G % ¦ ¦ G9 S t1 At2 Bt3 mit t1 t2 t3 T 0 0 š % ~ ~ ~ £ ¢ EP ˆP P £ ¢ G EP A9 PP š % ~ ~ ~ .

daß in jedem Ableitungsschritt genau ein Buchstabe des zu erzeugenden Wortes erzeugt wird. Methode 2 wie man leicht sieht genau 42 9 9 9 9 9 9 Ersetze alle Regeln A1 Ersetze alle Regeln A2 Ersetze alle Regeln A2 Ersetze alle Regeln A3 Ersetze alle Regeln A3 Ersetze alle Regeln A3 A1 α nach Methode 2. .6 Greibach-Normalform und Kellerautomaten 6 Greibach-Normalform und Kellerautomaten 6. so f¨ hrt dies auf nat¨ rliche Weise zum nichtdeterministischen u u Kellerautomaten.1 Greibach-Normalform Wann ist eine Grammatik in Greibach-Normalform? Eine Grammatik ist in Greibach-Normalform. A2 α nach Methode 2. Eine Grammtik in Greibach-Normalform kann also insbesondere nicht das leere Wort erzeugen. A1 α nach Methode 1. Methode 2: Regeln der Art A Aα1 A Aαr . β1 A βs existieren (wobei β1 bis βs wenn f¨ r A desweiteren die Regeln A u nicht mit A beginnen): A βs B A β1 B B α1 B B αr B Wir k¨ nnen bei der Umformung der Grammatik davon ausgehen. wenn f¨ r B die Regeln u B βr existieren: B β1 B β2 2. A2 α nach Methode 1. . Es sei nur noch angemerkt. A1 α nach Methode 1. A3 α nach Methode 2. Wie formt man eine Grammatik in Greibach-Normalform um? Wir zeigen zun¨ chst zwei Methoden der Umformung. Ž  ¤ Methode 1 wird dabei ∑ i m 1 m 2 -mal angewandt. werden durch die folgenden Regeln ersetzt. daß die Gr¨ ße der Grammatik gewaltig anwachsen o kann.  DD ¦ EFD ¦ ¦ DD ¦ EFD ¦  ¤ mŒP DD ¦ EFD ¦ DD 9 ¦ EFD ¦ DD ¦ FED ¦ DD 9 ¦ FED ¦ DD 9 ¦ FFD ¦ DD 9 ¦ EFD ¦ 9 9 ¦ 9 9 DD 9 ¦ FED ¦ DD ¦ EFD ¦ 9 A α1 β1 α2 A α1 β2 α2 A α1 βr α2 9 DD 9 ¦ FED ¦ G 9 ‡ — % 9 9 ¦ % ¦ 9 %       . Benutzt man bei dieser Grammatik nur Linksableitungen. Die Variablen numerieren wir mit A1 Am . wenn es m verschiedene Variablen gibt und die n verschiedenen Terminalzeichen mit a1 an . Desweiteren brauchen wir noch die Zusatz-Variablen B1 Bm . wenn alle Ableitungen der Form A aα mit A V a T und α V sind. Insgesamt sei die Menge V A1 Am B1 Bm . . wobei auf einen Beweis der Korrektheit hier verzichtet wird: i 1 m-mal. daß sie in Chom-skyo Normalform ist. Was ist das Besondere an der Greibach-Normalform? Das Besondere an der Greibach-Normalform ist. Das System der Umformung sieht wie folgt aus. Methode 1: Die Regel A α1 Bα2 wird durch folgende Regeln ersetzt. die die gegebene Grammatik nicht a ver¨ ndern: a 1.

” Ist q Z1 Zn δ q ε Z1 . Wenn wir also ein Wort w w1 wn erzeugen wollen. daß der Kellerautomat sich im Zustand q Q befindet. das endliche Eingabealphabet Γ. welche von linear bandbeschr¨ nkten Turingmaschinen erkannt werden. δ q ε Z aus einer endlichen Menge von Paaren aus Q Γ Wie sieht eine Konfiguration eines NPDA aus? Eine Konfiguration q w α eines NPDA bedeutet. der Anfangszustand Γ. wenn S das Startsymbol a ist.2 Kellerautomaten Was ist ein nichtdeterministischer Kellerautomat (NPDA)? Kontextfreie Sprachen k¨ nnen mehr als die regul¨ re Sprachen. dann ist auch q w1 wk Z1 Zn Z2 Zm eine legale“ ” Nachfolgekonfiguration. das endliche Stackalphabet ¨ δ. wenn q Z1 Zn δ q w1 Z1 ¨ ist. mit q Q gibt. Dieser Sachverhalt erinnert stark an einen Stack und f¨ hrt zum Automaten-Modell u des NPDA (Nondeterministic Push-Down-Automata). noch das Wort w Σ lesen muß und der Stack den Inhalt α V hat. welche von endlichen Auo a tomaten erkannt werden und weniger als kontextsensitive Grammatiken. Wie wir gesehen haben. dann ist die Konfiguration q w2 wk Z1 Zn Z2 Zm eine Nachfolgekonfiguration.6 Greibach-Normalform und Kellerautomaten 6. daß in jedem Ableitungsschritt genau ein Buchstabe des zu erzeugenden Wortes erzeugt wird. 43 £ G ¦ % ¦ ¢ % DD ¦ ˜£ P EFD P ˆP ¢ £ DD FED DD P FFD P ¦ DD FFD ¦ vP ¢ G G % % % £ £ ¦ ¦ ¢ £ ¦ ¦ ¢ £ ¦ ¦ ¢ £ DD FFD DD FED C (Eventuell) F Q. Akzeptanz durch den leeren Stack: Ein NPDA akzeptiert ein Wort w Σ . die auf Q ¨ Σ ε Γ definiert ist. Danach brauchen wir nur die erste Variable A von α betrachten und w¨ hlen wieder nichtdeterministisch eine Regel A w2 β a aus. die nichtdeterministische Uberfuhrungsfunktion. Welche Akzeptanzmodi gibt es bei NPDAs? Es gibt zwei Akzeptanzmodi bei NPDAs: 1. nichtdeterministisch eine Ableitung S w1 α aus. welche also in einer Ableitung vorkommen. die Menge akzeptierender Endzust¨ nde a 8 £ q$  h t8 ¢ £ ¦ ¦ ¢ £ ¦ ¦ ¢ G 8 DD ¦ % }£ P FED P QP ¢ ¦ DD DD P FFD P ¦ FFD DD FFD ¦ ¢ % £ ¦ ¦ % Z0 % q0 Q. Waraus besteht ein NPDA? Ein NPDA besteht aus den folgenden Komponenten: Q. Dabei bestehen δ q a Z bzw. wenn es einen zul¨ ssigen Rechenweg von a q0 w Z0 nach q ε ε . w¨ hlen wir. die Initialisierung des Stack DD FED 9 9 S w1 α w1 w2 βα2 αr 9 9 DD EFD ¤ DD EFD ¤ ¢ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¦ QP ¢         . kann eine kontextfreie Grammatik so umgeformt werden. Maschinen f¨ r kontextfreie Spraa u chen m¨ ssen also mehr k¨ nnen als endliche Automaten (ein unendlicher Speicher steht zur u o Verf¨ gung) und weniger als linear bandbeschr¨ nkte Turingmaschinen (die Eingabe darf nur u a einmal von links nach rechts gelesen werden). Wenn α α1 αr gilt ist also folgende Ableitung m¨ glich: o Variablen. die endliche Zustandsmenge Σ. werden also stets vor alle anderen Variablen geschrieben und es kann auch immer nur auf die erste Variable zugegriffen werden. Sei q w1 wk Z1 Zm eine Konfiguration eines NPDA. also der Ubergang legal“ ist.

Gibt es zu jedem NPDA einen entsprechenden DPDA? Nein. a Dann sieht der PDA A2 (leerer Stack) wie folgt aus: Bei A1 kann der Stack zwischenzeitlich leer werden. Leerer Stack Akzeptierende Endzust¨ nde: a t 1. 2 Beides erreichen wir mit Hilfe des neuen Stackbuchstaben Z0 . Durch neue Regeln wird daf¨ r gesorgt. mit q F und γ Γ gibt. Das Wort wird. Wird # gelesen. der mit dem leeren Stack akzeptiert. Die Rechnung erfolgt dann. jedoch keinen DPDA. Akzeptanz durch akzeptierende Endzust¨ nde: a a Ein NPDA akzeptiert ein Wort w Σ . wenn ein akzeptierender Endzustand erreicht wurde. Es gilt also δ2 q ε Z0 qF ε mit qF F. den Stack zu leeren. weil der Stack a u zwischenzeitlich leer ist. sonst nicht. Dann ¨ simulieren wir die Rechnung des PDA. daß die Akzeptanzmodi fur NPDAs ineinander uberfuhrbar sind! ¨ ¨ ¨ Zu zeigen sind zwei Umformungen: Sei A1 ein PDA. F¨ r die Sprache L u wwR w 01 gibt es zwar einen NPDA der die Sprache erkennt. wenn es einen zul¨ ssigen Rechenweg von der Anfangskonfiguration q0 w Z0 in eine Konfiguartion q ε γ . die von PDAs akzeptiert werden! Die Sprache L w#wR w 01 wird von einem DPDA erkannt. ist er bei A2 ” noch nicht leer. Wenn der Stack bei A1 also zwischenzeitlich leer wird. daß A2 seinen Stack inklusive u 2 Z0 nur leeren kann. Akzeptierende Endzust¨ nde a Leerer Stack: G % % £ ¦ ¦ ¢ G % £ ¦ ¦ ¢  £ ¦ ¢ g ¡ ¡       . der die Sprache L mit Hilfe akzeptierender Endzust¨ nde akzeptiert. so wechseln wir 2 mit einer ε-Bewegung in einen akzeptierenden Zustand. wenn das Wort zuende gelesen wurde und A1 einen akzeptierenden Endzustand erreicht h¨ tte. ohne daß A1 ein Wort akzeptiert und A1 kann ein Wort auch akzeptieren. solange # noch nicht gelesen wurde.6 Greibach-Normalform und Kellerautomaten 2. daß der Automat A2 nicht zu fr¨ h akzeptiert. Stimmen die Buchstaben uberein. Desweiteren a muß gew¨ hrleistet sein. Ist der Stack leer und wR enth¨ lt keinen Buchstaben a mehr. wie bei 1. 2 Hier gehen wir ahnlich vor. Ist das 2 Wort zu Ende gelesen und nur noch Z0 befindet sich auf dem Stack. da dieser die 44 ¤ q£ ¦ ¦ ¢ G §u ¦ ’% X   y¤  d¤  z¤ % t 2. ganz oben auf dem Stack und kann daher mit dem ersten Buchstaben von wR verglichen werden. G $ ¦ •% X  G $ ¦ —% X  Die Sprache L wwR w Trennstelle raten kann. der der erste Buchstabe von wR ist. 01 wird von einem NPDA erraten. so wird akzeptiert. der ganz am Anfang der Rechnung geschrieben wird. Unser PDA A2 muß also in der Lage sein. Wieder legen wir einen neue Basis Z0 . Zeige. auf dem Stack gespeichert. ohne daß der Stack leer ist. so steht der letzte Buchstabe von w. wie bei A1 auf dieser neuen Basis“. Gebe einige Sprachen an. werden sie gel¨ scht und der n¨ chste ¨ o a Buchstabe wird betrachtet.

Sign up to vote on this title
UsefulNot useful