Homomorphismen - tks.cs.uni-frankfurt.de · Welche Fragen über endliche Automaten sind effizient...

22
Homomorphismen Σ und Γ seien zwei endliche Alphabete, und h sei eine Abbildung h * Γ * . Wir definieren die folgenden Sprachen: h(L) := {h(u): u L}⊆ Γ * , für jede Sprache L Σ * , h -1 (M) := {u Σ * : h(u) M}⊆ Σ * , für jede Sprache M Γ * . Für jedes w Γ * sei h -1 (w ) := h -1 ({w })= {u Σ * : h(u)= w }. Defnition: Eine Abbildung h * Γ * heißt Homomorphismus, wenn für alle Worte u, v Σ * gilt: h(uv )= h(u) h(v ). Beachte: Ein Homomorphismus h ist vollständig festgelegt durch die Abbildung a 7h(a), für alle a Σ. Es gilt: h(ε)= ε und h(a 1 ··· an )= h(a 1 ) ··· h(an ), für alle n N>0 und a 1 ,..., an Σ. Abschlusseigenschaften 90 / 124

Transcript of Homomorphismen - tks.cs.uni-frankfurt.de · Welche Fragen über endliche Automaten sind effizient...

Page 1: Homomorphismen - tks.cs.uni-frankfurt.de · Welche Fragen über endliche Automaten sind effizient beantwortbar? A sei einDFAoderNFA. Ist L(A) 6= ;? Sei q 0 der Anfangszustand von

Homomorphismen

Σ und Γ seien zwei endliche Alphabete, und h sei eine Abbildung h : Σ∗ → Γ∗.Wir definieren die folgenden Sprachen:

h(L) := {h(u) : u ∈ L} ⊆ Γ∗, für jede Sprache L ⊆ Σ∗,

h−1(M) := {u ∈ Σ∗ : h(u) ∈ M} ⊆ Σ∗, für jede Sprache M ⊆ Γ∗.

Für jedes w ∈ Γ∗ sei h−1(w) := h−1({w}) = {u ∈ Σ∗ : h(u) = w}.

Defnition:Eine Abbildung h : Σ∗ → Γ∗ heißt Homomorphismus, wenn für alle Worte u, v ∈ Σ∗

gilt: h(uv) = h(u) h(v).

Beachte: Ein Homomorphismus h ist vollständig festgelegt durch die Abbildunga 7→ h(a), für alle a ∈ Σ. Es gilt:

h(ε) = ε und

h(a1 · · · an) = h(a1) · · · h(an), für alle n ∈ N>0 und a1, . . . , an ∈ Σ.

Abschlusseigenschaften 90 / 124

Page 2: Homomorphismen - tks.cs.uni-frankfurt.de · Welche Fragen über endliche Automaten sind effizient beantwortbar? A sei einDFAoderNFA. Ist L(A) 6= ;? Sei q 0 der Anfangszustand von

Beispiele

Sei Σ := {0, 1, 2} und Γ := {a, b}.(a) Sei h : Σ∗ → Γ∗ der durch

h(0) := a, h(1) := b, h(2) := b

festgelegte Homomorphismus.Dann ist h(0012) = aabb, und allgemein ist h(0n12n−1) = anbn für alle n > 1.Somit ist

h({0n12n−1 : n > 1}) = {anbn : n > 1}.

(b) Sei g : Σ∗ → Σ∗ der durch

g(0) := 0, g(1) := 10, g(2) := 0

festgelegte Homomorphismus.Dann ist g(021) = 0010, und g−1(0010) = {021, 001, 221, 201} = {0, 2}2{1}.Außerdem ist g−1(0n10n) = {0, 2}n{1}{0, 2}n−1 undg−1({0n10n : n > 1}) ∩ {0}∗{1}{2}∗ = {0n12n−1 : n > 1}.

Abschlusseigenschaften 91 / 124

Page 3: Homomorphismen - tks.cs.uni-frankfurt.de · Welche Fragen über endliche Automaten sind effizient beantwortbar? A sei einDFAoderNFA. Ist L(A) 6= ;? Sei q 0 der Anfangszustand von

Homomorphismen undAbschlusseigenschaften regulärer Sprachen

