• Keine Ergebnisse gefunden

Formale Sprachen und Automatentheorie

N/A
N/A
Protected

Academic year: 2021

Aktie "Formale Sprachen und Automatentheorie"

Copied!
121
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Automatentheorie

Udo Hebisch WS 2019/20

Dieses Skript enth¨ alt nur den “roten Faden”

der Vorlesung. Wesentliche Inhalte werden ausschließlich in der Vorlesung vermittelt. Daher ist dieses

Skript nicht zum Selbststudium gedacht, sondern

nur als “Erinnerungsst¨ utze”.

(2)

Inhaltsverzeichnis

1 Formale Sprachen 3

1.1 Freie Halbgruppen, Halbringe und Formale Sprachen . . . 3

1.2 Regul¨are, rationale und erkennbare Sprachen . . . 11

1.3 Automaten . . . 14

1.4 Syntaktische Monoide. . . 20

1.5 Aufgaben . . . 22

2 Regelgrammatiken und Regelsprachen 26 3 Typen endlicher Automaten 42 4 Keller-Automaten und deterministische Sprachen 51 5 Turing-Maschinen 59 6 Pumping-Lemma und Folgerungen 75 7 Weitere Verkn¨upfungen formaler Sprachen 80 8 Der Satz von Parikh 85 9 Lindenmayer-Systeme 88 10 Weitere Arten endlicher Automaten 91 11 Anhang 94 11.1 Beispiele wichtiger formaler Sprachen . . . 94

11.2 Abschlußeigenschaften der Sprachklassen . . . 96 12 L¨osungen zu ausgew¨ahlten Aufgaben 98

(3)

Die Automatentheorie ist eine mathematische Theorie, die sich Verdienste um die Begriffsbildung und um die Auf- deckung der prinzipiellen M¨oglichkeiten erwarb. Sie hat enge Verbindung zur Theorie der formalen Sprachen und damit zu den Programmiersprachen. Sie soll nicht als prak- tikable Hilfswissenschaft f¨ur konkrete Schaltwerke verstan- den werden, sondern als eine Grundlagentheorie.

Peter Deussen

1 Formale Sprachen

1.1 Freie Halbgruppen, Halbringe und Formale Sprachen

In der Automatentheorie und der Theorie formaler Sprachen werden einige Be- griffe und Resultate ¨uber Halbgruppen und Halbringe ben¨otigt. Sie werden da- her hier zun¨achst einmal zusammengestellt. Umfangreichere Darstellungen der hier behandelten Zusammenh¨ange zwischen algebraischen Strukturen, Automa- tentheorie und formalen Sprachen findet man in den folgenden B¨uchern:

Peter Deussen, Halbgruppen und Automaten, Springer, Berlin 1971.

Hartmut Ehrig, Michael Pfender, Kategorien und Automaten, DeGruyter, Berlin 1972.

Jean Eric Pin, Varieties of Formal Languages, Plenum Press, New York 1986.

Werner Kuich, Arto Salomaa, Semirings, Automata, Languages, Springer, Berlin 1986.

Arto Salomaa, Matti Soittola, Automata-Theoretic Aspects of Formal Power Se- ries, Springer, Berlin 1978.

Definition 1.1 Unter einer Halbgruppe (S,·) versteht man eine nichtleere Men- ge S zusammen mit einer bin¨aren Verkn¨upfung (der Multiplikation) ·, die also je zwei Elementen a, b ∈ S genau ein Produkt a ·b ∈ S zuordnet, so daß das Assoziativgesetzgilt:

a·(b·c) = (a·b)·c f¨ur alle a, b, c∈S.

(1)

(4)

Besitzt die Halbgruppe einEinselement e∈S gem¨aß e·a=a·e=a f¨ur alle a∈S,

(2)

so spricht man von einem Monoid. Gilt in (S,·) das Kommutativgesetz a·b=b·a f¨ur alle a, b∈S,

(3)

so nennt man die Halbgruppe (das Monoid)kommutativ. Gilt a·a=a f¨ur alle a∈S,

(4)

so heißt die Halbgruppe (das Monoid) idempotent. Einzelne Elemente a∈S, die (4) erf¨ullen nennt man ebenfalls idempotent und man definiert E(S) = {a ∈ S | a·a=a}.

Ein Elementa∈S heißt linksk¨urzbar[rechtsk¨urzbar] in (S,·), wenn a·x=a·y ⇒ x=y [x·a =y·a ⇒ x=y]

(5)

f¨ur alle x, y ∈ S gilt. Ist a sowohl links- als auch rechtsk¨urzbar, so nennt man esk¨urzbar. Sind alle Elemente a ∈S einer Halbgruppe linksk¨urzbar, rechtsk¨urz- bar oder k¨urzbar, so nennt man die Halbgruppe linksk¨urzbar, rechtsk¨urzbar bzw.

k¨urzbar.

Beispiel 1.2 F¨ur jede MengeM 6=∅bildet die Menge TM ={f :M →M}aller Abbildungen (Transformationen) vonM in sich mit der Nacheinanderanwendung von Abbildungen einMonoid (TM,◦), dasTransformationsmonoid auf M. Dabei ist die identische Abbildung auf M Einselement.

Definition 1.3 Unter einem Halbring (S,+,·) versteht man zwei Halbgruppen (S,+) und (S,·), so daß die beiden Distributivgesetze

a·(b+c) = a·b+a·cund (a+b)·c=a·c+b·c f¨ur allea, b, c∈S (6)

erf¨ullt sind. Ist (S,+)kommutativ[idempotent,k¨urzbar], so nennt man den Halb- ring additiv kommutativ [additiv idempotent, additiv k¨urzbar], ist (S,·) kommu- tativ [idempotent], so nennt man den Halbring multiplikativ kommutativ [multi- plikativ idempotent]. Ist (S,·) ein Monoid, so nennt man das Einselement e von

(5)

(S,·) das Einselement des Halbringes (S,+,·), ist (S,+) ein Monoid, so nennt man das Einselement o von (S,+) das Nullelement des Halbringes (S,+,·). Ein Nullelemento, das noch

a·o=o=o·a f¨ur allea∈S (7)

erf¨ullt, heißt absorbierend.

Beispiel 1.4 a) JederRingist ein additiv kommutativer und k¨urzbarer Halbring.

Das Nullelement des Ringes ist stets absorbierend.

b) Die nat¨urlichen Zahlen bilden mit den ¨ublichen Operationen der Addition und Multiplikation einen Halbring (N0,+,·) mit absorbierendem Nullelement 0 und Einselement 1, der kein Ring ist. Dasselbe gilt f¨ur (N,+,·), wobei dieser Halbring kein Nullelement besitzt. Beide Halbringe sind additiv kommutativ und k¨urzbar und multiplikativ kommutativ.

c) Der zweielementige Verband (B,+,·) = ({o, e},∨,∧}) ist (wie jederdistributive Verband) ein additiv und multiplikativ kommutativer und idempotenter Halbring.

Dies gilt ebenso f¨ur den Verband (I,∨,∧) auf dem Einheitsintervall I mit den Operationen ∨ der Supremumsbildung und ∧ der Infimumsbildung. Man nennt (B,+,·) auch den Booleschen Halbring. Diese Halbringe sind additiv idempotent und daher nicht k¨urzbar. Sie sind auch multiplikativ idempotent. Genau dann besitzen sie ein absorbierendes Nullelement o, wenn sie (durch o) nach unten beschr¨ankt sind, und genau dann besitzen sie ein Einselement e, wenn sie (durch e) nach oben beschr¨ankt sind.

Definition 1.5 Es seien (S,·) und (T,) zwei Halbgruppen. Eine Abbildung ϕ:S →T heißt ein (Halbgruppen-)Homomorphismus von (S,·) in (T,), wenn

ϕ(a·b) = ϕ(a)ϕ(b) (8)

f¨ur alle a, b∈S gilt.

Sind (S,+,·) und (T,⊕,) zwei Halbringe, so heißt ϕ: S → T ein (Halbring-) Homomorphismus, wenn neben (8) noch

ϕ(a+b) = ϕ(a)⊕ϕ(b) (9)

f¨ur alle a, b∈S gilt.

Einen bijektiven (Halbgruppen- oder Halbring-) Homomorphismus nennt man einenIsomorphismus.

(6)

Definition 1.6 Es sei (S,·) eine Halbgruppe. Eine ¨Aquivalenzrelation ∼ auf S heißt eine Linkskongruenz [Rechtskongruenz] auf (S,·), wenn

x∼y ⇒ z·x∼z·y [x∼y ⇒ x·z ∼y·z]

(10)

f¨ur alle x, y, z ∈S erf¨ullt ist. Sind beide Implikationen aus (10) erf¨ullt, so nennt man∼ eine Kongruenz(relation)auf (S,·). Handelt es sich bei (S,+,·) um einen Halbring und ist ∼ Linkskongruenz [Rechtskongruenz, Kongruenz] sowohl auf (S,+) als auch auf (S,·), so spricht man von einer Linkskongruenz [Rechtskon- gruenz, Kongruenz] des Halbringes (S,+,·).

