1 Berechenbrkeitstheorie Dr. Institut für Mthemtische Logik und Grundlgenforschung WWU Münster WS 15/16 Alle Folien unter Cretive Commons Attribution-NonCommercil 3.0 Unported Lizenz.
Reguläre Ausdrücke Formlismus zum Beschreiben von formlen Sprchen ein Regulärer Ausdruck (RA) ist ein Wort über dem Alphbet Σ {, ε, (, ), +,, } 2 Syntx (1) Σ {, ε}: ist RA (2) Wenn A, B Reg. Ausdrücke, dnn uch (A + B) (3) Wenn A, B Reg. Ausdrücke, dnn uch A B (kurz AB) (4) Wenn A Reg. Ausdruck, dnn uch A (5) Wenn A Reg. Ausdruck, dnn uch (A) Bsp ((b + bb) b + ε) ist RA ( + b)b( b) ist kein RA Induktive Definition korrekt, d RA durch die Anwendung der (umgekehrten) Regeln immer kürzer werden
Semntik Regulärer Ausdrücke Für jeden RA R definieren wir induktiv eine Sprche L(R): (1) R =, dnn L(R) = R = ε, dnn L(R) = {ε} R =, und Σ, dnn L(R) = {} (2) R = (A + B) und A, B sind RA, dnn L(R) = L(A) L(B) (3) R = (AB) und A, B sind RA, dnn L(R) = L(A) L(B) (4) R = A und A ist RA, dnn L(R) = L(A) (5) R = (A) und A ist RA, dnn L(R) = L(A) 3 Reihenfolge der Opertoren: vor vor + Bsp. R = ( + b) b( + b) L(R) = {w {, b} w enthält Teilwort b}
Stz von Kleene Stz 5 {L RA R mit L(R) = L} = REG Beweis (Orgnistion) 4 1. Teil: 2. Teil: heute Wir konstruieren zu einem RA R einen NEA N mit L(R) = L(N) ds zeigt {L RA R mit L(R) = L} REG Wir konstruieren zu einem DEA M einen RA R mit L(M) = L(R) ds zeigt {L RA R mit L(R) = L} REG
Vom DEA zum RA Anstz Wenn L REG, dnn existiert ein DEA M der L erkennt. M = (Q, Σ, δ, 1, F ) mit Q = {1, 2,..., n} Ziel: Konstriere RA R mit L(R) = L 5 R k ij := RA für lle Wörter die von Zustnd i nch j führen ohne einen Zustnd > k zu benutzen. Anfngs- und Endzustnd i, j dürfen > k sein! b c 1 2 3 b b, c c 4, b, c Bsp R 0 22 = c + ε R 2 24 = c b R 3 24 = (c b + c (b + c))
Von den Termen zum RA Annhme: Ich kenne lle Terme R k ij w L(M) genu dnn, wenn δ (1, w) = j und j F }{{} w R n 1j oberer Index n heißt keine Beschränkung 6 verbinde für lle kzeptierende Zustände die R k ij Terme R := R n 1f 1 + R n 1f 2 + R n 1f k wobei F = {f 1, f 2,..., f k }
Konstruktion der R k ij Terme Rekursive Konstuktion Bsisfll (R 0 ij ): R 0 ij := { nur direkte Übergänge + 1 + 2 +... flls i j und i { δ(i, ) = j} ε + 1 + 2 +... flls i = j und i { δ(i, ) = i} 7 Rekursion (R k ij ): ich kenne bereits lle R k 1 ij Bsp. von einem Luf us Rij 6 x x y z z y y y y z z j } {{ } R6j 5 i 2 3 2 6 5 1 6 4 6 5 }{{}}{{} Ri6 5 }{{} R66 5 R66 5 R k knn ich mit Termen R k 1 beschreiben
Rekursion für R k ij 1. Möglichkeit: der Luf eines Wortes besucht nicht den Zustnd k R k ij R k 1 ij 2. Möglichkeit: der Luf eines Wortes besucht einml oder mehrmls den Zustnd k R k ij R k 1 ik (Rk 1 kk ) R k 1 kj es gibt keine ndere Möglichkeit, deshlb 8 R k ij = R k 1 ij + R k 1 ik (Rk 1 kk ) R k 1 kj Berechnung mit nsteigendem k (k = 0,..., n) ller R k ij Terme Dynmisches Progrmmieren
Beispiel b, c 1 2, b c { Rij 0 := + 1 + 2 +... flls i j und i { δ(i, ) = j} ε + 1 + 2 +... flls i = j und i { δ(i, ) = i} 9 R 0 11 = b + ε R 0 12 = + c R 0 21 = c R 0 22 = ( + b + ε) R k ij = Rk 1 ij + R k 1 ik (Rk 1 kk ) R k 1 kj R 1 11 = (b + ε) + (b + ε)(b + ε) (b + ε) = b R 1 12 = ( + c) + (b + ε)(b + ε) ( + c) = b ( + c) R 1 21 = c + c(b + ε) (b + ε) = cb R 1 22 = ( + b + ε) + c(b + ε) ( + c) = ( + b + ε) + cb ( + c) R = R 2 12 = b ( + c)+ b ( + c) [( + b + ε) + cb ( + c)] [( + b + ε) + cb ( + c)]
Fzit Reguläre Sprchen vom DEA erknnt (nch Def.) 10 Stz von Kleene Potenzutomt äquivlent zu RA Formlismus zum Beschreiben formler Sprchen äquivlent zum NEA Berechnungsmodell mit Nichtdeterminismus ε-übergängen
Minimierung von DEAs M 1 M 2 11 L(M 1 ) = { k k ist ungerde} L(M 2 ) = { k k ist ungerde} Definition Zwei DEAs M 1 und M 2 heißen äquivlent, gdw. L(M 1 ) = L(M 2 ) Frge: Welches ist der kleinste DEA für eine Sprche L? minimle Anzhl von Zuständen
Äquivlenz von Zuständen Definition Sei M = (Q, Σ, δ, q 0, F ) ein DEA, dnn heißen zwei Zustände p, q Q äquivlent (Schreibweise p q) gdw. z Σ : δ (p, z) F δ (q, z) F Zwei nicht äquivlente Zustände nennen wir uch trennbr. Bsp. q 1 q 2 q 4 q 3 12 q 1 und q 2 sind trennbr (z.b. durch ds Trennwort ) q 1 und q 3 sind äquivlent
Lemm 2 Die Reltion ist eine Äquivlenzreltion. Erinnerung: p q wenn z Σ : Symmetrie δ (p, z) F δ (q, z) F δ (p, z) F δ (q, z) F δ (q, z) F δ (p, z) F 13 Reflexivität p Q: δ (p, z) F δ (p, z) F Trnsitivität [ δ (p, z) F δ (q, z) F δ (q, z) F δ (r, z) F ] δ (p, z) F δ (r, z) F die Zustndsmenge Q zerfällt in Äquivlenzklssen Äquivlenzklsse die q Q enthält [q] := {p Q p q} Für zwei Zustände p, q us einer Klsse gilt 1. p F q F, 2. Σ, dss δ(p, ) δ(q, ).
Der kollbierte Automt Definition Der kollbierte Automt M = (Q, Σ, δ, q 0, F ) ist ein DEA mit Q = {[q] q Q}, δ ([q], ) = [δ(q, )], q 0 = [q 0 ], F = {[q] q F }. Außerdem werden lle nicht erreichbren Zustände gestrichen. Definition ist korrekt, denn Alle Elemente us [q] beschreiben den gleichen Folgezustnd bzgl. δ p q δ(p, ) δ(q, ) Akzeptierte Klssen sind wohldefiniert p 1, p 2 [q] δ(p 1, ε) F δ(p 2, ε) F p 1 F p 2 F 14
M Beispiel: Der kollbierte Automt b b q 1 q 2 q 4 q 3 b b Alle Zustndspre trennbr bis uf q 1 q 3, q 2 q 4. zwei Klssen: [q 1 ] = {q 1, q 3 } und [q 2 ] = {q 2, q 4 }, d.h. Q = {[q 1 ], [q 2 ]} nur [q 2 ] enthält kz. Zustände, deshlb F = {[q 2 ]} [q 1 ] enthält Strtzustnd, deshlb q 0 = [q 1 ] 15 Kollbierter Automt: b [q 1 ] [q 2 ] b
Lemm 2 Sei M der kollbierte Automt von M, dnn gilt L(M) = L(M ). Beweis wir betrchten ein w Σ, w = x 1 x 2 x k, mit x i Σ sei (s 1, s 2,..., s k+1 ) der w-luf in M (s i Q) Zur Erinnerung 1. q 0 = s 1, 2. δ(s i, x i ) = s i+1 für lle 1 i k. 16 ([s 1 ], [s 2 ],..., [s k+1 ]) ist der w-luf in M, denn 1. q 0 = [q 0 ] = [s 1 ], 2. δ ([s i ], x i ) = [δ(s i, x i )] = [s i+1 ] für lle 1 i k. [s k+1 ] F s k+1 F w-luf kzeptierend in M gdw. w-luf kzeptierend in M w L(M) w L(M )
Tble-Filling Algorithmus Algorithmus zum effizienten Finden ller äquivlenten Zustände Dtenstruktur: Tbelle T, mit Q Zeilen und Splten, Q = {1, 2, 3,..., n}. Invrinte: Enthält T [p, q] die Mrkierung 1 dnn sind p und q trennbr (p q) Tbelle T wird nch und nch mit 1en gefüllt bis eine Abruchbedingung eintritt m Ende notieren lle unmrkierten Einträge T [p, q] äquivlente Zustndspre p, q 17
Tble-Filling Algorithmus Wir füllen nur die Hälfte der Tbelle T us (T [p, q] mit p < q) Algorithm 1: TbleFilling Algorithmus 1 Initilisiere T 0; 2 for ll (p, q) Q Q do 3 if (p F und q F ) oder (p F und q F ) then T [p, q] = 1; 4 end 5 repet 6 for ll (p, q) Q Q mit T [p, q] 1 do 7 if Σ: T [δ(p, ), δ(q, )] == 1 then T [p, q] = 1; 8 end 9 until keine neue Mrkierung gesetzt; 18
Tble-Filling Algorithmus Wir füllen nur die Hälfte der Tbelle T us (T [p, q] mit p < q) Algorithm 1: TbleFilling Algorithmus 1 Initilisiere T 0; Initilisierung 2 for ll (p, q) Q Q do 3 if (p F und q F ) oder (p F und q F ) then T [p, q] = 1; 4 end 5 repet 6 for ll (p, q) Q Q mit T [p, q] 1 do 7 if Σ: T [δ(p, ), δ(q, )] == 1 then T [p, q] = 1; 8 end 9 until keine neue Mrkierung gesetzt; Abbruchbedingung Bedingung zum Setzen neuer Mrken 18
Tble-Filling Algorithmus Beispiel 19
Tble-Filling Algorithmus Beispiel 1 b b 3 b 2 4,b 5 19 1 2 3 4 2 1 3 1 Keine weiteren Veränderungen 1 3 und 2 5 4 5 1 1 1 1 1 1
Korrektheit TF-Algorithmus Zu zeigen: 1. nur trennbre Pre wurden mrkiert (Invrinte bleibt erhlten) 2. lle trennbren Pre wurden mrkiert 1. 2 Möglichkeiten wie mrkiert wurde Bei der Initilisierung: if (p F und q F ) oder (p F und q F ) then T [p, q] = 1 p, q trennbr mit ε 20 In der repet Schleife: if Σ: T [δ(p, ), δ(q, )] == 1 then T [p, q] = 1 δ(p, ), δ(q, ) trennbr mit w Σ (Invrinte) p, q trennbr mit w
2. Alle trennbren Pre wurden mrkiert Schlechtes Pr: trennbr ber nicht mrkiert Annhme: sei (p, q) schlechtes Pr mit kürzestem Trennwort w und kein schlechtes Pr besitzt ein Trennwort kürzer ls w w ε, denn sonst wäre (p, q) während der Initilisierung mrkiert worden w = u mit Σ p = δ(p, ) und q = δ(q, ) w = } {{ } u δ (p, u) = δ (q, u) = 21 OBdA δ (p, w) F δ (q, w) F T [p, q ] 1, denn sonst wäre während der Ausführung T [p, q] = 1 gesetzt ber: (p, q ) trennbr mit u, und u < w Widerspruch zur Annhme, d.h. es gibt kein schlechtes Pr!