Theoretische Informatik 1

Theoretische Informatik 1 J¨ urgen Koslowski Institut f¨ ur Theoretische Informatik Technische Universit¨ at Braunschweig WS 2014/2015 http://www.it...
Author: Benedikt Brauer
8 downloads 0 Views 1MB Size
Theoretische Informatik 1 J¨ urgen Koslowski Institut f¨ ur Theoretische Informatik Technische Universit¨ at Braunschweig

WS 2014/2015

http://www.iti.cs.tu-bs.de/˜koslowj/Theo1

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

1 / 224

¨ Ubersicht: Hintergrund und Motivation I

0

Hintergrund und Motivation Was ist Theoretische Informatik? Ziele der Vorlesungen “Theoretische Informatik 1+2” Vorgehensweise Hintergrund: L¨osbarkeit Hintergrund: Komplexit¨at (TheoInf 2)

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

2 / 224

¨ Ubersicht: Endliche Automaten I 1

Endliche Automaten Geschichtliches Informelle Beschreibung und erste Beispiele Grenzen der Modellierung Das Label-Alphabet Probleme = Formale Sprachen Formale Definition endlicher Automaten Spracherkennung mathematisch Spracherkennung operationell: Client und Server Determinismus Weitere Beispiele zur Spracherkennung Erste Automatenkonstruktionen Determinismus vs. Nichtdeterminismus Das Pumping Lemma f¨ ur regul¨are Sprachen Erste Abschlußeigenschaften regul¨arer Sprachen J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

3 / 224

¨ Ubersicht: Endliche Automaten II ¨ ε- Uberg¨ ange Die maximale Labelmenge Σ∗ Residuierung Regul¨are Ausdr¨ ucke Minimierung von vDEAs Regularit¨atsnachweise Universelle Automaten Kritik am traditionellen Autmatenbegriff

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

4 / 224

¨ Ubersicht: Kontextfreie Sprachen I 2

Kontextfreie Sprachen Motivation und Vor¨ uberlegung Sprachen als Fixpunkte Kontextfreie Grammatiken und Sprachen Kontextfreie und regul¨are Sprachen Ableitungsb¨aume Das Pumping Lemma f¨ ur kontextfreie Sprachen Abschlußeigenschaften kontextfreier Sprachen Normalformen und Anwendungen: das Wortproblem Kellerautomaten: Grundsatzfragen Kellerautomaten: Definition und Spracherkennung Darstellung von Kellerautomaten Weitere Eigenschaften von Kellerautomaten Deterministisch kontextfreie Sprachen J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

5 / 224

¨ Ubersicht: Mathematischer Hintergrund I

3

Mathematischer Hintergrund Mengen Relationen und Funktionen Graphen ¨ Aquivalenzklassen und Partitionen Tupel als Funktionen und die Natur des leeren Worts ε Abz¨ahlbarkeit

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

6 / 224

Hintergrund und Motivation

Kapitel 0 Hintergrund und Motivation

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

7 / 224

Hintergrund und Motivation

Was ist Theoretische Informatik?

Was ist Theoretische Informatik?

Auf die Frage “Was ist Informatik” liefert z.B. Wikipedia entweder auf Deutsch oder auf Englisch die Erkenntnis, daß es sich um . mehr handelt als nur das Wissen u ¨ber Aufbau, Funktionsweise und Programmierung von Computern. Speziell widmet sich die theoretische Informatik . dem formalen mathematischen Unterbau f¨ ur die Methoden der Informatik . grundlegenden Fragen der Informationsverarbeitung, unabh¨angig von konkreten Computern

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

8 / 224

Hintergrund und Motivation

Ziele der Vorlesungen “Theoretische Informatik 1+2”

Ziele der Vorlesungen “Theoretische Informatik 1+2” Es sollen Werkzeuge und Methoden bereitgestellt werden zur Beantwortung folgender Fragen: (1) Welche (Klassen von) Probleme(n) kann ein Computer/Algorithmus Hintergrund u ¨berhaupt l¨osen? (TI 1+2) (2) Wie effizient kann ein Computer/Algorithmus die Probleme bestimmter Hintergrund Klassen l¨osen? (TI 2) Zu diesem Zweck werden wir in “Theoretischer Informatik 1” . einfache Modelle von Computern betrachten . die durch sie l¨osbaren Probleme klassifizieren . Abschlußeigenschaften der entsprechenden Klassen untersuchen . eine alternative Charakterisierung der Problemklassen betrachten (mittels sog. Grammatiken) . bestimmte (Rechen-)Methoden/Algorithmen erlernen J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

9 / 224

Hintergrund und Motivation

Vorgehensweise

Vorgehensweise Unsere Vorgehensweise wird mathematischer Natur sein: Betrachtung abstrakter Modelle von Computern/Algorithmen mathematisch pr¨azise Argumentation in Hausaufgaben und Klausur: klares Formulieren und vollst¨andiges Aufschreiben von Argumenten sind zu u ¨ben! Zum unverzichtbaren Handwerkszeug geh¨ oren: Definitionen S¨atze Propositionen Lemmata Beweise

Einf¨ uhrung und Namensgebung abstrakter Konzepte; Grundlegende Aussagen u ¨ber die Struktur oder Verkn¨ upfungen der Konzepte; Interessante Aussagen u ¨ber die Konzepte; Hilfss¨atze eher technischer Natur; Ketten logischer Schlußfolgerungen, um ggf. mit Hilfe expliziter Konstruktionen die G¨ ultigkeit von S¨atzen endliche Automaten etc. nachzuweisen.

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

10 / 224

Hintergrund und Motivation

Hintergrund: L¨ osbarkeit

Hintergrund: L¨osbarkeit Diese Frage wurde schon in den 1930’er Jahren von Alan Turing betrachtet (vergl. auch folgenden Lebenslauf ), bevor es u ¨berhaupt Computer gab. Insofern ist die theoretische Informatik die ¨alteste Informatik-Disziplin, wenn auch jung im Vergleich zu anderen Wissenschaften. Beispiel (Primfaktorzerlegung) Gegeben eine positive nat¨ urliche Zahl: bestimmen Sie ihre Zerlegung in Primfaktoren. (leicht per Computer implementierbar; brute force oder geschicktere Vorgehensweise) Beispiel (Halteproblem) Gegeben ein Programmtext in Ihrer bevorzugten Programmiersprache und eine Eingabe: bestimmen Sie, ob eine Endlosschleife auftritt. (nicht per Computer l¨ osbar)

Return

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

11 / 224

Hintergrund und Motivation

Hintergrund: Komplexit¨ at (TheoInf 2)

Hintergrund: Komplexit¨at (TheoInf 2) In den 1960’er Jahren begann Stephen Cook, zwischen “leichten” und “schweren” per Computer l¨ osbaren Problemen pr¨azise zu unterscheiden: “leicht” in der Praxis existiert ein “effizienter” L¨ osungsalgorithmus “effizient” die Laufzeit ist polynomial in der Gr¨ oße der Eingabe “schwer” in der Praxis existiert kein solcher L¨ osungsalgorithmus Beispiel (leicht) Das Sortieren einer Liste von Zahlen. Beispiel (schwer) Das Optimieren einer Rundreise durch gegebene St¨adte gem¨aß Reisekosten oder Entfernung oder Zeit; bekannt als “Problem des Handlungsreisenden” oder TSP (Travelling Salesman Problem). Return J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

12 / 224

Endliche Automaten

Kapitel 1 Endliche Automaten

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

13 / 224

Endliche Automaten

Geschichtliches

Geschichtliches

Die Geschichte des Studiums endlicher Automaten beginnt in den 1940’er/1950’er Jahren. Ihre Bedeutung und ihr Anwendungsbereich haben seither st¨andig zugenommen, z.B.: Schaltungsentwurf lexikalische Analyse von Programmtexten im Compiler schnelle Textsuche automatische Verifikation von Hard- und Software Modellierungssprachen

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

14 / 224

Endliche Automaten

Informelle Beschreibung und erste Beispiele

Informelle Beschreibung und erste Beispiele Endliche Automaten als Modell konkreter oder abstrakter “Systeme” Graphen basieren auf endlichen gerichteten Graphen. Deren Knoten, hier Zust¨ande genannt, lassen sich als endliches Ged¨achtnis (¨ uber einen Teil der Systemvorgeschichte) interpretieren. Zustands¨anderungen erfolgen aufgrund ¨außerer Eingaben aus einem ¨ geeigneten Alphabet entlang der gerichteten Kanten, der sog. Uberg¨ ange oder Transitionen. Diese werden mit den sie ausl¨ osenden Eingaben markiert, was zum Begriff des markierten Transitionssystems (labeled transition system, oder kurz LTS) f¨ uhrt. . Im Allgemeinen sollen parallele Kanten verschiedenen Label tragen. Dar¨ uberhinaus sind bei endlichen Automaten unter den Zust¨anden bestimmte Anfangs- und Endzust¨ande ausgezeichnet. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

15 / 224

Endliche Automaten

Informelle Beschreibung und erste Beispiele

Beispiel (Lichtschalter) Systemstart, Anfangszustand “guter” oder Endzustand ¨ ”markierter” Ubergang;

s

start

aus

an

Zustands¨anderung bei Bet¨atigung

s

des Schalters, d.h., bei Eingabe s Beispiel (Texterkennung des Worts “theo”) start

t

t

h

th

e

the

o

theo

Beim Bearbeiten eines anderen Worts als “theo” bleibt der Automat in einem der ersten vier Zust¨ande stecken. Startzust¨ande werden durch einen eingehenden Pfeil (ohne Anfangsknoten; “start” ist optional) markiert, Endzust¨ande entweder durch doppelte Umrandung, oder durch einen ausgehenden Pfeil (ohne Zielknoten). J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

16 / 224

Endliche Automaten

Informelle Beschreibung und erste Beispiele

Beispiel (Getr¨ankeautomat: instant Tee/Kaffee f¨ ur 1€) m¨ogliche Aktionen z

1€ zahlen

t

Tee-Taste dr¨ ucken

k

Kaffee-Taste dr¨ ucken

e

Becher entnehmen

start

S e

e

T

K

z

t

k

1€ M¨ unzschlitz nur offen im Startzustand; Tasten nur aktiv im Zustand 1€; Becher nur vorhanden in Zust¨anden T und K ; Achtung: wir ignorieren die Zeit, etwa beim Pr¨ ufen des 1€-St¨ ucks, Kritik oder beim Bef¨ ullen der Becher. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

17 / 224

Endliche Automaten

Informelle Beschreibung und erste Beispiele

Weitere Beobachtungen: . Die W¨ orter aus Eingaben oder Labeln entlang derjenigen Wege im Graphen, die einen Anfangs- mit einem Endzustand verbinden, sind von besonderem Interesse: − Beim Lichtschalter besteht das Alphabet nur aus s . Jedes Wort der Form s n mit n ungerade f¨ uhrt zu eingeschltetem Licht. − Bei der Texterkennung von “theo” ist {e, h, o, t} das Alphabet. Es existiert nur ein einziger Weg vom Anfangs- zum Endzustand, und dessen Label formen das Wort theo . − Beim Getr¨ankeautomaten f¨ uhren alle Wege, die mit aus zte sowie zke zusammengesetzten W¨ ortern gelabelt werden k¨ oennen, vom Anfangszum Endzustand.

. Ausgaben sind nicht explizit vorgesehen. Man kann aber die Antwort auf die Frage, ob ein Endzustand vorliegt, also “ja” oder “nein”, als Ausgaben auffassen. Viel interessanter sind allerdings die Antworten auf die Fragen, ob ein vorgegebenes Wort einen Weg von einem Anfangs- zu einem Endzustand labelt. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

18 / 224

Endliche Automaten

Grenzen der Modellierung

Grenzen der Modellierung Soll das Verhalten des Automaten in jedem Zustand und bei jeder m¨oglichen Eingabe eindeutig bestimmt sein, f¨ uhrt dies zum Begriff des vollst¨andig deterministischen Automaten (s.u.); in der realen Welt sind Systeme nicht-deterministisch, da nicht vollst¨andig spezifizierbar (philosophisches Problem); wie funktioniert z.B. der Getr¨ankeautomaten in folgenden F¨allen? − − − − − −

Kaffee/Tee verbraucht; falsche M¨ unze eingegeben; Geldspeicher voll; Tastenkontakt verrostet; kosmische Strahlung st¨ ort den Schaltkreis zur Geldpr¨ ufung; ...

Aber auch definitionstechnisch werden sich nicht-deterministische Automaten als einfacher erweisen. Bevor wir die Frage “Was ist ein Automat?” genauer er¨ortern, wollen wir uns zun¨achst den “Labeln” oder “Markierungen” der Kanten zuwenden, sowie endlichen Folgen solcher Label, sogenannter “W¨orter”. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

19 / 224

Endliche Automaten

Das Label-Alphabet

Das Label-Alphabet Ein naiver Ansatz faßt die Markierungen (oder Label) entlang der ¨ Uberg¨ ange zu einer unstrukturierten Menge zusammen, dem “Alphabet”: Definition (Alphabet, Buchstabe, Wort, Pr¨afix, formale Sprache) Ein Alphabet ist eine (h¨aufig als nichtleer und endlich vorausgesetzte) Menge Σ ; ihre Elemente nennen wir Buchstaben. F¨ ur n ∈ N nennen wir eine Folge w = s0 s1 . . . sn−1 von Buchstaben si ∈ Σ , i < n , ein Wort (¨ uber Σ ) der L¨ange |w | = n . F¨ ur n = 0 erh¨alt man das leere Wort ε . Die W¨ orter u¨ber Σ k¨onnen konkateniert formal werden (s.u.); sie konstituieren die Menge Σ∗ . v bezeichnet die Pr¨afix-Relation auf Σ∗ : uvw

gdw

∃v ∈ Σ∗ . uv = w

Unter einer (formalen) Sprache L u ¨ber Σ verstehen wir eine beliebige ∗ Teilmenge von Σ . J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

20 / 224

Endliche Automaten

Das Label-Alphabet

W¨ orter s0 s1 . . . sn−1 dienen als Abk¨ urzungen f¨ ur Tupel hs0 , s1 , . . . , sn−1 i , ohne Anfangs-, End- und Trennsymbole. Um W¨ orter wieder in Tupel zur¨ uckverwandeln zu k¨onnen, m¨ ussen W¨ orter u ¨ber Σ eindeutig in Buchstaben aus Σ zerlegbar sein. Zu diesem Zweck vereinbaren wir, daß die Buchstaben in einem Alphabet Σ nicht selber als W¨orter unterschiedlicher L¨ange u ¨ber einer anderen Menge Σ0 dargestellt sind. Beispiel W¨ahle as Σ die Menge der Dezimalzahlen von 0 bis 99 . Dann liefern die Tupel h1, 3, 1, 3i , h1, 3, 13i , h1, 31, 3i , h13, 1, 3i und h13, 13i alle dasselbe Wort 1313 . Bemerkung Um vern¨ unftig mit W¨ortern u ¨ber dem Alphabet Σ∗ arbeiten zu k¨onnen, darf man die Elemente von Σ∗ nicht als W¨ orter u¨ber Σ darstellen, sondern muß Tupel verwenden. Bei W¨ ortern u ur festes n entf¨allt diese ¨ber Σn f¨ Einschr¨ankung f¨ ur die Darstellung der Elemente von Σn . J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

21 / 224

Endliche Automaten

Das Label-Alphabet

Proposition F¨ ur jede Menge Σ tr¨agt die Menge Σ∗ aller endlichen W¨orter u ¨ber Σ die algebraische Struktur eines Monoids mit assoziativer Multiplikation mittels Konkatenation hs0 s1 . . . sn−1 , t0 t1 . . . tm−1 i 7→ s0 s1 . . . sn−1 t0 t1 . . . tm−1 neutralem Element ε , dem leeren Wort u ¨ber Σ . Dieses Monoid ist genau dann kommutativ, wenn |Σ| ≤ 1 gilt. Proposition Die Potenzmenge P(Σ∗ ) tr¨agt neben den Booleschen Operationen Vereinigung ∩ , Durchschnitt ∪ , Komplement (−)c und der Inklusions-Ordnung ⊆ auch eine von Σ∗ induzierte i.A. nicht kommutative Monoid-Struktur, bzgl. der die Singleton-Abbildung Σ∗ {} P(Σ∗ ) ein Homomorphismus ist (damit ist Σ∗ isomorph zu einem Untermonoid von P(Σ∗ ) ). J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

22 / 224

Endliche Automaten

Probleme = Formale Sprachen

Probleme = Formale Sprachen Definition Jede formale Sprache L ∈ Σ∗ definiert ein Entscheidungsproblem (kurz E-Problem) wie folgt: F¨ ur jede Eingabe w ∈ Σ∗ ist zu entscheiden, ob w ∈ L gilt. Beispiel (E-Probleme einiger formaler Sprachen) (0) {a, b}2 = {aa, ab, ba, bb} : w ∈ {a, b}∗ auf |w | = 2 testen. (1) { an b n : n ∈ N } : w ∈ {a, b}∗ testen, ob |w | gerade und jeder Buchstabe der vorderen (hinteren) H¨alfte ein a ( b ) ist. ∼ N : trivialer Test. (2) {|}∗ = { |n : n ∈ N } = (3) { |p : p Primzahl } : n ∈ N auf Primalit¨at testen.

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

23 / 224

Endliche Automaten

Probleme = Formale Sprachen

Wir werden die Begriffe “E-Problem” und “Sprache” im obigen Sinne synonym verwenden. In der Realit¨at ist man h¨aufig an Berechnungsproblemen (kurz B-Problemen) interessiert, etwa der Primfaktorzerlegung von n ∈ N , oder einer kosten-optimalen Reiseroute. Dennoch kann die Einschr¨ankung auf E-Probleme sinnvoll sein, da “schwere” E-Probleme nur von “schweren” B-Problemen herr¨ uhren k¨onnen, wie wir in der Vorlesung TheoInf 2 sehen werden. Um z.B. das B-Problem des Handlungsreisenden als Sprache, oder E-Problem, betrachten zu k¨ onnen, erweitert man es zun¨achst mittels einer “Kostenschranke” K zu einem E-Problem das fragt: exitiert eine Rundreise, deren “Kosten” maximal K betragen? Außerdem wird es n¨otig sein, Probleme mit Hilfe geeigneter Alphabete zu codieren.

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

24 / 224

Endliche Automaten

Formale Definition endlicher Automaten

Formale Definition endlicher Automaten Definition (NEA u ¨ber dem Alphabet Σ , Spiegelautomat) Ein endlicher Automat (NEA) A = hQ, Σ, δ, I , F i besteht aus einer Menge Q sogenannter Zust¨ande; ¨ endlich vielen Uberg¨ angen zwischen den Zust¨anden mit Labeln aus dem Alphabet Σ , genauer: Relationen δ(a)P⊆ Q × Q f¨ ur jedes a ∈ Σ Relation etc. mit endlicher disjunkter Vereinigung U = a∈Σ δ(a) ; endlichen Teilmengen I , F ⊆ Q ausgezeichneter Anfangs- bzw. Endzust¨ande. Der Spiegelautomat Aop ist gegeben durch hq, Σ, δ op , F , I i . Das “N” in “NEA” deutet auf Nichtdeterminismus hin. Die Spezialisierung auf deterministische Automaten und die Motivation daf¨ ur folgen in K¨ urze.

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

25 / 224

Endliche Automaten

Formale Definition endlicher Automaten

Wo verstecken sich die Graphen in der obigen Definition? . Der erste Graph, G , hat Knotenmenge Q und Kantenmenge U (alle ¨ Uberg¨ ange), beide endlich und verbunden mit Start- und s Zielfunktionen U Q. t

. Die Label bilden ebenfalls einen Graphen Σ mit Singleton Knotenmenge 1 und Kantenmenge Σ ; die Start- und Zielfunktionen ! 1. sind trivial Σ !

. Die Labelfunktion ist ein Graph-Morphismus G δ Σ. Alle Zust¨ande werden auf den einzigen Knoten von Σ abgebildet, w¨ahrend den Kanten aus U Elemente von Σ zugeordnet werden. Das Urbild δ(a) des Labels a ∈ Σ ist die Kantenmenge eines Untergraphen von G . Es handelt sich genau dann um eine Relation auf Q , wenn in δ(a) keine parallelen Kanten auftreten. . Vorteil dieser Sichtweise von LTSs: je nach Anwendung kann Σ durch einen weniger trivialen Graphen ersetzt werden. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

26 / 224

Endliche Automaten

Formale Definition endlicher Automaten

Leider lassen sich Anfangs- und Endzust¨ande bisher nicht befriedigend graphentheoretisch interpretieren, was als Hinweis darauf verstanden werden kann, dass in obiger Definition noch etwas fehlt. Weitere Anmerkung: Der Graph-Morphismus G − Familie Σ

δ

δ

Σ l¨aßt sich alternativ auffassen als

P(Q × Q) von Relationen auf Q ;

0 00 − einzelne Relation Q × Σ δ Q oder Funktion Q × Σ δ P(Q);  000 0000 − einzelne Relation Q δ Q Σ oder Funktion Q δ P QΣ .

Man findet all diese Varianten (und weitere) in der Literatur. Nachteil der letzten vier Versionen: die Symmetrie der urspr¨ unglichen Definition wird nicht deutlich; Spiegelautomaten, deren Kanten in die entgegengesetzte Richtung zeigen, sind nur umst¨andlich beschreibbar.

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

27 / 224

Endliche Automaten

Spracherkennung mathematisch