Beispiel 1.7 a) Jede Halbgruppe (S,·) bzw. jeder Halbring (S,+,·) besitzt die trivialen Kongruenzen ιS ={(a, a)|a ∈S}, die identische Relation, und S×S, die Allrelation auf S.

b) Ist ϕ : S → T Homomorphismus von (S,·) in (T,·) bzw. von (S,+,·) in (T,+,·), so wird durch

x∼y ⇐⇒ ϕ(x) = ϕ(y) (11)

f¨ur alle x, y ∈S eine Kongruenz auf (S,·) bzw. (S,+,·) definiert.

Lemma 1.8 Ist∼Kongruenzauf einerHalbgruppe(S,·) und bezeichnetS/∼=

{[x]|x∈S}die Menge aller Restklassen[x] ={y∈S |y∼x}, dann wird durch [x]·[y] = [x·y]

(12)

f¨ur alle [x],[y]∈S/∼eine assoziative Multiplikation definiert. Daher ist (S/∼,·) eine Halbgruppe, die Restklassenhalbgruppe von (S,·) nach ∼. Die Abbildung ϕ : S → S/ ∼ mit ϕ(x) = [x] ist wegen (12) ein surjektiver Homomorphismus.

Also ist mit (S,·) auch (S/∼,·)kommutativbzw. idempotent. Iste Einselement von (S,·), so ist [e] Einselement von (S/∼,·).

Definition 1.9 Sind a und b Elemente einer Halbgruppe (S,·) und ist c=a·b ihr Produkt, so nennt man a einen linken Teiler oder ein Pr¨afix und b einen rechten Teileroder einPostfixbzw. Suffixvonc. Handelt es sich bei (S,·) um ein Monoidmit dem Einselemente, so nennt man die Elemente, die gleichzeitig linke und rechte Teiler von e sind, die Einheiten von (S,·). Mit U(S) wird die Menge aller Einheiten von (S,·) bezeichnet (vgl. Aufgabe1.60).

(7)

Beispiel 1.10 In jedem Transformationsmonoid TM besteht die Menge U(TM) genau aus den bijektiven Abbildungen auf M. Es handelt sich also dabei um die symmetrischeGruppe auf M.

Beispiel 1.11 F¨ur eine beliebige Menge X 6= ∅ sei X+ = Sn∈NXn. Definiert man f¨ur alle (x1, . . . , xn),(y1, . . . , ym)∈X+ eine Multiplikation durch

(x1, . . . , xn)·(y1, . . . , ym) = (x1, . . . , xn, y1, . . . , ym), (13)

dann ist (X+,·) eine Halbgruppe, diefreie Halbgruppe ¨uber X. Man schreibt die Elemente (x1, . . . , xn)∈X+ einfach in der Form x1· · ·xn und die Multiplikation als Konkatenation x1· · ·xny1· · ·ym. Speziell f¨ur endliches X nennt man X ein Alphabet, die Elemente x∈X Buchstaben und die Elementew=x1· · ·xn ∈X+ W¨orter oder Strings ¨uber X. Adjungiert man zu (X+,·) ein leeres Wort als Einselement, so nennt man X = X+∪ {} das freie Monoid ¨uber X. Sowohl (X+,·) als auch (X,·) sind k¨urzbar. Genau die W¨orter u0 = ε, u1 = x1, u2 = x1x2, . . . , un−1 = x1· · ·xn−1 und un = w sind Pr¨afixe und die W¨orter v0 = w, v1 = x2· · ·xn, . . . , vn−1 = xn und vn = ε sind Postfixe von w. Ist w = x1. . . xn ein Wort, so bezeichnet w = xn. . . x1 das gespiegelte Wort zu w. Es gilt also u·v = v · u f¨ur alle u, v ∈ X. Unter einer formalen Sprache L (¨uber dem AlphabetX) versteht man eine beliebige Teilmenge vonX, also ein Element der Potenzmenge P(X). Insbesondere sind L1 =∅ und L2 = {ε} zwei verschiedene formale Sprachen ¨uber jedem Alphabet X.

F¨ur jedes a∈X definiert man die Abbildung `a :XN0 durch

`a(w) = `a(x1. . . xn) = |{i|xi =a}|f¨ur allew=x1. . . xn∈X. (14)

Weiterhin sei ` : XN0 durch `(w) = Pa∈X`a(w) f¨ur alle w ∈ X de- finiert. Man nennt `(w) die L¨ange von w. Schließlich sei f¨ur das Alphabet X ={a1, . . . , ak} die Parikh-Abbildung Ψ :XNk0 durch

Ψ(w) = (`a1(w), . . . , `ak(w)) (15)

festgelegt.

Bemerkung 1.12 a) Die Abbildung `a z¨ahlt die Anzahl des Vorkommens des Buchstabens a ∈ X im Wort w ∈ X. Sie ist, ebenso wie die Abbildungen

