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

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

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

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 . 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. wie die RAM Programmzeilen hat Logarithmisches Kostenmaß muß benutzt werden.1 Turingmaschinen. welchen Buchstaben diese liest (Kopf auf Band1). damit Simulation fair bleibt Ist ein fest programmierter Rechner. zu Beginn q1 a Die universelle Turingmaschine kennt den Zustand in dem die simulierte Maschine ist (Band 3) und weiß. dann enthalten die drei B¨ nder: o a c) Band 3 enth¨ lt den aktuellen Zustand qi als 0i .3 Universelle Turingmaschinen Was ist eine universelle Turingmaschine? Programme sind Daten. Dabei bewegt sie den Kopf a auf Band 1 entsprechend 0m . der genau soviel kann wie ein programmierbarer Rechner Es gibt keinen Unterschied 01B 0 1 darzustellen . ¤ Universelle TM stoppt. 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. Churchsche These und Entscheidbarkeit b) RAM kann direkt auf Speicher zugreifen. 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.

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

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

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

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

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

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

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

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

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

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

wenn sie die gleiche Sprache entscheiden. 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 . a a a Jetzt gilt es noch zu zeigen: ¨ Wenn man also in aquivalenten Zust¨ nden einen Buchstaben a liest. ¨ a Wie entfernt man uberflussige Zust¨ nde? ¨ ¨ a ¨ Uberfl¨ ssige Zust¨ nde kann man finden. In diesem Falle gibt es dann n¨ mlich akzeptierende Zust¨ nde und nicht akzeptierende Zust¨ nde. daher ist die Entfernung uberflussiger Zust¨ nde in O Q Σ m¨ glich. indem man in der Graphendarstellung des Autou a maten einen DFS (Depth-First-Search) macht. a sind uberflussig. a Wann heißen zwei DFAs A und A gleich? Zwei DFAs A und A heißen aquivalent. in welchem der beiden Zust¨ nde man startet. Zusammenfassen aquivalenter Zust¨ nde. landet man wiea ¨ der in zwei aquivalenten Zust¨ nden.3 Endliche Automaten der minimale Automat dieselbe Sprache entscheidet und daß er tats¨ chlich minimal ist. ¨ ¨ a 2. ¨ Wie sieht ein Aquivalenzklassenautomat aus? ¨ Der Aquivalenzklassenautomat A zu einem gegebenen Automaten A sieht wie folgt aus: ¨ Um zu zeigen. wenn p q F u p q F . ¨ ¨ a o ¨ Wann heißen zwei Zust¨ nde eines DFA aquivalent? a Zwei Zust¨ nde eines DFA heißen aquivalent. 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 ¨ wir f¨ r einen DFA A die Aquivalenzklassen kennen. daß p q nur gilt. Entfernung uberflussiger Zust¨ nde. Jeder Zustand Q kann Σ viele Kanten haben. die dabei nicht erreicht werden. k¨ nnen wir also einen zu A aquivalenten u o ¨ ¨ Automaten A konstruieren. Zust¨ nde. daß F und δ wohldefiniert sind. wenn ¨ also gilt: LA LA Wie minimiert man einen endlichen Automaten? Ein endlicher Automat wird in zwei Schritten minimiert: 1. Wir interpretieren den Automaten also als einen Graphen mit der Knoten¨ ¨ menge Q und der Kantenmenge Σ. wenn es f¨ r das Akzeptanzverhalten des a ¨ u Automaten v¨ llig unerheblich ist. daß der Aquivalenzklassenautomat A auch dieselbe Sprache wie A entscheidet. Wir betrachten das leere Wort ε u bez¨ glich und sehen. den sogenannten Aquivalenzklassenautomaten. m¨ ssen wir zeigen.

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

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

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

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

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

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

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

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

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

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

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

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

u 31 DD ¦ EFD ¦ ‡ G£ ‡ ¢ ‡ ¨ ‡ ¤ Rkj i Rkj i 1 k Rik 1 Rk 1 Rk j 1 kk k % X  h    .4 Grammatiken. um vom Zustand i in den Zustand j zu o gelangen. wenn als Zwischenzust¨ nde nur die Zust¨ nde 1 a a k erlaubt sind ist also gleich der Menge der W¨ rter. die man lesen kann. die Chomsky-Hierarchie und das Wortproblem i in einen Zustand j kommt. Dies ist eine eventuell leere Teilmenge von ε Σ . 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. Damit ist R0j durch einen regul¨ ren Ausdruck darstellbar. die man lesen kann ohne den Zustand k zu benutzen o plus die Konkatenation von W¨ rtern. die zum Zustand k f¨ hren.

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

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

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

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

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

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

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

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

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

Chomsky-2 Syntaxbaum gibt es dann eine Variable B v k w x k . F¨ r gen¨ gend großes k fallen wir also aus der Sprache. daß wir zweimal dasselbe gemacht h¨ tten. Die Gesamt-Syntaxb¨ ume beider Schritte m¨ ßten also isomorph a a u sein. Und in diesem Teilbaum werden nur die Buchstaben b und c erzeugt.5 Kontextfreie Grammatiken. Dann haben wir gezeigt. o 41 % P G9 S t1 a pk wb pkt2 bqk w cqk t3 L 4 ¤ P ¤ P ¦ 5 £P ¢P ¨ ¢ G £ P g9 B v k w x k mit k 0v bq und x cq mit q 4 ¤ ¤ ¦ 5 G9 A vk wxk mit k 0v a p und x b p mit p G % ¦ ¦ G9 S t1 At2 Bt3 mit t1 t2 t3 T 0 0 š % ~ ~ ~ £ ¢ EP ˆP P £ ¢ G EP A9 PP š % ~ ~ ~ . daß alle erzeugten W¨ rter in L liegen. 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. 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. Wir m¨ ssen nun zeigen. Dies ist jedoch ein Widerspruch zur Annahme. wenn die u a Sprache eindeutig w¨ re. m¨ ssen diese beiden Variablen auf verschiedenen Wegen liegen. die Anzahl der c’s um o a u u q und die Anzahl der b’s um p q. 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. daß wir genauso gut zwischenzeitlich ein Wort aus L ableiten k¨ nnen.

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

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

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

Sign up to vote on this title
UsefulNot useful