Spracherkennung mathematisch Definition (S¨attigung f¨ ur NEAs) ˆ ) := δ(s0 ); δ(s1 ); · · · ; δ(sn−1 ) . Die F¨ ur w = s0 s1 . . . sn−1 setzen wir δ(w δˆ ∗ Funktion Σ P(Q × Q) heißt S¨attigung von δ . Definition (Spracherkennung durch NEAs) A = hQ, Σ, δ, I , F i erkennt das Wort w = s0 s1 . . . sn−1 ∈ Σ∗ , falls 1

I

Q

ˆ ) δ(w

Q

F

1=1

1

1

(?)

Die von A erkannte Sprache L(A) ⊆ Σ∗ besteht genau aus den von A erkannten W¨ortern. A und B heißen ¨aquivalent, falls L(A) = L(B) . (?) bedeutet, daß q ∈ I , p ∈ F und ein Weg der L¨ange n von q nach p mit einer Folge von Kantenlabeln s0 , s1 , . . . , sn−1 existiert. ¯ ⊆ Σ mit Nach Voraussetzung existiert immer eine endliche Teilmenge Σ op ∗ ¯ L(A) ⊆ Σ (dazu sp¨ater mehr). Weiter gilt nat¨ urlich L(A ) = (L(A)) op . J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

28 / 224

Endliche Automaten

Spracherkennung mathematisch

Beispiel F¨ ur einen Automaten A = h{q0 , q1 , q2 }, {0, 1}, δ, {q0 }, {q2 }i k¨onnen wir δ durch Auflisten der Relationen, tabellarisch oder mittels eines Graphen mit markierten Kanten angeben (Mehrfachlabel sind zul¨assig): Zustand q0 q1 q2

δ(0) = {hq0 , q0 i, hq1 , q2 i, hq2 , q0 i} δ(1) = {hq0 , q1 i, hq1 , q1 i, hq2 , q1 i, hq2 , q0 i}

0 q0 q2 q0

1 q1 q1 q0 , q1

start 0

q0

1

q1

1 0, 1

0

1

Zustand q0 q1 q2

0 q0 q2 q0

1 q1 q1 q0 , q1

I /F I F

q2

I und F lassen sich leicht zus¨atzlich in der Tabelle markieren. Welche Sprache L(A) erkennt der Automat A ? W¨ahrend z.B. 0110 erkannt wird, gilt das f¨ ur 0101 nicht.

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

29 / 224

Endliche Automaten

Spracherkennung operationell: Client und Server

Spracherkennung operationell: Client und Server Welcher “Server” liefert dem “Client” A die Eingaben zur Verarbeitung? . Die Eingbedaten k¨onnen bisher nur vom Nutzer direkt kommen, der evtl. selber die Rolle des “Servers” u ¨bernehmen muß. Dieser liefert die Buchstaben der Eingabe w interaktiv von links nach rechts an A . . Der Automat A muss sie sofort, d.h., in real time verarbeiten. Gibt es ¨ keinen passenden Ubergang, bleibt er stecken. . Konnte die gesamte Eingabe w abgearbeitet werden, pr¨ uft der Nutzer, ob A einen Endzustand erreicht hat oder nicht. . Wegen des Nichtdeterminismus ist eine Entscheidung u ¨ber w ∈ L(A) evtl. erst nach vielen derartigen Testl¨aufen m¨ oglich (wenn u ¨berhaupt). Klassisch liefert der Server dem Client auf Nachfrage Buchstaben (demanddriven). Damit kann dieser nicht das Ende der Eingabe feststellen. Alternativ greift der Client auf die vom Server angebotenen Buchstaben zu (supply-driven). Dann ist ihm klar, ob noch ein weiterer Buchstabe kommt. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

30 / 224

Endliche Automaten

Spracherkennung operationell: Client und Server

Wir betrachten nun den gemeinsamen Zustand des Client-Server-Systems: Definition (Konfiguration, Folgekonfigration, Berechnung) Die Elemente von Q × Σ∗ heißen Konfigurationen des NEA A . Interpretation: aktueller Zustand (Client) und Rest der Eingabe (Server). hq, w i ` hp, ui

gdw. ∃a ∈ Σ. w = au ∧ q

a

p

spezifiziert eine Relation ` (Folgekonfiguration) auf Q × Σ∗ . Jede Konfigurationenfolge hq, w i ` · · · ` hp, εi mit q ∈ I heißt Berechnung von w ; diese heißt akzeptierend, falls zus¨atzlich p ∈ F gilt. Die Existenz mindestens einer (akzeptierenden) Berechnung l¨aßt sich durch `∗ hq, w i `∗ hp, εi mit q ∈ I (und p ∈ F ) ausdr¨ ucken. Jeder Berechnungsschritt ` “verbraucht” einen Buchstaben, also hat jede NEA-Berechnung von w die L¨ange |w | .

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

31 / 224

Endliche Automaten

Spracherkennung operationell: Client und Server

Satz Ist A = hQ, Σ, δ, I , F i ein NEA, so besteht L(A) genau aus denjenigen W¨ortern w ∈ Σ∗ , die eine akzeptierende Berechnung in A besitzen. Beweis. Jede akzeptierende Berechnung hq, w i ` · · · ` hp, εi mit q ∈ I und p ∈ F ˆ zeigt, dass die Relation 1 I Q δ(w ) Q F 1 nicht leer ist. Ist umgekehrt diese Relation nicht leer, existiert ein Weg im Graphen G von einem Startzustand q ∈ I zu einem Endzustand p ∈ F , dessen Kanten mit den Buchstaben von w gelabelt sind. Definition Von NEAs erkennbare Sprachen heißen regul¨ar. Bei festem Alphabet Σ ur die Klasse bezeichet Σ-Reg die entsprechende Teilmenge von P(Σ∗ ) . F¨ aller regul¨aren Sprachen wird oft L3 geschrieben. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

32 / 224

Endliche Automaten

Spracherkennung operationell: Client und Server

Begr¨ undung (von hinten nach vorne)

Beispiel (Fortsetzung)

q2 ist nur von q1 aus mit Eingabe 0 erreichbar, ⇒ Postfix 0 .

start 0

q0

1

q1

1

q1 ist nur mit der Eingabe 1 erreichbar, und zwar von allen drei Zust¨anden aus, ⇒ Postfix 10 .

1 0, 1

0 q2

Vermutung L(A) besteht aus allen Bin¨arw¨ ortern mit dem Postfix 10 .

Vom Anfangszustand f¨ uhrt jedes Bin¨arwort zu einem der drei Zust¨ande, denn man kann nicht “steckenbleiben”.

Kann man dieses Ergebnis auch erhalten, ohne nachzudenken? Ja, mit Hilfe des Kleene’schen Algorithmus (in K¨ urze)!

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

33 / 224

Endliche Automaten

Determinismus

Determinismus NEAs f¨ ur L ⊆ Σ∗ sind eigentlich unpraktikabel, wenn es darum geht, w ∈ L zu u ufen: ¨berpr¨ − es kann mehrere Berechnungen geben, die nicht alle akzeptieren; − nicht jeder Lauf des Automaten mit Eingabe w muß diese verbrauchen, sondern kann steckenbleiben. Ziel: eindeutige Konfigurationsfolgen f¨ ur jede Eingabe zu garantieren. Bei NEAs ist das nur durch Einschr¨ankungen beim Client zu erreichen: Definition (S. Eilenberg, 1974) Ein NEA A = hQ, Σ, δ, I , F i heißt (vollst¨andig) deterministisch, (v)DEA, wenn es h¨ochstens (genau) einen Anfangszustand gibt, und alle Relationen δ(a) , a ∈ Σ , partielle (totale) Funktionen sind. Achtung, diese Definition weicht von der in [Hopcroft Ullman, 1979] und vielen darauf aufbauenden B¨ uchern ab, hat aber den Vorteil, sich besser auf andere Klassen von Automaten verallgemeinern zu lassen. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

34 / 224

Endliche Automaten

Determinismus

Nach Konstruktion hat jedes w ∈ Σ∗ genau eine Konfigurationsfolge in einem DEA, die im Falle eines vDEA auch immer eine Berechnung ist. Frage: Kann jede Sprache L ⊆ Σ∗ , die von einem NEA erkannt wird, auch von einem DEA oder sogar vDEA erkannt werden?. Dies werden wir in K¨ urze positiv beantworten. Frage: Sind NEAs damit nicht eigentlich u ussig? ¨berfl¨ Nein, denn es ist meistens leichter, einen L akzeptierenden NEA zu konstruieren, und diesen dann mechanisch in einen zumeist gr¨oßeren ¨aquivalenten vDEA umzuwandeln, als letzteren direkt zu konstruieren! Zudem sind NEAs, und noch einzuf¨ uhrende allgemeinere Automaten, oft besser geeignet, Abschlußeigenschaften von Σ-Reg nachzuweisen. Z.B. ist f¨ ur L ∈ Σ-Reg auch die Spiegelsprache Lop := { w op : w ∈ L } mit εop := ε

und

(wa)op = aw op

f¨ ur w ∈ Σ∗ und a ∈ Σ

wieder regul¨ar, w¨ahrend f¨ ur einen (v)DEA A der Spiegelautomat Aop i.A. kein (v)DEA mehr ist. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

35 / 224

Endliche Automaten

Weitere Beispiele zur Spracherkennung

Weitere Beispiele zur Spracherkennung Beispiel Die Menge G ⊆ N aller geraden Zahlen wird akzeptiert von den vDEAs: | q0

q0

q1

0

q1

| 1 0 q2 1

bei Verwendung des Alphabets Σ = {|} (un¨are Codierung)

0 q3

1

bei Verwendung des Alphabets Σ = {0, 1} (bin¨are Codierung)

Beispiel (Beweis sp¨ater) Die Menge P ⊆ N aller Primzahlen wird von keinem endlichen Automaten akzeptiert, unabh¨angig von der Codierung. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

36 / 224

Endliche Automaten

Weitere Beispiele zur Spracherkennung

Beispiel Dieser vDEA erkennt L = { w ∈ {0, 1}∗ : |w |0 , |w |1 gerade } : 1 q0

q1 1

0

0

0

0

1 q2

q3 1

Beispiel Welche Sprache erkennt dieser vDEA? 1 q0

q1 1

0

0

0

0

1 q2

q3 1

Offenbar L0 = { w ∈ {0, 1}∗ : |w |0 gerade ∧ |w |1 ungerade } J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

37 / 224

Endliche Automaten

Erste Automatenkonstruktionen

Erste Automatenkonstruktionen Oft will man Automaten ¨aquivalent umformen, d.h., ohne die erkannte Sprache zu ver¨andern. Z.B. tragen Zust¨ande, die von keinem Anfangszustand aus entlang eines Weges erreichbar sind, nichts zur erkannten Sprache eines NEA bei. Definition F¨ ur einen NEA A = hQ, Σ, δ, I , F i ist der erreichbare Automat A(r ) := hQ (r ) , Σ(r ) , δ (r ) , I , F (r ) i gegeben durch die Menge Q (r ) ⊆ Q der von einem beliebigen Anfangszustand aus entlang endlicher Wege erreichbaren Zust¨ande; das endliche (!) Alphabet Σ(r ) ⊆ Σ der Buchstaben, die als Label bei ¨ Uberg¨ angen zwischen Zust¨anden in Q (r ) auftreten; die Einschr¨ankung δ (r ) (a) von δ(a) auf Q (r ) , a ∈ Σ(r ) ; F (r ) := Q (r ) ∩ F . A heißt erreichbar, wenn A = A(r ) gilt. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

38 / 224

Endliche Automaten

Erste Automatenkonstruktionen

Proposition Jeder NEA A erf¨ ullt (A(r ) )(r ) = A(r ) sowie L(A) = L(A(r ) ) , und die (r ) Operation (−) erh¨alt (v)DEAs. Der asymmetrische Begriff der Erreichbarkeit ist eher zugeschnitten auf vDEAs, deren Alphabet ohnehin endlich ist und nicht schrumpfen kann. Es k¨onnen auch Zust¨ande existieren, von denen aus kein Endzustand erreichbar ist, und die somit f¨ ur die Spracherkennung u ussig sind. ¨berfl¨ Entfernen derartiger Zust¨ande kann die vollst¨andige Determiniertheit zerst¨oren, daher wird diese Operation im Kontext von vDEAs ignoriert. F¨ ur DEAs und NEAs k¨onnen Zustandsmenge und Alphabet schrumpfen. Definition Der absolut erreichbare Automat A(R) eines NEA A = hQ, Σ, δ, I , F i ist     A(R) := A(r ) op (r ) op J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

39 / 224

Endliche Automaten

Erste Automatenkonstruktionen

Wie berechnet man den Automaten A(r ) ? Algorithmus Eingabe: ein NEA A = hQ, Σ, δ, I , F i mit n Zust¨anden, etwa als Tabelle Ausgabe: der erreichbare NEA A(r ) = hQ (r ) , Σ(r ) , δ (r ) , I , F (r ) i . Lege eine Tabelle an, mit Zeilen f¨ ur alle Anfangs- und Spalten f¨ ur alle Nichtanfangs-Zust¨ande. . Gesucht wird pro Spalte p ein Zeuge w ∈ Σ∗ , der einen Weg vom Anfangszustand der Zeile nach p beschreibt. . Initialisierung: ist die Position hp, qi der Tabelle leer und gilt p so wird a in diese Position geschrieben. Ob außerdem noch p gilt, ist dann irrelevant (denn ein Zeuge gen¨ ugt).

a b

q, q

. Rekursion: steht w in Position hp, qi , und gilt q a r , so wird wa nach Position hp, r i geschrieben, sofern diese noch leer ist. Zust¨ande, in deren Spalten kein Zeuge auffindbar ist, werden aus Q entfernt und die entsprechenden Zeilen der δ -Tabelle gestrichen. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

40 / 224

Endliche Automaten

Erste Automatenkonstruktionen

Beispiel 0 1

1

q0

start

0

q1

1

q2

q3

δ q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 qA qB

start

1 1

start

0

1

0

1

1

q5

q6

0

1

q8

1

Zeugen q0 q3 q4

1 qA

q9

qB

0 q1 1

J¨ urgen Koslowski (TU-BS)

0, 1

0

0

0

1 0

q7

1

0 0

1

1

0

q4

0

0 q4 q4 q0 q1 q7 q8 q5 , qA q7 , qA q0 − q9 qA

1 q1 q2 q1 q2 q0 q9 q7 q2 , q3 , q7 − q8 , qA qB qB

I /F I

I I F F F

1

0 q2

q5

q6

q7

q8

q9

qA

0

0001

000

00

1

qB 10

Theoretische Informatik 1

WS 2014/2015

41 / 224

Endliche Automaten

Erste Automatenkonstruktionen

Satz Jeder NEA A ist ¨aquivalent zu A(r ) und zu A(R) . Nun wollen wir NEAs “determinisieren”: Definition F¨ ur einen NEA A = hQ, Σ, δ, I , F i ist der Potenzmengenautomat (PMA) ¯ {I }, F¯i gegeben durch: P(A) := hP(Q), Σ, δ, ¯

P(Q) δ(a) P(Q), (1 U Q) 7→ (1 U Q δ(a) Q), d.h., U; δ(a) ist das Bild von U unter der Relation δ(a) ; U ∈ F¯ gdw (1 U Q F 1) = (1 1 1), d.h., U ∩ F 6= ∅ f¨ ur alle U ⊆ Q und a ∈ Σ . Proposition F¨ ur jeden erreichbaren NEA A ist P(A)(r ) ein vDEA.

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

42 / 224

Endliche Automaten

Erste Automatenkonstruktionen

Beispiel (Potenzmengenautomat) 1 start 1

q0

0, 1 q1

0 0

1

1

0 −

0

q1 , q2

0

start 0

0

q0

0

q1

q0 , q2

1 q2

1

1

0

Einige Berechnungen: 1

q2

0

1

q0 , q1 , q2

1 q0 , q1

start

01 : hq0 , 01i ` hq1 , 1i ` hq2 , εi akzeptiert hq0 , 01i ` hq2 , 1i ` hq2 , εi akzeptiert hq1 , 01i ` hq1 , 1i ` hq2 , εi akzeptiert 010 : hat keine Berechnung

Die beiden von {q0 , q1 } aus nicht erreichbaren Zust¨ ande {q0 } und {q0 , q1 , q2 } k¨ onnen unbesorgt entfernt werden. ¨ Ubrig bleibt der erreichbare Potenzmengenautomat; dort haben alle W¨ orter aus Σ∗ genau eine Berechnung:

10 : hq0 , 10i ` hq0 , 0i ` hq1 , εi akzeptiert nicht hq0 , 10i ` hq0 , 0i ` hq2 , εi akzeptiert

h{q0 , q1 }, 01i ` h{q1 , q2 }, 1i ` h{q2 }, εi h{q0 , q1 }, 010i ` h{q1 , q2 }, 10i ` h{q2 }, 0i ` h∅, εi h{q0 , q1 }, 10i ` h{q0 , q2 }, 0i ` h{q1 , q2 }, εi

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

43 / 224

Endliche Automaten

Erste Automatenkonstruktionen

Bei wachsender Zustandszahl kann die graphische Darstellung eines PMA’n schnell un¨ ubersichtlich werden; dar¨ uberhinaus gibt es keine Standardanordnung der Knoten, und f¨ ur verschiedene Darstellungen ist es schwer zu u¨berpr¨ ufen, ob sie denselben Automaten beschreiben. Das spricht f¨ ur die tabellarische Variante: Beispiel (Fortsetzung) start 1

q0

start 0

0

δ q0 q1 q2

0 q1 , q2 q1 −

q1 1

q2

1

1 q0 q2 q2

I /F I I F

J¨ urgen Koslowski (TU-BS)

0

δ¯ {q0 , q1 } {q1 , q2 } {q0 , q2 } {q1 } {q2 } ∅ {q0 } {q0 , q1 , q2 }

0 {q1 , q2 } {q1 } {q1 , q2 } {q1 } ∅ ∅ {q1 , q2 } {q1 , q2 }

1 {q0 , q2 } {q2 } {q0 , q2 } {q2 } {q2 } ∅ {q0 } {q0 , q2 }

I /F I F F F

F

Die Zeilen f¨ ur die Singleton-Zust¨ ande ergeben sich direkt aus den Zeilen f¨ ur den Ausgangsautomaten, die anderen entsprechend durch Vereinigung solcher Zeilen. Der Zustand ∅ kann nicht verlassen werden.

Theoretische Informatik 1

WS 2014/2015

44 / 224

Endliche Automaten

Erste Automatenkonstruktionen

Algorithmus (f¨ ur erreichbaren PMA) Eingabe: ein NEA A = hQ, Σ, δ, I , F i in Tabellenform Ausgabe: Tabelle des erreichbaren PMA P(A)(r ) . Lege eine Tabelle f¨ ur einen vDEA u ¨ber Σ an. . Die erste Zeile ist f¨ ur den einzigen Anfangszustand I bestimmt. ¯ . In Zeile R ⊆ Q ergibt sich der Eintrag δ(a)(R) ⊆ Q f¨ ur a ∈ Σ durch Zusammenfassen der entsprechenden Werte aller Zeilen q ∈ R aus der Tabelle f¨ ur A . ¯ . Falls δ(a)(R) ⊆ Q noch nicht als Zeilenlabel vorkommt, wird eine neue Zeile mit diesem Label eingerichtet; . R ist Endzustand von P(A)(r ) , sofern mindestens ein Element von R Endzustand von A ist. Der Algorithmus terminiert nach h¨ ochstens |P(Q)| Zeilen.

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

45 / 224

Endliche Automaten

Determinismus vs. Nichtdeterminismus

Determinismus vs. Nichtdeterminismus Satz Jeder NEA ist zu einem vDEA ¨aquivalent. Beweisidee OBdA sei A erreichbar (sonst verwenden wir A(R) ). Eine P(A)-Berechnung hI , w i ` hR0 , s1 . . . sn−1 i ` · · · ` hRn−1 , εi durchl¨auft genau die Zust¨ande gem¨aß der komponierten Relationen 1

I

Q

δ(s0 )

Q

δ(s1 )

···

δ(sn−1 )

Q

wobei Ri genau durch folgende Anfangsst¨ uck gegeben ist 1

I

Q

δ(s0 )

Q

Rn−1 schneidet F nichtleer gdw (1 J¨ urgen Koslowski (TU-BS)

δ(s1 ) Rn−1

Theoretische Informatik 1

··· Q

δ(si ) F

Q 1) = (1

1

WS 2014/2015

1). 46 / 224

Endliche Automaten

Determinismus vs. Nichtdeterminismus

F¨ ur die Implementation ist das potentiell exponentielle Wachstum der Zustandsanzahl von P(A)(r ) gegen¨ uber A ein Nachteil: Beispiel (f¨ ur exponentielles Zustandswachstum) 0, 1 Sn :

start

q0

1

q1

0, 1

q2

0, 1

...

0, 1

qn

(f¨ ur n > 0 )

erkennt offenbar die Sprache Ln aller Bin¨arw¨ orter, bei denen in Position n von rechts eine 1 steht, formal: Ln = L(Sn ) = { w : ∃u, v ∈ {0, 1}∗ . w = u1v ∧ |v | = n − 1 } Lemma Ein vDEA A mit L(A) = L(Sn ) hat mindestens 2n Zust¨ande (HA).

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

47 / 224

Endliche Automaten

Determinismus vs. Nichtdeterminismus

DEAs lassen sich einfacher in ¨aquivalente vDEAs umwandeln: Definition F¨ ur einen DEA A = hQ, Σ, δ, I , F i erweitern wir die (potentiell) partiellen Funktionen 1 I Q und Q δ(a) Q zu totalen Funktionen indem wir Q um einen neuen Zustand ⊥ vergr¨ oßern. Das liefert einen vDEA A⊥ := hQ + {⊥}, Σ, δ⊥ , I⊥ , F i mit ( ( ⊥ falls δ(a)(q) undef. I falls I 6= ∅ δ⊥ (a)(q) = I⊥ = δ(a)(q) sonst {⊥} sonst δ⊥ (a) ist strikt in dem Sinne, daß δ⊥ (a)(⊥) = ⊥ gilt. Im Falle eines vDEA A ist der neue Zustand ⊥ in A⊥ isoliert, insbesondere also unerreichbar. Somit gilt (A⊥ )(r ) = A(r ) . Proposition Jeder DEA A ist zu A⊥ ¨aquivalent. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

48 / 224

Endliche Automaten

Determinismus vs. Nichtdeterminismus

Beispiel Die Sprache aller Bin¨arw¨orter mit Pr¨afix 010 und Postfix 1 , formal L = { w ∈ {0, 1}∗ : ∃u ∈ {0, 1}∗ . w = 010u1 } , wird von folgendem u aber nicht vollst¨ andigen DEA erkannt: weniger u vDEA erkannt: ¨bersichtlichen ¨bersichtlichen start

0

q0

1

q1

q2

0

1 q3

q4 0

1

0 ⊥

1

0

1

0, 1

Informelle Terminologie Ein Zustand q eines vDEA, der δ(a)(q) = q f¨ ur alle a ∈ Σ erf¨ ullt und kein Endzustand ist, wird gelegentlich Papierkorb-Zustand , oder schwarzes Loch , oder Hotel California Zustand (HCZ) genannt.

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

49 / 224

Endliche Automaten

Das Pumping Lemma f¨ ur regul¨ are Sprachen

Das Pumping Lemma f¨ur regul¨are Sprachen Bevor wir Abschlußeigenschaften der Klasse der regul¨aren Sprachen untersuchen, m¨ ussen wir kl¨aren, ob nicht-regul¨are Sprachen existieren. Die Menge P(Σ∗ ) der formalen Sprachen u ¨ber abz¨ahlbarem Alphabet Σ ist u ¨berabz¨ahlbar. Andererseits gibt es nur abz¨ahlbar viele . endliche Zustandsmengen Q = {0, . . . , n − 1} mit I = {0} ; . Teilmengen F ⊆ Q , P . Funktionen Σ δ P(Q × Q) mit U = a∈Σ δ(a) endlich, . folglich vDEAs, und damit regul¨are Sprachen u ¨ber Σ . ¨ Uberabz¨ahlbar viele Sprachen sind nicht regul¨ar. Wie stellt man das fest? Suche eine Eigenschaft, die alle regul¨aren Sprachen haben m¨ ussen. Jede Sprache, die diese Eigenschaft nicht hat, kann folglich nicht regul¨ar sein. (In logischer Terminologie ist dies die Kontraposition der vorigen Aussage.) Dieser Ansatz wird es erm¨ oglichen, die Regularit¨at von Sprachen zu widerlegen, aber nicht, dieselbe zu beweisen. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

50 / 224

Endliche Automaten

Das Pumping Lemma f¨ ur regul¨ are Sprachen

Satz (Das Pumping-Lemma f¨ ur regul¨are Sprachen, PL(reg)) Zu jeder regul¨aren Sprache L ⊆ Σ∗ existiert eine Zahl nL > 0 , so daß jedes Wort w ∈ L mit |w | ≥ nL eine Zerlegung w = xyz mit x, y , z ∈ Σ∗ ullt: besitzt, die folgende Bedingungen erf¨ (0) y 6= ε ;

(1) |xy | ≤ nL ;

(2) ∀k ∈ N. wk := xy k z ∈ L .

Beweis. W¨ahle einen vDEA A mit L(A) = L . Setze nL := |Q| . F¨ ur w ∈ L mit |w | ≥ nL sei p ∈ Q der erste Zustand, der mehrfach bei der Berechnung von w vorkommt, und x bzw. xy die Pr¨afixe von w bis zum ersten bzw. zweiten Auftreten von p , und z das Postfix mit w = xyz . hq0 , wk i `∗ hp, y k zi `∗ hp, zi `∗ hq, εi ist dann f¨ ur jedes k ∈ N akzeptierend, da w = w1 ∈ L . J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

51 / 224

Endliche Automaten

Das Pumping Lemma f¨ ur regul¨ are Sprachen

Beispiel Die Sprache L = { ai b i : i ∈ N } ⊆ {a, b}∗ ist nicht regul¨ar: F¨ ur n > 0 betrachte w := an b n = xyz mit y 6= ε und |xy | ≤ n .Wegen |y |b = 0 folgt |xy 2 z|a > |xy 2 z|b und somit xy 2 z ∈ / L . Da n generisch war, ist L nicht regul¨ar. Beispiel Die Menge P ⊆ N ∼ = {|}∗ aller Primzahlen ist nicht regul¨ar: F¨ ur n > 0 betrachte die n¨achstgr¨ oßere Primzahl p und das Wort w := |p = |a |b |c = |a+b+c mit b > 0 und a + b ≤ n . F¨ ur k ∈ N setze wk = |a |kb |c = |a+kb+c . Speziell f¨ ur k = a + c ist der Exponent a + kb + c = (a + c)(1 + b) keine Primzahl, also gilt wk ∈ / P. Da n generisch war, ist P nicht regul¨ar.

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

52 / 224

Endliche Automaten

Das Pumping Lemma f¨ ur regul¨ are Sprachen

Die Widerlegung der Regularit¨at einer konkreten Sprache L ⊆ Σ∗ mittels des PL folgt immer demselben Schema Man u uft eine generische Zahl n > 0 auf Ihre Eignung als Konstante ¨berpr¨ nL aus dem Pumping Lemma und verwirft sie: (0) w¨ahle ein spezifisches Wort w ∈ L mit |w | ≥ n ; typischerweise wird w vom Wert n als Parameter abh¨angen; (1) betrachte eine generische Zerlegung w = xyz mit y 6= ε und |xy | ≤ n ; dies sind ihre einzigen bekannten Eigenschaften; (2) optional: beschreibe das allgemeine Wort wk = xy k z , k ∈ N ; (3) finde einen spezifischen Wert k0 ∈ N mit wk0 ∈ / L. Da n generisch war, entf¨allt jedes n > 0 als Kandidat f¨ ur nL , also kann L nicht regul¨ar sein. Die wesentliche Arbeit besteht in der geschickten Wahl von w ∈ L (0) und in der Bestimmung von k0 (3). J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

53 / 224

Endliche Automaten

Erste Abschlußeigenschaften regul¨ arer Sprachen

Erste Abschlußeigenschaften regul¨arer Sprachen Nachdem wir die Menge Σ-Reg der regul¨aren Sprachen u ¨ber einem abz¨ahlbaren Alphabet Σ als abz¨ahlbare Teilmenge der u ¨berabz¨ahlbaren Menge P(Σ∗ ) aller Sprachen u ¨ber Σ charakterisiert haben, stellt sich nun die Frage, unter welchen Operationen Σ-Reg abgeschlossen ist. Um die unterschiedliche Eignung von deterministischen/nicht-deterministischen Automaten f¨ ur solche Fragen zu demonstrieren, hatten wir die Spiegel-Operation gleich von Beginn an mitbehandelt: Satz Spiegelbilder regul¨arer Sprachen sind regul¨ar. Beweis. Akzeptierende A-Berechungen von w ∈ Σ∗ entsprechen bijektiv akzeptierenden Aop -Berechnungen von sp(w ) , d.h., L(Aop ) = (L(A)) op . J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

54 / 224

Endliche Automaten

Erste Abschlußeigenschaften regul¨ arer Sprachen

Satz Endliche Vereinigungen regul¨arer Sprachen sind regul¨ar. Beweis. Als leere Vereinigung wird ∅ ⊆ Σ∗ u.a. vom leeren Automaten erkannt. Sind f¨ ur i < 2 die Sprachen Li ⊆ Σ∗i regul¨ar, w¨ahle Automaten Ai = hQi , Σi , δi , Ii , Fi i mit L(Ai ) = Li . Ihre disjunkte Vereinigung ist A0 + A1 = hQ0 + Q1 , Σ0 ∪ Σ1 , δ0 + δ1 , I0 + I1 , F0 + F1 i mit (δ0 + δ1 )(a) := δ0 (a) + δ1 (a) . Nach Konstruktion gilt nun ˆ ˆ (I0 + I1 ); (δ\ 0 + δ1 )(w ); (F0 + F1 ) = (I0 ; δ0 (w ); F0 ) + (I1 ; δ1 (w ); F1 ) und folglich L(A0 + A1 ) = L0 ∪ L1 . Achtung: A0 + A1 ist i.A. nicht deterministisch! J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

55 / 224

Endliche Automaten

Erste Abschlußeigenschaften regul¨ arer Sprachen

Satz Komplemente regul¨arer Sprachen sind regul¨ar. Beweis. Ist L ⊆ Σ∗ regul¨ar, w¨ahle einen vDEA A = hQ, Σ, δ, I , F i mit L(A) = L . Da jedes Wort genau eine Berechnung hat, und diese genau dann akzeptiert, wenn der letzte Zustand in F liegt, erkennt der Automat A0 = hQ, Σ, δ, I , Q − F i das Komplement L¯ := Σ∗ − L von L . Folgerung Endliche Durchschnitte regul¨arer Sprachen sind regul¨ar. Beweis. (nicht konstruktiv) Aufgrund der de Morgan’sche Regeln, lassen sich endliche Durchschnitte als Komplemente endlicher Vereinigungen darstellen. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

56 / 224

Endliche Automaten

Erste Abschlußeigenschaften regul¨ arer Sprachen

Satz Jede endliche Sprache ist regul¨ar. Beweis. Jede endliche Sprache ist endliche Vereinigung von Singleton-Sprachen. F¨ ur w = so s1 . . . sn−1 ∈ Σ∗ ben¨ otigen wir n + 1 Zust¨ande, die wir mit den ¨ Pr¨afixen von w codieren, und n Uberg¨ ange, um genau w zu akzeptieren: start

ε

s0

s0

s1

s0 s1

s2

...

sn−2

s0 . . . sn−2

sn−1

w

Der einzige Weg vom Start- zum Endzustand erkennt w . Die Beweise dieser Erebnisse waren deshalb so einfach, weil ein korrekt verallgemeinerter Begriff von NEAs verf¨ ugbar war. L¨aßt man nur vDEAs zu, werden diese Beweise viel umst¨andlicher. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

57 / 224

Endliche Automaten

Erste Abschlußeigenschaften regul¨ arer Sprachen

Was passiert, wenn man das Alphabet ¨andert? Satz Homomorphe Urbilder regul¨arer Sprachen sind regul¨ar. Genauer: f¨ ur einen h ∗ ∗ Γ , d.h., Monoid-Homomorphismus Σ (0) h(ε) = ε ;

(1) h(uv ) = h(u)h(v )

f¨ ur u, v ∈ Σ∗

ist mit R ⊆ Γ∗ auch das Urbild h−1 [R] = { w ∈ Σ∗ : h(w ) ∈ R } regul¨ar. Beweis. W¨ahle einen vDEA A = hQ, Γ, δ, {q0 }, F i mit L(A) = R und definiere ¯ Σ τ P(Q × Q) durch Σ i Σ∗ h Γ∗ δ P(Q × Q), genauer τ (a) := δ(b0 ); δ(b1 ); · · · ; δ(bn−1 )

falls h(a) = b0 b1 . . . bn−1 ∈ Γ∗

Dann ist hQ, Σ, τ, {q0 }, F i ein vDEA, der h−1 [R] akzeptiert. Der Beweis f¨ ur homomorphe Bilder kann sp¨ater leichter gef¨ uhrt werden. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

58 / 224

Endliche Automaten

¨ ε - Uberg¨ ange

¨ ε- Uberg¨ ange Noch offen sind die Fragen nach der Abgeschlossenheit der Klasse der regul¨aren Sprachen unter Konkatenation von Sprachen L · M := { uv : u ∈ L ∧ v ∈ M }

f¨ ur L, M ⊆ Σ∗

Mit anderen Worten: formen die regul¨aren Sprachen u ¨ber Σ ein ∗ Untermonoid von hP(Σ ), ·, {ε}i ? homomorphen Bildern: bewahren Homomorphismen Σ∗ h Γ∗ , also Abbildungen, die mit Konkatenation und ε vertr¨aglich sind, die Regularit¨at von Sprachen u ¨ber Σ ? (Wie gerade gesehen, sind Urbilder regul¨arer Sprachen wieder regul¨ar.) ¨ Beide Fragen lassen sich leicht beantworten, wenn wir neue Uberg¨ ange zulassen, die kein bzw. mehr als ein Eingabesymbol verbrauchen. Wie kommt man dann zu konventionellen Automaten zur¨ uck? J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

59 / 224

Endliche Automaten

¨ ε - Uberg¨ ange

Die naive L¨ osung des Konkatenationsproblems ist klar: um L · M akzeptieren zu k¨onnen, w¨ahlt man Automaten A und B mit L(A) = L bzw. L(B) = M . Dann verbindet man alle Endzust¨anden in A mit allen ¨ Anfangszust¨anden in B durch neue Uberg¨ ange. ¨ Problem 0: Welche Label sollen diese neuen Uberg¨ ange tragen? Bei Berechnungen k¨onnen hier keine Eingabesymbole verbraucht werden. Formale L¨ osung: Das leere Wort ε ∈ Σ∗ wird als neues Label zugelassen, also verwenden wir das “Alphabet” Σ0 + Σ1 = {ε} + Σ =: Σε . Problem 1: Was ¨andert sich graphentheoretisch (LTS)? ¨ Problem 2: Wie passen ε - Uberg¨ ange in unser Clienet-Server Modell? Problem 3: Was ist nun der korrekte Determinismus-Begriff? Problem 4: Kann man das Label ε sp¨ater wieder eliminieren und zu uckkehren? ¨aquivalenten konventionellen NEAs zur¨

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

60 / 224

Endliche Automaten

¨ ε - Uberg¨ ange

Die Erweiterung des Automatenbegriffs ist sehr einfach: Definition (εNEA u ¨ber Σ ) ¨ Ein nicht-deterministischer endlicher Automat mit ε- Uberg¨ angen (εNEA) ε A = hQ, Σ , δ, I , F i besteht aus einer Zustandsmenge Q ; Relationen δ(a) ⊆P Q × Q f¨ ur jedes a ∈ Σε mit endlicher disjunkter Vereinigung U = a∈Σε δ(a) ; Teilmengen I , F ⊆ Q ausgezeichneter Anfangs- bzw. Endzust¨ande. ¨ ¨ Uberg¨ ange mit Label ε heißen auch spontane Uberg¨ ange. Graphentheoretisch wird Σ durch den reflexiven Graphen Σε ersetzt, der u ugt. ¨ber einen zus¨atzlichen ausgezeichneten Loop mit Label ε verf¨ Ist G ebenfalls reflexiv, sollten dessen ausgezeichneten Loops das Label ε tragen, was die M¨oglichkeit des Idelings oder Leerlaufs er¨offnet. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

61 / 224

Endliche Automaten

¨ ε - Uberg¨ ange

Beim Client-Server-Modell ist zu beachten, dass der Server pro Schritt nur einzelne Buchstaben aus Σ liefern kann. ¨ Die Entscheidung, ob ein ε -Ubergang erfolgt, obliegt also dem Client: . demand-driven: der Client entscheidet vor einer Nachfrage nach ¨ weiterem Input, ob ein spontaner Ubergang erfolgen soll oder nicht. . supply-driven: Der Client entscheidet angesichts des angebotenen Inputs (Buchstabe oder Info u ¨ber Ende der Eingabe), ob ein spontaner ¨ Ubergang erfolgen soll, und somit, ob ein angebotener Buchstabe verbraucht wird oder nicht. ¨ Nach Ende der Eingabe k¨onnen noch spontane Uberg¨ ange erfolgen, unabsichtlich im ersten Fall (da der Client noch nicht weiß, dass die Eingabe ¨ abgearbeitet ist und nach den spontanen Uberg¨ angen weitere Eingaben fordert) und absichtlich im zweiten Fall.

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

62 / 224

Endliche Automaten

¨ ε - Uberg¨ ange

Das entscheidende Kriterium f¨ ur Determinismus bei NEAs war, dass jedes Eingabewort w h¨ochstens eine maximale Konfigurationenfolge der Form hq0 , w i ` · · · induziert. Diese kann nicht verzweigen und liefert, wenn sie nicht steckenbleibt, eine eindeutige Berechnung. Determinismus betrifft also das Zusammenspiel von Client und Server! Um Determinismus bei NEASs zu definieren, ist zun¨achst sicherzustellen, dass Konfigurationsfolgen nicht verzweigen k¨ onnen. Das kann vollst¨andig Client-seitig erfolgen (εDEAs, s.u.), oder das Protokoll f¨ ur die Interaktion mit einbeziehen. Aber die M¨ oglichkeit, nach Abarbeitung des letzten Eingabesymbols noch ¨ spontane Uberg¨ ange auszuf¨ uhren, erlaubt die Verl¨angerung mancher Berechnungen, potentiell ohne obere Schranke. Prinzipiell k¨onnen sich dabei Endzust¨ande und Nichtendzust¨ande abwechseln, d.h., Berechnungen k¨onnen durch Verl¨angerung ihren Status von “akzeptierend” zu “nicht akzeptierend” ¨andern und umgekehrt. Im deterministischen Fall wollen wir aber darauf bestehen, dass einmal akzeptierende Berechnungen auch akzeptierend bleiben. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

63 / 224

Endliche Automaten

¨ ε - Uberg¨ ange

Definition Ein εNEA A heißt (inher¨ant) deterministisch (εDEA), falls (0) es h¨ochstens einen Anfangszustand q0 gibt; (1) alle Relationen δ(a) , a ∈ Σε , partielle Funktionen sind; (2) der Definitionsbereich D(δ(ε)) disjunkt zu allen Definitionsbereichen D(δ(a)) , a ∈ Σ , ist; ¨ (3) die Endzustandsmenge unter spontanen Uberg¨ angen abgeschlossen ist: F ; δ(ε) ⊆ F . Anstelle von Bedingung (2) kann man versuchen das Protokoll f¨ ur die Interaktion zu versch¨arfen, um Determinismus zu garantieren: ¨ . Demand-driven: ε -Uberg¨ ange haben Vorrang. Das klappt aber nur, wenn der Graph G irreflexiv ist! (warum?) ¨ . Supply-driven: buchstabenverbrauchende Uberg¨ ange haben Vorrang. Diese Bedinungen sind auch ohne die Forderungen (0) und (1) sinnvoll. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

64 / 224

Endliche Automaten

¨ ε - Uberg¨ ange

Einige Anmerkungen: Jeder NEA ist ein εNEA, mit δ(ε) = ∅ . Manche Authoren f¨ uhren ein separates Label 6= ε f¨ ur spontane ¨ Uberg¨ange ein; bisher sehe ich darin keinen Vorteil. Der Begriff “vollst¨andiger εDEAs” ist nicht sinnvoll: ist δ(a) f¨ ur jedes a ∈ Σε eine Funktion, so hat man in jedem Zustand die Option, den n¨achsten Buchstaben zu verarbeiten oder stattdessen einen ¨ ε- Ubergang zu vollziehen. Genau dies verhindert aber die Bedingung D(δ(ε)) ∩ D(δ(a)) = ∅ f¨ ur alle a ∈ Σ . Daher kann f¨ ur einen εDEA ¨ mit spontanen Uberg¨angen δ(a) f¨ ur kein a ∈ Σ eine Funktion sein. Es spricht nichts dagegen, auch die anderen ungelabelten Pfeile, n¨amlich f¨ ur Anfangs- und Endzust¨ande, mit dem Label ε zu versehen. Andere Label aus Σ sind ebenfalls zul¨assig, wenn auch ungew¨ohnlich. (Bei diesen Pfeilen handelt es sich aber nicht um Kanten innerhalb des LTS A , sondern sie konstituieren sog. Module vom diskreten LTS 1 nach A , bzw. von A nach 1 .) J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

65 / 224

Endliche Automaten

¨ ε - Uberg¨ ange

Wie funktioniert die Spracherkennung bei εNEAs, wie sind die Begriffe der Konfiguration und der Berechnung anzupassen? Es ist nicht auszuschließen, daß mehrere (= endlich viele) spontane ¨ Uberg¨ ange hintereinander stattfinden; der Effekt solcher Verkn¨ upfungen ist ¨ von “einfachen” spontanen Uberg¨ angen nicht zu unterscheiden (denn unsere ¨ idealisierten Uberg¨ ange erfolgen instantan, d.h., ohne zeitliche Ausdehnung). Daher bietet es sich an, die Relation δ(ε) unter Komposition abzuschließen, d.h., ihre reflexive transitive H¨ ulle zu betrachten: [ δ ∗ (ε) = { δ n (ε) : n ∈ N } wobei δ n (ε) die n -fache Komposition der Relation Q δ(ε) Q mit sich bezeichnet. Anschauliche Interpretation: δ ∗ (ε) beschreibt die Erreichbarkeit ¨ mittels ε- Uberg¨ angen.

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

66 / 224

Endliche Automaten

¨ ε - Uberg¨ ange

Definition (Spracherkennung durch εNEAs, S¨attigung f¨ ur εNEAs) A = hQ, Σε , δ, I , F i erkennt w = s0 s1 . . . sn−1 ∈ Σ∗ , falls

1

mit 1

1

) s0 δ( Q

Q δ∗ (ε )

) s1 δ(

Q

) Q δ∗ (ε )

1

...

Q

δ Q

− (s n

op

Q δ∗ (ε )

1

F

I

Q

1u ¨bereinstimmt. Das liefert hier die S¨attigung von δ : ˆ ) = δ ∗ (ε); δ(s0 ); δ ∗ (ε); · · · ; δ(sn−1 ); δ ∗ (ε) δ(w

D. h.: es existiert ein Weg der L¨ange ≥ |w | von einem Anfangs- zu einem Endzustand, entlang dessen die Label s0 , s1 , . . . sn−1 in dieser Reihenfolge auftreten, und sonst h¨ ochstens noch ε . Die Begriffe der Konfiguration, der Berechnung und der Akzeptanz bleiben unver¨andert, einzig den Begriff der Folgekonfiguration m¨ ussen wir an die erweiterte Labelmenge anpassen: hq, w i ` hp, ui gdw. ∃a ∈ Σε . w = au ∧ hq, pi ∈ δ(a) J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

67 / 224

Endliche Automaten

¨ ε - Uberg¨ ange

Eine Berechnung von w ∈ Σ∗ mittels eines NEA muß genau |w | Schritte haben, im Falle eines εNEA kann sie auch l¨anger ausfallen. Zwar kommt δ ∗ (ε) nicht explizit in der Definition der Folgekonfiguration vor, aber dieser Aspekt steckt bereits im Begriff der Berechnung hq, w i `∗ hp, εi (wie schon f¨ ur NEAs). Der obige Begriff der Spracherkennung weist auch darauf hin, wie ¨ ε- Uberg¨ ange wieder eliminiert werden k¨ onnten: per Absorbtion durch die ¨ “normalen” Uberg¨ ange. Daf¨ ur gibt es mindestens drei M¨oglichkeiten:

1

FL

IR

δ R (s0 )

B

1

F

F

Q Q Q ) Q B B ) ) 1 δ ∗ δ (sδ0(s)0 δ ∗ δ (sδ1(s)1 δ∗ n− ... s (ε (ε δ( δ B (s ()ε) ) ) n−1 B Q Q Q I

R

L

II

δ L (s1 )

F

δ L (s0 )

Q

δ R (sn−1 )

von links, rechts oder, wegen δ ∗ (ε); δ ∗ (ε) = δ ∗ (ε) , beidseitig. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

68 / 224

Endliche Automaten

¨ ε - Uberg¨ ange

Proposition ( ε-Elimination) F¨ ur jeden εNEA A = hQ, Σε , δ, I , F i ist [email protected] = hQ, Σ, δ @ , I @ , F @ i , @ ∈ {L,R,B} , ein ¨aquivalenter NEA mit δ L (a) := δ ∗ (ε); δ(a) δ R (a) := δ(a); δ ∗ (ε)

I L := I (a ∈ Σ)

F L := F ; δ ∗ (ε)op

I R := I ; δ ∗ (ε) F R := F

δ B (a) := δ ∗ (ε); δ(a); δ ∗ (ε) I B := I ; δ ∗ (ε) F B := F ; δ ∗ (ε)op    Offenbar gilt AR op = (Aop ) L sowie AB = AL+ε R = AR+ε L . Proposition F¨ ur einen deterministischen εNEA A ist AL ein DEA. Beweis. D(δ(ε)) ∩ D(δ(a)) = ∅ garantiert, daß δ ∗ (ε); δ(a) eine partielle Funktion bleibt, und I L = I ist ohnehin h¨ ochstens ein Singleton. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

69 / 224

¨ ε - Uberg¨ ange

Endliche Automaten

Beispiel start

0

q0

q1

Die Tabelle f¨ ur AL enth¨ alt eine Hilfs-Spalte f¨ ur die ε - Erreichbarkeit. Analog zur PMA-Konstruktion werden die Elemente der entsprechenden Menge in die Spalten f¨ ur a ∈ Σ eingetragen.

ε

A:

ε

1 q2

δ q0 q1 q2

ε q2 − q1

0 q1 − −

1 − q2 −

ε∗ q0 , q1 , q2 q1 q1 , q2

δL q0 q1 q2

I /F I F

0 q1 − −

1 q2 q2 q2

I /F I, F F F

qi ist genau dann Endzustand in AL , wenn von qi aus ein Endzustand von A erreichbar ist (hier also q1 ).

Die ε - Erreichbarkeits-Relation δ ∗ (ε) bestimmt man rekursiv mit einer Bin¨ armatrix, die mit δ(ε) sowie ∆Q initialisiert wird:

start

0

q0

q1

L

A : q0 q1 q2

q0 1

q1 1 1 1

q2 1

1

1

1

Die Bearbeitung erfolgt zeilenweise: F¨ ur jede Eins in Position hi, ji , i 6= j , wird Zeile i durch ihre komponentenweise Disjunktion ( ∨ ) mit Zeile j ersetzt, bis keine neuen Einsen auftreten.

J¨ urgen Koslowski (TU-BS)

1 q2

¨ Die Uberg¨ ange der Automaten AR und AB sind etwas umst¨ andlicher zu berechnen, da in beiden F¨ allen die ε - Nachfolger der Zielzust¨ ande aus A zu betrachten sind.

Theoretische Informatik 1

WS 2014/2015

70 / 224

¨ ε - Uberg¨ ange

Endliche Automaten

Beispiel (Fortsetzung) start

q0

0

q1

start

ε

A : 1

1

1 q2

q2 start start A

R

q0

0

q1

:

1 start

start

1 A

B

0, 1

q0

:

q2

q1

1

1 1

1 start

q1

L

ε

A:

0

q0

start

1 q2

1

Man beachte, daß AR und AB nicht deterministisch sind, schon allein da sie mehr als einen Anfangszustand haben. Es gibt weitere zu A ¨aquivalente NEAs mit den nicht-spontanen ¨ Uberg¨ angen aus A , die untersuchen wir aber nicht. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

71 / 224

Endliche Automaten

¨ ε - Uberg¨ ange

Algorithmus Eingabe: ein εNEA A = hQ, Σε , δ, I , F i in Tabellenform Zwischenergebnis: Matrix der ε-Erreichbarkeits-Relation δ ∗ (ε) . bin¨are Q × Q -Matrix mit Einsen in der Diagonale und in den durch δ(ε) bestimmten Positionen initialisieren (Nullen implizit); . Zeilenweise iterativ bis Matrix stabil: f¨ ur jede Eins in Position hq, pi mit q 6= p Zeile p mittels ∨ (“oder”) zu Zeile q hinzugef¨ ugen. . Optional: leere Positionen mit Nullen beschreiben. Ausgabe: ein ¨aquivalenter NEA AL u ¨ber Σ in Tabellenform δ ∗ (ε) . Tabelle f¨ ur einen NEA u ur ¨ber Σ anlegen mit einer Hilfs-Spalte ε∗ f¨ ε-Erreichbarkeit (nach der Zustands-Spalte); . hier die ε-erreichbaren Zust¨ande gem¨aß obiger Matrix u ¨bertragen; . Σ -Spalten: Vereinigung analog zur PMA-Konstruktion bzgl. der Werte in Spalte ε∗ (nur ohne Mengenklammern). . I u ¨bernehmen; F L falls ein F -Zustand in der ε∗ -Spalte vorkommt. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

72 / 224

Endliche Automaten

¨ ε - Uberg¨ ange

Satz Konkatenationen regul¨arer Sprachen sind regul¨ar. Beweis. Die leere Konkatenation {ε} ist als endliche Sprache regul¨ar. Ist Li ⊆ Σ∗ regul¨ar mit L(Ai ) = Li f¨ ur NEAs Ai = hQi , Σ, δi , Ii , Fi i , i < 2 , definiere den Konkatenations-Automaten A0 A1 = hQ0 + Q1 , Σε , δ0 δ1 , I0 , F1 i mit (δ0 δ1 )(ε) := F0 × I1 und (δ0 δ1 )(a) := δ0 (a) + δ1 (a) f¨ ur a ∈ Σ . Akzeptieren hqi , ui i `∗ hpi , εi in Ai , i < 2 , so gilt in A0 A1 hq0 , u0 u1 i `∗ hp0 , u1 i ` hq1 , u1 i `∗ hp1 , εi Akzeptiert umgekehrt hq0 , w i `∗ hp1 , εi in A0 A1 , so wird w durch genau ¨ einen Ubergang hp0 , q1 i ∈ δ(ε) zerlegt in w = u0 u1 , so dass beide Berechnungen hqi , ui i `∗ hpi , εi akzeptieren. Also = L(A0 A1 ) = L0 L1 . J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

73 / 224

Endliche Automaten

¨ ε - Uberg¨ ange

Was passiert, wenn wir die Endzust¨ande eines Automaten A mittels ¨ ε- Uberg¨ angen nicht mit den Anfangszust¨anden eines anderen Automaten, sondern mit denen von A selbst verbinden? Diese Konstruktion verdient einen eigenen Namen: Definition (Feedback-Automat) Der Feedback-Automat A+ = hQ, Σε , δ + , I , F i f¨ ur einen εNEA A = hQ, Σε , δ, I , F i ist spezifiziert durch δ + (a) = δ(a)

und δ + (ε) := δ(ε) ∪ (F × I )

Satz L(A) = L impliziert L(A+ ) = L+ :=

S

{ Ln : n > 0 } .

Achtung: Ln bezeichnet hier die n -fache Konkatenation von L mit sich, nicht das n -fache cartesische Produkt! J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

74 / 224

Endliche Automaten

¨ ε - Uberg¨ ange

Das Konstrukt L+ erlaubt keine 0-fache Iteration. Definition (Iteration oder Kleene-Stern) ?

Der Kleene-Stern P(Σ∗ ) ( ) P(Σ∗ ) bildet L ⊆ Σ∗ ab auf [ L? := {ε} ∪ L+ = { Ln : n ∈ N } ⊆ Σ∗ Bemerkung ¨ Die Ahnlichkeit der Notationen ( )? und ( )∗ ist ¨argerlich! Aber die Operatoren beziehen sich auf verschiedene bin¨are Operationen: Konkatenation f¨ ur ( )? bzw. cartesisches Produkt f¨ ur ( )∗ . Man beachte: f¨ ur Sprachen L ⊆ Σ ⊆ Σ∗ gilt L? = L∗ . Ist Σ echte Teilmenge von L ⊆ L? ⊆ Σ∗ , so ist Σ∗ auch echte Teilmenge von L∗ . Von nun an wird ( )? f¨ ur uns wichtiger sein! J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

75 / 224

Endliche Automaten

¨ ε - Uberg¨ ange

Satz F¨ ur eine regul¨are Sprache L ∈ Σ∗ sind L+ und L? regul¨ar. Beweis. Falls L = L(A) wird L+ vom Feedback-Automaten A+ akzeptiert. L? ist die Vereinigung zweier regul¨arer Sprachen. Rechenregeln ∅+ = ∅ und ∅? = {ε} ; L ⊆ L+ ⊆ L? (Extensivit¨at); (L? )? = L? und (L+ )+ = L+ (Idempotenz); L ⊆ M impliziert L+ ⊆ M + und L? ⊆ M ? (Isotonie); ε ∈ L genau dann wenn L+ = L? ; L? = (L+ )? = (L? )+ . J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

76 / 224

Endliche Automaten

Die maximale Labelmenge Σ∗

Die maximale Labelmenge Σ∗

Schließlich wollen wir das Automatenmodell weiter verallgemeinern, indem wir alle endlichen W¨orter u ¨ber dem Alphabet Σ als Label zulassen. Das hat zum einen konzeptionelle Gr¨ unde: da wir an formalen Sprachen u ¨ber Σ , also Teilmengen von Σ∗ , interessiert sind, hat die Beschr¨ankung auf Label aus Σ bzw. aus Σε ausschließlich praktische Gr¨ unde und erscheint aus theoretischer Sicht k¨ unstlich. Auch wenn diese Verallgemeinerung nicht so umfangreiche praktische ¨ Auswirkungen hat wie die Einf¨ uhrung spontaner Uberg¨ ange, l¨aßt sich damit z.B. doch die bisher offene Frage nach dem Verhalten regul¨arer Sprachen uberhinaus k¨onnen unter homomorphen Bildern elegant beantworden. Dar¨ Label der L¨ange > 1 sehr leicht wieder eliminiert werden.

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

77 / 224

Endliche Automaten

Die maximale Labelmenge Σ∗

Definition (∗NEA u ¨ber Σ ) ¨ Ein nicht-deterministischer endlicher Automat mit Σ∗ - Uberg¨ angen (∗NEA) ∗ A = hQ, Σ , δ, I , F i besteht aus einer Zustandsmenge Q ; Relationen δ(w ) ⊆ ur jedes w ∈ Σ∗ mit endlicher disjunkter PQ × Q f¨ Vereinigung U = w ∈Σ∗ δ(w ) ; Teilmengen I , F ⊆ Q ausgezeichneter Anfangs- bzw. Endzust¨ande. Ein solcher Automat A heißt (inher¨ant) deterministisch (∗DEA), falls es h¨ochstens einen Anfangszustand q0 gibt; die Relationen δ(w ) , w ∈ Σ∗ , partielle Funktionen sind; ist u echtes Pr¨afix von v ( u @ v ), so sind die Definitionsbereiche D(δ(u)) und D(δ(v )) disjunkt; F ; δ(ε) ⊆ F (wie beim εNEA). Wieder gibt es keine vollst¨andige Version von ∗DEAs. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

78 / 224

Endliche Automaten

Die maximale Labelmenge Σ∗

Der Vollst¨andigkeit halber fragen wir uns: Wie stellt sich die ClientServer-Interaktion f¨ ur ∗NEAs dar? Auf jeden Fall muß der Client u ugen ¨ber einen Puffer verf¨ . Demand-driven: Der Client puffert mindestens solange vom Server ¨ angeforderte Buchstaben, bis das gepufferte Wort einen Ubergang erm¨oglicht. . Supply-driven: Der Client puffert mindestens solange vom Server angebotene Buchstaben, bis das gepufferte Wort zusammen mit dem ¨ n¨achsten angebotenen Buchstaben einen Ubergang erm¨oglicht. ¨ Spontane Uberg¨ ange d¨ urfen nur bei leerem Puffer auftreten. Diese Einschr¨ankung wird die Transformation in ¨aquivalente εNEAs erm¨oglichen. Im deterministischen Fall kann die Disjunktheitsbedingung f¨ ur die Definitionsbereiche von W¨ ortern, die in Pr¨afix-Beziehung stehen, nicht mehr durch Versch¨arfungen des Protokolls ersetzt werden: r¨aumt man k¨ urzeren/l¨angeren nichtleeren Labeln Vorrang ein, so werden die entsprechenden l¨angeren/k¨ urzeren nie verwendet. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

79 / 224

Endliche Automaten

Die maximale Labelmenge Σ∗

Die Spracherkennung durch ∗NEAs erfolgt analog zu den fr¨ uheren F¨allen, aber mit einer verallgemeinerten S¨attigung. Definition (S¨attigung f¨ ur ∗NEAs, Spracherkennung durch ∗NEAs) ˆ

Ein ∗NEA A = hQ, Σ∗ , δ, I , F i mit S¨attigung Σ∗ δ P(Q × Q) [ ˆ )= δ(w { δ(w0 ); . . . ; δ(wn−1 ) : w = w0 . . . wn−1 und wi ∈ Σ∗ } erkennt w ∈ Σ∗ genau dann, wenn 1

I

Q

ˆ ) δ(w

Q

F op

1=1

1

1

εNEAs und NEAs sind nat¨ urlich spezielle ∗NEAs. In diese F¨allen nimmt die S¨attigung bei w = s0 s1 . . . sn−1 eine besonders einfache Form an: ˆ ) = δ(s0 ); δ(s1 ); · · · ; δ(sn−1 ) δ(w ˆ ) = δ ∗ (ε); δ(s0 ); δ ∗ (ε); · · · ; δ(sn−1 ); δ ∗ (ε) δ(w

(NEA) (εNEA)

Label der L¨ange > 1 lassen sich nun mit Hilfe neuer Zust¨ande eliminieren: J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

80 / 224

Endliche Automaten

Die maximale Labelmenge Σ∗

Satz Jeder ∗NEA A = hQ, Σ∗ , δ, I , F i liefert einen ¨aquivalenten εNEA ur jedes w = s0 s1 . . . sn−1 mit n > 1 jeder A0 = hQ 0 , Σε , δ 0 , I , F i , indem f¨ ¨ ¨ Ubergang hp, qi ∈ δ(w ) durch neue Zust¨ande und Uberg¨ ange ersetzt wird: p

s0

t0

s1

...

sn−2

tn−2

sn−1

q

Satz Homomorphe Bilder regul¨arer Sprachen sind regul¨ar. Genauer: f¨ ur einen Monoid-Homomorphismus Σ∗ h Γ∗ ist mit L ⊆ Σ∗ auch das Bild h[L] = { h(w ) : w ∈ L } regul¨ar. Beweis. Ein NEA A = hQ, Σ, δ, I , F i mit L(A) = L liefert nach Ersetzung von Σ durch Γ∗ und von Labeln a ∈ Σ durch h(a) ∈ Γ∗ einen ∗NEA f¨ ur h[L] .

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

81 / 224

Endliche Automaten

Residuierung

Residuierung Zwei weitere Operationen sind eng mit der Konkatenation verwandt: Definition F¨ ur Sprachen L, M ⊆ Σ∗ heißen die folgenden “Br¨ uche” M/L := { u ∈ Σ∗ : {u}L ⊆ M }

, L\M := { v ∈ Σ∗ : L{v } ⊆ M }

Rechts- bzw. Links-Residuierung des “Z¨ahlers” M bzgl. des “Nenners” L . Proposition Jede Sprache M ⊆ Σ∗ erf¨ ullt M/{ε} = M = {ε}\M . In der Tat k¨onnen wir uns auf Singleton-”Nenner” beschr¨anken: Proposition T T M/L = { M/{w } : w ∈ L } und L\M = { {w }\M : w ∈ L } . J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

82 / 224

Endliche Automaten

Residuierung

Beispiel (mit Σ = {a, b} ) { an b n : n ∈ N }/{b 2 } = { ak+2 b k : k ∈ N } { an b n : n ∈ N }/{b}∗ = ∅ {a2 , a3 }\{ w : |w |a > |w |b } = { w : |w |a > |w |b − 2 } Satz Residuierung mit beliebigen Sprachen bewahrt Regularit¨at. Beweis (f¨ ur Rechts-Residuierung M/L ) Ist M ⊆ Σ∗ regul¨ar, w¨ahle einen vDEA A = hQ, Σ, δ, {q0 }, F i mit L(A) = M . Definiere eine neue Endzustandsmenge wie folgt: ˆ )(q) ∈ F } FL := { q ∈ Q : ∀v ∈ L. δ(v

(∗)

Nach Konstruktion erkennt AL := hQ, Σ, δ, {q0 }, FL i genau die W¨orter u ∈ Σ∗ mit {u}L ⊆ M . Damit ist L(AL ) = M/L regul¨ar. (∗) Q − FL = { q ∈ Q : ∃v ∈ L. δ(v )(q) ∈ / F } kann leichter berechenbar sein. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

83 / 224

Endliche Automaten

Residuierung

Es gibt nicht-regul¨are Sprachen, die die Bedingungen des Pumping Lemmas f¨ ur regul¨are Sprachen erf¨ ullen: Beispiel M = {a, b}∗ ∪ {c}+ { an b n : n ∈ N} erf¨ ullt die Bedingungen des Pumping Lemmas mit nM = 1 : Wir zerlegen w ∈ M mit |w | ≥ 1 als w = xyz mit x = ε und |y | = 1 . Damit gilt y 6= ε und |xy | ≤ 1 , aber auch wk = y k z ∈ M f¨ ur jedes k ∈ N , wobei einzig der Fall y = c und k = 0 interessant ist. Andererseits ist { an b n : n ∈ N} bekanntlich nicht regul¨ar. Wegen { an b n : n ∈ N} = ({c}∗ { an b n : n ∈ N}) ∩ {a, b}∗ = ({c}\M) ∩ {a, b}∗ und der Regularit¨at von {a, b}∗ kann also {c}\M und damit auch M nicht regul¨ar sein. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

84 / 224

Endliche Automaten

Regul¨ are Ausdr¨ ucke

Regul¨are Ausdr¨ucke Ziel: Wir wollen alle regul¨aren Sprachen u ¨ber Σ aus m¨oglichst einfachen Sprachen und nach m¨ oglichst einfachen Regeln aufbauen. Zur Verf¨ ugung stehen neben den Singleton-Sprachen {a} , repr¨asentiert durch die Buchstaben a ∈ Σ , folgende Operationen: die null¨are Vereinigung ( ∅ ), die bin¨are Vereinigung ( ∪ ), das un¨are Komplement ( ( )c ), der null¨are Durchschnitt ( Σ∗ ), der bin¨are Durchschnitt ( ∩ ), die null¨are Konkatenation ( {ε} ), die bin¨are Konkatenation ( · ), die bin¨aren Residuierungen ( / und \ ), die un¨are Iteration ( (−)+ ) bzw. der Kleen-Stern ( (−)? ). J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

85 / 224

Endliche Automaten

Regul¨ are Ausdr¨ ucke

Wir w¨ahlen einen indirekten syntaktischen Ansatz, der uns endliche “Baupl¨ane” f¨ ur alle regul¨aren Sprachen liefern wird. Das Alphabet Σ wird um endlich viele “formale Operationssymbole” einer vorgegebenen “Stelligkeit” (arity) erweitert; wir betrachten B¨aume, deren innere Knoten und Bl¨atter mit Operations-Symbolen der entsprechenden Stelligkeit bzw. 0-stelligen Konstanten markiert sind; diese B¨aume sind aus elementaren B¨aumen geringer Tiefe zusammengesetzt; es gibt mehrere M¨oglichkeiten, die B¨aume zu “linearisieren”; das f¨ uhrt zu sog. “regul¨aren Ausdr¨ ucken”; wir definieren eine Semantik-Abbildung, die B¨aumen bzw. regul¨aren Ausdr¨ ucken regul¨are Sprachen zuordnet; regul¨are Ausdr¨ ucke mit derselben Semantik heißen ¨aquivalent; aus einem Automaten A wird sich ein regul¨arer Ausdruck R(A) mit Semantik L(A) extrahieren lassen (Kleene-Algorithmus). J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

86 / 224

Endliche Automaten

Regul¨ are Ausdr¨ ucke

Außer den Konstanten aus Σ , die zu 0-stelligen Konstanten werden, abstrahieren wir 5 der 10 zur Verf¨ ugung stehenden Operationen: ·

+

?



ε

a

, a∈Σ

sollen die Operationen Konkatenation, Vereinigung und Kleene-Stern sowie die Konstanten ∅ , {ε} und {a} , a ∈ Σ symbolsieren. Als alternative Bezeichnungen sind auch t statt + , 0 statt ∅ , und 1 statt ε verbreitet. Die aus diesen Elementarbausteinen konstruierbaren regul¨aren B¨aume sind zwar sehr u ¨bersichtlich, in ihrer 2-dimensionalen Struktur aber nur schlecht maschinenlesbar, und ein typographischer Alptraum (damals gab es noch kein TikZ/PGF ). Also werden wir die B¨aume linearisieren, d.h. auf bestimmte W¨orter u ¨ber einem Alphabet abbilden, das Σ + {·, +, ?, ∅, ε} enth¨alt. Das kann auf mindestens drei verschiedene Weisen geschehen. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

87 / 224

Endliche Automaten

Regul¨ are Ausdr¨ ucke

Die bin¨aren Operationssymbole · und + : k¨ onnen als Infix-, Pr¨afix- oder Postfix-Opertoren gehandhabt werden: Beispiel (Linearisierungen eines regul¨aren Baums) Infix-Schreibweise (erfordert Klammern): ((a + (b)? ) · c) oder k¨ urzer (a + b ? ) · c

· + a

c

Pr¨afix-Schreibweise (polnische Notation): · + a ? bc

?

Postfix-Schreibweise, oder RPN:

b

ab ? +c ·

Definition Infix-linearisierte regul¨are B¨aume heißen regul¨are Ausdr¨ ucke. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

88 / 224

Endliche Automaten

Regul¨ are Ausdr¨ ucke

Die Infix-Schreibweise erscheint uns nur deshalb nat¨ urlich, weil wir sie von klein auf gewohnt sind. Sie erfordert weiteren syntaktischen Ballast in Form von Klammern, und zu dessen Eind¨ammung Vereinbarungen u ¨ber Operatoren-Pr¨azedenz, z.B.: ? bindet st¨arker als · bindet st¨arker als + . Die Klammern sowie die Operator-Pr¨azedenzen entfallen bei den anderen Varianten. Bei der Pr¨afix-Schreibweise m¨ ussen wir uns f¨ ur jedes gelesene Operatorsymbol (bekannter Stellichkeit) die n¨ otigen Argumente durch vorausschauendes Lesen beschaffen; dabei kann die Auswertung weiterer Teilausdr¨ ucke erforderlich sein, deren Anzahl unbeschr¨ankt wachsen kann; das ist unpraktisch! Die Postfix-Schreibweise eliminiert die Nachteile der Pr¨afixSchreibweise mittels eines Stacks; speziell kann jeder Operator zum Zeitpunkt seines Auftretens verarbeitet werden, seine Argumente may the FORTH be with you stehen bereits auf dem Stack. RPN J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

89 / 224

Endliche Automaten

Regul¨ are Ausdr¨ ucke

Definition Wir definieren die Semantik-Abbildung Σ-Reg E x L Σ-Reg per struktureller Induktion u ucke: ¨ber den Aufbau regul¨arer Ausdr¨ regul¨arer Ausdruck r a ∅ ε r0 + r1 r0 · r1 r? (r )

erzeugte Sprache L(r ) {a} ∅ {ε} L(r0 ) ∪ L(r1 ) L(r0 )L(r1 ) (L(r ))? L(r )

Regul¨are Ausdr¨ ucke mit gleicher Semantik heißen ¨aquivalent ( ≈ ). Aus Schlampigkeit wird h¨aufig “ = ” anstelle von “ ≈ ” verwendet.

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

90 / 224

Endliche Automaten

Regul¨ are Ausdr¨ ucke

Der Abschlußeigenschaften regul¨arer Sprachen implizieren Satz (Kleene’scher Satz, 1. H¨alfte) Die Semantik jedes regul¨aren Ausdrucks ist regul¨ar. Interessanter ist die umgekehrte Richtung: ist jede regul¨are Sprache die Semantik eines regul¨aren Ausdrucks? Beispiel Regul¨are Ausdr¨ ucke mit vorgegebener Semantik u ¨ber Σ = {a, b} : { w : w beginnt und endet mit ab } : ab + ab(a + b)? ab ab(a + b)? + (a + b)? ab { w : w beginnt oder endet mit ab } : (a + b)? a(a + b)? a(a + b)?

{ w : |w |a ≥ 2 } : { w : |w |a mod 2 = |w |b mod 5 = 0 } :

???

Ziel ist es nun, jedem Automaten A einen regul¨aren Ausdruck r mit L(r ) = L(A) zuzuordnen. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

91 / 224

Endliche Automaten

Regul¨ are Ausdr¨ ucke

Definition F¨ ur einen ∗NEA A = hQ, Σ∗ , δ, I , F i mit fortlaufend durchnummerierter Zustandsmenge Q = { qi : i < n } definieren wir ausgehend von ˜ )} Lij := { w ∈ Σ∗ : hqi , qj i ∈ δ(w

f¨ ur i, j < n

Hilfs-Sprachen Lkij ⊆ Lij , k ≤ n , bestehend aus denjenigen W¨ortern w , f¨ ur die eine Zerlegung w = w0 . . . wm−1 einen Pfad der L¨ange m von qi nach qj in G labelt, dessen u ugen. ¨brige Zust¨ande qr der Bedingung r < k gen¨ 1

{qi }

Q

δ(w0 )

Q j , mit Nullen, f¨ ur die genau einer der beiden Zust¨ande ein Endzustand ist. . Zeilenweise Iteration bis Matrix stabil: schreibe 0 in Position hqi , qj i , falls a ∈ Σ existiert mit 0 in Position hδ(a)(qi ), δ(a)(qj )i bzw. in Position hδ(a)(qj ), δ(a)(qi )i . . Leere Positionen werden mit Einsen beschrieben. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

106 / 224

Endliche Automaten

Minimierung von vDEAs

Die Bisimilarit¨atsrelation ∼ zeigt, welche Identifikationen von Zust¨anden den Minimalautomaten liefern. Gerade bei durchnummerierten Zust¨anden ist die Arbeit mit Repr¨asentanten ¨ zweckm¨aßiger als die mit Aquivalenzklassen. Algorithmus (Zur Bestimmung von A/ ∼ ) Eingabe: ein vDEA A = hQ, Σ, δ, I , F i samt Bisimilarit¨at ∼ Ausgabe: Faktorautomat bzgl. ∼ ¨ . Auswahl eines (canonischen) Representanten aus jeder AK. . Tabelle: Streichen aller Zeilen von Nicht-Repr¨asentanten; dann Ersetzen aller Zielzust¨ande durch ihre Repr¨asentanten. . Graph: Ersetzen aller Knotennamen durch die Namen der entsprechenden Repr¨asentanten; dann Zusammenfassen aller Knoten mit demselben Namen.

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

107 / 224

Endliche Automaten

Minimierung von vDEAs

Beispiel ) A:(r min ::

q7

b b

q1

a

a,bb

b

q6

a

q0

b

q5

a q4

b

a

a, b

) δ (r min q0 q1 q2 q3 q4 q5 q6 q7

q2

a

a

a q3

b

start

a q12 q5 q5 q3 q2 q0 q6 q3

b q1 q1 q2 q3 q5 q6 q3 q1

I /F I

F F

Zur Berechnung von A(r ) : q1 b

Zeugen q0

q2 a

q3 babb

q4 −

q5 ba

q6 bab

q7 −

Zur Berechnung von Amin : q0 q1 q2 q3 q5 q6

1 07 08 0 04 00 q0

1 1 0 05 01 q1

1 0 06 02 q2

1 0 0 q3

1 03 q5

1 q6

0. 1. 2. 3. 4. 5. 6. 7. 8.

δ(b)(q0 ) δ(b)(q1 ) δ(b)(q2 ) δ(b)(q5 ) δ(b)(q0 ) δ(a)(q1 ) δ(b)(q2 ) δ(a)(q0 ) δ(b)(q0 )

= = = = = = = = =

q1 q1 q2 q6 q1 q5 q5 q2 q1

6∼ 6∼ 6∼ 6∼ 6 ∼ 6∼ 6∼ 6 ∼ 6∼

q3 q3 q3 q3 q6 q0 q6 q5 q5

= = = = = = = = =

δ(b)(q6 ) δ(b)(q6 ) δ(b)(q6 ) δ(b)(q6 ) δ(b)(q5 ) δ(a)(q5 ) δ(b)(q5 ) δ(a)(q1 ) δ(b)(q2 )

Ein trennender Σ - Buchstabe gen¨ ugt f¨ ur einen 0 - Eintrag.

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

108 / 224

Endliche Automaten

Minimierung von vDEAs

Wie steht es mit der Minimierung von DEAs? Jeder DEA A ist ¨aquivalent zu A⊥ , (A⊥ )(r ) und (A⊥ )min ; diese vDEAs haben h¨ochstens einen Zustand mehr als A . Besitzt ein erreichbarer vDEA B einen HCZ ⊥ , so kann dessen Aquivalenzklasse [⊥]∼ kein Endzustand von B/∼ sein und muß δ∼ (a)[⊥]∼ = [⊥]∼ f¨ ur jedes a ∈ Σ erf¨ ullen, ist also wieder ein HCZ. Damit vererbt sich ein HCZ von (A⊥ )(r ) auf (A⊥ )min . Entfernt man diesen, bleibt ein ¨aquivalenter DEA u ¨brig. Also stimmt der minimale DEA f¨ ur A entweder mit dem Minimalautomaten f¨ ur A⊥ u ¨berein, oder hat einen Zustand weniger als dieser. Bisimilarit¨at ist auch f¨ ur NEAs und εNEAs ein sinnvoller Begriff, aber die entsprechende Relataion ist ungleich schwerer zu berechnen. Wir werden dieses Thema hier nicht weiterverfolgen.

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

109 / 224

Endliche Automaten

Regularit¨ atsnachweise

Regularit¨atsnachweise Methoden zum Regularit¨atsnachweis: Konstruktion von Automaten (∗NEA, εNEA, NEA, (v)DEA); Konstruktion aus einfacheren regul¨aren Sprachen gem¨aß der Abschlußeigenschaften; Spezialfall: Einschr¨ankung auf einelementige Sprachen aus einbuchstabigen W¨ortern, endliche Vereinigungen und Konkatenationen, sowie Kleene- Stern (regul¨are Ausdr¨ ucke); Kombination der obigen Methoden. Das Arsenal zur Widerlegung der Regularit¨at ist kleiner: Anwendung des Pumping Lemmas f¨ ur regul¨are Sprachen (Kontraposition); Konstruktion aus einfacheren Sprachen gem¨aß der Abschlußeigenschaften f¨ ur regul¨are Sprachen und Nachweis, daß mindestens eine dieser einfacheren Sprachen nicht regul¨ar ist. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

110 / 224

Endliche Automaten

Regularit¨ atsnachweise

Beispiel L sei die Menge aller W¨ orter u ¨ber Σ = {0, 1, 2, . . . , 9} , die eine durch 6 teilbare Dezimalzahl darstellen, ohne f¨ uhrende Nullen. Wir stellen L als Durchschnitt von drei regul¨aren Sprachen dar: L = L(0 + (1 − 9)(0 − 9)? ) , keine f¨ uhrenden Nullen; 0

L1 = L((0 − 9)? (0 + 2 + 4 + 6 + 8)) gerade Zahlen; L2 bestehe aus den Darstellungen durch 3 teilbarer Zahlen, d.h., aus W¨ortern mit durch 3 teilbarer Quersumme. Wegen L0 brauchen wir uns in L1 und L2 um f¨ uhrende Nullen nicht mehr zu k¨ ummern. Nach Konstruktion gilt nun L = L0 ∩ L1 ∩ L2 Sowohl L0 als auch L1 sind als Semantiken regul¨arer Ausdr¨ ucke regul¨ar. Nachzuweisen bleibt die Regularit¨at von L2 . J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

111 / 224

Endliche Automaten

Regularit¨ atsnachweise

Beispiel (Fortsetzung) Zu diesem Zweck konstruieren wir einen Automaten A2 mit L(A2 ) = L2 : Design-Idee: Zustand i < 3 representiert den Rest modulo 3 der Summe ¨ der bisher verarbeiteten Ziffern. Die Uberg¨ ange erf¨ ullen hi, ji ∈ δ(a)

gdw

(i + a) mod 3 = j x

1

y

(∗)

x ∈ {0, 3, 6, 9} z A2 :

start

x

mit

y

z

0

z

y ∈ {1, 4, 7} z ∈ {2, 5, 8}

y 2

x

“ L(A2 ) ⊆ L2 ”: Da 0 einziger Endzustand ist, ist die Quersumme jedes erkannten Worts durch 3 teilbar. “ L(A2 ) ⊇ L2 ”: Induktion u ¨ber |w | mit Hilfe von (∗) liefert: der Rest der Ziffernsumme bestimmt den Zustand am Berechnungsende. Daraus folgt L(A2 ) ⊇ L2 . J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

112 / 224

Endliche Automaten

Regularit¨ atsnachweise

Beispiel max(L) bezeichne die Sprache aller W¨ orter maximaler L¨ange in L , d.h., die nicht echtes Pr¨afix eines anderen Worts aus L sind. Etwa: max(∅) = ∅ max(L(a? b ? )) = ∅

max({ an b n : n ∈ N }) = { an b n : n ∈ N } max(L(a? b ? a)) = L(a? b + a)

Wir zeigen, daß sich Regularit¨at von L auf max(L) vererbt. A = hQ, Σ, δ, {q0 }, F i sei ein minimaler vDEA mit L(A) = L . Ob w ∈ L zu einem echt l¨angeren Wort in L fortgesetzt werden kann, ist durch den ˆ )(q0 ) ∈ F bestimmt: sind Endzust¨ande entlang Zustand pw := δ(w nichtleerer Wege von pw aus erreichbar? Also wird max(L) von A0 = hQ, Σ, δ, {q0 }, F 0 i akzeptiert, mit F 0 := { p ∈ F : ∀w ∈ Σ+ . δ(w )(p) ∈ /F}

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

113 / 224

Endliche Automaten

Regularit¨ atsnachweise

Beispiel chp(L) bestehe aus allen W¨ ortern uv ∈ Σ∗ , mit |u| = |v | und uav ∈ L ortern ungerader L¨ange wird der f¨ ur ein a ∈ Σ . D.h., aus allen L-W¨ mittlere Buchstabe entfernt. Erh¨alt diese Operation Regularit¨at? Betrachte die Semantik L des regul¨aren Ausdrucks a? cb ? . Wegen chp(L) = { u ∈ chp(L) : |u|c = 0 } + { u ∈ chp(L) : |u|c = 1 } = { an b n : n ∈ N } + { u ∈ chp(L) : |u|c = 1 } ist die Sprache chp(L) ∩ {a, b}∗ = { an b n : n ∈ N } nicht regul¨ar. Da aber {a, b}∗ regul¨ar ist, kann das f¨ ur chp(L) nicht gelten. Also lautet die Antwort: Nein.

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

114 / 224

Endliche Automaten

Universelle Automaten

Universelle Automaten ¨ Ohne die Beschr¨ankung auf endlich viele Uberg¨ ange kann jede Sprache von einem vollst¨andig deterministischen Automaten akzeptiert werden: Definition ¨ Auf der Menge P(Σ∗ ) definieren wir Ubergangsfunktionen P(Σ∗ )

∇(a)

P(Σ∗ ), L 7→ {a}\L

f¨ ur a ∈ Σ

Φ ⊆ P(Σ∗ ) besteht aus genau den Sprachen, die ε enthalten. Satz Der vDA A(L) := hP(Σ∗ ), Σ, ∇, {L}, Φi(r ) akzeptiert L . Beweis. w = s0 . . . sn−1 ∈ L gdw ε ∈ {sn−1 }\ . . . \{s0 }\L gdw ε ∈ {w }\L . J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

115 / 224

Endliche Automaten

Universelle Automaten

Satz F¨ ur endliches Alphabet Σ ist L ⊆ Σ∗ ist genau dann regul¨ar, wenn der Automat A(L) endlich ist. Bis auf Umbenennung der Zust¨ande stimmt A(L) dann sogar mit dem Minimalautomaten f¨ ur L u ¨berein. Beweis. Da der vDA A(L) , wie gerade gezeigt, L akzeptiert, folgt aus der Endlichkeit von A(L) die Regularit¨at von L . Umgekehrt sei A = hQ, Σ, δ, {q0 }, F i ein Minimalautomat f¨ ur L mit n Zust¨anden. Falls A(L) mehr als n Zust¨ande hat, existieren u, v ∈ Σ∗ mit ˆ ˆ ˆ ˆ δ(u)(q ahle w 0 ) = δ(v )(q0 ) in A , aber ∇(u)(L) 6= ∇(v )(L) in A(L) . W¨ in der Differenz dieser Sprachen. Dann erkennt A(L) genau eins der W¨orter uw und vw , w¨ahrend A entweder beide oder keines erkennt, Widerspruch.

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

116 / 224

Endliche Automaten

Universelle Automaten

Wie groß sind die relevanten Zustandsmengen? Da f¨ ur jede nichtleere abz¨ ahlbare Menge Σ die Menge Σ∗ abz¨ ahlbar unendlich ist, handelt es sich bei P(Σ∗ ) um eine u ¨berabz¨ahlbare Menge! (Im Fall Σ = ∅ ist Σ∗ ein∗ und P(Σ ) zwei-elementig.) Andererseits ist jede Teilmenge L der abz¨ahlbaren Menge Σ∗ ebenfalls abz¨ahlbar. Wegen der Erreichbarkeit aller Zust¨ande kann A(L) also nur abz¨ahlbar viele Zust¨ande haben. . Warum verwendet man nicht ein abz¨ahlbares Alphabet, in dem sich bis auf Isomorphie alle endlichen Alphabete wiederfinden lassen? . F¨ ur jede regul¨are Sprache L u ¨ber einem endlichen Teilalphabet Γ hat der entsprechende Automat A(L) endlich viele Zust¨ande, und von den ¨ unendlich vielen Uberg¨ angen landeten nur endlich viele nicht im Hotel ¨ California Zustand ∅ , wo alle Uberg¨ ange mit Labeln in Σ − Γ hinf¨ uhren.

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

117 / 224

Endliche Automaten

Universelle Automaten

Satz F¨ ur abz¨ahlbar unendliches Alphabet Σ ist L ∈ Σ∗ ist genau dann regul¨ar, wenn der durch Entfernen des Hotel California Zustands ∅ aus A(L) entstehende DA endlich ist. Beweis. Wir m¨ ussen nur noch zeigen, daß die Bedingung hinreichend ist. Aber aus der Endlichkeit des um den HCZ ∅ verminderten Automaten folgt sofort, daß in den W¨orten von L nur endlich viele der Buchstaben in Σ ¨ dem entsprechenden Teilalphabet wird L nun durch vorkommen. Uber einen DEA akzeptiert. Achtung: Bei der Arbeit mit einem abz¨ahlbar unendliche Alphabet Σ ist Vorsicht geboten: Z.B. ist das Komplement einer regul¨aren Sprache nat¨ urlich relativ zum relevanten endlichen Teilalphabet zu verstehen, nicht relativ zu Σ ! J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

118 / 224

Endliche Automaten

Universelle Automaten

Zur¨ uck zu endlichen Alphabeten! Definition Jede Sprache L ⊆ Σ∗ induziert eine sog. Nerode Relation NL ⊆ Σ∗ × Σ∗ : hu, v i ∈ NL

gdw

∀w ∈ Σ∗ . uw ∈ L ⇔ vw ∈ L

Satz ¨ NL ist eine Aquivalenzrelation, und L ⊆ Σ∗ ist genau dann regul¨ar, wenn ¨ NL endlich viele Aquivalenzklassen hat. Beweis. Umschreiben der definierenden Bedingung liefert hu, v i ∈ NL

gdw

{u}\L = {v }\L

¨ und ihre Aquivalenzklassen ¨ Damit ist NL offenbar eine AR, entsprechen bijektiv den Zust¨anden des Automaten A(L) . J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

119 / 224

Endliche Automaten

Kritik am traditionellen Autmatenbegriff

Kritik am traditionellen Automatenbegriff Ist es wirklich essenziell, wie im Fall von vDEAs, in jedem Zustand einen ¨ Ubergang mit jedem m¨oglichen Label zu verlangen? Oder resultiert dies nur aus Wunsch, mit Funktionen zu arbeiten, verbunden mit einer Aversion dagegen, die Labelmenge besser zu strukturieren? vDEAs sind bei Vergr¨oßerung des Alphabets nur bedingt wiederverwendugen. DEAs sind in bar. Ggf. ist dann ein Hotel California Zustand hinzuzuf¨ dieser Hinsicht unproblematisch, daf¨ ur kann man leicht einen wichtigen ¨ Ubergang vergessen. oglichkeit an, daß lokal, also Schon beim Getr¨ankeautomaten deutete sich die M¨ f¨ ur jeden Zustand, unterschiedliche Aktionen verf¨ ugbar sein k¨onnen. . Statt mit einer unstrukturierten Labelmenge h¨atten wir es dann mit einem Label- oder besser Kontroll-Graphen zu tun; . und anstelle einer Labelfunktion w¨are nun ein GraphenHomomorphismus zu betrachten, der Knoten und Kanten erh¨alt. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

120 / 224

Endliche Automaten

Kritik am traditionellen Autmatenbegriff

Beispiel (Getr¨ankeautomat: LTS revisited) start

0

S

ψ

ϕ

`(S) = 0 `(T ) = `(K ) = 2

e

`(1€) = 1

ζ

T

K

κ

τ 1€

`

z

2

t

k 1

wobei

`(ϕ) = `(ψ) = e `(ζ) = z `(τ ) = t `(ζ) = z

Achtung: hier sind alle Kanten tats¨achlich mit ihren Namen markiert! Bisher waren links immer nur deren `-Werte als Label verwendet worden, weshalb dasselbe Label auch mehrfach auftauchen konnte. Auch ein Alphabet Σ kann als Kontroll-Graph aufgefaßt werden, mit nur einem Knoten und den Elementen von Σ als Kanten (Loops). Als “Sprachen” u ¨ber einem Kontroll-Graphen w¨aren nun Mengen von Wegen zu betrachten. Dieses Gebiet scheint noch weitgehend unerforscht zu sein, speziell wenn der Kontroll-Graph u ¨ber eine Kompositions-struktur verf¨ ugt (also eine Kategorie ist). J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

121 / 224

Kontextfreie Sprachen

Kapitel 2 Kontextfreie Sprachen

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

122 / 224

Kontextfreie Sprachen

Motivation und Vor¨ uberlegung

Motivation und Vor¨uberlegung . Regul¨are Sprachen waren eine erste Approximation von E-Problemen, und endliche Automaten dienten der algorithmischen Probleml¨osung. . Aber bereits einfache Sprachen sind nicht regul¨ar und erfordern st¨arkere Automaten, z.B. { an b n : n ∈ N } . . Zun¨achst wollen wir aber ein neues Paradgima zur Sprachbehandlung vorstellen: die Spracherzeugung im Gegensatz zur bisher betrachteten Spracherkennung. . Dies entspricht eher der historischen Entwicklung der formalen Sprachentheorie aus der Linguistik (vergl. auch Noam Chomsky ) Als m¨ogliche Anwendungen erw¨ahnen wir nur den Compilerbau, was sowohl die Syntax von Programmiersprachen als auch die Implementation von Parsern angeht; den Austausch strukturierter Informationen im WEB (Document Type Definition in XML). J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

123 / 224

Kontextfreie Sprachen

Sprachen als Fixpunkte

Sprachen als Fixpunkte Regul¨are Ausdr¨ ucke deuten an, wie W¨ orter einer regul¨aren Sprache auch anders als in einem links-rechts-Durchlauf konstruierbar sind: Beispiel Wie setzt sich LS = L(a(a? + b ? )b) aus LR = L(a? + b ? ) , LA = L(a? ) und LB = L(b ? ) zusammen? Betrachte ein System aus vier semantischen Gleichungen, in den Sprachvariablen S , R , A und B : S = {a}R{b} , R = A ∪ B , A = {a}A ∪ {ε} , B = B{b} ∪ {ε} Das obige 4-Tupel hLS , LR , LA , LB i bildet offenbar eine L¨osung: LS = {a}LR {b} , LR = LA ∪ LB , LA = {a}LA ∪ {ε} , LB = LB {b} ∪ {ε} Diese wird sich als die kleinste bzgl. komponentenweiser Inklusion ⊆ osung ist gegeben durch herausstellen. Die gr¨oßte L¨ h{a}+ Σ∗ {b} ∪ {a}Σ∗ {b}+ , {a}∗ Σ∗ ∪ Σ∗ {b}∗ , {a}∗ Σ∗ , Σ∗ {b}∗ i J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

124 / 224

Kontextfreie Sprachen

Sprachen als Fixpunkte

. Wann existieren L¨osungen f¨ ur solche Gleichungssysteme, bei denen auf der rechten Seite Konkatenationen und Vereinigungen vorkommen? . Wie findet man solche L¨ osungen? ∗ Da P(Σ∗ ) durch ⊆ partiell geordnet S ist, und jede Teilmenge A ⊆ P(Σ ) eine kleinste obere Schranke hat, A , l¨aßt sich der Kleene’sche Fixpunktsatz anwenden, wenn wir zu Ungleichungssystemen u ¨bergehen.

Definition hP, vi sei eine partiell geordnete Menge. x ∈ P heißt obere Schranke von A ⊆ P , wenn a v x gilt f¨ ur jedes a ∈FA . Eine kleinste obere Schranke heißt Supremum von A , geschrieben A. D ⊆ P heißt gerichtet, falls f¨ ur jede endliche Teilmenge E ⊆ D eine obere Schranke in D existiert. Besitzt jede gerichtete Teilmenge D ⊆ P ein Supremum, nennt man hP, vi directed complete partial order, oder kurz einen dcpo. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

125 / 224

Kontextfreie Sprachen

Sprachen als Fixpunkte

Definition Ist hP, vi f hP, vi eine Abbildung, so heißt x ∈ P mit x w f (x) Post-Fixpunkt. Im Falle von x = f (x) sprechen wir von einem Fixpunkt. Satz (Kleene’scher Fixpunktsatz) Ist hP, vi ein dcpo mit kleinstem Element ⊥ , dann hat jede Abbildung f auf P , die Suprema gerichteter Mengen erh¨alt, einen kleinsten PostFixpunkt, und dies ist bereits ein Fixpunkt. Beweis. Falls x v y , ist y das Supremum der gerichteten Menge {x, y } . Nach Voraussetzung gilt f (x) v f (y ) , d.h., f erh¨alt die Ordnung v . Wegen ⊥ v f F (⊥) folgt per Induktion f k (⊥) v F f k+1 (⊥) , k ∈ N . Nun n stimmt m := { f (⊥) : n ∈ N } mit f (m) = { f n+1 (⊥) : n ∈ N } u ullt wegen ⊥ v p ¨berein, ist also ein Fixpunkt. Jeder Post-Fixpunkt p erf¨ auch f (⊥) v f (p) v p und somit m v p . J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

126 / 224

Kontextfreie Sprachen

Sprachen als Fixpunkte

Beispiel (Fortsetzung) Jede L¨osungen eines Ungleichungssystems wie S ⊇ {a}R{b} , R ⊇ A ∪ B , A ⊇ {a}A ∪ {ε} , B ⊇ B{b} ∪ {ε} ist Post-Fixpunkte einer Abbildung (P(Σ∗ ))4 f (P(Σ∗ ))4 , die sogar beliebige Suprema erh¨alt (komponentenweise). Der kleinste (Post-)Fixpunkt l¨aßt sich iterativ berechnen: starte mit S0 = R0 = A0 = B0 = ∅ : S Sk+1 := {a}Rk {b} LS = i∈N Si = L(a(a? + b ? )b) S liefert den Rk+1 := Ak ∪ Bk LR = i∈N Ri = L(a? + b ? ) S kleinsten Ak+1 := {a}Ak ∪ {ε} LA = i∈N Ai = {a}∗ = L(a? ) Fixpunkt S Bk+1 := Bk {b} ∪ {ε} LB = i∈N Bi = {b}∗ = L(b ? ) Wie schon erw¨ahnt, gibt es in diesem Fall auch einen gr¨oßten Fixpunkt: h{a}+ Σ∗ {b} ∪ {a}Σ∗ {b}+ , {a}∗ Σ∗ ∪ Σ∗ {b}∗ , {a}∗ Σ∗ , Σ∗ {b}∗ i J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

127 / 224

Kontextfreie Sprachen

Sprachen als Fixpunkte

Diese Beobachtungen sind nicht auf regul¨are Sprachen beschr¨ankt: Beispiel LS := { an b n : n ∈ N } ist der kleinste Fixpunkt der Abbildung S 7→ {ε} ∪ {a}S{b} Beispiel Die Sprache L := { w ∈ Σ∗ : w = sp(w ) } der Palindrome u ¨ber Σ ist der kleinste Fixpunkt der Abbildung [ S 7→ {ε} ∪ Σ ∪ { {a}S{a} : a ∈ Σ } Die iterative Bestimmung der kleinsten Fixpunkte solcher (Systeme von) Ungleichungen kann allerdings m¨ uhsam sein. Geht das auch einfacher? Wir wollen versuchen, das L¨osen derartiger Systeme von Ungleichungen syntaktisch anzugehen. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

128 / 224

Kontextfreie Sprachen

Kontextfreie Grammatiken und Sprachen

Kontextfreie Grammatiken und Sprachen Neben den Elementen von Σ , bei denen wir wie von den regul¨aren Ausdr¨ ucken gew¨ohnt, die Mengenklammern weggelassen, ben¨otigen wir sog. Sprach-Variablen, die wir meist mit Großbuchstaben bezeichnen. Definition (kontextfreie Grammatik, fr¨ uhe 1960’er Jahre) Eine kontextfreie Grammatik (kfG) G = hV, Σ, S,

i besteht aus

disjunkten Mengen Σ (Konstanten) und V (Variablen); einer endlichen Menge S ⊆ V∗ von Axiomen (zumeist S = {S} ); einer endliche Relation

⊆ V × (Σ + V)∗ aus sog. Produktionen.

F¨ ur jeden Kontext hu, v i ∈ (Σ + V)∗ × (Σ + V)∗ und jede Produktion A w l¨aßt sich uwv aus uAv direkt ableiten, wir schreiben daf¨ ur: uAv Die reflexive transitive H¨ ulle J¨ urgen Koslowski (TU-BS)



uwv

auf (Σ + V)∗ heißt Ableitungs-Relation.

Theoretische Informatik 1

WS 2014/2015

129 / 224

Kontextfreie Sprachen

Kontextfreie Grammatiken und Sprachen

Achtung: zwar wird pro Ableitungsschritt genau eine Variable ersetzt, aber dies ist weniger wichtig als es zun¨achst erscheint. Mehrere Produktionen A wi , i < n , mit derselben linken Seite k¨onnen vorkommen, insofern sind kfG’n automatisch nicht-deterministisch. Oft faßt man solche Produktionen abk¨ urzend wie folgt zusammen A

w0 | w1 | . . . | wn−1

Konzeptionell abstrahieren . die Variablen in V die obigen Sprach-Variablen u ¨ber Σ∗ ; . die Konstanten a ∈ Σ die Sprachen {a} (wie bei regul¨aren Ausdr¨ ucken wird auf Mengenklammern verzichtet); . die Konkatenation von Symbolen die Konkatenation von Sprachen; . der Pfeil

die Obermengenrelation ⊇ .

. der vertikale Strich | die Vereinigung ∪ (pro Ableitungsschritt wird aber nur eine der rechten Alternativen verwendet). J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

130 / 224

Kontextfreie Sprachen

Kontextfreie Grammatiken und Sprachen

Definition Die von einer kfG G = hV, Σ, S, i erzeugte Sprache ist definiert als L(G ) := { w ∈ Σ∗ : ∃S ∈ S. S ∗ w }. L ⊆ Σ∗ heißt kontextfrei, falls eine kfG G mit L(G ) = L existiert. Σ-K f ist die entsprechende Teilmenge von P(Σ∗ ) , und L2 die Klasse aller kontextfreien Sprachen. Beispiel G = h{S}, {a, b}, S,

i mit S

aSb | ε erzeugt L = { an b n : n ∈ N } :

L ⊆ L(G ) : Wendet man die erste Produktion n -mal und die zweite einmal an, so wird an b n erzeugt. L(G ) ⊆ L : Im Startsymbol und allen Outputs der Produktionen gibt es gleichviele Symbole a auf der linken wie Symbole b auf der rechten Seite. Die Substitution f¨ ur die zentrale Variable erh¨alt diese Eigenschaft. W¨ahrend Chomsky Chomsky 1956 , noch eine Menge S ⊆ V∗ von Axiomen erlaubte, bestanden sp¨atere Autoren auf einem einzigen Startsymbol S , was technisch weniger elegant ist. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

131 / 224

Kontextfreie Sprachen

Kontextfreie Grammatiken und Sprachen

Das folgende Beispiel mag auf den ersten Blick u ¨berraschen: Beispiel (regul¨are Ausdr¨ ucke) Die regul¨aren Ausdr¨ ucke u ¨ber einem Alphabet Σ werden von der kfG G = h{r }, Σ + {0, 1, e, ∅, +, ·, ? , (, )}, r , i erzeugt mit den Produktionen: r

a ∈ Σ | 0 | 1 | e | ∅ | r + r | r · r | r ? | (r )

(Da aus technischen Gr¨ unden ε als Element unserer Alphabete nicht zul¨assig ist, andererseits aber ε einen speziellen regul¨aren Ausdruck bezeichnet (schlecht!), haben wir diesen hier durch e ersetzt.) Den Nachweis, daß L(G ) im Wesentlichen die Sprache der regul¨aren Ausdr¨ ucke u ¨ber Σ ist, u ¨berlassen wir der LeserIn. Jetzt stellt sich die Frage, ob auch jede regul¨are Sprache mit Hilfe einer kfG erzeugt werden kann.

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

132 / 224

Kontextfreie Sprachen

Kontextfreie und regul¨ are Sprachen

Kontextfreie und regul¨are Sprachen Definition Eine kfG G = hV, Σ, S, i heißt linear, wenn die rechte Seite jeder Produktion h¨ochstens eine Variable enth¨alt. Sie heißt links- bzw. rechtslinear, falls ⊆ V × (V + {ε})Σ∗ bzw. ⊆ V × Σ∗ (V + {ε}) gilt. Satz Die regul¨aren Sprache stimmen genau mit den kontextfreien Sprachen u ¨berein, die durch eine rechts-lineare kfG erzeugbar sind. Beweis Zu einem vDEA A = hQ, Σ, δ, {q0 }, F i mit L = L(A) konstruieren wir eine rechts-lineare Grammatik G = hQ, Σ, q0 , i wie folgt: q

ap

gdw

J¨ urgen Koslowski (TU-BS)

q

a

p

und

Theoretische Informatik 1

q

ε gdw

q∈F

WS 2014/2015

133 / 224

Kontextfreie Sprachen

Kontextfreie und regul¨ are Sprachen

Beweis (Fortsetzung) ¨ Induktion u zwischen ¨ber die Wortl¨ange liefert eine Aquivalenz hq0 , s0 . . . sn−1 i ` hq1 , s1 . . . sn−1 i ` · · · ` hqn , εi

Berechnungen und Ableitungen

s0 q1

q0

...

s0 . . . sn−1 qn

Die Berechnung ist genau dann akzeptierend wenn qn ∈ F gilt, d.h., wenn obige Ableitung um s0 . . . sn−1 qn s0 . . . sn−1 erg¨anzt werden kann. F¨ ur eine beliebige rechts-lineare kfG G = hV, Σ, S, i k¨onnen Variablen auch mittels Produktionen der Form X w ∈ Σ∗ eliminiert werden, was die Definition von Endzust¨anden erschwert. Ersetzen solcher Produktionen durch X w @ und @ ε liefert eine offenbar(!) ¨aquivalente kfG 0 G = hV + {@}, Σ, S, i, die alle u ¨brigen G - Produktionen enth¨alt. hX , Y i ∈ δ(w )

gdw

X

wY

und

X ∈F

gdw

X

ε

liefert nun einen ∗NEA A = hV + {@}, Σ∗ , δ, {S}, F i , der die Sprache L(G ) = L(G 0 ) akzeptiert. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

134 / 224

Kontextfreie Sprachen

Ableitungsb¨ aume

Ableitungsb¨aume Bevor wir Abschlußeigenschaften kontextfreier Sprachen untersuchen, ist zu kl¨aren, ob alle Sprachen kontextfrei sind. Dazu eine Vor¨ uberlegung. In Analogie zu regul¨aren Ausdr¨ ucken kann man die Produktionen einer kontextfreien Grammatik als elementare Bausteine f¨ ur Ableitungsb¨aume auffassen, mit der linken (rechten) Seite als Eingabe (Ausgabe). Allerdings sind diesmal die Kantenlabel aus Σ + V wichtiger als die Knotenlabel (Namen oder Nummern der Produktionen). Beispiel (f¨ ur G = h{S, T }, {0, 1}, S, Die f¨ unf Produktionen S

i)

0S1S | 1S0S | T und T

0T | ε entsprechen

S

S

S

T

T

π0

π1

π2

π3

π4

T

0 T

0 S 1 S 1 S 0 S J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

135 / 224

Kontextfreie Sprachen

Ableitungsb¨ aume

Satz F¨ ur eine kfG G = hV, Σ, S, i stimmt L(G ) mit der Sprache aller W¨orter w ∈ Σ∗ u ur die ein Ableitungsbaum mit Input S und Output w ¨berein, f¨ existiert. Beweis. In einer Ableitung von w ∈ L(G ) bestimmt jeder Schritt eine “aktuelle” zu ersetzende Variable und eine anzuwendende Produktion. Entsprechendes Zusammensetzen der Produktionen-Knoten liefert einen Ableitungbaum mit Input S und Output w . Umgekehrt k¨onnen wir aus einem Ableitungsbaum f¨ ur w ∈ Σ∗ sequenziell alle Produktionen-Knoten ohne Nachfolge-Knoten entfernen und erhalten auf diese Weise r¨ uckw¨arts(!) eine Ableitung von w (diese wird i.A. nicht eindeutig sein).

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

136 / 224

Kontextfreie Sprachen

Ableitungsb¨ aume

Einige Anmerkungen: Verschiedene Ableitungen k¨ onnen denselben Baum erzeugen: aufgrund der Kontextfreiheit sind “parallele” Unterb¨aume B0 und B1 (so daß Bi nicht Unterbaum von B1−i ist) insofern unabh¨angig voneinander, als die zeitliche Abfolge der Ableitungsschritte in B0 relativ zu denen in B1 v¨ollig beliebig ist. Erzeugen zwei Ableitungen denselben Baum, so verwenden sie dieselben Produktionen gleich h¨aufig, nur in anderer Reihenfolge. Es spr¨ache Einiges daf¨ ur, derartige Unterschiede zu ignorieren, etwa, indem man die simultane Ersetzung aller aktuellen Variablen zul¨aßt. F¨ ur uns werden Ableitungsb¨aume wichtiger sein als Ableitungen. Ein Wort kann aber auch verschiedene Ableitungsb¨aume haben, vergl. HA. Im Gegensatz zum obigen Ph¨anomen ist dies ein Ausdruck von echtem Nichtdeterminismus.

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

137 / 224

Kontextfreie Sprachen

Das Pumping Lemma f¨ ur kontextfreie Sprachen

Das Pumping Lemma f¨ur kontextfreie Sprachen, PL(kf) Analog zum regul¨aren Fall, suchen wir eine Eigenschaft, die alle kontextfreien Sprachen haben m¨ ussen. Jede Sprache, die diese Eigenschaft nicht hat, kann folglich nicht kontextfrei sein. Dieser Ansatz dient wieder dazu, Kontextfreiheit zu widerlegen und liefert als Korollar zu folgendem Satz wieder ein Pumping Lemma. Satz (Lemma von Ogden) Zu jeder kontextfreien Sprache L ∈ Σ∗ existiert eine Zahl nL > 0 , so daß jedes Wort u ∈ L mit mindestens nL (z.B. rot) markierten Buchstaben zerlegbar ist als u = vwxyz mit v , w , x, y , z ∈ Σ∗ und (0) wy enth¨alt eine Markierung

(1) wxy enth¨alt ≤ nL Markierungen

(2) ∀k ∈ N. uk := vw k xy k z ∈ L J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

138 / 224

Kontextfreie Sprachen

Das Pumping Lemma f¨ ur kontextfreie Sprachen

Beweis (Illustration umseitig) F¨ ur eine kfG G = hV, Σ, S, i mit L(G ) = L setze nL := r |V|+1 , wobei r die maximale Output-L¨ange der Produktionen ist. In einem Ableitungsbaum B f¨ ur u ∈ L mit ≥ nL (z.B. rot) markierten Buchstaben markieren wir alle Knoten (z.B. rot), in denen sich die Wege von S zu den markierten u -Buchstaben verzweigen. W¨ahle unter allen von S startenden Wegen einen mit maximaler Anzahl ( m ) markierter Knoten. Da u mindestens r |V|+1 Markierungen hat, gilt m > |V| . Mindestens zwei der letzten |V| + 1 markierten Knoten dieses Weges haben denselben Input. |V| + 1 beschr¨ankt die “Markierungstiefe” der zugeh¨origen Unterb¨aume B 0 und B 00 ; diese liefern als Output wxy mit ≤ nL Markierungen bzw. x . Die von der B 0 -Wurzel aus entlang verschiedener Zweige erreichbaren markierten u -Buchstaben geh¨oren nicht alle zu x , also enth¨alt wy einen solchen. Nach Konstruktion kann nun die Differenz B 0 − B 00 iteriert werden, woraus uk ∈ L f¨ ur k ∈ N folgt. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

139 / 224

Kontextfreie Sprachen

Das Pumping Lemma f¨ ur kontextfreie Sprachen

Gegeben: kfG G = hV, Σ, S, i f¨ ur L und ein Ableitungsbaum f¨ ur u ∈ L mit ≥ nL := r |V|+1 markierten Buchstaben. S

Mindestes zwei der letzten |V| + 1 markierten Knoten auf diesem Weg haben denselben Input; die entsprechenden Unterb¨aume B 0 und B 00 liefern eine Zerlegung u = vwxyz .

− •

z

|V|+1

w

B 0 −B B 0 00

y

B 00

x J¨ urgen Koslowski (TU-BS)

k - faches Iterieren von B 0 − B 00 liefert uk = vw k xy k z ∈ L . |V| + 1 beschr¨ankt die Markierungstiefe von B 0 , also sind ≤ nL Buchstaben von wxy markiert.



v

Die schwarze Kurve ist ein Weg von der Wurzel S mit maximaler Anzahl m markierter Knoten (von denen aus jeweils mindestens zwei markierte u -Buchstaben erreichbar sind).



Von der Wurzel von B 0 sind ≥ 2 markierte u -Buchstaben erreichbar, daher muß einer in wy liegen. Theoretische Informatik 1

WS 2014/2015

140 / 224

Kontextfreie Sprachen

Das Pumping Lemma f¨ ur kontextfreie Sprachen

Werden alle Buchstaben von u markiert, so erhalten wir Corollar (Das Pumping-Lemma f¨ ur kontextfreie Sprachen, PL(kf)) Zu jeder kontextfreien Sprache L ∈ Σ∗ existiert eine Zahl nL > 0 , so daß jedes Wort u ∈ L mit |w | ≥ nL eine Zerlegung u = vwxyz mit ullt: v , w , x, y , z ∈ Σ∗ besitzt, die folgende Bedingungen erf¨ (0) wy 6= ε ;

(1) |wxy | ≤ nL ;

(2) ∀k ∈ N. uk := vw k xy k z ∈ L .

Beispiel ( L = { ai b j c k d ` : i = j = k ∨ ` = 0 } ) L ist nicht kontextfrei (Lemma von Ogden, vergl. HA), erf¨ ullt aber die Bedingungen des PL(kf) mit nL := 1 : Von Interesse ist einzig der Fall ai b i c i d ` ∈ L mit i, ` > 0 . Setze v = ai b i c i d `−1 , w = d und x = y = z = ε . F¨ ur k ∈ N gilt dann uk = vw k xy k z = ai b i c i d `−1+k ∈ L . Dennoch gen¨ ugt das PL(kf) h¨aufig in der Praxis. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

141 / 224

Kontextfreie Sprachen

Das Pumping Lemma f¨ ur kontextfreie Sprachen

Beispiel (PL(kf)) Die Sprache L = { an b n c n : n ∈ N } ⊆ {a, b, c}∗ ist nicht kontextfrei: F¨ ur n > 0 betrachte u := an b n c n = vwxyz mit wy 6= ε und |wxy | ≤ n . Letzteres impliziert, daß wy nicht gleichzeitig die Buchstaben a und c / L . Da n beliebig enthalten kann. Also folgt |u2 |a 6= |u2 |c und somit u2 ∈ war, ist L nicht kontextfrei. Beispiel (PL(kf)) Die Menge P ⊆ N ∼ = {|}∗ aller Primzahlen ist nicht kontextfrei: F¨ ur n > 0 betrachte die n¨achstgr¨ oßere Primzahl p und das Wort u := |p = |s |t |a |b |c = |s+t+a+b+c mit t + b > 0 und t + a + b ≤ n . F¨ ur k ∈ N setze uk = |s |kt |a |kb |c = |s+a+c+k(t+b) . Speziell f¨ ur k0 = s + a + c ist s + a + c + k(t + b) = (s + a + c)(1 + t + b) keine / P . Da n beliebig war, ist P nicht kontextfrei. Primzahl, also gilt uk0 ∈ J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

142 / 224

Kontextfreie Sprachen

Das Pumping Lemma f¨ ur kontextfreie Sprachen

Die Widerlegung der Kontextfreiheit einer konkreten Sprache L ⊆ Σ∗ mittels Lemma von Ogden (PL(kf)) folgt immer demselben Schema Man u uft eine generische Zahl n > 0 auf Ihre Eignung als Konstante ¨berpr¨ nL aus dem Lemma von Ogden (PL(kf)) und verwirft sie: (0) w¨ahle ein spezifisches Wort u ∈ L mit ≥ n Markierungen ( |u| ≥ n ); typischerweise wird u vom Wert n als Parameter abh¨angen; (1) betrachte eine generische Zerlegung u = vwxyz mit mindestens einer Markierung in wy ( wy 6= ε ) und ≤ n Markierungen in wxy ( |wxy | ≤ n ); dies sind ihre einzigen bekannten Eigenschaften; (2) optional: beschreibe das allgemeine Wort uk = vw k xy k z , k ∈ N ; (3) finde einen spezifischen Wert k0 ∈ N mit uk0 ∈ / L. Da n generisch war, entf¨allt jedes n > 0 als Kandidat f¨ ur nL , also kann L nicht kontextfrei sein. Die geschickte Wahl von u ∈ L samt Markierung (0) und die Bestimmung von k0 (3) erfordern die meiste Arbeit. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

143 / 224

Kontextfreie Sprachen

Abschlußeigenschaften kontextfreier Sprachen

Abschlußeigenschaften kontextfreier Sprachen Satz Kontextfreie Sprachen sind abgeschlossen unter endlicher Vereinigung und endlicher Konkatenation. Beweisidee (der bin¨are Fall gen¨ ugt). Vereinigt man zwei kfG’n Gi , i < 2 , mit disjunkten Variablenmengen, so liefern die Axiommengen S0 ∪ S1 bzw S0 S1 die Sprachen L(G0 ) ∪ L(G1 ) , bzw. L(G0 )L(G1 ) . Besteht man auf einem einzelnen Startsymbol, muß man ein neues Startsymbol S durch geeignete Produktionen mit den alten Startsymbolen verbinden, im Fall der Vereinigung durch S S0 sowie S S1 , und im Fall der Konkatenation durch S S0 S1 . Details als HA. Vielleicht u ¨berraschend sind kontextfreie Sprachen nicht unter bin¨aren Durchschnitten, also auch nicht unter Komplementen abgeschlossen: J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

144 / 224

Kontextfreie Sprachen

Abschlußeigenschaften kontextfreier Sprachen

Beispiel Die Sprache L0 = { an b n : n ∈ N}{c}∗ ist als Konktenation kontextfreier Sprachen wieder kontextfrei; analoges gilt f¨ ur L1 = {a}∗ { b n c n : n ∈ N } . L0 ∩ L1 = { an b n c n : n ∈ N } ist dagegen nicht kontextfrei, daf¨ ur aber L0 ∩ L1 = L¯0 ∪ L¯1 . Um L¯0 als kontextfrei nachzuweisen, vereinige drei regul¨are Sprachen (“ein b vor einem a ”, “ein c vor einem b ” und “ein c vor einem a ”) und zwei kontextfreie Sprachen ( an b m c k mit n < m sowie n > m , vergl. HA). Analog f¨ ur L1 . Proposition Die Spiegelung einer kontextfreien Sprache ist kontextfrei. Beweisidee. Man spiegelt einfach die rechten Seiten aller Produktionen. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

145 / 224

Kontextfreie Sprachen

Abschlußeigenschaften kontextfreier Sprachen

Satz Iteration bzw. Kleene-Stern erhalten die Kontextfreiheit von Sprachen. Beweisidee. Zu einer kfG mit Startsymbol S f¨ uge ein neues Startsymbol @ und [email protected] | ε hinzu. Produktionen @ Satz Homomorphe Bilder kontextfreier Sprachen sind wieder kontextfrei. Beweis. Ist Σ∗ h Γ∗ ein Homomorphismus und ist G = hV, Σ, S, i eine kfG, so 0 i, deren Produktionen aus gilt das auch f¨ ur h[G ] := hV, Γ, S, G -Produktionen durch Ersetzung aller Buchstaben a ∈ Σ mit dem Wort h(a) ∈ Γ∗ entstehen. Damit liefert jeder G -Ableitungsbaum einen h[G ]-Ableitungsbaum. Umgekehrt hat jede h[G ]-Produktion mindestens ein Urbild, also folgt L(h[G ]) = h[L(G )] . J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

146 / 224

Kontextfreie Sprachen

Abschlußeigenschaften kontextfreier Sprachen

Beispiel Kontextfreiheit bleibt unter Residuierung nicht notwendig erhalten: M = {d}{ an b n : n ∈ N }{c}∗ ∪ {e}{a}∗ { b n c n : n ∈ N } ist als Vereinigung von Konkatenationen kontextfreier Sprachen kontextfrei. Aber {d, e}\M = {d}\M ∩ {e}\M = { an b n c n : n ∈ N } ist nicht kontextfrei. Um festzustellen, unter welchen Einschr¨ankungen Residuierung evtl. doch Kontextfreiheit erh¨alt, und wie es mit homomorphen Urbildern kontextfreier Sprachen aussieht, wenden wir uns nun Normalformen kontextfreier Grammatiken zu, die auch f¨ ur weitere Zwecke n¨ utzlich sind.

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

147 / 224

Kontextfreie Sprachen

Normalformen und Anwendungen: das Wortproblem

Normalformen und Anwendungen: das Wortproblem F¨ ur einen DEA A u ¨ber Σ und ein Wort w ∈ Σ∗ l¨aßt sich in linearer Zeit feststellen, ob w ∈ L(A) gilt: man folgt der einzig m¨oglichen maximalen Sequenz von Konfigurationen ab hq0 , w i . Genau wenn diese eine akzeptierende Berechnung ist, d.h., nicht steckenbleibt und einen Endzustand erreicht, gilt w ∈ L(A) . Jeder Schritt verbraucht ein Symbol. ¨ Selbst ohne ε- Uberg¨ ange kann die Zahl der m¨ oglichen Berechnungen eines NEAs exponentiell in |w | sein. Die Potenzmengenkonstruktion spiegelt dies wider: um die Zahl der m¨ oglichen Berechnungen auf eine zu reduzieren, nimmt man ein potentiell exponentielles Wachstum der Zustandsmenge in Kauf. Analog kann man f¨ ur eine kfG G = hV, Σ, S, i (mit einem Axiom S ) und w ∈ Σ∗ fragen, ob w ∈ L(G ) gilt. Dies kann mit Hilfe des sog. CYK-Algorithmus festgestellt werden, der erfreulicherweise zumindest polynomial in |w | ist, und bei geschickter Anwendung linear in der Gr¨oße |G | der Grammatik; allerdings muß diese eine spezielle Normalform haben. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

148 / 224

Kontextfreie Sprachen

Normalformen und Anwendungen: das Wortproblem

Zun¨achst wollen wir “¨ uberfl¨ ussige” Variable entfernen (in konstanter Zeit): Proposition Eine Variable U ∈ V einer kfG G = hV, Σ, S,

i heißt

unproduktiv, falls aus U

∗w

Σ∗

folgt w ∈ /

unerreichbar, falls aus S

∗w

folgt |w |U = 0 .

;

Entfernen derartiger Variablen l¨aßt die erkannte Sprache L(G ) invariant. Im Folgenden setzen wir voraus, daß weder unproduktive noch unerreichbare Variablen vorhanden sind. Erst dann ist es sinnvoll, die Gr¨oße einer Grammatik mit Hilfe ihrer Produktionen zu definieren: Definition Eine kfG G = hV, Σ, S,

i hat die Gr¨ oße XX |G | := (1 + |α|) A∈V A→α

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

149 / 224

Kontextfreie Sprachen

Normalformen und Anwendungen: das Wortproblem

Umwandeln einer kfG (ohne u ussige Variablen) in die gew¨ unschte ¨berfl¨ Normalform erfordert Zeit und kann die Grammatik vergr¨oßern. Diesem Aspekt wurde aber erst k¨ urzlich (2009) von Martin Lange und Hans Leiß (LMU M¨ unchen) die geb¨ uhrende Aufmerksamkeit zuteil; dieser Abschnitt des Scripts st¨ utzt sich auf ihren Artikel To CNF or not to CNF? An Efficient Yet Presentable Version of the CYK Algorithm, Informatica Didactica 8 (2008–2010), 21pp. Lange und Leiß listen einige f¨ ur CYK relevante Normalformen auf und ihre Beziehungen bzgl. Inklusion (“CNF” steht f¨ ur Chomsky Normalform) 2LF Name

erlaubte Form der Produktionen

−ε

CNF CNF CNF+ε S2F C2F 2NF 2LF

A A A A A A A

BC | a BC | a , S ε (∗) BC | a | ε α mit |α| = 2 BC | B | a , S ε (∗) α mit |α| ≤ 2 uBvCw | uBv | v , u, v , w ∈ Σ∗

2NF CNF +ε

C2F CNF CNF −ε

(∗) Falls die Produktion S

S2F

ε auftritt, darf S nicht auf der rechten Seite einer anderern Produktion vorkommen.

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

150 / 224

Kontextfreie Sprachen

Normalformen und Anwendungen: das Wortproblem

Der CYK Algorithmus Um f¨ ur eine kfG G in 2NF zu entscheiden, ob w ∈ Σ+ zu L(G ) geh¨ort, werden im Wesentlichen alle m¨ oglichen Ableitungsb¨aume f¨ ur w r¨ uckw¨arts aufgebaut, mittels einer “Divide-and-Conquer” Strategie mit Speicherung von Zwischenergebnissen, die als dynamischen Programmierung bekannt ist. Genauer: f¨ ur jedes Teilwort wi,j von Position i bis Position j der Eingabe w 6= ε wird induktiv die Menge Vi,j aller Variablen konstruiert, aus denen wi,j herleitbar ist. Dann gilt w ∈ L(G ) genau dann wenn S ∈ V0,n−1 . F¨ ur eine kfG in CNF wurde der Algorithmus unabh¨angig von John Cocke und Jacob T. Schwartz (1970), Tadao Kasami (1965) und Daniel H. Younger (1967) entdeckt und ist folglich als CYK-Algorithmus bekannt. In der Version von Langer und Leiß f¨ ur G in 2NF werden zus¨atzlich die klassisch berechneten Mengen unter Vorg¨angern bzgl. einer bestimmten Relation abgeschlossen, die vorweg zu bestimmen ist. Sp¨atestens dabei stellt sich heraus, ob ε ∈ L(G ) gilt (was im Fall der CNF trivial ist). J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

151 / 224

Kontextfreie Sprachen

Normalformen und Anwendungen: das Wortproblem

Skizze des klassischen CYK-Algorithmus Eingabe: kfG G = hV, Σ, S, i in CNF und w ∈ Σ+ mit |w | = n Ausgabe: JA gdw S ∈ V0,n−1 := { A ∈ V : A ∗ w }, . Initialisierung: Vi,i := { A ∈ V : A

wi,i = si } f¨ ur i < n

. Zeilenweise (s.u.) rekursiv: A ∈ Vi,j gdw i ≤ h < j und A existieren mit B ∈ Vi,h und C ∈ Vh+1,j , f¨ ur i < j < n .

BC

Beispiel G = h{S, A, B, C }, {a, b}, S, S

AB | BC

A

BA | a

B

CC | b

C

AB | a

Gilt w = baaba ∈ L(G ) ? Ja! J¨ urgen Koslowski (TU-BS)

i 0≤

j
2 0

x1 B2 , . . . , Bn−2

0

xn−2 xn−1

wobei die Bi , 0 < i < n − 1 spezifische neue Variable f¨ ur die urspr¨ ungliche Produktion sind. Dies erfordert einen Durchlauf durch die Grammatik G , und die Anzahl der neuen Variablen ist durch |G | beschr¨ankt. Die ¨ Aquivalenz folgt sofort aus der Betrachtung der Ableitungsb¨aume.

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

155 / 224

Kontextfreie Sprachen

Normalformen und Anwendungen: das Wortproblem

Definition Die Menge der nullierbaren Variablen einer kfG G = hV, Σ, S, EG := { A ∈ V : A

+

i ist

ε}

w¨ahrend ihre Einheitsrelation gegeben ist durch UG := { hA, y i ∈ V × (V + Σ) : ∃α, β ∈ E∗G . A

αy β }

Lemma (Rekursive Berechnung der nullierbaren Variablen) Jede kfG G = hV, Σ, S,

i erf¨ ullt EG = E|V| , wobei

E0 = { A ∈ V : A

und Ei+1 = Ei ∪ { A ∈ V : ∃α ∈ E+ i .A

ε}

α}

Beweis. Hausaufgabe. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

156 / 224

Kontextfreie Sprachen

Normalformen und Anwendungen: das Wortproblem

Algorithmus (Berechnung von EG f¨ ur 2NF in linearer Zeit) Eingabe: eine kfG G = hV, Σ, S, i in 2NF Ausgabe: Menge E der nullierbaren Variablen Initialisierung: E := ∅ ; T := ∅ ; for all A ∈ V do o(A) := ∅ ; for all A B do o(B) := o(B) ∪ {A} ; for all A BC do o(B) := o(B) ∪ {hA, C i} ; o(C ) := o(C ) ∪ {hA, Bi} ; for all A ε do E := E ∪ {A} ; T := T ∪ {A} ; while T 6= ∅ do entferne eine Variable B aus T ; for all A, hA, C i ∈ o(B) mit C ∈ E do if A ∈ / E then E := E ∪ {A} ; T := T ∪ {A} ; return E Satz Zeit- und Raumbedarf des obigen Algorithmus sind linear in |G | .

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

157 / 224

Kontextfreie Sprachen

Normalformen und Anwendungen: das Wortproblem

Satz F¨ ur eine kfG G in 2NF sind Zeit- und Raumbedarf bei der Berechnung der Einheitsrelation UG linear in |G | . Beweis. Wir betrachten UG als Graph auf der Menge V + Σ . Nach Berechnung von EG wird f¨ ur jede Produktion A y bzw. A By oder A yB mit B nullierbar die Kante hA, y i hinzugef¨ ugt. Satz F¨ ur jedes y ∈ V + Σ ist der Zeit- und Raumbedarf bei der Berechnung der Menge U∗G (y ) ihrer U∗G -Vorg¨anger linear in |G | . Beweis (im Vorgriff auf TheoInf2) Die Berechnung der Erreichbarkeitsrelation in einem Graphen ist linear in der Summe der Knoten- und Kantenzahl. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

158 / 224

Kontextfreie Sprachen

Normalformen und Anwendungen: das Wortproblem

CYK(LL)-Algorithmus (explizite Version) Eingabe: kfG G = hV, Σ, S, i in 2NF, UG , w = s0 . . . sn−1 ∈ Σ+ Ausgabe: Entscheidung, ob w ∈ L(G ) . for i < n do Vi,i := { A ∈ V : A si } ( Vi,i := U∗G (si ) ) for 0 < j − i < n do V0i,j := ∅ ; (Zeile j − i von unten; initialisieren) for i ≤ h < j do for A yz do 0 0 if y ∈ Vi,h and z ∈ VS h+1,j then Vi,j := Vi,j ∪ {A} ∗ ∗ 0 0 Vi,j = Vi,j ( Vi,j := UG [Vi,j ] = y ∈V0 UG 0 (y ) ) i,j if S ∈ V0,n−1 then return “yes” else return “no” Satz Der Zeit- und Raumbedarf des obigen Algorithmus bewegt sich in der Gr¨oßenordnung von |G | · |w |3 bzw. |G | · |w |2 .

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

159 / 224

Kontextfreie Sprachen

Normalformen und Anwendungen: das Wortproblem

Da die Gr¨oße der bin¨are Normalform und der Zeitbedarf f¨ ur die Berechnung von EG und UG linear in |G | sind, ergibt sich Corollar Die L¨osung des Wort-Problems f¨ ur eine kfG G und ein Wort der L¨ange n ben¨otigt gr¨oßenordnungsm¨aßig |G | · n3 Zeit und |G | · n2 Raum. Beispiel ¨ Uber dem Alphabet Σ = {a, b, 0, 1, (, ), +, ∗} betrachten wir die Grammatik G = h{E , T , F , I }, Σ, E , i mit folgenden Produktionen E

T |E + T

F

aI | bI | (E )

T

F |T ∗ F

I

0I | 1I | ε

Nachz¨ahlen liefert 4 Variable, 10 Produktionen und |G | = 29 . Offenbar(!) handelt es sich bei L(G ) um die Sprache der arithmetischen Ausdr¨ ucke in + und ∗ , mit Identifiern der Form u ∈ {a, b}{0, 1}∗ . J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

160 / 224

Kontextfreie Sprachen

Normalformen und Anwendungen: das Wortproblem

Beispiel (Fortsetzung) Die Umformung in bin¨are Normalform liefert die G 0 -Produktionen E

T | EQ

Q

+T

F

aI | bI | (S

T

F | TR

R

∗F

I

0I | 1I | ε

S

E)

Nachz¨ahlen liefert 7 Variable, 13 Produktionen und |G 0 | = 35 . Nur I is nullierbar, also EG = {I } . Weiter gilt UG 0 = {hE , T i, hT , F i, hF , ai, hF , bi, hI , 0i, hI , 1i} woraus sich folgende nichtleere Mengen echter Vorg¨anger ergeben: U+ G 0 (a) = {E , T , F }

U+ G 0 (0) = {I }

U+ G 0 (F ) = {T , E }

U+ G 0 (b) = {E , T , F }

U+ G 0 (1) = {I }

U+ G 0 (T ) = {E }

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

161 / 224

Kontextfreie Sprachen

Normalformen und Anwendungen: das Wortproblem

Beispiel (Fortsetzung) Wir pr¨ ufen, ob w = (a0 + b) ∗ a zu L(G ) geh¨ ort: gilt E ∈ V0,7 ? Ja! E T − 8

− − −

(



E, T, F a

J¨ urgen Koslowski (TU-BS)



E

E, T F



− −

I 0



S

+

− −

− Q

− −

Theoretische Informatik 1

− −

S E, T, F b

8

0



i
0 betrachte eine Zerlegung (ab)n (ba)n (ab)n (ba)n = vwxyz mit ur alle k ∈ N , wy 6= ε und |wxy | ≤ n . Damit uk = vw k xy k z ∈ L0 f¨ d¨ urfen aa und bb weder in w noch in y enthalten sein. Falls w in einem Teilwort (ab)n bzw (ba)n enthalten ist, muß y im n¨achsten Teilwort (ba)n bzw. (ab)n enthalten sein, woraus u0 ∈ / L0 folgt. Nach dem PL(kf) ist L0 also nicht kontextfrei, und somit L ebensowenig. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

200 / 224

Kontextfreie Sprachen

Deterministisch kontextfreie Sprachen

Die Klasse L2d der deterministisch kontextfreien Sprachen hat recht ungew¨ohnliche Abschlußeigenschaften: . nicht unter bin¨aren Durchschnitten (genau wie L2 ); . daf¨ ur unter Komplementbildung (umst¨andlich); aufgrund der de Morgan’schen Regeln also nicht unter bin¨aren Vereinigungen (im Gegensatz zu L2 ); . weder unter Konkatenation noch Iteration (im Gegensatz zu L2 ); . nicht unter der Spiegeloperation (im Gegensatz zu L2 ). Dies schließt eine Charakterisierung von L2d durch eine leicht beschreibbare Klasse kontextfreier Grammatiken aus. Insbesondere kann die Forderung nicht gen¨ ugen, jede Variable m¨ oge nur als Input einer einzigen Produktion auftreten. Von Programmiersprachen muß man aber verlangen, dass sie in geeigneter Form deterministisch und mit Hilfe von Grammatiken darstellbar sind. M¨ oglicherweise haben wir hier eine Demarkationslinie zwischen Mathematik und Informatik erreicht. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

201 / 224

Kontextfreie Sprachen

Deterministisch kontextfreie Sprachen

Beispiel ( L0 = { ai b j c k : i 6= j } ∈ L2d ) Der dKA K 0 = h{q0 , qa , qb }, {A, B, C , D}, {a, b, c}, δ, q0 , {qa , qb }, εi EZ-akzeptiert L0 :

δ:

A\a/AB C \a/AD

qa

ε\a/C

B, C \c/C

B\b/B

A, B\b/ε C , D\b/D q0

D, ε\b/B

qb

A, B, C , D\c/C

. Im Anfangszustand q0 sollen gleich viele a ’s und b ’s aufgetreten sein. Die ¨ Endzust¨ande qa und qb sind f¨ ur die Ubersch¨ usse der entsprechenden Buchstaben zust¨andig; weiter dient qb zum Abarbeiten von c ’s am Ende. . In qa sind C und A f¨ ur die Bef¨ ullung des Kellers bei gelesenen a ’s zust¨andig, und B f¨ ur den Abbau des Kellers bei gelesenem b ’s, nachdem das oberste A gel¨ oscht wurde. Das Kellerendsymbol C wird beim Lesen des zweiten a ’s in ein D umgewandelt, damit sp¨ater keine a ’s nach b ’s verarbeitet werden k¨ onnen. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

202 / 224

Kontextfreie Sprachen

Deterministisch kontextfreie Sprachen

Beispiel (Fortsetzung) . Erscheint in qa auf dem Keller C oder D , so f¨ uhrt das n¨achste b zum ¨ Gleichstand zwischen a ’s und b ’s, also zum Ubergang nach qo . Damit dort keine weiterern a ’s verarbeitet werden k¨ onnen, bleibt D auf dem Keller stehen. Weitere b ’s f¨ uhren nach qb . ¨ . Bei nichtleerem Keller f¨ uhrt auch ein c in qa zum Ubergang nach qb . Dort bestimmt das oberste Kellersymbol B bzw. C , ob zun¨achst weitere b ’s oder nur noch c ’s verarbeitet werden k¨ onnen. Die Tiefe des Kellers ist hier ansonsten irrelevant.

Wie in der VL gesehen, kann man auch einen dKA mit 6 Zust¨anden und nur zwei Kellersymbolen konstruieren. Das entspricht 18 Kombinationen aus SL-Zustand und oberstem Kellersymbol (einschließlich ε ), von denen 10 ¨ genutzt wurden f¨ ur 16 Uberg¨ ange. Oben sind dagegen 15 Kombina- tionen ¨ m¨ oglich, von denen 8 genutzt werden f¨ ur ebenfalls 16 Uberg¨ ange. Insofern k¨ onnte man den obigen Automaten vielleicht als effizienter ansehen.

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

203 / 224

Kontextfreie Sprachen

Deterministisch kontextfreie Sprachen

Beispiel ( L1 = { ai b j c k : j 6= k } ∈ L2d ) Der dKA K 1 = h{r0 , ra , rb }, {A, B, C , D}, {a, b, c}, γ, r0 , {rb , rc }, εi EZ-akzeptiert L1 : B, C \c/ε γ :

B\a/BC D\b/BA

rb

ε\c/ε

D, A\c/A

ε\b/D

r0

A, ε\c/ε

rc

ε\a/ε

. r0 u uhrende a ’s; b ’s und c ’s sind gleich h¨aufig aufgetreten. ¨berliest f¨ ¨ . Ahnlich wie qa im Beispiel zuvor dient rb zum Einkellern der b ’s ( D und B ) und zum Teilabbau des Kellers durch c ’s ( C und A ). D bzw. A markieren das Kellerende, so dass einem c kein b mehr folgen kann. . Ein c bei C oder A in rb gleicht die Anzahlen der b ’s und c ’s aus. ¨ Daher erfolgt ein Ubergang nach r0 . Um keine weiteren a ’s verarbeiten zu k¨ onnen, darf der Keller dabei nicht geleert werden. . c ’s im Zustand q0 bedeuten k > j , wof¨ ur qc zust¨andig ist. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

204 / 224

Kontextfreie Sprachen

Deterministisch kontextfreie Sprachen

Beispiel ( L0 ∪ L1 ∈ / L2d ) L0 ∪ L1 = { ai b j c k : i 6= j ∨ j 6= k } hat das Komplement (vergl. F. 145) M = { an b n c n : nN } ∪ { w ∈ {a, b, c}∗ : c vor a ∨ c vor b ∨ b vor a } Da M ∩ L(a∗ b ∗ c ∗ ) = { an b n c n : n ∈ N } nicht kontextfrei und damit nicht dkf ist, gilt dies auch f¨ ur M und somit auch f¨ ur L0 ∪ L1 . Beispiel ( {a}∗ { wcw op : w ∈ {a, b}∗ } ∈ / L2d ) Beide Sprachen, {a}∗ und { wcw op : w ∈ {a, b}∗ } , sind deterministisch kontextfrei; im zweiten Fall ist die Mitte der Eingabe klar zu erkennen. Ein KA f¨ ur die Konkatenation m¨ ußte alle Symbole bis c einkellern, da ´a priori unklar ist, wo w beginnt. Nach Ende der Eingabe ist bei nicht¨ leerem Keller zu pr¨ ufen, ob dort kein b vorkommt, was ε- Uberg¨ ange erfordert. Weitere Eingabesymbole m¨ ussen aber auch verarbeitet werden k¨ onnen, im Wiederspruch zur Disjunktheit der Definitionsbereiche. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

205 / 224

Kontextfreie Sprachen

Deterministisch kontextfreie Sprachen

Das Ergebnis des letzten Beispiels ist eigentlich etwas unbefriedigend. Nat¨ urlich ist unmittelbar klar, dass die umgekehrte Konkatenation { wcw op : w ∈ {a, b}∗ }{a}∗ zu L2d geh¨ ort. Die alternative Strategie, den Anfang von w zu erraten und erst ab dort einzukellern, kann auf keinen Fall funktionieren. Das obige Argument st¨ utzt sich dagegen auf die etwas grobschl¨achtige Bedingung f¨ ur inher¨anten Determinismus, dass D(δ(ε)) zu allen Definitionsbereichen D(δ(a)) , a ∈ Σ disjunkt zu sein hat. Man kann eindeutige Konfigurationsfolgen auch garantieren, indem ¨ ¨ man buchstabenverbrauchende Uberg¨ ange ε- Uberg¨ angen vorzieht (Folie 64; demand-driven Client-Server Modell). In diesem Sinne w¨are der oben skizzierte Automat durchaus deterministisch! Beispiel {a, b, c}∗ { wcw op : w ∈ {a, b}∗ } ist auch im verallgemeinerten Sinne nicht dkf, da in diesem Fall das letzte Symbol c zu raten ist. Die andere Konkatenation ist dagegen wie oben dkf. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

206 / 224

Kontextfreie Sprachen

Deterministisch kontextfreie Sprachen

Definition Unter einem Parser f¨ ur eine kfG G versteht man ein Programm, das die Zugeh¨origkeit eines Worts w zu L(G ) entscheidet, indem es einen Ableitungsbaum konstruiert. Wir sind nat¨ urlich vorrangig an deterministischen Parsern interessiert. Definition Unter einer LR(k)-Grammatik G versteht man eine kfG, f¨ ur die ein deterministischer Parser existiert, der f¨ ur jedes w ∈ L(G ) in einem Durchlauf von links eine Rechtsableitung von w erzeugt und dabei h¨ ochstens k Symbole von w im Voraus liest. Definition Eine kontextfreie Sprache heißt LR(k)-Sprache, wenn sie von einer LR(k)-Grammatik erzeugt werden kann.

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

207 / 224

Kontextfreie Sprachen

Deterministisch kontextfreie Sprachen

Die folgenden Ergebnisse werden sicherlich in anderen praxisorientierten Vorlesungen angesprochen werden: Satz Die Klasse L2d der deterministisch kontextfreien Sprachen ist die Vereinigung der Klassen aller LR(k)-Sprachen mit k ∈ N . Satz F¨ ur jedes k ∈ N ist die Klasse der LR(k)-Sprachen in der Klasse der LR(1)-Sprachen enthalten. Damit entspricht letztere der Klasse L2d . LR(1)-Sprachen erlauben einen tabellen-basierten Ansatz zum deterministischen Parsen; leider k¨ onnen diese Tabellen unpraktikabel groß werden. Eine eingeschr¨ankte Klasse l¨aßt sich aber mit sogenannten LARL-Parsern (lookahead LR-Parsern) effizient behandeln, und dies schließt fast alle in der (Informatik-) Praxis relevanten Sprachen ein.

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

208 / 224

Mathematischer Hintergrund

Kapitel 3 Mathematischer Hintergrund

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

209 / 224

Mathematischer Hintergrund

Mengen

Mengen Definition (Menge, Element) Eine Menge ist eine Zusammenfassung unterscheidbarer Objekte zu einer Gesamtheit. Die Zugeh¨origkeit eines Objekts a zu einer Menge A wird mit a ∈ A ausgedr¨ uckt; a heißt Element von A . Definition Speziell hat die leere Menge ∅ keine Elemente, w¨ahrend N die Menge der nat¨ urlichen Zahlen 0, 1, 2, . . . bezeichnet. Definition (Teilmenge, Potenzmenge) A heißt Teilmenge von B ( A ⊆ B ), falls x ∈ A ⇒ x ∈ B . Die Potenzmenge P(B) besteht aus allen Teilmengen von B . Jede Menge A erf¨ ullt A ⊆ A , ∅ ⊆ A , A ∈ P(A) und ∅ ∈ P(A) . J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

210 / 224

Mathematischer Hintergrund

Mengen

Definition (Aussonderung) Ist A eine Menge und ϕ eine Eigenschaft, die Objekte haben k¨onnen, so bezeichnet A(ϕ) := { x : x ∈ A ∧ ϕ(x) } ⊆ A die Teilmenge aller Elemente aus A mit der Eigenschaft ϕ ; alternative Schreibweise: A(ϕ) = { x ∈ A : ϕ(x) } . Daß es sich bei A(ϕ) wirklich um eine Menge handelt, ist der Inhalt des Aussonderung-Axioms (engl. comprehension).

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

211 / 224

Mathematischer Hintergrund

Mengen

Definition (Durchschnitt, Vereinigung) Der Durchschnitt bzw. die Vereinigung zweier Mengen A und B sind gegeben durch A ∩ B := { x : x ∈ A ∧ x ∈ B } A ∪ B := { x : x ∈ A ∨ x ∈ B } Im Falle einer Teilmenge A ⊆ P(X ) erhalten wir \ A := { x : ∀A ∈ A. x ∈ A } ⊆ X [ A := { x : ∃A ∈ A. x ∈ A } ⊆ X

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

212 / 224

Mathematischer Hintergrund

Mengen

Definition (cartesisches Produkt) Das cartesische Produkt zweier Mengen A und B ist A × B := { ha, bi : a ∈ A ∧ b ∈ B } wobei ha, bi ein geordnetes Paar bezeichnet. Die Spezifikation f¨ ur geordnete Paare verlangt ha, bi = hc, di

gdw

(a = c ∧ b = d)

Im Spezialfall A = B schreiben wir abk¨ urzend An f¨ ur das n -fache cartesische Produkt von A mit sich. Achtung: Die Schreibweise ( )n f¨ ur ein n -faches Produkt wird auch in anderen Situationen benutzt, ist also kontextsensitiv.

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

213 / 224

Mathematischer Hintergrund

Mengen

Definition (disjunkte Vereinigung) Die Summe oder disjunkte Vereinigung zweier Mengen A and B : A + B := (A × {0}) ∪ (B × {1}) Jede andere Methode zur “Disjunktifizierung” der Mengen A und B ist ebenfalls zul¨assig, z.B. folgende von Paul Taylor A+B ∼ = { hU, V i ∈ P(A) × P(B) : |U| + |V | = 1 } Proposition Die Menge X ∗ aller endlichen W¨ orter u ullt ¨ber einer Menge X erf¨ X X∗ = {Xn : n ∈ N} Return

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

214 / 224

Mathematischer Hintergrund

Relationen und Funktionen

Relationen und Funktionen Definition (Relation, partielle Funktion, Funktion) Unter einer Relation r von einer Menge A in eine Menge B verstehen wir eine Teilmenge r ⊆ A × B ; Schreibweise: A r B. Ihr Definitionsbereich ist D(r ) := { a ∈ A : ∃b ∈ B. ha, bi ∈ r } . Die Komposition mit einer Relation B s C definiert man als r ; s := {ha, ci ∈ A × C : ∃b ∈ B. ha, bi ∈ r ∧ hb, ci ∈ s } Eine Relation A r B heißt partielle Funktion (A r B), bzw. Funktion (A r B), falls jedes a ∈ A zu h¨ ochstens, bzw. genau, einem b ∈ B in Relation steht (das dann mit r (a) bezeichnet wird). Wir identifizieren (partielle) Funktionen von A nach B mit ihren “Graphen” in der AB -Ebene. F¨ ur A f B g C gilt g ◦ f = f ; g . Anhand der Pfeilspitzen , und unterscheiden wir (in dieser VL) Relationen und (partielle) Funktionen. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

215 / 224

Mathematischer Hintergrund

Relationen und Funktionen

Definition (spezielle Relationen) F¨ ur jede Menge A setze ∆A = { ha, ai : a ∈ A } . Die zu A r B duale Relation B ha, bi ∈ r spezifiziert. A r A heißt (r) (t) (s) (a) (PO) (HO) ¨ (AR)

r op

A ist durch hb, ai ∈ r op gdw.

reflexiv, falls r 0 := ∆A ⊆ r ; transitiv, falls r ; r ⊆ r ; op symmetrisch, falls r = r ; op antisymmetrisch, falls r ∩ r ⊆ ∆A ; Pr¨a-Ordnung, sofern (r) und (t) erf¨ ullt sind; Halb- oder partielle Ordnung, sofern (r), (t) und (a) erf¨ ullt sind; ¨ Aquivalenzrelation, sofern (r), (t) und (s) erf¨ ullt sind.

r∗ =

S

n∈N r

n

heißt reflexive transitive H¨ ulle von A

Relationen 1

B und B

Funktionen 1

B sind Elemente von B .

r

A.

1 sind Teilmengen von B .

Return, Automaten

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

216 / 224

Mathematischer Hintergrund

Graphen

Graphen Definition Ein Graph G = hU, s, t, Qi besteht aus zwei Mengen U von Kanten und s Q, die einer Kante Q von Knoten, zusammen mit zwei Abbildungen U t u ∈ U ihre Start- und Zielknoten zuordnet (source und target); f¨ ur p = s(u) und q = t(u) schreiben wir auch p u q. Ein Graphen-Morphismus G f G 0 besteht aus zwei Abbildungen Q f0 Q 0 und U f1 U 0 , so dass s

U f1

U0

t s0 t0

Q f0

Q0

Unsere Graphen sind also von Hause aus gerichtet. Weitherhin sind mehrere parallele Kanten zwischen zwei Knoten zul¨assig, ebenso Loops, d.h., Kanten mit u ¨bereinstimmendem Start- und Zielknoten. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

217 / 224

Mathematischer Hintergrund

Graphen

H¨aufig wird verlangt, dass zwei Knoten durch h¨ ochstens eine Kante verbunden werden. Das entspricht der Forderung, dass die Abbildungen s und t gemeinschaftlich injektiv sind, d.h., aus s(k) = s(l)

und t(k) = t(l)

folgt k = l

¨ Aquivalent ist dann die Abbildung U hs, ti Q × Q injektiv, und wir k¨ onnen die Kantenmenge U als Teilmenge von Q × Q auffassen, d.h., als Relation Q U Q. Damit lassen sich bin¨are Relationen auf einer Menge Q mit bestimmten Graphen identifizieren. Speziell liefern symmetrische Relationen klassische ungerichtete Graphen, und irreflexive Relationen loopfreie Graphen. Graphen

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

218 / 224

Mathematischer Hintergrund

¨ Aquivalenzklassen und Partitionen

¨ Aquivalenzklassen und Partitionen Definition ¨ E ⊆ Q × Q ist [q]E := { p ∈ Q : p E q } die (a) F¨ ur eine AR ¨ Aquivalenzklasse von q bzgl. E . (b) Eine Partition K ⊆ P(Q) von Q besteht aus nichtleeren paarweise S diskunkten Teilmengen von Q mit K=Q. Satz ¨ Die Aquivalenzrelationen auf einer Menge Q entsprechen bijektiv den Partitionen der Menge Q . Beweis. ¨ ¨ partitionieren Q . Umgekehrt definiert man Die Aquivalenzklassen einer AR Elemente von Q als ¨aquivalent, wenn sie zur selben Menge in der Partition geh¨oren. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

219 / 224

Mathematischer Hintergrund

¨ Aquivalenzklassen und Partitionen

Proposition Jede Abbildung Q

L

¨ B induziert eine Aquivalenzrelation ∼L via p ∼L q

gdw . L(p) = L(q)

Das L-Bild L[Q] = { L(q) : q ∈ Q } ist in canonischer Weise isomorph zur sogenannten Faktormenge Q/∼L := { [q]∼L : q ∈ Q } aller ¨ ∼L - Aquivalenzklassen. Beispiel Die Preisfunktion auf allen Artikeln eines Supermarkts: Toilettenpapier ist ¨aquivalent zu Haarfestiger, ist ¨aquivalent zu Dosen-Kohlrabi. . . Division durch n mit Rest: liefert die Funktion N modn n = { i : i < n }. Minimierung

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

220 / 224

Mathematischer Hintergrund

Tupel als Funktionen und die Natur des leeren Worts ε

Tupel als Funktionen und die Natur des leeren Worts ε Definition B A bezeichnet die Menge aller Funktionen von A nach B . Dies imitiert die Schreibweise B n f¨ ur die Menge aller n -Tupel u ¨ber B , also das n -fache cartesische Produkt der Menge B mit sich. Interpretiert man die Zahl n als Menge ihrer Vorg¨anger, d.h., n = {k ∈ N : k < n}

und speziell

so stimmen n -Tupel u ¨ber B mit Funktionen n

0=∅ B u ¨berein.

Folgerung Alle Inklusionsabbildungen ∅ ε X , X eine Menge, stimmen mit der einzigen Teilmenge ∅ ⊆ ∅ × X = ∅ u ¨berein. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

221 / 224

Mathematischer Hintergrund

Abz¨ ahlbarkeit

Abz¨ahlbarkeit Definition Eine Menge B heißt abz¨ahlbar, wenn es eine injektive Abbildung B gibt. Anderfalls heißt sie u ¨berabz¨ahlbar.

N

Satz Teilmengen, endliche cartesische Produkte und abz¨ahlbare Vereinigungen abz¨ahlbarer Mengen sind wieder abz¨ahlbar. Dagegen sind Potenzmengen abz¨ahlbar unendlicher Mengen u ¨berabz¨ahlbar. Beweis f¨ ur Teilmengen F¨ ur jede Teilmenge C einer abz¨ahlbaren Menge B ist die Inklusionsabbildung C i B injektiv, also auch ihre Komposition mit einer injektiven Abbildung B j N. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

222 / 224

Mathematischer Hintergrund

Abz¨ ahlbarkeit

Beweis f¨ ur bin¨are cartesische Produkte Es gen¨ ugt, die Abz¨ahlbarkeit von N × N zu zeigen: 4 10 3

9 11

2

3

8 12

1

2

4

7 13

0

0

1

5

6 14

0

1

2

3

4

Beweis f¨ ur abz¨ahlbare Vereinigungen S P S { Bi : i ∈ N } = { Bi − { Bj : j < i } : i ∈ N } Also gen¨ ugt, sich auf abz¨ahlbare disjunkte Vereinigungen zu beschr¨anken. Aber N × N ist die disjunkte Vereinigung abz¨ahlbar vieler Kopien von N und abz¨ahlbar. J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

223 / 224

Mathematischer Hintergrund

Abz¨ ahlbarkeit

Beweis f¨ ur Potenzmengen Es gen¨ ugt zu zeigen, daß P(N) u ¨berabz¨ahlbar ist. Wir nehmen an, P(N) g N ist injektiv. Aufgrund der Injektivit¨at erf¨ ullt K := { g (B) : B ⊆ N ∧ g (B) ∈ / B } die Bedingung g (K ) ∈ K gdw g (K ) ∈ / K , Widerspruch. (Dieses Argument funktioniert f¨ ur jede Menge anstelle von N .) Folgerung F¨ ur jede nichtleere abz¨ahlbare Menge X ist X ∗ abz¨ahlbar unendlich. Beweis. P X ∗ = { X n : n ∈ N } ist abz¨ahlbare disjunkte Vereinigung endlicher Produkte einer abz¨ahlbaren Menge. universelle Automaten

J¨ urgen Koslowski (TU-BS)

Theoretische Informatik 1

WS 2014/2015

224 / 224