` und Ψ, ein Homomorphismus. F¨ur |X| = 1 stimmen alle diese Abbildungen

(8)

¨

uberein und definieren einen Isomorphismus von (X,·) auf (N0,+). Man kann daher (N0,+) als das (bis auf Isomorphie) eindeutig bestimmte freie Monoid ¨uber einem einelementigen Alphabet auffassen.

b) Betrachtet man die zur Parikh-Abbildung Ψ :XNk0 gem¨aß Bemerkung1.7 geh¨orende Kongruenz, so nennt man Worte u, v ∈ X mit Ψ(u) = Ψ(v) sym- bol¨aquivalent, denn u und v bestehen (bis auf die Reihenfolge) aus denselben Buchstaben. Man nennt dann Sprachen L1, L2 ⊆ X mit Ψ(L1) = Ψ(L2) eben- fallssymbol¨aquivalent.

c) Ist das Alphabet X = {a1, . . . , ak} total geordnet gem¨aßa1 < a2 < . . . < ak, so ist X und damit jede formale Sprache L ⊆ X total geordnet bez¨uglich der lexikographischen Ordnung x1. . . xn < y1. . . ym ⇐⇒n < m oder xi < yi f¨ur das kleinste i∈ {1, . . . , n} mit xi 6=yi.

Definition 1.13 Sind (Si,i)Halbgruppenf¨ur eine beliebige IndexmengeI 6=∅, dann wird auf dem kartesischen Produkt S= Πi∈ISi durch

(xi)·(yi) = (xiiyi) (16)

f¨ur alle (xi),(yi) ∈ S eine Multiplikation definiert. Man nennt (S,·) das direkte Produktder Halbgruppen (Si,i).

Bemerkung 1.14 Die in (16) definierte Multiplikation ist ersichtlich assoziativ, (S,·) also eine Halbgruppe. Besitzt jede Halbgruppe (Si,i) ein Einselementei, so iste= (ei) Einselement von (S,·). Sind alle (Si,i) kommutativ[idempotent, k¨urzbar], so gilt dasselbe f¨ur (S,·).

Definition 1.15 Sind A und B Teilmengen einer Halbgruppe (S,·) so versteht man unter demKomplexprodukt AB die Teilmenge

AB ={a·b|a∈A, b∈B}.

(17)

F¨ur A = B schreibt man auch A2 anstelle von AA, f¨ur einelementige Mengen A={a}bzw.B ={b}schreibt man auchaB anstelle von{a}B bzw.Abanstelle von A{b}.

(9)

Definition 1.16 Neben den mengentheoretischen Operationen Durchschnitt ∩, Vereinigung∪ und Komplement 0 existieren f¨urformale Sprachen K, L∈P(X) noch die zweistellige Operation der Konkatenation K·L =KL gem¨aß (17) und die einstellige ∗-Operation L =Sn∈N0Ln, wobei die Sprachen Ln rekursiv durch L0 = {ε} und Ln+1 = LLn definiert sind. Schließlich definiert man noch den Linksquotientenoder das Linksresiduum von L bez¨uglich K durch

K−1L={w∈X |Kw∩L6=∅}

(18)

und den Rechtsquotienten oder das Rechtsresiduum durch LK−1 ={w∈X |wK∩L6=∅}

(19)

Bemerkung 1.17 a) Die Operationen ∪ und ∩ sind sowohl kommutativ als auch idempotent, die Konkatenation ist nicht idempotent und nur f¨ur |X| = 1 kommutativ (vgl. Aufgabe1.71).

b) Die Komplementbildung ist involutorisch, d. h. es gilt (A0)0 = A f¨ur alle A ⊆X, die ∗-Operation ist nicht involutorisch. Außer f¨ur L =∅ und L ={ε}, was jeweils L ={ε} ergibt, ist L stets eine unendliche Sprache. Man definiert noch L+ = LL f¨ur jede formale Sprache L und hat L+ = L\ {ε}, falls ε 6∈ L gilt.

c) Die Quotientenbildung ist ersichtlich nicht kommutativ. F¨ur einelementige SprachenK ={x}schreibt man auchx−1Lstatt{x}−1LundLx−1 stattL{x}−1. Folgerung 1.18 IstX ein Alphabet, so gilt f¨ur die Potenzmenge P(X) und die entsprechenden Operationen:

a) (P(X),∪,∩) ist ein sowohl additiv als auch multiplikativ kommutativer und idempotenter Halbring. Es istX Einselement und ∅absorbierendes Nullelement dieses Halbringes.

b) (P(X),∪,·) ist ein additiv, aber nicht multiplikativ idempotenter Halbring.

W¨ahrend er auch stets additiv kommutativ ist, ist er f¨ur |X| > 1 nicht multi- plikativ kommutativ. Es ist {ε} Einselement und ∅ absorbierendes Nullelement dieses Halbringes.

Beispiel 1.19 Beispiele f¨ur Sprachen ¨uber dem Alphabet X ={a, b}:

a)L1 ={an|n ≥0}={a} ⊂X (vgl. Bemerkung 1.28 a) und Beispiel2.7 c)),

(10)

b)L2 ={a(2n)|n ≥1}(vgl. Beispiel 2.8),

c)L3 ={(ab)n|n ≥1}={ab}+, (vgl. Satz 1.26 (4)),

d)L4 ={anbm |n, m≥1}={a}+{b}+ (vgl. Satz 1.26 (4) und (2)), e)L5 ={anbn|n ≥1} ⊂L4 (vgl. Beweis zu Satz 2.38 und Beispiel 1.57), f) L6 ={anbam |n, m≥0}=L1{b}L1 (vgl. Bemerkung 1.28 a)),

g)L7 ={anban|n ≥0} ⊂L6 (vgl. Beispiel 2.29),

h)L8 ={anbnan |n≥1} (vgl. Beweis zu Satz 2.38 und Aufgabe 2.52), i)L9 =L5L5 (vgl. Beispiel2.33).

Definition 1.20 Es sei (S,+,·) ein additiv kommutativer Halbring mit einem absorbierenden Nullelement o und einem Einselement e. Weiterhin sei X ein Alphabet. Unter einerformalen Potenzreihe f ¨uber S in den Unbestimmten xi ∈ X versteht man dann eine Abbildungf :X →S mitf(w) =αw ∈S, die gem¨aß

f = X

w∈X

αww

geschrieben wird. Dabei heißtαw ∈S der Koeffizient vonf an der Stelle w∈X und supp(f) ={w∈Xw 6=o}derSupportoderTr¨agervonf. Ist der Tr¨ager von f endlich, so spricht man auch von einem Polynom f, f¨ur|supp(f)|= 1 von einem Monom. Gilt sogar supp(f)⊆ {ε}, so heißt das Polynom f konstant. Die Menge aller derartigen Potenzreihen wird mit S[[X]] bezeichnet, die Teilmenge aller Polynome mitS[X].

F¨ur Potenzreihenf =Pw∈Xαwwundg =Pw∈Xβwwdefiniert man die Summe f+g elementweise durch

f +g = X

w∈X

ww)w und das Produkt f g alsCauchyprodukt gem¨aß

f g= X

w∈X

X

uv=w

αuβv

!

w.

Bemerkung 1.21 a) Ist X = {x} einelementig und S = R ein Ring, dann ist R[x] =R[{x}] der gew¨ohnliche Polynomring ¨uberR und beispielsweiseR[[x]] der

(11)

aus der Analysis bekannte Ring der (formalen) Potenzreihen ¨uber den reellen Zahlen.

b) IstS =BderBoolesche Halbring, so kann man jedesf ∈B[[X]] als charakteri- stische Funktion einer Teilmenge vonX auffassen. Jede formale Potenzreihe ent- spricht dann umkehrbar eindeutig einerformalen Sprache und umgekehrt. Diese Identifikation er¨offnet einen ersten Zugang zu einer algebraischen Untersuchung formaler Sprachen. Im Hinblick auf den n¨achsten Satz entspricht der Halbring (B[[X]],+,·) n¨amlich genau dem Halbring (P(X),∪,·) aus Folgerung 1.18 b).

Satz 1.22 Es sei (S,+,·) ein additiv kommutativer Halbring mit einem absor- bierenden Nullelementound einemEinselemente. Weiterhin seiX ein Alphabet.

Dann bildet die Menge aller formalen Potenzreihen ¨uber S in den Unbestimmten aus X einen additiv kommutativen Halbring (S[[X]],+,·) mit absorbierendem Nullelement o und Einselement e. Er enth¨alt die Polynome als Unterhalbring und darin den Halbring (S,+,·) in Form der konstanten Polynome wiederum als Unterhalbring. Genau dann ist (S[[X]],+,·) (und damit (S[X],+,·)) additiv idempotent bzw. k¨urzbar, wenn dies auf (S,+,·) zutrifft.

1.2 Regul¨ are, rationale und erkennbare Sprachen

Definition 1.23 Es sei X ein Alphabet. Durch die folgenden Festlegungen werden regul¨are Ausdr¨ucke α und die ihnen zugeordneten regul¨aren Sprachen L(α)⊆X definiert.

(1) ∅ ist ein regul¨arer Ausdruck ¨uber X mit L(∅) = ∅.

(2) ε ist ein regul¨arer Ausdruck ¨uber X mit L(ε) ={ε}.

(3) F¨ur jedes x∈X ist xein regul¨arer Ausdruck ¨uber X mit L(x) ={x}.

(4) Sind α und β regul¨are Ausdr¨ucke ¨uber X, so auch α ∪β mit L(α∪β) = L(α)∪L(β) und αβ mit L(αβ) = L(α)L(β).

(5) Ist α regul¨arer Ausdruck ¨uberX, dann auch α mit L(α) =L(α).

Nur die nach (1) - (5) erzeugbaren Ausdr¨ucke bzw. formalen Sprachen sind re- gul¨ar.

Zwei regul¨are Ausdr¨uckeα und β mit L(α) =L(β) heißen ¨aquivalent.

(12)

Bemerkung 1.24 a) Zur Vereinfachung regul¨arer Ausdr¨ucke vereinbart man noch, daß die ∗-Operation h¨ochste Priorit¨at besitzt, danach kommt die Kon- katenation, zuletzt die Vereinigung.

b) Nach der obigen Definition sind beispielsweise die regul¨aren Ausdr¨ucke α = ((a∪ε)a) und β =a ¨uberX ={a}¨aquivalent. Die ihnen zugeordnete regul¨are Sprache ist L(α) ={a} =L1 aus Beispiel 1.19.

c) Es gibt Algorithmen, die f¨ur beliebige regul¨are Sprachen L1 und L2 ¨uber X und beliebigesx∈X entscheiden, ob gilt:

(1) x∈L1 (Wortproblem),

(2) L1 =∅(Leerheitsproblem) (vgl. Folgerung6.3), (3) |L1| endlich (Endlichkeitsproblem),

(4) L1∩L2 =∅(Durchschnittsproblem), (5) L1 =L2 (Aquivalenzproblem).¨

d) F¨ur jeden regul¨aren Ausdruckα¨uberXund jedesw∈Xist das Wortproblem w∈L(α) in O(`(α)`(w)) Schritten entscheidbar.

Definition 1.25 Sind f, g :N0CFunktionen, so schreibt man f(n) = O(g(n)),

wenn es ein c >0 und ein n0N0 gibt, so daß

|f(n)| ≤cg(n) f¨ur alle n≥n0 gilt.

Satz 1.26 Sind L1 und L2 regul¨are Sprachen ¨uber X, dann sind auch die fol- genden Sprachen regul¨ar:

(1) L1∪L2, (2) L1L2, (3) L1,

(4) L+1 =L1L1,

(13)

(5) L01 =X\L1, (6) L1∩L2, (7) L1\L2,

(8) L1 (vgl. Aufgabe 1.70).

Beweisidee:(1) - (4) folgen unmittelbar aus Definition1.23. (5) l¨aßt sich mit Hil- fe erkennender Monoide f¨ur regul¨are Sprachen beweisen (vgl. Bemerkung1.28 b, Satz1.34 und Folgerung1.31 a)). (6) folgt dann aus (1) und (5) mit den DeMor- ganschen Regeln. (7) folgt aus (5) und (6) wegen L1 \L2 = L1 ∩(X\L2). (8) folgt aus Aufgabe1.70.

Wegen dieser Abgeschlossenheit gegen¨uber den “einfachen” Rechenoperationen hat man auch eine andere Bezeichnungsweise f¨ur regul¨are Sprachen.

Definition 1.27 Es sei X ein Alphabet. Die Menge Rat(X) aller rationalen Sprachen von X ist die kleinste Teilmenge von P(X), die alle einelementigen Sprachen {x} f¨ur x∈ X enth¨alt und die abgeschlossen ist gegen¨uber endlichen Vereinigungen, Produkten und der∗-Operation.

Bemerkung 1.28 a) F¨ur X = {a, b} liegen jedenfalls die Sprachen L1 = {a} und L6 =L1{b}L1 aus Beispiel1.19 in Rat(X).

b) Jede endliche Sprache ist als endliche Vereinigung von einelementigen Spra- chen rational. Also gilt auchX ∈Rat(X) und damitX ∈Rat(X). Schließlich betrachtet man auch die leere Sprache ∅, die man als “leere” (endliche) Vereini- gung auffaßt, als zuRat(X) geh¨orig. Daher sind die rationalen Sprachen genau die regul¨aren Sprachen gem¨aß Definition 1.23.

b) (Rat(X),∪,·) ist der kleinste Unterhalbring von (P(X),∪,·) (oder wegen Bemerkung 1.21 b) von (B[[X]],+,·)), der die einelementigen Sprachen (oder der (B[X],+,·)) enth¨alt und der abgeschlossen gegen¨uber der ∗-Operation ist.

Dies er¨offnet einen algebraischen Zugang zu dieser Sprachklasse. Einen andereren algebraischen Zugang zu einer auf den ersten Blick anderen Sprachklasse (vgl.

aber Satz1.34), liefern die folgenden Definitionen.

Definition 1.29 Es seien X einAlphabet,L⊆X und (M,·) einMonoid. Man sagt (M,·) erkennt L, wenn es einen Homomorphismus ϕ : X → M und eine Menge P ⊆ M gibt, so daß L = ϕ−1(P) gilt. Die Sprache L heißt erkennbar, wenn es ein endliches Monoid gibt, dasLerkennt. MitRec(X) werde die Menge aller erkennbaren Sprachen aus X bezeichnet.

(14)

Bemerkung 1.30 a) Jede Sprache L ⊆ X wird durch das Monoid (X,·) er- kannt, man muß nur ϕ als identische Abbildung und P = L w¨ahlen. Bei der Erkennbarkeit einer Sprache spielt also die Endlichkeit des Monoids die entschei- dende Rolle.

b) Da ersichtlichXhomomorph auf das einelementige Monoid ({1},·) abgebildet werden kann, gilt jedenfallsX ∈Rec(X) (f¨urP = {1}) und ∅ ∈Rec(X) (f¨ur P =∅), also insbesondere Rec(X)6=∅.

Folgerung 1.31 Es seien X ein Alphabet und L⊆X.

a) Erkennt ein Monoid (M,·) die Sprache L, dann erkennt (M,·) auch X \L.

Die Menge Rec(X) ist also abgeschlossen gegen¨uber der Komplementbildung.

b) Erkennt ein Monoid(M,·)die SpracheLund istK ⊆X eine weitere Sprache, dann erkennt (M,·) auch K−1L und LK−1.

Folgerung 1.32 Sind L1 und L2 Sprachen ¨uber dem Alphabet X, die von den Monoiden M1 bzw. M2 erkannt werden, dann werden die Sprachen L1∪L2 und L1∩L2 von dem MonoidM1×M2 erkannt. Insbesondere ist Rec(X)auch abge- schlossen gegen¨uber endlichen Vereinigungen und Durchschnitten, also eine Boo- lesche Algebra.

Folgerung 1.33 Es seien X und Y Alphabete und ψ :X →Y ein Homomor- phismus. Wird die Sprache L⊆Y durch das Monoid M erkannt, dann erkennt M auch ψ−1(L)⊆X.

Der folgende Satz geht auf S. C. Kleene in seinem Artikel “Representation of events in nerve nets and finite automata”, C. E. Shannon, J. McCarthy (Hrsg.), Automata Studies, Princeton University Press, Princeton 1959, zur¨uck.

Satz 1.34 (S. C. Kleene)F¨ur jedes Alphabet X gilt Rec(X) =Rat(X).

1.3 Automaten

Die Theorie formaler Sprachen h¨angt eng mit der Theorie der Automaten zusam- men, wie bereits in den folgenden ¨Uberlegungen deutlich wird.

(15)

Definition 1.35 Unter einem(endlichen) Automatenversteht man im allgemei- nen ein 5-Tupel

A= (Q, X, δ, Qs, Qf),

bestehend aus einer (endlichen) Menge Q von Zust¨anden, einer nichtleeren Teil- menge Qs ⊆ Q von Startzust¨anden, einer (m¨oglicherweise leeren) Teilmenge Qf ⊆ Q von Endzust¨anden, einem endlichen Eingabealphabet X mit X∩Q =∅ und einerUbergangsrelation¨ δ⊆Q×(X∪ {ε})×Q, wobeiε das leere Wort ¨uber X bezeichnet.

Bemerkung 1.36 Je nach zus¨atzlichen Bedingungen an die einzelnen Kompo- nenten des Automaten unterscheidet man verschiedene Automatenklassen. Gilt etwa |Qs| = 1, so spricht man von initialen Automaten, bei |Qs| = k > 1 von k-Eingangsautomaten. Existiert wenigstens ein Tripel (q, ε, q0)∈δ mit q6=q0, so nennt manA einenε-Automaten, gilt |{(q, x, q0)∈δ}| ≤1 f¨ur alle (q, x)∈Q×X und istA kein ε-Automat, so heißt A ein deterministischer Automatusw. In der folgenden alternativen Definition dieser einfachsten Klasse von Automaten sind die Angaben ¨uber Start- und Endzust¨ande zun¨achst noch weggelassen.

Definition 1.37 Ein deterministischer (endlicher) Automat A = (Q, X,·) be- steht aus einer (endlichen) Menge Q von Zust¨anden, einem Alphabet X und einer Operatoranwendung · : Q×X → Q, die f¨ur jeden Buchstaben x ∈ X zu jedem Zustand q ∈ Q den Folgezustand q ·x ∈ Q festlegt. Man erweitert die Operatoranwendung vonQ×X auf Q×X, indem man f¨ur alle q ∈Q, w ∈X und x∈X definiert: q·ε=q und q·(wx) = (q·w)·x.

Bemerkung 1.38 a) Jedes Wort w ∈ X vermittelt also eine Transformation tw : Q → Q der Menge der Zust¨ande des Automaten in sich. Die Menge al- ler derartigen Transformationen bildet offensichtlich ein UntermonoidM(A) des vollen TransformationsmonoidsTQ. Dieses Monoid wird auchTransitionsmonoid des Automaten genannt. Man kann einen Automaten daher durch eine Tabelle der Transformationentx f¨urx∈X beschreiben.

b) Auch durch einen Graphen l¨aßt sich ein AutomatA = (Q, X,·) beschreiben: Zu jedem Zustandq ∈Qgeh¨ort ein Knoten des Graphen, und eine gerichtete Kante f¨uhrt genau dann von einem Knoten q zu einem Knoten q0, wenn ein x∈X mit q·x=q0 existiert. Man markiert diese Kante dann mit dem Buchstaben x.

Beispiel 1.39 Der (endliche deterministische) Automat A = (Q, X,·) sei gege- ben durch Q={1,2,3}, X ={a, b} und die Operatoranwendung

1·a= 2,1·b= 2·b= 1,2·a= 3·a= 3·b = 3.

(16)

Die zugeh¨orige Automatentafel ist dann

· 1 2 3 ta 2 3 3 tb 1 1 3 Das vollst¨andigeTransitionsmonoid ergibt sich zu

· 1 2 3 tε 1 2 3 ta 2 3 3 tb 1 1 3 taa 3 3 3 tab 1 3 3 tba 2 2 3 Der zugeh¨orige Graph ist

2 3

1

b a b

a

a

b

Definition 1.40 Es seien L ⊆ X eine Sprache und A = (Q, X,·) ein Auto- mat. Man sagt, daß L von A erkannt wird, wenn es einen Zustand q0 ∈ Q, den Anfangszustand, und eine Menge F ⊆ Q von Endzust¨anden gibt, so daß w ∈ L genau dann gilt, wenn q0 ·w∈F gilt.

Beispiel 1.41 Ist A = (Q, X,·) der Automat aus Beispiel 1.39 und q1 der An- fangszustand, so wird f¨ur F ={q1} die Sprache L1 ={b}{a{b}+} erkannt, f¨ur F ={q2}die SpracheL2 =L1{a}und f¨urF ={q3}die SpracheL3 =X{aa}X. Bemerkung 1.42 a) Die Betrachtung “unendlicher” Automaten zur Erkennung von Sprachen macht zun¨achst wenig Sinn, wie die folgende ¨Uberlegung zeigt. Es sei L ⊆ X eine beliebige Sprache ¨uber dem (endlichen) Alphabet X. Definiere den deterministischen Automaten A = (Q, X,·) mit der abz¨ahlbar unendlichen Zustandsmenge Q = X und der Operatoranwendung · : X ×X → X als

(17)

Konkatenation gem¨aßu·v =uv. F¨ur den Anfangszustand q0 =ε und die Menge F =Lvon Endzust¨anden wird dann genau die SpracheLerkannt. Schr¨ankt man jedoch derartige unendliche Automaten durch die Forderung ein, daß das von ihnen gem¨aß Bemerkung 1.38 a) gebildete Transitionsmonoid M(A) endlich sein muß, so gibt es zu jedem derartigen eingeschr¨ankten Automaten mit unendlich vielen Zust¨anden einen Automaten mit endlich vielen Zust¨anden, der dieselbe Sprache erkennt (vgl. Bemerkung1.45). Offensichtlich ist das Transitionsmonoid endlich, wenn schon die Zustandsmenge endlich ist

b) Oft werden endliche Automaten auch endliche (deterministische) Akzeptoren genannt und in der Form

A= (Q, X,·, q0, F)

mit den Bedeutungen aus Definition1.40) definiert. Sie “akzeptieren” dann genau die Wortew∈X, f¨ur dieq0w∈F gilt. Manche Autoren nennenA = (Q, X,·, q0) dann auch einen initialen endlichen Automaten.

c) Ist A = (Q, X,·) einAutomat, der mit dem Anfangszustand q0 ∈Q und den Endzust¨anden F ⊆Q die Sprache L⊆X erkennt, so erkennt A mit demselben Anfangszustand und der MengeQ\F offensichtlich die SpracheX\L.

Satz 1.43 Wird eineSprache Lvon einem AutomatenA= (Q, X,·)erkannt, so wird sie auch von demTransitionsmonoidM(A)erkannt. Eine Sprache ist genau dann erkennbar, wenn sie von einem endlichen Automaten erkannt wird.

Definition 1.44 Ist A= (Q, X,·) ein Automat und q0 ∈Q ein ausgezeichneter Anfangszustand, so heißt ein Zustandq ∈Qerreichbar, wenn es ein w∈X mit q=tw(q0) gibt. Der AutomatA heißt vereinfacht(bez¨uglich des Anfangszustan- desq0), wenn alle Zust¨ande erreichbar sind. Ist weiterhinF ⊆Qeine ausgezeich- nete Menge von Endzust¨anden, so heißen zwei Zust¨ande q, q0 ∈Q ¨aquivalent, in Zeichenq ∼q0, wenn f¨ur alle w∈X gilt q·w∈F ⇐⇒q0·w∈F. Der Automat A= (Q, X,·) mit Startzustandq0 und Endzust¨andenF heißtreduziert, wenn alle Zust¨ande erreichbar sind und wenn aus q∼q0 stets q=q0 folgt.

Bemerkung 1.45 a) Man kann offensichtlich durch den folgenden Algorithmus alle von einem beliebigen Anfangszustandq0 aus erreichbaren Zust¨ande ermitteln, indem man zun¨achst q0 markiert und dann jeweils iterativ diejenigen Zust¨ande q0 markiert, f¨ur dieq0 =q·x mit einem bereits markierten Zustandq und einem x∈X gilt. Die Iteration kann abgebrochen werden, sobald keine Zust¨ande mehr neu markiert werden k¨onnen. Ist das Transitionsmonoid endlich, so tritt dieser Fall auch mit Sicherheit ein und es sind nur endlich viele Zust¨ande von q0 aus erreichbar.

(18)

b) Offenbar k¨onnen unerreichbare Zust¨ande aus der Zustandsmenge eines Au- tomaten A entfernt werden, ohne daß, bei gleichem Startzustand, die erkannte Sprachege¨andert wird.

c) Die Relation∼ ist eine ¨Aquivalenzrelation auf der Menge der Zust¨ande eines endlichen Automaten.

Beispiel 1.46 Der Automat A = (Q, X,·) sei gegeben durch Q = {1,2}, X = {a} und die Operatoranwendung

1·a= 2·a = 2.

F¨ur q0 = 1 sind alle Zust¨ande erreichbar, f¨ur q0 = 2 ist nur der Zustand 2 erreichbar.

Istq0 = 1 Anfangszustand, so sind f¨urF ={1,2}oder f¨urF =∅beide Zust¨ande

¨aquivalent, f¨ur F = {1} oder f¨ur F = {2} beide Zust¨ande in¨aquivalent. Die erkannten Sprachen sind der Reihe nach X, ∅, {ε} und X+. Im ersten und zweiten Fall kann man A zu dem Automaten A0 = ({1},{a},) mit 1a = 1 reduzieren (vgl. Satz1.47).

Satz 1.47 Ist A= (Q, X,·) ein Automat, der mit dem Startzustand q0 ∈Q und den Endzust¨andenF die Sprache Lerkennt, dann gibt es einen reduziertenAuto- matenA0 = (Q0, X,), der mit dem Startzustand q00 ∈Q0 und den Endzust¨anden F0 ⊆Q0 ebenfalls L erkennt.

Definition 1.48 Es seien A = (Q, X,·) und A0 = (Q0, X,) zwei Automaten.

Man nennt A0 ein homomorphes Bild von A, wenn es eine surjektive Abbildung ϕ : Q → Q0 gibt, die mit den Operatoranwendungen in der folgenden Weise vertr¨aglich ist.

ϕ(q·x) = ϕ(q)x f¨ur alle x∈X.

(20)

Ist ϕ sogar bijektiv, dann heißen die beiden Automaten isomorph zueinander.

Sind f¨ur die beiden Automaten noch Startzust¨ande q0 ∈ Q und q00 ∈ Q0 und Endzust¨ande F ⊆QsowieF0 ⊆Q0 spezifiziert, so verlangt man ¨uber (20) hinaus noch

ϕ(q0) = q00 und (21)

q ∈F ⇐⇒ ϕ(q)∈F0. (22)

(19)

Bemerkung 1.49 a) Sind A = (Q, X,·) und A0 = (Q0, X,) wie in Defini- tion 1.48 mit den jeweils spezifizierten Start- bzw. Endzust¨anden, so erkennen beide Automaten dieselbe Sprache.

b) Sind A = (Q, X,·) und A0 = (Q0, X,) Automaten wie in Satz 1.47, so ist A0 homomorphes Bild von A. In diesem Sinne ist A0 minimaler Automat, der L erkennt. Der Homomorphismus ϕ ist durch die Forderung ϕ(q0) = q00 eindeutig bestimmt.

c) Es gibt Algorithmen, die zu einem gegebenen Automaten den eindeutig be- stimmten reduzierten Automaten berechnen.

Mit dem folgenden Algorithmus wird zu einer gegebenen Sprache L ⊆ X ein (Minimal-)automat A = (Q, X,·) konstruiert, der (bei geeignetem Anfangszu- stand und geeigneten Endzust¨anden) L erkennt.

Zuerst werden die Zust¨ande berechnet. Diese sind Teilmengen von X. 1. Beginne mitQ={q=L} (als sp¨aterem Startzustand).

2. F¨ur alle x ∈ X und alle (neu hinzugekommenen) Zust¨ande q ∈ Q berechne q0 =x−1q⊆X.

3. Alle noch nicht inQ vorhandenenq0 nehme neu in Q auf.

4. Falls keine neuen Zust¨ande hinzugenommen wurden, ist Q die endg¨ultige Zu- standsmenge, sonst mache weiter bei 2.

Die Operatoranwendung wird nun folgendermaßen festgelegt: F¨ur x ∈ X und q=A∈Qsetze q·x=A·x=x−1A=q0.

Es gilt also Q={w−1L|w∈X} und

(w−1L)·x=x−1(w−1L) = (wx)−1Lf¨ur allex∈X.

Die Endzust¨ande zur Erkennung von L sind F ={w−1L|w∈L}.

Beispiel 1.50 Bestimmung des Minimalautomaten f¨urL =XaaX uber¨ X = {a, b}.

1. Setzeq1 =L.

2. Berechnea−1L=L∪aX =q2 und b−1L=L=q1. 3. Bestimme neuQ={q1, q2}.

(20)

4. Mache weiter bei 2.

2. Berechne a−1(L∪aX) = a−1L∪a−1(aX) = L∪aX∪X =X = q3 und b−1(L∪aX) =b−1L∪b−1(aX) = L∪ ∅=L=q1.

3. Bestimme neuQ={q1, q2, q3}.

4. Mache weiter bei 2.

2. Berechnea−1X =X =q3 und b−1X =X =q3. 3.Q ¨andert sich nicht mehr.

Es ergibt sich (bis auf die andere Bezeichnung der Zust¨ande) der Automat aus Beispiel 1.39.

1.4 Syntaktische Monoide

Satz 1.51 Es sei L⊆X eine Sprache. Die durch

u∼Lv ⇐⇒ (xuy∈L⇔xvy∈L)

f¨ur alle u, v, x, y ∈X definierte Relation ist eine Kongruenzrelation auf (X,·).

Es ist L eine Vereinigung von Kongruenzklassen, n¨amlich L=Sx∈L[x]L. Definition 1.52 Die Relation ∼L heißt syntaktische Kongruenz von L und das Restklassenmonoid M(L) = X/∼L heißt syntaktisches Monoid von L.

Bemerkung 1.53 a) Die Nerode-Relation (Anil Nerode, 1932 - ) wird als

“rechtsseitige” Version der syntaktischen Kongruenz definiert gem¨aß u∼r v ⇐⇒ (uy∈L⇔vy∈L)

f¨ur alle u, v, y ∈ X. Sie ist zwar auch eine ¨Aquivalenzrelation, aber nur noch eine Rechtskongruenz. Das Beispiel der regul¨aren Sprache L=bX∪abX ¨uber dem AlphabetX ={a, b}mitb ∼r ab, aberab6∼r aabzeigt, daß es sich nicht um eine Linkskongruenz handeln muß. Daher wird (X/∼r,·) durch die repr¨asentan- tenweise Multiplikation der Klassen kein Monoid.

Die syntaktische Kongruenz erf¨ullt nun ∼L⊆∼r, d. h. die Klassen von ∼r sind gr¨oßer als die Klassen von ∼L, es gibt also i. a. weniger von ihnen.

b) Da das syntaktische Monoid f¨ur jede formale Sprache existiert, kann man mit Hilfe geeigneter Klassen von Monoiden auch neue Klassen formaler Sprachen definieren, z. B. die Klasse aller Sprachen L ⊆ X, f¨ur die M(L) kommutativ (idempotent etc.) ist.

(21)

Definition 1.54 Eine Halbgruppe (S,·) teilt die Halbgruppe (T,·), in Zeichen:

S < T, wenn es eine Unterhalbgruppe (T0,·) von (T,·) und einen surjektiven Homomorphismusϕ:T0 →S gibt.

Satz 1.55 Es seien L⊆X eine Sprache und M, N Monoide. Dann gelten (1) M erkennt L genau dann, wenn M(L)< M gilt.

(2) WennLvonM erkannt wird undM < N gilt, so wirdLauch von N erkannt.

Bemerkung 1.56 Eine Sprache L ⊆ X ist also genau dann erkennbar, wenn es eine Kongruenz ∼ auf (X,·) und endlich viele W¨orter w1, . . . , wn ∈X gibt, so daß X/∼ endlich ist und L = [w1]∪. . .∪[wn] gilt. In diesem Fall ist die syntaktische Kongruenz∼L eine derartige Kongruenz.

F¨ur eine (durch einen Automaten) erkennbare Sprache ist das syntaktische Mo- noid isomorph zum Transitionsmonoid des Automaten.

Beispiel 1.57 Die Sprache L={anbn|n ∈N0} ¨uber dem Alphabet X ={a, b}

ist nicht erkennbar, denn das syntaktische Monoid (X/∼L,·) ist nicht endlich.

Sind n¨amlich n, m ∈ N mit k 6= m, so w¨urde aus akL am auch a(ak)bk+1L a(am)bk+1 folgen, da ∼L eine Kongruenzrelation ist. Es ist aber ak+1bk+1 ∈ L, w¨ahrend am+1bk+1 6∈ L gilt, da die beiden Exponenten verschieden sind. Daher giltak 6∼Lam und je zwei derartige Elemente liegen in verschiedenen Klassen von (X/∼L,·). Also ist dieses Monoid nicht endlich.

Folgerung 1.58 Es seien L, L1, L2 ⊆ X erkennbare Sprachen und K ⊆ X eine beliebige Sprache. Dann gilt f¨ur die syntaktischen Monoide

(1) M(X\L)∼=M(L),

(2) M(L1∩L2)< M(L1)×M(L2), (3) M(L1∪L2)< M(L1)×M(L2),

(4) M(K−1L)< M(L) und M(LK−1)< M(L),

(5) M(ϕ−1(L))< M(L) f¨ur jedenHomomorphismus ϕ:Y →X.

(22)

1.5 Aufgaben

Aufgabe 1.59 Ein Einselement eines Monoids ist eindeutig bestimmt. Daher gilt dasselbe f¨ur das Nullelement eines Halbringes. Ein Elemente∈S einer Halb- gruppe (S,·) ist genau dann ein Einselement, wenn es idempotentund k¨urzbarin (S,·) ist. Daher besteht eine idempotente und gleichzeitig k¨urzbare Halbgruppe aus genau einem Element.

Aufgabe 1.60 In jedem Monoid(S,·) bildet die Menge U(S) der Einheiten eine Untergruppe.

Aufgabe 1.61 Ein Wort w ∈ X heißt ein Palindrom, wenn w = w gilt. Die formale Sprache L⊆ X sei durch L= {ww|w ∈X} definiert. Beweisen oder widerlegen Sie: Lbesteht genau aus den Palindromen.

Aufgabe 1.62 Es sei L0 ⊆ L Teilmenge einer regul¨aren Sprache ¨uber einem beliebigen Alphabet X. Beweisen oder widerlegen Sie die folgende Behauptung.

AuchL0 ist eine regul¨are Sprache.

Aufgabe 1.63 Uber dem Alphabet¨ X ={a, b, c} seien die beiden Sprachen L1 ={ambncn |m, n∈N0} und L2 ={ambmcn|m, n∈N0}

gegeben. Bestimmen Sie die SprachenL1∩L2 und L1·L2,

Aufgabe 1.64 Die formale Sprache L ¨uber dem Alphabet X = {a, b} bestehe aus allen W¨ortern w, in denen s¨amtliche Buchstaben a vor allen Buchstaben b auftreten. Geben Sie eine formale Beschreibung f¨urL an. Ist L regul¨ar?

Aufgabe 1.65 Die formale Sprache L ¨uber dem Alphabet X = {a, b} bestehe aus allen W¨orternw, in denen der drittletzte Buchstabe eina ist. Geben Sie eine formale Beschreibung f¨urL an. Ist L regul¨ar?

Aufgabe 1.66 Uber dem Alphabet¨ X ={a, b}sind die folgenden formalen Spra- chen gegeben:

L1 bestehe aus allen W¨orternw mit `a(w)≥`b(w) + 1,

L2 bestehe aus allen W¨orternw, in denen auf jedes b unmittelbar ein a folgt, L3 bestehe aus allen W¨orternw, die mit abbeginnen und `a(w)≥3 erf¨ullen.