Satz:Seien Σ und Γ zwei endliche Alphabete und sei h : Σ∗ → Γ∗ ein Homomorphismus.Dann gilt:

(a) Falls L ⊆ Σ∗ regulär, so ist auch h(L) regulär.

(b) Falls M ⊆ Γ∗ regulär, so ist auch h−1(M) regulär.

Die Klasse aller regulären Sprache ist also abgeschlossen unter Homomorphismenund unter inversen Homomorphismen.

Beweis: Skizze: siehe Tafel. Details: Übung.

Abschlusseigenschaften 92 / 124

Page 4: Homomorphismen - tks.cs.uni-frankfurt.de · Welche Fragen über endliche Automaten sind effizient beantwortbar? A sei einDFAoderNFA. Ist L(A) 6= ;? Sei q 0 der Anfangszustand von

Anwendungsbeispiele

Nutze Abschlusseigenschaften der Klasse aller regulären Sprachen, um dieNicht-Regularität bestimmter Sprachen nachzuweisen.

Beispiel:Keine der folgenden Sprachen ist regulär:

(a) L := {ambncm+n : m, n ∈ N},(b) L := {a, b}∗ ∪ {ck anbn : k , n > 0},(c) L := {0n12n−1 : n > 1},(d) L := {0n10n : n > 1}.

Beweis: siehe Tafel!

Abschlusseigenschaften 93 / 124

Page 5: Homomorphismen - tks.cs.uni-frankfurt.de · Welche Fragen über endliche Automaten sind effizient beantwortbar? A sei einDFAoderNFA. Ist L(A) 6= ;? Sei q 0 der Anfangszustand von

Weitere AbschlusseigenschaftenIn den Übungen haben wir bereits einige weitere Abschlusseigenschaften derregulären Sprachen gesehen:

Satz:L, L1, L2 ⊆ Σ∗ seien reguläre Sprachen; w ∈ Σ∗ sei ein Wort.Dann sind auch die folgenden Sprachen regulär:

(a) w−1L := {v ∈ Σ∗ : wv ∈ L} (Linksquotient von L bzgl. w)

