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

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

die Maschine im Zustand q ist und der Kopf auf die Zelle zeigt. Unbeschr¨ nkter Speicher a 7. Unterprogramme 4. daß auf dem Band die Inschrift αβ eingerahmt von lauter Blankbuchstaben steht. Churchsche These und Entscheidbarkeit (1) Eine Konfiguration einer Turingmaschine ist ein String αqβ mit α Γ . Schleifen 5. (3) α q β ist Nachfolgekonfiguration von αqβ. wie eine Turingmaschine durch eine Registermaschine simuliert werden kann! Ist ohne Effizienzverlust m¨ glich o Drei Register f¨ r Zustandsnummer. Sortieren 8. a (2) α q β ist direkte Nachfolgekonfiguration von αqβ. 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. Mehrbandmaschinen 6. Sie bedeutet. 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. welches die Speicherabbildungsfunktion realisiert Zeige. Datenstrukturen 1. Notation αqβ α q β . Mehrspurmaschinen 3. da kein Rechenschritt“ auch in der Notation endlich viele Rechenschritte“ enthalten ” ” ist. 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 % ¡ ¡ ¡ ¡ ¡ ¡       . Endlicher Speicher mit schnellem Zugriff 2. wenn α q β in endlich vielen Rechenschritten aus αqβ entsteht. wenn α q β in einem Rechenschritt aus αqβ entsteht. die den ersten Buchstaben von β enth¨ lt.2 Simulation zwischen Turingmaschinen und Registermaschinen Zeige.1 Turingmaschinen. Es gilt stets αqβ αqβ. q Q und β Γ . Welche Techniken gibt es zur Programmierung von Turingmaschinen? 1. Notation αqβ α q β .

der genau soviel kann wie ein programmierbarer Rechner Es gibt keinen Unterschied 01B 0 1 darzustellen . 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 . ¤ Universelle TM stoppt. wie die RAM Programmzeilen hat Logarithmisches Kostenmaß muß benutzt werden.1 Turingmaschinen. damit Simulation fair bleibt Ist ein fest programmierter Rechner. 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.3 Universelle Turingmaschinen Was ist eine universelle Turingmaschine? Programme sind Daten. Dabei bewegt sie den Kopf a auf Band 1 entsprechend 0m . 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. 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 . TM muß daf¨ r weite Wege gehen u 1. 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.

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

F¨ r ein w L ist die Rechenzeit definiert u als die Anzahl der Rechenschritte bez¨ glich des k¨ rzesten akzeptierenden Rechenweges. die die Sprache L akzeptiert. 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   . wenn dies f¨ r die Entscheidungsu variante gilt. sich auf Entscheidungsprobleme zu beschr¨ n-ken? ¨ a Weil die Optimierungsvarianten oft auch in P liegen. die M auf Eingaben aus Σn macht. 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. 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. u u F¨ r w L betr¨ gt die Rechenzeit definitionsgem¨ ß 0. wenn es mindestens einen akzeptierende Rechenweg gibt. u deren worst case Rechenzeit polynomiell beschr¨ nkt ist.2 NP-Vollst¨ ndigkeitstheorie a ¨ 2 NP-Vollstandigkeitstheorie 2. o 2. Bei den meisten Problemen wird die Entscheidungsvariante polynomiell oft aufgerufen und so die Optimierungsvariante gel¨ st. 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.2 Nichtdeterministische Turingmaschinen und die Klasse NP Was ist eine nichtdeterministische Turingmaschine? Eine nichtdeterministische Turingmaschine NTM ist definiert wie eine DTM. Die worst case Rechenzeit tM n ist die maximale Anzahl von Rechenschritten. ob ¨ sie in P sind. Wie ist die Rechenzeit einer nichtdeterministischen Turingmaschine definiert? Sei M eine NTM. 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ß. Warum genugt es meist. f¨ r die es eine deterministische Turingmaschine M gibt. die M o akzeptiert. nur ist die Zustandubergangsfunktion δ hier durch eine Relation auf Q Γ ¨ Q Γ LN R ersetzt. Die von M akzeptierte Sprache L L M besteht aus allen W¨ rtern w. Wie ist die Klasse P definiert? P ist die Klasse der Probleme.1 Die Klasse P Wie ist die worst-case-Rechenzeit definiert? Sei M eine deterministische Turingmaschine auf dem Eingabealphabet Σ.

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

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

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

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

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

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