Entscheiden Sie jeweils, ob Li regul¨ar ist.

(23)

Aufgabe 1.67 Ist die Sprache L = {ambn | n, m ∈ N, n+m ∈ 2N} uber dem¨ Alphabet X ={a, b} regul¨ar?

Aufgabe 1.68 Uber dem Alphabet¨ X ={0,1}sind die folgenden formalen Spra- chen gegeben:

L1bestehe aus allen W¨orternw, von denen kein Pr¨afix den Buchstaben 0 enth¨alt, L2 bestehe aus allen W¨ortern w, von denen kein Pr¨afix mit dem Buchstaben 0 beginnt,

L3 bestehe aus allen W¨ortern w, von denen jeder Pr¨afix mit dem Buchstaben 0 beginnt.

Geben Sie jeweils eine formale Beschreibung von Li an und entscheiden Sie, ob Li regul¨ar ist.

Aufgabe 1.69 Untersuchen Sie die Sprachen aus Beispiel 1.19 auf Symbol¨aqui- valenz.

Aufgabe 1.70 Zu jedemregul¨aren Ausdruckα¨uberXgebe man einen regul¨aren Ausdruckα an mit L(α) ={w|w∈L(α)}.

Aufgabe 1.71 F¨ur alle W¨orter x, y ∈ X+ sind folgende Bedingungen gleich- wertig:

a)xy=yx,

b) es gibt n, m >0 mit xm =yn,

c) es gibt einz ∈X+ und k, l >0 mit x=zk, y =zl.

Aufgabe 1.72 Es sei X ein Alphabet. F¨ur a ∈ X, v, w ∈ X und K, L ⊆ X gelten:

a)w−1(K∪L) =w−1K ∪w−1L, b)w−1(K\L) =w−1K \w−1L, c)w−1(K∩L) =w−1K ∩w−1L,

d) a−1(KL) = (a−1K)L, falls ε /∈ K, und a−1(KL) = (a−1K)L∪ a−1L, falls ε∈K.

e)a−1L = (a−1L)L, f) v−1(w−1L) = (wv)−1L.

(24)

Aufgabe 1.73 Zu den folgenden SprachenL ¨uber dem jeweils angegebenenAl- phabet X ist der Minimalautomat zu bestimmen.

a)X ={a, b}, L={ab}.

b)X ={a, b}, L=Xa.

c)X ={a, b}, L=XabX. d)X ={a, b, c},L=XabX. e)X ={a, b}, L={ab}.

Aufgabe 1.74 Es sei (S,·) eine Halbgruppe und L⊆S. Die durch u∼L v ⇐⇒ (xuy∈L⇔xvy ∈L)

