TheGI 1: 8. Vorlesung Sprachhierarchie Allgemeine Chomsky

Werbung
Sprachhierarchie
! Reguläre Sprachen
werden von endlichen Automaten akzeptiert.
TheGI 1: 8. Vorlesung
! Kontextfreie Sprachen
werden von Kellerautomaten akzeptiert.
Allgemeine Grammatiken
und akzeptierbare Sprachen
! Wie stehen Sprachen,
die von allgemeinen Grammatiken erzeugt werden,
und Turingmaschinen zueinander?
13. Dezember 2005
" „Turing kann alles, Chomsky auch!“
Allgemeine Chomsky-Grammatik
155
TheGI 1 WS 05/06
Nestmann
Chomsky-Hierarchie
Eine allgemeine Chomsky-Grammatik besteht aus
Typ0-Sprachen
! Typ0-Sprachen:
! allg. Grammatiken
! Turingmaschinen
! einem Alphabet T von terminalen Symbolen
! Typ1-Sprachen:
! einem Alphabet N von nichtterminalen Symbolen,
mit N ! T = ",
! kontextsensitive Grammatiken
! linear beschränkte Automaten
! Typ2-Sprachen:
! einem Startsymbol S # N und
! kontextfreie Grammatiken
! Kellerautomaten
! Typ3-Sprachen
! einer Menge P von Produktionen
der Form u $ v mit u,v # (N % T)*,
wobei in u mindestens ein Symbol aus N vorkommt.
Nestmann
TheGI 1 WS 05/06
156
Nestmann
TheGI 1 WS 05/06
157
„Turing kann alles“
! Zu jeder allgemeinen Grammatik G kann man eine
äquivalente Turingmaschine M konstruieren, d.h. L(G) = L(M).
! Beweisidee:
! Eine kontextsensitive Grammatik ist
eine allgemeine Chomsky-Grammatik,
in der für alle Produktionen
u $ v in P \ { S $ !} mit u,v # (N % T)* gilt: |u| " |v|
! M simuliert Regelanwendungen auf nichtdeterministische Weise via
Durchraten aller möglichen Kombinationen.
! 2 Bänder:
! Eingabeband ... Eingabewort aufheben für späteren Vergleich.
! Arbeitsband enthält die aktuelle simulierte Ableitung.
! 4 “Hauptzustände”
! qA: Schreiben des Startsymbols auf das Arbeitsband
! q0: nichtdeterministisches
! Raten einer Position im Arbeitsband sowie
! Raten einer anzuwendenden Regel
! q1: Zurücksetzen auf Wortanfang und neues Raten in q0
! qE: Erfolg nach Vergl. von Eingabewort mit abgeleiteter Satzform
! Eine Sprache L heisst kontextsensitiv, wenn es eine
kontextsensitive Grammatik G mit L = L(G) gibt.
! Es gibt kontextsensitive Sprachen, die nicht kontextfrei sind.
! Beispiel: L = {anbncn | n > 0}
TheGI 1 WS 05/06
kontextfreie
Sprachen
reguläre
Sprachen
! reguläre Grammatiken
! endliche Automaten
Kontextsensitive
Grammatiken und Sprachen
Nestmann
kontextsensitive
Sprachen
158
Nestmann
TheGI 1 WS 05/06
159
LL- und LR-Parser
für kontextfreie Grammatiken
„Chomsky kann alles“
! Zu jeder NTM M kann man eine äquivalente allgemeine
Grammatik G konstruieren, d.h. L(M) = L(G).
! Beweisidee:
! LL-Parser (spezielle TMn) arbeiten “top-down”
Aus dem Startsymbol S werden (zielgerichtet,
entsprechend dem nächstzulesenden Symbol)
Ableitungsschritte ausgeführt.
! LR-Parser (auch spezielle TMn) arbeiten “bottom-up”
Anhand des Eingabewortes werden sukzessive
Grammtikregeln rückwärtsangewendet, um das Wort
auf das Eingabesymbol zu reduzieren.
Nestmann
TheGI 1 WS 05/06
160
Zusammenfassung
! Die Chomsky-Hierarchie kategorisiert formale
Sprachen in vier verschiedene Klassen:
Typ 0 – Typ 3.
! „Turing kann alles – Chomsky auch!“
Turingmaschinen akzeptieren genau die Sprachen,
die von allgemeinen Grammatiken erzeugt werden.
Nestmann
TheGI 1 WS 05/06
162
! vereinfachende Annahme:
! M ist eine 1-Band-Maschine
! wenn sie eine akz. Endkonfiguration erreicht hat,
dann hat sie auch ihr Band “gesäubert”, d.h. (qE,!).
! Die Überführungen aus &
werden als Produktionen P& aufgeschrieben.
(spezielle Randmarkierungen sind hier nötig.)
! Alle Regeln aus P& werden umgedreht (liefert P1).
(Erzeugen statt Akzeptieren)
! Neue Regeln für
(P0) das Erstellen von akzeptierenden Endkonfigurationen k und
(P2) das Entfernen von Randmarkierungen werden hinzugefügt.
! Dann gilt: w L(M) gdw w L(G).
Nestmann
TheGI 1 WS 05/06
161
Herunterladen