(b) L1 G L2 (Shuffle-Produkt von L1 und L2

(c) LR := {wR : w ∈ L} (Rückwärtslesen von L)

Dabei ist

I u G v := {u1v1 · · · unvn : n ∈ N, u = u1 · · · un, v = v1 · · · vn, ui , vi ∈ Σ∗},L1 G L2 :=

⋃u∈L1,v∈L2

u G v

I wR := an · · · a1, falls w = a1 · · · an mit ai ∈ Σ, n > 0.

Abschlusseigenschaften 94 / 124

Page 6: Homomorphismen - tks.cs.uni-frankfurt.de · Welche Fragen über endliche Automaten sind effizient beantwortbar? A sei einDFAoderNFA. Ist L(A) 6= ;? Sei q 0 der Anfangszustand von

Zusammenfassung

Die Klasse der regulären Sprachen ist abgeschlossen unter

KomplementbildungL regulär =⇒ L := Σ∗ \ L regulär

Vereinigung und DurchschnittL1, L2 regulär =⇒ L1 ∪ L2 und L1 ∩ L2 regulär

KonkatenationL1, L2 regulär =⇒ L1 · L2 regulär

Kleene-SternL regulär =⇒ L∗ regulär

Homomorphismen und inversen HomomorphismenL regulär, h Homomorphismus =⇒ h(L) und h−1(L) regulär

RückwärtslesenL regulär =⇒ LR regulär

Shuffle-ProduktL1, L2 regulär =⇒ L1 G L2 regulär

LinksquotientenL regulär, w ∈ Σ∗ =⇒ w−1L regulär

Abschlusseigenschaften 95 / 124

Page 7: Homomorphismen - tks.cs.uni-frankfurt.de · Welche Fragen über endliche Automaten sind effizient beantwortbar? A sei einDFAoderNFA. Ist L(A) 6= ;? Sei q 0 der Anfangszustand von

Entscheidungsprobleme

Entscheidungsprobleme 96 / 124

Page 8: Homomorphismen - tks.cs.uni-frankfurt.de · Welche Fragen über endliche Automaten sind effizient beantwortbar? A sei einDFAoderNFA. Ist L(A) 6= ;? Sei q 0 der Anfangszustand von

Welche Fragen über endliche Automaten sind effizientbeantwortbar?

A sei ein DFA oder NFA.

Ist L(A) 6= ∅?

Sei q0 der Anfangszustand von A und sei F die Menge der akzeptierendenZustände.

L(A) ist genau dann nicht-leer, wennes einen Weg von q0 zu einem Zustand in F gibt.

Wende Tiefensuche auf q0 an: L(A) ist nicht-leer, wenn Tiefensuche einenakzeptierenden Zustand findet.

Die Laufzeit ist proportional zur Anzahl der Kanten im Zustandsdiagramm, also inO(|Σ| · |Q|) für DFAs und in O(|Σ| · |Q|2) für NFAs.

Entscheidungsprobleme 97 / 124

Page 9: Homomorphismen - tks.cs.uni-frankfurt.de · Welche Fragen über endliche Automaten sind effizient beantwortbar? A sei einDFAoderNFA. Ist L(A) 6= ;? Sei q 0 der Anfangszustand von

Welche Fragen lassen sich effizient beantworten?

D,D1,D2 seien deterministische AutomatenDie folgenden Fragen lassen sich effizient beantworten (in Zeit O(|Σ| · |Q|) bzw.O(|Σ| · |Q1| · |Q2|)):(a) Ist L(D) = Σ∗? (Universalität)

(b) Ist L(D1) = L(D2)? (Äquivalenz)

(c) Ist L(D1) ⊆ L(D2)? (“Containment”)

(d) Ist L(D) endlich? (Endlichkeit)

Beweis: Übungsaufgabe! Idee: Nutze jeweils aus, dass die Frage

Ist L(D) 6= ∅?

effizient beantwortet werden kann.

Die obigen Fragen (a)–(c) sind für NFAs extrem schwierig: Man kann zeigen, dass siePSPACE-vollständig sind (also wahrscheinlich noch schwerer als NP-vollständigeProbleme).

Entscheidungsprobleme 98 / 124

Page 10: Homomorphismen - tks.cs.uni-frankfurt.de · Welche Fragen über endliche Automaten sind effizient beantwortbar? A sei einDFAoderNFA. Ist L(A) 6= ;? Sei q 0 der Anfangszustand von

Das Wortproblem für NFAs

Für einen NFA A und ein Wort w entscheide, ob A die Eingabe w akzeptiert.

Wie schwierig ist das Wortproblem?

Nicht ganz so einfach wie für DFAs,

aber die Menge δ(q0,w) der von q0 aus erreichbaren Zustände lässt sich effizientberechnen: Zeit O(|w | · |Q|2) reicht aus!

Algorithmus: Übungsaufgabe!

Akzeptiere genau dann, wenn δ(q0,w) ∩ F 6= ∅.

Entscheidungsprobleme 99 / 124

Page 11: Homomorphismen - tks.cs.uni-frankfurt.de · Welche Fragen über endliche Automaten sind effizient beantwortbar? A sei einDFAoderNFA. Ist L(A) 6= ;? Sei q 0 der Anfangszustand von

Sehr schwierige Entscheidungsfragen für DFAs und NFAs

(1) Das Interpolationsproblem für DFAs:Für gegebene Teilmengen P,N ⊆ Σ∗ und einen Schwellenwert k > 1,

gibt es einen DFA mit höchstens k Zuständen, der alle Worte in P akzeptiertund alle Worte in N verwirft?

Dieses Problem ist NP-vollständig. (Hier ohne Beweis)

(2) Das Minimierungsproblem für NFAs:I Gegeben zwei NFAs A und B, entscheide, ob B ein zu A äquivalenter NFA

mit minimaler Zustandszahl ist.Dieses Problem ist PSPACE-vollständig. (Hier ohne Beweis)

I Es ist sogar schwierig, die minimale Zustandszahl approximativ zubestimmen.

I Was ist da los? Bereits die Frage “Ist L(N) 6= Σ∗?” ist extrem schwer(nämlich PSPACE-vollständig) und gehört daher wahrscheinlich nicht einmalzur Klasse NP.

Worte in Σ∗ \ L(N) sind unter Umständen sehr lang.

Entscheidungsprobleme 100 / 124

Page 12: Homomorphismen - tks.cs.uni-frankfurt.de · Welche Fragen über endliche Automaten sind effizient beantwortbar? A sei einDFAoderNFA. Ist L(A) 6= ;? Sei q 0 der Anfangszustand von

Reguläre Ausdrücke

Reguläre Ausdrücke 101 / 124

Page 13: Homomorphismen - tks.cs.uni-frankfurt.de · Welche Fragen über endliche Automaten sind effizient beantwortbar? A sei einDFAoderNFA. Ist L(A) 6= ;? Sei q 0 der Anfangszustand von

Reguläre Ausdrücke

Die Menge der regulären Ausdrücke über einem endlichen Alphabet Σ wird rekursivwie folgt definiert:

Basisregel: Die Ausdrücke ∅, ε und a für a ∈ Σ sind regulär.

Die Ausdrücke beschreiben die leere Sprache (L(∅) = ∅), dieSprache des leeren Wortes (L(ε) = {ε}) und die Sprache deseinbuchstabigen Wortes a (L(a) = {a}).

Rekursive Regeln: Sind R und S reguläre Ausdrücke, dann auch(R | S), (R · S) und R∗.

| beschreibt die Vereinigung und wird manchmal auch mit +bezeichnet (L((R | S)) = L(R) ∪ L(S)),· die Konkatenation und wird manchmal auch mit ◦bezeichnet (L((R · S)) = L(R) · L(S)), und∗ beschreibt die Kleene-Hülle (L(R∗) = L(R)∗).

Reguläre Ausdrücke 102 / 124

Page 14: Homomorphismen - tks.cs.uni-frankfurt.de · Welche Fragen über endliche Automaten sind effizient beantwortbar? A sei einDFAoderNFA. Ist L(A) 6= ;? Sei q 0 der Anfangszustand von

Abkürzende SchreibweiseZur vereinfachten Schreibweise und besseren Lesbarkeit vereinbaren wir folgendeKonventionen:

Den Punkt bei der Konkatenation darf man weglassen.(Schreibe (RS) statt (R · S))

Bei Ketten gleichartiger Operationen darf man die Klammern weglassen.(Schreibe (R1|R2|R3) statt ((R1|R2)|R3), und (R1R2R3) statt ((R1R2)R3))

Äußere Klammern, die einen regulären Ausdruck umschließen, dürfenweggelassen werden.

Zur besseren Lesbarkeit dürfen zusätzliche Klammern eingefügt werden.

Bei fehlenden Klammern gelten folgende “Präzedenzregeln”:“∗” bindet stärker als “·”; “·” bindet stärker als “|”.

Beispiel:a | bbc∗ ist eine verkürzte Schreibweise für den regulären Ausdruck (a | ((b·b)·c∗)).Die von ihm beschriebene Sprache ist L(a | bbc∗) = {a} ∪ ({bb} · {c}∗).

Reguläre Ausdrücke 103 / 124

Page 15: Homomorphismen - tks.cs.uni-frankfurt.de · Welche Fragen über endliche Automaten sind effizient beantwortbar? A sei einDFAoderNFA. Ist L(A) 6= ;? Sei q 0 der Anfangszustand von

Beispiele für reguläre Ausdrücke

(1) L1 ={

w ∈ {a, b}∗ |w beginnt und endet mit dem Buchstaben a}

wird beschreiben durch den regulären Ausdruck

a | a (a | b)∗a.

(2) Sei P ∈ {a, b}∗. Die Sprache aller Worte in {a, b}∗ mit Teilwort P, wirdbeschrieben durch den regulären Ausdruck

(a | b)∗P (a | b)∗.

(3) Der reguläre Ausdruckb∗ | (b∗ab∗ab∗)∗

beschreibt die SpracheL3 =

{w ∈ {a, b}∗ |w enthält eine gerade Anzahl von a’s

}.

Reguläre Ausdrücke 104 / 124

Page 16: Homomorphismen - tks.cs.uni-frankfurt.de · Welche Fragen über endliche Automaten sind effizient beantwortbar? A sei einDFAoderNFA. Ist L(A) 6= ;? Sei q 0 der Anfangszustand von

Reguläre Ausdrücke definieren reguläre Sprachen

Satz:Sei Σ ein endliches Alphabet.Jeder reguläre Ausdruck R über Σ beschreibt eine reguläre Sprache L(R).

Beweis: Per Induktion über den Aufbau der regulären Ausdrücke.

Induktionsanfang: Betrachte die gemäß Basisregeln gebildeten regulären Ausdrücke.

∅, ε, und a, für a ∈ Σ sind reguläre Ausdrücke, die die Sprachen L(∅) = ∅,L(ε) = {ε} und L(a) = {a} beschreiben. Man kann leicht DFAskonstruieren, die diese Sprachen akzeptieren.

Induktionsschritt: Betrachte die gemäß rekursiven Regeln gebildeten regulären Ausdrücke.

Seien R und S reguläre Ausdrücke, die gemäß Induktionsannahme reguläreSprachen L(R) und L(S) beschreiben. Wir wissen bereits, dass die Klasseder regulären Sprachen abgeschlossen ist unter Vereinigung, Konkatenationund Kleene-Stern. Daher sind auch die folgenden Sprachen regulär:L(R) ∪ L(S) = L((R |S)), L(R) · L(S) = L((R · S)), L(R)∗ = L(R∗).Somit beschreiben auch die regulären Ausdrücke (R |S), (R · S) und R∗

reguläre Sprachen.

Reguläre Ausdrücke 105 / 124

Page 17: Homomorphismen - tks.cs.uni-frankfurt.de · Welche Fragen über endliche Automaten sind effizient beantwortbar? A sei einDFAoderNFA. Ist L(A) 6= ;? Sei q 0 der Anfangszustand von

Beispiel: Regulärer Ausdruck =⇒ ε-NFA

Gegeben sei der reguläre Ausdruck R := 01∗ | 1.Aufgabe: Konstruiere einen ε-NFA A mit L(A) = L(R).

Systematisches Vorgehen entlang des Beweises, dass reguläre Ausdrückereguläre Sprachen definieren:

(1) Zerlege R in Teilausdrücke:I R0 := 0I R1 := 1I R2 := 1∗ = R∗1I R3 := 01∗ = R0R2I R4 := 01∗|1 = R3|R1 = R

(2) Konstruiere, für jedes i ∈ {0, . . . ,4}, einen ε-NFA Ai mit L(Ai ) = L(Ri ).

Dann ist A := A4 der gesuchte Automat.

Rest: Siehe Tafel!

Reguläre Ausdrücke 106 / 124

Page 18: Homomorphismen - tks.cs.uni-frankfurt.de · Welche Fragen über endliche Automaten sind effizient beantwortbar? A sei einDFAoderNFA. Ist L(A) 6= ;? Sei q 0 der Anfangszustand von

Zwischenstand

Jeder reguläre Ausdruck definiert also eine reguläre Sprache.

Und umgekehrt, gibt es zu jeder regulären Sprache auch einen regulärenAusdruck?

Reguläre Ausdrücke 107 / 124

Page 19: Homomorphismen - tks.cs.uni-frankfurt.de · Welche Fragen über endliche Automaten sind effizient beantwortbar? A sei einDFAoderNFA. Ist L(A) 6= ;? Sei q 0 der Anfangszustand von

Reguläre Sprachen haben reguläre Ausdrücke (1/3)

Satz:Sei Σ ein endliches Alphabet. Zu jeder regulären Sprache L ⊆ Σ∗ gibt es einenregulären Ausdruck R über Σ, der die Sprache L beschreibt.

Beweis:

Sei A = (Q,Σ, δ, q0,F ) ein vollständiger DFA, der L akzeptiert.Es gelte Q = {1, . . . , n}.

Idee: Benutze dynamische Programmierung, um reguläre Ausdrücke Rkp,q zu

konstruieren, die die Mengen Lkp,q beschreiben, wobei

Lkp,q :=

{w ∈ Σ∗ : δ(p,w) = q, und alle Zwischenzustände

liegen in der Menge {1, . . . , k}},

für alle p, q ∈ Q und alle k ∈ {0, 1, . . . , n}.

Es gilt: L =⋃q∈F

Lnq0,q . Für F = {q1, . . . , qs} wird L daher durch den regulären

Ausdruck (Rnq0,q1 | · · · |R

nq0,qs ) beschrieben.

Reguläre Ausdrücke 108 / 124

Page 20: Homomorphismen - tks.cs.uni-frankfurt.de · Welche Fragen über endliche Automaten sind effizient beantwortbar? A sei einDFAoderNFA. Ist L(A) 6= ;? Sei q 0 der Anfangszustand von

Reguläre Sprachen haben reguläre Ausdrücke (2/3)Rekursiv für k ∈ {0, 1, 2, . . . , n} konstruieren wir nun reguläre Ausdrücke Lk

p,q für allep, q ∈ Q.

Reguläre Ausdrücke für L0p,q , für alle p,q ∈ Q:

L0p,q ist die Menge aller Worte, die Zustand q von Zustand p aus

ohne Zwischenzustände erreichen. Also:I Falls p 6= q, so ist L0

p,q = {a ∈ Σ : δ(p, a) = q}

I Falls p = q, so ist L0p,q = {ε} ∪ {a ∈ Σ : δ(p, a) = q}

Also ist L0p,q eine endliche Menge von Buchstaben bzw. dem leeren Wort.

Sie wird daher von einem regulären Ausdruck R0p,q beschrieben (durch das

Symbol ∅ oder durch Verknüpfen der Buchstaben bzw. des leeren Wortes mitdem “|”-Operator).

Als nächstes konstruieren wir für jedes k > 1 reguläre Ausdrücke für die Mengen Lkp,q ,

wobei wir annehmen, dass wir reguläre Ausdrücke für Lk−1r,s schon kennen

(für alle p, q, r , s ∈ Q).

Reguläre Ausdrücke 109 / 124

Page 21: Homomorphismen - tks.cs.uni-frankfurt.de · Welche Fragen über endliche Automaten sind effizient beantwortbar? A sei einDFAoderNFA. Ist L(A) 6= ;? Sei q 0 der Anfangszustand von

Reguläre Sprachen haben reguläre Ausdrücke (3/3)Reguläre Ausdrücke für Lk

p,q:

Lkp,q ist die Menge aller Worte w , die Zustand q von Zustand p aus mit

Zwischenzuständen aus der Menge {1, . . . , k} erreichen.I Entweder benötigt ein Wort w nur Zwischenzustände in der Menge{1, . . . , k−1}, d.h. es liegt in Lk−1

p,q ,

I oder Zustand k ist Zwischenzustand.F Dann führt die Berechnung von p nach k ,F „pendelt“ zwischen k und kF und erreicht dann q von Zustand k aus.

I Wie oft kann Zustand k angenommen werden? Keine Ahnung!Macht aber nichts, denn

Lkp,q = Lk−1

p,q ∪ Lkp,k

(Lk−1

k,k

)∗Lk−1

k,q .

Daher wird Lkp,q durch den folgenden regulären Ausdruck beschrieben:

Rkp,q := Rk−1

p,q | Rk−1p,k ·

(Rk−1

k,k

)∗· Rk−1

k,q .

Reguläre Ausdrücke 110 / 124

Page 22: Homomorphismen - tks.cs.uni-frankfurt.de · Welche Fragen über endliche Automaten sind effizient beantwortbar? A sei einDFAoderNFA. Ist L(A) 6= ;? Sei q 0 der Anfangszustand von

Beispiel: vollständiger DFA =⇒ regulärer Ausdruck

Gegeben sei der vollständige DFA A

— siehe Tafel —

Aufgabe: Konstruiere einen regulären Ausdruck R mit L(R) = L(A).

Systematisches Vorgehen entlang des Beweises, dass reguläre Sprachenvon regulären Ausdrücken beschrieben werden:

I Konstruiere die regulären Ausdrücke Rkp,q für k ∈ {0,1,2} und alle

p,q ∈ {1,2,3},

I konstruiere dann R31,2 und R3

1,3 und setze R := R31,2 | R3

1,3.

Rest: Siehe Tafel (bzw. [Hopcroft Ullman, Example 2.12]).

Reguläre Ausdrücke 111 / 124