f¨ur alle u, v, x, y ∈ S definierte Relation ist eine Kongruenzrelation auf (S,·).

Handelt es sich bei (S,·) um ein Monoid, so ist L eine Vereinigung von Kongru- enzklassen, n¨amlich L=Sx∈L[x]L.

Aufgabe 1.75 Zeigen Sie, daß die Teilbarkeitsrelationf¨ur Halbgruppen reflexiv und transitiv ist.

Aufgabe 1.76 Beweisen Sie die Behauptungen aus Bemerkung 1.56.

Aufgabe 1.77 Der deterministische Automat A = ({1,2,3,4,5,6},{a, b},·) sei durch die Automatentafel gem¨aß

· 1 2 3 4 5 6 ta 2 3 4 6 6 4 tb 5 5 4 2 5 2

gegeben. Als Startzustand sei 1 festgelegt, die Menge der Endzust¨ande sei F = {1,4,6}. Ermitteln Sie den zugeh¨origen reduzierten AutomatenA0 und geben Sie dessen Graphen an.

Aufgabe 1.78 Der deterministische Automat A = ({1,2,3,4,5,6},{0,1},·) sei durch die Automatentafel gem¨aß

· 1 2 3 4 5 6 t0 2 2 6 5 2 6 t1 4 3 1 4 3 6