also: i 1 Wenn KP eine L¨ sung hat. Die Objekte.2 NP-Vollst¨ ndigkeitstheorie a Wir zeigen also. gibt es also verschiedene ai 1 i n. u Dabei ist S die Summe aller ai . wenn wir PAR l¨ sen k¨ nnen. daß wir KP l¨ sen k¨ nnen. Betrachten wir nochmal die Eingabe f¨ r PAR. Sei a1 o o o o an A eine Eingabe f¨ r KP . Betrachten wir nochmal die letzten beiden Objekte der PAR-Eingabe. 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. daß sie nicht in einer Partition sein k¨ nnen. dann f¨ llt auf. Daraus bauen wir die Eingabe a1 u an S A 1 A 1 f¨ r PAR. denn es gilt: a o 16 ¨  Also m¨ ssen die beiden in verschiedenen Partitionen sein. 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 sich zu A aufo summieren. die jedoch S u 1 zu S 1 erg¨ nzen haben genau den Wert A und bilden somit eine L¨ sung f¨ r KP .

das endliche Ausgabealphabet Automaten dieser Art heißen auch Mealy-Automaten. Je nach dem. u a Im folgenden werden jedoch nur noch Entscheidungsprobleme betrachtet. daß ¨ u 17 £ G ¦ £ ‡ % P ¦ DD FED % ¦G ¦ ¢ ¢ % P ¤ ¥£ δ q w1 wn DD EFD P P G ¦ ¢ 8 Weiter setzen wir δ auf Q Σ fort. Dabei kann die Eingabe nur einmal von links nach rechts gelesen werden. also a durch: y qw mit y Ω q Q w Σ 3. der Anfangszustand Σ Q £ ¦ ¦ ¦ ¦ ¦ ¦ `¤ ¢     Wie ist ein endlicher Automat definiert? Ein endlicher Automat A (DFA A) ist wie folgt definiert: DFA A Q Σ Ω q0 δ γ F . wird uber die Menge seiner Zust¨ nde u ¨ a gemessen. q0 Q. δ. Man muß daf¨ r nur zeigen. m¨ chten wir gerne wissen. Ω. Es ist daher auch klar. Wir k¨ nnten also Pech haben und die Optimierung eines a o endlichen Automaten ist NP-vollst¨ ndig. daß ein DFA in linearer Zeit bez¨ glich der Eingabel¨ nge arbeitet. der eine Sprache L entscheidet. a u daß sie NP-vollst¨ ndig sind. 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.3 Endliche Automaten 3 Endliche Automaten 3. die Menge der akzeptierenden Zust¨ nde a DFA A 9 8 6. die endliche Zustandsmenge 2. denn wie sich herausstellen wird. ist die Minimierung endliu cher Automaten sogar ziemlich effizient durchfuhrbar. reicht. da deren Betrachtung. gilt f¨ r viele Optimierungsvarianten. Σ. Q. wie auch bei der NP-Vollst¨ ndigkeit. das endliche Eingabealphabet 3. F Q. Es gilt also: δ δ q w1 wn wn £ ¦ ¦ ¦ ¦ S¤ ¢ C 7. a Wir haben jedoch Gl¨ ck. er also die minimal m¨ gliche Anzahl an Zust¨ nden hat.1 Schaltwerke und endliche Automaten Dabei ist: 1. γ. andert er seinen Zustand und macht eine Ausga¨ be. in welchem Zustand er sich befindet und welchen Buchstaben er liest. Wie wir schon bei o a der Theorie der NP-Vollst¨ ndigkeit gesehen haben. Ein Automat beginnt im Startzustand und liest dann sequentiell die Eingabe. Wenn wir nun einen DFA entworfen haben. Ω und γ fallen dabei weg.2 Die Minimierung endlicher Automaten Die G¨ te eines DFA. die Zustands¨ bergangsfunktion mit δ : Q u % 4. ob er o optimal ist. 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. 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 Σ. Zusammenfassen aquivalenter Zust¨ nde. 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. In diesem Falle gibt es dann n¨ mlich akzeptierende Zust¨ nde und nicht akzeptierende Zust¨ nde. Jeder Zustand Q kann Σ viele Kanten haben. daher ist die Entfernung uberflussiger Zust¨ nde in O Q Σ m¨ glich. Zust¨ nde. daß p q nur gilt. Wir betrachten das leere Wort ε u bez¨ glich und sehen. ¨ ¨ a o ¨ Wann heißen zwei Zust¨ nde eines DFA aquivalent? a Zwei Zust¨ nde eines DFA heißen aquivalent. ¨ a Wie entfernt man uberflussige Zust¨ nde? ¨ ¨ a ¨ Uberfl¨ ssige Zust¨ nde kann man finden. wenn sie die gleiche Sprache entscheiden. a a a Jetzt gilt es noch zu zeigen: ¨ Wenn man also in aquivalenten Zust¨ nden einen Buchstaben a liest. den sogenannten Aquivalenzklassenautomaten. in welchem der beiden Zust¨ nde man startet. 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 . wenn ¨ also gilt: LA LA Wie minimiert man einen endlichen Automaten? Ein endlicher Automat wird in zwei Schritten minimiert: 1. ¨ Wie sieht ein Aquivalenzklassenautomat aus? ¨ Der Aquivalenzklassenautomat A zu einem gegebenen Automaten A sieht wie folgt aus: ¨ Um zu zeigen. 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. wenn p q F u p q F . Wenn ¨ wir f¨ r einen DFA A die Aquivalenzklassen kennen. landet man wiea ¨ der in zwei aquivalenten Zust¨ nden. k¨ nnen wir also einen zu A aquivalenten u o ¨ ¨ Automaten A konstruieren. die dabei nicht erreicht werden. daß F und δ wohldefiniert sind. Entfernung uberflussiger Zust¨ nde. a Wann heißen zwei DFAs A und A gleich? Zwei DFAs A und A heißen aquivalent. ¨ ¨ a 2. m¨ ssen wir zeigen. a sind uberflussig.

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

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

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

Wir w¨ hlen das Wort 0N 1N 0N . kann man vom Zustand q aus v beliebig oft lesen. 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 ¦ ¢ ¡ ¡         . Gebe Beispiele fur das Pumping Lemma! ¨ Sei N die Konstante aus dem Pumping Lemma. so w¨ hlen wir u ε v 0 w 1k . wo gepumpt wird bzw. Jetzt a k¨ nnen wir nur im Block der Nullen pumpen und es gilt f¨ r jede Zerlegung uv2 w L. 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. Dann gibt es eine Konstante N. Das allgemeine Pumping Lemma lautet: Sei L eine Sprache. was er schon vorher gelesen hat. nur ist hier die Zustands¨ berfuhrungsfunktion durch eine Relation Q Σ Q ersetzt. so bleiben wir in der Sprache. das Wort bleibt in der Sprache. Es gilt a 2 N. Wir w¨ hlen das Wort 0N . da nicht erzwungen werden kann. Wir m¨ ssen also mit dem Pumping u Lemma erzwingen. u Gebe eine nichtregul¨ re Sprache an. Wenn der Automat u ¨ im Zustand q den Buchstaben a liest. wechselt der Automat in alle Zust¨ nde q . das Wort 01k . Man kann diese Relation auch als u ¨ eine Abbildung von Q Σ in die Potenzmenge der Zust¨ nde sehen. v ist n¨ mlich genau dann 1 lang. wenn der Zustand a der sich wiederholt eine Schlaufe hat und das Wort z die Schlaufe benutzt. f¨ r die es a u ein q a q in der Zustands¨ berfuhrungsrelation gibt. 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. die von einem DFA akzeptiert wird. Sonst pumpen wir die Anzahl der Nullen beliebig auf. 2 2 a W¨ hlt unser Gegner z. Pumpt unser a 2 Gegner ab. o u Sei N die Konstante aus dem Pumping Lemma. welches die kritische Stelle in der Sprache ist. daß wir in den Einsen pumpen.3 Endliche Automaten Außerdem gilt auf jeden Fall v 1.4 Nichtdeterministische endliche Automaten Was ist ein nichtdeterministischer Automat? Ein nichtdeterministischer Automat (NFA) ist definiert wie ein DFA. Sei nun uvi w das Eingabewort. da 1k L gilt. da man danach eh wieder im Zustand q ist. Dann gilt: Oder ganz einfach gesagt: Weil der Automat sich nicht merkt. 3.B. f¨ r die zum Nachweis ihrer Nichtregularit¨ t das normale“ Pumping u a ” Lemma nicht ausreicht. 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. so daß f¨ r jedes Wort z L mit z u N eine Zerlegung z tyt existiert.

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

Es ist hier schon anzumerken. Man kann also o o a zwei beliebige ungleiche W¨ rter als nicht Nerode-¨ quivalent nachweisen. daß es f¨ r jeden NFA A einen DFA A gibt. u a K¨ nnen NFAs mehr als DFAs? o Nein. daß δ q0 w δ q0 w gilt.h. d. der Startzustand ist das Element der Potenzmenge Q . daß die Zust¨ nde a durch Mengen dargestellt sind. Und f¨ r die Zuu stands¨ berfuhrungsfunktion δ gilt schließlich: u ¨ q q δ q a ist also die Menge der Zust¨ nde. 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 . also Σ Σ. Wir konstruieren den DFA uber die sogenannte Potenzmengenkonstruktion.h. die mindestens einen akzeptierenden / Endzustand bez¨ glich Q enthalten. wenn man einen weiteren Buchstaben liest. 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 . o a Man kann dies auch so interpretieren. a Um zu zeigen. daß a auch die Menge der Zust¨ nde gleich bleibt. wann die Eingabe zu Ende ist. daß A die gleiche Sprache wie A entscheidet. daß nichts Falsches folgt. Die Menge der akzeptierenden Endzust¨ nde a a F ist die Menge der Elemente in der Potenzmenge. daß δ q0 w δ q0 w ist. wenn er genau in den Zust¨ nden aus q sein kann. Daraus folgt dann. Die W¨ rter sind also nicht Nerode-¨ quivalent. a Man zeigt. d. un¨ ser DFA merkt sich uber die Potenzmenge in welchen Zust¨ nden der NFA nach dem Lesen ¨ a eines Wortes sein kann. Daß dieser worst-case auch tats¨ chlich eintreten kann a a zeigt die oben besprochene Sprache Ln . da er ja nicht weiß. das heißt F u q Q q F 0 . Dieser Schritt ist eigentlich logisch. Was ist das Problem bei der Potenzmengenkonstruktion? Bei der Potenzmengenkonstruktion stellt sich das Problem. man geht davon aus. der im worstu case exponentiell mehr Zust¨ nde hat.h. a a den man noch effizient minimieren kann. reicht es zu zeigen. Und daf¨ r brauch man 2n Zust¨ nde.3 Endliche Automaten 101100 zur Sprache geh¨ rt. 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. daß die Induktionsvorraussetzung richtig ist. welches nur den Startzustand enth¨ lt. daß die Zustandsmenge des entsprechenden DFA sehr groß werden kann. Dies wird per Induktion uber die L¨ nge von w gemacht. Das Eingabealphabet bleibt gleich. die der NFA nach dem Lesen von a erreichen a kann. daß der DFA sich vom bisher gelesenen String immer die letzten n Buchstaben merken muß. da wir ja schon bei der Definition von NFAs gesagt haben. daß also die Menge der Zust¨ nde nach dem Lesen von w bei beiden Automaten gleich ist. daß wir die Zustands¨ bergangsrelation als eine Abbildung u von Q Σ in die Potenzmenge Q interpretieren k¨ nnen. Der neue Startzustand q0 ist q0 . d. Hierzu muß man zeigen. Fazit: Zu jeden NFA mit n Zust¨ nden gibt es einen entsprechenden DFA mit 2n Zust¨ nden. wenn man davon ausgeht.

die beim Lesen von a in den Zust¨ nden in q erreichbar sind. a Gegen die Erzeugung aquivalenter Zust¨ nde gibt es noch keinen effektiven Algorithmus. ¨ Die Dictionary-Laufzeit ist. Back-. ob ein nicht akzeptierender Zustand erreicht werden kann. als er eigentlich sein m¨ ßte: u ¨ 1. ¨ Was ist ein NFA mit ε-Uberg¨ ngen? a ¨ Ein NFA mit ε-Uberg¨ ngen kann seinen Zustand andern. 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         . Wie wir schon wissen gibt es zwei Dinge. die einen DFA unter Umst¨ nden gr¨ ßer a o machen. so kann der NFA. u a ¨ 2. so enth¨ lt der Graph Kreise und die erkannte a Sprache ist damit unendlich. ¨ a wohl aber gegen die Erzeugung uberflussiger Zust¨ nde. Solange Q nicht leer ist.B. F¨ r jedes solcher δ q a wird uberpruft. Zuvor entfernen wir uberflussige Zust¨ nde. a a 3. 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. a u da ein DFA zwischenzeitlich 21000 10301 Zust¨ nde h¨ tte. a ¨ q . in jedem Fall O Q . werden die Kanten des Graphen umgedreht und von akzeptierenden Zust¨ nden aus nach Kreisen gesucht. Es ist anzumerken. kann man aus praktischer Sicht keinen minimalen DFA daf¨ r entwerfen. Gilt B 0. Ist er Zustand noch nicht vorhanden. Die Sprache ist unendlich. der ebenfalls mit n Zust¨ nden auskommt. weil nicht erreichbare Zust¨ nde. Da ein Graph jedoch exponentiell viele Kreise enthalten kann. Uberfl¨ ssige. ohne etwas zu lesen. Warum ist eine Sprache L endlich. Forward/ und Cross-Kanten einteilt. 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. Dazu benutzt man eine Queue ¨ ¨ a Q und ein Dictionary D. ob ein akzeptierender Zustand erreicht werden kann. daß es zu jedem NFAε mit n Zust¨ nden einen aquivalenten a ¨ ¨ NFA ohne ε-Uberg¨ nge gibt.3 Endliche Automaten von Zust¨ nden hat. wird er in D und Q eingefugt. erkannt ¨ a a werden soll. wenn wir einen 2-3-Baum benutzen. Dies a wird mit Hilfe eines DFS gemacht. Also ist L endlich. der die Kanten disjunkt in Tree-. 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. wenn es in ¨ ¨ a der Graphendarstellung des Automaten mindestens einen Kreis gibt. Zu Beginn wird q0 q0 in die Q und D gepackt. da es nur endlich viele solcher Wege gibt. Wir a a berechnen also δ q a . indem wir ihn in D suchen. Gilt z. Aquivalente Zust¨ nde. Mit einem DFS vom Startzustand aus wird im als Graphen gegebenen Automaten getestet. ob wir diesen Zustand u ¨ ¨ schon erzeugt haben.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. wenn der NFA 1000 Zust¨ nde a a a hat.

q0 ist das Paar von Anfangszust¨ nden von A1 und A2 . werden jetzt akzeptiert und umgekehrt. F¨ r die Zustandubergangsfunktion gilt: u ¨ Durchschnitt: Hier kann man entweder ein ahnliche Konstruktion wie f¨ r den Durchschnitt benut¨ u zen. oder die Regel von de Morgan anwenden. .3 Endliche Automaten Vereinigung: Wir bilden den Produktautomaten mit Q Q1 Q2 . W¨ rter a die vorher nicht akzeptiert wurden. 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. Bei der obigen Konstruktion muß man nur die Menge der akzeptierenden Zust¨ nde setzen als q1 q2 mit q1 F1 und q2 a F2 . F ist die Menge aller q1 q2 f¨ r die gilt: q1 F1 oder q2 a u F2 .

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

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

also w o der Automat die Zust¨ nde q0 q1 a qn mit qn F. f¨ r die wir einen NFA entwerfen. 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.3 Chomsky-3-Grammatiken. so gibt es eine NTM M. also u o k¨ nnen auch nur diese W¨ rter nichtdeterministisch von der Grammatik erzeugt werden. 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. F¨ r w L G akzeptiert die ¨ u Maschine. daß folgender Satz gilt: Wenn L durch eine Chomsky-0-Gram-matik beschrieben wird.4 Grammatiken. Da wir nur das Eingabewort erzeugen wollen. 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 . die genau L akzeptiert. 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 Σ. Und man kann die Ableitungen u erst terminieren“. regulare Sprachen und Ausdrucke ¨ Zeige. DFA Chomsky-3-Grammatik: L gilt. m¨ ssen wir noch q0 B und # l¨ schen k¨ nnen. enth¨ lt G die Produktion a Die Konfiguration ist nun von der Form B Bq0 w1 wn #. Chomsky-3-Grammatik DFA: Gegeben ist also eine Chomsky-3-Grammatik. Danach w¨ hlt sie nichtdeterministisch eine Produktion und schaut nach. ¨ 4. wenn q F gilt. 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 ¡     . 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. sonst nie. die Chomsky-Hierarchie und das Wortproblem Falls δ q a q a N . ” 2. Diese Richtung ist einfacher: Die NTM M schreibt das Startsymbol S an eine freie Stelle des Bandes. da dann auch eine Ableitung q ε existiert. Zeige. Also gilt: P ¤ ©£ ¦ ¢ % % P DD ¦ EFD ¦ ¤ ¤ ¤ 9 9 ¦ DD EFD ¤ 9 1.

Das Endergebnis ist dann folgende Menge: a Da die Vereinigung eine der erlaubte Operationen bei regul¨ ren Sprachen ist. 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. Es gelte also Q 1 n . Damit haben wir auch schon einen Ansatz f¨ r die a u dynamische Programmierung. die er entscheidet. ¨ a j gilt. Wir u a gehen diese Richtung mit dem Prinzip der dynamischen Programmierung an. Dabei kommen alle Zust¨ nde als Zwischenzust¨ nde in Frage. Regul¨ re Ausdr¨ cke a u DFA:  ¨ 2. um von Zustand i nach Zustand j zu kommen. gen¨ gt a u es also zu zeigen. o o Was sind nun die kleineren L¨ sungen? Wir k¨ nnen uns doch fragen. Also die leere Sprache. Zeige. 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. um vom Startzustand q0 in o o a einen akzeptierenden Endzustand q F zu kommen. Diese Richtung ist schon etwas kniffeliger.h. Sind A1 und A2 regul¨ re Ausdr¨ cke. A2 (Vereinigung). daß ein Rn durch einen regul¨ ren Ausdruck darstellbar ist. 3. Wir werden nun nach und nach immer mehr Zust¨ nde a zulassen. Wir haben also einen DFA gegeben und sollen f¨ r die Sprache. daß DFAs gegen Vereinigung. die wir lesen k¨ nnen. wir bauen aus vielen kleinen L¨ sungen die Gesamtl¨ sung zusammen. die man lesen o i kann. Es ist also die Menge der R0j ist die Menge der W¨ rter w. Dies a 1i geschieht per Induktion uber die Zahl k erlaubter Zwischenzust¨ nde. f¨ r die δ i w o u i W¨ rter. Dann ino teressieren uns doch alle W¨ rter. Dann sei Rkj die Menge der W¨ rter. 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. so auch A1 a u tenation) und A1 (Kleenescher Abschluß). wenn die Zust¨ nde 1 a k als Zwischenzust¨ nde erlaubt sind. Die Ausdr¨ cke 0 ε und a f¨ r a Σ sind regul¨ re Ausdr¨ cke. d.4 Grammatiken. Desu u weiteren haben wir schon gezeigt. DFA Regul¨ re Ausdr¨ cke: a u 9 1. u u a u die Sprache des leeren Wortes und die Sprache des einbuchstabigen Wortes. Konkatenation und Kleeneschen Abschluß abgeschlossen sind. Durch endliche Anwendung der Regeln 1 und 2 lassen sich alle regul¨ ren Ausdr¨ cke a u darstellen. welche W¨ rter o o o wir auf dem Weg von einem Zustand zu einem anderen lesen k¨ nnen. einen regul¨ ren Ausdruck angeben. 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     .

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

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

f¨ r die A ε gilt. so f¨ hren wir m 2 neue Variablen ein. da ε-Regeln eliminiert sind und auch keine Kettenregeln mehr vorhanden sind. Die Regel A der Gr¨ ße der Grammatik m 1 Einheiten. 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. Beschr¨ nkung der rechten Seite auf zwei Variablen: a Stehen in einer separierten Grammatik in einer Ableitung auf der rechten Seite m 3 Variablen. o a ¨ Syntaxbaume haben lineare Tiefe. wird es auch in eine Queue Q aufgenommen und alle Seiten mit A auf der linken Seite m¨ ssen nicht mehr betrachtet werden. Separation: Ein Grammatik heißt separiert. die auch bleiben. da wir ja anstatt der o Terminalzeichen jetzt Variablen benutzen. 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. Streichung der ε-Regeln: Dazu berechnen wir die Menge V aller Variablen A f¨ r die A ε gilt. die in n Schritten durch Terminalzeichen ersetzt werden. Wir betrachten u logischerweise also nur noch Regeln. o o 2. da wir ja u schon A ε herausgefunden haben. 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. die jeweils 2 Einheiten verursachen. da die Syntaxbaume solcher Grammatiken bin¨ r sind. bei denen auf der rechten Seite Variablen oder ε steht (A ε A B A BC). Wir erreichen einen maximalen Zuwachs an Gr¨ ße. die also u in einem Schritt zum leeren Wort abgeleitet werden k¨ nnen. wenn ein o A in V aufgenommen wird. 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. wenn in allen Regeln auf der rechten o a1 am mit ai T verursacht in Seite nur Terminalzeichen stehen. o o . Aus einer Regel o o mit m 1 Variablen werden m 1 Regeln mit je drei Variablen: 3. 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. Also: m ∞ m ∞ Die Gr¨ ße der Grammatik verdreifacht sich also h¨ chstens. Hinzu kommen jedoch noch m Regeln. Also sind h¨ chstens 2n 1 Ableitungen m¨ glich. 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. wenn auf der rechten Seite von Ableitungen entweder nur Variablen stehen oder ein Terminalzeichen.5 Kontextfreie Grammatiken. Jedesmal.

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

A also in einem Schritt zu wi abgeleitet werden kann.bzw. Allgemein sei Vi j die Menge aller Variablen A f¨ r die A wi w j gilt. was auch nicht verwundert. 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 %         . Also die u u Regel A BC mit dem dazugehorigen k f¨ r l 0 oder A wi f¨ r i j. u F¨ r l 0 gilt nun. 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 B wi wk und C wk 1 w j gilt. wo gepumpt werden soll. ¨ u u Wie sorgt man fur einen effizienten look-up? ¨ Indem man f¨ r jedes Vi j ein Array der L¨ nge V anlegt. Offensichtlich ist w L G genau dann. daß A Vi j ist.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. gibt es eine Konstante N . so daß B Vik und C Vk 1 j ist. da man nicht von vornherein weiß. da einfach nur alle o Produktionen angeschaut werden m¨ ssen.5 Kontextfreie Grammatiken. Wieviele Mengen Vi j gibt es nun? Genau n n O n2 . wenn es eine Ableitung A BC und ein k u i j 1 gibt. abgepumpt werden kann. die mindestens so lang wie N sind. folgendes gilt: z l¨ ßt sich so in uvwxy o a zerlegen. Es kann jedoch auch reichen a an nur einer Stelle zu pumpen. Der look-up ist dann in Zeit O 1 m¨ glich. Chomsky-2 die Menge V1n aller Variablen A berechnen f¨ r die gilt A u w1 wn . Desweiteren gilt dann. Hier kann zus¨ tzlich noch entschieden werden. Also reicht f¨ r ein Vi j Rechenzeit o u O Pn . 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. Was ist Ogden’s Lemma? Ogden’s Lemma ist quasi das verallgemeinerte Pumping Lemma f¨ r kontextfreie Sprau chen. da die Grammatik in Chomsky-Normalform gegeben ist. wenn S V1n gilt. ob eine u a Variable in Vi j vorkommt oder nicht. Also benutzen wir die Methode der dynamischen o Programmierung und gehen Bottom-Up vor. 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. a wo man das gr¨ ßere Problem teilen muß. Die Berechnung eines wi ist also in Zeit O P m¨ glich.B.in dem man markiert. Es gilt n¨ mlich A Vii . mit einem Divide-And-Conquer Algorithmus) so erh¨ lt man leicht exponentielle Kosten. ist jedoch trivial. Also ist der Algorithmus 2 3 beschr¨ nkt. 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. Wir berechnen u die Vi j jetzt nach wachsendem l j i und beginnen mit l 0. daß jedes Wort uvi wxi y in L liegt. o 5. also das Wort an zwei Stellen gleichm¨ ßig auf. Geht man dieses Problem Top-Down an (also z. so daß f¨ r alle u W¨ rter z L. wenn A a wi gilt.

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

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

daß die L¨ sung f¨ r die x-Folge und die y-Folge aus der gleichen Indexfolge gebildet o u wird. also aus k Paaren von Strings xi yi Σ f¨ r 1 i k. y-Strings zu bilden. Wichtig f¨ r das PKP u ist. nicht rekursiv ist! Dazu reduzieren wir das PKP auf dieses Problem. die der Durchu schnitt zweier kontextfreier Sprachen ist. ob der Schnitt zweier Grammatiken leer ist.5 Kontextfreie Grammatiken.6 Unentscheidbare Probleme Welche beiden unentscheidbaren Probleme fur kontextfreie Sprachen kennst du? ¨ Ist die kontextfreie Grammatik G mehrdeutig? Zeige. 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. 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 . Wir bauen jetzt f¨ r die x-Strings und f¨ r die y-Strings u u u Grammatiken. daß auch das leere Wort erzeugbar ist. da gilt: 5. dann w¨ ren a a sie. nach dem Satz von de Morgan auch gegen Durchschnitt abgeschlossen. Komplement: W¨ ren die kontextfreien Sprachen gegen Komplement abgeschlossen. 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. Das heißt: Wir k¨ nnen das PKP l¨ sen. Die beiden Grammatiken G1 und G2 sehen wie folgt aus.bzw. 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. um ein Wort aus der Grammatik mit Hilfe der x. ob der Schnitt zweier kontextfreier Sprachen leer ist. daß die Entscheidung. In diesen Grammatiken gilt T Σ a1 ak . Die Grammatiken seien wie oben gegeben: V P V1 P1 S S εS SS S S1 b i ci i 1 . welche Indexfolge wir benutzt haben. o o wenn wir entscheiden k¨ nnen. Dazu merken wir uns uber die k neuen Variablen a1 ¨ ak . da sie gegen Vereinigung abgeschlossen sind. wobei S1 das Startsymbol f¨ r G1 u ist und S2 f¨ r G2 : u 1.

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

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

5 Kontextfreie Grammatiken. daß wir zweimal dasselbe gemacht h¨ tten. 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 š % ~ ~ ~ . Chomsky-2 Syntaxbaum gibt es dann eine Variable B v k w x k . 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. Die Gesamt-Syntaxb¨ ume beider Schritte m¨ ßten also isomorph a a u sein. 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. F¨ r gen¨ gend großes k fallen wir also aus der Sprache. m¨ ssen diese beiden Variablen auf verschiedenen Wegen liegen. Dann haben wir gezeigt. 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. welches wir dann zu an n! bn n! cn n! L komo plettieren. wenn die u a Sprache eindeutig w¨ re. daß wir genauso gut zwischenzeitlich ein Wort aus L ableiten k¨ nnen. Dies ist jedoch ein Widerspruch zur Annahme. Wir m¨ ssen nun zeigen. die Anzahl der c’s um o a u u q und die Anzahl der b’s um p q. Und in diesem Teilbaum werden nur die Buchstaben b und c erzeugt.

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

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

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

Sign up to vote on this title
UsefulNot useful