Automaten und Formale Sprachen Skript zur Vorlesung Beispiel 3.1.11 sind dies z.B. 01, 0101 und...

download Automaten und Formale Sprachen Skript zur Vorlesung Beispiel 3.1.11 sind dies z.B. 01, 0101 und 01001101. Die Menge L(G) = {w ... S⇒µ; S⇒0S0 ⇒01S10 ⇒01110;

of 113

  • date post

    05-May-2018
  • Category

    Documents

  • view

    215
  • download

    3

Embed Size (px)

Transcript of Automaten und Formale Sprachen Skript zur Vorlesung Beispiel 3.1.11 sind dies z.B. 01, 0101 und...

  • Automaten und Formale Sprachen

    Skript zur Vorlesung

    WS 2010/11

    Teil 2 (Kap. 4+5)

    Lesender: Prof. D. Kuske

    Autor: Prof. M. Dietzfelbinger

    Fassung vom 24.11.2010

    Technische Universitat Ilmenau

    Fakultat fur Informatik und Automatisierung

    Fachgebiet Komplexitatsheorie und Effiziente Algorithmen

  • i

  • Inhaltsverzeichnis

    0 Vorbemerkungen 2

    0.1 Einleitung und Uberblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    0.2 Zur Arbeitstechnik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    0.3 Literatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    1 Grundbegriffe 9

    1.1 Alphabete und Sprachen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    2 Endliche Automaten und regulare Sprachen 18

    2.1 Deterministische endliche Automaten . . . . . . . . . . . . . . . . . . . . . 18

    2.1.1 Endliche Automaten mit Ausgabe . . . . . . . . . . . . . . . . . . . 30

    2.2 Nichtdeterministische endliche Automaten . . . . . . . . . . . . . . . . . . 31

    2.3 Regulare Ausdrucke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

    2.4 Das Pumping-Lemma fur regulare Sprachen . . . . . . . . . . . . . . . . . 60

    2.5 Abschlusseigenschaften fur regulare Sprachen . . . . . . . . . . . . . . . . . 63

    2.6 Entscheidbarkeitsfragen fur regulare Sprachen . . . . . . . . . . . . . . . . 68

    2.7 Die Minimierung deterministischer endlicher Automaten . . . . . . . . . . 71

    2.7.1 Unerreichbare Zustande . . . . . . . . . . . . . . . . . . . . . . . . 71

    2.7.2 Aquivalente und nicht-aquivalente Zustande . . . . . . . . . . . . . 74

    2.7.3 Minimalautomaten . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

    3 Grammatiken und die Chomsky-Hierarchie 87

    3.1 Grammatiken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

    3.2 Rechtslineare Grammatiken und regulare Sprachen . . . . . . . . . . . . . 99

    3.2.1 Rechtslineare Grammatiken . . . . . . . . . . . . . . . . . . . . . . 99

    3.2.2 Aquivalenz zu regularen Sprachen . . . . . . . . . . . . . . . . . . . 100

    ii

  • 3.2.3 Linkslineare Grammatiken . . . . . . . . . . . . . . . . . . . . . . . 102

    4 Kontextfreie Grammatiken und kontextfreie Sprachen 105

    4.1 Beispiele und Ableitungen . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

    4.2 Ableitungsbaume, Linksableitungen, Rechtsableitungen . . . . . . . . . . . 111

    4.3 Die Chomsky-Normalform . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

    4.3.1 Separierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

    4.3.2 Verkurzung rechter Seiten . . . . . . . . . . . . . . . . . . . . . . . 127

    4.3.3 Bearbeitung von -Produktionen . . . . . . . . . . . . . . . . . . . 129

    4.3.4 Elimination von Kettenregeln . . . . . . . . . . . . . . . . . . . . . 137

    4.4 Das Pumping-Lemma fur kontextfreie Sprachen . . . . . . . . . . . . . . . 141

    4.5 Der Cocke-Younger-Kasami-Algorithmus . . . . . . . . . . . . . . . . . . . 157

    4.6 Abschlusseigenschaften kontextfreier Sprachen I . . . . . . . . . . . . . . . 162

    5 Kellerautomaten 167

    5.1 Nichtdeterministische Kellerautomaten . . . . . . . . . . . . . . . . . . . . 167

    5.2 Top-Down-Parsing, LL-Parsing . . . . . . . . . . . . . . . . . . . . . . . . 180

    5.3 Bottom-Up-Parsing, LR-Parsing . . . . . . . . . . . . . . . . . . . . . . . . 191

    5.4 Akzeptierungsmodi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196

    5.5 Kellerautomaten und Grammatiken . . . . . . . . . . . . . . . . . . . . . . 198

    5.6 Abschlusseigenschaften II . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201

    5.7 Deterministische Kellerautomaten und ihre Sprachen . . . . . . . . . . . . 202

    5.8 Entscheidungsfragen fur kontextfreie Sprachen . . . . . . . . . . . . . . . . 209

    A 214

    A.1 Zahldarstellungen und Abzahlungen . . . . . . . . . . . . . . . . . . . . . . 214

    A.1.1 Die b-are Zahldarstellung . . . . . . . . . . . . . . . . . . . . . . . 214

    A.1.2 Die b-adische Zahldarstellung . . . . . . . . . . . . . . . . . . . . . 218

    A.2 Induktive Definitionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

    A.2.1 Beispiel: Aussagenlogische Formeln . . . . . . . . . . . . . . . . . . 222

    A.2.2 Beispiel: Korrekte Klammerausdrucke . . . . . . . . . . . . . . . . . 225

    A.2.3 Induktive Definitionen: Formaler Rahmen . . . . . . . . . . . . . . 228

    1

  • Kapitel 4

    Kontextfreie Grammatiken undkontextfreie Sprachen

    In diesem Kapitel untersuchen wir die im vorigen Kapitel definierte Sprachklasse L2 ge-nauer. Diese Klasse (und besonders noch engere Teilklassen davon) spielt eine zentraleRolle bei der Spezifikation von Programmiersprachen und der Konstruktion von Compi-lern fur Programmiersprachen.

    4.1 Beispiele und Ableitungen

    Wir wiederholen Definition 3.1.10: Eine kontextfreie Grammatik G besteht aus derMenge V der (syntaktischen) Variablen , einem Terminalzeichen-Alphabet , ei-nem Startsymbol S V und der Menge P der Produktionen , wobei jede Produktionin P die Form

    A X1 Xr, A V, X1, . . . , Xr V hat. (Elemente von V bezeichnen wir mit X,Y, Z,Xi, Yi, Zi, usw.)Man erinnere sich auch an die Konvention, statt

    A 1 , A 2 , . . . , A s

    kurzA 1 | 2 | | s

    zu schreiben.

    Wir haben schon mehrere Beispiele fur kontextfreie Grammatiken gesehen:

    (a) Beispiel 3.1.1 sollte arithmetische Ausdrucke mit den vier Grundoperationen, Klam-merung und der Prioritatsregel

    Punkt vor Strich beschreiben.

    105

  • (b) Bei Beispiel 3.1.11 sollte, so wurde behauptet, mit den drei Produktionen

    S | SS | 0S1

    die Menge kKA der korrekten Klammerausdrucke beschrieben werden. (Diese Spra-che wird in Definition A.2.4 im Anhang definiert.)

    (c) In Beispiel 3.1.12 sollten die beiden Produktionen

    S | 0S1

    die Sprache {0n1n | n 0} beschreiben.

    Wir erinnern uns weiter an den Ableitungs-Kalkul. (Siehe Definition 3.1.3(c).) Wenn

    = Y1 Ys A Z1 Zt(mit Y1, . . . , Ys, Z1, . . . , Zt V ), und A X1 Xr eine Produktion in P ist, dannkann man aus in einem Schritt

    = Y1 Ys X1 Xr Z1 Zt

    ableiten ; man schreibt .Dann betrachtet man Ketten von Ableitungsschritten und schreibt

    , wenn es eineFolge

    = 0 1 t , t 0 ,von Ableitungsschritten gibt. Die Worter (V ), die man auf diese Weise aus Serzeugen kann, heien Satzformen in G. D. h.:

    (V ) ist Satzform in G es existiert eine Folge S = 0 1 t = , mit t 0.

    Satzformen in Beispiel 3.1.1 sind z. B. dieZwischenworter, die in der in diesem Beispiel

    angegebenen Ableitung auftreten, also

    expr , term , term / factor , term / (expr) , term / (expr - term) ,factor / (expr - term) , num / (expr - term)

    und so weiter. Keine Satzformen sind

    (expr / expr)(term / expr) und -term .

    In Beispiel 3.1.11 sind z. B. die folgenden Worter Satzformen (prufen!):

    S , 0S1 , 01 , SS , 0S1S , 01S , 01SS , 01S0S1 ,

    010S1S , 0101S , 0101 , 01S01 , 0100S110S1 , 0100110S1 , 01001101 .

    106

  • Keine Satzformen sind1S0 , S0S , 0S0S1,

    und so weiter.

    Sehr nutzlich fur den Nachweis, dass etwas keine Satzform ist, ist der Umstand, dass mandas Konzept der Satzformen auch als induktive Definition fassen kann, vgl. Anhang A.2:

    (i) S ist Satzform in G;(ii) wenn = Y1 YsAZ1 Zt Satzform in G ist und A X1 Xr eine Pro-duktion in P ,dann ist auch = Y1 YsX1 Xr Z1 Zt eine Satzform in G.(iii) Nichts sonst ist Satzform in G.

    Die Aquivalenz der beiden Formulierungen ist nicht schwer nachzuweisen. (Der Leser isteingeladen, dies als Ubung zu beweisen.) Wir benutzen diejenige der beiden Formulierun-gen, die bequemer ist.

    Induktion uber den Aufbau von Satzformen ist oft hilfreich, um

    nachzuweisen, dass alle Satzformen eine bestimmte Eigenschaft haben. In Beispiel 3.1.1kann man z. B. mit einer solchen Induktion leicht zeigen, dass keine Satzform mit

    -

    beginnt. Daher kann - term keine Satzform sein. Mit derselben Methode kann man be-weisen, dass in keiner Satzform eines der Worter )expr , )term , )factor oder )( alsTeilwort vorkommen kann. Daher kann (expr / expr)(term / expr) keine Satzformsein.

    Unter den Satzformen zu einer Grammatik G interessieren uns besonders diejenigen, diekeine Variable enthalten. In Beispiel 3.1.11 sind dies z. B. 01, 0101 und 01001101. DieMenge

    L(G) = {w | w ist Satzform von G}ist die von G erzeugte Sprache. Also:

    w ist in L(G) w und es gibt eine Ableitung S = 0 1 t = w.

    Achtung: Wenn die Grammatik G mehr als eine Variable benutzt, hat die Menge L(G)normalerweise keine einfache induktive Definition.

    4.1.1 Beispiel Sei G = (V,, S, P ), wo V = {S}, = {0, 1}, undP enthalt die Produktionen S 0S0, S 1S1, S 0, S 1, S , oder kurzer:

    S 0S0 | 1S1 | 0 | 1 | .

    107

  • Ableitungen in der Grammatik G sehen beispielsweise so aus:

    S ; S 0S0 01S10 01110 ; S 1S1 11S11 110S011 110011 .

    4.1.2 Proposition Fur die Grammatik G aus Beispiel 4.1.1 gilt

    L(G) = {w {0, 1} | w = wR}.

    D. h.: L(G) ist die Sprache der Spiegelworter (Palindrome) uber {0, 1}.

    Ein Palindrom sieht von vorne und hinten gelesen gleich aus. Palindrome uber dem 26-buchstabigen lateinischen Alphabet sind zum Beispiel

    ara, elle, hannah, reliefpfeiler, sinnlosolnnis, .

    (Wie sieht eine kontextfreie Grammatik fur die Menge der Palindrome uber {a, . . . , z}aus? Wie die fur die Palindrome uber einem beliebigen vorgegebenen Alphabet ?)

    Beweis von Proposition 4.1.2:

    (Dieser B