gegeben. Als Startzustand sei 1 festgelegt, die Menge der Endzust¨ande sei F = {6}. Ermitteln Sie den zugeh¨origen reduzierten Automaten A0 und geben Sie dessen Graphen an.

(25)

Aufgabe 1.79 Zeigen Sie, daß die in Bemerkung 1.53 a) definierte Nerode- Relation∼r eine Rechtskongruenz ist, die∼L umfaßt.

Aufgabe 1.80 Es sei A = (Q, X,·) ein deterministischer Automat und q0 ∈Q.

Zeigen Sie, daß durch

u∼q0 v ⇐⇒ q0·u=q0·v

f¨ur alle u, v ∈ X eine Rechtskongruenz auf dem freien Monoid (X,·) definiert ist.

Aufgabe 1.81 Geben Sie einen endlichen deterministischen Automaten an, der die folgende Sprache akzeptiert

L={w∈ {a, b} |`a(w)≥3}.

Aufgabe 1.82 Jemand argumentiert wie folgt:

1. F¨ur jede formale Sprache L ⊆ X sind L = L∪ {ε} und ε ∈ L gleichwertig.

Dies gilt insbesondere f¨ur jede regul¨are Sprache.

2. Ist L ⊆ X eine Sprache, die von dem endlichen deterministischen Automa- ten A = (Q, X,·, q0, F) mit dem Anfangszustand q0 und den Endzust¨anden F erkannt wird, d. h. giltL=L(A), so istε ∈L gleichwertig zu q0 ∈F.

3. Ist A = (Q, X,·, q0, F) ein beliebiger endlicher deterministischer Automat, der mit dem Anfangszustand q0 und den Endzust¨anden F die regul¨are Sprache L=L(A) erkennt, so wird durch A0 = (Q, X,·, q0, F ∪ {q0}) ein endlicher deter- ministischer Automat definiert, der die SpracheL(A0) = L∪ {ε} erkennt.

Ist diese Argumentationskette korrekt?

Aufgabe 1.83 Es sei A = (Q, X,·, q0, F) ein endlicher deterministischer Auto- mat, der die Sprache L = L(A) erkennt. Zur Erkennung der Sprache L+ wer- de durch die folgende “R¨uckkopplung” der (nichtdeterministische!) ε-Automat A0 = (Q, X, δ, q0, F) konstruiert mit

δ ={(q, x, q0)|q, q0 ∈Q, x∈X mit q·x=q0} ∪ {(q, ε, q0)|q ∈F}.

Wie kann man A0 so ab¨andern, daß er keine ε- ¨Uberg¨ange mehr enth¨alt?

(26)

2 Regelgrammatiken und Regelsprachen

Im Jahr 1914 f¨uhrte der norwegische Mathematiker Axel Thue (1863 - 1922) die heute nach ihm benannten Systeme zur Manipulation von Zeichenketten ¨uber ei- nem beliebigen Alphabet ein. Dabei ging es ihm vor allem um die Untersuchung von Wortproblemen. Hierauf aufbauend f¨uhrte dann der Linguist Noam Chomsky in den Jahren 1959 - 1963 eine ganze Hierarchie solcher Systeme ein, die heute Regelgrammatiken verschiedenen Typs genannt werden. Chomsky wollte mit ih- nen die Grammatiken nat¨urlicher Sprachen formalisieren und n¨aher untersuchen.

Definition 2.1 Ein Produktionssystem oder Semi-Thue-System P = (X, R) be- steht aus einemAlphabetXund einer nichtleeren, endlichen MengeR ⊂X×X vonProduktionsregeln. Die Elemente (u, v)∈Rnennt man auch definierende Re- lationen und schreibt sie in der Form u → v. Das Produktionssystem heißt ein Thue-System, wenn die Relation R symmetrisch ist, wenn also mit u → v stets auchv →u gilt.

Definition 2.2 Es seiP = (X, R) ein Produktionssystem. F¨urW¨orterx, y ∈X definiert man die Relation x → y, wenn es W¨orter z1, z2 ∈ X und eine Regel u → v aus R gibt, so daß x = z1uz2 und y = z1vz2 gelten. Weiterhin soll die Relationx→ y genau dann gelten, wenn es endlich viele W¨orter w0, w1, . . . , wn (n ≥1) ausXmitx=w0, wn=yundwi−1 →wif¨uri= 1, . . . , ngibt. Man sagt dann,ysei ausxdurchP innSchritten ableitbaroderxsei iny¨uberf¨uhrbar. Eine derartige Ableitung heißt minimal, wenn die W¨orter wi paarweise verschieden sind.

Bemerkung 2.3 a) Die Ableitbarkeitsrelation→ aufX ist ersichtlich reflexiv und transitiv und es gilt f¨ur allex, y, u, v ∈X

x→ y, u → v =⇒xu→ yv.

(23)

b) F¨ur ein Thue-System ist → auch symmetrisch und wegen (23) daher eine Kongruenzrelationauf demMonoid(X,·). Also existiert dasRestklassenmonoid X/→.

c) Unter dem Wortproblem f¨ur ein Semi-Thue-System P versteht man das Pro- blem, einen Algorithmus zu finden, der f¨ur beliebige W¨orterx, y ∈X in endlich vielen Schritten entscheidet, ob x→ ygilt oder nicht. Das allgemeine Wortpro- blem f¨ur Semi-Thue-Systemeist die Frage nach einem Algorithmus, der f¨ur jedes Semi-Thue-System diese Entscheidung in endlich vielen Schritten findet.

(27)

d) F¨ur Thue-Systeme l¨auft das Wortproblem darauf hinaus zu entscheiden, ob f¨ur zwei beliebige W¨orter x, y ∈ X in dem Restklassenmonoid X/→ bereits [x] = [y] gilt.

e) Man kann zeigen, daß das allgemeine Wortproblem sowohl f¨ur Semi-Thue- Systeme als auch f¨ur Thue-Systeme unl¨osbar ist. Weiterhin kann man sogar konkrete Semi-Thue-Systeme und Thue-Systeme angeben, f¨ur die das jeweili- ge Wortproblem unl¨osbar ist. Einen Beweis findet man etwa in Hans Hermes, Aufz¨ahlbarkeit, Entscheidbarkeit, Berechenbarkeit, Springer-Verlag, Berlin 1971.

Dort finden sich auch Literaturangaben zu zahlreichen Originalarbeiten aus die- sem Problemkreis.

Beispiel 2.4 Es seiP = (X, R) dasProduktionssystem mit demAlphabet X = {S, L, K, W, B, a, b}und der RegelmengeR, die aus den folgenden Regeln besteht.

S → LaK

(24)

aK → W bbK (25)

aW → W bb (26)

LW b → LaB (27)

LW b → aB (28)

Bb → aB (29)

BK → K

(30)

BK → ε

(31)

Die Regeln (27) und (28) zeigen, daß ein Regelsystem im allgemeinen nichtde- terministisch sein kann. In dem obigen Regelsystem gelten die folgenden beiden Ableitungen

S → LaK →LW bbK (32)

→ aBbK →aaBK →aa (33)

S → LaK →LW bbK (34)

→ LaBbK →LaaBK →LaaK (35)

→ LaW bbK →LW bbbbK →aBbbbK →aaBbbK (36)

→ aaaBbK →aaaaBK →aaaa, (37)

(28)

wobei jede Ableitung mit dem Wort S beginnt und das jeweils letzte Wort der Ableitung stets aus der Menge {a} stammt (vgl. die n¨achste Definition). Es kann also auch W¨orter geben, f¨ur die Alternativen bei der weiteren Ableitung bestehen. Diese Alternativen k¨onnen wieder zum selben Wort f¨uhren oder, wie hier, zu verschiedenen W¨ortern.

Um Regelsysteme etwas kompakter schreiben zu k¨onnen, faßt man alternative Regeln mit denselben linken Seiten auch zu einer Regel zusammen, wobei man die Alternativen auf der rechten Seite durch den senkrechten Strich “|” trennt, also hier etwa LW B →LaB|aB und BK →K |ε.

Definition 2.5 Eine Regelgrammatik oder Typ-0-Grammatik G = (V, T, R, S) besteht aus einemVariablenalphabetV, einemTerminalzeichenalphabetT mitV∩ T =∅, einer endlichen MengeRvonProduktionsregelnuber dem¨ Gesamtalphabet X =V ∪T und einerStartvariablenS ∈V. Dabei soll f¨ur jede Regelu→v ausR inumindestens eine Variable vorkommen. Die MengeL(G) = {x∈T |S → x}

heißt die vonG erzeugte Regelsprache. Die Elemente w∈X mit S → w nennt man auchSatzformen von G.

Bemerkung 2.6 a) F¨ur jede RegelgrammatikGist die SpracheL(G) offensicht- lich aufz¨ahlbar, da es wegen der Endlichkeit der Regelmenge nur endlich viele W¨orter geben kann, die sich aus der Startvariablen innSchritten ableiten lassen.

Diese W¨orter lassen sich f¨ur jedes n (und damit insgesamt) effektiv aufz¨ahlen.

b) Es gibt RegelgrammatikenG, f¨ur die L(G) nicht entscheidbar ist, d. h. es ist dannX \L(G) nicht aufz¨ahlbar.

c) Die RegelgrammatikGentstehe aus der RegelgrammatikGdadurch, daß man jede Regel u→v ∈ R zu der Regel u→ v ∈R umformt. Offensichtlich ist dann L(G) die gespiegelte Sprache zu L(G).

Beispiel 2.7 Es sei T ein beliebiges Alphabet, S /∈T und V ={S}.

a) F¨ur die Regelgrammatik G = (V, T,{S → S}, S) ist L(G) = ∅, also ∅ eine Regelsprache.

b) Ist L = {w1, . . . , wn} ⊂ T(n > 0) eine beliebige endliche Sprache ¨uber T, so wird f¨urR={(S, w1), . . . ,(S, wn)}eine Regelgrammatik G= (V, T, R, S) mit L=L(G) definiert. Jede endliche Sprache ist daher eine Regelsprache.

c) IstR ={S →, S →aS | f¨ur allea ∈T}, so wird durchG= (V, T, R, S) eine Regelgrammatik mit L(G) = T definiert. Ersetzt man die Regel S → durch die endlich vielen RegelnS →a f¨ur jedes a∈T, so sieht man, daß auchT+ eine Regelsprache ist.

(29)

Beispiel 2.8 a) F¨ur V = {S, L, K, W, B}, T = {a, b} und R wie in Beispiel 2.4 istG= (V, T, R, S) eineTyp-0-Grammatik mit L(G) ={a(2n) |n≥1}=L2 aus Beispiel 1.19.

b) Erweitert man die Variablenmenge um eine neue Startvariable S0, das Ter- minalalphabet um ein Begrenzungszeichen # und die Regelmenge um die eine Regel S0 →#S#, dann wird mit dieser neuen Grammatik offensichtlich die Re- gelsprache L0 = {#a(2n)# | n ∈ N} erzeugt. Man erh¨alt dieselbe Sprache aber auch durch die folgende einfachere Grammatik G = ({S, L, R},{#, a, b}, R0, S) mit der Regelmenge

R0 ={S →#aL#, aL→Laa,#L→#R,#L→#, Ra→aaR, R#→L#, R#→#}.

Diese neue Grammatik beschreibt exakt das Verhalten einer (nichtdeterministi- schen) Turing-Maschine, welche diese Sprache erzeugt: Die Variablen L und R beschreiben das Verhalten eines Lese-Schreibkopfes, der zwischen den Begren- zungszeichen # nach links bzw. rechts hin- und herwandert und dabei die jeweils schon vorhandenen Buchstabenaverdoppelt. Ein erster Buchstabe awird durch die erste Regel zwischen die Begrenzungszeichen geschrieben.

Definition 2.9 Regelgrammatiken G und G0 heißen ¨aquivalent, wenn L(G) = L(G0) f¨ur die von ihnen erzeugten Regelsprachen gilt.

Folgerung 2.10 Jede Typ-0-Grammatik G= (V, T, R, S)ist ¨aquivalent zu einer Typ-0-GrammatikG0 = (V0, T, R0, S0), bei der f¨ur alle Regelnu0 →v0 ∈R0 bereits u0 ∈V0+ gilt.

Beweisidee: Sei X0 = {x0 | x ∈ T} eine Kopie von T, also eine zu T disjunk- te gleichm¨achtige Menge. Definiere V0 = V ∪X0 als neue Variablenmenge. Die Regeln aus R0 entstehen aus den Regeln u → v ∈ R, indem in u und v alle Terminalzeichen x ∈ T durch ihre Kopien x0 ∈ V0 ersetzt werden. Schließlich werden noch alle Regeln x0 → x f¨ur x ∈ T zu R0 hinzugef¨ugt. Dann ist G0 eine Grammatik der gew¨unschten Form und ersichtlich gilt L(G) = L(G0).

Bemerkung 2.11 a) Manche Autoren nehmen wegen dieser Folgerung die For- derungu∈V+f¨ur alle Regelnu→v ∈Rin die Definition der Typ-0-Grammatik mit auf.

(30)

b) Die Idee in diesem Beweis, alle Terminalzeichenxdurch neue “Hilfs-Variablen”

x0 zu ersetzen, s¨amtliche Ableitungen zun¨achst mit diesen Hilfsvariablen durch- zuf¨uhren, und erst “am Schluß” der jeweiligen Ableitung die zus¨atzlichenabschlie- ßenden Regeln x0 → x anzuwenden, wird in vielen Beweisen angewandt, in der gewisse “Normalformen” f¨ur die Regeln hergeleitet werden sollen, vgl. Satz2.35.

Definition 2.12 Eine Regelgrammatik G = (V, T, R, S) heißt beschr¨ankt oder Typ-1-Grammatik, wenn f¨ur alle Regeln u →v aus R stets `(u)≤`(v) gilt. Da- gegen heißt Gkontextsensitiv, wenn `(u)≤`(v) mit einer m¨oglichen Ausnahme, n¨amlich S → ε gilt. Geh¨ort diese Regel aber zu R, so darf S in keiner rechten Seite v einer Regel vorkommen.

Beispiel 2.13 a) Die Regelgrammatik aus Beispiel2.7 a) ist eine Typ-1-Gram- matik.

b) Die Regelgrammatik aus Beispiel2.7b) ist genau dann eine Typ-1-Grammatik, wennwi 6=ε f¨ur allei gilt. Sie ist aber stets kontextsensitiv.

c) In Beispiel 2.7 c) ist die f¨ur L(G) = T+ gegebene Grammatik eine Typ-1- Grammatik.

d) Die Grammatik aus Beispiel2.8 ist keine Typ-1-Grammatik wegen der Regeln (28), (30) und insbesondere (31).

Bemerkung 2.14 a) Gilt x → y f¨ur eine Ableitung bez¨uglich einer Typ-1- Grammatik G, so folgt `(x)≤`(y). Insbesondere ist L(G)ε-frei, d. h. es gilt ε6∈

L(G). Da manche Autoren diese M¨oglichkeitε ∈L(G) zulassen wollen, definieren sie Typ-1-Grammatiken als kontextsensitive Grammatiken im obigen Sinn. Dies macht die Inklusionen der weiter unten definierten Sprachklassen ¨uberschaubarer (vgl. Bemerkung2.36).

b) IstGeine beschr¨ankte (oder kontexsensitive) Regelgrammatik, so istL(G)ent- scheidbar, d. h. nebenL(G) ist auchT\L(G) aufz¨ahlbar (vgl. Bemerkung2.6b)).

Wegen w = ε ∈ L(G) ⇐⇒ S → ε ∈ R f¨ur eine kontexsensitive Grammatik G, bleibt die Fragew∈L(G) in jedem Fall nur noch f¨urw 6=ε zu entscheiden. We- gen der Beschr¨anktheit von G ist w ∈ L(G) aber in h¨ochstens |X|`(w) Schritten aus S ableitbar und alle (endlich vielen) Ableitungen dieser L¨ange sind effektiv aufz¨ahlbar.

c) Es gibt Regelgrammatiken, zu denen keine¨aquivalenten, beschr¨ankten Regel- grammatiken existieren.

Referenzen

ÄHNLICHE DOKUMENTE

Wir werden in diesem Abschnitt zuerst zeigen, dass f¨ur die im vorangegangenen Abschnitt eingef¨uhrten Typen von Grammatiken jeweils Normalformen existieren, d.h. Grammati- ken

Um f¨ ur dieses Konzept ein wenig mehr Intuition zu gewinnen, sei erw¨ ahnt, dass man sich eine solche Transformation auch wie folgt vorstellen kann: A l¨ asst sich auf B

Korrekte Sätze einer (natürlichen) Sprache sollen durch ein (endliches System) von formalen Regeln erzeugt werden. Bis heute ist

Um für dieses Konzept ein wenig mehr Intuition zu gewinnen, sei erwähnt, dass man sich eine solche Trans- formation auch wie folgt vorstellen kann: A lässt sich auf B reduzieren,

Korrekte Sätze einer (natürlichen) Sprache sollen durch ein (endliches System) von formalen Regeln erzeugt werden. Bis heute ist

Um für dieses Konzept ein wenig mehr Intuition zu gewinnen, sei erwähnt, dass man sich eine solche Transformation auch wie folgt vorstellen kann: A lässt sich auf B reduzieren, wenn

Die Chomsky Hierarchie reflektiert eine spezielle Form der Komplexität, andere Kriterien sind denkbar und führen zu anderen Hierarchien. Die Sprachklassen der Chomsky Hierarchie sind

❚ Zeichen können &#34;hintereinandergefügt&#34; werden und bilden durch die Reihung Worte. ❚ Der Operator hierzu